Author Archives: marco
BUGATTI Chiron breaks through magic 300mph barrier
Ufff… this is super !
Claramente podemos ver a un profe de la universidad usando #Pascal en aplicaciones y servicios de la actualidad.
Why new Android is called ” Android 10″?

A simple way to get a bit more for Android, using a number is good, make it 10 sounds official! like the Ten Commandments.
They probably claim that Android 10 is the 10th release of Android, but they would be skipping minor version that were actually released as major versions.
Do you remember Android 1.5 (cupcake) -> 1.6 (Donut) or in the 2.X.. (Eclair, Froyo, Gingerbread), 4.X (Ice cream sandwich, Jelly Bean).
So, current releases are this:
- Android 1.5: Android Cupcake
- Android 1.6: Android Donut
- Android 2.0: Android Eclair
- Android 2.2: Android Froyo
- Android 2.3: Android Gingerbread
- Android 3.0: Android Honeycomb
- Android 4.0: Android Ice Cream Sandwich
- Android 4.1 to 4.3.1: Android Jelly Bean
- Android 4.4 to 4.4.4: Android KitKat
- Android 5.0 to 5.1.1: Android Lollipop
- Android 6.0 to 6.0.1: Android Marshmallow
- Android 7.0 to 7.1: Android Nougat
- Android 8.0 to Android 8.1: Android Oreo
- Android 9.0: Android Pie
Android 10 should be 15 instead of 10. ‘Cuz 10 Sounds Official!!
Max Payne… 16 Years Later
One of the games that I really enjoyed until I finished.. Actually the PS3 version of Max Payne was really delightful in the story mode and multiplayer. But this video talks about the first version of Max Payne.. a classic.
Explain: {,} in cp or mv Bash Shell Commands – nixCraft
Just a nice post with a some nice examples about how to use brace expansion in bash. Assuming you use the shell and bash script to automate your tasks this is a nice reference.
Continue reading
No se olviden que….
Truco de Python, como crear objetos “flojos” (Lazy objects)
Este es un “re-post” en español de este otro articulo que escribí en inglés: Python trick: How to make lazy objects?. Si ya leíste aquel articulo igual te invito a que leas este, compares y compartas.
Esta vez voy a hablar de los “lazy objects”, los he llamado así porque son mas o menos similar a lo que usaba con los “Lazy treeviews” en GTK donde el árbol muestra los expansiones pero no se cargan los nodos hijos hasta que expandes el nodo. Lo que quiero entonces es crear objetos que sirvan para contar, que tengan un tipo de dato, pero que no carguen nada de datos hasta que se necesite.
¿Por que haría esto?, bueno, actualmente estoy trabajando en un programa que muestra una lista de clientes y muestra cuántas cuentas tiene, estas cuentas son algo complejas así como crear el objeto para representarlas. Este objeto es responsable de cargar y guardar datos, y cualquier dato necesario es accesado via “propiedades”.
En mi primer intento, el objeto cargaba con los datos tan pronto como el constructor era llamado, pero a veces nunca accedía a la información en dicho objeto, recuerden, un client puede tener muchas (y me refiero, muchas muchas) cuentas, entonces, ¿por que cargar todos los datos si hay una oportunidad de que nunca voy a usar ese dato?. Bueno, está ahí por qué también hay una oportunidad de que voy a necesitar ese dato.

Entonces, como podría crear un objeto y despues cargar los datos cuando alguien los requiera?. Eso podría ser fácil… tal vez no ?. Una aproximación es hacer uso de las “propiedades” de Python, crear el objeto y cuando alguien necesite un valor de este objeto entonces usar la propiedad para obtener el dato, procesarlo y retornar un valor, una propiedad se puede definir así:
He creadola clase “demo” y la propiedad “some_property”.

Python va a llamar el método get_some_property
permitiéndote hacer el truco. Pero si tienes un objeto con mas y mas propiedades es mejor obtener todos los datos de una vez y solo usar propiedades para regresar un pedazo de el. Podrías llamar a un método en cada propiedad si el contenedor está vacío pero para mi no es lo mejor.
Lo que podemos hacer, es obtener los datos la primera vez que los necesites, pero como sabría que datos/variables son requeridas en mi objeto?.
Bueno, pues las clases de Python tienen ciertos métodos, los llamados “magic methods”, uno de ellos es __getattribute__. Este método te permite manejar cada petición a cualquier propiedad o variable de clase en tu objeto.
Con esto puedes buscar en tu objeto, saber si el contenedor esta vacío y si está vacío entonces llenarlo con datos antes de retornar el valor de la propiedad ?
Digamos que el objeto demo
tiene un diccionario llamado __data
donde almacenaremos la información necesaria, también tenemos propiedades que buscarán por esta información. también tiene una referencia a la capa de almacenamiento.

