SQL, ODBC, y Python

Como Python 3 acaba de ser liberado, el soporte de librerías de extensión todavía esta limitado en comparación con Python 2.x.

En el caso de  ODBC y MS SQL Server, mxODBC es una opción comercial. En opciones Open Source, Python 3 viene en el paquete oficial con soporte integrado para Sqlite3, la extensiones pymssql y pyodbc soportan hasta la versión 2.6 de Python.

Referencias

Permisos de SQL Server en Windows Vista

Un problema común al usar SQL Server en Windows Vista es que al usar la base de datos por primera vez nos encontramos que no tenemos ningún privilegio administrativo y aparece el error:

‘CREATE DATABASE Permission denied in database ‘master”

La razón básica en SQL Server 2005  es que los usuarios del grupo administrativo de Windows Vista no reciben por default privilegios administrativos en la base de datos y es necesario realizar un procedimiento para otorgar estos privilegios.

Paso 0:

Login en Vista como adminstrador

Paso 1:

Start > All Programs > Microsoft SQL Server 2005 > Configuration Tools > SQL Server Surface Area Configuration

Paso 2:

‘Add New Administrator’

Paso 3:

En el dialogo

    ‘SQL Server User Provisioning on Vista’

mover

    ‘Member of the SqlServer SysAdmin role ‘

de

    ‘Available Privileges’

a

    ‘Privileges that will be granted to’

El mismo problema me ocurrió con SQL Server Express 2008, pero por lo menos la versión Express no incluye  la utilería

SQL Server Surface Area Configuration

Como además se me había olvidado el password la solución fue reinstalar el SQL Server Express y entrar al administrador de la base de datos con el usuario sa

Referencias

 

Search Engine Optimization (SEO)

Internet es la calle más transitada del mundo, pero el trafico en cada pagina depende principalmente del posicionamiento en los buscadores como Google. Al arte de colocarse en los primeros lugares de los listados se le conoce como Search Engine Optimization (SEO).


Google mantiene como secreto la mecánica de asignación de lugares, que además cambia de manera continúa. Es un proceso bastante errático, y los que logran colocarse en la primera pagina para la lista de búsqueda de un conjunto de palabras, tenderán a mantenerse ahí hagan lo que hagan, tengan el contenido que tengan, siempre y cuando Google no los vete, por razones también erráticas y misteriosas. Es decir, el SEO es un deporte extremo.

Referencias, recursos, y ejemplos

Aritmética y memoria; 513 Sticker

 

Es posible mediante el ejercicio de la memoria acelerar cálculos aritméticos. Este es un patrón general que también se aplica a la implementación algorítmica.

Por ejemplo, al multiplicar números de dos dígitos tenemos

a1a0 x b1b0 = (10a1+a0)(10b1+bo)=

100a1b1+10(a1bo+a0b1)+a0bo

Al multiplicar números de tres dígitos tenemos

a2a1a0 x b2b1b0 = (100a2+10a1+a0)(100b2+10b1+bo)=
10000a2b2 + 1000(a2b1+a1b2) +
100(a2b0+a1b1+a0b2) + 10(a1bo+a0b1)+a0bo

Si recordamos las fórmulas podemos encontrar los dígitos del producto directamente.

Al calcular el cuadrado de un número de 2 dígitos

(a1a0 )2 = (10a1+a0)2=
100a12+10(2a1a0)+a02

Al calcular el cuadrado de un número que termina en 1

(a11 )2 = (10a1+1)2=
100a12+10(2a1)+1

Al calcular el cuadrado de un número que termina en 5

(a15 )2 = (10a1+5)2=
100(a12+a1) + 25=
100a1(a1+1) + 25

Al calcular el cuadrado de un número que empiezan en 5

(5a0 )2 = (50 + a0)2=
100(25 +a0) + a02

Al calcular el productos de números de tres dígitos que empiezan con 1

(1a1 a0)(1b1b0) =
(100 + 10a1 + a0)(100 + 10 b1 + b0) =
10000 + 1000(a1 + b1) + 100(a1b1 +  a0 +  b0) +
10(a1b0 + a0b1) + a0b0

Multiplicar un número menor que 100 por 99

(a)(99) = 100 (a – 1)  + (100 – a)

Referencias

GnuWin32

Win32 (MS Windows 95 / 98 / ME / NT / 2000 / XP / 2003 / Vista) ports de utilerías GNU o similares.

GnuWin32 esta compuesto por implementaciones nativas que no funcionan cuando se requiere un shell tipo unix. Hay que tener cuidado con los paths pues hay conflicto con mingw o cygwin

Protocolos de Internet

The Internet Protocol Suite
Application Layer
BGP · DHCP · DNS · FTP · GTP · HTTP · IMAP · IRC · Megaco · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · RTSP · SDP · SIP · SMTP · SNMP · SOAP · SSH · Telnet · TLS/SSL · XMPP · (more)
Transport Layer
TCP · UDP · DCCP · SCTP · RSVP · ECN · (more)
Internet Layer
IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more)
Link Layer
ARP · RARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, MPLS, DSL, ISDN, FDDI) · Device Drivers · (more)

Nube de etiquetas en Blogger

Esta fuera de moda pero lo uso y siempre que hago un cambio se me olvida como se hacia. http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html

1. Agregar los estilos (stylesheet section).

Encontrar la etiqueta de cierre de skin

]]>

y colocar el siguiente código justo antes:

/* Label Cloud Styles ———————————————– */
#labelCloud {text-align:center;font-family:arial,sans-serif;}
#labelCloud .label-cloud li{display:inline;background-image:none !important;padding:0 5px;margin:0;vertical-align:baseline !important;border:0 !important;}
#labelCloud ul{list-style-type:none;margin:0 auto;padding:0;}
#labelCloud a img{border:0;display:inline;margin:0 0 0 3px;padding:0}
#labelCloud a{text-decoration:none}
#labelCloud a:hover{text-decoration:underline}
#labelCloud li a{}
#labelCloud .label-cloud {}
#labelCloud .label-count {padding-left:0.2em;font-size:9px;color:#000}
#labelCloud .label-cloud li:before{content:”” !important}

 

2. Modificar la sección de configuración.

En el encabezado (head) pero fuera de la hoja de estilo (stylesheet). Usar de referencia

]]>

Pero ahora insertar el código siguiente justo después, pero antes de .

 

 

3. Modificar el widget.

Buscar el código del widget de etiquetas, algo similar a

Cambiarlo por el código del widget por el siguiente:

 



 
   

 
 

 



 

Para que funcione el código ya debe haber etiquetas(tags) definidas y por lo menos una debe llevar más de una cuenta. Para más información consultar el articulo original.

Referencia

http://phy3blog.googlepages.com/Beta-Blogger-Label-Cloud.html