¿Qué puedo hacer para mejorar en mi programación?

De vez en cuando, alguien me escribe y me pregunta:

Me gustaría iniciarme en el mundo de la programación, para ello le pediría consejos para este mundo y que podría hacer para mejorar.

Y yo suelo contestar algo como:

En internet puedes encontrar muchos cursos de programación. Dos de las plataformas más interesantes son Udemy y Udacity.
Programar es como escribir: en el colegio se enseña a leer y escribir y prácticamente todo el mundo puede leer y escribir, pero de ahí a saber comunicarse correctamente por escrito o ser capaz de crear un escrito atractivo y que la gente quiera pagar por leerlo (piensa en un libro) hay un mundo. Lo mismo pasa con la programación: en muchos sitios se enseña a programar, pero solo se puede aprender a programar bien leyendo mucho código bien escrito y escribiendo mucho código, programando. Por tanto, para mejorar hay que practicar, practicar y practicar.

Introducción a los generadores de sitios web estáticos

Una buena introducción lo que se cuenta en Beginner’s Guide to Static Site Generators:

Setting that aside, the advantages of using static site generators are impressive, with speed, security, and scalability among the top ones. Whatmore web developers are already adding dynamic elements with the use of 3rd party APIs, expanding the capabilities of static sites.

A static site generator is a tool that helps you build static pages out of the input files. It takes your content (from a headless CMS, for example), applies a selected template, and generates static HTML pages out of it.

The biggest difference between the SSGs approach and what is now considered the traditional web dev approach embodied in the use of WordPress is that instead of building a page on demand each time a user visits the site, SSG does this at build time. Basically, an already built page, stored on a CDN, is served to the user when he visits the website.

Implementador, desarrollador y programador de WordPress

Muy interesante la clasificación que se presenta en Profesiones en WordPress:

Implementador WordPress
El “implementador” WordPress puede ser una persona que no tenga ni idea de código, y que no haya hecho programación en su vida. Ningún problema.

Sin embargo, debe saber como funciona WordPress, sus plugins y sus themes. Y ahí si que debe ser muy bueno. Vale que tenga ciertas debilidades en cuanto a programación, pero debe brillar en cuanto a implementación.

Desarrollador WordPress
Este perfil es el de una persona que sabe más que WordPress. Tiene conocimientos de HTML y CSS, y quizás incluso PHP y JavaScript. No tiene porque ser un gurú de todos ellos, pero los entiende, los comprende y los conoce en más o menos grado.

El desarrollador WordPress es capaz de hacer cosas como modificar un plugin, alterar un theme, cambiar el aspecto de una web a través de HTML, editar el CSS manualmente, etc. Es alguien que puede hacer cosas fuera del panel de control, y que no necesita que todo sea a base de clics y de “arrastrar y soltar”.

Programador WordPress
El programador suele ser una bestia parda en HTML, CSS, JavaScript y PHP. Algunos incluso saben de servidores y de sistemas. Sabría hacer sus propios themes y plugins sin ningún problema, y incluso montar su propio servidor dedicado no administrado.

El primer teléfono inteligente de la historia

Si se le pregunta a 100 personas cuál fue el primer teléfono inteligente (smartphone) de la historia, seguramente que más de 90 personas dirán que fue el iPhone… No, antes del iPhone hubo teléfonos con características similares. Pero ¿cuál fue el primero?

En el artículo de la Wikipedia IBM Simon podemos leer:

El IBM Simon Personal Communicator es un teléfono móvil fabricado por IBM y distribuido por BellSouth, se le considera el primer teléfono inteligente en la historia, en móviles, además también funcionó como PDA.

Este teléfono se empezó a distribuir en 1994, mientras que el iPhone fue lanzado al mercado en 2007.

En los artículos IBM Simon, el primer smartphone de la historia e IBM Simon, el primer smartphone, cumple 20 años podemos leer más sobre este teléfono inteligente.

Soluciones para la paginación de las páginas web

Muy interesante la explicación que se ofrece en Paginación: un recorrido por diversas soluciones adoptadas en el diseño de sitios web:

Cuando se trata de mostrar grandes cantidades de información en una web, ya sean productos de una tienda, resultados de una búsqueda o anuncios en una web de empleo, tradicionalmente se ha venido utilizando un recurso de interfaz conocido como paginación web. Esta técnica permite mantener el tamaño de cada página dentro de lo manejable en cuanto a navegación e interfaz. Al mismo tiempo, permite reducir el tamaño de la página la cantidad de información a transferir, ganando en velocidad.

Soluciones a nivel de concepto y de diseño sobre una paginación para una web concreta puede haber muchas. Este apunte pretende únicamente mostrar algunos ejemplos recogidos de ciertas webs: qué elementos son comunes y cuáles originales e interesantes. A partir de ahí, cada cual puede meditar la solución más adecuada para su web.