Presta atención que he usado object.__getattribute__
en lugar de self.property
, si usara self.property
esto llamaría a self.__getattribute__
y esto causaría una excepción de recursión.
Con eso, podemos crear un gran numero de objetos de forma rápida, al mismo tiempo que reducimos el uso de memoria. La paga es que obtener los datos será mas caro si llegaremos a requerir todos los datos de todos los objetos al mismo tiempo.
Test
Bye bye Airmail
Fue bueno mientras duró, pero hay otras opciones que no me piden una suscripción por tener push notifications.
8 errores que todo programador novato comete
1. Escribir código sin planear
Este es el primero, cuando nos cuentan de un proyecto lo primero que hacemos es empezar a divagar, es mas, ni bien nos estan terminando de contar los requerimientos y ya hemos escogido el lenguaje, el framework y a veces hasta el pilón.
Siempre es importante pensar el proyecto, ¿es viable?, hay que investigar y planear, entonces, escribe, valida los resultados y modifica.
2. Planear demasiado las cosas
También este es un error, a veces sobrepasamos demasiado las cosas y terminamos creando un monstruo porque “en el futuro puede que llegue a necesitar esta característica”, es mejor implementar algo simple y que logre el propósito aunque despues tengamos que reescribr parte del código.
3. Subestimar la calidad del código escrito
La mayor parte del tiempo leemos código, se lee mas de lo que se escribe, si quieres entender que hace tu código dentro de 6 meses es mejor que apliques las convenciones para escribir buen código.
4. Escoger la primera opción
Este va un poco de la mano de la primera, a veces creemos que ya tenemos la solución porque fue lo primero que se nos vino a la mente, pero a veces las soluciones pueden ser mas elegantes y mas simples si las pensamos un poco mas.
5. No Googlear
No somos un sabelotodo, si hay algo que no sabes entonces googlealo, incluso, si lo sabes pero crees que puede hacerse de una forma mejor, igual, googlealo.
6. No usar las estructuras de datos apropiadas
Aprende los “pros” y los “contras” de los tipos de datos de tu lenguaje de programación a usar, algunos te darán flexibilidad y facilidad de usar, algunos te darán velocidad y mejor uso de los recursos.
7. Dejar el código peor de como estaba
A veces en nuestro intento de arreglar algo o de agregar una nueva característica dejamos nuestro código hecho un cochinero, siempre procura dejarlo un poco mejor de cómo lo encontraste.

Usa un IDE que te ayude a formatearlo tu código, con esto ganaras mucho tiempo al dejar un código mas legible.
8. Usar frameworks solo por una pequeña característica
A veces por querer ahorrarnos un poco de código y de pensar, metemos mas y mas dependencias a nuestros programas, total, el CPU en el que va a correr lo soporta, son XX núcleos y 1TB de RAM, debe funcionar perfecto.
Tal vez sí, pero si puedes quitarte una dependencia y hacer ese poquito de código por tu cuenta, hazlo.
Raspberry Pi admits to faulty USB-C design on the Pi 4 | Ars Technica
Bueno, no es que pretenda usar un “e-marked” cable pero creo que los estándares están por algo, sobre todo si es para darle “energía” al dispositivo.
Entiendo entonces que funcionará con cables “baratos” únicamente
“I expect this will be fixed in a future board revision,” says co-creator.
Source: Raspberry Pi admits to faulty USB-C design on the Pi 4 | Ars Technica
Behind the Scenes at Puget Systems (Custom Computer Builders) – Smarter Every Day 2
That’s an interesting way to sell computers… “Tell me what you do, and I’ll tell you the right computer for you” instead of trying to sell you the most expensive computer.
Que está pasando?
El video salió mucho antes que “free fire” apareciera, no es relacionado al juego, es la adicción que el niño puede tener sobre plataformas de entretenimiento, llamese el Cel, la tablet, la televisión (netflix, youtube, etc..). Donde al “tap”/”click” puede tener una recompensa, es decir una pequeña descarga de endorfinas para sentirse mejor.
Recuerden… antes salíamos a jugar, íbamos a la casa del amigo a preguntar si podía salir, jugábamos futbol (cascarita), encantados, escondidas, “Stop”, futbeis, burrita al hoyo, etc… hoy los niños si no es la tablet es el celular, y si no, es la televisión,
¿Cuántos de ustedes obligan a sus hijos a salir a jugar, a convivir con otros niños ? .
¿Quién me puede decir que no vivió esto?
Los niños ahora son ADICTOS, y muchas veces quienes los inducimos al vicio somos los padres, que, para quitarnos un rato al hijo, le damos el celular para que se esté quieto, para que deje de fregar, para que no nos moleste, para que nos deje estar con nuestras amistades.
NO!, por favor, si le dá su celular o tablet, si le deja ver tele a su hijo, que sea con medida, recuerde, todo es malo en exceso.
Compártelo si estas de acuerdo con esto….

