Comentarios Recientes

Libro GNU/Facil de Antonio Perpiñan y la FCLD

| Categorías Linux, Personal, Sistemas Operativos, Software Libre, Tecnologia, internet | | Comentario 0

Antonio Perpiñan es el presidente de la Fundación Código Libre Dominicano, una institución dedicada a la enseñanza y capacitación en Software Libre, en todas las áreas del Software.  Antonio Perpiñan ha escrito varios libros sobre GNU/Linux, desde los niveles más básicos hasta los más avanzados.

Ésta semana, la Fundación Código Libre Dominicano(FCLD) presenta la 4ta edición de GNU/Fácil, un libro orientado al aprendizaje de sistemas GNU/Linux para principiantes, basado en la super popular Distro Ubuntu Linux.  Hace ya unos años yo me apoyé en este libro y realmente lo recomiendo.

Además de este libro, podrán encontrar otros más para niveles más avanzados y aplicaciones más específicas como Networking, por ejemplo.

Pueden descargar los libros desde Aquí.

number of view: 174

La Web es el futuro(si no te has dado cuenta que es el presente)

| Categorías Linux, Microsoft, Personal, Redes Sociales, Sistemas Operativos, Tecnologia, facebook, google, internet, telecomunicaciones, twitter | | Comentario 1

Cada día nos hacemos más dependientes de Internet, y ahora aún más con todos los Smartphones que tenemos en el mercado y los que se aproximan.  Las redes sociales nos hacen presión y nos dicen: “No te vayas!! Me necesitas!!”, y les hacemos caso.  Ya no sólo escuchamos música en nuestras computadoras mientras trabajamos o jugamos o navegamos, sino que hay todo un mundo diferente en la Web.

Con la llegada al medio de la Web 2.0, Web services,  Cloud Computing, entre otras cosas, me parece a mí que no hay grandes necesidades de Aplicaciones de Escritorio mas que para aquellas aplicaciones que necesariamente deban acceder el hardware del equipo, es decir, aplicaciones de bajo nivel.

Es por esto que Google ha tenido esa iniciativa de crear un Sistema Operativo basado en un Navegador(Google Chrome).  Hay personas que se están olvidando sus Laptops, pues con su iPhone hacen todo lo que “necesitan”.

Aparte de esto, cada día vemos como empresas han migrado sus Aplicaciones de Escritorio a Aplicaciones Web.  Y esa es la tendencia.  Un ambiente más ligero, más agradable a la vista, más seguro y sobre todo, pero muy sobre todo, totalmente multiplataforma.

Multiplataforma.  Microsoft Windows, GNU/Linux, Mac OS…Chrome OS??? Cual elegirías tú? Cuál versión? Por qué no nos olvidamos de eso y preguntamos: cuál Navegador voy a utilizar? Qué importa! Ya todos son buenos! Multiplataforma, el gran dolor de cabeza de los desarrolladores de Software.

Increíblemente estoy diciendo que Google Chrome OS tendrá su futuro…Yo mismo me negaba a creerlo, pero sí, sólo así podremos romper los problemas de compatibilidad de aplicaciones…Multiplataforma…Multiplataforma…La Web es el Futuro

number of view: 214

Parametros en la linea de comandos en PHP

| Categorías PHP, Personal, Programacion, Software Libre, Tutoriales | | Comentario 0

Mucha gente tiene la confusión de si se puede o no correr un programa escrito en PHP desde la línea de comandos.  Pues aquí les respondo que sí y les traigo algo para que vayan comprendiendo su funcionamiento.

El siguiente ejemplo se trata de un pequeño compresor de archivos con una técnica muy barata que he hecho para una clase de Codificación y que luego les mostraré de qué se trata.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
< ?php
/**
* Compress.php
*
* ejemplo de corrida:
* $ php compress.php  ARCHIVO_ENTRADA 
* $ php compress.php -d ARCHIVO_ENTRADA  ARCHIVO_SALIDA
*/
//saber los parametros que fueron pasados al correr el programa
if($argc < 2 )
    exit("Debe especificar al menos el archivo de entrada.\n");
 
define('COMPRESS',1);
define('UNCOMPRESS',2);
 
//saber que opcion se ha tomado
/**
 * La opcion '-c' es para comprimir
 * La opcion '-d' es para decomprimir
 * si no se especifica opcion, se va a comprimir
 */
