martes, 29 de septiembre de 2009

[Humor]Encuentra la diferencia



Click para agrandar las imagenes.

Alguien encontro la diferencia???, este post, es para molestar a paul [compañero de trabajo y amigo], llevamos mucho tiempo diciendole que cambie su telefono[Adivinen cual es el de el, el de la izquieda :D]. el de la derecha es de Gabriel,. esta excelente el nuevo Iphone 3GS. alguien dia voy a ir por el mio, Felicitaciones Gabriel, y Paul cambia el cel, jajajajaja.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

lunes, 28 de septiembre de 2009

buscando en listas con c#, list.Find o list.FindAll

Tengo en la base de datos todos los feriados, los tengo con año 2000 todos, y en una lista tengo todos los feriados entre en rango de fechas.

Tengo una fecha[en realidad varias] y necesito saber si es un dia feriado o no. por que no pregunto a la base de datos, por que estoy en un bucle, y hacer una consulta por cada dia es muy costoso, asi que me traigo los feriados al inicio del proceso con un rago de tiempo.

Aai que tuve que usar FindAll de la clase List, y usar delegate para esto. esto me retorna una lista con los objetos que coinciden con la condicion aqui el codigo:

var holiday = foo.FindAll(
delegate(Holiday hol){
return (hol.Date.Value.Day == newdateTime.Day
&& hol.Date.Value.Month == newdateTime.Month); });

if (holiday.Count > 0)
log.Info(string.Format("{0} es un feriado", newdateTime));


como todos los feriados se guardan en año 2000 y la fechas que estoy generando puede ser de cualquier año, tengo que preguntar por el mes y el dia, foo, es una lista de Holidays.

Estoy trabajando con el Framework 2, si estuviera con el 3, podria usar lamda, que seria asi.

var holiday= foo.FindAll(
hol => (hol.Date.Value.Day == newdateTime.Day
&& hol.Date.Value.Month == newdateTime.Month));

Tambien hay otra forma, pero aun no la entiendo mucho :(

var bar = public Predicate<holiday> checkHoliday(DateTime date){ return delegate(Holiday item) { return item.Date.Value.Day == date.Day && item.Date.Value.Month == date.Month; };}
foo.FindAll(checkHoliday(newdateTime));
si bien retorna un delegate, en la firma del metodo retona un Predicate, me imagino que hace un cast o algo por el estilo.




--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

domingo, 27 de septiembre de 2009

Vendo mi auto, suzuki Aerio SX 2005

vendo mi auto un suzuki Aerio SX, aqui detallo las descripciones:
Marca:         Suzuki.
Modelo: Aerio SX.
Año: 2005.
motor: 1.6.
Color: Beige.
Kilometraje: 61.500.
Radio: radio aiwa, con CD[no lee mp3], cable auxiliar frontal.
Espejos: Electricos
Cierre Centralizado
Precio: $4.300.000.

Soy el segundo dueño, yo no se mucho de autos, lo lleve a un mecanico y me dijo que estaba impecable, el kilometraje es real, lo uso solo los fin de semanas.

Si a alguien le interesa mandar un correo a vhspiceros@gmail.com y/o llamar a 9 349 95 95.

Aqui aqui varias fotos[hacer click para agrandar]:






--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

miércoles, 23 de septiembre de 2009

saber dia de la semana en c#

en el trabajo tengo un requerimiento que tiene que desplegar el dia de la semana de x fecha.

En .net es super simple solo hay que darle un formato,al metodo tu string tambien acepta una cultura.

Aqui algunos ejemplos


public String dayOfWeek(DateTime? date){
return date.Value.ToString("ddd");
}


esto nos retorna el nombre corto[si lo podemos llamar asi],Wed,sun,etc,etc.

Si queremos que nos entrege el nombre completo es cosa de pasarle otro formato al metodo tu string.

public String dayOfWeekLarge(DateTime? date){
return date.Value.ToString("dddd");
}

Esto nos mostraria por ejemplo Wednesday

El el idioma que nos muestre los dias, depende la configuracion regional de nuestros equipos o servidor, si no esta configurado en ninguna parte la configuracion, esto por lo general se configura en el web.config.

si queremos asegurarnos por ejemplo que siempre lo muestre en español seria cosa de asignarle la cultura. de la siguiente forma:


public String dayOfWeek(DateTime? date){
return date.Value.ToString("ddd",new CultureInfo("es-ES"));
}

Esto ultimo tanto para "ddd" y "dddd"

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

lunes, 21 de septiembre de 2009

Gadgets de Twitter donde quieras, incluso en Blogger.

En la mañana si se fijaron agrege un gadget que tiene los ultimos tweet's que he escrito en twitter. esto al lado derecho de la pantalla.

no lo hice con el gadget de blogger, si no que lo hice con codigo html y javascript que encontre encontre por ahi.

Aqui esta el codigo:

<div id="twitter_div">
<ul id="twitter_update_list"></ul>
<a href="http://twitter.com/vhspiceros" id="twitter-link" style="display:block;text-align:right;">
    follow me on Twitter
  </a>
</div>
<script type="text/javascript" src="http://twitter.com/javascripts/blogger.js"></script>
<script type="text/javascript" src="http://twitter.com/statuses/user_timeline/vhspiceros.json?callback=twitterCallback2&count=2"></script>
Donde dice vhspiceros tiene que poner su nombre de usuario. esto funciona no solo en blogger, si no que en cualquier pagina. mediante Css, esto queda bastante bonito.

y otra cosa importante, donde dice count=2, el 2 quiere decir cuantos elementos queremos mostrar. en este caso 2:D

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

lunes, 14 de septiembre de 2009

Recuperar clave de usuarios en prestaShop

estoy instanlando prestashop para un trabajo para la universidad. y perdi la clave del administrador. al final instale prestaShop como 3 veces. hasta que encontre una forma de cambiar la clave.

Es super facil.
Key de la cookie
existe un archivo "settings.inc.php" en el directorio "config" en mi caso tiene la siguiente informacion.

define('_DB_SERVER_', 'localhost');
define('_DB_TYPE_', 'MySQL');
define('_DB_NAME_', 'prestashop');
define('_DB_USER_', 'root');
define('_DB_PASSWD_', '*****');
define('_DB_PREFIX_', 'ps');
define('__PS_BASE_URI__', '/prestashop/');
define('_THEME_NAME_', 'prestashop');
define('_COOKIE_KEY_', 'Cm8RnxXYYSstej4vivXHmut5zStOXqaasbC48YTm05WKhsQLPIynwTau');
define('_COOKIE_IV_', 'GsDtE6N5');
define('_PS_CREATION_DATE_', '2009-09-06');
define('_PS_VERSION_', '1.2.1.0');


y simplemente copiamos el valor de "_COOKIE_KEY_" en este caso el "Cm8RnxXYYSstej4vivXHmut5zStOXqaasbC48YTm05WKhsQLPIynwTau"

Restaurando la clave
A travez de phpmuadmin o caulquier cliente sql.
hacemos el siguiente update

update ps_employee set passwd=md5("Cm8RnxXYYSstej4vivXHmut5zStOXqaasbC48YTm05WKhsQLPIynwTauclavenueva") where email='vhspiceros@gmail.com';


listo ahora el usuario con email vhspiceros@gmail.com quedo con la clave "clavenueva".

Fijarse que la clave esta encriptada bajo md5




--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

viernes, 11 de septiembre de 2009

Les parece familiar???


Update gracias a Lester Fibla.



--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

jueves, 10 de septiembre de 2009

Volviendo a VIM :D

En realidad a Gvim.

Hace bastante que no usaba este editor, ya sea en windows o linux. ayer lo instale y me trajo muy buenos recuerdos. Tengo que hacer un proyecto en php[hace mucho que no veia nada en PHP], y se me olvidados varios comandos.

Para windows GVim se puede bajar desde aqui

Ayer despues de hacer bastante memoria y buscar en varios blogs, volvi a mi configuracion de hace unos años :D. aqui pongo mi _vimrc


set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
set tabstop=4
set shiftwidth=4
set expandtab
set textwidth=8
set autoindent
set gfn=Consolas:h8:cANSI
colorscheme darkblue
set nu
set diffexpr=MyDiff()
function MyDiff()
let opt = '-a --binary '
if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
let arg1 = v:fname_in
if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
let arg2 = v:fname_new
if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
let arg3 = v:fname_out
if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
let eq = ''
if $VIMRUNTIME =~ ' '
if &sh =~ '\<cmd'
let cmd = '""' . $VIMRUNTIME . '\diff"'
let eq = '"'
else
let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
endif
else
let cmd = $VIMRUNTIME . '\diff'
endif
silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction


--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

martes, 8 de septiembre de 2009

insert a partir de un select

Necesita poblar una tabla que recien estaba creando, con datos que ya tenia en una tabla. pero no queria darme la lata de llenarla a mano, y recorde que una vez habia hecho esto. pero siempre se me olvida :(

El ejemplo mas basico.

insert into Country (name) (select 'hola')


Y aqui el ejemplo un poco mas completo,

insert into pais(name)
(select distinct(pais) from persona)

Esto se puede hacer con mas campos, lo importante es que coincidan la cantidad y tipos de datos tanto de datos a ingresar como los del select.

--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com