J

juanvp_hack

Usuario (México)

Primer post: 8 jul 2013
14
Posts
721
Puntos totales
19
Comentarios
¿Qué lenguaje(s) de programación debo aprender?
¿Qué lenguaje(s) de programación debo aprender?
InfoporAnónimo10/14/2013

Son tantos los lenguajes de programación existentes a tal grado que es común tener gran cantidad de dudas a la hora de elegir el adecuado. Más que cuestión de popularidad entra más bien la pregunta ¿Qué es lo que quieres hacer?, esto en sentido de que si tu quieres, por ejemplo desarrollar una página web, es más que obvio que debes de aprender html y no C. En miles de empleos uno de los requisitos principales es saber un lenguaje en específico, muchas veces lenguajes de alto nivel con el fin de optimizar el desarrollo de código y estandarizar el lenguaje de programación que usan sus productos. Si bien no siempre es el más adecuado, es uno de los que mejores se adaptan a el desarrollo rápido de los productos. Cómo hay muchos aspectos a tomar en cuenta, lo mejor que podemos hacer es explicarles a continuación de la mejor manera posible. Para crear y editar páginas web La necesidad de crear páginas web en estos últimos años ha aumentado muchisimo, ya que cualquier empresa o persona puede encontrar una gran ayuda en tener una, sus productos o proyectos pueden ser más conocidos con un par de clic por los usuarios que navegan por internet. El lenguaje principal para todo esto es HTML, que realmente ni lenguaje es, son simplemente etiquetas que indican de qué forma o que se mostrará, no tiene una estructura muy estricta y existe mucha información por internet. Para hacer páginas web interactivas En la actualidad ya no basta con páginas que nos muestran información, si no que además ahora es necesario interactuar con ellas, para esto se usan otros lenguajes extras como lo son: JavaScript. Para trabajar con datos Aquí no queda mucho que decir, para la creación y administración de base de datos lo mejor es SQL. Aunque claro que no es sólo aprender SQL, si no también ver las diferentes alternativas para trabajar en SQL y ver cual se adapta más a lo que necesitamos. Para desarrollar software de escritorio Desde mi punto de vista, lo mejor para el desarrollo de software de escritorio es C y/o C++, ya que tienes con estos todo el poder la informática en tus manos, con una buena velocidad y disponible para multiples plataformas. Java es otra buena opción, con una excelente multiplataforma, pero su velocidad en los programas es reducido y además es necesario instalar su framework. Para dispositivos móviles Aquí más que de gustos depende de para que plataforma móvil quieres desarrollar, por ejemplo para Android lo mejor es Java, ya que para empezar es la única con soporte oficial. Para desarrollar lo más rápido posible Para esto lo mejor es Visual Basic (sólo para Windows), pero desde mi punto de vista (que espero y lo respeten), Visual Basic es sólo para desarrollo de programas simples y no para algo muy complejo, no por que no tenga el potencial para ello, si no por que hay mejores alternativas. Desde mi punto de vista Visual Basic es jugar a programar. Para ser un gran amigo de tu jefe Si trabajas para una empresa y tienes un jefe que te dice qué lenguaje usar, pues no queda más que decir, has lo que te diga si quieres conservar tu trabajo. Si bien la mayoría de jefes sólo mandan y realmente te exigen sin saber lo que te dicen, hay muchos también que no sólo son jefes si no que además son otra parte importante en el desarrollo de los productos, es decir, que aparte de dar órdenes también da líneas de código. Extra: ¿Por qué aprender a programar ahora mismo? La lógica y habilidades que se van obteniendo a la hora de desarrollar aplicaciones desde algún lenguaje de programación, no sólo ayuda en ámbitos tecnológicos, si no en muchos aspectos diarios de la vida. Programando aprendes a ser más observador en esos pequeños aspectos en que pocas personas se fijan, ya que un buen programador se fija hasta en el más mínimo detalle por entregar algo realmente bueno y sentirse satisfecho de eso, aún cuando el cliente quiere y pide algo muy simple. Esto y mucho más sólo en Mibean

105
0
M
Microsoft - dispositivo de realidad virtual para Xbox
InfoporAnónimo1/2/2015

Microsoft fabricará un dispositivo de realidad virtual para Xbox en 2015, informan desde la cadena de producción en Taiwán. No se conoce si se trata de un casco, unas gafas o un dispositivo tipo “diadema”, pero es seguro que Microsoft no va a quedarse fuera de estos sistemas. Sería la respuesta al Proyecto Morpheus de Sony, un casco de realidad virtual con pantalla de 5 pulgadas para visualización de la acción con un campo de visión de 90 grados, una resolución de vídeo Full HD 1080p y sonido envolvente 3D. En principio llegaría para la consola PlayStation 4, desconociendo disponibilidad o precio, aunque además de entretenimiento sería usada en otros sectores y la firma japonesa está trabajando con técnicos de la NASA para llevar el proyecto Morpheus para la exploración espacial. Tanto el desarrollo de Sony como el de Microsoft llegarían al calor del impulso de los diseños de Oculus VR, la compañía especializada en realidad virtual que cuenta entre sus filas con el genio de los motores 3D, John Carmack y con socios como Samsung, desarrollando en colaboración dispositivos como el Samsung Gear VR. Según Oculus: “La realidad virtual está aquí. Sólo procesen bien eso. Pensábamos en autos voladores, quizás hover boards y realidad virtual. Ahora está aquí. Nuestra misión es transformar los videojuegos, el entretenimiento y la manera en la que interactuamos…” Ninguna compañía quedará fuera de estos desarrollos de realidad virtual especialmente los enfocados al entretenimiento. Tampoco Microsoft, con otros desarrollos como “Fortaleza”, un wearable basado en Kinect similar a Google Glass. Fuente | Mi nuevo blog

2
0
Curso de C++. Lo que no hay que hacer en C/C++
Curso de C++. Lo que no hay que hacer en C/C++
InfoporAnónimo10/15/2013

