Saltar a contenido

Leyendo "Hackers & Painters"

"Espíritu Hacker"

El comportamiento hacker debe tener tres características: divertido, alto coeficiente intelectual y espíritu de exploración. Solo cuando un comportamiento cumple con estos tres criterios puede ser considerado "hacker".

Para los hackers, una puerta cerrada es un desafío y una puerta con cerradura es un insulto. ... Los hackers creen que siempre que algo ayude a mejorar la situación actual, explorar lo desconocido, las personas deberían tener la libertad de utilizar diversas herramientas e información. Cuando un hacker necesita algo para ayudar a crear, explorar o corregir un dispositivo, no se meterá en problemas, no aceptará conceptos absurdos de propiedad intelectual.

"Trabajo"

A los seres humanos les gusta trabajar, en la mayoría de los lugares del mundo, tu trabajo es tu identificación. Pero todo lo que hacíamos en ese momento era completamente insignificante, al menos eso parecía en ese momento. En el mejor de los casos, esas cosas eran simplemente prácticas para el trabajo real que podríamos hacer en el futuro lejano. El objetivo al que apuntaban era tan lejano que en ese momento no sabíamos para qué estábamos practicando esas cosas. Lo más común era que esas cosas fueran solo una serie de aros arbitrariamente colocados, y se nos pedía saltar uno por uno. Las palabras que encontramos en nuestros estudios estaban diseñadas específicamente para los exámenes, con el propósito de hacer preguntas, no de explicar claramente los problemas. (Las tres principales causas de la Guerra Civil son... y luego en el examen habría una pregunta: enumera las tres principales causas de la Guerra Civil). Y además, no había forma de evitar esas cosas. Los adultos han llegado a un consenso de que este es el camino hacia la universidad. La única forma de escapar de esta vida vacía es someterse a ella.

Mientras tanto, ¿qué cambios ha experimentado la sociedad? Nos enfrentamos a un problema más grave. Tiene una causa común con muchos otros problemas actuales, y esa es la "especialización". A medida que el nivel de especialización en el trabajo aumenta, debemos someternos a un entrenamiento más prolongado. Antes de la era industrial, los niños solían comenzar a trabajar a los 14 años, e incluso antes si vivían en una granja (la mayoría de las personas vivían en el campo en ese momento). Hoy en día, un adolescente tiene que esperar hasta los 21 o 22 años para comenzar a trabajar a tiempo completo si asiste a la universidad. Si continúa estudiando para obtener un título más alto, como un doctorado en medicina o filosofía, es posible que no termine hasta los 30 años.

¿Cómo pueden los hackers hacer lo que les gusta? Creo que la solución a este problema es algo que casi todos los creadores conocen: tener un "trabajo diurno" para mantenerse. Este término proviene de los músicos, que tocan música por la noche y pueden tener otro trabajo durante el día. En general, el "trabajo diurno" significa que tienes un trabajo para ganar dinero y otro trabajo por amor al arte.

La especialización es necesaria en la sociedad moderna, pero una especialización excesiva puede privar a las personas de la capacidad de explorar el mundo. En una era de rápido desarrollo tecnológico, cuanto más profundizas en un área de conocimiento, más difícil es cambiar a nuevas tecnologías. Creo que deberíamos mantener un "nivel adecuado de especialización" y dedicar tiempo y energía a aprender conocimientos que nos gusten. Esto satisfará las necesidades de habilidades especializadas de la sociedad y mantendrá el potencial de desarrollo continuo. Es un mejor equilibrio para las personas.

"Metodología de creación"

La forma de crear cosas hermosas a menudo no es comenzar desde cero, sino hacer pequeños ajustes en los logros existentes o combinar puntos de vista existentes de una manera más nueva.

El momento en que debes tener claro todo el programa es mientras escribes el código, no antes de escribirlo.

Me gusta programar directamente en la computadora en lugar de en papel. Peor aún, no tengo la paciencia de escribir paso a paso todo el programa para asegurarme de que esté en su mayoría correcto, en su lugar, simplemente agrego código sin importar si está bien o mal, y luego lo modifico lentamente.