if($argv[1][0] == '-') {
    switch($argv[1]) {
        case '-c':
            $action = COMPRESS;
            break;
        case '-d':
            $action = UNCOMPRESS;
            break;
        default:
            die("Opcion '{$argv[1]}' Incorrecta. Utilice '-c' para comprimir y '-d' para decomprimir.\n");
    }
    //archivo de entrada
    $source_file = $argv[2];
    //se verifica si el usuario especifico archivo de salida, de lo contrario
    // se verifica si se va a comprimir para generar el fichero de salida.
    // Si es para decompresion, se debe especificar el fichero de salida.
    if($argc > 3)
        $destination_file = $argv[3];
    else if($action == COMPRESS){
        $ext = end(explode(".", $source_file));
        $destination_file = str_replace(basename($source_file),str_replace($ext,'wmz',basename($source_file)),$source_file);
    }else{
        die ("Debe especificar el archivo de salida, no se conoce la extension del archivo original\n.");
    }
}
else {
    //Lo mismo que el paso anterior, pero ahora se sabe que es compresion porque
    // no se especificó una opcion y se asume compresion.
    $action = COMPRESS;
    $source_file = $argv[1];
    if($argc > 2)
        $destination_file = $argv[2];
    else {
        $ext = end(explode(".", $source_file));
        $destination_file = str_replace(basename($source_file),str_replace($ext,'wmz',basename($source_file)),$source_file);
    }
}
 
//Incluimos la clase BitMapping
//Notese que se producirá un error Fatal si no existe el fichero BitMapping.php
require_once 'BitMapping.php';
// Crear instancia
$compressor = new BitMapping($source_file,$destination_file);
//Proceder a Comprimir o Decomprimir
switch($action) {
    case COMPRESS:
        $compressor->compress();
        break;
    case UNCOMPRESS:
        $compressor->uncompress();
        break;
}
?>

En los próximos días publicaré la Class que comprime y decomprime =)

number of view: 178

Primera Reunion Apoya lo Local !

| Categorías Personal, Programacion, Pymes, Redes Sociales, Tecnologia, internet, telecomunicaciones | | Comentario 0

Ayer sábado estuvimos reunidos en Colina’s Mall, Santiago, un grupo de personas que creemos en lo que hacemos, que sabemos  que quizás no somos los mejores del planeta, pero estamos mas conscientes de lo que hacemos que una gran mayoría en nuestro país.  Hemos llegado a esta reunión por un deseo que @davidtavarez y yo (@wm3ndez) nos expresamos hace tan sólo una semana atrás y que fue acojida rápidamente por un gran número de personas.

Luego, vía Twitter(nuestro mejor aliado hasta el momento), fuimos “regando” la idea y hemos tenido apoyo de varias personas en Sto. Dgo. que también piensan que estamos en lo correcto y que es buena iniciativa.  Por esto hicimos una primera reunión informal, a solo unos días de haber decidido que esto era bueno!! :P

Allá llegamos a las 4 PM @ingluisjimenez y yo(@wm3ndez), luego llegó @KDeMoya y al poco rato Hector Marrero y Saury Bravo (aún no conozco sus cuentas de twitter).  El señor @davidtavarez se presentó minutos después con @carlosjln.  Más tarde @Shady y @pavelonsky.

Estando todos allá empezamos a hablar sobre el gran proyecto de @carlosjln y su Framework Javascript, le comentabamos que aparte de todo el conocimiento que él ha adquirido desarrollando su FW es de gran satisfacción para él, pero que el debe darle otro enfoque.  En lo personal, todavía le sugiero que lo de a conocer, porque sin dudas es bastante eficiente.

Hablamos de temas interesantes, como es el hecho de que en nuestro país hay gran cantidad de personas haciendo disparates, dañando nuestra imagen y dañando el mercado.  Hay mucha gente “buscandoselas” en la calle y “pasandose de vivos”, viendiendo sueños y haciendo mega estupideces(si así se puede decir).  Es decir, estabamos tocando el importantísimo punto que nos ha hecho pensar que debemos organizarmos para que cosas como estas no afecten trabajos de calidad.

