Browsing articles in "Informática"

Google se acerca a la yugular de Microsoft

Google se caracteriza por sus aplicaciones gratuitas, cuántas veces has pagado por utilizar alguna de sus aplicaciones? Aunque parezca mentira hay gente que lo hace, se trata de las versiones empresariales no estoy diciendo que me parezca mal, al contrario; me parece una decisión muy acertada para las empresas que quieren olvidarse de controlar esas funciones.

En el mundo empresarial Microsoft Outlook sigue siendo el rey de la jungla, ya sea por imposición de la propia empresa o por costumbre del trabajador. Pues bien, Google ha dado un paso adelante para evangelizar también en las empresas.

Hay que reconocerlo, el trabajo que ha echo Microsoft en el mundo de la empresa ha sido muy importante. Outlook me parece una aplicación realmente buena, sencilla y que facilita mucho las cosas al usuario. La jugada de Google no pasa por substituir Outlook, va más allá. El dinero que gana Mircrosoft viene de Microsoft Exchange (el servidor que viene con Outlook), Google va a por eso. El coste de las aplicaciones empresariales de Google valen menos de la mitad que las de su competidor, ahi está el negocio y en Google lo saben.

La nueva versión de Google Apps Sync sincroniza las versiones empresariales de Gmail, contactos y calendario con Microsoft Outlook. De esta manera los trabajadores pueden seguir utilizandolo pero con Google Apps trabajando en segundo plano de forma transparente, a alguien de Microsoft no le va a hacer mucha gracia…

A vueltas con .NET: ComboBox Multi-Columna

Aunque parezca mentira Visual Basic 2008 no incorpora por defecto un ComboBox capaz de mostrar varias columnas de datos. La única manera de hacerlo es programarlo nosotros mismos o buscar ese control por Internet.

Como ya os imaginais a estas alturas, no vamos a inventar nada que ya esté inventado y funcione perfectamente. Por tanto, vamos a añadir el control capaz de hacer lo que queremos y explicar cómo utilizarlo para mostrar los datos que nos interese. En nuestro caso vamos a utilizar el control Icon ComboBox, creado por Steve McMahon, de la conocida página vbaccelerator

iconcombobox

¿Cómo añadir el control a nuestro proyecto?

Lo primero será descargar el control.

Una vez descargado tenemos que añadir el control al toolbox de nuestro proyecto. Clickando con el botón derecho del ratón encima del toolbox marcamos “Choose Items“, dentro del nuevo menú le damos a Browse y seleccionamos el archivo .dll del control.

Llegados a éste punto tenemos el nuevo control añadido al toolbox y listo para usarse. Lo siguiente será añadir el control al formulario, declararlo, modificar los aspectos visuales y empezar a pasarle valores. Vamos a ello.

Añadir el control al formulario se hace igual que cualquier otro control de los que vienen por defecte en Visual Studio, por tanto arrastramos el control al formulario y empezamos a trabajar con él.

Declaramos el control. Como veis se trata de definir cuántas columnas va a tener el control y el espacio que van a ocupar:


Dim column As IconComboBoxColumn = New IconComboBoxColumn

'Por defecto el control ya trae una columna, sólo cambiamos su tamaño
IconComboDepartamento.Columns(0).ColumnWidth = 128

'Segunda columna
column.ColumnWidth = 32
IconComboDepartamento.Columns.Add(column)

'Tercera columna

column = New IconComboBoxColumn
column.ColumnWidth = 96
IconComboDepartamento.Columns.Add(column)

Ya tenemos el control declarado, ahora solo falta poblarlo y mostrarlo. El método para poblar el control consiste en añadirle Items, cada item es una linea del combobox y a cada item le añadiremos tantos subitems como columnas tengamos en el control. Con el ejemplo queda más claro.


Dim ici As IconComboItem = New IconComboItem
ici.Text = "Informática"

