24 Matching Annotations
  1. Last 7 days
    1. Learning to design programs also means acquiring two kinds of universally useful skills. Program design certainly teaches the same analytical skills as mathematics, especially (pre)algebra and geometry. But, unlike mathematics, working with programs is an active approach to learning.

      Me gusta mucho esta idea porque hay que recordar que aprender no siempre ocurre leyendo o resolviendo incanzablemente ejercicios en un papel sino que esto se entiende más cuando se ejecuta en la práctica, práctica en la que eventualmente saldrán errores, claro está. Y es que es precisamente de esto que se trata, ese circulo o ciclo en el que pensamos, lo intentamos, fallamos y buscamos mejorar**. Claro que la parte teórica siempre va a ser fundamental y necesaria porque la practica se convertiría en repetición de comprensión vacío.

    2. Learning to program in a currently fashionable programming language often sets up students for eventual failure. Fashion in this world is extremely short lived. A typical “quick programming in X” book or course fails to teach principles that transfer to the next fashion language. Worse, the language itself often distracts from the acquisition of transferable skills, at the level of both expressing solutions and dealing with programming mistakes.

      Aprender un lenguaje de programación (o cualquier otra cosas) unicamente por moda definitivamente es algo contraproducente, si una persona se limita simplemente a memorizar comandos si la tendencia cambia va a tener que empezar desde cero ya sea en ese o en otro y sumado a eso es cómo lo que mencioné en mi hedgedoc sobre la metacognición, repetir y repetir sin entender que es lo que pasa no genera verdadero conocimiento (si, llegaríamos al punto de aprender por repetición más no por entendimiento y esto no genera un conocimiento o saber tácito y propio)

    3. Iterative Refinement addresses the issue that problems are complex and multifaceted. Getting everything right at once is nearly impossible. Instead, computer scientists borrow iterative refinement from the physical sciences to tackle this design problem. In essence, iterative refinement recommends stripping away all inessential details at first and finding a solution for the remaining core problem. A refinement step adds in one of these omitted details and re-solves the expanded problem, using the existing solution as much as possible. A repetition, also called an iteration, of these refinement steps eventually leads to a complete solution.

      Suele suceder con frecuencia, casi nunca se puede resolver un problema grande de una sentada (por ponerlo de una forma coloquial) ya que esto, sumado a que siempre queremos que todo salga perfecto pues es en ultimas imposible ... Siempre es mejor poco a poco siendo conscientes del proceso y su creación sin caer en el error ¿Cual? en el de postergar las cosas por quedarse estancado "mejorarse"

    4. everyone can design programsand everyone can experience the satisfaction that comes with creative design.

      Esto de que cualquiera puede aprender programación suena lindo y bien intencionado pero no basta solo con querer, hay que ser realistas al tener en cuenta que hay factores que las personas no tienen, cómo por ejemplo: tiempo o acceso a herramientas. Claro que la programación (y muchas otras cosas en la educación y en la vida) no debería ser algo exclusivo de ciertos nichos o personas ya que esto debería promoverse para varios sectores de la sociedad pero teniendo en cuenta que habilidades se tienen para posteriormente ir mejorandolas.

    5. The typical course on programming teaches a “tinker until it works” approach. When it works, students exclaim “It works!” and move on. Sadly, this phrase is also the shortest lie in computing, and it has cost many people many hours of their lives.

      Y es que es cierto, tanto la programación cómo muchísimos campos del conocimiento y de la vida, se tratan de eso ... ensayo y error hasta que se ejecute la linea y funcione pero no siempre quiere decir que porque sirva esté bien hecho, porque si las personas creen que el aprendizaje (al menos para estos casos en específico) es el "mejor", van a estar obligados a buscar la respuesta más rapida para que su sistema funcione si o si, sin detenerse a inspeccionar, corregir o al menos preguntarsen ¿cómo funciona?, ¿por qué no está funcionando?

    6. Many professions require some form of programming. Accountants program spreadsheets; musicians program synthesizers; authors program word processors; and web designers program style sheets. When we wrote these words for the first edition of the book (1995–2000), readers may have considered them futuristic; by now, programming has become a required skill and numerous outlets—books, on-line courses, K-12 curricula—cater to this need, always with the goal of enhancing people’s job prospects.

      Claro que es bien sabido que programar está en muchas profesiones y esto demuestra una vez más que la tecnología (cómo lo hemos visto en clase y fuera de ella) es que hace parte de nuestras vidas. Si quiero ser crítico con lo que muchas veces las personas vean que la programación es solo para conseguir trabajo o conseguir mejor salario (que si bien también es debatible) me parece muy hedónico, ya que debería verse cómo lo que es (o cómo al menos creo verlo) … creación, aprendizaje continuo, pensamiento lógico y el saber del funcionamiento de las cosas.

    1. El objetivo de este libro es enseñarle a pensar como un informático. Esta manera de pensar combina las mejores características de las matemáticas, la ingeniería y las ciencias naturales. Los informáticos, al igual que los matemáticos, usan lenguajes formales para expresar ideas (específicamente cálculos).

      Resolver problemas, aprender lógica y expresar las ideas de forma clara son habilidades que sirven más allá de la programación ... Pero puede ser algo limitado si solo lo expresamos desde lo técnico porque eso de "pensar cómo informático" no debería excluir cosas cómo la creatividad.

    2. Realmente quiero agradecer a Allen por escribir Think Python, y permitirme trasladar este libro a Julia. ¡Tu entusiasmo es contagioso!

      Me llamó bastante que se le agradeciera tanto a Think Python cómo tal, definitivamente no debe ser un libro cualquiera sea cual sea su edición, es reconocer la capacidad de sentar las bases o al menos generarlas y hacerlas más comprensivas a los lectores que se sumergen en este lenguaje de programación y es que no es para menos, haciendo busquedas en google y foros de Reddit alegan que es un referente de gran talla.

    3. Julia es un lenguaje de programación único, ya que resuelve el problema de los dos idiomas. No se necesita de ningún otro lenguaje de programación para escribir código de alto rendimiento. Esto no significa que ocurra automáticamente. Es responsabilidad del programador optimizar el código que genere cuellos de botella, aunque esto puede hacerse directamente en Julia.

      Esto es buenísimo ¿Evitar usar un lenguaje que cree y otro que optimice? brutal, esto ahorra tiempo y facilita el trabajo ya que permite hacer esas dos cosas al mismo tiempo.

    4. En enero de 2018 comencé a preparar un curso de programación pensado para estudiantes que no tuvieran experiencia previa en programación. Quería usar Julia como lenguaje de programación, y descubrí que no existía ningún libro para aprender a programar que usara Julia como primer lenguaje de programación. Hay tutoriales maravillosos que explican los conceptos clave de Julia, pero ninguno de ellos se dedicaba lo suficiente a enseñar a pensar como programador.

      Me gusta que de una vez muestra que en el temas de programación no es suficiente con solo aprender el lenguaje ya que también está el pensamiento lógico para la resolución de problemas porque cómo habíamos mencionado en anteriores ocasiones sirve muy poco el conocer comandos si no sabemos que hacen.

  2. Feb 2026
    1. That begs the obvious question: whether they’ve reached that goal yet. Not a chance, said Shah. “It’s a work in progress, right? It’s forever a work in progress. By definition, I don’t think we’ll ever reach it, but I think we are further along than almost anyone else.”

      Me gusta en un 50/50 esta forma de pensar, si bien nada es perfecto y todo puede mejorar y evolucionar con el tiempo, no me cerraría a pensar de que estoy lejos o que no podría llegar a la meta que me propuse en cierto momento. Todo en la vida es resiliencia y mejora continua de procesos de manera progresiva y alcanzable.

    2. (Karpsinki also set a Guinness World Record in 2006 for the fastest single-fare journey across the whole of New York City’s subway system; he’s a determined guy who doesn’t like to waste time.)

      Me parece algo totalmente genial (dejando de lado de que no todo el mundo tiene un récord guinness y todos los requisitos que solicitan para tenerlo) sino por el hecho de que no es algo aleatorio.

      Recuerdo haber leído sobre ese récord hace un tiempo y si no me equivoco era sobre recorrer cierta cantidad de estaciones de metro (unas 400 y algo) en un tiempo de 24 horas ("pasaditas") y que estuvo vigente hasta cierto tiempo, lo que me parece fascinante es que cómo dije anteriormente, no fue algo esporádico, fue algo planeado, algo planificado en equipo

    3. Like many revolutionary changes in human history, it started with a flash of frustration.

      Cómo toda gran idea novedosa o innovadora que nace de la incomodidad ...

      Ser disruptivo y crear algo que cambie y mejore las reglas convencionales es algo que siempre he de admirar. Tener la convicción de diseñar algo que se sabe que reúne lo mejor de varios sistemas es algo que no todo el mundo hace, si bien quisieron hacer algo más "pequeño, propio y privado" (que se entiende muy bien, no por el tema de envidia o privatización sino porque quizá uno cómo persona no dimensiona el impacto de sus creaciones), algo que me llamó la atención es que fueron de lleno a crear algo a la altura de los lenguajes de alto nivel (básicamente que se pueden hacer más y mejores cosas sin tantas líneas de código), ósea que simplemente no fue un típico proyecto que ya existía, sino que intentaron ir más allá de una vez, simplemente adelantados a su tiempo, es increíble

    1. Cuando publicas algo en la web, debería pertenecerte a ti, no a una empresa. Demasiadas compañías han cerrado y perdido todos los datos de sus usuarios.

      Si bien esto puede ser un ganchazo comercial muy bueno, es una razón valida para optar por herramientas gratuitas y propias que de verdad se preocupen y sean garantes de la protección de los datos, datos personales y contenidos de las páginas web que creen las personas

    2. Crea sitios web autónomos, agradables y personalizables de manera ágil y resiliente. Brea es un generador y gestor de sitios web enfocado en la personalización interactiva y la autonomía, que permite publicar información integrada desde distintas fuentes, con presentaciones a la medida.

      Si bien comparten ciertas características cómo algunos referentes que son lideres en la generación rápida de sitios web cómo GoDaddy o Wix, me llamó la atención que sean laxos en cuanto a funciones, contenidos e infraestructura, mientras que otros sitios que de cara ya son de pago o restringen el uso de cierto tipo de contenido, esta promesa que compite contra estos lideres potencia y libera la capacidad creativa de los usuarios de forma gratuita, propia e intuitiva

    1. Impact of social media on people and industry

      Este apartado tiene un poder y peso bastante grandes. El impacto de las redes sociales en las personas y en la industria es algo de doble filo, si bien se mencionan cosas tales cómo que "el impacto de la opinión pública puede extenderse de maneras inimaginables" y que las personas están interesadas en las nuevas formas en cómo se recibe la información, hay que tener en cuenta que esta misma información queda expuesta en la red (a veces hasta sin consentimiento ni conocimiento de las personas), Facebook y su creador se han vuelto inmersos en varias polémicas cómo ya sabemos, pero es este el riesgo de manejar datos sensibles, los algoritmos moldean a las personas, las redes sociales vuelven dependientes a estas personas, si bien la forma en cómo nos comunicamos y consumimos información ha crecido a pasos gigantes cabe recalcar que vamos perdiendo humanidad e identidad propia a base del consumismo provisto por la industria

    2. Dissemination has historically been interpreted as unilateral communication of information. With the advent of the internet, and the explosion in popularity of online communities, social media has changed the information landscape in many respects, and creates both new modes of communication and new types of information",[36] changing the interpretation of the definition of dissemination. The nature of social networks allows for faster diffusion of information than through organizational sources.[37] The internet has changed the way we view, use, create, and store information; now it is time to re-evaluate the way we share and spread it.

      Si bien, se define la comunicación de la información cómo algo "unilateral" -que está muy bien, dependiendo desde que arista se vea- cambiaría esto (Incluso con la mención "desde antes de la llegada del Internet") al hecho de que esto puede llegar a modificarse cómo algo BILATERAL en algunos o en la gran mayoría de casos.

      Un caso puntual sería, donde un individuo difunde información y esta llega a un receptor o un espacio receptivo que está a la espera de este conocimiento para seguir difundiéndolo interactúa con este primer individuo y su conocimiento compartido creando y generando el famoso "intercambio de saberes".

      Esto nace de que no es que haya un solo creador de conocimiento que simplemente se encarga de difundirlo y ya, sino que en su lugar, aparecería un agente externo que lo recibe e intercambia conocimiento con este

    3. Information science[1][2][3] (abbreviated as infosci) is an academic field that is primarily concerned with the analysis, collection, classification, manipulation, storage, retrieval, movement, dissemination, and protection of information.[4]

      Si bien es una concepción general muy contundente y clara, desde un punto subjetivo no deja de ser susceptible a cambios y redefiniciones dependiendo de la persona y el campo desde el que se explique, ya que esto es un campo de acción tan amplio que no se puede limitar a una simple (o única) definición

    4. Históricamente, la ciencia de la información ha evolucionado como unacampo transdisciplinario, que se nutren y contribuyen a diversos ámbitos.

      Esto es algo completamente cierto que muchos de nosotros podemos llegar a olvidar o no tener en cuenta y es que se vive esa cooperación o integración de varios campos de acción, conocimiento o profesiones que permiten buscar soluciones más integrales en cooperativo

    5. No debe confundirse con teoría de la información , tecnología de la información , ingeniería de la información , ciencia de datos , informática , bibliotecología o sistemas de información (disciplina) .

      Si bien podría considerarse algo "básico" no puedo dejar pasar que es un bien necesario el hecho que es bueno eso de aclararle de forma inicial, a la audiencia y/o lectores que no hay que confundir o tergiversar conceptos por más parecidos o afines que sean.