También planteamos la problemática situación del Ing. Telemático/Informático  que va a la Universidad y “compra” un título y luego tú, que haces un buen trabajo, eres juzgado por el pésimo desempeño como profesional -y quien sabe si como persona- de ese “colega” tuyo.  Es esto lo que andamos buscando, mostrar a nuestro país que esa no es la totalidad de los profesionales, que profesional no es un título, es conocimiento, práctica…

Por otro lado, tenemos el problema de nuestros empresarios: La gente que “tiene los cuartos” en este país aún no sabe lo que significa la palabra “Internet”.  Creen que cada sistema web based que hagas es “una paginita” en una manera despectiva.  Y no sólo los empresarios, sino otros Ingenieros de carreras como Ing. Electromecánica, que están mal informados.  El sector inmobiliario, por ejemplo, es un sector que maneja buen dinero, pero los propietarios de esas empresas de bienes raíces creen que todo es sencillo y quieren que les regalen las cosas!(Abusadores!!!).

Hector Marrero comentaba que nuestros pensamientos e ideales están demasiado adelantados a la de nuestros empresarios.  Gran problema porque  luego no hay forma de confiar en nosotros…

Entre otras cosas, quedamos en crear un Site(que ya está arriba): http://apoyalolocal.com y puedes seguirnos en twitter: @apoyalolocal.  La próxima reunión será en Sto. Dgo., más o menos dentro de un mes(aún no tenemos fecha).

Apoya lo local es más que decir “yo te apoyo”, es un movimiento que pretende destacar lo bueno.  Quiero destacar que cuando hablé de aquellos que andan “buscandoselas”, no me refiero a que hay que hundirlos y desaparecerlos, más bien sugiero orientarlos y si de verdad quieren crecer, se les ayuda, pero que no hagan daño a los que si hacemos lo correcto.

Perseguimos que nuestro país reconozca nuestro trabajo, reconozca que hay gente que hace bien las cosas, que no hay que buscar peruanos, colombianos, etc. para implementar soluciones de Software o de cualquier cosa que “huela” a tecnología.

Tu que estás leyendo esto, abre los ojos, mira lo que hay en tu país y #apoyalolocal @apoyalolocal http://apoyalolocal.com

number of view: 169

Apoyemos lo nuestro!

| Categorías Apple, General, Linux, PHP, Personal, PostgreSQL, Programacion, Pymes, Redes Sociales, Sistemas Operativos, Tecnologia, Windows, Zend Framework, internet, juegos, mysql, telecomunicaciones | | Comentario 0

Ayer mi compañero David Tavarez hizo un tweet diciendo que debemos apoyar lo nuestro, los dominicanos generalmente no apoyamos nuestras cosas, nuestra cultura, nuestra gente, nuestras creaciones, nada nuestro.  Es por eso que David y yo estamos en el plan de empezar a unir a todos los desarrolladores de Software y amantes de la tecnología de la región, principalmente de Santiago.

La iniciativa pretende unir, en encuentros sociales, a todos aquellos que sean muy famosos como aquellos que no lo sean tanto pero que se identifican con lo que hacen porque les encanta igual que a nosotros…

Apoyemos lo nuestro!!

number of view: 121

Difference between a nerd, a geek, and a dork

| Categorías Apple, General, Linux, PHP, Personal, PostgreSQL, Programacion, Pymes, Redes Sociales, Sistemas Operativos, Tecnologia, Windows, Zend Framework, internet, mysql, telecomunicaciones | | Comentario 0

Source: http://ask.yahoo.com/20060818.html

We’ve been called all three, and to be honest, we always assumed they meant the same thing. However, according to the cool kids, there are differences.

Official definitions for nerd, geek, and dork each use the words “inept” and “foolish.” Nerds have the added distinction of being “unattractive.” Ouch. While it’s hard to argue with the dictionary, we sought out definitions from the Internet at large.

According to Whatis.com, nerds are people of above-average intelligence who place little importance on their appearance. Nerds are often aware of their status, but they don’t mind. In fact, many take pride in the putdown, as it means they’re smart and not wrapped up in superficial worries.

Geek is a more specific term. Back in the day, geeks worked at carnivals, and (according to the dictionary) “bit the heads off live chickens.” Thankfully, the term now has a different connotation. Like nerds, geeks are smart, but they tend to focus more on technology. As Urban Dictionary explains, these are the people you make fun of in high school and later work for as an adult.

