Faso Es Salud Miembro de gulBAC
Mostrando las entradas con la etiqueta Programacion. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Programacion. Mostrar todas las entradas

sábado, 31 de mayo de 2014

0 == '#' (según php)

$ echo "<?php var_dump( (0 == '#') ); " &> test.php
$ php test.php
bool(true)
$ echo "<?php var_dump( (0 === '#') ); " &> test2.php
$ php test2.php
bool(false)


...

estos lenguajes modernos (!?)

martes, 17 de enero de 2012

ninja_skills++

.... esa satisfacción que uno siente al escribir una poderosa expresión regular (de "memoria" y que anda a la primer - o segunda - prueba) que hace todo el trabajo sin que tengas que acomodar nada a mano y sin siquiera escribir dos líneas de código...





(aqui esta el comic por cierto)

domingo, 18 de diciembre de 2011

do.not.forget

Often people, especially computer engineers, focus on the machines. They think, "By doing this, the machine will run faster. By doing this, the machine will run more effectively. By doing this, the machine will something something something." They are focusing on machines. But in fact we need to focus on humans, on how humans care about doing programming or operating the application of the machines. We are the masters. They are the slaves.
(Yukihiro Matsumoto)

Computer science is no more about computers than astronomy is about telescopes.
(Edsger W. Dijkstra)

domingo, 11 de diciembre de 2011

sonidos alusivos post-commit

https://github.com/mika/commit-sounds, visto en algún blog hace muchos días y acumulado entre mi interminable lista de pestañas

martes, 8 de noviembre de 2011

a veces siento lástima por JavaScript, un lenguaje tan bonito que ha sido totalmente prostituido, mal usado, y bastardeado por miles de bestias alrededor del mundo

jueves, 20 de octubre de 2011

una comedia del pasado (?)

no se cómo pero llegué a este hilo de un foro en el cual alguno preguntaba cómo "proteger" el código fuente HTML de una página... cosa que cualquier persona que sepa mínimamente como trabaja un navegador para mostrar una web, sabe que es una tamaña pelotudez.
sin embargo el chabón ahí que lo sabe queda como un re-capo porque todos los otros que participan del hilo son unos nabos que no tienen la más puta idea:
rianse un poco

lo cual me da pie para repetir una vieja muletilla:
la gente prefiere "saber" antes que entender, hoy, en el 2003 y en el 1400. estamos plagados de "expertos rutinarios", y es un poco indignante ver esto en programación.
En sí es un desperdicio de capacidad cerebral el conformarse con saber y recordar. Pero se supone que esta clase de actividades, "ciencias duras" que siempre llevan un toque de creatividad e ingenio no pueden ser reducidas meramente al "saber".

jueves, 13 de octubre de 2011

Cuando los hackers mueren

... a dónde van? a /dev/null ?

(hay gente que sí cambió el mundo)

Visto en la lista de correo de PyAr:

#include 

int main()
{
printf("Good Bye Ritchie ---<@");
return 0;
}

jueves, 18 de agosto de 2011

Aprendiendo a programar [con paradigma procedural/estructurado]

A través de la lista de Gleducar conocí un programa llamado PSeInt, es un intérprete de pseudocódigo libre y bastante completo.
No creo que sea el primero que se inventa, pero es el primero que pruebo y me convenció bastante. Me gustaría nomás que tenga soporte simple para funciones/procedimientos.

Y nada, me pareció un muy buen programa para enseñar/aprender a programar bajo este paradigma.
Pronto vendrán comentarios sobre mis pruebas con SmallTalk y squeack :) pronto... pronto!

Este es un ejemplo del código

Proceso hola_mundo

mensaje<-"Hola mundo"; // toma el tipo de dato la primera vez que se le asigna un valor
Escribir mensaje;
Leer lavar;
Escribir lavar;

secar<-azar(2); // tiene bastantes funciones built-in, aritméticas y trigonométricas
Escribir SinSaltar "valor aleatorio: ";
Escribir secar;
Si secar=0 Entonces
Escribir "cero";
Sino
Escribir "uno";
FinSi; // soporta if-else, no "elif"


// Para i<-1 Hasta 16 Con Paso i Hacer // exponencial :-P
Para i<-1 Hasta 16 Con Paso 2 Hacer // suma de 2 en 2
Escribir "a", i;
FinPara

// ciclo con pre-comprobacion
salir<-1;
Mientras salir<>1 Hacer
Escribir SinSaltar 'opcion: ';
Leer opcion;
Segun opcion
1:
Escribir "uno lavar";
2:
Escribir "dos lavar";
3:
Escribir "tres ", lavar, " pero si";
4:
Escribir "chau!";
salir<-1;
De Otro Modo:
Escribir "ninguna!";
FinSegun
FinMientras

// la estructura de ciclo con post-condicion (do-while o repeat) no funciona
// opcion<-0;
// salir<-0;
// Repetir
// // Escribir salir;
// Escribir 'opcionsita: ';
// Leer opcion;
// Segun opcion
// 1:
// Escribir "uno";
// 2:
// Escribir "dos";
// 3:
// Escribir "tres ", lavar, " pero si"; // concatenacion
// 4:
// salir<-1;
// De Otro Modo:
// Escribir "ninguna!";
// FinSegun
// Hasta Que opcion=4;