La programación no es escribir en papel y tener un documento final, sino que debe ser modificable en cualquier momento. Si el producto final de un proyecto es un edificio, no se decora cada piso mientras se construye. Al desarrollar un proyecto, las ideas sobre los detalles pueden anotarse, pero se debe evitar la "optimización prematura", como poner vidrios en las ventanas del segundo piso cuando recién has construido hasta el tercer piso y luego te das cuenta de que la estructura principal del edificio no cumple con los requisitos.

Creo que este también es el enfoque correcto para el desarrollo de software en equipo. Se necesita colaboración, pero no en exceso. Si un bloque de código es desarrollado por tres o cuatro personas, nadie realmente "posee" ese código. Al final, se convertirá en un trastero común, sin nadie a cargo, desordenado y lleno de código redundante. El enfoque correcto para la colaboración es dividir el proyecto en módulos estrictamente definidos, cada uno a cargo de una persona. Los interfaces entre los módulos deben ser cuidadosamente diseñados y, si es posible, la documentación debe ser tan clara como las especificaciones de un lenguaje de programación.

Para proyectos en equipo, las tareas deben dividirse según los módulos, para que cada persona tenga el control de su parte.

Los programas están escritos para que las personas los lean y, además, puedan ejecutarse en una máquina.

Solo debes agregar comentarios en aquellos lugares que son inmaduros y propensos a errores, para recordarle al lector que preste atención, como las señales de advertencia en las carreteras que solo aparecen en las curvas cerradas.

Aquí está el "Zen de Python":

Simple es mejor que complejo.

Y aquí está el principio de la "Navaja de Occam":

Entidades no deben ser multiplicadas innecesariamente.

El autor lo explica de la siguiente manera:

Cuando te ves obligado a hacer algo simple, te ves obligado a enfrentar directamente el verdadero problema. Cuando no puedes simplemente disfrazar las cosas con decoraciones superficiales, tienes que hacer bien la parte esencial.

En cuanto a cómo construir un buen diseño, el autor presenta estos puntos: simplicidad, estética que se ajuste a la esencia histórica y la imitación de la naturaleza.

Un buen diseño es un diseño simple. Desde el campo de las matemáticas hasta el campo de la pintura, se escucha esta afirmación. En matemáticas, significa que una demostración corta suele ser mejor. Especialmente para los axiomas matemáticos, menos es más. En programación, esta afirmación también es aplicable en general. Para arquitectos y diseñadores, significa que la belleza depende de algunos elementos estructurales cuidadosamente seleccionados, no de la acumulación de adornos superficiales. ( Los adornos en sí mismos no son malos, solo se convierten en algo malo cuando se utilizan para ocultar la palidez de la estructura. ) La pintura también es similar, una obra de naturaleza observada y representativa suele ser más valiosa que una "obra maestra" superficialmente hermosa pero que en realidad solo repite sin sentido (como una pintura que reproduce en detalle un encaje muy complejo). En la escritura, esta afirmación significa decir solo lo que es necesario y decirlo de manera concisa.

Curiosamente, si deseas que tu trabajo sea atractivo para las personas en el futuro, una forma es hacer que tu trabajo sea atractivo para varias generaciones anteriores. Es difícil imaginar cómo será el futuro, pero podemos estar seguros de que a las personas del futuro no les importará las tendencias populares de hoy, al igual que a las generaciones anteriores. Por lo tanto, si tu trabajo es atractivo tanto para las personas de hoy como para las personas de hace 1500 años, es muy probable que también atraiga a las personas de dentro de 2500 años.

Un buen diseño imita el diseño de la naturaleza. No estoy diciendo que imitar la naturaleza en sí sea algo bueno, sino que la naturaleza ya ha resuelto muchos problemas de diseño a lo largo de la evolución. Por lo tanto, si tu diseño se acerca a la naturaleza, en general no será malo.

Este último punto puede explicar bien la pregunta "¿Por qué los humanos no han evolucionado ruedas?".

En cualquier momento de la historia, hay proyectos destacados en los que algunos grupos logran grandes logros. Si te alejas de estos centros, es casi imposible lograr grandes resultados por ti mismo. En cierto sentido, como individuo, solo puedes influir hasta cierto punto en las tendencias, pero no puedes decidir las tendencias, de hecho, las tendencias te deciden a ti.

La influencia personal en la historia es en su mayoría insignificante. Si no hay una tendencia específica en la época, solo puedes nadar contra la corriente. Comprender las tendencias de desarrollo de la época es una condición necesaria para lograr mayores logros.

