Tag Archives: ciclos excesivos

Jon Maddog en Campus Party #H4SB


Hola lectores, como muchos de ustedes saben este año estoy decidido a asistir a campus party :), planeo ir con 2 amigos del trabajo, el @michoacano y con @anakarenART, asistiremos con invitaciones VIP y todo :), además de eso también planeo por fin conocer a varios de las personas con las que convivo día a día por internet algunos de los que me vienen a la mente en estos momentos son @bucio, @zeux0r, @xianur0, @L1l0 etc xD.

También, la gente de campus party me ha enviado bastante información (la cual lamentablemente y por cuestiones de tiempo no siempre leo jeje) acerca de lo que se esta preparando para el evento, una de las iniciativas mas destacadas es #H4SB o Hacking 4 something better, ¿ha estas alturas ya todos debemos de saber lo que es un verdadero hacker cierto?, bueno en pocas palabras la iniciativa consiste en desarrollar 10 proyectos de programación para grandes empresas en lo que la mayor ganancia que se obtiene es la experiencia, además de todo las personas que participen el #H4SB serán directamente asesoradas por Jon Maddog una de las personas mas importantes en el ámbito del software libre :).

La segunda parte de este post consiste en hacer de su conocimiento que abriré una nueva categoría en el sitio llamada Snippets, como muchos de ustedes ya sabrán, ahora soy un programador de tiempo completo y desarrollo varias miles de líneas de código al día jaja por lo que pensé ¿por que no postear algo de código? así que tratare de dejar la mayor cantidad de código a su disposición listo para descargar :).

salu2

PD prometo tomar fotos y video durante el evento y traerlas hasta ustedes por este medio x’D

El dominio de la red


Aunque internet prometía ser un sistema horizontal no jerárquico de poder, un genuino experimento democrático, en sus dos décadas de desarrollo diversos actores se han convertido en lideres de la red, y regulan sus distintos aspectos: la tecnología, el comercio, los sistemas de búsqueda y acceso a la información y la distribución de noticias y conocimientos a millones de equipos personales. En la propia red es posible encontrar diferentes listas que posicionan a estas figuras. Una de las mas completas es la que ofrece el analista Matthew Toren de Business Insider, quien se pregunta ¿quién controla Internet?, y explica “Ya sean prolíticos, administradores de blogs o directivos de grandes corporaciones, estas personas destacan por su gran influencia”

En la posición numero 1 se encuentra Mark Zuckerberg, el fundador, de Facebook; su poderío se explica por la concentración de datos de 640 millones de usuarios. En la numero 2 esta Larry Page, fundador de Google, el motor de búsqueda mas usado en el mundo, El lugar 3 corresponde a Steve Jobs, el fundador de Apple, no solo por los millones de equipos que vende, si no por la forma en que ha modificado la interacción de los usuarios con dispositivos como Ipad e Iphone. En el cuarto lugar esta Matt Mullenweg, creador del sistema de blogs WordPress, empleado por millones de sitios, el quinto corresponde a Arianna Huffington, fundadora de HuffingtonPost.com un sitio de noticias y comentarios que tras ser adquirido por América Online, tiene un publico de 270 millones de personas.

Las posiciones restantes incluyen a Steve Ballmer, presidente ejecutivo de Microsoft, por el liderazgo de Internet Explorer como medio de acceso a la red, a Jimmy Wales, creador de Wikipedia, y a Jack Dorsey, el creador de Twitter. No dejemos de mencionar el crecimiento de otras redes sociales que desconocemos por pertenecer a otras culturas. QZone cuenta con 480 millones de usuarios en China, mientas que Orkut tiene ya 120 millones en Brazil e India.

El poder de estas compañías y actores se ha puesto en evidencia cuando los gobiernos de países con conflictos internos como China o Egipto toman el control de los servidores locales e impiden el acceso a determinados sitios o a las redes originales.

