Enero 8th, 2010

El día de hoy, Wicho de Microsiervos ha dicho lo siguiente en su post sobre la “Elusiva Inteligencia Artificial“:
Así que, aun con lo complicado que es hacer predicciones tecnológicas, estoy dispuesto a apostar algo a que en el entorno del 2045 los seres humanos no nos habremos quedados obsoletos al superar la inteligencia artificial a la humana como predice desde hace tiempo Raymond Kurzweil.
Pues estoy dispuesto a aceptar tu reto, y te apuesto 100 Euros (o su equivalente en moneda Europea/mundial* en ese año) a que cuando la condición fecha => “2045-01-01 00:00:00″ se cumpla, ya habrá habido al menos un ganador del premio Loebner. Los robots de uso doméstico serán cosa del pasado ya que cohabitarán con los humanos permanentemente, en cualquier ambiente, y mostrarán (tanto en sentido común, como puesto a prueba a través de la prueba Turing) que la AI-Complete se ha logrado, dando vida a inteligencia artificial completa.
¿Aceptarás?
Categorías: Inteligencia Artificial
Etiquetas: 2045, ai-complete, artificial, inteligencia, loebner, microsiervos, reto, turing, wicho
Diciembre 19th, 2009

![Apple ][ Aquellos días en la Computación](http://12.media.tumblr.com/tumblr_kumugwQl0W1qz6f9yo1_500.jpg)
Aquellos días en la Computación
Vía Start Up
Categorías: Apple, Computadoras
Diciembre 15th, 2009

He buscado bastante en internet por un script que me permita determinar la diferencia entre dos fechas en PHP. Obtuve resultados que me decian “250 dias, 14 horas, 12 minutos” u otros que requerian la clase de “DateTime” usando la funcion estatica diff.
Sin embargo, en mi caso yo requeria una solución implementable en cualquier version de PHP del 5 para arriba. Y no encontré un solo script que me diera lo que requería: Faltan 5 meses, 2 días, 4 horas.
Por lo tanto desarrollé el siguiente script, tomando como ejemplo uno que encontré en la web, y modificandolo para proveer lo que requería que me devolviera. Si te gusta, o si consideras que pudieras mejorarlo aún mas, se aceptan comentarios.
= $uts['start'] )
{
//This extracts the total amount of Days, Hours, Minutes
$diff = $uts['end'] - $uts['start'];
if ($days=intval((floor($diff/86400))))
$diff = $diff % 86400;
if ($hours=intval((floor($diff/3600))))
$diff = $diff % 3600;
if ($minutes=intval((floor($diff/60))))
$diff = $diff % 60;
$diff = intval( $diff );
//Gather separate variables
$start_year = intval(date("Y", $uts['start']));
$start_month = intval(date("n", $uts['start']));
$start_day = intval(date("j", $uts['start']));
$start_hour = intval(date("H", $uts['start']));
$end_year = intval(date("Y", $uts['end']));
$end_month = intval(date("n", $uts['end']));
$end_day = intval(date("j", $uts['end']));
$end_hour = intval(date("H", $uts['end']));
$end_daysinmonth = intval(date("t", $uts['end']));
//Get the Difference in Years and Months
$diff_years = $end_year - $start_year;
$diff_months = ($diff_years > 0) ? (($diff_years * 12) - abs($end_month - $start_month)) : abs($end_month - $start_month);
//Calculate Difference in Days
$curr_month = $start_month;
$curr_year = $start_year;
$diff_days = $days;
for ($y = 0; $y < $diff_months; $y++)
{
$days_this_month = intval(date("t", mktime(0,0,0,$curr_month,1,$curr_year)));
$diff_days -= $days_this_month;
$curr_month++;
if ($curr_month == 13)
{
$curr_month = 1;
$curr_year++;
}
}
//Pass on the Difference in Hours
$diff_hours = $hours;
//Format the Data
if ($digits == true)
{
$diff_months = sprintf('%02d', $diff_months);
$diff_days = sprintf('%02d', $diff_days);
$diff_hours = sprintf('%02d', $diff_hours);
$days = sprintf('%02d', $days);
$minutes = sprintf('%02d', $minutes);
$diff =sprintf('%02d', $diff);
}
//Return the Data
$returnarray = array('months'=>$diff_months, 'daysmonth'=>$diff_days, 'days'=>$days, 'hours'=>$diff_hours, 'minutes'=>$minutes, 'seconds'=>$diff);
return( $returnarray );
}
else
{
//Error: Start Date is Greater than End Date
$returnarray = array('months'=>0, 'daysmonth'=>0, 'days'=>0, 'hours'=>0, 'minutes'=>0, 'seconds'=>0);
return($returnarray);
}
}
else
{
trigger_error("Invalid date/time data detected", E_USER_WARNING);
}
return(false);
}
?>
<div id="countdown">
<h2>Ya llegamos? No, pero en:</h2>
<ul id="countdown_tiempo">
<li> Meses</li>
<li> Dias</li>
<li> Horas</li>
</ul>
</div>
Categorías: PHP, Programación, Tutorials
Etiquetas: diferencia, faltante, fecha, hasta, otra, php, remaining, restante, tiempo, time, una
Noviembre 22nd, 2009

Esta fotografía forma parte de un set de fotografía llamada “Chicks ‘n’ Computers”. Interesantes han de haber sido aquellas epocas.

vintage computing '67 by Retrospace
Categorías: Uncategorized
Etiquetas: chicks computers 67
Noviembre 22nd, 2009

¿Alguna vez te has preguntado como serán las empresas de desarrollo web en el extranjero?
Pues está es la historia de mi asignación por contrato durante 2 semanas en una empresa de desarrollo web al oeste de Escocia.
Todo comenzó por la entrevisa. Fueron rigurosos, su prioridad era ver mi portafolio actual. No fueron estrictos con Flash, sin embargo, mostraron mas interés por ver mi trabajo con JQuery, CSS y Javascript.
La contratación temporal tuvo lugar 3 días después, estuve trabajando en su sitio web como proyecto interno. La organización es de aproximadamente 12-15 personas, clasificándose como empresa pequeña.
Tienen un departamento de creatividad y un departamento de desarrollo, es decir, los que hacen el XHTML/CSS y los que hacen el PHP/JavaScript. Se trabajan 7 horas y media por día idealmente, pero como en toda empresa de desarrollo: Si existe overtime y no es pagado.
Hay un área con sillones, un Xbox 360 con varios controladores, y un Wii para entretenerse durante la hora (una hora completa) de la comida. En el área de trabajo hay una laptop dedicada a musica.
La gente puede ser amable, y te echan una mano cuando te atoras. Hay muchas reuniones de avance (típico) pero están bien fundamentadas y no hay mas de una por día (por proyecto).
En general, es una empresa con visión diferente, que se centra mas en el bienestar de sus empleados, y en lograr lo que en realidad quiere el usuario, y no tanto en todo el alboroto burocrático que generalmente sucede en las empresas de desarrollo.
Espero durante los próximos meses estar trabajando en diversidad de empresas similares, y estaré subiendo mis comentarios al respecto.
Categorías: Empresas de TI
Etiquetas: web development glasgow ti contrato como es estilo trabajando gran bretaña calidad
Noviembre 22nd, 2009

Primero que nada me gustaría reiterar mis disculpas por mi abandono de este blog por cierto tiempo. He vuelto ahora si, tanto a la programación como al blogging.
El primer anuncio que haré sobre el sitio es que cerraremos el foro de mtyCoders debido a inactividad, y el equipo de mtyC y yo nos estaremos dedicando mas a mejorar el blog y su contenido. Esto con el fin de crear una comunidad mas fuerte, y mejor contenido de informática en español.
Tal vez ya se hayan dado cuenta que han habido cambios en como se ve el blog. Esto es solo el principio de una serie de cambios que se realizarán. Espero y les gusten.
Saludos! — LeMiffe
Categorías: Noticias, mty.coders
Etiquetas: nuevo mtycoders tajada
Noviembre 8th, 2009

En estos momentos me encuentro descargando la beta 2 de Visual Studio 2010, al momento de instalarla hare el review correspondiente.
Categorías: Uncategorized
Noviembre 3rd, 2009

Bien pues despues de mucho tiempo sin actualizar, en realidad no lo hacia tan seguido, he decidido moverme a este blog, para retomar su objetivo inicial: Ayudar a la formacion de desarrolladores.
Pienso que nunca es tarde, y si miffe me lo permite, voy a hacer uso de este espacio para compartir mis vivencias como Desarrollador de Software en el lenguaje que sea(y no necesariamente orientado a Microsoft).
Sin mas por el momento me despido, esperando que este blog sea de su agrado.
Categorías: Uncategorized
Junio 11th, 2009

Y no solo IE, sino Firefox, Chrome, Safari y Opera. He encontrado un manual en internet que debe resolver todas tus dudas sobre como hacer tu experiencia de navegación en Internet mas segura.
Probablemente este manual va mas enfocado hacia aquellos que no son programadores, o usuarios expertos de computadoras, sin embargo siempre es util tener un manual de referencia. En el se incluye una reseña sobre los procesos de seguridad en general, seguido de como aplicarlo sobre los navegadores mas usados.
Es un PDF y lo puedes ver dando clic aquí.
Categorías: Anuncios Interesantes, Apple, Computadoras, Microsoft, Navegadores, Noticias, Seguridad de Informática, Software
Etiquetas: Apple, browsers, chrome, explorer, firefox, Google, Internet, manual, mozilla, Navegadores, opera, safari, securización, Seguridad
Junio 3rd, 2009

Este es un pequeño script de VBA que desarrollé a partir de varios recursos que hacían cosas similares. ¿Para que es útil esto? Digamos que tienes una hoja de cálculo con 5,000 hileras, pero solo tiene información la 2, 4, 6, 8, 10… etc.
Quizá haya alguna mejor manera de hacer esto y no me he dado cuenta. Se aceptan sugerencias.
'Procedure: Paste in VBA, select cells in worksheet, go to VBA and execute sub.
Sub DeleteOddRows3()
Dim Rw As Range
If WorksheetFunction.CountA(Selection) = 0 Then
MsgBox "No data found", vbOKOnly, "Error"
Exit Sub
End If
With Application
.Calculation = xlCalculationManual
.ScreenUpdating = False
y = 0
For Each Rw In Selection.Rows
If y = 0 Then
y = 1
If IsEven(Rw.Row) = False Then
Rw.Delete
End If
ElseIf y = 1 Then
y = 0
If IsEven(Rw.Row) = True Then
Rw.Delete
End If
End If
Next Rw
.Calculation = xlCalculationAutomatic
.ScreenUpdating = True
End With
End Sub
Public Function IsEven(ByVal Number As Long) As Boolean
IsEven = (Number Mod 2 = 0)
End Function
Categorías: Programación, Tips de Desarrollo
Etiquetas: 2003, 2007, excel, hileras, impar, non, par, pares, remover, rows, vba