FinProceso


Y tiene una linda función: te dibuja el diagrama de flujo:

:)

lunes, 2 de mayo de 2011

Nota interesante - informática y el analfabetismo del siglo XXI

Recién mandé esto a la lista de gulBAC. Como últimamente me replanteé este blog como un rejunte de mi ideario, me parece interesante repetirlo acá:

Buenas, en identi.ca muchos están repitiendo el link a esta más que
interesante nota de La Nación


Sí, es La Nación, y sí, es Ariel Torres el "experto en tecnología" de
tal medio, que no es santo de mi devoción pero cuando da en el clavo, da
en el clavo. Puntualmente:

"Leo código, y sé de sobra que leer código es tener poder. Puedo
escribirlo rudimentariamente. También eso es poder. ¿Por qué negarles a
los chicos ese poder? ¿No es idéntico a cuando se les negaba la
lectoescritura?"


Es sabido que somos muchos los que creemos la importancia de educar a
los chicos desde pequeños a que entiendan que las PC _no_ son un
electrodoméstico mágico que funciona por obra y gracia del espíritu
santo de Windows. Y que si es posible, aprendan a programar desde chicos.
Y que conozcan lo que es el software libre, y calculo que muchos se van
a dar cuenta de por qué es importante, más allá de las discusiones de
que para entrar al mercado laboral deban conocer X tecnología.

Supongo que muchos de ustedes coinciden con la observación de que la
organización de una sociedad está muy relacionada con en manos de quién
están los medios de producción. Ahora, cuánto falta hasta que veamos al
software/el conocimiento como "medio de producción"?
Y cuando este sólo esté en manos de la Gran Empresa y así manejen
nuestras vidas... recién ahí muchos se van a dar cuenta y va a ser muy
tarde.

Y qué hacemos? Tenemos que avocar todos nuestros esfuerzos a la
educación pública, a que el SL se implemente en el Estado en todos sus
niveles, desde lo que usa el presidente en su escritorio hasta lo que
usa la humilde 486 de una escuela municipal donde los chicos aprenden
qué es un procesador de texto al mismo tiempo que a programar en logo
con la tortuguita de kturtle.

Tan loco estoy??

martes, 1 de diciembre de 2009

/* no comments */

Me preguntaron qué era comentar el código, parte de mi explicación fue:

[02:03:34] ­suponete un programa que no modifico sólo yo
[02:03:40] ­hago una parte del código y le pongo
[02:03:47] ­// si alguien edita esto lo mato violentamente
[02:03:58] ­es un comment
[02:04:03] ­el programador que lo vea después
[02:04:05] ­va a ver el comment
[02:04:10] ­y se va a cagar en lo que puse y lo va a editar igual
[02:04:22] ­se entendió cómo funcioinan los proyectos de software?

Por cierto, imperdible esta colección de "el mejor comment que has encontrado entre código"

martes, 29 de mayo de 2007

Bash: todos los archivos/directorios exceptuando.

Estando en /var/www queria darle permiso de lectura y escritura para el group a todo lo que habia adentro, excepto a 'phpmyadmin', que es un link simbolico, que hice?
Un miniscript :)



for i in $(ls -lA | grep -v 'phpmyadmin' | awk '{print $8}'); do chmod g+rw $i -R; done

Explicacion: por cada linea en lo que devuelve lo que esta adentro de $(), la variable i obtiene el valor de la linea actual. Se ejecuta la accion que esta luego del do, que en este caso es chmod g+rw $i -R, o sea se le asigna esos permisos a el archivo/directorio que esta en $i en ese momento del bucle. El -R (de recursivo) esta para que si es un dir. todo lo de adentro tambien se le asigne esos permisos.

Ahora, lo que esta adentro de $(): hace un ls -lA, o sea, una lista detallada incluyendo archivos ocultos, pero excluyendo "." y "..". A esa salida la filtro con un grep -v 'cadena a evitar'. El -v lo que hace es devolver las lineas que no coinciden con el patron.
Y por ultimo, con el awk '{print $8}' lo que hago es agarrar la 8va parte de la cadena, que por defecto esta dividida por un tabulador (tab, 0A, 10, \t, como mas les guste). Explico mejor esto: ls -l devolveria, por cada linea, algo asi:

-rwxrwxr-x 1 www-data www-data 16 2006-12-09 15:49 phpinfo.php
$1 va a ser '-rwxrwxr-x'; $2 va a ser '1'; $3 y $4 van a ser 'www-data'; $5 seria '16' ; $6 = '2006-12-09'; $7 = '15:49'; y por ultimo $8 es 'phpinfo.php', o sea el nombre del archivo, que esta en la octava columna, siendo que el awk por defecto toma el tabulador como separador de columnas (como parametro se le puede pasar otro caracter).

Sabiendo esto, se puede usar para muchas otras cosas, el secreto esta, por lo general en lo que se pone entre $()

PD: este no era el post largo que perdi, lo escribi recien por mera casualidad :P

jueves, 18 de enero de 2007

Un ejemplo a seguir...


Me debería sentir orgulloso. Nunca había visto un (X)HTML TAN VÁLIDO como el de este blog.
Es definitivamente un record...
¡¡ 998 errores !! ¡¡ Y yo me quejo que el IE no respeta los estándares !! jajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaa