sábado, 24 de diciembre de 2011

Libros gratis

Buenas direcciones para encontrar libros, revistas, periódicos.

Scribd En esta pagina se pueden encontrar todo tipo de documentos

slideshare En esta pagina se pueden encontrar todo tipo de documentos

Youkioske Libros, periódicos del día, revistas. Esta pagina en realidad tiene las revistas alojadas en alguna de las dos anteriores páginas, pero al ser material ilegal no son fáciles de encontrar en dichas páginas. Para que nos entendamos es un estilo a películas Yonkis.

Después nos podemos encontrar gran cantidad de foros y páginas popularmente conocidas como Taringa, Vagos, etc donde también se pueden encontrar libros gratis.

Ya ire completando mejor este post


jueves, 22 de diciembre de 2011

Trágico desahucio de familia estadounidense (Documental).


Aquí les traigo un documental que esta dando mucho de que hablar hoy en día. Trata acerca de una familia estadounidense que por no poder pagar las facturas es desahuciada durante la cena del día de Acción de Gracias. El caso comienza con el corte de la luz y una serie de pequeños ataques a la casa.

Este documental esta subtitulado al castellano. No les voy a contar más pero les recomiendo que vean el vídeo.


Video


viernes, 28 de octubre de 2011

Traducir un PDF

Podemos hacerlo con google translate, pero seria pesado el copy/paste.

Nos vamos a esta pagina toolKit, que tambien es un servicio de Google

Esta no permitira traducir archivos PDF, por lo que primero lo convertire a .DOC[Convertir PDF a Word]

Una vez convertido, en la pagina del toolkit seleccionamos el archivo y los idiomas que utilizaremos y pulsamos sobre el boton 'subir para traducir'.


Hay archivos que me los traduce de maravilla pero hay otros que ... pero no deja de ser un servicio gratuito, osea que quejas ninguna!


Thanks!!

Fallos más comunes en gestion de proyectos

 Trabajar con intermediarios es como pedirle a Chuck Norris que vaya al supermercado a comprar una docena de huevos

Este es el error más común y más grave de todos los que conozco. Cuando se trabaja en un proyecto grande, con suficiente documentación, siguiendo una metodología de calidad, este error tiene un impacto mínimo, pero en proyectos pequeños, el impacto es enorme.
El intermediario, en lugar de contarnos lo que quería el cliente, nos contaba su solución a lo que el cliente quería, que por supuesto, no tenía nada que ver.

Convergencia excesivamente prematura: Esto lo terminamos el viernes….
Cuando un proyecto es muy grande, o existe una gran presión sobre su fecha de finalización, suele aparecer una convergencia del proyecto prematura, hay una sensación en el aire de que el proyecto está acabado, cuando realmente está a un 80%.
Esto suele ocurrir en proyectos donde no existe una especificación del sistema, o donde se dejan ciertas cosas para el final….
Cuando el equipo da por acabado el proyecto, hay gabinete de crisis, y se encuentra con un desarrollo que se alarga un 20%, pero el problema, es que el equipo está desilusionado, que no hay planificación ni detalle de lo que queda, con lo cual, este 20% se puede convertir en un 40% en muchos casos.

Héroes y Villanos
En todas las empresas de tamaño medio/grande hay un héroe, una persona capaz de hacer sola el proyecto entero, pero que sin embargo, en medio del proyecto se entretiene, con una librería nueva de Jquery que es capaz de hacer que el botón de login cante una canción de Lady Gaga.
Los héroes son muy importantes pero hay que atarlos cortitos, separarlos del proyecto en muchos casos, y encargarles tareas extremadamente complicadas, pero acotadas.
Un héroe es capaz de acabar el solito con toda la planificación de un proyecto.
Pero en otras ocasiones, un héroe puede hacer el trabajo de 10 personas, normalmente, cuando son proyectos o herramientas internas, es ahí, donde deben estar los héroes.
Por otro lado tenemos lo villanos, esas personas, que minan la moral de sus compañeros, que hacen un código que aparentemente funciona, pero que después es un coladero, un villano, se empeña en poner el botón aceptar en el lado contrario que el resto del equipo de trabajo, por que sí, por que el tiene razón y el resto está equivocado.
Al héroe, hay que cuidarlo y aislarlo, y al villano, mandarlo a la competencia….


B3 o la teoría de lo bueno, bonito y barato…
La realidad es que los clientes lo quieren todo, a precio de nada, y por mucho que lo intentes, no pueden entender por ejemplo, que se tarde más tiempo en montar una tienda online, que en construir una casa.
Es una realidad, en la mente de una persona no cabe ese concepto, no se puede abstraer al coste de un desarrollo

El Santo Grial
No existe el Santo Grial, la incorporación de herramientas novedosas, se debe hacer antes del proyecto o en un prototipo a parte, nunca incorporarlas en medio del proyecto.

 Fallos comunes en proyectos de desarrollo
PDF
Me esta encantando el blog de [senior manager]

El usuario necesite saber en que esta invirtiendo tiempo y dinero, y los reportes son la mejor manera de mostrarlo. Como reflexión inicial te dejo estas dos frases…
- Una estrategia no sirve para nada si no se puede medir.
- No hacemos nada estableciendo objetivos, si luego no los monitorizamos.
Existen cientos de reportes y plantillas de seguimiento que pueden confeccionarse a partir de los KPI que se hayan establecido al comienzo, pero todos deben cumplir con los siguientes seis principios, basados en los archiconocidos: “Qué, quién, cuándo, cómo, dónde y por qué”. Te los detallo a continuación:

1. Qué información debe reflejarse:
Los datos deben poseer un balance entre lo cuantitativo y lo cualitativo, en una proporción coherente con el tamaño de la empresa, con las redes utilizadas y con el número de profesionales involucrados; pero todo enfocado hacia las metas y objetivos.
Han de reflejar los datos numéricos que arroja la implementación de la estrategia, ordenados por fecha y por KPI, de forma que puedan sumarse o restarse (según el caso), pero siempre dejando un registro de la evolución.
Dependiendo de la estrategia del modelo de negocio y del tipo de marca, es conveniente incluir también datos sobre la competencia.

2. A quién deben reportarse:
Sin importar el tipo la estrategia o la complejidad organizativa de la empresa, los reportes han de ser elaborados en función del cliente; es decir, con el tono, el vocabulario, la semántica, la sintaxis y la redacción enfocados en el entendimiento total de la información.
Por lo general se designa a la persona que los ha de recibir por parte de la empresa cliente, siendo aplicable enviar una copia al responsable de la estrategia.

3. Cuándo se hacen los registros y cuándo se entregan:
Han de diseñarse plantillas de registro y seguimiento diario, sobre todo para poder tener el pulso del “sentiment” (positivo, negativo y neutro). No obstante, los reportes de contenido y/o información sensible o crítica tendrán que entregarse de forma semanal.
Los reportes mensuales y trimestrales pueden ser un resumen de los semanales, incluyendo los paralelos de la información representativa, más no crucial, para la toma de decisiones.

4. Cómo reportar:
Deben ser reportes sencillos en su estructura, pero potentes en la información que muestran, siempre enfocados en los resultados, así como en los aspectos más determinantes.
De nada sirve saber que han bajado los seguidores en twitter, si no hay una respuesta que me indique las posibles causas; es decir, no es “reportar por reportar”, hace falta complementarlos con análisis y comentarios sobre los resultados, así como con posibles propuestas de desviaciones y correcciones.

5. Dónde han de entregarse:
Los reportes semanales, mensuales y otros, pueden “enmarcarse” con alguna gráfica y “acompañarse” de comentarios para luego ser presentados en persona, o bien ser colgados para su revisión y análisis en los espacios en donde más visibles puedan estar; esto incluye tanto a aplicaciones virtuales, como a imprimirlo y colgarlo en el tablón de la pared de siempre.

6. Por qué necesitamos reportes:
Estamos en una evolución constante en la que marcamos un camino para llegar a los objetivos, un camino lleno de baches y “peligros” (literalmente), y en el que necesitamos una guía para poder determinar qué funciona y qué no.
 Es por eso que necesitamos saber qué sucede ahora mismo, justo cuando las cosas ocurren, y no la semana que viene. El valor de las datos es incalculable, y medir la estrategia para saber los resultados de lo que estamos haciendo, al final lo es todo.

Reflexión:
Los reportes diseñados apropiadamente son cómo una especie de mapa que nos permite avanzar en nuestro plan de social media.

Nos permiten aprender un montón de aspectos relacionados al presente y al futuro de la estrategia, por lo que su diseño ha de contar con gráficos, análisis y sobre todo componentes anecdóticos relevantes para seguir evolucionando en la táctica establecida.

Formas de captar talentos

En este mundo tan tecnológicamente dinámico, en donde las transformaciones están a la orden del día, el denominado “talento estructural” (el de siempre) ya no funciona tan bien como el “talento conyuntural”. Este último se adapta fácilmente a los cambios, es impulsor y creativo, posee genialidad y representa fielmente a la persona vistiéndola de su propia identidad.

El talento coyuntural es casi infinito; si lo mantenemos vivo no se agota y no se puede igualar al “conocimiento”; de hecho, va mucho más allá, pues no se crea, sino que se genera. Es precisamente ese el gran reto de los departamentos de RR.HH. obsoletos (con perdón), generar talento coyuntural.

Esta es justamente la parte más complicada de lograr cuando hablamos de captar personas con talento, o incluso cuando hay que desprenderse de él, pues muchos siguen pensando que los cuestionarios y los test psicotécnicos son imprescindibles, que lo que se diga en la entrevista es lo más importante, que las horas extra ya son una constante asumible y que cualquier idea tuya le pertenece a la empresa.

Desde luego son malos tiempos para encontrar, y sobre todo para retener, el talento. Pero lo que sí está claro es que sin él, será difícil sobrevivir a la situación actual… La mala noticia es que los profesionales de RR.HH. (en su mayoría) siguen pasivos y adoptando posturas sumamente defensivas y más que alineadas con las obsoletas directrices de siempre. Dicho de otro modo, malos tiempos para proponer cambios.

En conclusión, la transformación viene desde adentro y desde “arriba”, paso previo para la transformación externa.

La forma de captar talento no cambia, si no cambias tú previamente

Elementos de redacción para Google+

Google Plus entró con fuerza para competir con el resto de redes sociales existentes, sobre todo con las más grandes; y aunque su estructura parece simple (que lo es), seguimos descubriendo formas con las que podemos optimizar su uso.

Negritas: Escribe entre dos asteriscos (*)

Cursiva: Escribe entre dos guiones bajos (_)

Tachado: Escribe entre dos guiones (-)

“Mensaje privado”: Postea un mensaje en el TimeLine, pero compártelo solo con la persona a la que quieres escribirle, verifica que no hayan círculos en la lista de personas que pueden leer. No olvides desactivar “Share” o “Compartir”

Para mencionar a alguien en un post o conversación: escribe el signo más (+) o arroba (@) seguido del nombre de la persona.

El Tao de la Programación

Este libro, escrito en el año 1987 por Geoffrey James, recoge, en un humorístico tono de misticismo oriental, distintas historias y parábolas con geniales mensajes de fondo sobre calidad en la programación, gestión de proyectos y otros temas que siguen siendo válidos veinticinco años después.

Como probablemente habrá más lectores que no lo conozcan, me ha parecido interesante reproducirlo aquí traducido en su totalidad, por supuesto contando previamente con el permiso expreso del Sr. James.

El Tao de la programación

miércoles, 19 de octubre de 2011

Interfaz Android 4.0

Video promocional de las características del nueva actualización de Android

Vídeo de la presentación de Android por parte de Google

AYUDA: xataka android
Mas información de la interfaz: Platform Android

Visual Studio 11 Developer Preview Training Kit

El contenido es muy completo y se refiere a muchas áreas del Visual Studio 11. Entre los temas que nos vamos a encontrar tenemos,
  • Visual Studio Development Environment
  • Un vistazo al entorno de desarrollo en Visual Studio 11 y a sus lenguajes
  • Programación asíncrona en .NET 4.5 con C# y Visual Basic
  • Novedades en ASP.NET y en Visual Studio 11 Developer Preview
  • Novedades en ASP.NET Web Forms 4.5
  • Construcción de aplicaciones completamente REST con WCF Web API
  • Gestión del ciclo de vida de las aplicaciones
  • Construyendo el software correcto: generación de storyboards y recolección del feedback de los clientes con Visual Studio 11
  • Gestión de proyectos Agile en Team Foundation Server 11
  • Desarrolladores más productivos con Team Foundation Server 11
  • Diagnostico de incidencias en producción con IntelliTrace y Visual Studio 11
  • Pruebas de exploración y otras mejoras en Microsoft Test Manager 11
  • Pruebas unitarias con Visual Studio 11: MSTest, NUnit, xUnit.net y Code Clone
  • Aplicaciones Windows Metro Style

Descarga | Visual Studio 11 Developer Preview Training Kit
Vía | MSDN Blogs

Ayuda | Genbeta.
Descarga Windows8 : DESCARGA

martes, 18 de octubre de 2011

Cuaderno CSS

Lo comentaba mi jefe en Doblemente, y la verdad es que la imagen es muy clarificadora.

PDF css

Thanks!!

sábado, 8 de octubre de 2011

ZapaCabra

¿Esto es risa o una putada?

Borrar un directorio en VB

Función simplita por si alguien la necesitara:


 Public Sub BorrarDirectorio(ByVal pathDestino As String)

        Try
            ' Primero recogemos la colección de archivos y carpetas
            Dim files() As String = System.IO.Directory.GetFiles(pathDestino)
            Dim dirs() As String = System.IO.Directory.GetDirectories(pathDestino)


            ' Si posee ficheros, los eliminamos
            For Each fil As String In files
                Dim dirInfo As New IO.DirectoryInfo(fil)
                System.IO.File.Delete(dirInfo.FullName)
            Next

            ' Si posee carpetas nos introducimos en ellas de manera recursiva
            For Each dir As String In dirs
                Dim dirInfo As New IO.DirectoryInfo(dir)
                BorrarDirectorio(dirInfo.FullName)
            Next

            ' Segun vuelva de la recursividad, si poseen carpetas, las eliminamos
            For Each dir As String In dirs
                Dim dirInfo As New IO.DirectoryInfo(dir)
                System.IO.Directory.Delete(dirInfo.FullName)
            Next
        Catch ex As Exception
            MessageBox.Show("Error borrando directorio (" + pathDestino + "), tiene permisos?")
        End Try
    End Sub

Modificar firma de una publicación de ClickOnce

Buenos dias
Lo que explicare a continuación dependerá de saber como crear una publicación con clickOnce de nuestro proyecto con VisualStudio.

Para refirmar la publicación necesitaremos de esta aplicación (mage), pudiendo tanto utilizar una interfaz gráfica como trabajar bajo lineas de comandos de cmd o si lo necesitamos, crearnos un proceso en nuestro programa.

Que posibilidades nos puede ofrecer esta aplicación, pues posiblemente muchas, pero que haya trabajado una, que es generando una publicación podemos cambiarle el url de actualización.

Así pues, con clickOnce podemos decirle a nuestro programa que, por ejemplo, cuando arranque compruebe si existe una nueva actualización.
De tal forma, que si necesitamos diversificar nuestro programa por diversas empresas, posiblemente nos convenga que cada empresa pueda actualizarse a un repositorio distinto del resto, para mantener versiones distintas o simplemente para ahorrar coste, porque este repositorio podría estar en su propia red, evitando que cada maquina tenga que tirar de Internet para actualizarse.


Son muchas las propiedades o comandos con los que trabaja mage, pero hablare de las que mas conozco:
  • –Update Como dije, lo que haremos sera refirmar una publicación
  • –Sign Utiliza un certificado para firmar un archivo
  • –AppManifest Path del manifest o supondrá que su manifiesto de aplicación reside en el mismo directorio que el manifiesto de implementación dentro de un subdirectorio
  • –CertFile Path del directorio
  • –Password Ademas, necesitaremos también de la contraseña del certificado
