<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tuxteno.COM &#187; Programación</title>
	<atom:link href="http://www.tuxteno.com/archivo/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tuxteno.com/archivo</link>
	<description></description>
	<lastBuildDate>Fri, 22 Jul 2011 18:31:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Contenido del Podcats #20</title>
		<link>http://www.tuxteno.com/archivo/2011/02/contenido-del-podcats-20/</link>
		<comments>http://www.tuxteno.com/archivo/2011/02/contenido-del-podcats-20/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 16:21:09 +0000</pubDate>
		<dc:creator>karam</dc:creator>
				<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tuxteno.COM]]></category>
		<category><![CDATA[20]]></category>
		<category><![CDATA[Congreso PHP]]></category>
		<category><![CDATA[freeSecurity]]></category>
		<category><![CDATA[tuxteno]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/archivo/?p=2014</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/podcast.png" width="32" height="32" alt="contenido-del-podcats-20" border="0" /></div>
Contenido del podcast:
1.-FreeSecurity
2.-Primer congreso nacional de PHP
3.-Cierre Segunda Temporada
4.-Y &#8230; más
Descargar Podcast 20


Descargar Poddcast #19
]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/podcast.png" width="32" height="32" alt="contenido-del-podcats-20" border="0" /></div>
<p>Contenido del podcast:<img class="alignright" src="../../pod/tuxteno20.jpg" alt="" width="130" height="89" /></p>
<p>1.-FreeSecurity<br />
2.-Primer congreso nacional de PHP<br />
3.-Cierre Segunda Temporada<br />
4.-Y &#8230; más</p>
<p><a href="http://www.poderato.com/file_send/mp3.mp3?mp3=10693l5806l67068.mp3">Descargar Podcast 20</a></p>
<p><a href="http://www.alcancelibre.org/article.php/lo-mas-relevante-2010"><br />
</a></p>
<p><a href="http://www.poderato.com/file_send/mp3.mp3?mp3=10693l5806l62488.mp3">Descargar Poddcast #19</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2011/02/contenido-del-podcats-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.poderato.com/file_send/mp3.mp3?mp3=10693l5806l67068.mp3" length="14293876" type="audio/mpeg" />
<enclosure url="http://www.poderato.com/file_send/mp3.mp3?mp3=10693l5806l62488.mp3" length="67727" type="audio/mpeg" />
		</item>
		<item>
		<title>ORACLE + PHP</title>
		<link>http://www.tuxteno.com/archivo/2007/10/oracle-php/</link>
		<comments>http://www.tuxteno.com/archivo/2007/10/oracle-php/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 15:55:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=1107</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="oracle-php" border="0" /></div>
Bueno hace poco se tenia la curiosidad de poder accesar a una BD oracle desde php, antes de empezar con este pequeño tutorial es importante mencionar que el servidor cuentas con las siguientes instalaciones:

solaris 9
apache 2.2.3
oracle 10g