Dim subitem As IconComboSubItem = New IconComboSubItem
subitem.Text = "5 trabajadores"
ici.SubItems.Add(subitem)

subitem = New IconComboSubItem
subitem.Text = "Piso superior"
ici.SubItems.Add(subitem)

IconComboDepartamento.Items.Add(ici)

De éste manera hemos añadido una linea al combobox de 3 columnas.

A vueltas con .NET: Modificar Connection Strings en Runtime

Esto del .NET me parece alucinante, la de cosas que se pueden llegar a hacer de forma rápida y sencilla es enorme. Sin hablar de la cantidad ingente de ejemplos y ayuda que podemos encontrar por Internet. Sin embargo, me he encontrado con un problema.

En una aplicación que estoy haciendo necesito poder leer los datos de diferentes bases de datos en función del dominio en el que se ha autentificado el usuario. Las bases de datos corresponden a diferentes fábricas alrededor del mundo así que necesito poder cambiar el ConnectionString que utilizan los DataSets en tiempo de ejecución.  Después de indagar ésto es lo que he conseguido, espero que alguien le ayude.

Lo primero que debemos hacer es declarar los diferentes ConnectionString que podemos utilizar, en nuestro caso lo haremos dentro de  My Project -> Settings.

mysettings

En mi caso tengo 3 Connection Strings, uno de ellos (ConnectionString) es el que utilizan los diferentes DataSets y los otros dos (SpainConnectionString y ChinaConnectionString) son los diferentes valores que puede tomar la primera variable. En la misma pantalla de Settings le damos a ViewCode y saltaremos al código de la clase Settings  que nos permite utilizar eventos específicos de esa clase.


Namespace My
'This class allows you to handle specific events on the settings class:
' The SettingChanging event is raised before a setting's value is changed.
' The PropertyChanged event is raised after a setting's value is changed.
' The SettingsLoaded event is raised after the setting values are loaded.
' The SettingsSaving event is raised before the setting values are saved.
Partial Friend NotInheritable Class MySettings
Public WriteOnly Property ChangeConnectionString() As String
Set(ByVal Value As String)
My.Settings("ConnectionString") = Value
End Set
End Property
End Class
End Namespace

Éste es el código que modifica el valor de la variable ConnectionString (también se puede utilizar para cambiar culaquier valor de la clase My Setting), ahora debemos llamar a éste proceso con el valor que nos interese.

En nuestro caso miramos el dominio del usuario y el rango de IP’s del usuario.

Private Sub GetDomain(ByVal HostName As String)
'Buscamos el dominio al que corresponde la ip que tenemos asignada,
'no el dominio al que nos hemos
'logueado desde Windows
Dim Direcciones As IPAddress() = Dns.GetHostAddresses(HostName)
'Recorremos todos los posibles dominios y cargamos el portal del dominio correspondiente
Select Case Mid(Mid(Direcciones(0).ToString(), 9), 1, InStr(Mid(Direcciones(0).ToString(), 9), ".") - 1)
Case My.Settings.SPAIN_IP
My.Settings.ChangeConnectionString = My.Settings.SPAINConnectionString
Case My.Settings.CHINA_IP
My.Settings.ChangeConnectionString = My.Settings.CHINAConnectionString
Case Else
'Si llegamos aqui es que no estamos en ningun dominio conocido, por tanto cerramos el portal
End Select
End Sub

Espero que os sea de ayuda.

A vueltas con .NET: Minimizar formulario en la barra de tareas

Desde hace algún algo más de un mes estoy aprendiendo a programar con en .Net con Visual Basic 2008. Lo estoy haciendo totalmente auto-didacta así que hasta dentro de un tiempo no habrá gran cosa… Se me ha ocurrido colgar todas las dudas que me asalten y encuentre su solución en “El Interné”, por si a alguien le puede servir de ayuda.

El caso de hoy trata de minimizar nuestro formulario y colocarlo en la barra de tareas de Windows (System Tray), no es gran cosa pero es un comienzo, no? :)

