Archivo del Febrero de 2008

Microsoft se abre a la competencia ¿? ¿? ¿?

Microsoft ha dado la segunda campanada en menos de un mes. Tras el por ahora frustrado asalto a Yahoo! a golpe de talonario, el gigante de la informática anunció ayer que permitirá el acceso a información hasta ahora secreta de sus programas para hacerlos más compatibles y facilitar el desarrollo de ’software’ tanto independiente como comercial.

Los responsables de la compañía explicaron en rueda de prensa en Redmond (EE UU) que la información será gratis para quienes creen programas no comerciales, mientras que quienes quieran hacer negocio tendrán que «hacer un pequeño pago». Objetivo

«Nuestro objetivo es favorecer una mayor interoperabilidad (compatibilidad entre productos de diferentes fabricantes) y una mayor posibilidad de elección para nuestros clientes y para los desarrolladores (de ’software’), haciendo nuestros productos más transparentes y compartiendo más información sobre nuestras tecnologías», dijo Steve Ballmer, primer ejecutivo de Microsoft. La compañía se regirá para ello por cuatro principios: asegurar las conexiones abiertas, promover la portabilidad de datos, aumentar el apoyo para el establecimiento de estándares y tener una relación más abierta con los clientes y la industria, incluidas las comunidades de código abierto, formadas por programadores que desarrollan y distribuyen sus productos libremente.

Traducido al lenguaje del lego, la firma pretende resituarse en el mercado para mantener su posición dominante sin ser considerada un monopolio y zanjar así el enfrentamiento que mantiene la Comisión Europea, que los estándares internacionales de documentos acaben siendo sus formatos y ganarse a los programadores no comerciales.

Visual Basic .Net: Programacion Orientada a Objetos un ejemplo de la clase direccionip

Crear la clase DireccionIP con las siguientes características:

 Atributos: guardará los cuatro octetos que forman una IP (los numéricos que hay entre los punticos). Serán de tipo Byte.

 Propiedades: hacer una propiedad para cada uno de los cuatro octetos para poder modificarlo. El valor tendrá que estar entre 0 y 255.

 Constructores:

o Al primero le pasas 4 variables de tipo byte y te crea la IP.

o Al segundo le pasas una cadena con la dirección: “239.113.0.2″ y te rellena los 4 octetos.

 Métodos:

o ClaseIP que nos dice a qué clase pertenece la IP.

Primer número IP

Clase

Máscara de IP

0-127

A

255.0.0.0

128-191

B

255.255.0.0

192-223

C

255.255.255.0

224-239

D

0.0.0.0

240-255

E

0.0.0.0