A continuación pondré una función muy simple, que os lo hará comprender mas fácilmente

 Public Function FirmarPublicacion(ByVal path_programa As String, ByVal nombrePrograma As String, ByVal urlAct As String, ByVal manifest As String, ByVal cetificado As String, ByVal passCertificado As String, ByVal mage_path As String) As Boolean
        Dim resul As Boolean = True
        Try      
            Dim comando1 As String = " -Update """ + path_programa + "\" + nombrePrograma + ".application""" + " -ProviderUrl """ + urlAct + """"
            Dim comando2 As String = " -Update """ + path_programa + "\" + nombrePrograma + ".application""" + " -Publisher " + """Panel de Control (PC)""" + " -AppManifest """ + manifest + """"
            Dim comando3 As String = " -Sign """ + path_programa + "\" + nombrePrograma + ".application""" + " -CertFile """ + cetificado + """ -Password " + passCertificado

            ' Comprobamos si existe manifest los ficheros
            If Not File.Exists(path_programa + "\" + nombrePrograma + ".application") Then
                Throw New Exception("Archivo application erroneo: (" + path_programa + "\" + nombrePrograma + ".application" + ")")
            End If
            If Not File.Exists(manifest) Then
                Throw New Exception("Archivo manifest erroneo: (" + manifest + ")")
            End If
            If Not File.Exists(cetificado) Then
                Throw New Exception("Archivo certificado erroneo: (" + cetificado + ")")
            End If
            If Not File.Exists(mage_path) Then
                Throw New Exception("Archivo mage erroneo: (" + mage_path + ")")
            End If
            If Not ValidarURL(urlAct) Then
                Throw New Exception("URL ACTUALIZACIÓN mal introducida: (" + urlAct + ")")
            End If
            If Not urlAct.Contains(nombrePrograma + ".application") Then
                Throw New Exception("URL ACTUALIZACIÓN no esta asociada con archivo .application: (" + urlAct + ")")
            End If

            Dim returnS1 As String = FirmaPublicacion2(mage_path, comando1)
            Dim returnS2 As String = FirmaPublicacion2(mage_path, comando2)
            Dim returnS3 As String = FirmaPublicacion2(mage_path, comando3)

            Dim firma As Boolean = True

            If not returnS1.Contains("successfully updated") Or not returnS1.Contains("successfully signed") Then
                
            Throw New Exception(returnS1)
            End If

            If not returnS2.Contains("successfully updated") Or not returnS2.Contains("successfully signed") Then
            Throw New Exception(
returnS2)
            End If

            If not returnS3.Contains("successfully updated") Or not returnS3.Contains("successfully signed") Then
            Throw New Exception(
returnS3)
            End If

        Catch ex As Exception
            resul = False
        End Try
        Return resul
    End Function

Espero que os ayude la función, ademas no se si hasta cierto punto es mejor depender de un booleano que para la ejecución con excepciones, hay ya que cada uno la edite como quiera.

Thanks!!

lunes, 3 de octubre de 2011

Modificar un archivo de texto

Es un ejercicio simple de programación que he tenido que implementar hoy en el trabajo.
Si hubiera tenido tiempo me hubiera gustado poder haberlo hecho sin tener que recurrir a utilizar memoria para leer todo el archivo, pero no pude ni plantearlo.
StringBuilder newFile = new StringBuilder();
string temp = "";
string[] archivo = File.ReadAllLines(@"C:\................txt");
foreach (string linea in archivo)
{
    if (linea .Contains("string"))
    {
        temp = linea .Replace("string", "String");
        newFile.Append(temp + "\r\n");
        continue;
    }
    newFile.Append(line + "\r\n");
}
File.WriteAllText(@"C:\......................txt", newFile.ToString());
Thanks!!

viernes, 30 de septiembre de 2011

Trabajo con fechas en SQL Server

Trabajar sobre fechas y sus conversiones esta a la orden del día cuando uno programa sql.

La pagina que os ofrezco es una maravilla porque vienen las mayoría de conversiones

Conversión fechas SqlServer


También dejo una información que desconocía, pues un servidor le costara hasta 8 veces más trabajar sobre nvarchar que sobre varchar, aquí el enlace explicativo:
nvarchar vs narchar

Thanks!!

domingo, 25 de septiembre de 2011

Guía rápida de UML

Esta imagen es muy descriptiva de como entender los diagramas UML

Thanks!!

Cadenas de conexión en Asp.Net

Esta pagina es cojonuda cuando buscamos como hacer la conexion a nuestra base de datos: www.connectionstrings.com

El primer paso para asociar una cadena de conexión con nuestra fuente de datos es conocer la siguiente información:
a) Nombre de la instancia.
b) Nombre de la base de datos.
c) Usuario y contraseña del usuario que tiene permisos sobre la base de datos.

Instancia: EQUIPO.
BD: prueba.
User: sa,Pass: sasysadmin.

Si no conoces el nombre de la instancia del SQL server ejecuta el siguiente comando:
USE master; -- Para que la query se ejecute en dicha base de datos
GO
SELECT [name], data_source FROM sys.servers;

Ahora creamos un nuevo sitio Web en Visual Studio 2008 y abrimos el archivo de configuración Web ( web.config )
Buscamos el elemento contenido dentro del elemento raíz y agregamos una cadena de conexión como lo muestra el siguiente ejemplo:


<connectionstrings>
    <add connectionstring="Data source=EQUIPO; Initial catalog=Prueba; User id=admin; Password=123456" name="cnx" providername="System.Data.SqlClient">
  </add></connectionstrings>

El atributo connectionString debe tener los siguientes datos:
Data source es la instancia que utilizamos en SQL Server.
Initial catalog es el nombre de la base de datos a utilizar.
User id es el nombre de usuario que se conectara a la base de datos.
Password es la contraseña del usuario de la base de datos.
Por último el providerName que es un espacio de nombres de System.Data.SqlClient.

Asi, cuando programemos la query, al iniciar la conexion deberemos poner:
Dim conex as new SqlConnection(WebConfigurationManager.ConnectionStrings("cnx").ConnectionString)

Finalizado el contrado

Podre blog, con la ilusión que me hizo poder materializar todas las ideas y plasmarlas en el blog.

En fin, cree el blog cuando inicie mi nuevo camino en la empresa 'Doblemente' de Alcoy, y finalizando el contrato y sin saber si renovare he decidido volver a darme otra oportunidad.

Si el futuro me es aciago y no renovara, tengo una ilusión inmensa en poder plasmar mis 'sueños' e 'ideas' en un proyecto informático que lleva tiempo cuajando en mi mente pero que no tengo tiempo de crear junto con el trabajo.

El proyecto es abrumadoramente cojonudo pero es de una complejidad delicada para los que acabamos de salir de la carrera, con mi experiencia en el CRM y el CMS puedo valerme para ir tirando al principio. Y hacerme una idea de que necesito antes de pedir ayuda a los compañeros y poder definir una arquitectura inicial.

Thanks!!

jueves, 25 de agosto de 2011

Control y gestion de diagramas

El siguiente programa, imagino que conocido por muchos, me ha ayudado bastante a crear un par de diagramas de casos de uso y secuencia.

El programa es [Software Ideas Modeler], software totalmente gratuito.


Thanks!!

lunes, 22 de agosto de 2011

Por no olvidar

Por no olvidar que un dia cree el blog, vuelvo a publicar.

Hace ya cuatro semanas desde que empece en este curro, Doblemente es el nombre de la empresa. Dedicada a la creación y administracion de espacios web.

En fin, parece que les he gustado y ya me hablaron de una vez terminado el plazo de dos meses tendre una continuacion.

De momento, ya cree una aplicación dedicada a la publicación de uno de sus productos, con servicios integrados como ftp dentro del proyecto.

Thanks!!

jueves, 28 de julio de 2011

Bienvenidos

Como todo tiene un comienzo y fruto de mi curiosidad atrasada, me acabo de crear un blog con blogger.

Estos de google son literalmente la hostia, cantidad de servicios incorporan a su marca.

Como desarrollador que se ha valido de google para buscar informacion, me encantaria poder ir subiendo mis finitos con los nuevos proyectos y comentarios.

En fin, veremos a donde me lleva esto.
 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Online Project management