Lo que debemos hacer es añadir un NotifyIcon a nuestro formulario y, si queremos que quede más bonito, añadirle un ContextMenu. La finalidad de éste control es crear un menú cuando hagamos click encima del NotifyIcon. Añadimos el siguiente codigo al evente de cerrar del formulario que queremos ocultar.


'En lugar de cerrar el programa lo vamos esconder y mostrar el icono del IconTray

Private Sub frmPortal_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing

'Primero lo minimizamos

Me.WindowState = FormWindowState.Minimized

Me.ShowInTaskbar = True

'Ahora lo hacemos invisible y cancelamos el evento de cerrar

Me.Visible = False

e.Cancel = True

End Sub

Hasta ahora lo que hemos echo es esconder el formulario pero todavia no veremos ningún icono en la barra de tareas.

En mi caso no voy a usar un ContextMenu,lo que me interesa es que cuando se haga click encima del NotifyIcon el formulario vuelva a aparecer.


'Hacer click en el icono significa volver a abrir la aplicacion

Private Sub NotifyIcon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon.Click

'Primero lo maximizamos

Me.WindowState = FormWindowState.Maximized

'Refrescamos los controles del formulario, sólo por nitidez.

Me.Refresh()

'Lo volvemos a hacer visible

Me.Visible = True

Me.BringToFront()

End Sub

Llegados a este punto me encontré con un problema, si tenía mas ventanas abiertas el formulario aparecía detrás de todas ellas. Teniendo en cuenta que es un aplicación que me interesa que esté siempre delante del todo utilizé la propiedad TopMost del formulario.

Empezando a programar en Google Android

La mejor manera de crititicar algo es probarlo. Android esta levantando mucho revuelo y vaticina cosas impresionantes, pero, es verdad?

Después de haber probado su SDK y ver las posibilidades que ofrece mi opinión es que si. El único límite que tienen las aplicaciones de Android es la imaginación de sus programadores. En las demás plataformas será lo mismo, tanto con Windows Mobile, Symbian, iPhone, etc… pero como este S.O operativo es abierto, gratis, y su codigo fuente ha sido liberado me ha llamado mucho más la atención.

Si a ti también te interesa o simplemente, vuelves de vacaciones y no tienes ninguna motivación para trabajar, atiende.

sdk-large

Lo primero es bajarse Eclipse y descomprimirlo a una nueva carpeta. El siguiente paso es descargarse la SDK de Android y descomprimirla. Una vez echo esto debemos agregar el path al SDK dentro de la variable de sistema PATH. Bajo Windows lo conseguiremos haciendo click-derecho en Mi PC > Propiedades > Opciones avanzadas > Variables de entorno…. y dentro de la lista de Variables de sistema hacemos doble click sobre la variable Path y añadimos la ruta completa a la carpeta donde hemos descomprimido el SDK.

Ahora tenemos que configurar Eclipse para poder generar proyectos Android y poder probarlos en el emulador.

Instala el Plugin de Android (ADT):

  1. Abre Eclipse, selecciona HelpSoftware Updates….
  2. En el diálogo que aparece, click en la pestaña de Available Software.
  3. Click Add Site…
  4. http://dl-ssl.google.com/android/eclipse/
  5. Acaba de instalar el plugin y reinicia Eclipse

Llegados a este punto ya somos capaces de generar una aplicación de Android. Ahora sólo falta saber cómo…

La mejor manera de empezar es seguir los tutoriales, desde el conocido “HelloWorld” en su versión “HelloAndroid” hasta un interesantísimo ejemplo de NotePad que incluye el uso de los componentes más básicos a la hora de programar una aplicación en Android.

Os animo a que lo probeis, yo lo estoy haciendo y en breve espero poder publicar algo decente.

Crónicas Informáticas, Parte 5ª