Being called a “dork” is the biggest insult of the three. There’s no way you can spin it into something positive. After all, even the dictionary writes that dorks are “stupid” people. And to make matters worse, dorks assume they’re cool. Oh, and they smell, too.

number of view: 146

Por que uso Linux?

| Categorías Linux, Personal, telecomunicaciones | | Comentario 1

Quizas esto diga de que se trata el movimiento del Software Libre y de que se trata Linux….

number of view: 196

Detalles del Congreso

| Categorías General, Linux, Personal, Programacion, Pymes, Sistemas Operativos, Tecnologia, Windows, internet, telecomunicaciones | | Comentario 0

Información del Evento
Objetivo
Transmitir la idea y concepto de Software y Conocimiento Libre. Mostrar cómo Linux es aplicado en la actualidad en diferentes areas del ámbito profesional y personal. Repercusiones del Software Libre a nivel nacional y ventajas sobre las soliciones privativas. Introducir y Orientar a futuros profesionales al mundo de Linux y las Alternativas Libres.
Temas
  • Software Libre, Historia – Filosofía – Evolución y Futuro (Antonio Perpiñan)
  • Migraciones Exitosas (FCLD)
  • Linux en las PyMEs
  • Desarrollo de Juegos en Linux (VideoConferencia)
  • RECESO
  • Blender, creando un mundo Libre en 3D
  • Robótica + Linux
  • GIS (­Sistema de Informacion Geografica)
Fecha: 22 de Octubre de 2009
Hora: 2:00 pm – 6:00 pm
Lugar: Auditorio de Ciencias de la Salud – PUCMM Santiago
Web: http://www.atreveteaserlibre.org/
Precio: RD$ 0.00
Se Ofrecerá:
Material sobre Linux, Distribuciones en CD.
Nota: Se ofrecerá Refrigerio!!!!
number of view: 160

1er Congreso Software y Conocimiento Libre PUCMM Santiago

| Categorías General, Linux, PHP, Personal, Programacion, Pymes, Sistemas Operativos, Tecnologia, Windows, internet, telecomunicaciones | | Comentario 0

Me complace invitarles al 1er Congreso de Software Libre en PUCMM, Campus Santiago, que tendrá lugar en el Auditorio de Ciencias de la Salud, el próximo Jueves 22 de Octubre, sin costo alguno.  En este Congreso tendremos la participación de profesores de la Universidad, estudiantes como David Tavarez y Eduardo Hernandez , Ing. en Sistemas e Ing. Telemática respectivamente, también la participación de la Fundación Código Libre Dominicano(FCLD), y una invita especial desde Venezuela, Maria Leandro, quien participará a modo de Video Conferencia.

Congreso Software y Conocimiento Libre PUCMM 2009

number of view: 140

Puntos de seguridad a tomar en cuenta en PHP

| Categorías General, PHP, Personal, Programacion, internet, telecomunicaciones | | Comentario 2

Un gran poder representa una gran responsabilidad, es por esto que en PHP debemos ser cuidadosos con lo que hacemos y las herramientas que utilizamos.  Por esto les dejo esta lista de puntos a cuidar cuando desarrollamos aplicaciones en PHP.

  • Error Reporting en modo Verbose
  • Registrer Globals
  • Uso de la variable Global $_REQUEST
  • Magic Qoutes
  • Prevenir XSS (Cross-site scripting)
  • SQL Injection
  • Code Injection
  • Uso de la función “eval()”
  • Recuerda usar RegEx(Regular Expressions)
  • Minimiza uso de Comandos Externos

Aunque hay muchos otros puntos de seguridad, de seguro muchos de nosotros hemos sufrido algún problema por cualquiera de los puntos anteriores mencionadas, cosas que no hacemos y cosas que no tomamos en cuenta.

number of view: 225

Creando imagenes PNG con PHP

| Categorías General, PHP, Personal, Programacion, Tecnologia, internet | | Comentario 0

De esta manera puedes crear una imagen a partir de otra y hacer ciertas modificaciones sobre ella.

1
2
3
4
5
6
7
8
9
10
11
12
< ?php
 
header("Content-type: image/png");
$string = $_GET['text'];
$im     = imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im, 220, 210, 60);
$px     = (imagesx($im) - 7.5 * strlen($string)) / 2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
 
?>

number of view: 162

Zend Framework: Manejar Ajax Request

| Categorías General, PHP, Personal, Programacion, Zend Framework, internet | | Comentario 0