En cuanto al aspecto tecnológico, el poder radica, básicamente, en las compañías de web hosting. La mas grande e importante del mundo es www.wildwestdomains.com, con sede en Estados unidos, que tiene 22 millones de dominios y una participación en el mercado de 20.63% . Le sigue en tamaño www.enom.com y www.networksolutions.com. Por lo que toca a los proveedores de servicios de red (que pueden incluir también telefonia) , los tres mayores son China Mobile (600 millones de clientes), Vodafone en el Reino Unido (341 millones) , y SingTel (134 millones) en Asia. En cuanto a números de servidores, las estadísticas no son precisas pues muchas compañías no revelan sus cifras, Entre las que si lo hacen son Intel (con 100,000 servidores), OVH (80,000), y SoftLayer (76,000). De acuerdo con el blog The Storage Effect el mayor crecimiento en esta área correspondería a los llamados cloud providers como Rackspace, En el 2013 estos podrían almacenar hasta 30% de la información de toda la red. Esta modalidad consiste en que el equipo del usuario contenga solo un mínimo sistema operativo, mientras que los programas, datos y aplicaciones residen en una red externa. Otros actores se han ido empoderando paulatinamente, como la corporación de Internet para Asignación de Nombres y números (ICANN por sus siglas en ingles), la principal responsable internacional de la asignación de dominios.

Fuente: transcripción de un articulo de la revista Muy Interesante.

Sistema Operativo hecho en Java

Hola lectores, quiero comentarles que ya estoy de vacaciones :), este final de semestre acabo muy atareado, termine varios proyectos y comencé con otros nuevos (prometo realizar algunos post sobre cosas en las que estoy trabajando actualmente :)), reforcé mas mis conocimientos en programación y aprendí a programar para varias plataformas también (iphone, android, symbian, etc), también aprendí nuevas cosas sobre SEO, SMO, y cosas que tienen que ver con posicionamiento web x’D.

Pero bueno, en resumen preparare un post con varios proyectos que he terminado para que los vean, ahora como ya es de costumbre quiero publicar el código de un “Sistema Operativo” hecho en Java que nos dejaron como proyecto final para la clase de Sistemas Operativos (valga la redundancia xD), dijo Sistema Operativo entre comillas ya que en realidad no lo es, si no que simula uno, los componentes y las partes mas importantes de estos, como el administrador de memoria, administrador de procesos, la calendarización, el swaping, pages faults, el procesador, los algoritmos de administración tanto de memoria como de procesador y cosas así x’D.

Si bien yo hubiera decidido programar el “Sistema Operativo” en C, C++ o algún lenguaje de ese tipo, la practica lo pedía en java para ver como era el compartido de la memoria utilizando threads (aunque en C también se puede utilizar el multiprocesamiento y el mapeo de memoria, pero pues que se le hacia x’D) y la simulación de la memoria utilizando pilas y/o listas (según el algoritmo de administración que eligiéramos).

Como datos mas técnicos se utilizo el algoritmo LRU para realizar la administración, paginado, swaping, etc referente a la memoria.

Como bono extra también le agregamos una shell (consola/interfaz de comandos) para pasar ciertos comandos y que regresara el estado actual de la memoria, los procesos que están corriendo (su pid, etc), lanzar nuevas shells, matar procesos y hasta ejecutar un juego … también hecho en JAVA x’D.

A continuación una lista mas detallada de los comandos:

  CommandOutput += "process report    ... show how many process are running on the system (system & normal process) and their names\n";
          CommandOutput += "memory report     ... show a report about the total amount of pages that every process are consuming\n";
          CommandOutput += "show commands     ... Show this help menu\n";
          CommandOutput += "launch new shell  ... Open a new command shell\n";
          CommandOutput += "close this shell  ... Close the currenlty shell in use\n";
          CommandOutput += "play snake        ... Play Snake the video game\n";
          CommandOutput += "any Unix command  ... show the output of the command (if any)\n";
          CommandOutput += "shutdown          ... Shutdown the Operating system\n";