La mayoría que recién esta empezando con C/C++ cometen errores similares. Incluso muchos tienen conceptos erróneos sobre la utilidad o eficiencia de ciertas funciones, probablemente debido a el estudio de textos incorrectos o de libros anticuados. Pero incluso a veces uno no puede escapar de ciertas cosas. Imaginen a alguien que recién entra en la universidad y el profesor le hace incluir conio para utilizar getch. Seguramente el alumno de por sentado que hacer eso esta perfecto, e incluso el profesor recompense con notas altas a los que programan tal cual se ha enseñado. Por lo tanto, ciertas cosas son comprensibles y el único consejo que se puede dar es que nunca den por sentado algo, es recomendable informarse antes para ver que es lo que se esta realizando, sobre todo en programación. 1) gets(); La falta de control en un programa es un factor bastante negativo, y también peligroso en caso de programas comerciales o masivos. Ese es el principal problema de gets, no tiene control interno. ¿Que signifca no tener control interno? Significa que la función acarrea como consecuencia el mal comportamiento del programa, resultados inesperados y erróneos, vulnerabilidades entre otras tantas cosas. Define una cadena de 10 caracteres, y gets va a aceptarte eso y muchísimo mas como entrada. Veamos este código: Código #include<stdio.h> int main() { char letra1[]="AAAAA"; char letra2[]="BBBBB"; char letra3[]="CCCCC"; printf("A: %snB: %snC: %snn",letra1,letra2,letra3); printf("Ingrese la letra D, 5 veces: "; gets(letra2); printf("nA: %snB: %snC: %snn",letra1,letra2,letra3); getchar(); } A: AAAAA B: BBBBB C: CCCCC Ingrese la letra D, 5 veces: DDDDD A: AAAAA B: DDDDD C: CCCCC Como vemos nada paso, y los elementos de letra2 se reemplazaron por el input ingresado como debería ser . Ahora en vez de 5 veces, ingresemos la letra 'D' mas veces de lo que el programa nos indica: A: AAAAA B: BBBBB C: CCCCC Ingrese la letra D, 5 veces: DDDDDDDDDDDDDDDDDDD A: DDD B: DDDDD C: CCCCC Que paso con letra1? precisamente lo que no queremos que pase en nuestro programa. gets sobrescribió una zona de memoria que no debía sobrescribir, ya que el input debía ser ingresado en letra2, pero simplemente no le importo que el input sea muchísimo mas grande que el tamaño de la cadena. Razon mas que suficiente para no utilizarla. Por lo tanto es recomendable utilizar fgets(); fgets(char *string, int length, FILE * stream) Es decir: fgets(letra2, 5, stdin); Con fgets permites que sean ingresados lenght-1 caracteres. Aunque no todo es color de rosas, y en caso de que se ingresen menos caracteres de los que has definido como tamaño, tendras que lidiar con un salto de linea 'n'. Obviamente es una nimiedad que puedes arreglarla de esta forma: if (letra2[strlen(letra2)-1] == 'n')//string.h para strlen(); letra2[strlen(letra2)-1] = ''; Supongo que con esto queda claro que no tiene sentido utilizar gets();. Referencias: fgets gets 2) fflush(stdin); fflush(stdin) es un invitado casi diario. Pocas veces pasa un dia sin que alguien lo recomiende o lo mencione como la solucion! a los malos comportamientos de las pausas en los programas. STDIN, como su nombre lo indica, significa 'Standard input'. Es decir, el ingreso por teclado. Acorde al Standard, fflush espera solamente un stream de salida (STDOUT: 'Standard Output) por lo que el comportamiento con streams de entrada como STDIN es indefinido. Por mas que en algunas plataformas funcione, o que en algunos compiladores funcione, no deberia ser utilizado. Por el otro lado, para evitar esas pausas fastidiosas es necesario evitar las funciones que dejan basura por doquier (como scanf() y utilizar funciones como la ya mencionada fgets(); Referencias: fflush(stdin); Zanjar de una vez el uso de fflush(stdin); Error basico. Problema con el compilador. 3) system("PAUSE"; Otro invitado diario es la pausa utilizando system. Esto incluso me ha tocado en mi universidad. Que el profesor me haga realizar ejercicios exclusivamente utilizando system y la pausa tambien habia que realizarla exclusivamente utilizando system. En fin, seguramente muchos consideren que realizar esto no es un gran problema, y probablemente tengan razon en los codigos que uno realiza como tarea estudiantil. Pero es un habito malo, y como todo, hay que dejarlo algun dia. Claramente no puedes pasarte toda la vida llamando al sistema para hacer una pausa. *No es portable, solo va a funcionar en sistemas que tengan el comando PAUSE. *Es una funcion pesada. Llamar al sistema, suspender tu programa, buscar el comando PAUSE, etc etc etc etc. Por el otro lado si se siguio la norma de no dejar basura en el buffer de entrada, se puede utilizar soluciones mas sencillas como getchar(); (o cin.get(); en C++). 4) conio.h Librerias inutiles si las hay, pero por sobre todas las cosas NO standard. No existe problema para el cual sea exclusivamente necesario utilizar conio.h. Y visto que aca la mayoria de los que la incluyen lo hacen para utilizar getch(); supongo que con todo el parrafo anterior habran quedado claras las alternativas. conio.h 5) void main(); Seguramente para justificar esto habría que decir que el estándar dice que void no puede ser el valor de retorno del main, lo cual es verdad, pero no siempre es suficiente. Sobretodo considerando que muchas veces en los libros el void main dice presente. No voy a extenderme mucho con esto ya que voy a dejar los links necesarios para el que quiera entender porque sucede, pero como base comprendamos esto: -Devolver un valor void es perder la garantia que un valor de retorno distinto de 0 implica un error, lo cual es malo tanto para el SO como para el determinado programa que pueda estar llamando a tu código. -Esta mal acorde al estándar. -Puede que tu programa no funcione correctamente. Los errores pueden depender de los mecanismos de retorno o la arquitectura especifica en la cual estemos. Pero por supuesto, si elegimos un lenguaje de alto nivel como lo es C o C++, es para no tener que preocuparnos por esos asuntos. En conclusión, el que quiera entender el " por que", leer los siguientes links. Links: void main void main() - the wrong thing int main 6) Procesamiento de cadenas: string.h La mayoría de las funciones que no tienen la posibilidad de pasar como argumento el tamaño del buffer que debe procesarse, estan completamente expuestas al desbordamiento de buffer. Sobre todo si el contenido del buffer origen es ingresado por el usuario, y por sobre todas las cosas, si no se hicieron las validaciones correspondientes. (Por ejemplo, haber utilizado gets o no haber chequeado el tamaño de la cadena antes de copiar/concatenar o cualquier otra forma de procesar una cadena). Obviamente no voy a hablar sobre todas las funciones, pero si sobre dos ejemplos que dan la pauta de lo que sucede y de lo que debería hacerse: strcpy y strcat. strcpy Prototipo: strcpy ( char * destination, const char * source ); Veamos un ejemplo de un codigo incorrecto: #include <stdio.h> #include <string.h> int main() { char cadena1[]={"aaaa"}; char cadena2[100]; char cadena3[]={"0123"}; printf("Ingrese cadena: "; fgets(cadena2,100,stdin); printf("cadena1: %sncadena2: %sncadena3: %snn",cadena1,cadena2,cadena3); strcpy(cadena1,cadena2); printf("cadena1: %sncadena2: %sncadena3: %s",cadena1,cadena2,cadena3); getchar(); return 0; } Ingrese cadena: 1111111111111111111111111111111111111111111111111111 //Antes de strcpy cadena1: aaaa cadena2: 111111111111111111111111111111111111 cadena3: 0123 //Despues de strcpy cadena1: 111111111111111111111111111111111111 cadena2: 111111111111111111111111111111111111 cadena3: 1111111111111111111111111111111111111111111111111111 Como se ve claramente, el problema esta vez no estuvo en la recepción de los datos (en el sentido técnico), si no en el copiado. Ya que strcpy no verifica si el buffer destino es efectivamente capaz de contener los datos del buffer origen, lo cual por supuesto ocasiona perdida de datos y buffers overflows. Obviamente si el fgets se hubiese utilizado correctamente, esto no hubiese sucedido. strcat Prototipo: strcat ( char * destination, const char * source ); La misma historia sucede aqui. Al no poder especificar el tamaño del buffer destino la funcion es insegura. Veamos un ejemplo incorrecto: #include <stdio.h> #include <string.h> int main() { char cadena1[]={"aaaa"}; char cadena2[100]; char cadena3[]={"0123"}; printf("Ingrese cadena: "; fgets(cadena2,100,stdin); printf("cadena1: %sncadena2: %sncadena3: %snn",cadena1,cadena2,cadena3); strcat(cadena1,cadena2); printf("cadena1: %sncadena2: %sncadena3: %s",cadena1,cadena2,cadena3); getchar(); return 0; } Ingrese cadena: 11111111111111111111111111111111111111111111 //Antes de strcat cadena1: aaaa cadena2: 1111111111111111111111111111 cadena3: 0123 //Despues de strcat cadena1: aaaa1111111111111111111111111111 cadena2: 1111111111111111111111111111 cadena3: 11111111111111111111111111111111111111111111 Como pueden ver suceden errores muy similares. Obviamente es un error tonto de programación en el cual el desarrollador pasa un mal argumento a fgets, ya que de haberlo hecho bien el error no sucederia. Pero ese no es el asunto, lo importante es que tanto strcpy o strcat (y toda la familia de funciones) no realizan (o permiten realizar) la validación extra necesaria. Imaginen que creas una cadena para tomar una ruta del sistema operativo para luego concatenar, ¿Y si el atacante se da cuenta de eso y decide explotar el overflow por ese lado? mil variantes pueden existir y probablemente no siempre uno cubra todas ellas. Entonces que se puede utilizar? strncpy y strncat cumplen su función perfectamente si se utilizan en forma correcta. strncpy Prototipo: strncpy ( char * destination, const char * source, size_t num ); #include <stdio.h> #include <string.h> int main() { char cadena1[]={"aaaa"}; char cadena2[100]; char cadena3[]={"0123"}; printf("Ingrese cadena: "; fgets(cadena2,100,stdin); printf("cadena1: %sncadena2: %sncadena3: %snn",cadena1,cadena2,cadena3); strncpy(cadena1,cadena2,1); printf("cadena1: %sncadena2: %sncadena3: %s",cadena1,cadena2,cadena3); getchar(); return 0; } Ingrese cadena: 1111111111111111111 //Antes de strncpy cadena1: aaaa cadena2: 1111111111111111111 cadena3: 0123 //Despues de strncpy cadena1: 1aaa cadena2: 1111111111111111111 cadena3: 0123 strncat Prototipo: strncat ( char * destination, const char * source, size_t num ); #include <stdio.h> #include <string.h> int main() { char cadena1[]={"aaaa"}; char cadena2[100]; char cadena3[]={"0123"}; printf("Ingrese cadena: "; fgets(cadena2,100,stdin); printf("cadena1: %sncadena2: %sncadena3: %snn",cadena1,cadena2,cadena3); strncat(cadena1,cadena2,0);//Obviamente esta linea es un absurdo //Pero queda claro el control que la funcion mantiene printf("cadena1: %sncadena2: %sncadena3: %s",cadena1,cadena2,cadena3); getchar(); return 0; } Ingrese cadena: 123123 //Antes de strncat cadena1: aaaa cadena2: 123123 cadena3: 0123 //Despues de strncat cadena1: aaaa cadena2: 123123 cadena3: 0123 Estas ultimas funciones a pesar de poder utilizarse perfectamente como solucion a lo anterior expuesto, tambien tienen sus contras: - Tanto strncpy o strncat no proveen un valor de retorno que pueda implicar un error o el exito de la cadena resultante, si no que devuelven un puntero al buffer destino. Por lo tanto requiere un esfuerzo extra por parte del programador. - strncpy no finaliza la cadena resultante con null si el destino es al menos igual en tamaño que el origen, por lo tanto siempre debe finalizarse la cadena con null después de la llamada a strncpy. - strncpy tambien tiene un comportamiento que puede afectar el rendimiento del programa en caso que el buffer destino sea considerablemente mas grande que el buffer origen, ya que en este caso se realiza el zero-padding, es decir, llena el resto de la cadena con nulls. Microsoft tiene una lista de funciones baneadas (lo que en Visual Studio se conoce como deprecated) y obviamente tiene el reemplazo de estas llamandolas funcion_s. Ejemplo: strcpy_s, strcat_s, gets_s y etc. Pueden ver las funciones catalogadas como inseguras en este header, y su reemplazo en esta lista. Por supuesto los reemplazos que ofrece esta lista no son estándar, por lo tanto si la portabilidad es uno de nuestros objetivos lo ideal es no utilizarlos. Cursos de programación gratis, consejos, tips, información, noticias y mucho más en: http://mibean.blogspot.mx/