Una forma original de expresar la Ley de Parkinson es "el trabajo siempre se completa en el último momento", luego se extendió al campo de la informática como "los datos siempre llenarán todo el espacio", y una generalización más amplia es "la demanda de un recurso siempre consumirá todo el suministro de ese recurso".

Las personas que logran resultados excelentes a menudo sienten que su trabajo no es lo suficientemente bueno durante el proceso. Los demás ven sus logros como excelentes, pero los creadores solo ven las fallas en sus propias obras. Esta diferencia de perspectiva no es casual, porque solo cuando estás insatisfecho con la situación actual puedes lograr resultados sobresalientes.

"Pensamiento libre"

Samuel Johnson dijo que se necesita 100 años para que las personas lleguen a un consenso sobre un escritor. Debes esperar a que mueran sus amigos influyentes y luego esperar a que mueran sus seguidores para poder hacer una evaluación justa de él.

Pero lo que realmente es aterrador es que no solo hay modas pasajeras en la ropa, sino también en las concepciones morales. Aunque sean puntos de vista erróneos, arbitrarios y sin fundamentos, la mayoría de las personas creen firmemente en ellos y se ven influenciadas sin darse cuenta. Esto es muy peligroso. La ropa de moda en realidad es ropa fea; las concepciones morales populares no son buenas, sino malas. Sin embargo, si todos usan ropa de moda y tú no, serás objeto de burla; si todos siguen las concepciones morales populares y tú no, las consecuencias serán mucho más graves, te despedirán, te exiliarán, te encarcelarán e incluso te matarán.

Si pudieras subir a una máquina del tiempo y viajar al pasado, sin importar en qué época, hay una cosa que no cambiará, y es que "la desgracia viene de la boca". Debes tener cuidado con lo que dices. Las palabras que crees que son inofensivas pueden causarte grandes problemas. Hoy en día, decir que la Tierra gira alrededor del sol es algo común, pero si lo dijeras en Europa en el siglo XVII, te meterías en graves problemas. Galileo dijo algo así y fue juzgado por un tribunal religioso.

A veces, otras personas te dicen: "Debes ajustar tus pensamientos y adaptarte a las necesidades sociales". Parece que esto implica que si no estás de acuerdo con la sociedad, entonces el problema eres tú. ¿Estás de acuerdo con esta afirmación? De hecho, no solo es incorrecta, sino que también puede hacer retroceder la historia. Si realmente crees en esto, te verás obligado a renunciar a tus propias opiniones en cualquier aspecto en el que no estés de acuerdo con la sociedad, y eso es cuando realmente surgirán los problemas.

¿Qué hacer una vez que descubres las "cosas que no se pueden decir"? Mi consejo es que no las digas, o al menos elige el momento adecuado para hacerlo, solo lucha las batallas que valgan la pena. Debatiendo con tontos, te convertirás en uno de ellos. En este momento, debes entender que el pensamiento libre es más importante que decir lo que quieras. Si sientes que debes discutir con esas personas y no puedes dejar pasar el asunto, asegúrate de expresarte claramente, pero ten en cuenta que es muy probable que a partir de ese momento no puedas pensar libre y racionalmente. Creo que esto no es recomendable, y una mejor opción es establecer una línea clara entre el pensamiento y la expresión. Puedes pensar en todo lo que quieras en tu mente, pero no necesariamente tienes que decirlo en voz alta. Yo mismo me animo a reflexionar en silencio sobre las ideas más audaces en mi mente. Tus pensamientos son como una organización clandestina, no debes contarle a los demás todo lo que sucede allí.

En 1638, el poeta inglés John Milton se preparaba para su primer viaje a Italia. Sir Henry Wootton, quien había sido embajador británico en Venecia, le dio un lema para recordar: "i pensieri stretti & il viso sciolto", que significa "pensamientos cerrados y rostro abierto". Esto significa que debes sonreír a todos, pero no revelar tus verdaderos pensamientos. Entre todos los métodos de contraataque, el humor es el mejor. Los fanáticos carecen de sentido del humor. No pueden tomarse una broma con calma. En el reino del humor, se sienten incómodos, como un caballero con una armadura pesada en una pista de patinaje. Un ejemplo real es la época de la Reina Victoria en Inglaterra, donde se valoraba la etiqueta de la corte y la tradición conservadora, pero la gente lo tomaba como una broma, y al final, parecía que realmente se había convertido en una broma. Su encarnación contemporánea, la "corrección política", también tendrá el mismo destino. "Estoy contento de haber escrito 'Las brujas de Salem'", escribió Arthur Miller, "pero a veces desearía tener el temperamento para escribir una comedia absurda que refleje la situación de ese momento".

Si eres parte de la corriente, ¿cómo puedes ver la dirección de la marea? Solo puedes mantener una actitud de duda constante. Pregúntate, ¿qué cosas no puedo decir? ¿Por qué?

El sentido del humor es una manifestación de fortaleza. Siempre tener sentido del humor significa que te ríes de la adversidad, mientras que perder el sentido del humor significa que has sido profundamente herido por la adversidad. Por lo tanto, la señal (o al menos la característica) de la fortaleza es enfrentar tu vida con ligereza.

"Mercado"

El verdadero campo de batalla para el diseño de software competitivo es el mercado de los campos emergentes, donde nadie ha construido defensas. Si puedes hacer un diseño audaz y tener una o varias personas a cargo del diseño y la implementación del producto, puedes vencer a las grandes empresas aquí. Microsoft comenzó de esta manera y también lo hicieron Apple y HP. Creo que casi todas las empresas emergentes han tenido éxito de esta manera.

No tener piratería es una "ventaja", pero también es un problema. Un cierto número de copias piratas es beneficioso para las empresas de software. No importa cuánto cueste tu software, siempre habrá usuarios que nunca lo comprarán. Si estos usuarios utilizan una copia pirata, no tienes ninguna pérdida. De hecho, ganas, porque ahora tienes un usuario más y tu influencia en el mercado es un poco mayor, y es posible que este usuario compre tu software en el futuro.

McDonald's es una cadena de comida rápida que se ha desarrollado gracias a su sistema de servicio rápido, que se puede replicar en cada rincón del mundo. Cada restaurante de McDonald's debe seguir estrictamente las reglas de operación, lo que lo hace funcionar como un software. Por lo tanto, McDonald's también cumple con el modelo de "desarrollo único, aplicación universal".

Esto no solo es una buena forma de operar para las empresas emergentes, sino que también es su esencia. Los inversores de riesgo (VC) saben esto y le han dado un nombre: barreras de entrada. Si tienes una nueva idea y buscas a un VC para preguntar si invertirán, lo primero que te preguntarán es si es difícil para otros copiar tu modelo. Es decir, qué tan alta es la barrera que has establecido para tus competidores. Será mejor que des una explicación convincente y aclares por qué tu tecnología es difícil de copiar. De lo contrario, una vez que las grandes empresas lo vean, crearán su propia versión, agregando su marca, capital y capacidad de distribución, y te quitarán todo tu mercado de la noche a la mañana. En ese momento, serás como un guerrillero en un terreno abierto, que será aniquilado por el ejército regular.

"Herramientas"

La mayoría de las veces, no necesitas una computadora de pleno derecho (es decir, una computadora que pueda ejecutar software). Lo único que necesitas es un dispositivo con teclado, pantalla, navegador y tal vez una tarjeta de red inalámbrica.

También he pensado en ello, si no se puede tener un rendimiento y portabilidad al mismo tiempo, entonces se puede colocar el cálculo y la renderización que consumen rendimiento en la nube, mientras que el dispositivo del usuario solo necesita tener un procesador de rendimiento básico, una pantalla, un teclado y un ratón u otros dispositivos de interacción. Además, el servidor en la nube se puede mapear en múltiples terminales, lo que no solo puede ahorrar costos, sino también lograr una transición sin problemas y adaptarse a más escenarios. En casa, se puede conectar a una pantalla grande, y en el exterior, se puede usar una tableta.

Actualmente, los principales problemas son la velocidad de conexión y los costos.

Referencias y agradecimientos

Dirección original del artículo: https://wiki-power.com/ Este artículo está protegido por la licencia CC BY-NC-SA 4.0. Si desea reproducirlo, por favor indique la fuente.

Este post está traducido usando ChatGPT, por favor feedback si hay alguna omisión.