Null types
Publicado por blaxter - 13 May 2006 a las 15:49Lenguajes fuertemente tipados como C++, C#, java, etc... no soportan valores null para sus tipos primitivos. Erase una persona llamada Mihhon, programador perito, sabio entre todos los peritos, que venía de programar mucho en C a pelo, como los verdaderos hombres, como él deseaba seguir tratando con sus maravillosos y amados NULL's se hizo una pequeña librería para arreglar este gran e inquietante problema:
static public final boolean isNull(double _value)
{
return (Math.abs(_value) < 0.0001);
}static public final boolean isVeryNull(double _value)
{
return (Math.abs(_value) < 0.0000000001);
}
Posiblemente otros métodos de la librería serían:
boolean isTruelyNull(double _value)
boolean isReallyQuiteSpectacularlyNull(double _value)
boolean isNullToEndAllNull(double _value)
boolean isMoreNullThanTheOtherNull(double _value)
Script para coding time
Publicado por blaxter - 29 Abr 2006 a las 19:12Despues de casi 24h programando nonstop, al final se me ha ocurrido hacerme un mini-script para ir viendo como iba progresando xD, se que el número de las lineas que se van escribiendo no es muy importante (y muy variable dependiendo de cada uno y del lenguaje u otros aspectos), pero mientras escribes asqueroso código en Java (odio escribir código con Awt/Swing) sube la moral ver como aumentan las lineas xD. Vamos paranoya de estar programando demasiado tiempo seguido. Se podría hacer en bash en una linea, pero mola mas perl
#!/usr/bin/perl
sub lineas
{
open(javaF, $_[0]);
@lines =;
close(javaF);
scalar @lines;
}$lines=0; $n = 0;
opendir(DIR, ".");
foreach(readdir(DIR))
{
if(/\.java$/io)
{
$n++;
$lines += lineas $_;
}
}
close DIR;
print "Hay $lines lineas en $n ficheros\n";
Ejemplo de ejecución:
[blaxter@helicon]:~/CPS/Proyectos/RegisterUp$ ./suma
Hay 2011 lineas en 9 ficheros
Ahora me acuerdo de un dato que había en mis apuntes de la asignatura de "Proyectos" que decían que la media productiva de un programador era de 20lineas/día o algo asi. Venga que llevo 10000% de productividad jaja. (En verdad el programa que estoy escribiendo es lo más tonto del mundo, así que debería haberme costado la mitad realmente :P, es lo que tiene ser a littlecico gork)
The code room
Publicado por blaxter - 25 Mar 2006 a las 16:14Code room es una especie de serie de capitulos de media hora que se cuelga en internet emitida por MSDN tv (microsoft). Trata que despues de un evento de microsoft (en el que se anuncia un producto y se muestra su uso y tal) se pillan a tres desarrolladores asistentes a dicha charla y se les encierra en una habitación con un único ordenador y un tiempo limitado para realizar una aplicación que se adapte a los requisitos funcionales que se les pide.
El proposito es claramente publicidad subliminal para microsoft (el primero que he visto ahora mismo, usando todo el rato productos microsoft...asp.net, sql server...) pero esta curioso verlo. Aunque al principio habia pensando que seria una competición entre los tres, lo cual creo que hubiese sido bastante mas divertido. Molaria un programa como este que fuese un poco mas largo y que fuese para construir alguna aplicación (o incrementar algo ya hecho, incrementar funcionalidad) compitiendo con otros, que se fuese viendo como va cada uno y tal xD. "The C0de challenge" o algo así xD
ps: visual studio es para n00bs
Script bitrateFind
Publicado por blaxter - 19 Feb 2006 a las 18:03Hace un par de meses hice un script para convertir música mp3 a un bitrate elegido por el usuario, ahora, dos meses despues, me encuentro con el problema de que no paro de añadir música a la colección, y al final no se que discos tengo a 128 (el bitrate que quiero) y cuales no.
Mirar cada disco uno a uno, no es una solución, pues me pegaría toda la tarde. Así que, como me aburro mucho estos días, esta mañana me he puesto ha hacer un script para que me diga que directorios tienen mp3's con bitrate mayor a uno que le indico. Además como me gustan mucho las estadisticas, he hecho que salgan también unas estadisticas globales de los bitrates.
El uso del script es:
bitrateFind [-r|--round] Directorio_base
El parametro round significa si las estadisticas finales se darán redondeadas o no (se refiere a los bitrates, pues los mp3s con VBR al leerlos dan como valor de su bitrate la media, entonces si no se redondea, quedan muy feas las estadisticas xD).
Un ejemplo de ejecución sería este:
[blaxter@helicon]:~/C/BlaxMusic/Trapt$ bitrateFind --round .
*Analizando los mp3's del directorio /media/C/BlaxMusic/Trapt
Analisis: 100% [============================]D 0h00m00sDirs with mp3's with bitrate > 128
./Trapt
./Someone In ControlCon bitrate 128: 1 (4.3 %) ===>
Con bitrate 192: 11 (47.8 %) =============================>
Con bitrate 256: 11 (47.8 %) =============================>
-Un total de 23 mp3s analizados
Y otra ejecución podría ser esta :D:
[blaxter@helicon]:~/C/BlaxMusic$ bitrateFind --round .
*Analizando los mp3's del directorio /media/C/BlaxMusic
Analisis: 100% [============================]D 0h02m18sDirs with mp3's with bitrate > 128
./Second - Invisible
./Evanescence/Fallen (Brazil Edition)/cd2
./Evanescence/Performance Live/Live on DC101 24-02-03
(...aqui van muchos directorios mas...)
./Foo Fighters/Foo Fighters/(2003) One By One (Limited Edition)
./Foo Fighters/Foo Fighters/(2003) One By One (Limited Edition)/Bonus CDCon bitrate < 112: 28 (0.6 %) ->
Con bitrate 112: 28 (0.6 %) ->
Con bitrate 128: 2810 (64.9 %) =======================================>
Con bitrate 160: 89 (2.1 %) =->
Con bitrate 192: 1022 (23.6 %) ==============->
Con bitrate 256: 294 (6.8 %) ====->
Con bitrate > 256: 56 (1.3 %) =>
-Un total de 4327 mp3s analizados
Parece que voy a tener que usar el otro script un poco xD. Pero al menos ahora ya se que tengo que convertir ;).
Aquí para descargarlo
IDE’s, eterno debate
Publicado por blaxter - 17 Feb 2006 a las 18:54Usa un IDE por comodidad, pero no para que cubra tu desconocimiento
un Pobrecito Hablador (de /.)
Ahora mismo podría escribir un libro por lo timado que me siento al ser suspendido por un par de incompetentes profesores que no saben mirar mas diseños que el modelo planteado como solución por ellos, pero mejor no, que en ese caso me cabrearé cada vez que lo lea y esperemos que en par de días se me pase el cabreo.
Ruby on Rails
Publicado por blaxter - 11 Feb 2006 a las 15:33Bastante curioso oye, actualmente hay tres tecnologías clave en el desarrollo web (bueno cuatro, pero java es lo peor del mundo, así que lo ignoro) PHP, ASP.NET y RoR.
(Nota: el comando que ejecuto se podría resumir en que se pilla la cabecera http que nos devuelve el servidor)
PHP
[blaxter@helicon]:~$ wget -S --spider http://www.php.net
--15:27:55-- http://www.php.net/
=> `index.html'
Resolviendo www.php.net... 64.246.30.37
Connecting to www.php.net|64.246.30.37|:80... conectado.
Petición HTTP enviada, esperando respuesta...
HTTP/1.1 200 OK
Date: Sat, 11 Feb 2006 14:06:42 GMT
Server: Apache/1.3.26 (Unix) mod_gzip/1.3.26.1a PHP/4.3.3-dev
X-Powered-By: PHP/4.3.3-dev
Last-Modified: Sat, 11 Feb 2006 14:13:35 GMT
Content-language: en
Connection: close
Content-Type: text/html;charset=ISO-8859-1
Longitud: no especificado [text/html]
200 OK
ASP.NET
[blaxter@helicon]:~$ wget -S --spider http://asp.net
--15:26:18-- http://asp.net/
=> `index.html'
Resolviendo asp.net... 66.129.67.14
Connecting to asp.net|66.129.67.14|:80... conectado.
Petición HTTP enviada, esperando respuesta...
HTTP/1.1 302 Found
Connection: keep-alive
Date: Sat, 11 Feb 2006 14:26:24 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: http://asp.net/Default.aspx?tabindex=0&tabid=1
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 43204
200 OK
RoR
[blaxter@helicon]:~$ wget -S --spider http://rubyonrails.org/
--15:25:18-- http://rubyonrails.org/
=> `index.html'
Resolviendo rubyonrails.org... 70.84.143.109
Connecting to rubyonrails.org|70.84.143.109|:80... conectado.
Petición HTTP enviada, esperando respuesta...
HTTP/1.1 200 OK
Date: Sat, 11 Feb 2006 14:25:23 GMT
Server: Apache
X-Powered-By: PHP/5.0.3
Vary: Accept-Encoding
X-Powered-By: The blood, sweat and tears of the fine, fine TextDrive staff
Served-By: TextDrive's Textpache
Keep-Alive: timeout=5, max=80
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
Longitud: no especificado [text/html]
200 OK
Comentar que la página de RoR no tiene mucha parte dinámica, así que tiene excusa para no usar algo mas avanzado como es RoR, posiblemente la parte de php se centre exclusivamente en includes() y poco mas, si me apuras templates y/o logs varios.
Esta obra está bajo una
licencia de Creative Commons.
Este blog funciona gracias a WordPress
con el theme GimpStyle
diseñado por Horacio Bella y adaptado por un servidor.
Feed entradas