25
0
MEGAPOST Memes tecnologia - apuesto la vida de mi perro
MEGAPOST Memes tecnologia - apuesto la vida de mi perro
HumorporAnónimo1/1/2015

Espera! antes de que te vallas, sólo para aclarar que no tengo perro MEJOR SIGUEME EN MI NUEVO BLOG, CONTENIDO DIARIO DE TECNOLOGIA (si no hago esto nunca tendré visitas )

0
1
H
HDTV y Reproductor DVD normal? este es tu post.
Hazlo Tu MismoporAnónimo7/8/2013

Hoy en día la mayoría de la población, dispone al menos de una televisión HD, esas televisiones modernas que soportan resoluciones a 720p o 1080p. Si bien, muchas personas tienen televisión HD, no todos ellos disponen de un reproductor de peliculas para estas televisiones. Aquí les comparto unos consejos para mejorar la resolución de su reproductor de DVD actual, teniendo mejores resoluciones en progressive scan y a un formato de pantalla de 16:9. Diferencias Antes de comenzar, aclaremos estos puntos. Diferencia entre televisión normal y HD. La diferencia más notada, es la diferencia en tamaños, pero realmente lo más importante aquí es la resolución de pantalla. En una televisión normal (analógica), la máxima resolución llega a ser 480 * 580 pixeles. Mientras que en una televisión HD, sea led, lcd, o plasma, su resolución actual es: 1980 * 1080 pixeles. Gran diferencia no? Ahora teniendo claro esto, ahora veremos qué es 720i, 720p, 1080i, 1080p, etc. Tomaremos de ejemplo 1080, 1080 es el número de líneas verticalmente que tiene nuestro televisor, por lo que 1080i y 1080p es la misma resolución. La diferencia aquí es como se refresca la imágen. La i significa escaneo interlazado, y la p, escaneo progresivo. El movimiento en una pantalla se simula con fotogramas, es decir, imágenes una tras otra que simulan el movimiento, cuando nos encontramos con una resolución con una i, ejemplo: 1080i, esto nos quiere decir que estos fotogramas cambian de forma interlazada, es decir, una línea se actualiza y otra no, una sí y otra no. Obteniendo así un movimiento algo borroso. Ejemplo: Ahora sí a trabajar... Teniendo claro esto, ahora sí empezaremos a configurar nuestro reproductor DVD. Requisitos Televisión HD Reproductor de películas DVD Cable componentes (5 conectores)... ...o Dos cables compuestos (3 conectores) Para que dos cables compuestos? para alcanzar a conectar todos los conectores (5 en total), sobraría uno. Los conectamos en sus respectivas conexiones y ahora sólo falta configurar nuestro reproductor DVD y televisión HD Este paso lo tendrán que hacer por su cuenta ya que cada televisión y reproductor son diferentes. Pero lo que se tiene que hacer aquí, es entrar a los ajustes o configuraciones del DVD, y por algún lado debería aparecer la opción de salida 16:9 y el escaneo progresivo (P-SCAN). Además de configurar en NTSC o PAL, dependiendo de su región. En el televisor simplemente (si es que no lo detecta), entramos a la configuración del mismo y seleccionamos la entrada componentes. Nota: no todas las películas de DVD normal aceptan formato 16:9, pero aún así la calidad de la imágen mejorara considerablemente. Este y más contenido en: www.codigo-hack.tk