Cuando nos estamos iniciando en MVC y Zend Framework, nos hacemos la pregunta: ¿Cómo voy a usar AJAX y olvidarme del Layout del site? Bueno, aquí les dejo un controlador que se auxilia de unos métodos dispuestos para esta misma situación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
< ?php
 
/**
 * MyController
 *
 * @author Williams Mendez
 */
 
 
class MyController extends Zend_Controller_Action  {
	public function init(){
		parent::init();
		if($this->_request->isXmlHttpRequest())	{
			$this->_helper->Layout->disableLayout(); // No cargar el Layout
			$this->_helper->viewRenderer->setNoRender(); //No cargar la Vista
		}else
		$this->_helper->layout ()->setLayout ( 'my_layout' );
 
	}
	public function indexAction(){
		......
	}
}
?>
number of view: 198

Resources en Zend Framework: Bootstrap.php

| Categorías General, Personal, Programacion, Zend Framework, internet | | Comentario 0

Actualmente estoy trabajando en un proyecto para la Universidad en el cual estoy utilizando ZendFramework. El proyecto consiste en una aplicacion de aprendizaje virtual o colaboracion, tipo “Moodle”.

Mi sistema de archivos se ve asi:

application/
   modules/
      estudiantes/
         models/
            DbTable/
      admin/
         models/
            DbTable/
      profesor/
         models/
            DbTable/

Aqui les dejo un ejemplo de mi Bootstrap:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
< ?php
 
/**
 * Application bootstrap
 *
 * @uses    Zend_Application_Bootstrap_Bootstrap
 * @package QuickStart
 */
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
	/**
	 * Bootstrap autoloader for application resources
	 *
	 * @return Zend_Application_Module_Autoloader
	 */
	protected function _initAutoload()
	{
		$autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Default',
            'basePath'  => dirname(__FILE__),
		));
		$autoloader	->addResourceType('estudiantes','modules/estudiantes','Estudiantes')
					->addResourceType('estudiantes_model','modules/estudiantes/models/','Estudiantes_Model')
					->addResourceType('profesor','modules/profesor','Profesor')
					->addResourceType('profesor_model','modules/profesor/models/','Profesor_Model')
					->addResourceType('admin','modules/admin','Admin')
					->addResourceType('admin_model','modules/admin/models/','Admin_Model')
					;
 
 
		return $autoloader;
 
	}
 
	protected function _initFrontController()
	{
		$front = Zend_Controller_Front::getInstance();
		$front->addModuleDirectory(dirname(__FILE__) . '/modules');
		$front->setDefaultModule('default');
 
		return $front;
	}
 
	/**
	 * Bootstrap the view doctype
	 *
	 * @return void
	 */
	protected function _initDoctype()
	{
		$this->bootstrap('view');
		$view = $this->getResource('view');
		$view->doctype('XHTML1_STRICT');
	}
}
number of view: 356

PHP en 3er Lugar Lenguajes mas populares!!

| Categorías General, Personal, Programacion | | Comentario 0

TIOBE

TIOBE, la empresa que publica mensualmente su Programming Community Index con los 10 lenguajes de programación más populares según la disponibilidad mundial de ingenierios, cursos, vendedores de software y búsquedas populares en Google, MSN, Yahoo!, Wikipedia y YouTube, anuncia en sus resultados para este mes de Septiembre del 2009 que PHP llegó al puesto número 3 por primera vez desde que se comenzó a publicar en el 2001.

number of view: 152

Stallman dice: Miguel de Icaza es un traidor

| Categorías General, Linux, Personal, Programacion, Tecnologia | | Comentario 0

En las celebraciones del Software Freedom Day de este año en la ciudad de Boston (EE.UU.) Richard Stallman respondió algunas muy interesantes preguntas de donde indudablemente se destaca su afirmación de que Miguel de Icaza “es básicamente un traidor a la comunidad del Software Libre”.

Potencialmente confirmando la afirmación de Stallman está el rumor de que, ahora que Sam Ramji renunció a su puesto de director del Laboratorio Open Source de Microsoft, nadie menos que Miguel de Icaza, que es miembro de la junta de la Fundación CodePlex, también de Microsoft, será quien ocupe el lugar dejado vacante por Ramji en la empresa de Bill Gates.

Fuente: VivaLinux.com.ar

number of view: 105