less than $10 USD for 1 year of hosting?

If you use the code
S015GE7JAY
in https://whmcs.mkzhost.com you’ll get 1 year of hosting Linux Standard (unlimited emails, unlimited dbs, 1GB of storage) for less than $1USD a month.
For starters this is an absolute win!!!
Source: Esta oferta no será para siempre | MkzHost
Ya me puse nostálgico….
What Happened to Cyrix Processors? | Nostalgia Nerd – YouTube
Do you know there were another processor in the competition than intel (the x86 holder) and AMD?. Cyrix was in the 80’s and 90’s a real PITA to intel. Unfortunately, they were behind intel because intel was in the design part, they seemed to be always cloning intel instead of creating their new tech.
I don’t know what was rally the difference that made Cyrix to die and AMD to be what it is now.
PS. I still remember working with some AMD Geode chips (which were Cyrix before AMD bought them from National Semiconductors).
E-ink, how does it works ??
Amazing video that clearly explains how this technology works.
nuevo fondo de pantalla
nuevo fondo de pantalla
Ese sentimiento cuando vez código que escribiste hace tiempo…
Código que no está optimizado, que no implementa las nuevas técnicas o metodologías que ahora sabes y que crees que son mejor.
Your iPhone Has Been Compromised. – YouTube
Holy shit!… is this the “maps-gate” reinvented?. I mean, is a super faulty service, but this time with a mayor security issue!.
Fortunately I don’t use FaceTime, but what else can be happening in iOS without you knowing it!.
Dropbox.. what the fuck!!
Almost 10 GB (in the swap because my computer doesn’t have that amount of RAM)
Things that can make macOS better
I use macOS as the main OS in my computer, actually the only one in my personal computer, but I have other computers with Linux as desktop too, but macOS is the one that I use the most. And over the time I have learned how to get more from the OS as the default installation.
For example, I currently don’t use Spotlight, I use another tool called “Alfred” you all might know it.
Alfred > Spotlight
Spotlight was a good thing back in the days were it was basically a search tool for the OS living in the corner, where nobody looks. But it was not good as a some sort of launcher, and having all my apps in the Dock was not a good idea. Then Alfred arrived and it came with other functionality like workflows and search in places where spotlight just don’t do, also the fuzzy word search (like GC and expect to get Google Chrome) works very well.
If Apple were smart enough to buy Alfred and use it instead of their current implementation of spotlight (GUI) that would make macOS much more useful.
Quick send mail
Email is my preferred way to send messages, pictures, documents to friends and colleagues, but I don’t want to keep the whole app open, It would be create to have a mini-composer ready to be used whenever you want to send a quick email.
In which cases you would want to use “Quick-email” ?.. well, in the “share” button there is “Mail” and it opens the whole app, you can use that mini-composer, you don’t want to read email, you want to send.
Another example, you just remembered you need to ask for some help to a partner, a quick workflow in “Alfred” could launch that mini-composer, write a small email, hit the send button (or a shortcut-key) and you are done.
Quick Calendar add.
Basically the same thing as Quick send mail but to add things in the calendar, you can quickly view your day or tomorrow in the today widgets.
Open new window in current fullscreen space
Full Screen mode is for me one of the best things that macOS have in the windows corner. I work mostly with full screen apps, this because it let me focus on the current task, is less cluttered and digging a bit on the os side, it allows background apps to take a nap and free resources.
Sometimes I want to open a new tab of safari but in a new window, but, it opens in a new fullscreen window, then I have to enter to mission control and then move the window near to the other an attach it to the space where the original window was, then I have a single space with two windows in fullscreen mode.
A quick way to to that would be great, like in the email composer, just open it in fullscreen mode, hit CMD+N and a new window appears next to the current without leaving the current space.
Flyover apps
This is common in iOS, you can have one app in flyover mode, is hidden in every space, but when you call it is a floating window in the current space with you can remove from flyover mode and attach to the current spate. wouldn’t that be great?. What if you can have several apps in flyover ? I would put mail in that mode.
Create user interfaces with Qt for Python | The official Python bindings for Qt – YouTube
Awesome!
8 programming languages to learn in 2019 | Packt Hub
No surprise that Python is a great programming language to learn.
What is the best programming language to learn in 2019? Whether you’re a developer or data analyst, find out what language should be your priority.
Source: 8 programming languages to learn in 2019 | Packt Hub
Petición · Exigimos que los Jueces y Magistrados sean removidos de su cargo @SCJN · Change.org
Estoy consciente que ser Magistrado o Juez de la SCJN no es cualquier puesto, que posiblemente requiera tener cierto nivel de preparación, y digo posiblemente porque pues… palancazo, relaciones, etc, es cierto que sus salarios son exorbitantes, tienen un sueldo mayor a cualquier funcionario publico de la nación.
Sí, son servidores públicos, su salario sale de los impuestos, trabajan de forma “autónoma” pero a final de cuentas se le paga con el dinero que recauda el gobierno, no, ellos no andan vendiendo galletitas o hacen colectas para tener un “salario”.
Y no es que me indigne el hecho de que tengan un salario mucho mayor al que yo recibo, obvio no, su trabajo les debe haber costado, pero si creo que es exagerado.
Además, sus comentarios de “si me bajo el sueldo me corrompo” esta super fuera de lugar; es como decir que si no estas en la religión te convertirás en una mala persona. Sorpresa, eres una mala persona contenida por la religión, no deberías necesitar la religión para ser una buena persona; no deberías tener un super sueldazo para no ser corrompible.
Cierto, los 500mil, 1 millón, 2 millones de pesos que se ahorren en el salario no va ayudar mucho en los programas sociales, pero se trata de equidad, un funcionario publico no puede tener determinada su rectitud en base a su salario.
Así que por favor, si estas de acuerdo, firma la petición aquí abajo, ayudanos a dar a conocer nuestra voz.
Exigimos que los Jueces y Magistrados sean removidos de su cargo @SCJN
Source: Petición · Exigimos que los Jueces y Magistrados sean removidos de su cargo @SCJN · Change.org
Introvertido?