28
0
C
Curso de C++. Introducción al curso
Hazlo Tu MismoporAnónimo10/14/2013

Este curso es para principiantes, por lo que cada parte del mismo será explicado de la mejor manera posible.¡Bienvenido! C++ es un lenguaje de programación creado en 1980 por Bjarne Stroustrup, con el objetivo de extender al lenguaje C. Actualmente existe un estándar denominado ISO C++. Es un lenguaje compilado, esto quiere decir que el código escrito por el programador (código fuente) se traduce directamente a código máquina (binario) para poder ser ejecutado. Por último cabe mencionar que es multiplataforma, existe en Windows, Linux, etc. Existen diferentes compiladores, entre ellos GCC, el cual es desarrollado por los seguidores de software libre. Requisitos para poder programar en C++ Un editor. Será el programa en el que escribiremos el código. Muchos de ellos con resalto de sintaxis que ayudan a entender de mejor manera el código escrito. Un compilador. Traductor de código fuente a binario. Tiempo. Necesario para poder aprender. Ganas de aprender. Para poder aprender de la mejor manera. Ahora teniendo esto claro, tenemos que obtener el editor y compilador. Para no batallar con esto, recomiendo usar codeblocks, un IDE (Entorno de Desarrollo Integrado) que contiene editor, compilador y algunas otras utilidades en un mismo paquete. Peculiaridades de C++ Su pronunciación correcta es "c plus plus". Es case sensitive, esto quiere decir que es sensible a mayúsculas o minúsculas, por lo que no es lo mismo escribir Cout que cout. Nota: todos los comandos (o la mayoría) son totalmente en minúsculas. Al igual que en la mayoría de lenguajes de programación, al terminar con las instrucciones, el programa se cierra. Después de cada instrucción se coloca un punto y coma. Estructura básica de un programa en C++ Siguiendo una gran costumbre, empezaremos con el programa denominado "HelloWorld!" (Hola Mundo). Este programa lo único que hace es mostrar un pequeño mensaje en pantalla. Aquí el código. #include <iostream> using namespace std; int main(void) { cout<<"Hola Mundo"<<endl; return 0; } Nota: como ya se dijo, al terminar con todas las instrucciones el programa se cerrará. Por lo que luego de mostrar el mensaje "Hola Mundo" se cerrará inmediatamente. Esto sucede en windows, para evitarlo, agregamos antes de return 0 la siguiente línea system("PAUSE" y al inicio include <windows.h> Ahora explicaremos línea por línea. #include <iostream> Incluye la librería básica de entrada (teclado) y salida de datos (pantalla) de C++. using namespace std; Su explicación es demasiado compleja y se necesita más conocimiento del lenguaje, mientras tanto podemos decir que se usa para evitar escribir std:: antes de cada comando. int main(void) { Función principal de nuestro programa, lo ingresado dentro de las llaves de main, será lo que el programa haga. cout<<"Hola Mundo"<<endl; Como vemos el comando para mostrar mensajes en pantalla es "cout" seguido de dos signos de menor. Posteriormente se agrega el mensaje a mostrar entre comillas. Si queremos mostrar alguna otra cosa se vuelven a agregar los signos de menor, tal y como se muestra aquí para agregar "endl" que indica fin de renglón en nuestro programa. return 0; Indica que nuestro programa ha terminado de la forma correcta, no retorna nada (eso se explicará más delante con profundidad). Para ver que nuestro programa ha funcionado, es necesario buscar la opción de nuestro editor para compilar, generalmente con el nombre compilar o construir (build en inglés). Y posteriormente ejecutarlo (también se le llama correrlo). Si es que el programa no tiene errores generará el ejecutable de nuestro programa. ¡Felicidades! has terminado tu primer programa. Nota: si el código escrito tiene errores de sintaxis, el compilador no generará el ejecutable y nos mostrará una breve explicación de los errores. Importante: es necesario guardar el código fuente del programa si se desea hacer algo con el después, ya que sólo teniendo el ejecutable no se podrá ver el código. Así terminamos la primer parte del curso. Espera los próximos temas, ¡sigue aprendiendo! Curso completo de C++ creado por mi, códigos fuente, ejemplos, etc. Da clic aquí

