Mostrando las entradas con la etiqueta google. Mostrar todas las entradas
Mostrando las entradas con la etiqueta google. Mostrar todas las entradas

viernes, 16 de mayo de 2025

Peor es mejor

El artículo "Lisp: Good News, Bad News, How to Win Big" (Richard P. Gabriel, 1991), escrito en los años 90 por uno de los pioneros de LISP, durante el declive comercial de Lisp frente a lenguajes como C++ y Java, analiza por qué Lisp, pese a su elegancia técnica, no triunfó en la industria.

Gabriel muestra como Lisp es el lenguaje más potente (meta programación, macros, REPL); favorece abstracción pura y rapidez de desarrollo (ej.: IA simbólica). Gabriel critica la cultura UNIX/C por priorizar simplicidad sobre corrección, pero admite que eso las hizo más populares.

La sintaxis con paréntesis y la flexibilidad extrema de LISP asustaban a los desarrolladores. Los dialectos (Common Lisp vs. Scheme) fragmentaron el ecosistema. Lisp requería máquinas costosas (Lisp Machines) y no se adaptó a la era PC. Gabriel termina advirtiendo que la superioridad técnica no garantiza el éxito comercial.

Actualmente, ya en el segundo cuarto del siglo XXI, la IA permite meta programación implícita, es decir generar código desde descripciones en lenguaje natural). Asistentes como ChatGPT actúan como "REPLs cognitivos". La IA reduce la barrera de entrada, se afirma que ya no se requiere saber programar. Pero la ambigüedad es un problema fundamental que compromete la confiabilidad de los sistemas o aplicaciones desarrolladas por o con la asistencia de IA.

El ensayo de Edsger W. Dijkstra "On the Foolishness of Natural Language Programming" (EWD667, 1978) argumenta que el lenguaje natural es inadecuado para la programación debido a su ambigüedad inherente, y que la programación debe tratarse como una demostración matemática formal, donde la precisión es esencial. La ambigüedad del lenguaje natural lo hace propenso a malinterpretaciones, lo que es catastrófico en programación. La corrección del software solo puede garantizarse mediante pruebas formales (como en matemáticas), no mediante descripciones informales. Dijkstra criticaba los intentos de "programación en lenguaje natural" de su época, COBOL, por generar código inseguro y difícil de verificar.

El término "alucinaciones" en el contexto de la IA se refiere a situaciones en las que un modelo genera respuestas factualmente incorrectas o, específicamente en programación, código sintácticamente válido pero lógicamente erróneo (por ejemplo, un algoritmo de ordenación que no ordena correctamente). El término es ampliamente aceptado en la literatura (ej: estudios de OpenAI, DeepMind y MIT). Se aplica tanto a respuestas incorrectas como a código mal generado (Sutskever et al., 2023).

La IA genera código a partir de descripciones en lenguaje natural, lo que reproduce el problema de ambigüedad que Dijkstra señaló en sus críticas a la programación basada en lenguaje natural. Los modelos de lenguaje de gran escala (LLM, por sus siglas en inglés) no construyen demostraciones matemáticas del código ni verifican su corrección formal; en cambio, predicen secuencias de tokens basándose en patrones estadísticos aprendidos de su corpus de entrenamiento. Estos modelos no "comprenden" el código en un sentido lógico o semántico, sino que imitan estructuras recurrentes en los datos. Por lo tanto, no pueden garantizar la corrección del código generado, ya que carecen de razonamiento lógico formal (como los sistemas de tipos avanzados o demostradores de teoremas).los modelos LLM carecen de capacidad de verificación rigurosa más allá de la coherencia estadística. Su funcionamiento se basa en probabilidades, no en lógica deductiva (Bender et al., 2021). GitHub Copilot ha sugerido implementaciones de criptografía inseguras (estudio de NYU, 2022).

 Un modelo puede, por ejemplo,  generar un quicksort que funciona en el 90% de los casos, pero falla en edge cases (ej: listas vacías). La IA puede generar código con licencias conflictivas o soluciones sesgadas (ej: algoritmos de contratación discriminatorios). 

Alan Kay (Premio Turing): "La IA actual es como un loro que repite código sin comprenderlo. Necesitamos sistemas que razonen como humanos, no solo estadística."
Leslie Lamport (TLA+, Verificación Formal): "Los modelos generativos son útiles para prototipos, pero la corrección exige métodos formales."

Según un estudio del MIT (2023), solo el 40% del código generado por GPT-4 pasa pruebas formales de corrección. Google DeepMind (2024) propone combinar LLMs con *verificadores automáticos (ej: Lean, Coq).