La verdad es que no sé decir si soy introvertido o no, pero definitivamente no soy extrovertido.
Como extrovertido entiendo (corríjanme por favor, háganlo) que son personas que les gusta estar entre otras personas, que disfrutan y cargan su energía al estar con otras personas, que no les gusta estar solas o que prefieren estar siempre con otras personas antes que estar solas. Que les gusta bailar acompañadas, ver peliculera, escuchar música, que les gusta compartir todo!.
Esto lo digo porque frecuentemente me encuentro con situaciones en las cuales prefiero estar solo antes que estar con otras personas. Siempre he disfrutado mi soledad, ese tiempo a solas en las que puedes bien leer un libro solitario, disfrutando en tu tranquilidad total del libro, o viendo una película, disfrutando enteramente de los diálogos, de la fotografía sin tener que estar explicando a alguien mas que canijos fue lo que pasó, lo mismo pasa con las series. O escuchando un album de tu artista favorito que simplemente te encanta, a solas, sin ruido, sin nadie que te esté molestando.
Para mi fortuna o infortunio me he casado con una persona que creo que es extrovertida, no sabe vivir sin compañia, literalmente se deprime si está sola, me he esforzado durante estos 10 años de matrimonio por ser una persona como ella, compatible con otras personas, con empatía, que le caiga bien a la gente, para que ella no me sienta como un agente extraño. Sin embargo; últimamente no me siento con ganas de seguir con lo mismo.
Últimamente me he sentido con mas ganas de aislarme, con ganas de disfrutar lo que soy, de ver una película sin molestias, de escuchar mi música, de ver mis videos en YouTube, de leer lo que me gusta sin tener la molestia de otras personas.
¿Esto me hace una persona introvertida?, me gustaría saber, una parte para poder justificar mi comportamiento, otra para poder ayudar a quienes me rodean a aprender cómo soy y que puedan aceptarme como soy.
¿Amigos?, los amo, me encanta tener amigos, hay amigos para cada una de la ocaciones en las que me siento a gusto, para trabajar, para convivir, para festejar, para tomar unas cervezas en la cochera y platicar de cosas sin sentido, pero a veces prefiero estar solo.
A veces solo prefiero estar solo.
Yay! PyCharm 2018.3 !!

I’ve been using PyCharm for professional use since about 1 ½ years now ( I mean paying for the Pro license, I have more time using the Community Edition), and I like a lot what PyCharm help me to do, the Django support is pretty awesome and is super fast even when my computer is a 2012 model.
So, I’m pretty happy with every new version of PyCharm, there are several new features and improvements, you can see them here: What’s New in PyCharm
JavaScript this

JavaScript and its inconsistency. I still don’t know why it is so used being so ugly. Is not even easy to learn because of its bad design.
Source: JavaScript this
I’ve changed my keyboard
After a couple of years my Apple “Magic” keyboard started to fail, there is just one key that is failing but is a very important key… the “Left Shift” key.
It is a very important key since a lot of key shortcuts depend on it, and I had to get a new keyboard for just one key. Maybe if a complete row was malfunctioning I could feel a bit less frustrated, but one key.. one freaking key..
Continue reading