Como buen informático ochentero que soy crecí retorciendome los sesos con las aventuras gráficas de la época. Esos maravillosos juegos que recuerdo con añoranza y melancolía como el Monkey Island, el Indiana Jones And The Fate Of Atlantis, el Day Of The Tentacle… tengo los pelos como escarpias ahora mismo.

monkeyUno de los peores errores que podemos cometer los de mi generación es por capricho descargar y volver a jugar con esos juegos. La magia con que los recuerdas puede evaporarse en cuestión de décimas de segundo. Pero de todas maneras con ellos ha crecido un generación sana mentalmente, educada y con valores. ¿Con qué valores puede crecer un niñato de 14 años que se pasa todo el dí­a matando chinos con el Call of Duty? ¡Nos pagará nuestra pensión un puñado de asesinos en serie!.

Hoy los juegos son increíbles en cuanto a efectos gráficos y tecnológicos pero con ellos ha cambiado una sociedad  mucho más violenta y menos imaginativa. Poned a un adolescente una aventura gráfica que le haga pensar un poco… te mandará un poquito a la mierda y después se pondrá a matar chinos culeiros.

Continue reading »

El extraño caso del fondo del XP

Un tal O’Rear en 1995 deambulando apaciblemente por el Valle de Napa (California) se encontró con un idílico paisaje y le hizo una foto con su corriente cámara de fotos. Esta fotografía más tarde sería elevada a la categoría de fondo oficial del sistema operativo Windows XP adentrándose en millones de hogares.

windowsxpwallorig

El caso es que el paisaje repleto de verde hierba no es exactamente así en la actualidad. Esas colinas se encuentran siempre cubiertas de vides pero en la primera mitad de los noventa sucedió un pequeño desastre que hizo variar de forma bastante drástica el dibujo. Debido a una plaga de filoxera las cepas se tuvieron que eliminar y se plantó toda la colina de verde hierba. En ese momento O’Rear hizo la famosa foto desde una carretera cercana.

Después de la plaga el paisaje volvió al estado natural como se puede observaren la fotografía.

windowsxpwall

Warner Bros. compra The Pirate Bay

Ésto es lo que realmente me gusta de The Pirate Bay, no se preocupan de lo que digan los demás. Pese a estar inmersos en un juicio y con millones de miradas encima, ellos simplemente, se rien de todo.

Aqui tenemos la gracia del April Fool’s Day, el dia de los Inocentes en Estados Unidos e Inglaterra (Click en la imagen) :

warner bros loves tpb

mar 31, 2009

Microsoft rompe con Encarta

encarta_smallUno de los productos más exitosos de Microsoft es si ninguna duda la genial enciclopédia Encarta con la que tanto hemos aprendido muchas personas. Pues ahora parace que las cosas no les van demasiado bien. ¿Tal vez el auge de Wikipedia haya imfluído bastante en su decisión?.

Pues el caso es que en junio de este año Microsoft abandonará el soporte a Encarta y la web dejará de existir el 31 de octubre.

mar 25, 2009

Otro hacker montado en el dólar

La empresa de telecomunicaciones Telstra ha incorporado a su plantilla de empleados a un hacker de 19 años llamado Owen Thor Walker. El piratilla yogurín tiene en su currículum vitae el haber ayudado a una red criminal a infiltrarse en 1,3 millones de ordenadores de todo el mundo y robar millones de dólares.

2009-03-25_111636

El puesto de trabajo para el precoz hacker se basará en la mejora de los sistemas de seguridad de la compañía. Uno más de esos casos en los que se hace una llamada muy clara a los informáticos de todo el mundo: Hackear todo lo que podáis si queréis ser ricos. La verdad, no creo que sea una buena idea promocionar así el delito.

Owen dirigía una red internacional de piratería informática que implementaba virus para sustraer fondos de las cuentas bancárias de los usuarios. Fue culpado con una pena de 10 años de prisión (hay gente que por robar mucho menos ha estado más tiempo) y encima el tribunal finalmente le puso en libertad.

Páginas:«12345»