En situaciones potencialmente catastróficas como la falla en un avión es esencial determinar quien es responsable. UE AI Act (2024) exige transparencia en sistemas de alto riesgo, pero no resuelve la verificación formal. Estamos entusiásticamente entrando en un proceso de automatización de errores: Si la IA escala la generación de código incorrecto, ¿aumentarán los desastres por software defectuoso? Si los programadores confían ciegamente en la IA, ¿se perderá el pensamiento crítico?

Dijkstra acertó en que el lenguaje natural es ambiguo y la programación exige precisión. La IA generativa agrava el problema, pues escala la generación de código no verificado. El futuro requiere modelos híbridos (IA + verificadores formales) y nuevos marcos legales para responsabilidad en código generado. Es necesario entrenar a los programadores en pensamiento crítico para que no deleguen ciegamente en la IA. La tecnología no triunfa solo por ser superior, sino por resolver problemas reales de manera accesible.

Lecturas clave:

Dijkstra, EWD667 (1978).

"Formal Verification in the Age of AI" (Communications of the ACM, 2024).

"Who is Liable for AI-Generated Bugs?" (Stanford Law Review, 2023).

domingo, 23 de noviembre de 2014

YouTube 2014



Published on Dec 12, 2013
→ ᴄᴏɴsᴇᴊᴏs ʏᴏᴜᴛᴜʙᴇ: http://youtube-consejos.blogspot.mx
~ Gσσgℓє: https://plus.google.com/+alfredomatta...
► Aмιgσѕ Yσυ Tυвє: https://plus.google.com/communities/1...
▬ Sιgυємє єη Tωιттєr: http://twitter.com/alfredomatta
✓ Fαcєвσσк: https://www.facebook.com/pages/Alfred...



Copyright

sábado, 17 de agosto de 2013

El precio de lo gratuito



La web parece estar desafiando todo el sentido económico que conocemos. Si el acceso a la mayoría de los sitios web es gratuito, ¿qué consiguen a cambio todas las empresas que gastan fortunas en sus sitios web? En este nuevo negocio de la información la moneda de cambio, no es tanto el dinero físico como los datos y características del usuario potencial del entorno web.

Así vemos como nuestra privacidad se diluye, se trafica con ella, en favor de los intereses económicos de las grandes empresas virtuales. En este episodio nos aproximaremos al afán de los anunciantes por descubrir lo que tecleamos en Google y lo que estarían dispuestos a pagar por influir en el resultado de lo que vemos cuando pulsamos 'Buscar'. Sin embargo, Google está dirigiéndose hacia el desarrollo de redes sociales como Facebook que requieren de claves de acceso. ¿Se convertirán estas redes invisibles en una web paralela?.

sábado, 8 de agosto de 2009

Search Engine Optimization (SEO)

Internet es la calle más transitada del mundo, pero el trafico en cada pagina depende principalmente del posicionamiento en los buscadores como Google. Al arte de colocarse en los primeros lugares de los listados se le conoce como Search Engine Optimization (SEO).


Google mantiene como secreto la mecánica de asignación de lugares, que además cambia de manera continúa. Es un proceso bastante errático, y los que logran colocarse en la primera pagina para la lista de búsqueda de un conjunto de palabras, tenderán a mantenerse ahí hagan lo que hagan, tengan el contenido que tengan, siempre y cuando Google no los vete, por razones también erráticas y misteriosas. Es decir, el SEO es un deporte extremo.


Referencias, recursos, y ejemplos

viernes, 6 de julio de 2007

Blogger seo

How to track your Blogger statistics with Google:

  1. Go to Google Analytics to sign up or log in.

  2. When logged in, choose to create a new account and follow the steps.

  3. When you get to “Add Tracking“, open up a new window and log in to your Blogger account.

  4. Go to your blog’s settings and choose “Template” and then “Page Elements“

  5. Have a look at the footer (it has to be the footer!) of the design and choose to “Add a Page Element“.

  6. Find the “HTML/JavaScript” element and then “Add to blog“.

  7. Don’t write anything in the title column.

  8. Copy and paste the code from Google Analytics in the content box and “Save changes”.

  9. Then continue the steps on Google Analytics and you’re done!


Or if you are familiar with coding:



  1. From dashboard - Settings - Template - Edit HTML

  2. Scroll down to the very bottom in the box and locate the tag.

  3. Copy and past the Google code right BEFORE the tag and then save.

  4. To check your stats you just have to click “View Reports”.

  5. If it says “Tracking Unknown” in the status column, you have done something wrong.


Also, you might want to get your blog Google verified (link to tutorial for Blogger) so your blog gets crawled so your chances to show up on search results increases. Here is a tutorial for you Wordpress.com users.