Class direccionip
    Private ip1 As Byte
    Private ip2 As Byte
    Private ip3 As Byte
    Private ip4 As Byte

    Private Property pip1() As Byte
        Get
            Return ip1
        End Get
        Set(ByVal value As Byte)
            If value >= 0 Or value <= 255 Then
                ip1 = value
            Else
                ip1 = 0
            End If
        End Set
    End Property

    Private Property pip2() As Byte
        Get
            Return ip2
        End Get
        Set(ByVal value As Byte)
            If value >= 0 Or value <= 255 Then
                ip2 = value
            Else
                ip2 = 0
            End If
        End Set
    End Property

    Private Property pip3() As Byte
        Get
            Return ip3
        End Get
        Set(ByVal value As Byte)
            If value >= 0 Or value <= 255 Then
                ip3 = value
            Else
                ip3 = 0
            End If
        End Set
    End Property

    Private Property pip4() As Byte
        Get
            Return ip4
        End Get
        Set(ByVal value As Byte)
            If value >= 0 Or value <= 255 Then
                ip4 = value
            Else
                ip4 = 0
            End If
        End Set
    End Property

    Sub New(ByVal a As Byte, ByVal b As Byte, ByVal c As Byte, ByVal d As Byte)
        Me.ip1 = a
        Me.ip2 = b
        Me.ip3 = c
        Me.ip4 = d

    End Sub

    Sub New(ByVal ip As String)
        Dim pospyc As Integer

        pospyc = ip.IndexOf(".")
        Me.ip1 = ip.Substring(0, pospyc)
        ip = ip.Remove(0, pospyc + 1)

        pospyc = ip.IndexOf(".")
        Me.ip2 = ip.Substring(0, pospyc)
        ip = ip.Remove(0, pospyc + 1)

        pospyc = ip.IndexOf(".")
        Me.ip3 = ip.Substring(0, pospyc)
        ip = ip.Remove(0, pospyc + 1)

        Me.ip4 = ip

    End Sub

    Public Function claseip() As String
        Dim r As String = Nothing
        Select Case ip1
            Case 0 To 127
                r = "A"
            Case 128 To 191
                r = "B"
            Case 192 To 223
                r = "C"
            Case 224 To 239
                r = "D"
            Case 240 To 255
                r = "D"

        End Select
        Return r
    End Function

    Public Function mascarared() As String
        Dim r As String = "255"
        Select Case ip1
            Case 0 To 127
                r = "255.0.0.0"
            Case 128 To 191
                r = "255.255.0.0"
            Case 192 To 223
                r = "255.255.255.0"
            Case 224 To 239
                r = "0.0.0.0"
            Case 240 To 255
                r = "0.0.0.0"

        End Select
        Return r
    End Function

    Public Shared Operator And(ByVal a As direccionip, ByVal b As direccionip) As direccionip
        Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
        r.ip1 = a.ip1 And b.ip1
        r.ip2 = a.ip2 And b.ip2
        r.ip3 = a.ip3 And b.ip3
        r.ip4 = a.ip4 And b.ip4
        Return r

    End Operator

    Public Shared Operator Or(ByVal a As direccionip, ByVal b As direccionip) As direccionip
        Dim r As direccionip = New direccionip(a.ip1, a.ip2, a.ip3, a.ip4)
        r.ip1 = a.ip1 Or (255 - b.ip1)
        r.ip2 = a.ip2 Or (255 - b.ip2)
        r.ip3 = a.ip3 Or (255 - b.ip3)
        r.ip4 = a.ip4 Or (255 - b.ip4)
        Return r

    End Operator

    Public Function direccionred(ByVal a As direccionip, ByVal b As direccionip) As String
        Dim r As direccionip
        Dim s As String = ""
        r = a And b
        s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
        Return s
    End Function

    Public Function direccionbroadcast(ByVal a As direccionip, ByVal b As direccionip) As String
        Dim r As direccionip
        Dim s As String = ""
        r = a Or b
        s = r.ip1.ToString + "." + r.ip2.ToString + "." + r.ip3.ToString + "." + r.ip4.ToString
        Return s
    End Function

End Class

Module Module1

    Sub Main()
        Dim ip As direccionip = New direccionip("192.168.1.100")
        Dim mascara As direccionip

        Console.WriteLine("Supongamos que tenemos esta ip: 192.168.1.100")
        mascara = New direccionip("255.255.255.192")
        Console.WriteLine("Mascara de la ip: {0} de base.", ip.mascarared)
        mascara = New direccionip("255.255.255.192")

        Console.WriteLine("Clase de la ip: " & ip.claseip)
        Console.WriteLine("Supongamos que tiene esta mascara de red: 255.255.255.192")
        Console.WriteLine("Direccion de red: " & ip.direccionred(ip, mascara))
        Console.WriteLine("Direccion de broadcast: " & ip.direccionbroadcast(ip, mascara))
        Console.ReadKey()
    End Sub

End Module

El fin del HD DVD

Toshiba anunció ayer de manera oficial que abandona la fabricación y el desarrollo de grabadores y reproductores de su HD DVD de alta definición. La compañía también advirtió que seguirá ofreciendo servicio posventa a los clientes que hayan adquirido equipos apoyados en este sistema. Bien por ellos.

Era vox pópuli que Toshiba había perdido la guerra de los DVD de alta definición frente a su rival Sony, que ha impuesto tras dos años de batalla comercial su tecnología Blu-ray. Pero fue ayer cuando el presidente y consejero delegado de Toshiba, Atsutoshi Nishida, decidió hacer público en Tokio, tras una reunión con sus directivos, que suspenden su negocio HD DVD.

El directivo aseguró que han evaluado ‘cuidadosamente’ los efectos a largo plazo de continuar la denominada guerra de formatos de DVD de alta definición, ‘y hemos llegado a la conclusión que una rápida decisión es la mejor forma de ayudar al desarrollo del mercado y no perjudicar a los consumidores’, sentenció.

El presidente de Toshiba, que reconoció ‘estar decepcionado por lo que supone para la empresa y, aún más, para el consumidor’, apuntó que su compañía continuará proporcionando soporte y servicios a todos los propietarios de un HD DVD de la firma japonesa. También avanzó que Toshiba comenzará a reducir las entregas de pedidos de reproductores y grabadores de HD DVD al canal de distribución minorista, con el objetivo de cesar este negocio a finales de marzo de 2008.