Puedes descargar el codigo haciendo clic en “Descargar

La mayor ganancia que me dejo realizar este proyecto fue que ahora comprendo mas a fondo como es que un sistema operativo funciona x’D (el despachador, procesos, memoria, cache, swaping, segmentación, paginado, etc), en el proyecto no lo incluí pero también aprendimos como funciona un disco duro (ejecuta un impulso magnético en los sectores del disco duro, lo que hace que este en 0 o 1 :p), las partes del disco duro (pistas, discos, cilindros cabezal), algoritmos de acceso a memoria, sistemas de archivos, particionamiento (unidades lógicas, primarias, por que la tabla de particiones es de bytes, etc) y también sobre tabla tablas y mas tablas U.U :S. La materia contenía muchísima teoría pero al final si que valió la pena :).

salu2

Mi top 18 de aplicaciones para MAC #3

Este es el ultimo de los 3 post que conforman mi top 18 de aplicaciones para MAC que no te deben de faltar :), si quieres leer los 2 post anteriores puedes hacerlo acá:
Mi top 18 de aplicaciones para MAC #1
Mi top 18 de aplicaciones para MAC #2

#13 Sequel Pro

Yo antes solía utilizar phpmyadmin para administrar mis bases de datos pero un amigo me recomendó Sequel Pro y creo que es una herramienta muy completa para la administración y organización que requieren estos tipos de almacenes de información, Sequel Pro al igual que algunos otros software de administración de bases de datos incorpora la funcionalidad de importar listas de excel, csv, etc, asi como exportar también en estos formatos, escribir consultas sql y descargar backups. Descargar Sequel Pro

#14 Skype

Skype sin duda es una de las aplicaciones de transferencia de voz y video mas populares y si no es que la mejor de todas, también cuenta con una versión para MAC y es una herramienta que no te debe de faltar a la hora de tratar con clientes a través de Internet para mantener la formalidad, la calidad de transferencia y los algoritmos que utiliza para la compresión de audio y video no tiene comparación con muchos otros servicios similares.
Descargar Skype

#15 Transmit

Transmit para mi es el mejor cliente FTP ya que te permite tener categorizado tus conexiones ftp asi como guardarlas, expórtalas o importarlas desde otra MAC, la interfaz de usuario de Transmit es muy intuitiva y en general muy llamativa :), Transmit también te da la posibilidad de editar los archivos de tu sitio directamente desde un editor que incorpora el propio software y subirlo al mismo tiempo :). Descargar Transmit

#16 Tweetdeck

Todos aquí conocemos Tweetdeck pero para los que no les comento que es un cliente para la red social twitter muy popular en estos días, Tweetdeck incorpora la tecnología de adobe Air por lo que es necesario tenerlo instalado antes para que pueda funcionar, también te permite administrar varias cuentas de twitter, facebook y myspace al mismo tiempo, revisar tus menciones, DM’s (mensaje personales), cuenta con 2 templates por defecto, uno en colores oscuros y otro en claros, pero si no te convence puedes personalizar los colores a tu gusto :). Descargar Tweetdeck

#17 UnrarX

De nuevo este programa es recomendado para los Switcher. (si no sabes que es, leer mas arriba jeje) Mac por defecto no puede comprimir o descomprimir archivos en formato rar, por lo que es necesario de una herramienta extra, mi recomendación es utilizar UnrarX, una vez instalado el software todos los archivos de tipo rar podrán ser des compresos automáticamente con esta app.
Descargar UnrarX

#18 VLC player

Y final mente si el quick time player (el reproductor por defecto) no te convence siempre puedes descargar he instalar VLC player que también esta disponible para los 3 sistemas operativos, VLC player reproduce un gran numero de formatos de video. VLC player también te permite realizar streaming (que esta muy de moda) con tus amigos y asi poder compartir música y películas fácil mente. Descargar VLC player

Hasta aquí llega mi TOP #18 de apps para MAC OSX, si tienes algunas otras sugerencias siempre puedes dejar un comentario y con gusto la agregare a la lista :).

salu2

Mi top 18 de aplicaciones para MAC #1

Cada día que transcurre sigo conociendo y aprendiendo mas cosas de este fabuloso sistema operativo :), en esta ocasión quiero traerles lo que para mi es mi top 18 de aplicaciones que no deben falta den MAC, hice la lista basándome en la productividad a la hora de desarrollar y ¿por que no? también decidí incluir algunas apps orientadas a la diversión y las redes sociales jeje … comenzamos.

#1 Adium

Cuando se desarrolla en conjunto con un equipo de trabajo es muy importante mantener la comunicación en todo momento, al inicio como varios para la mensajería instantánea utilice MSN para Mac, sin embargo luego descubrí adium y mande a volar a MSN, Adium es un poderoso cliente de mensajería instantánea que te permite conectarte a varios servicios de este tipo entre ellos MSN, Yahoo, Mobilme, Facebook, twitter, Google Talk, entre muchos otros, la verdad son bastantes servicios a los que te puedes conectar, el cliente de mensajería instantánea por excelencia que no puede faltar. Descargar Adium

#2 Alfred

Los que usamos o usábamos Linux seguramente recordaremos el comando alt+f2 que nos mostraba un textbox en el centro de la pantalla donde escribíamos el nombre de alguna aplicación o comando, dábamos enter y se ejecutaba sin necesidad de buscarla. Lo que realiza Alfred es precisamente eso, solo que viene incorporado con algunas otras opciones de búsqueda mas avanzada, puedes ejecutar aplicaciones, comandos, buscar archivos, realizar búsquedas por internet, abrir paginas web, etc, todo eso con tan solo presionar alt + barra espaciadora, sin duda nos ayuda a ahorrarnos una gran cantidad de tiempo y es mucho mas eficiente que spotlight. Descargar Alfred

#3 Cornerstone

Cornerstone es un cliente de versiones de desarrollos que para mi es el mejor de todos ya que puedes fácilmente actualizar tus proyectos a la ultima versión, hacer check outs, commits y updates, un cliente de subversion (svn) sirve para cuando estas desarrollando proyectos en conjunto todos los integrantes del equipo tengan el mismo código del proyecto y puedan trabajar de manera mas rápida y productiva, cada integrante desarrolla una parte y al final mandan sus actualizaciones a un servidor que tendrá siempre la ultima versión actualizada. Descargar Cornerstone

#4 Data glue

Data glue es una aplicación que sirve para cortar una programa muy grande en partes mas pequeñas y así poder subirlo a servidores de archivos mas fácilmente, sin duda te saca de varios apuros a la hora de compartir archivos. Descargar Data Glue

#5 Eclipse

Para mi Eclipse es uno de los mejores IDE’s para desarrollar en Java, es gratuito y liviano, además con el uso de plugins también te puede servir para programar en otros lenguajes, es una excelente alternativa si no quieres desarrollar en Xcode, como había comentado una gran característica de este IDE es que puedes incorporarle plugins fácilmente, yo por ejemplo lo utilizo para desarrollar Android :). Descargar Eclipse para mac

#6 Firefox

Utilizo el navegador Firefox desde que tengo memoria :), este navegador no tiene que faltar sea cual sea el sistema operativo que uses, ya que es muy superior a otros por el uso y la incorporación de plugins o addons, existen algunos plugins que ayudan ha aumentar la productividad y reducir los tiempos en gran medida :). Descargar Firefox

He decidido cortar hasta aquí el post ya que son bastantes aplicaciones y prefiero dividir el post en un total de 3 :), serian 6 aplicaciones por post. Continua con los demas por aca

salu2