Bien ahora hay que descargar las fuentes de php y comenzamos las compilacion con la siguiente linea:
# ./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="oracle-php" border="0" /></div>
<p>Bueno hace poco se tenia la curiosidad de poder accesar a una BD oracle desde php, antes de empezar con este pequeño tutorial es importante mencionar que el servidor cuentas con las siguientes instalaciones:</p>
<ul>
<li>solaris 9</li>
<li>apache 2.2.3</li>
<li>oracle 10g</li>
</ul>
<p>Bien ahora hay que descargar las fuentes de php y comenzamos las compilacion con la siguiente linea:</p>
<p><em># ./configure &#8211;with-apxs2=/usr/local/apache2/bin/apxs &#8211;with-oci8=$ORACLE_HOME &#8211;with-zlib</em></p>
<p><em></em>donde $ORACLE_HOME pertenece a la ruta de instalacion de ORACLE si todo sale sin error podremos hacer:</p>
<p><em># make</em></p>
<p><em># make install</em></p>
<p><em></em>no olviden copiar el archivo php.ini-dist a la ruta /usr/local/lib/php.ini y reiniciamos el apache.</p>
<p>ok ahora podemos crear un pequeño script de prueba:</p>
<p>&lt;?php<br />
$c = oci_connect(&#8221;usuario&#8221;, &#8220;password&#8221;, &#8220;//localhost/SID&#8221;);<br />
$s = oci_parse($c, &#8217;select * from tabla&#8217;);<br />
$s = oci_parse($c, $sql);<br />
oci_execute($s);<br />
while ($row = oci_fetch_array($s,         OCI_RETURN_NULLS)) {<br />
print &#8221;;<br />
foreach ($row as $item)<br />
print &#8221;.$iitem.&#8221;;<br />
print &#8221;;<br />
}<br />
print &#8216;&lt;br&gt;&#8217;;<br />
oci_close($c);<br />
?&gt;</p>
<p>a tomar en cuenta que SID es el nombre de instancia de oracle que queremos accesar.</p>
<p>Bueno espero que les sirva, mas adelante y dependiendo del tiempo que tenga podremos hacer algunas cosas mas complejas.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2007/10/oracle-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WASP &#8211; PHP_Sec</title>
		<link>http://www.tuxteno.com/archivo/2007/01/wasp-php_sec/</link>
		<comments>http://www.tuxteno.com/archivo/2007/01/wasp-php_sec/#comments</comments>
		<pubDate>Wed, 03 Jan 2007 14:52:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=1062</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="wasp-php_sec" border="0" /></div>
Hola a todos los tux-lectores, en esta ocasion les comentare al respecto de una librería que estoy usando en un proyecto que implica LAMP y la librería WASP &#8211; PHP_Sec que actua como un detector de intrusos pero a nivel de script. Es capaz de detectar muchos tipos de ataques (sql injection, cross site scripting, [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="wasp-php_sec" border="0" /></div>
<p>Hola a todos los tux-lectores, en esta ocasion les comentare al respecto de una librería que estoy usando en un proyecto que implica LAMP y la librería WASP &#8211; PHP_Sec que actua como un detector de intrusos pero a nivel de script. Es capaz de detectar muchos tipos de ataques (sql injection, cross site scripting, directory traversal, shellcode) además incluye mecanismos para facilitar el manejo de encriptación en PHP, opciones para recabar mucha información acerca del host atacante. Para los administradores de redes con tecnología Open Source es de suma utilidad pero recuerden que hay que desarrollar el ambiente para aplicar esta librería.</p>
<p>Link: http://savannah.nongnu.org/projects/wasp</p>
<p>Saludos</p>
<p>Sangre de Diablo</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2007/01/wasp-php_sec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un editor sencillo con MONO para CSharp</title>
		<link>http://www.tuxteno.com/archivo/2006/07/un-editor-sencillo-con-mono-para-csharp/</link>
		<comments>http://www.tuxteno.com/archivo/2006/07/un-editor-sencillo-con-mono-para-csharp/#comments</comments>
		<pubDate>Thu, 13 Jul 2006 12:37:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=715</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="un-editor-sencillo-con-mono-para-csharp" border="0" /></div>
Hola de nuevo aquí­ les presento un editor que nos ayudará un poco a escribir código en C#. Se aceptan sugerencias &#8230;  y mejoras.
Editor.cs
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
// Programa que muestra el editor visual.
using Glade;
using Gtk;
using System;
using System.IO;
using GtkSourceView;
class Editor {
[Widget] Window window1;
[Widget] MenuItem quit1, about1, ejecutar1, new1, open1, save1, save_as1;
[Widget] ScrolledWindow scrolledwindow1;
[Widget] Statusbar statusbar1;
FileSelection fs;
SourceView view;
SourceBuffer buffer;
Window [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="un-editor-sencillo-con-mono-para-csharp" border="0" /></div>
<p>Hola de nuevo aquí­ les presento un editor que nos ayudará un poco a escribir código en C#. Se aceptan sugerencias &#8230;  y mejoras.</p>
<p>Editor.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
// Programa que muestra el editor visual.</p>
<p>using Glade;<br />
using Gtk;<br />
using System;<br />
using System.IO;<br />
using GtkSourceView;</p>
<p>class Editor {</p>
<p>[Widget] Window window1;<br />
[Widget] MenuItem quit1, about1, ejecutar1, new1, open1, save1, save_as1;<br />
[Widget] ScrolledWindow scrolledwindow1;<br />
[Widget] Statusbar statusbar1;</p>
<p>FileSelection fs;<br />
SourceView view;<br />
SourceBuffer buffer;</p>
<p>Window g_win;<br />
Button _btn;<br />
Entry _ent;<br />
VBox vbox;</p>
<p>static string file = &#8220;&#8221;;<br />
bool activo = false;<br />
const int id = 1;</p>
<p>public Editor () {</p>
<p>Application.Init ();</p>
<p>Glade.XML gxml = new Glade.XML (null, &#8220;interfaz.glade&#8221;, &#8220;window1&#8243;, null);</p>
<p>gxml.Autoconnect ( this );</p>
<p>// Agregando eventos &#8230;<br />
quit1.Activated += new EventHandler ( On_Exit_Item_Activate );<br />
about1.Activated += new EventHandler ( Acerca_de );<br />
ejecutar1.Activated += new EventHandler ( Ejecutar );<br />
new1.Activated += new EventHandler ( Nuevo );<br />
open1.Activated += new EventHandler ( Abrir );<br />
save1.Activated += new EventHandler ( Guardar );<br />
save_as1.Activated += new EventHandler ( GuardarComo );<br />
window1.DeleteEvent += new DeleteEventHandler ( Salir );</p>
<p>view = new SourceView (CreateBuffer ());<br />
view.ShowLineNumbers = true;</p>
<p>scrolledwindow1.Add (view);</p>
<p>fs = new FileSelection (&#8221;Escoge fichero&#8221;);<br />
fs.Response += new ResponseHandler (OnFileSelectionResponse);</p>
<p>statusbar1.Push (id, &#8220;Bienvenido&#8221;);</p>
<p>window1.Focus = scrolledwindow1;</p>
<p>window1.ShowAll ();</p>
<p>Application.Run ();<br />
}</p>
<p>SourceBuffer CreateBuffer () {</p>
<p>SourceLanguagesManager manager = new SourceLanguagesManager ();<br />
SourceLanguage lang = manager.GetLanguageFromMimeType (&#8221;text/x-csharp&#8221;);</p>
<p>buffer = new SourceBuffer (lang);<br />
buffer.Highlight = true;<br />
return buffer;<br />
}</p>
<p>public static void Main () {</p>
<p>new Editor ();<br />
}</p>
<p>void Salir (object o, DeleteEventArgs args) {</p>
<p>Application.Quit ();<br />
Console.WriteLine (&#8221;Programa finalizado&#8221;);<br />
}</p>
<p>void On_Exit_Item_Activate (object o, EventArgs args) {</p>
<p>Application.Quit ();<br />
Console.WriteLine (&#8221;Programa finalizado&#8221;);<br />
}</p>
<p>void Acerca_de (object o, EventArgs args) {</p>
<p>new PopUp ();<br />
}</p>
<p>void Ejecutar (object o, EventArgs args) {</p>
<p>Console.WriteLine (&#8221;Agrega lo que quieras aki&#8221;);<br />
}</p>
<p>void Nuevo (object o, EventArgs args) {</p>
<p>if(buffer.Text.Length != 0) {<br />
buffer.Clear ();<br />
file = &#8220;&#8221;;<br />
window1.Title = &#8220;Editor C Sharp&#8221;;<br />
activo = false;<br />
statusbar1.Pop (id);<br />
statusbar1.Push (1, &#8220;Nuevo buffer&#8221;);<br />
}<br />
else {<br />
statusbar1.Pop (id);<br />
statusbar1.Push (1, &#8220;Buffer Limpio&#8221;);<br />
}<br />
}</p>
<p>void Abrir (object o, EventArgs args) {</p>
<p>fs.Run ();<br />
fs.Hide ();<br />
}</p>
<p>void OnFileSelectionResponse (object o, ResponseArgs args) {</p>
<p>if (args.ResponseId == ResponseType.Ok) {</p>
<p>file = fs.Filename;</p>
<p>using (StreamReader sr = new StreamReader (file) ) {</p>
<p>buffer.Text = sr.ReadToEnd ();<br />
window1.Title = file;<br />
activo = true;<br />
statusbar1.Pop (id);<br />
statusbar1.Push (1, &#8220;Fichero cargado&#8221;);<br />
}<br />
}<br />
}</p>
<p>void GuardarComo (object o, EventArgs args) {</p>
<p>Dibuja ();<br />
activo = true;<br />
}</p>
<p>void Guardar (object o, EventArgs args) {</p>
<p>if(activo == false) {<br />
Dibuja ();<br />
activo = true;<br />
}</p>
<p>else {<br />
if(file.Length &gt; 0)<br />
_Guardar (file);<br />
}<br />
}</p>
<p>void Dibuja () {</p>
<p>g_win = new Window (&#8221;Guardar&#8221;);<br />
g_win.DeleteEvent += new DeleteEventHandler (Oculta);<br />
g_win.SetPosition (WindowPosition.Center);</p>
<p>vbox = new VBox (false, 2);<br />
vbox.Show ();</p>
<p>_ent = new Entry();<br />
_ent.Show ();</p>
<p>_btn = new Button (&#8221;Guardar&#8221;);<br />
_btn.Clicked += new EventHandler (GuardarNombre);<br />
_btn.Show ();</p>
<p>vbox.PackStart(_ent, true, true , 0);<br />
vbox.PackStart(_btn, true, true , 0);</p>
<p>g_win.Add (vbox);<br />
g_win.ShowAll ();<br />
}</p>
<p>void GuardarNombre (object o, EventArgs args) {</p>
<p>if(_ent.Text.Length &gt; 0)<br />
_Guardar(_ent.Text);</p>
<p>g_win.Hide ();<br />
}</p>
<p>void _Guardar (string tmp) {</p>
<p>StreamWriter sw = new StreamWriter(tmp);<br />
sw.Write (buffer.Text);<br />
sw.Close();<br />
window1.Title = tmp;<br />
statusbar1.Pop (id);<br />
statusbar1.Push (1, &#8220;Fichero guardado&#8221;);<br />
}</p>
<p>void Oculta (object o, DeleteEventArgs args) {<br />
g_win.Hide ();<br />
g_win.Destroy ();<br />
}<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>About.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
// A Popup window &#8230; Acerca de<br />
using System;<br />
using Gtk;</p>
<p>class PopUp {</p>
<p>Gtk.Window win;<br />
Fixed fxd;</p>
<p>public PopUp () {</p>
<p>win = new Gtk.Window (&#8221;Creditos&#8221;);<br />
win.SetDefaultSize (184, 79);<br />
win.Resizable = false;<br />
win.SetPosition(WindowPosition.Center);<br />
win.DeleteEvent += Window_Delete;</p>
<p>fxd = new Fixed ();<br />
win.Add (fxd);</p>
<p>Image i = new Image (&#8221;images/Mono1.gif&#8221;);<br />
fxd.Put (i, 0, 0);</p>
<p>Label lbl0 = new Label (&#8221;Hecho por:&#8221;);<br />
fxd.Put (lbl0, 0, 100);</p>
<p>lbl0 = new Label (&#8221;GGC (gerardogc2378@yahoo.com.mx)&#8221;);<br />
fxd.Put (lbl0, 0, 120);</p>
<p>lbl0 = new Label (&#8221;:-)&#8221;);<br />
fxd.Put (lbl0, 0, 140);</p>
<p>win.ShowAll ();<br />
}</p>
<p>void Window_Delete (object obj, EventArgs args) {</p>
<p>win.Hide ();<br />
win.Destroy ();<br />
}<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Makefile<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
MCS=mcs<br />
FLAGS= -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0 -pkg:gtksourceview-sharp-2.0<br />
RESOURCE= -resource:interfaz.glade<br />
SOURCE= Editor.cs About.cs<br />
CODE= -codepage:utf8</p>
<p>Main.exe: ${SOURCE}<br />
${MCS} ${FLAGS} ${RESOURCE} ${SOURCE} ${CODE}</p>
<p>clean:<br />
rm -rf Editor.exe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>y por Último la interfaz hecha con GLADE-2</p>
<p>interfaz.glade<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
<!--*- mode: xml -*--></p>
<p>True Editor C Sharp GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER False 400 300 True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_CENTER True False</p>
<p>True False 0</p>
<p>True GTK_PACK_DIRECTION_LTR GTK_PACK_DIRECTION_LTR</p>
<p>True _File True</p>
<p>True Ejecutar True</p>
<p>True gtk-apply 1 0.5 0.5 0 0</p>
<p>True gtk-new True</p>
<p>True gtk-open True</p>
<p>True gtk-save True</p>
<p>True gtk-save-as True</p>
<p>True</p>
<p>True gtk-quit True</p>
<p>True _Help True</p>
<p>True _About True</p>
<p>True gtk-about 1 0.5 0.5 0 0</p>
<p>0 False False</p>
<p>True False 0</p>
<p>True True GTK_POLICY_ALWAYS GTK_POLICY_ALWAYS GTK_SHADOW_NONE GTK_CORNER_TOP_LEFT</p>
<p>0 True True</p>
<p>True True</p>
<p>0 False False</p>
<p>0 True True</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Obvio que esto es Software Libre no tengo que decirlo verdad?&#8230;</p>
<p>PD La imagen descargala de http://www.mono-project.com/Logos y crea un directorio llamado imágnes y colocarla ahií­ con el nombre respectivo. Utilizo la versión 1.1.15 de ls Suite de MONO, osea la penúltima.</p>
<p>Como sugerencia visita la siguiente página:</p>
<p>http://www.ecma-international.org/publications/standards/Ecma-334.htm</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/07/un-editor-sencillo-con-mono-para-csharp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mono Binary</title>
		<link>http://www.tuxteno.com/archivo/2006/06/mono-binary/</link>
		<comments>http://www.tuxteno.com/archivo/2006/06/mono-binary/#comments</comments>
		<pubDate>Thu, 22 Jun 2006 20:33:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=719</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="mono-binary" border="0" /></div>
Mono(tm) Binary Kernel Support for Linux
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Configurar Linux para la ejecución de binarios .NET creados apartir de la suite Mono sin necesitar el envoltorio o wrapper mono CLR, puedes usar simplemente el soporte BINFMT_MISC dentro del kernel. Esto te permite ejecutar binarios .NET basados en Mono. Como?
1) Simple, instalar la Suite de Mono ya sea desde [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="mono-binary" border="0" /></div>
<p>Mono(tm) Binary Kernel Support for Linux<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Configurar Linux para la ejecución de binarios .NET creados apartir de la suite Mono sin necesitar el envoltorio o wrapper mono CLR, puedes usar simplemente el soporte BINFMT_MISC dentro del kernel. Esto te permite ejecutar binarios .NET basados en Mono. Como?</p>
<p>1) Simple, instalar la Suite de Mono ya sea desde fuentes o del binario que proporciona la pagina del proyecto.</p>
<p>2) Debes tener el kernel compilado con soporte BINFMT_MISC ya sea ke lo tengas como modulo o incluido dentro del kernel. Si optas por la primera opción (modulo), debes asegurarte de cargarlo en el arranque del sistema o cargarlo manualmente (ver man modprobe/insmod), a lo que lleva que debes compilarte un kernel a tu medida o bien fijarte si la distro que usas lo posee, que es lo mas seguro.</p>
<p>3) Puedes agregar las siguientes lineas a /etc/rc.local o script similar para que en el arranque sea automatico la puesta del nuevo registro de binarios, o hacerlo a mano.</p>
<p># Insert BINFMT_MISC module into the kernel if [ ! -e /proc/sys/fs/binfmt_misc/register ];then /sbin/modprobe binfmt_misc<br />
# Some distributions, like Fedora Core, perform<br />
# the following command automatically when the<br />
# binfmt_misc module is loaded into the kernel.<br />
# Thus, it is possible that the following line<br />
# is not needed at all. Look at /etc/modprobe.conf<br />
# to check whether this is applicable or not. mount -t binfmt_misc none /proc/sys/fs/binfmt_misc fi<br />
# Register support for .NET CLR binaries if [ -e /proc/sys/fs/binfmt_misc/register ]; then<br />
# Replace /usr/bin/mono with the correct pathname to # the Mono CLR runtime (usually /usr/local/bin/mono # when compiling from sources or CVS). echo &#8216;:CLR:M::MZ::/usr/bin/mono:&#8217; &gt; /proc/sys/fs/binfmt_misc/register else echo &#8220;No binfmt_misc support&#8221; exit 1 fi<br />
4) Una vez finalizado hagamos el canonico hola mundo. Test.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
using Gtk;<br />
using System;<br />
class Test {<br />
Window w;<br />
public Test ()<br />
{<br />
Application.Init ();<br />
w = new Window (&#8221;Hiii World&#8221;);<br />
w.DeleteEvent += new DeleteEventHandler (Salir);<br />
w.SetPosition (WindowPosition.Mouse);<br />
w.ShowAll (); Application.Run ();<br />
}<br />
static void Salir (object o, DeleteEventArgs args)<br />
{<br />
Application.Quit ();<br />
}</p>
<p>public static void Main()<br />
{<br />
new Test ();<br />
}<br />
}<br />
en shell:</p>
<p>$ mcs Test.cs -pkg:gtk-sharp<br />
$ ./Test.exe</p>
<p>Si optas manualmente haz lo siguiente como root:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p># modprobe binfmt_misc (Si esta como modulo si no obvia este paso)<br />
# mount -t binfmt_misc none /proc/sys/fs/binfmt_misc # echo &#8216;:CLR:M::MZ::/usr/bin/mono:&#8217; &gt; /proc/sys/fs/binfmt_misc/register</p>
<p>NOTA: Enjoy it!!!! Observa que en este ejemplo la suite esta ubicada en /usr, por lo que el wrapper esta en /usr/bin/mono, si tienes el path diferente sustituyelo por tu propio path. Probado en Gentoo 2005.1, Fedora Cx, RedHat 8,9 y SuSE 8x y 9x.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/06/mono-binary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalando MONO desde fuentes</title>
		<link>http://www.tuxteno.com/archivo/2006/06/instalando-mono-desde-fuentes/</link>
		<comments>http://www.tuxteno.com/archivo/2006/06/instalando-mono-desde-fuentes/#comments</comments>
		<pubDate>Sun, 11 Jun 2006 19:16:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=718</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="instalando-mono-desde-fuentes" border="0" /></div>
Como instalar la Suite MONO desde fuentes
Primero descargamos las fuentes desde http://www.mono-project.com, yo utilizare solo estos &#8230;
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
* gecko-sharp-0.6.tar.gz
* gecko-sharp-2.0-0.11.tar.gz
* gtk-sharp-1.0.10.tar.gz
* gtk-sharp-2.4.2.tar.gz
* gtk-sharp-2.8.2.tar.gz
* gtksourceview-sharp-2.0-0.10.tar.gz
* libgdiplus-1.1.15.tar.gz
* mono-1.1.15.tar.gz
* mono-tools-1.1.11.tar.gz
* monodevelop-0.11.tar.gz
* monodoc-1.1.13.tar.gz
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
Creamos un directorio temporal denominado MONO en /tmp donde destareamos los fuentes que vayamos necesitando por ejemplo:

$ mkdir /tmp/MONO
$ for i in *.gz; do tar zxf $i -C [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="instalando-mono-desde-fuentes" border="0" /></div>
<p><img src="http://www.i-dome.com/imax/mono-novell.jpg" border="0" alt="" align="left" /><strong><span style="font-size: xx-small;">Como instalar la Suite MONO desde fuentes</span></strong></p>
<p>Primero descargamos las fuentes desde <a href="http://www.mono-project.com" target="_blank">http://www.mono-project.com</a>, yo utilizare solo estos &#8230;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* gecko-sharp-0.6.tar.gz<br />
* gecko-sharp-2.0-0.11.tar.gz<br />
* gtk-sharp-1.0.10.tar.gz<br />
* gtk-sharp-2.4.2.tar.gz<br />
* gtk-sharp-2.8.2.tar.gz<br />
* gtksourceview-sharp-2.0-0.10.tar.gz</p>
<p>* libgdiplus-1.1.15.tar.gz<br />
* mono-1.1.15.tar.gz<br />
* mono-tools-1.1.11.tar.gz<br />
* monodevelop-0.11.tar.gz<br />
* monodoc-1.1.13.tar.gz<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Creamos un directorio temporal denominado MONO en /tmp donde destareamos los fuentes que vayamos necesitando por ejemplo:</p>
<p><code><br />
$ mkdir /tmp/MONO<br />
$ for i in *.gz; do tar zxf $i -C /tmp/MONO; echo $i; done<br />
</code></p>
<p>y como usuario root creamos el directorio donde se instalara la Suite de Mono &#8230;</p>
<p><code><br />
# mkdir /opt/mono<br />
</code></p>
<p>vamos al directorio mono-1.1.15 y ejecutamos:</p>
<p><code><br />
$ ./configure --prefix=/opt/mono &amp;&amp; make<br />
</code></p>
<p>y como root</p>
<p><code><br />
# make install<br />
</code></p>
<p>y exportamos las siguientes variables al fichero .bashrc del usuario que desea utilizar la suite.</p>
<p>.bashrc &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
<code><br />
export PATH=$PATH:/opt/mono/bin export MANPATH=$MANPATH:/opt/mono/man<br />
export LD_LIBRARY_PATH=/opt/mono/lib export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/mono/lib/pkgconfig export MONO_PATH=/opt/mono/lib<br />
</code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>seguimos con:</p>
<p>libgdiplus-1.1.15, gtk-sharp-1.0.10, monodoc-1.1.13, mono-tools-1.1.11, gecko-sharp-0.6, gtk-sharp-2.4.2, gecko-sharp-2.0-0.11, gtksourceview-sharp-2.0-0.10, gtk-sharp-2.8.2 y monodevelop-0.11.</p>
<p>hacemos lo mismo para cada uno de los paketes mecionados cuidando el orden, compilamos siempre como usuario normal por razones de seguridad (./configure &#8211;prefix=/opt/mono &amp;&amp; make). Instalamos siempre como root (make install).</p>
<p>Atte GGC.</p>
<p>Probado en Gentoo 2005.1 y GNOME 2.12 (un GNOME completo)</p>
<p>P.D. Los demas paketes de la pagina de mono que he obviado los puedes instalar de la misma manera si asi lo deseas. boo, cocoa, xps, ikvm, heap-buddy, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/06/instalando-mono-desde-fuentes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conectando Mono con PostgreSQL un ejemplo</title>
		<link>http://www.tuxteno.com/archivo/2006/06/conectando-mono-con-postgresql-un-ejemplo/</link>
		<comments>http://www.tuxteno.com/archivo/2006/06/conectando-mono-con-postgresql-un-ejemplo/#comments</comments>
		<pubDate>Fri, 02 Jun 2006 16:05:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=714</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="conectando-mono-con-postgresql-un-ejemplo" border="0" /></div>

Conectando Mono con PostgreSQL un ejemplo
La Suite Mono (1.1.15) con el SGBD PostgreSQL 8.1.3 que son las versiones que utilizo, necesitamos descargar un driver de nombre npgsql (0.7.1) para ayudarnos a conectar a PostgreSQL, OK.
Aki esta la liga:
Npgsql0.7.1-linux-installer.tar.bz2
o visita la página del proyecto:
gborg.postgresql.org
por si hay uno más actual, la instalación del driver es muy sencilla [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="conectando-mono-con-postgresql-un-ejemplo" border="0" /></div>
<p><img src="http://primates.ximian.com/~miguel/images/mono.fire.gif" alt="" /></p>
<p><strong><span style="font-size: xx-small;">Conectando Mono con PostgreSQL un ejemplo</span></strong></p>
<p>La Suite Mono (1.1.15) con el SGBD PostgreSQL 8.1.3 que son las versiones que utilizo, necesitamos descargar un driver de nombre npgsql (0.7.1) para ayudarnos a conectar a PostgreSQL, OK.</p>
<p>Aki esta la liga:</p>
<p><a href="ftp://gborg.postgresql.org/pub/npgsql/stable/Npgsql0.7.1-linux-installer.tar.bz2" target="_blank">Npgsql0.7.1-linux-installer.tar.bz2</a></p>
<p>o visita la página del proyecto:</p>
<p><a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php" target="_blank">gborg.postgresql.org</a></p>
<p>por si hay uno más actual, la instalación del driver es muy sencilla es un binario instaló  en tu directorio personal este generó un directorio con un fichero que necesitamos (Npgsql.dll).</p>
<p>Bien el código es el siguiente:</p>
<p>GUI.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p><code><br />
using Glade;<br />
using System;<br />
using Gtk;</code></p>
<p>class Example {<br />
[Widget] Window window1;<br />
[Widget] Button button1;<br />
[Widget] Entry entry1;<br />
[Widget] Entry entry2;<br />
[Widget] Entry entry3;<br />
[Widget] Entry entry4;</p>
<p>public Example () {</p>
<p>Application.Init ();<br />
Glade.XML gxml = new Glade.XML (null, &#8220;postgresql.glade&#8221;, &#8220;window1&#8243;, null);<br />
gxml.Autoconnect ( this );</p>
<p>window1.DeleteEvent += new DeleteEventHandler (Salir);</p>
<p>button1.Clicked += new EventHandler ( Btn_0 );</p>
<p>window1.ShowAll ();</p>
<p>Application.Run ();<br />
}</p>
<p>public static void Main () {</p>
<p>new Example ();<br />
}</p>
<p>public void Salir (object o, DeleteEventArgs args) {</p>
<p>Application.Quit ();<br />
Console.WriteLine (&#8221;Programa finalizado&#8221;);<br />
}</p>
<p>public void Btn_0 (object o, EventArgs args) {</p>
<p>Console.WriteLine (&#8221;Guardando informacion &#8230;&#8221;);</p>
<p>if(entry4.Text.Length != 0) {<br />
new Inserta (entry4.Text, entry1.Text, entry2.Text, entry3.Text);</p>
<p>entry4.Text = &#8220;&#8221;;<br />
entry1.Text = &#8220;&#8221;;<br />
entry2.Text = &#8220;&#8221;;<br />
entry3.Text = &#8220;&#8221;;<br />
}<br />
else<br />
Console.WriteLine(&#8221;El campo ID no acepta datos nulos &#8230; <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> &#8221;);<br />
}<br />
}<br />
// mcs -pkg:glade-sharp -pkg:gtk-sharp<br />
-resource:postgresql.glade -r:System.Data.dll -r:Npgsql.dll GUI.cs Inserta.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Inserta.cs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
// Para insertar un dato en la base de datos Empleado debe existir una tabla de<br />
// nombre empleado con atributos de:<br />
// Nombre(varchar),<br />
// Sueldo(float),<br />
// Puesto(varchar)<br />
// Atte GGC <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>using System;<br />
using System.Data;<br />
using Npgsql;</p>
<p>class Inserta {</p>
<p>public Inserta (string args1, string args2, string args3, string args4) {</p>
<p>NpgsqlConnection conn = new NpgsqlConnection(&#8221;Server=localhost;Port=5432;User Id=glezc841;Database=Empleado;&#8221;);</p>
<p>conn.Open ();</p>
<p>NpgsqlCommand c_insert = new NpgsqlCommand (&#8221;insert into empleado values (&#8221; + args1 + &#8220;,&#8217;&#8221; + args2 + &#8220;&#8216;,&#8221; + args3 + &#8220;,&#8217;&#8221; + args4 + &#8220;&#8216;)&#8221;, conn);</p>
<p>Int32 rowsaffected;</p>
<p>rowsaffected = c_insert.ExecuteNonQuery();<br />
conn.Close ();<br />
}<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Para compilarlo usa lo siguiente:</p>
<p><code><br />
mcs -pkg:glade-sharp -pkg:gtk-sharp -resource:postgresql.glade -r:System.Data.dll -r:Npgsql.dll GUI.cs Inserta.cs<br />
</code></p>
<p>y la interfaz que glade-2 nos prorporciona es:</p>
<p><code><br />
postgresql.glade<br />
--------------------------------------------------------</p>
<p><a href="http://victor.tuxteno.com/archivos/filez/postgresql.glade">postgresql.glade</a> </code></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
o utiliza el fichero Makefile</p>
<p><code><br />
Makefile<br />
--------------------------------------------------------</code></p>
<p># Sun Apr  2 10:50:23 2006<br />
CC= mcs<br />
FLAGS= -pkg:glade-sharp -pkg:gtk-sharp<br />
RESOURCE= -resource:postgresql.glade<br />
SOURCE= GUI.cs Inserta.cs<br />
OTHER_FLAGS= -r:System.Data.dll -r:Npgsql.dll</p>
<p>GUI.exe: ${SOURCE}<br />
${CC} ${FLAGS} ${RESOURCE} ${SOURCE} ${OTHER_FLAGS}</p>
<p>clean:<br />
rm -rf GUI.exe</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>y en shell tipea<br />
<code><br />
$ make</code></p>
<p>o</p>
<p>$ make clean</p>
<p>Todos los ficheros fuente (*.cs,*.glade, Makefile, ) deben estar en un directorio y el fichero Npgsql.dll o bien dale la ruta para encontrarlo a la hora de compilarlo con mcs, o dentro del Makefile.</p>
<p>Atte GGC <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p>PD Diviertete.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/06/conectando-mono-con-postgresql-un-ejemplo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Binary</title>
		<link>http://www.tuxteno.com/archivo/2006/03/java-binary/</link>
		<comments>http://www.tuxteno.com/archivo/2006/03/java-binary/#comments</comments>
		<pubDate>Sun, 26 Mar 2006 14:17:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=713</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="java-binary" border="0" /></div>
Java(tm) Binary Kernel Support for Linux v1.03
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
Linux beats them ALL! While all other OS&#8217;s are TALKING about direct
support of Java Binaries in the OS, Linux is doing it!
¡Linux le gana a todos!, Mientras todos los demás Sistemas Operativos están hablando del soporte directo de binarios Java en su Sistema, ¡Linux ya lo está haciendo!
Leyendo la [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="java-binary" border="0" /></div>
<p>Java(tm) Binary Kernel Support for Linux v1.03<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Linux beats them ALL! While all other OS&#8217;s are TALKING about direct<br />
support of Java Binaries in the OS, Linux is doing it!</p>
<p>¡Linux le gana a todos!, Mientras todos los demás Sistemas Operativos están hablando del soporte directo de binarios Java en su Sistema, ¡Linux ya lo está haciendo!</p>
<p>Leyendo la documentación del Kernel Linux, me encontré con la novedad de poder ejecutar ficheros java o mejor dicho ficheros con extensión class, jar y ficheros html, donde en este último existe una lí­nea que ubica al fichero class compilado con javac.</p>
<p>Bien, lo primero que debes tener son las fuentes del Kernel Linux (http://www.kernel.org), para destarearlo en /usr/src. Una vez hecho esto escoge tus opciones pertinentes para hacer un Kernel personalizable (lo que con lleva a que debes saber o haber compilado uno al menos <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , pero con la novedad que dentro de &#8212; Executable File formats &#8212; escojas la opcion:</p>
<p>&lt;*&gt; Kernel support for MISC binaries</p>
<p>Casi por lo regular las distros tienen marcado estas opciones dentro de Executable File formats y se compilan como parte del núcleo, no como módulos integrados. Si optas como módulo debes cargarlo manualmente con modprobe/insmod (ver man de modprobe e insmod) o una alternativa que cargue el módulo en el arranque del sistema.</p>
<p>Una vez que tu kernel se ha iniciado correctamente, como root haz lo siguiente:</p>
<p># mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc</p>
<p>Esto sirve para registrar un nuevo tipo de binario, por lo que habrá que escribir en él con echo (binfmt_misc significa binary format miscellaneous <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> :</p>
<p># echo &#8216;:Java:M::\xca\xfe\xba\xbe::/usr/local/bin/javawrapper:&#8217; &gt; /proc/sys/fs/binfmt_misc/register</p>
<p>para ficheros java</p>
<p># echo &#8216;:ExecutableJAR:E::jar::/usr/local/bin/jarwrapper:&#8217; &gt; /proc/sys/fs/binfmt_misc/register</p>
<p>para los jar y para finalizar</p>
<p># echo &#8216;:Applet:E::html::/usr/java/j2sdk1.4.2_08/bin/appletviewer:&#8217; &gt; /proc/sys/fs/binfmt_misc/register</p>
<p>para los applets como podrÃƒÂ¡s notar el PATH de java lo tengo en /usr/java/ pero faltan tres ficheros restantes.</p>
<p>* javawrapper (Shell script)<br />
* jarwrapper (Shell script)<br />
* javaclassname (que sale de un fichero con el mismo nombre con extensión .c compilado con GCC)</p>
<p>Esos vienen adjuntos en /usr/src/linux/Documentation/java.txt solo habrá que copiar y pegar :-O en /usr/local/bin por que es la ruta donde se ubican al escribir con echo.</p>
<p>Y por fin la cúspide de todo esto, hagamos el canónico hola mundo en java.</p>
<p>// HelloWorld.java</p>
<p>class HelloWorld {<br />
public static void main(String args[]) {<br />
System.out.println(&#8221;A ver si esto realmente funciona!&#8221;);<br />
System.out.println(&#8221;Hii World &#8230;. <img src='http://www.tuxteno.com/archivo/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> &#8221;);<br />
}<br />
}</p>
<p>Lo compilamos con:<br />
javac HelloWorld.java</p>
<p>Fijamos permisos de ejecución en el archivo binario, con:<br />
chmod 755 HelloWorld.class</p>
<p>Y lo ejecutamos:<br />
./HelloWorld.class</p>
<p>Para mÃƒÂ¡s información consulta la documentación adjunta con los fuentes del Kernel Linux.</p>
<p>Fácil no? de igual forma podemos hacerlo con ficheros .exe que genera MONO. Probado en Gentoo Linux 2005.1 con el Kernel 2.6.13</p>
<p>Atte GGC gerardogc2378@yahoo.com.mx</p>
<p>PD Si deseamos tener una entrada en /etc/fstab agrega lo siguiente:</p>
<p>.<br />
.<br />
.<br />
none  /proc/sys/fs/binfmt_misc binfmt_misc defaults 0 0</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/03/java-binary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ejemplos de Python.</title>
		<link>http://www.tuxteno.com/archivo/2006/01/ejemplos-de-python/</link>
		<comments>http://www.tuxteno.com/archivo/2006/01/ejemplos-de-python/#comments</comments>
		<pubDate>Tue, 03 Jan 2006 02:15:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=709</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="ejemplos-de-python" border="0" /></div>
Para empezar bien el año, me he hecho un &#8220;tutorial&#8221; de python a base de muchos ejemplos, que van desde cosas elementales del lenguaje, hasta funciones, clases, métodos, instancias, bases de datos, etc.
La mayorí­a de los ejemplos vienen explicados con comentarios para su fácil comprensión.
python-crac_examples
python-crac_examples.tgz
eric@tuxteno.com
]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="ejemplos-de-python" border="0" /></div>
<p>Para empezar bien el año, me he hecho un &#8220;tutorial&#8221; de python a base de muchos ejemplos, que van desde cosas elementales del lenguaje, hasta funciones, clases, métodos, instancias, bases de datos, etc.</p>
<p>La mayorí­a de los ejemplos vienen explicados con comentarios para su fácil comprensión.</p>
<p><a href="http://eric.ad-sistemas.com/python/python-crac_examples/">python-crac_examples</a></p>
<p><a href="http://eric.ad-sistemas.com/python/python-crac_examples.tgz">python-crac_examples.tgz</a></p>
<p><em>eric@tuxteno.com</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2006/01/ejemplos-de-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Código de barras en php</title>
		<link>http://www.tuxteno.com/archivo/2005/10/codigo-de-barras-en-php/</link>
		<comments>http://www.tuxteno.com/archivo/2005/10/codigo-de-barras-en-php/#comments</comments>
		<pubDate>Wed, 26 Oct 2005 08:36:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://www.tuxteno.com/?page=700</guid>
		<description><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="codigo-de-barras-en-php" border="0" /></div>







En una aplicaciÃƒÂ³n que estoy realizando en PHP me vi en la necesidad de usar un lector de cÃƒÂ³digo de barras para checar los productos. DespuÃƒÂ©s de probar varias alternativas me encontrÃƒÂ© con esta aplicaciÃƒÂ³n PHP-barcode, es totalmente funcional y ademÃƒÂ¡s tiene licencia GPL. CaracterÃƒÂ­sticas:

Crea cÃƒÂ³digos como imÃƒÂ¡genes PNG, JPG y GIF, salida HTML (con [...]]]></description>
			<content:encoded><![CDATA[<div class="postavatar"><img src="http://www.tuxteno.com/archivo/wp-content/uploads/icons/retro.png" width="32" height="32" alt="codigo-de-barras-en-php" border="0" /></div>
<p><TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><br />
<TBODY><br />
<TR><br />
<TD colSpan=2><br />
<CENTER><IMG alt=barcode1 hspace=0 src="http://www.erufenix.gwgaming.net/images/barcode.png" border=0><br />
<CENTER></CENTER></CENTER></TD></TR><br />
<TR><br />
<TD align=justify colSpan=2><FONT size=2>En una aplicaciÃƒÂ³n que estoy realizando en PHP me vi en la necesidad de usar un lector de cÃƒÂ³digo de barras para checar los productos. DespuÃƒÂ©s de probar varias alternativas me encontrÃƒÂ© con esta aplicaciÃƒÂ³n <A href="http://www.ashberg.de/php-barcode/index.php">PHP-barcode</A>, es totalmente funcional y ademÃƒÂ¡s tiene licencia GPL. CaracterÃƒÂ­sticas:<br />
<UL><br />
<LI>Crea cÃƒÂ³digos como imÃƒÂ¡genes PNG, JPG y GIF, salida HTML (con tablas) y en modo texto.<br />
<LI>Soporta las codificaciones: </LI></UL></FONT></TD></TR><br />
<TR><br />
<TD align=justify width="5%"></TD><br />
<TD alingn="justify"><FONT size=2><br />
<UL><br />
<LI>ANY choose best-fit(default)<br />
<LI>EAN 8 o 13 EAN-CodeUPC&nbsp;&nbsp;&nbsp; 12-digit EAN<br />
<LI>ISBN isbn numbers (still EAN-13)<br />
<LI>code 39<br />
<LI>code 128 (a,b,c: autoselection)<br />
<LI>128C code 128 (compact form for digits)<br />
<LI>128B code 128, full printable ascii<br />
<LI>I25 interleaved 2 of 5 (only digits)<br />
<LI>128RAW Raw code 128 (by Leonid A. Broukhis)<br />
<LI>CBR&nbsp;&nbsp;&nbsp; Codabar (by Leonid A. Broukhis)<br />
<LI>MSI MSI (by Leonid A. Broukhis)<br />
<LI>PLS Plessey (by Leonid A. Broukhis) </LI></UL></FONT></TD></TR><br />
<TR><br />
<TD colSpan=2 aling="justify"><FONT size=2><br />
<UL><br />
<LI>Usa <A href="ftp://ftp.gnu.org/gnu/barcode/">GNU-barcode</A> como codificador.</LI></UL>Ventajas que he notado al usarlo:<br />
<UL><br />
<LI>Acepta mayÃƒÂºsculas, minÃƒÂºsculas, nÃƒÂºmeros espacios y sÃƒÂ­mbolos especiales.<br />
<LI>La impresiÃƒÂ³n y resoluciÃƒÂ³n de la imagen es de buena calidad.<br />
<LI>La lectura con los scanners da buenos resultados, lo probÃƒÂ© con varios lectores y no presento ningÃƒÂºn error en el codigo de barras.<br />
<LI>Se puede crear un pdf del cÃƒÂ³digo. </LI></UL><BR>AquÃƒÂ­ les dejo un comprimido (<A href="http://www.erufenix.gwgaming.net/des/php-barcode.tar.gz">tar.gz</A>, <A href="http://www.erufenix.gwgaming.net/des/php-barcode.zip">zip</A>)con los archivos necesarios para su funcionamiento con algunas modificaciones que hize: ejecuta genbarcode respectivo al &nbsp;S.O. en que se este corriendo, fondo invisible de la imagen y sus respectivos src de gnu-barcode compilado en Fedora 3.<BR>Para usarlo tipear:<BR></FONT><br />
<TR><br />
<TD colSpan=2><FONT color=#ff6600 size=2>barcode.php?code=123abc&amp;encoding=128C&amp;scale=4&amp;mode=png&nbsp;ÃƒÂ³ genera.php</FONT></TD></TR></TD></TR></FONT></TBODY></TABLE></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tuxteno.com/archivo/2005/10/codigo-de-barras-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