60
0
[
[Off-topic] MiBean Projects solicita escritores de entradas
OfftopicporAnónimo3/26/2014

Una de las grandes ventajas de que un Geek trabaje como Freelance son las excelentes posibilidades que se le pueden presentar ayudando a los demás. Digamos que puedes ayudar para que te ayuden. Algo parecido está sucediendo actualmente en MiBean. MiBean Projects cada vez intenta mejorar más sus servicios y productos además de la calidad de los mismos. Actualmente necesitamos escritores de cursos, noticias, etc. ¿Qué gano a cambio de ayudar a MiBean Projects? Simple, un intercambio de trafico. Digamos simplemente que tu puedes publicar cualquier tema relacionado con tecnología en cualquiera de los apartados de MiBean Projects y en estos puedes agregar compartir con nosotros links directos a el verdadero post o proyectos propios. Reglas para escribir un artículo... ¿Copy/Paste? Si, pero de calidad y con fuente original Usa el buscador del blog para no repetir entradas No uses malas palabras, ofensas a otros usuarios o personas Atención con los artículos de opinión Usa y abusa de la vista previa Resumiendo un poco, si tu ayudas a redactar entradas en cualquiera de los apartados de MiBean Projects recibirás a cambio tráfico a tus proyectos, ya que puedes compartir links directos en los mismos. Además de que con estas entradas enriquecerás la información disponible en MiBean y es muy probable de que también aumente un poco su tráfico. ¿Qué puedo compartir y en donde? Cursos de cualquier tema sobre tecnología (Windows, Linux, Mac, Desarrollo, Seguridad, Android, IOS, etc). cursos.mibean.tk Noticias y/o resúmenes a verdaderos post. blog.mibean.tk Temas de interés de cualquier tipo. vagabundo.mibean.tk ¿Qué necesito? Si estás interesado por favor deja un comentario en esta entrada con los siguientes datos: En qué apartado deseas escribir entradas. cursos, blog o vagabundo. Tu cuenta Gmail para agregarte como escritor al apartado correspondiente. Publicar tu primera entrada en menos de una semana, de lo contrario será eliminada.

0
0
¿
¿Cómo ganar dinero mientras te rascas la barriga?
Hazlo Tu MismoporAnónimo7/14/2013

Hoy en día vivimos en una época donde el dinero nos limita, pero al igual que la billetera está un poco vacía se puede lograr tener un pequeño ingreso extra esto es una realidad y algo que no debemos desaprovechar. Muchisimas personas piensan y se desesperan queriendo tener un ingreso extra mientras no hacen nada al respecto. Aquí les cuento una pequeña forma muy usada para obtener un ingreso extra mientras usted hace otras cosas como trabajar, salir a pasear o dormir. ¿Por qué se dice que se puede ganar dinero mientras se hacen otras cosas? Hoy en dia por internet usted puede encontrar servicios de alojamiento gratuito para un blog o web sobre un producto o tema en especifico. Y en estos mismos usted puede integrar publicidad hacia otras paginas o productos haciendo que sus visitantes conoscan otros productos. Así que si usted tiene una página por internet a todas horas del dia tiene visitas, haciendo que mientras usted realize otras actividades se genere un ingreso extra. La respuesta a esto es muy simple y se llama google adsense. Google adsense es un servicio y producto proporcionado por google que permite a los editores obtener ingresos mediante la colocación de anuncios en sus sitios web, ya sean de texto, gráficos o publicidad interactiva avanzada. Ahora, usted puede pensar, pero si hoy en dia nadie regala dinero, y es cierto, pero aquí le cuento como es que este dinero que usted puede ganar beneficia a todos. Algunas personas o empresas quieren hacer conocer sus nuevos productos mediante servicios de internet, mediante la colocación de anuncios en otras páginas para que sus productos se conoscan. Pues esto es lo que sucede con adsense, adsense (como ya se dijo) es una herramienta proporcionada por google que ayuda a 4 personas al mismo tiempo. 1.- A usted, ya que si usted cuenta con una página o blog por internet puede lograr ganar dinero. 2.- Google, ya que se reparte la ganancia entre usted y google. 3.- Empresas que intentan lograr hacer conocer sus productos y pagan para ello. 4.- Usuarios visitantes a su web ya que logran conocer otros contenidos con esta publicidad. Una vez comprendido esto y está interesado en ello aquí como es que se logra, con una lista muy simple de pasos a seguir. 1.- Crear un blog en blogger o un canal en youtube (ambos servicios de google), o por que no, hacer los dos. Para esto es necesario tener una cuenta google mail. 2.- Publicar contenido, por lo menos 10 temas antes de querer monetizar. Estos temas deven de ser de calidad, ya que si no es así las personas no se interesaran en el contenido. 3.- Solicitar el servicio desde adsense. El proceso de verificación de adsense para su cuenta puede tardar hasta una semana, generalmente tarda de 1 a 3 dias. 4.- Configurar su web con adsense. En blogger, en la pestaña ingresos. En youtube, configuración, monetización. 5.- Esperar como mínimo una semana para ver que empiezen a acumularse los ingresos en la cuenta adsense. Los ingresos en un inicio seran muy bajos, pero con el tiempo y el aumento de visitas en su web irá en aumento. 6.- Esperar a llegar a los 10 dolares americanos para configurar la forma de pago. Las dos formas de pago mas usasdas son: envío a domicilio, deposito en cuenta bancaria. 7.- Seguir publicando y hecharle ganas a la web. Consejos para no fracasar. 1.- Publicar contenido por lo menos una vez a la semana. 2.- Publicar contenido de calidad. 3.- No subir contenido ilegal como pirateria. 4.- Dar a conocer la web por otros sitios o redes sociales. 5.- Cada vez que se publique un nuevo tema, compartirlo e informar en otros sitios.

15
0
¿Por qué usar Gnu/Linux? Verdaderas razones
¿Por qué usar Gnu/Linux? Verdaderas razones
LinuxporAnónimo10/23/2013

Casi todas las personas en la actualidad usan o han usado Windows, y cuando se enteran de que existen otras alternativas como Gnu/Linux lo primero que encuentran por Internet son notas diciendo cosas como: "Linux es gratis y no hay virus", si bien esto tiene algo de cierto, no son las verdaderas razones para usar este tipo de software. Repasemos un poco. Gnu/Linux es la combinación del núcleo Linux, con paquetes Gnu. ¿Qué es linux? Linux es el paquete principal de un sistema, el encargado de comunicar a los programas con los recursos de la máquina, y Gnu, son esos programas. Esto quiere decir que para tener a un ordenador funcionando con software libre es necesario Tener un kernel (linux), paquetes gnu (programas), y obviamente, el ordenador. Gnu, es algo más que sólo programas, son un tipo de programas denominados como "programas libres". El software libre es una cuestión de libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y modificar el software. Más concretamente, se refiere a los cuatro tipos de libertades para los usuarios de software: La libertad de usar el programa, con cualquier propósito (libertad 0). La libertad de estudiar el funcionamiento del programa, y adaptarlo a sus necesidades (libertad 1). El acceso al código fuente es un prerrequisito para esto. La libertad de distribuir copias para ayudar a los demás (libertad 2). La libertad de mejorar el programa y de publicar las mejoras, de modo que toda la comunidad se beneficie (libertad 3). El acceso al código fuente es un prerrequisito para esto. Con todas estas libertades un programa es 100% libre, por que sus normas de uso, no exigen más de lo que deben, si alguna de estas libertades falta o es insuficiente el programa se denomina privativo, por que priva a los usuarios de su libertad. Ahora, después de tener un poco más claro esto, es necesario compartir verdaderas ventajas para usar sólo Software libre. Para no vaciar el bolsillo Si bien, libre, no significa gratis, es verdad que la mayor parte del software libre, se puede obtener de manera gratuita o a precios muy bajos. Para tener un sistema a tu medida Hay miles de distribuciones Gnu/Linux orientadas a un publico en específico, desde distribuciones para dispositivos móviles hasta servidores. Adapta el sistema, y no que el sistema se adapte a ti Recordemos, Gnu/Linux es un sistema libre, por lo que puedes modificar tanto como quieras, teniendo un sistema único, como tu lo quieras y necesites. Para tener un sistema actualizado La mayor parte de distribuciones Gnu/Linux funcionan a base de repositorios, esto quiere decir, que no es necesario tener que buscar el software que necesitas, descargarlo, instalarlo y constantemente buscar manualmente actualizaciones para el mismo. Gnu/Linux se encarga de esto descargando las versiones más actualizadas desde sus repositorios. Para simplificar tu trabajo y ser más productivo Gnu/Linux integra gran cantidad de documentación y herramientas para hacer todo lo que necesitas con poco esfuerzo, tal es el caso a la hora de instalar un programa. Para tener un sistema estable Si bien, no es que otros sistemas fallen mucho, si que el kernel Linux gana en estabilidad, por esta razón es que se usa mucho en servidores. Para ser diferente Seguro que si te instalar un sistema Gnu/Linux algún curioso va a querer ver como y que es lo que tienes instalado. Construido por miles de personas en el mundo Esta es la principal razón por la que Gnu/Linux es el mejor sistema, se construye con la experiencia de miles de personas al rededor del mundo obteniendo así algo mejor que lo que puede dar una empresa. Para ayudar a tu comunidad Usando software libre te ayudas a ti mismo, ayudas a los desarrolladores y a los demás si es que también ayudas a que se interesen en el software libre. Para vivir sin temor Cualquier persona consciente o inconsciente mente ha usado alguna vez algún programa crackeado, esto, además de ilegal, da otra razón para que nuestro sistema no funcione correctamente. Para aprovechar el potencial de tu máquina Si bien es verdad, que la mayor parte de controladores para Gnu/Linux son desarrollados por la comunidad del software libre y no por la misma empresa es verdad, que gracias al núcleo linux, el ordenador funciona mejor y sin tanto esfuerzo. Extra: Desmintiendo el mito "Gnu/Linux es para hackers" Para empezar, ¿Qué es hacker? Hacker, es una persona a la que le apasiona la tecnología, en general la seguridad informática. Aunque muchas personas usan este termino confundiendolo. Lo que muchas personas dan a entender se que Gnu/Linux es difícil de usar. Pero, ahora intenta esto y verás que no es así, formatea un ordenador con Windows XP (por ejemplo) y otro con Ubuntu, veremos cual es más fácil de instalar y configurar y en el menor tiempo. En este tema hemos visto algunas ventajas del software libre, en el siguiente tema veremos "como empezar en el software libre". Estas son sólo algunas de las razones por las que yo lo uso. Pero ahora les toca a ustedes, compartan sus razones para usar software libre Esto y más sólo en: http://mibean.blogspot.mx/

169
75
E
El primo diabólico de Linux
LinuxporAnónimo10/20/2013

Hola amigos, espero que estén bien. Aquí les comparto información sobre BSD, se que muchos saben que es, y que no tiene mucho que ver con la categoría Linux. Pero dejando de lado esto, hay que dejar que los que no sepan que existe aprendan un poco de el. ¿Qué es BSD? En el mundo del código abierto la palabra “Linux” suele ser utilizada como sinónimo de “Sistema Operativo” pero no es el único sistema operativo libre UNIX®. En Abril de 1.999 el Internet Operating System Counter reflejaba que el 31'3% de los sistemas que ofrecían algún servicio en Internet usaban Linux y el 14'6% usaban BSD UNIX®. Alguna de las empresas más grandes de Internet, como por ejemplo Yahoo!, usan BSD. El servidor de FTP con más carga en 1999 (ahora desaparecido), ftp.cdrom.com, transfería 1'4TB diariamente usando BSD. Es fácil suponer que no se trata de un nicho de mercado: BSD es un secreto bien guardado. ¿Así que cuál es el secreto? ¿Por qué BSD no es más conocido? Éste artículo trata sobre esa y otras cuestiones. BSD son las siglas de “Berkeley Software Distribution”. Así se llamó a las distribuciones de código fuente que se hicieron en la Universidad de Berkeley en California y que en origen eran extensiones del sistema operativo UNIX® de AT&T Research. Varios proyectos de sistemas operativos de código abierto tienen su origen en una distribución de éste código conocida como 4.4BSD-Lite. Añaden además un buen número de paquetes de otros proyectos de Código Abierto, incluyendo de forma destacada al proyecto GNU. El sistema operativo completo incluye: El kernel BSD, que se encarga de la programación del tiempo de ejecución de los procesos, la gestión de memoria, el multiproceso simétrico (SMP), los controladores de dispositivos, etc. A diferecia del kernel Linux existen varios kernel BSD con diversas funciones. La biblioteca C, la API base del sistema. La biblioteca C de BSD está basada en código procedente de Berkeley no del proyecto GNU. Aplicaciones como las distintas shells, aplicaciones de gestión de ficheros, compiladores y enlazadores. Algunas de las aplicaciones derivan del proyecto GNU, otras no. El sistema X Window, que gestiona el entorno gráfico. El sistema X Window que se usa en la mayoría de versiones de BSD es producto de un proyecto aparte, el Proyecto XFree86. Se usa el mismo código que en Linux. BSD por lo general no predetermina un “gestor de ventanas” como KDE o GNOME, aunque éstos y otros muchos esten disponibles. Muchos otros programas y utilidades. Entonces ¿es un UNIX verdadero? Los sistemas operativos BSD no son clones sino derivados de código abierto del sistema operativo de AT&T Research, el cual es a su vez ancestro del moderno UNIX System V. Ésto puede sorprenderle. ¿Cómo puede haber sucedido esto si AT&T jamás ha liberado su código? Cierto es que AT&T UNIX no es código abierto y que en un sentido estricto de copyright BSD no es en absoluto UNIX, pero por otra parte AT&T ha incluído fuentes de otros proyectos, teniendo como caso notable el Computer Sciences Research Group de la Universidad de Berkeley, California. En 1.976 el CSRG comienza a distribuir su software en cintas, dándoles la denominación Berkeley Software Distribution, o BSD. Las primeras distribuciones BSD consistían principalmente en aplicaciones de entorno de usuario (“userland”) pero la situación cambió de modo drástico cuando el CSRG firmó un contrato con la Agencia de Investigación de Proyectos Avanzados (DARPA) para mejorar los protocolos de comunicación en su red ARPANET. A los nuevos protocolos se les dio el nombre de Internet Protocols, y más adelante TCP/IP, que más tarde se habrían de covertir en los protocolos más importantes. La primera implementación ampliamente distribuída lo fue como parte de 4.2BSD, en 1.982. Durante la década de los 80 comienzan a surgir compañías que ofrecían estaciones de trabajo. La mayoría optó por adquirir licencias de UNIX en lugar de desarrollar sistemas operativos ellos mismos. En particular Sun Microsystems adquirió una licencia de UNIX e implementó una versión de 4.2BSD, a la que llamaron SunOS. Cuando la propia AT&T fue autorizada para vender UNIX iniciaron una implementación un tanto rudimentaria llamada System III, seguida rápidamente por System V. El código base de System V no incluía capacidad de trabajo en redes, de manera que todas sus implementaciones habían de usar software de BSD, incluyendo TCP/IP, así como aplicaciones como la shell csh y el editor vi. En conjunto esas inclusiones fueron conocidas como las Berkeley Extensions. Las cintas BSD contenían código fuente de AT&T y en consecuencia requerían una licencia de código UNIX. Hacia 1.990 al CSRG se le retiran los fondos y se enfrenta al cierre. Algunos de los miembros del grupo deciden distribuir el código BSD, que era Código Abierto, sin el código propiedad de AT&T. Finalmente esto sucede con la Networking Tape 2, más conocida como Net/2. Net/2 no era un sistema operativo completo: faltaba aproximadamente un 20% del código del kernel. Uno de los miembros del CSRG, William F. Jolitz, escribió el código restante y lo distribuyó a comienzos de 1.992 como 386BSD. Al mismo tiempo otro grupo de antiguos miembros del CSRG fundaron una empresa llamada Berkeley Software Design Inc. y distribuyó una versión beta de un sistema operativo llamado BSD/386, que se basa en las mismas fuentes. El sistema operativo pasó a denominarse BSD/OS. 386BSD jamás llegó a ser un sistema operativo estable. En lugar de ello dos proyectos surgen de él en 1.993: NetBSD y FreeBSD. Ambos proyectos se forman gracias a la falta de paciencia que origina la espera de mejoras en 386BSD: el proyecto NetBSD comenzó a primeros de año y la primera versión de FreeBSD no estuvo lista hasta finales del mismo. En ese proceso el código base tomó caminos diferentes hasta tal punto que se hizo difícil de mezclar. Además los proyectos tienen objetivos diferentes, como veremos más adelante. En 1.996 otro proyecto, OpenBSD, se separa de NetBSD. ¿Por qué BSD no se conoce mejor? Existen diversas razones por las que BSD es relativamente desconocido: Los desarrolladores de BSD con frecuencia están más interesados en depurar su código que en promocionarlo. La mayor parte de la popularidad de Linux se debe a factores externos a los proyectos Linux, como la prensa y las compañías que ofrecen servicios relacionados con Linux. Hasta hace poco los BSD de fuente abierta carecían de tales abogados. Los desarrolladores de BSD suelen estar más experimentados que los de Linux y ponen menos de su parte a la hora de hacer el sistema fácil de usar. Los recién llegados suelen sentirse más cómodos con Linux. En 1.992 AT&T denunció a BSDI, el distribuidor de BSD/386, alegando que el producto contenía código propiedad de AT&T. El caso fué sobreseído en 1.994 pero la huella del litigio perdura. Aún en Marzo de 2.000 en un artículo publicado en la web se aseguraba que el caso había sido “resuelto hace poco”. Un detalle que el proceso judicial aclaró fue el de la nomenclatura: en los 80 BSD era conocido como “BSD UNIX ”. Tras la eliminación del último vestigio de código de AT&T, BSD perdió el derecho a llamarse UNIX. Es por esto que es posible encontrar títulos de libros referentes a “the 4.3BSD UNIX operating system” y “the 4.4BSD operating system”. Existe la creencia de que los proyectos BSD están fragmentados y enfrentados entre sí. El Wall Street Journal habló de la “balcanización ” de los proyectos BSD. Como en el caso del pleito, esa creencia se fundamenta en historia antigua. Comparemos BSD y Linux De manera que, ¿cuál es la diferencia entre, digamos, Debian Linux y FreeBSD? Para el usuario avanzado la diferencia es sorprendentemente pequeña: ambos son sistemas operativos tipo UNIX. Ambos son desarrollados por proyectos no comerciales (esto, por supuesto, no es aplicable a la mayoría del resto de distribuciones de Linux). En el siguiente apartado tomaremos BSD como punto de partida y lo compararemos con Linux. La descripción se ajusta más a FreeBSD, que posee aproximadamente el 80% de los sistemas BSD instalados, pero las diferencias con NetBSD y OpenBSD son pequeñas. ¿Quién posee BSD? Ninguna persona o empresa posee BSD. Su creación y distribución es obra de una comunidad de voluntarios altamente cualificados y comprometidos a lo largo y ancho del mundo. Algunos de los componentes de BSD son proyectos de Código Abierto que cuentan con responsables ajenos al proyecto BSD. ¿Cómo se desarrolla y actualiza BSD? Los kernel BSD son desarrollados y actualizados siguiendo el modelo de desarrollo de Código Abierto. Cada proyecto mantiene un árbol de fuentes accesible públicamente mediante un “Sistema Concurrente de Versiones” (Concurrency Versions System, CVS), que contiene todos los ficheros fuente del proyecto, incluidos los de la documentación y otros ficheros relacionados. CVS permite a los usuarios “hacer un check out” (en otras palabras, extraer una copia) de los ficheros que componen la versión elegida del sistema. Un gran número de desarrolladores de muy diversas partes del mundo contribuye con mejoras a BSD. Estan divididos en tres categorías: Contributors son aquellos que escriben código o documentación. No se les permite “hacer commit” (es decir, añadir código) directamente al árbol de fuentes. Para que su código sea incluido en el sistema debe ser revisado y probado por un desarrollador registrado o committer. Committers son desarrolladores que disponen de acceso de escritura en el árbol de fuentes. Para convertirse en committer es necesario demostrar habilidad en el área en la cual él o ella trabaja. Depende del criterio individual de cada committer cuándo pedir autorización antes de hacer cambios en el árbol de fuentes. En general un committer experimentado puede incluir cambios que son obviamente correctos sin necesidad de consenso. Por ejemplo, un/a committer que trabaje en un proyecto de documentación puede corregir errores tipográficos o gramaticales sin necesidad de revisión. Por otra parte, se espera de desarrolladores que pretendan realizar cambios de gran calado o complicados que envíen sus cambios para que sean revisados antes de ser incluidos. En casos extremos un miembro del “core team” con una función como la del Principal Architect puede pedir que los cambios sean retirados del árbol; es lo que llamamos backing out. Todos los/las committers reciben un correo electrónico acerca de cada cambio concreto en el árbol de fuentes así que no es posible hacerlo en secreto. El Core team. Tanto FreeBSD como NetBSD disponen de un “core team” que coordina el proyecto. Los “core team” dirigen el rumbo de los proyectos pero sus funciones no siempre están claras. No es necesario ser desarrollador para ser un miembro de un “core team” pero suele ser lo habitual. Las normas de un “core team” varían de un proyecto a otro pero en general tienen más influencia sobre la dirección del proyecto. Éste sistema difiere del de Linux en algunos aspectos: Nadie posee el principio de autoridad. En la práctica eso es muy relativo, puesto que el “Chief Architect” puede solicitar que cierta entrada del árbol de fuentes sea eliminada e incluso en el proyecto Linux a ciertas personas les está permitido hacer cambios. Por otra parte hay un repositorio central, un único lugar donde encontrar las fuentes del sistema operativo íntegro, incluyendo todas las versiones anteriores. Los BSD mantienen el “Sistema Operativo” completo, no únicamente el kernel. Ésta distinción es válida únicamente como definición puesto que ni BSD ni Linux son útiles sin aplicaciones: las aplicaciones que se usan en BSD suelen ser las mismas que las que se usan en Linux. Como resultado del mantenimiento estructurado de un único árbol de fuentes mediante CVS el desarrollo de BSD es limpio y es posible acceder a cualquier versión del sistema por su número de versión o por la fecha. Del mismo modo CVS permite actualizaciones incrementales del sistema: por ejemplo el repositorio de FreeBSD es actualizado en torno a 100 veces al día, aunque la mayoría de esos cambios son pequeños. Versiones de BSD Cada proyecto BSD pone a disposición pública tres “releases” (versiones) distintas. Igual que en Linux, las “releases ” tienen asignado un número como por ejemplo 1.4.1 ó 3.5. Además el número de versión tiene un sufijo que indica su propósito: La versión de desarrollo del sistema recibe el nombre de CURRENT. FreeBSD asigna un número a CURRENT, por ejemplo FreeBSD 5.0-CURRENT. NetBSD utiliza un sistema ligeramente diferente y añade un sufijo compuesto por una única letra que indica cambios en las interfaces internas, por ejemplo NetBSD 1.4.3G. OpenBSD no asigna ningún número ("OpenBSD-current". Ésta rama es la que incluye todo el desarrollo. A intervalos regulares, entre dos y cuatro veces al año, los proyectos liberan una versión RELEASE del sistema, que está disponible en CD-ROM y mediante FTP para su descarga gratuíta, por ejemplo OpenBSD 2.6-RELEASE o NetBSD 1.4-RELEASE. La versión RELEASE está dirigida al usuario final y es la versión “estándar ” del sistema. NetBSD también dispone de patch releases que incluyen un tercer dígito, como por ejemplo NetBSD 1.4.2. A medida que se van encontrando errores en la versión RELEASE son corregidos y las soluciones son incluidas en el árbol CVS. En FreeBSD la versión resultante se denomina versión STABLE, mientras que en NetBSD y OpenBSD continúa siendo la versión RELEASE. Nuevas características más pequeñas pueden ser añadidas en esta rama tras un período de pruebas en la rama CURRENT. Linux, en cambio, mantiene dos árboles de código separados: la versión estable y la versión de desarrollo. Las versiones estables añaden un número par de versión, como 2.0, 2.2 ó 2.4. Las versiones de desarrollo añaden un número impar, como en 2.1, 2.3 ó 2.5. En ambos casos a ese número se le añade otro más que indica la versión exacta. Por si fuera poco cada distribuidor añade sus propios programas y aplicaciones de entorno de usuario, así que el número de versión es importante. Cada distribuidor además asigna números de versión a la distribución, así pues la descripción completa podría ser algo como “TurboLinux 6.0 with kernel 2.2.14” ¿Cuántas versiones de BSD existen? A diferencia de las numerosas distribuciones de Linux tan sólo hay tres BSD libres. Cada proyecto BSD mantiene su propio árbol de fuentes y su propio kernel. En la práctica, sin embargo, las diferencias en el entorno de usuario (“userland”) entre los distintos BSD son menores que las que hay en Linux. Es difícil enumerar los objetivos de cada proyecto puesto que las diferencias son muy subjetivas. En general, FreeBSD tiene como meta ofrecer alto rendimiento y facilidad de uso al usuario final y es uno de los favoritos entre proveedores de contenidos web. Funciona en PC y en procesadores Alpha de Compaq. El proyecto FreeBSD cuenta con un número de usuarios significativamente mayor que los otros proyectos. NetBSD tiene como meta la Portabilidad: No en vano su lema es “of course it runs NetBSD” (que podría traducirse como “claro que funciona con NetBSD”). Funciona en máquinas que abarcan desde PDAs a grandes servidores e incluso ha sido usado por la NASA en misiones espaciales. Es una excelente elección para utilizar viejo hardware no Intel. OpenBSD tiene como meta la seguridad y la integridad del código: combina del concepto de código abierto y una revisión rigurosa del código que dan como fruto un sistema muy correcto, elegido por instituciones preocupadas por la seguridad como bancos, entidades de cambio y departamentos gubernamentales de los EEUU. Al igual que NetBSD funciona en gran variedad de plataformas. Existen dos sistemas operativos BSD más que no son de código abierto, BSD/OS y el MacOS X de Apple: BSD/OS es el derivado más antíguo de 4.4BSD. No es código abierto pero es posible conseguir licencias de su código fuente a un precio relativamente bajo. Se parece a FreeBSD en muchos aspectos. Mac OS X es la última versión del sistema operativo para la gama Macintosh de Apple Computer Inc. El núcleo BSD Unix de éste sistema operativo, Darwin, está libremente disponible como sistema operativo de fuente abierto totalmente funcional para arquitecturas x86 y PPC. El sistema gráfico Aqua/Quartz y la mayoría de las demás aspectos característicos de Mac OS X son código cerrado. Varios desarrolladores de Darwin son también “committers” de FreeBSD y viceversa. ¿Qué diferencias hay entre la licencia BSD y la licencia pública GNU? Linux está disponible bajo la GNU General Public License (GPL), que fue diseñada para evitar el software cerrado. Más concretamente, cualquier trabajo derivado de un producto con licencia GPL debe suministrar el código fuente si es requerido. En contraste, la licencia BSD es menos restrictiva: permite la distribución en forma exclusivamente binaria. Este aspecto es especialmente atractivo para aplicaciones empotradas. ¿Qué más debería saber? Dado que existen menos aplicaciones para BSD que para Linux los desarrolladores de BSD han creado un paquete de compatibilidad con Linux que permite hacer funcionar programas de Linux bajo BSD. El paquete contiene tanto modificaciones del kernel, con el fin de gestionar correctamente las llamadas al sistema de Linux, como ficheros necesarios para la compatibilidad con Linux como la Biblioteca C. No hay diferencias notables en velocidad de ejecución entre una aplicación de Linux ejecutándose en un sistema Linux y una aplicación Linux ejecutándose en un sistema BSD de la misma velocidad. El modelo “todo del mismo proveedor” de BSD implica que las actualizaciones son mucho más sencillas de gestionar de lo que con frecuencia son en Linux. BSD maneja las actualizaciones de versiones de bibliotecas suministrando módulos de compatibilidad para versiones anteriores, de modo que es posible ejecutar binarios con varios años de antiguedad sin problemas. Entonces ¿Qué debería usar, BSD o Linux? ¿Qué significa realmente esa pregunta? ¿Quién debería utilizar BSD y quién Linux?. Ésta es una pregunta muy difícil de responder. He aquí varias pautas: “Si no está roto no lo arregles”: Si ya usa un sistema operativo de código abierto y está satisfecho con él, probablemente no hay ninguna buena razón para cambiar. Los sistemas BSD, especialmente FreeBSD, pueden proporcionar un rendimiento notablemente superior que Linux, pero esto no es una ley inmutable. En muchos casos no hay diferencia de rendimiento o esta es muy pequeña. En algunos casos Linux podría tener un rendimiento mejor que FreeBSD. En general los sistemas BSD gozan de una mejor reputación en cuanto a disponibilidad, principalmente por la mayor madurez de su código base. La licencia BSD puede resultar más atractiva que la GPL. BSD puede ejecutar código de Linux, mientras que Linux no puede hacer lo propio con código de BSD. Como resultado de esto hay una mayor cantidad de software disponible para BSD que para Linux. ¿Quién ofrece soporte, servicios y formación orientada a BSD? BSDi siempre ha ofrecido soporte para BSD/OS y en fechas recientes anunció contratos de soporte para FreeBSD. Además cada uno de los proyectos tiene una lista de consultores: FreeBSD, NetBSD, y OpenBSD. Noticias, temas de tecnología, descarga de programas, cursos de programación gratis creados por mi, esto y más en: http://mibean.blogspot.mx/

118
21
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.