<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Infomafia.net</title>
		<link>http://www.infomafia.net/</link>
		<description>Web para Programadores, Desarrolladores, Estudiantes de Informatica y Ciencias de la Computacion</description>
		<language>es</language>
		<lastBuildDate>Sun, 20 May 2012 21:46:58 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>60</ttl>
		<image>
			<url>http://www.infomafia.net/images/twisteddark/misc/rss.jpg</url>
			<title>Infomafia.net</title>
			<link>http://www.infomafia.net/</link>
		</image>
		<item>
			<title>Impress.js. Presentaciones en 3D basadas en HTML y CSS3</title>
			<link>http://www.infomafia.net/articulos-sobre-informatica-31/impress-javascript-presentaciones-en-3d-basadas-en-html-y-css3-1431</link>
			<pubDate>Sat, 19 May 2012 20:05:21 GMT</pubDate>
			<description>Imagen: http://img51.imageshack.us/img51/7292/impress400x191.png  
 
¿Ya te aburriste de las mismas presentaciones simples, sencillas y sin chiste...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img51.imageshack.us/img51/7292/impress400x191.png" border="0" alt="" /></div><br />
¿Ya te aburriste de las mismas presentaciones simples, sencillas y sin chiste visual en tu web?<br />
<br />
Nosotros te preponemos Impress.<acronym title="JavaScript">js</acronym>.<br />
<br />
<b>¿Qué es Impress.<acronym title="JavaScript">js</acronym>?</b><br />
<br />
Es una herramienta de presentación inspirada por la idea de prezi.com, la cual se basa en el poder de transformaciones y visualizaciones CSS3 en los navegadores modernos.<br />
<br />
<b>Propósito de Impress.<acronym title="JavaScript">js</acronym></b><br />
<br />
Representar grandes pensamientos y pequeñas ideas mediante la posición, rotación y ajuste a escala en un lienzo infinito dónde el único límite es la imaginación.<br />
<br />
<b><font color="Red">¿Mencione que la presentación es en 3D?</font></b> Si! Como lo lees, la presentación se genera en 3D, algo que dudamos mucho supere Prezi. Por otro lado no creas que es algo complicado utilizar Impress.<acronym title="JavaScript">js</acronym>, lo único que requieres es tener habilidades básicas en HTML y CSS; sin embargo debes tener en cuenta que si se necesita de ser un diseñador… o al menos tener imaginación y creatividad, ya que por defecto no hay estilos o plantillas para las presentaciones de Impress.<acronym title="JavaScript">js</acronym>, tendrás que generarlo a mano.<br />
<br />
Tampoco hay hojas de estilos externas que dependan de la herramienta, tan sólo agrega los estilos necesarios para trabajar.<br />
<br />
<b>Ejemplos y código fuente</b><br />
<br />
Si quieres ver lo que puedes hacer con Impress.<acronym title="JavaScript">js</acronym> visita el <a href="http://bartaz.github.com/impress.js/#/imagination" target="_blank">GitHub Oficial</a>, allí mismo podrás encontrar el <a href="https://github.com/bartaz/impress.js/blob/master/index.html" target="_blank">código fuente de ejemplo</a>.<br />
<br />
<div align="center"><img src="http://img707.imageshack.us/img707/6220/impressjs.jpg" border="0" alt="" /></div><br />
Pruébalo, coméntanos que te pareció y cual fue tu experiencia al utilizar <b>Impress.<acronym title="JavaScript">js</acronym></b>.</div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/articulos-sobre-informatica-31/">Artículos sobre Informática</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/articulos-sobre-informatica-31/impress-javascript-presentaciones-en-3d-basadas-en-html-y-css3-1431</guid>
		</item>
		<item>
			<title>Creando PDF con Java con iText</title>
			<link>http://www.infomafia.net/java-16/creando-pdf-con-java-con-itext-1430</link>
			<pubDate>Sat, 19 May 2012 05:09:11 GMT</pubDate>
			<description>*Creando nuestro primer PDF* 
 
Para poder manejar PDF en java es necesario contar con la librería iText...</description>
			<content:encoded><![CDATA[<div><b>Creando nuestro primer PDF</b><br />
<br />
Para poder manejar PDF en java es necesario contar con la <a href="http://www.mediafire.com/download.php?7usonze578qgvrz" target="_blank">librería iText</a><br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.Paragraph;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class GeneratesPDFFileWithText {<br />
<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document document = new Document();<br />
&nbsp; &nbsp; PdfWriter.getInstance(document, new FileOutputStream(&quot;HelloWorld.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello World&quot;));<br />
&nbsp; &nbsp; document.close();<br />
&nbsp; }<br />
}</code><hr />
</div><b>Creando Paginas en blanco en el PDF</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.Paragraph;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
<br />
&nbsp; &nbsp; Document document = new Document();<br />
&nbsp; &nbsp; PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; writer.setPageEmpty(true);<br />
&nbsp; &nbsp; document.newPage();<br />
&nbsp; &nbsp; writer.setPageEmpty(false);<br />
&nbsp; &nbsp; document.newPage();<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello World&quot;));<br />
&nbsp; &nbsp; document.newPage();<br />
&nbsp; &nbsp; writer.setPageEmpty(true);<br />
&nbsp; &nbsp; document.newPage();<br />
&nbsp; &nbsp; document.close();<br />
&nbsp; }<br />
}</code><hr />
</div><b>Actualizando el Documento PDF</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.Element;<br />
import com.lowagie.text.Paragraph;<br />
import com.lowagie.text.pdf.BaseFont;<br />
import com.lowagie.text.pdf.PdfContentByte;<br />
import com.lowagie.text.pdf.PdfReader;<br />
import com.lowagie.text.pdf.PdfStamper;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document.compress = false;<br />
&nbsp; &nbsp; Document document = new Document();<br />
&nbsp; &nbsp; PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello World&quot;));<br />
&nbsp; &nbsp; document.close();<br />
<br />
&nbsp; &nbsp; PdfReader reader = new PdfReader(&quot;HelloWorld.pdf&quot;);<br />
&nbsp; &nbsp; PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(&quot;updated.pdf&quot;), '\0', true);<br />
&nbsp; &nbsp; PdfContentByte cb = stamper.getOverContent(1);<br />
&nbsp; &nbsp; cb.beginText();<br />
&nbsp; &nbsp; cb.showTextAligned(Element.ALIGN_LEFT, &quot;Hello People&quot;, 36, 770, 0);<br />
&nbsp; &nbsp; cb.endText();<br />
&nbsp; &nbsp; stamper.close();<br />
<br />
&nbsp; }<br />
}</code><hr />
</div><b>Leer PDF en String</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.PageSize;<br />
import com.lowagie.text.Paragraph;<br />
import com.lowagie.text.pdf.PdfReader;<br />
import com.lowagie.text.pdf.PdfStamper;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document document = new Document(PageSize.A6);<br />
&nbsp; &nbsp; PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello World&quot;));<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello People&quot;));<br />
&nbsp; &nbsp; document.close();<br />
<br />
&nbsp; &nbsp; PdfReader reader = new PdfReader(&quot;2.pdf&quot;);<br />
&nbsp; &nbsp; byte[] streamBytes = reader.getPageContent(1);<br />
&nbsp; &nbsp; String contentStream = new String(streamBytes);<br />
&nbsp; &nbsp; System.out.println(contentStream);<br />
&nbsp; &nbsp; StringBuffer buf = new StringBuffer();<br />
&nbsp; &nbsp; int pos = contentStream.indexOf(&quot;Hello World&quot;) + 11;<br />
&nbsp; &nbsp; buf.append(contentStream.substring(0, pos));<br />
&nbsp; &nbsp; buf.append(&quot;, Hello &quot;);<br />
&nbsp; &nbsp; buf.append(contentStream.substring(pos));<br />
&nbsp; &nbsp; String hackedContentStream = buf.toString();<br />
&nbsp; &nbsp; PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(&quot;HelloWorldStreamHack.pdf&quot;));<br />
&nbsp; &nbsp; reader.setPageContent(1, hackedContentStream.getBytes());<br />
&nbsp; &nbsp; stamper.close();<br />
&nbsp; }<br />
<br />
}</code><hr />
</div><b>PRTokeniser</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.PageSize;<br />
import com.lowagie.text.Paragraph;<br />
import com.lowagie.text.pdf.PRIndirectReference;<br />
import com.lowagie.text.pdf.PRStream;<br />
import com.lowagie.text.pdf.PRTokeniser;<br />
import com.lowagie.text.pdf.PdfContentByte;<br />
import com.lowagie.text.pdf.PdfDictionary;<br />
import com.lowagie.text.pdf.PdfName;<br />
import com.lowagie.text.pdf.PdfReader;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document document = new Document(PageSize.A6);<br />
&nbsp; &nbsp; PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello World&quot;));<br />
&nbsp; &nbsp; document.add(new Paragraph(&quot;Hello People&quot;));<br />
&nbsp; &nbsp; document.close();<br />
<br />
&nbsp; &nbsp; PdfReader reader = new PdfReader(&quot;2.pdf&quot;);<br />
&nbsp; &nbsp; PdfDictionary page = reader.getPageN(1);<br />
&nbsp; &nbsp; PRIndirectReference objectReference = (PRIndirectReference) page.get(PdfName.CONTENTS);<br />
&nbsp; &nbsp; PRStream stream = (PRStream) PdfReader.getPdfObject(objectReference);<br />
&nbsp; &nbsp; byte[] streamBytes = PdfReader.getStreamBytes(stream);<br />
&nbsp; &nbsp; String contentStream = new String(streamBytes);<br />
&nbsp; &nbsp; System.out.println(contentStream);<br />
&nbsp; &nbsp; PRTokeniser tokenizer = new PRTokeniser(streamBytes);<br />
&nbsp; &nbsp; while (tokenizer.nextToken()) {<br />
&nbsp; &nbsp; &nbsp; if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(tokenizer.getStringValue());<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; StringBuffer buf = new StringBuffer();<br />
&nbsp; &nbsp; int pos = contentStream.indexOf(&quot;Hello World&quot;) + 11;<br />
&nbsp; &nbsp; buf.append(contentStream.substring(0, pos));<br />
&nbsp; &nbsp; buf.append(&quot;Hello&quot;);<br />
&nbsp; &nbsp; buf.append(contentStream.substring(pos));<br />
&nbsp; &nbsp; String hackedContentStream = buf.toString();<br />
&nbsp; &nbsp; document = new Document(PageSize.A6);<br />
&nbsp; &nbsp; PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(<br />
&nbsp; &nbsp; &nbsp; &nbsp; &quot;HelloWorldStreamHacked.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; PdfContentByte cb = writer.getDirectContent();<br />
&nbsp; &nbsp; cb.setLiteral(hackedContentStream);<br />
&nbsp; &nbsp; document.close();<br />
&nbsp; }<br />
<br />
}</code><hr />
</div><b>Diccionario PDF (PdfDictionary)</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.PageSize;<br />
import com.lowagie.text.pdf.BaseFont;<br />
import com.lowagie.text.pdf.PRIndirectReference;<br />
import com.lowagie.text.pdf.PRStream;<br />
import com.lowagie.text.pdf.PRTokeniser;<br />
import com.lowagie.text.pdf.PdfContentByte;<br />
import com.lowagie.text.pdf.PdfDictionary;<br />
import com.lowagie.text.pdf.PdfName;<br />
import com.lowagie.text.pdf.PdfReader;<br />
import com.lowagie.text.pdf.PdfTemplate;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document document = new Document(PageSize.A6);<br />
&nbsp; &nbsp; PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; PdfContentByte cb = writer.getDirectContent();<br />
&nbsp; &nbsp; BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);<br />
&nbsp; &nbsp; cb.beginText();<br />
&nbsp; &nbsp; cb.setFontAndSize(bf, 12);<br />
&nbsp; &nbsp; cb.moveText(88.66f, 367);<br />
&nbsp; &nbsp; cb.showText(&quot;ld&quot;);<br />
&nbsp; &nbsp; cb.endText();<br />
&nbsp; &nbsp; PdfTemplate tmp = cb.createTemplate(250, 25);<br />
&nbsp; &nbsp; tmp.beginText();<br />
&nbsp; &nbsp; tmp.setFontAndSize(bf, 12);<br />
&nbsp; &nbsp; tmp.moveText(0, 7);<br />
&nbsp; &nbsp; tmp.showText(&quot;Hello People&quot;);<br />
&nbsp; &nbsp; tmp.endText();<br />
&nbsp; &nbsp; cb.addTemplate(tmp, 36, 343);<br />
&nbsp; &nbsp; document.close();<br />
<br />
&nbsp; &nbsp; PdfReader reader = new PdfReader(&quot;2.pdf&quot;);<br />
&nbsp; &nbsp; PdfDictionary page = reader.getPageN(1);<br />
&nbsp; &nbsp; PRIndirectReference objectReference = (PRIndirectReference) page.get(PdfName.CONTENTS);<br />
&nbsp; &nbsp; PRStream stream = (PRStream) PdfReader.getPdfObject(objectReference);<br />
&nbsp; &nbsp; byte[] streamBytes = PdfReader.getStreamBytes(stream);<br />
&nbsp; &nbsp; PRTokeniser tokenizer = new PRTokeniser(streamBytes);<br />
&nbsp; &nbsp; while (tokenizer.nextToken()) {<br />
&nbsp; &nbsp; &nbsp; if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(tokenizer.getStringValue());<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; }<br />
}</code><hr />
</div>Inspeccionando un archivo PDF<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
import java.io.PrintStream;<br />
import java.util.Iterator;<br />
<br />
import com.lowagie.text.pdf.PRStream;<br />
import com.lowagie.text.pdf.PRTokeniser;<br />
import com.lowagie.text.pdf.PdfArray;<br />
import com.lowagie.text.pdf.PdfDictionary;<br />
import com.lowagie.text.pdf.PdfIndirectReference;<br />
import com.lowagie.text.pdf.PdfLister;<br />
import com.lowagie.text.pdf.PdfName;<br />
import com.lowagie.text.pdf.PdfObject;<br />
import com.lowagie.text.pdf.PdfReader;<br />
<br />
public class MainClass {<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; PdfReader reader = new PdfReader(&quot;2.pdf&quot;);<br />
&nbsp; &nbsp; PrintStream list = new PrintStream(new FileOutputStream(&quot;2.txt&quot;));<br />
&nbsp; &nbsp; PdfLister lister = new PdfLister(new PrintStream(list));<br />
&nbsp; &nbsp; PdfDictionary trailer = reader.getTrailer();<br />
&nbsp; &nbsp; lister.listDict(trailer);<br />
&nbsp; &nbsp; PdfIndirectReference info = (PdfIndirectReference) trailer.get(PdfName.INFO);<br />
&nbsp; &nbsp; lister.listAnyObject(info);<br />
&nbsp; &nbsp; lister.listAnyObject(reader.getPdfObject(info.getNumber()));<br />
&nbsp; &nbsp; PdfDictionary root = reader.getCatalog();<br />
&nbsp; &nbsp; lister.listDict(root);<br />
&nbsp; &nbsp; PdfDictionary outlines = (PdfDictionary) reader.getPdfObject(((PdfIndirectReference) root<br />
&nbsp; &nbsp; &nbsp; &nbsp; .get(PdfName.OUTLINES)).getNumber());<br />
&nbsp; &nbsp; lister.listDict(outlines);<br />
&nbsp; &nbsp; PdfObject first = reader.getPdfObject(((PdfIndirectReference) outlines.get(PdfName.FIRST))<br />
&nbsp; &nbsp; &nbsp; &nbsp; .getNumber());<br />
&nbsp; &nbsp; lister.listAnyObject(first);<br />
&nbsp; &nbsp; PdfDictionary pages = (PdfDictionary) reader.getPdfObject(((PdfIndirectReference) root<br />
&nbsp; &nbsp; &nbsp; &nbsp; .get(PdfName.PAGES)).getNumber());<br />
&nbsp; &nbsp; lister.listDict(pages);<br />
&nbsp; &nbsp; PdfArray kids = (PdfArray) pages.get(PdfName.KIDS);<br />
&nbsp; &nbsp; PdfIndirectReference kid_ref;<br />
&nbsp; &nbsp; PdfDictionary kid = null;<br />
&nbsp; &nbsp; for (Iterator i = kids.getArrayList().iterator(); i.hasNext();) {<br />
&nbsp; &nbsp; &nbsp; kid_ref = (PdfIndirectReference) i.next();<br />
&nbsp; &nbsp; &nbsp; kid = (PdfDictionary) reader.getPdfObject(kid_ref.getNumber());<br />
&nbsp; &nbsp; &nbsp; lister.listDict(kid);<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; PdfIndirectReference content_ref = (PdfIndirectReference) kid.get(PdfName.CONTENTS);<br />
&nbsp; &nbsp; PRStream content = (PRStream) reader.getPdfObject(content_ref.getNumber());<br />
&nbsp; &nbsp; lister.listDict(content);<br />
&nbsp; &nbsp; byte[] contentstream = PdfReader.getStreamBytes(content);<br />
&nbsp; &nbsp; list.println(new String(contentstream));<br />
&nbsp; &nbsp; PRTokeniser tokenizer = new PRTokeniser(contentstream);<br />
&nbsp; &nbsp; while (tokenizer.nextToken()) {<br />
&nbsp; &nbsp; &nbsp; if (tokenizer.getTokenType() == PRTokeniser.TK_STRING) {<br />
&nbsp; &nbsp; &nbsp; &nbsp; list.println(tokenizer.getStringValue());<br />
&nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; }<br />
&nbsp; }<br />
}</code><hr />
</div><b>Tagged PDF</b><br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">import java.io.FileOutputStream;<br />
<br />
import com.lowagie.text.Document;<br />
import com.lowagie.text.pdf.BaseFont;<br />
import com.lowagie.text.pdf.PdfContentByte;<br />
import com.lowagie.text.pdf.PdfName;<br />
import com.lowagie.text.pdf.PdfStructureElement;<br />
import com.lowagie.text.pdf.PdfStructureTreeRoot;<br />
import com.lowagie.text.pdf.PdfWriter;<br />
<br />
public class MainClass {<br />
&nbsp; public static void main(String[] args) throws Exception {<br />
&nbsp; &nbsp; Document document = new Document();<br />
&nbsp; &nbsp; PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(&quot;2.pdf&quot;));<br />
&nbsp; &nbsp; writer.setTagged();<br />
&nbsp; &nbsp; document.open();<br />
&nbsp; &nbsp; PdfStructureTreeRoot root = writer.getStructureTreeRoot();<br />
&nbsp; &nbsp; PdfStructureElement eTop = new PdfStructureElement(root, new PdfName(&quot;Everything&quot;));<br />
&nbsp; &nbsp; root.mapRole(new PdfName(&quot;Everything&quot;), new PdfName(&quot;Sect&quot;));<br />
&nbsp; &nbsp; PdfStructureElement e1 = new PdfStructureElement(eTop, PdfName.P);<br />
&nbsp; &nbsp; PdfStructureElement e2 = new PdfStructureElement(eTop, PdfName.P);<br />
&nbsp; &nbsp; PdfStructureElement e3 = new PdfStructureElement(eTop, PdfName.P);<br />
&nbsp; &nbsp; PdfContentByte cb = writer.getDirectContent();<br />
&nbsp; &nbsp; BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.WINANSI, false);<br />
&nbsp; &nbsp; cb.setLeading(16);<br />
&nbsp; &nbsp; cb.setFontAndSize(bf, 12);<br />
<br />
&nbsp; &nbsp; cb.beginText();<br />
&nbsp; &nbsp; cb.setTextMatrix(50, 700);<br />
&nbsp; &nbsp; for (int k = 0; k &lt; 2; ++k) {<br />
&nbsp; &nbsp; &nbsp; cb.beginMarkedContentSequence(e2);<br />
&nbsp; &nbsp; &nbsp; cb.newlineShowText(&quot;text2&quot;);<br />
&nbsp; &nbsp; &nbsp; cb.endMarkedContentSequence();<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; cb.endText();<br />
&nbsp; &nbsp; document.newPage();<br />
&nbsp; &nbsp; cb.setLeading(16);<br />
&nbsp; &nbsp; cb.setFontAndSize(bf, 12);<br />
&nbsp; &nbsp; cb.beginText();<br />
&nbsp; &nbsp; cb.setTextMatrix(50, 804);<br />
&nbsp; &nbsp; cb.beginMarkedContentSequence(e2);<br />
&nbsp; &nbsp; cb.newlineShowText(&quot;text2&quot;);<br />
&nbsp; &nbsp; cb.endMarkedContentSequence();<br />
<br />
&nbsp; &nbsp; cb.endText();<br />
<br />
&nbsp; &nbsp; cb.beginMarkedContentSequence(e3);<br />
&nbsp; &nbsp; cb.endMarkedContentSequence();<br />
&nbsp; &nbsp; document.close();<br />
&nbsp; }<br />
<br />
}</code><hr />
</div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/java-16/">Java</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/java-16/creando-pdf-con-java-con-itext-1430</guid>
		</item>
		<item>
			<title><![CDATA[Diablo 3[Multi5 Incl. Español] [Full] [JF-LB-TB]]]></title>
			<link>http://www.infomafia.net/juegos-25/diablo-3-multi5-incl-espanol-full-jf-lb-tb-1429</link>
			<pubDate>Fri, 18 May 2012 01:40:45 GMT</pubDate>
			<description>Imagen: http://img191.imageshack.us/img191/5725/juegodiabloiiicollector.jpg  
 
inf 
 
*Idioma: Español. 
Género: accion 
Tamaño: 8 Gb* 
La trama de...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img191.imageshack.us/img191/5725/juegodiabloiiicollector.jpg" border="0" alt="" /><br />
<br />
<img src="http://img204.imageshack.us/img204/1149/informacionj.png" border="0" alt=""><br />
<br />
<b>Idioma: Español.<br />
Género: accion<br />
Tamaño: 8 Gb</b><br />
La trama de Diablo III llega luego de que el mundo fue salvado de su destrucción hace veinte años por un puñado de héroes sin nombre en Diablo y Diablo II, pero después de haber sobrevivido al ataque del ejército de los infiernos se han vuelto locos de sus sufrimientos, por lo que corresponde a una nueva generación de héroes el hacer frente a las fuerzas del mal que amenazan al mundo del Santuario.<br />
<br />
La historia girará alrededor de los dos demomios sobrevivientes, Azmodan, Belial y un artefacto conocido como la “Piedra del Alma” Oscura. El Mapa del mundo de Diablo está compuesto principalmente de dos continentes principales.<br />
<br />
<img src="http://img853.imageshack.us/img853/2536/41421727059112199709.png" border="0" alt=""><br />
<br />
<b>Windows XP/Vista/7 (Ultimos service packs)<br />
DirectX 9.0c<br />
Intel Pentium® D 2.8 GHz o AMD Athlon™ 64 X2 4400+<br />
NVIDIA® GeForce® 7800 GT o ATI Radeon™ X1950 Pro o superior<br />
1 GB RAM (XP), 1.5 GB (Vista/7)<br />
12 GB Disponibles en Disco Duro<br />
Conexion a Internet<br />
Resolucion minima de 1024×748</b><br />
<br />
<img src="http://img859.imageshack.us/img859/888/capturask.png" border="0" alt=""><br />
<br />
<img src="http://img51.imageshack.us/img51/9184/09b988b138a20648136d68c.jpg" border="0" alt="" /><br />
<br />
<img src="http://img444.imageshack.us/img444/9610/839c3d30e74e84f3005a970.jpg" border="0" alt="" /><br />
<br />
<img src="http://img692.imageshack.us/img692/1936/8d45a1bae40ba5bb02e57a1v.jpg" border="0" alt="" /><br />
<br />
<img src="http://img13.imageshack.us/img13/9274/descargark.png" border="0" alt=""><br />
<br />
<font size="4"><font color="Blue">Links LetitBit</font></font><br />
<br />
<div id="hide_fieldset" class="segundaparte"  style="width: 700px"><fieldset><legend><span class="highlight">El enlace o el Codigo del Programa esta OCULTO o BLOQUEADO</span></legend>

Haga click en los anuncios de la ventana para desbloquear el contenido oculto<br>Click on the ads in the window to unlock hidden content---><input type="button" class="btnDesb" name="btnDesb" value="Desbloquear" onClick="fn35()"><br><a href="http://mbaonline.zymichost.com/descargar.html" target="_blank">No sabes COMO DESCARGAR? Ve el siguiente VIDEO<br>Do not know how to download? See the following VIDEO</a></fieldset></div>
.
<div class='primeraparte' style="display:none"><font size="4"><a href="http://www.prialepaste.com/p/VX3AN00K" target="_blank">Descargar</a></font></div><br />
<br />
<font size="4"><font color="Blue">Links TurboBit.net</font></font><br />
<br />
<div id="hide_fieldset" class="segundaparte"  style="width: 700px"><fieldset><legend><span class="highlight">El enlace o el Codigo del Programa esta OCULTO o BLOQUEADO</span></legend>

Haga click en los anuncios de la ventana para desbloquear el contenido oculto<br>Click on the ads in the window to unlock hidden content---><input type="button" class="btnDesb" name="btnDesb" value="Desbloquear" onClick="fn35()"><br><a href="http://mbaonline.zymichost.com/descargar.html" target="_blank">No sabes COMO DESCARGAR? Ve el siguiente VIDEO<br>Do not know how to download? See the following VIDEO</a></fieldset></div>
.
<div class='primeraparte' style="display:none"><font size="4"><a href="http://www.prialepaste.com/p/KJHQVDJJ" target="_blank">Descargar</a></font></div><br />
<br />
<font size="4"><font color="Blue">Links JumboFiles</font></font><br />
<br />
<div id="hide_fieldset" class="segundaparte"  style="width: 700px"><fieldset><legend><span class="highlight">El enlace o el Codigo del Programa esta OCULTO o BLOQUEADO</span></legend>

Haga click en los anuncios de la ventana para desbloquear el contenido oculto<br>Click on the ads in the window to unlock hidden content---><input type="button" class="btnDesb" name="btnDesb" value="Desbloquear" onClick="fn35()"><br><a href="http://mbaonline.zymichost.com/descargar.html" target="_blank">No sabes COMO DESCARGAR? Ve el siguiente VIDEO<br>Do not know how to download? See the following VIDEO</a></fieldset></div>
.
<div class='primeraparte' style="display:none"><font size="4"><a href="http://www.prialepaste.com/p/QAST9A8C" target="_blank">descargar</a></font></div></div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/juegos-25/">Juegos</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/juegos-25/diablo-3-multi5-incl-espanol-full-jf-lb-tb-1429</guid>
		</item>
		<item>
			<title><![CDATA[STAR WARS Episdio 1: Racer [Full] [MF]]]></title>
			<link>http://www.infomafia.net/juegos-25/star-wars-episdio-1-racer-full-mf-1428</link>
			<pubDate>Fri, 18 May 2012 01:26:44 GMT</pubDate>
			<description>Imagen: http://img338.imageshack.us/img338/29/26371165.jpg  
 
inf 
 
Como dice el titulo este juego es de carreras en “capsulas” hay varios pilotos...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img338.imageshack.us/img338/29/26371165.jpg" border="0" alt="" /><br />
<br />
<img src="http://img204.imageshack.us/img204/1149/informacionj.png" border="0" alt=""><br />
<br />
Como dice el titulo este juego es de carreras en “capsulas” hay varios pilotos para escoger (incluido Anakin Skywalker) e iran desbloqueando mas conforme ganen carreras, los vehiculos se pueden mejorar comprando refacciones con dinero que ganas por cada carrera, no recuerdo cuantos mundos son pero hay 8 pistas por cada uno. Este juego es MUY entretenido y bueno tiene todos los elementos de un juego de carreras incluidos los controles basicos (acelerar y frenar asi que pueden usar cualquier estrategia que ya sepan usar en este tipo de juegos) Comparando este juego con otros mas especializados y mas modernos como el NEED FOR SPEED, la unica diferencia es: simplemente en este no puedes cambiar los colores de tu capsula, en todo lo demas es muy similar.<br />
<br />
<img src="http://img859.imageshack.us/img859/888/capturask.png" border="0" alt=""><br />
<br />
<img src="http://img88.imageshack.us/img88/3155/screenshot1ei.png" border="0" alt="" /><br />
<br />
<img src="http://img707.imageshack.us/img707/1820/screenshot3rsn.png" border="0" alt="" /><br />
<br />
<img src="http://img13.imageshack.us/img13/9274/descargark.png" border="0" alt=""><br />
<br />
<font size="4"><font color="Blue">Link MediaFire</font></font><br />
<br />
<div id="hide_fieldset" class="segundaparte"  style="width: 700px"><fieldset><legend><span class="highlight">El enlace o el Codigo del Programa esta OCULTO o BLOQUEADO</span></legend>

Haga click en los anuncios de la ventana para desbloquear el contenido oculto<br>Click on the ads in the window to unlock hidden content---><input type="button" class="btnDesb" name="btnDesb" value="Desbloquear" onClick="fn35()"><br><a href="http://mbaonline.zymichost.com/descargar.html" target="_blank">No sabes COMO DESCARGAR? Ve el siguiente VIDEO<br>Do not know how to download? See the following VIDEO</a></fieldset></div>
.
<div class='primeraparte' style="display:none"><a href="http://www.mediafire.com/?7d8mvp4at78u90r" target="_blank"><font size="4">Descargar</font></a></div></div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/juegos-25/">Juegos</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/juegos-25/star-wars-episdio-1-racer-full-mf-1428</guid>
		</item>
		<item>
			<title>Microsoft Revela la portada de Halo 4</title>
			<link>http://www.infomafia.net/articulos-de-juegos-34/microsoft-revela-la-portada-de-halo-4-a-1427</link>
			<pubDate>Fri, 18 May 2012 01:19:51 GMT</pubDate>
			<description>Imagen: http://img135.imageshack.us/img135/4930/62413082.png  
 
hermosa ¿no? 
 
Microsoft reveló la portada oficial de Halo 4 de manera inusual,...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img135.imageshack.us/img135/4930/62413082.png" border="0" alt="" /><br />
<br />
hermosa ¿no?<br />
<br />
Microsoft reveló la portada oficial de Halo 4 de manera inusual, dividida en 32 fragmentos que fueron enviados por separado a diferentes fans del próximo título de acción y disparos desarrollado por 343 Industries. A través del sitio Halo Waypoint, los fans compartieron sus fragmentos y lograron armar el “rompecabezas” en menos de una hora.<br />
<br />
Esta es la imagen que Microsoft confirmó como el arte de la portada del juego.<br />
<br />
<img src="http://img802.imageshack.us/img802/4931/halo4600x761.jpg" border="0" alt="" /><br />
<br />
<br />
Se espera que 343 Industries y Microsoft revelen nuevos detalles del juego durante la conferencia E3 en Los Angeles a principios de junio. Halo 4 llegará exclusivamente a Xbox 360 el 6 de noviembre de 2012.</div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/articulos-de-juegos-34/">Artículos de Juegos</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/articulos-de-juegos-34/microsoft-revela-la-portada-de-halo-4-a-1427</guid>
		</item>
		<item>
			<title><![CDATA[Assassins Creed Bloodlines [Español] [Full] [PSP] [MF]]]></title>
			<link>http://www.infomafia.net/juegos-25/assassins-creed-bloodlines-espanol-full-psp-mf-1426</link>
			<pubDate>Fri, 18 May 2012 01:11:08 GMT</pubDate>
			<description>Imagen: http://img441.imageshack.us/img441/4497/coveryci.jpg  
 
inf 
*Assasin’s Creed: Bloodlines  
Desarrolladora(s) Griptonite Games ...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img441.imageshack.us/img441/4497/coveryci.jpg" border="0" alt="" /><br />
<br />
<img src="http://img204.imageshack.us/img204/1149/informacionj.png" border="0" alt=""><br />
<b>Assasin’s Creed: Bloodlines <br />
Desarrolladora(s) Griptonite Games <br />
Distribuidora(s) Ubisoft <br />
Plataforma(s) PlayStation Portable <br />
Fecha(s) de lanzamientoNA 17 de noviembre de 2009 /EU 20 de noviembre de 2009 <br />
Género(s) Aventura</b><br />
<br />
Formato(s) ISO<br />
Idioma Español/ Dialogos y menu.<br />
<br />
<img src="http://img859.imageshack.us/img859/888/capturask.png" border="0" alt=""><br />
<img src="http://img819.imageshack.us/img819/2686/assassinscreedbloodlined.jpg" border="0" alt="" /><br />
<br />
<img src="http://img23.imageshack.us/img23/1508/assassinscreedbloodlineq.jpg" border="0" alt="" /><br />
<br />
<img src="http://img13.imageshack.us/img13/9274/descargark.png" border="0" alt=""><br />
<br />
<font color="Blue"><font size="4">Links MediaFire</font></font><br />
<br />
<div id="hide_fieldset" class="segundaparte"  style="width: 700px"><fieldset><legend><span class="highlight">El enlace o el Codigo del Programa esta OCULTO o BLOQUEADO</span></legend>

Haga click en los anuncios de la ventana para desbloquear el contenido oculto<br>Click on the ads in the window to unlock hidden content---><input type="button" class="btnDesb" name="btnDesb" value="Desbloquear" onClick="fn35()"><br><a href="http://mbaonline.zymichost.com/descargar.html" target="_blank">No sabes COMO DESCARGAR? Ve el siguiente VIDEO<br>Do not know how to download? See the following VIDEO</a></fieldset></div>
.
<div class='primeraparte' style="display:none"><a href="http://www.prialepaste.com/p/R3600MCF" target="_blank"><font size="4">Descargar</font></a></div></div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/juegos-25/">Juegos</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/juegos-25/assassins-creed-bloodlines-espanol-full-psp-mf-1426</guid>
		</item>
		<item>
			<title>Analizador Léxico en Java con JFlex (NetBeans)</title>
			<link>http://www.infomafia.net/java-16/analizador-lexico-en-java-con-jflex-netbeans-1425</link>
			<pubDate>Sat, 12 May 2012 04:35:38 GMT</pubDate>
			<description>En es post les voy a presentar como crear un analizador lexico en el lenguaje de programación java usando la librería de JFlex. 
La librería la...</description>
			<content:encoded><![CDATA[<div>En es post les voy a presentar como crear un analizador lexico en el lenguaje de programación java usando la librería de JFlex.<br />
La librería la pueden descargar de la<a href="http://jflex.de/download.html" target="_blank"> pagina de JFlex</a><br />
<ul><li>Vamos explicar paso a paso mediante un vídeo como como instalar la librería para nuestro proyecto</li>
<li>Como definir mediante expresiones regulares los tokens que formaran parte de nuestro lenguaje.</li>
<li>También diseñaremos una interfaz simple que nos ayudara a ingresar las palabras a analizar por nuestro programa.</li>
<li>Y por ultimo mostraremos un menaje con los resultados obtenidos por el análisis.</li>
</ul><br />
<div align="center">[YOUTUBE]JpjrdzNQTo0[/YOUTUBE]</div><br />
Pueden descargar el Código del siguiente enlace <a href="http://www.mediafire.com/download.php?dutdwaf5cgrgt6y" target="_blank">Descargar</a></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/java-16/">Java</category>
			<dc:creator>kenny</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/java-16/analizador-lexico-en-java-con-jflex-netbeans-1425</guid>
		</item>
		<item>
			<title>Comopuedo recortar lineas pr el final de un fichero en java?</title>
			<link>http://www.infomafia.net/java-16/comopuedo-recortar-lineas-google-page-ranking-el-final-de-un-fichero-en-java-1424</link>
			<pubDate>Thu, 10 May 2012 13:09:07 GMT</pubDate>
			<description>Ayuda porfavor , 
 
---Cita--- 
 me piden  que cree un fichero de texto con los strings que se solicitan al usuario , 
-Cada uno se copiara en una...</description>
			<content:encoded><![CDATA[<div>Ayuda porfavor ,<br />
<div style="margin:20px; margin-top:5px; ">
	<div class="smallfont" style="margin-bottom:2px">Cita:</div>
	<table cellpadding="6" cellspacing="0" border="0" width="100%">
	<tr>
		<td class="alt2">
			<hr />
			
				 me piden  que cree un fichero de texto con los strings que se solicitan al usuario ,<br />
-Cada uno se copiara en una nueva linea<br />
- Cada linea del fichero tendra un maximo de 30 caracteres .Si el string introducido por el usuario tiene mas , recortara por el final<br />
<br />
			
			<hr />
		</td>
	</tr>
	</table>
</div><div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">&nbsp;  <br />
<br />
&nbsp; public class Ejercicio3 {<br />
&nbsp;public static void main(String[] args) throws IOException {<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // TODO Auto-generated method stub<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; /*<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * crear un fihero de texto con lod strings que se van solicitando al usuario<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * cada string se copiara al fichero en una nueva linea<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  *&nbsp; cada string se copiara invertido<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  *&nbsp; c<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  *&nbsp; cada linea de fichero tendra un maximo de 30 caracteres <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  *&nbsp; si tiene mas , recortara por el final<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  * <br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  */<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BufferedWriter fb=new BufferedWriter(new FileWriter(&quot;juve.txt&quot;));<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; char buffer[] = null;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; String cad=Consola.leeString();<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int c=0;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; int maxLong=30;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for ( int i=cad.length();i&gt;=0 &amp;&amp; i&gt;=c; i--){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //i obitnene la longitud de cad y mientras esta sea mayor o igual que 0<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // y el contador del buffer sea menor o igual que 30 , i ira decrementando<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; buffer[c]=cad.charAt(i);<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; c++;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (c&gt;maxLong){<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //QUE DEBO PONER AQUI???<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //se ira almacenando los caracteres de xada posicion i en el buffer <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //mientras c vaya aumentado e i disminuyendo<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; fb.close();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; }<br />
<br />
}</code><hr />
</div><br />
Esta bien el codigo??<br />
Como tengo que hacer para que me recorte por el final cuando supere el maximo de caracteres? que deberia poner en el if??<br />
<br />
<br />
muchasss gracias no vean cuanto se lo puedo agradecer!!! =)</div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/java-16/">Java</category>
			<dc:creator>Txerrinko</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/java-16/comopuedo-recortar-lineas-google-page-ranking-el-final-de-un-fichero-en-java-1424</guid>
		</item>
		<item>
			<title>Dell prepara un portátil para Desarrolladores con Ubuntu</title>
			<link>http://www.infomafia.net/articulos-sobre-informatica-31/dell-prepara-un-portatil-para-desarrolladores-con-ubuntu-1423</link>
			<pubDate>Wed, 09 May 2012 17:17:19 GMT</pubDate>
			<description>Imagen: http://img37.imageshack.us/img37/3895/dellubuntu.png  
 
Ayer día siete de mayo, Dell anunciaba en la Ubuntu Developers Summit que pretende...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img37.imageshack.us/img37/3895/dellubuntu.png" border="0" alt="" /></div><br />
Ayer día siete de mayo, Dell anunciaba en la Ubuntu Developers Summit que pretende introducirse dentro del mercado de portátiles con Linux (otra vez) con el proyecto Sputnik, un ordenador portátil para desarrolladores centrado en Ubuntu 12.04 bajo el hardware Dell Ultrabook XPS13.<br />
<br />
Si eres el feliz propietario de un XPS13 puedes <a href="http://hwe.ubuntu.com/uds-q/dellxps/" target="_blank">descargar la imagen</a> en fase de desarrollo de la distribución de Linux modificada y darle un tiento, si quieres saber lo que se encuentra dentro de ella solo tienes que seguir leyendo esta entrada.<br />
<br />
<b><font color="Red">¿Por qué un portátil para Desarrolladores?</font></b><br />
<br />
Según Barton George, líder del proyecto, Dell realizó un estudio de mercado acerca de las necesidades de desarrollo para empresas que utilizan Internet como su plataforma. Una de las ideas que recogieron fue la de un portátil Dell ejecutando Ubuntu Linux especialmente enfocado en los desarrolladores.<br />
A los ingenieros de Dell la idea les pareció interesante y se pusieron manos a la obra con el proyecto Sputnik para de esta forma poder servir mejor a las necesidades de los desarrolladores y la plataforma XPS13 les pareció la más adecuada.<br />
<br />
La decisión de Dell de elegir Ubuntu viene dada por su gren experiencia previa con la distribución de Linux de Canonical y por su alta popularidad de la que obviamente también pretenden beneficiarse. Recordemos que los XPS13 son portátiles de la gama más alta de Dell, solo superados en precio y prestaciones por la serie Alienware para Gamers.<br />
<br />
La imagen actual de Sputnik contiene lo siguiente:<ol style="list-style-type: decimal"><li>drivers/parches para la activación de Hardware</li>
<li>un kit básico de herramientas y utilidades</li>
<li>una herramienta de administración de software con la que se podrán descargar “perfiles” de desarrollo desde GitHub (en desarrollo)</li>
</ol><br />
<b><font color="RoyalBlue">Administración de perfiles de desarrollo</font></b><br />
<br />
Donde el proyecto se torna interesante es en esto que Dell ha llamado “perfiles de desarrollo”. Según Barton, no hay dos desarrolladores iguales, por lo que en lugar de sembrar la distribución con todas las herramientas de desarrollo disponibles, plantean un enfoque diferente.<br />
Como ya hemos comentado, la imagen de instalación es muy simple, la intención de la compañía es crear perfiles de desarrollo que podrán ser descargados e instalados a través de repositorios alojados en GitHub. Los primeros perfiles que están probando son Android, Ruby y JavaScript.<br />
<br />
Charles Lowell, parte del equipo de desarrollo en Austin comenta sobre el proyecto:<br />
<div style="margin:20px; margin-top:5px; ">
	<div class="smallfont" style="margin-bottom:2px">Cita:</div>
	<table cellpadding="6" cellspacing="0" border="0" width="100%">
	<tr>
		<td class="alt2">
			<hr />
			
				Lo que quiero ver no es solo una configuración estándar impecable sino además un meta-sistema para administrar tu configuración de desarrollo. La revolución de los devops es sobre tratar la configuración como código. ¿Cómo de guai sería que la configuración del portátil donde programo pudiera ser almacenada en un repositorio de código en algún sitio?.
			
			<hr />
		</td>
	</tr>
	</table>
</div>La intención de Dell es conseguir que la Comunidad de desarrolladores creen y cuelguen sus propios perfiles de desarrollo una vez la plataforma esté en marcha.<br />
<br />
Como proyecto es cuanto menos curioso y la decisión de que los repositorios se encuentren en Github a disposición de cualquiera me parece muy acertada pero habrá que ver bajo que licencia se lanza el administrador de perfiles.<br />
<br />
Si el administrador se lanza con una licencia de Software Libre sería genial para la Comunidad ya que podría extenderse el uso (si al final resulta útil y todo el sistema) del invento a otras plataformas y distribuciones. En caso contrario, el invento me parece además un movimiento de marketing muy bien pensado por Dell y Ubuntu para vender más hardware y crear más marca respectivamente.<br />
<br />
Más Información en <a href="http://bartongeorge.net/2012/05/07/introducing-project-sputnik-developer-laptop/" target="_blank">Blog personal de Barton</a></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/articulos-sobre-informatica-31/">Artículos sobre Informática</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/articulos-sobre-informatica-31/dell-prepara-un-portatil-para-desarrolladores-con-ubuntu-1423</guid>
		</item>
		<item>
			<title>Diagrama para saber elegir la licencia más apropiada para tu software</title>
			<link>http://www.infomafia.net/articulos-sobre-informatica-31/diagrama-para-saber-elegir-la-licencia-mas-apropiada-para-tu-software-1422</link>
			<pubDate>Tue, 08 May 2012 17:11:04 GMT</pubDate>
			<description>Ponerle copyright a un software y sentarse a esperar los beneficios es muy fácil, pero si alguna vez has pensado aplicar una licencia libre al fruto...</description>
			<content:encoded><![CDATA[<div>Ponerle copyright a un software y sentarse a esperar los beneficios es muy fácil, pero si alguna vez has pensado aplicar una licencia libre al fruto de tus trabajos te habrás encontrado con que es una decisión bastante complicada, especialmente por el amplio abanico de licencias disponibles y las a veces muy sutiles diferencias entre unas y otras.<br />
<br />
Como método de ayuda a la hora de elegir, y a mitad de camino entre el estudio exhaustivo y el sentido del humor, <a href="https://twitter.com/#%21/dbentley" target="_blank">Dan Bentley</a> y <a href="https://twitter.com/#%21/therealfitz" target="_blank">Brian Fitzpatrick</a> han creado esta infografía en forma de diagrama de flujo para ayudarnos en la decisión en favor de una u otra licencia.<br />
<br />
<div align="center"><img src="http://img208.imageshack.us/img208/9784/licenciaslibres1.jpg" border="0" alt="" /></div><br />
Fuente: <a href="http://www.billthelizard.com/2012/05/which-open-source-license.html" target="_blank">Bill the Lizard – Which open source license?</a></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/articulos-sobre-informatica-31/">Artículos sobre Informática</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/articulos-sobre-informatica-31/diagrama-para-saber-elegir-la-licencia-mas-apropiada-para-tu-software-1422</guid>
		</item>
		<item>
			<title>Instalar Sublime Text 2 en Ubuntu 12.04</title>
			<link>http://www.infomafia.net/sistemas-operativos-21/instalar-sublime-text-2-en-ubuntu-12-04-a-1420</link>
			<pubDate>Mon, 07 May 2012 20:34:55 GMT</pubDate>
			<description>Imagen: http://img823.imageshack.us/img823/9287/sublimetexticon2181.png  
 
Agregamos el siguiente PPA: 
 
Código: 
--------- 
sudo...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img823.imageshack.us/img823/9287/sublimetexticon2181.png" border="0" alt="" /></div><br />
Agregamos el siguiente PPA:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo add-apt-repository ppa:webupd8team/sublime-text-2</code><hr />
</div>Actualizamos:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo apt-get update</code><hr />
</div>Instalamos:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo apt-get install sublime-text-2</code><hr />
</div>Y con ello tendremos Sublime Text instalado en:<blockquote>/usr/lib/sublime-text-2</blockquote>Fuente: <a href="http://sudokill.blogspot.com/2012/01/instalar-sublime-text-2-en-ubuntu-1110.html" target="_blank">sudokill.blogspot.com</a></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/sistemas-operativos-21/">Sistemas Operativos</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/sistemas-operativos-21/instalar-sublime-text-2-en-ubuntu-12-04-a-1420</guid>
		</item>
		<item>
			<title>Cómo poner Eclipse en el Untity Launcher de Ubuntu</title>
			<link>http://www.infomafia.net/sistemas-operativos-21/como-poner-eclipse-en-el-untity-launcher-de-ubuntu-1419</link>
			<pubDate>Sun, 06 May 2012 19:56:32 GMT</pubDate>
			<description>Imagen: http://img685.imageshack.us/img685/5205/eclipsefb.png  
 
Primero de debe crear un .desktop file para eclipse, es preferible crearlo en la...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img685.imageshack.us/img685/5205/eclipsefb.png" border="0" alt="" /></div><br />
Primero de debe crear un .desktop file para eclipse, es preferible crearlo en la siguiente ruta<blockquote>~/.local/share/applications/eclipse.desktop</blockquote>Luego pega esto dentro del archivo (no ovlides editar los valores de Exec y Icon values):<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">[Desktop Entry]<br />
Type=Application<br />
Name=Eclipse<br />
Comment=Eclipse Integrated Development Environment<br />
Icon=** something like /opt/eclipse/icon.xpm **<br />
Exec= ** something like /opt/eclipse/eclipse **<br />
Terminal=false<br />
Categories=Development;IDE;Java;</code><hr />
</div>Y como último paso, en la terminal abre el nautilus:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">nautilus ~/.local/share/applications/</code><hr />
</div>Busca el archivo que acabas de crear (elipse.desktop) y arrastralo hasta el Unity Launcher:<br />
<br />
<div align="center"><img src="http://i.stack.imgur.com/Gap52.gif" border="0" alt="" /></div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/sistemas-operativos-21/">Sistemas Operativos</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/sistemas-operativos-21/como-poner-eclipse-en-el-untity-launcher-de-ubuntu-1419</guid>
		</item>
		<item>
			<title>Posible solución al excesivo consumo de energía en Ubuntu</title>
			<link>http://www.infomafia.net/sistemas-operativos-21/posible-solucion-al-excesivo-consumo-de-energia-en-ubuntu-1418</link>
			<pubDate>Sat, 05 May 2012 21:51:05 GMT</pubDate>
			<description><![CDATA[Con la llegada del Kernel 2.6.38, aparte de algunas mejoras típicas de las nuevas versiones de los Kernels, trajo una "sorpresa": Un excesivo consumo...]]></description>
			<content:encoded><![CDATA[<div>Con la llegada del Kernel 2.6.38, aparte de algunas mejoras típicas de las nuevas versiones de los Kernels, trajo una &quot;sorpresa&quot;: Un excesivo consumo de energía. Como puedes ver en la entrada, el problema que descubrieron los chicos/as de Phoronix, era más grave de lo previsto, ya que ese núcleo es el que iban a usar todas las nuevas versiones de distribuciones de Linux, entre ellas Ubuntu, y no acababa hay la cosa, el problema es que no se sabía a ciencia cierta porque ocurría ese problema con el Kernel 2.6.38 por lo que según esas pruebas, la siguiente vesión del Kernel (2.6.39) también tiene ese problema.<br />
<br />
<div align="center"><img src="http://img444.imageshack.us/img444/1214/36793713.png" border="0" alt="" /></div><br />
Linux desde la salida de los netbook, ha ganado mucho mercado dentro de los netbook y los portátiles, es por ello que por ejemplo empresas como Canonical con su distribución estrella Ubuntu, ha apostado por Unity como Shell de Ubuntu ya que aprovecha mejor la pantalla, algo que es muy importantes para pantallas pequeñas como la de los netbook. Pero claro, si el consumo es muy elevado, no sale muy a cuento instalar Ubuntu o cualquier distribución Linux en un portátil o netbook donde la autonomía es una característica muy a tener en cuenta. <br />
<br />
Los chicos y chicas de Phoronix, el error se debe a un bug en el controlador de energía para PCI Express. El controlador de energía para los puertos PCI Express que usa el Kernel 2.6.38 se llama ASPM (Active-State Power Management). Este controlador hace que los puertos PCI Express que no se estén usando se pongan en un modo de ahorro de energía según la BIOS del ordenador, y e aquí el problema. La BIOS de algunos ordenadores esta mal configurada, y hace que este sistema de ahorro de energía no lo sea así y haga consumir más energía al ordenador. Y te estarás preguntando, si el problema es de la BIOS, ¿por qué con Windows no se tiene este problema? Hace unos años hubo un problema similar con los discos duros sólidos y el gestor de energía agresivo de la BIOS del sistema. El problema fue muy parecido. Linux usaba el gestor de energía de la BIOS del sistema para apartar los cabezales del disco duro cuando no se estuvieran usando. El problema fue que se empezaron a romper discos duros con muy poco tiempo y al buscar el problema se encontró que la BIOS de algunos ordenadores usaban un gestor de energía muy agresivo. Lo que hacían es que según se dejara de usar el disco duro, apartaban los cabezales del disco duro. El caso es que cada movimiento apartando los cabezales es un movimiento físico por lo que, al cabo de bastantes movimientos, el disco duro empieza a fallar. La solución fue no hacer caso a la BIOS del sistema y usar un mapa menos agresivo para apartar los cabezales del disco duro.<br />
<br />
El caso es que Window no tenía ese problema porque el núcleo de Windows no hace caso a la BIOS del sistema y él mismo tiene sus propios controladores de energía. Ahora con el problema del exceso de energía del nucleo de Linux, viene siendo lo mismo. Algunas BIOS están mal configuradas y hacen que el consumo de energía aumente de forma considerable. Windows no tiene este problema porque como ya he comentado antes, Windows no hace caso a la BIOS. Pero entonces, quien tiene el problema ¿el Kernel de Linux o la BIOS?. Pues en mi opinión es la BIOS. La BIOS del sistema regula las partes más criticas del ordenador, por lo que tendría que estar bien programada ya que se presupone que la BIOS esta diseñada para un hardware en concreto y no el Kernel de Linux que esta diseñado para diverso hardware, por lo que se presupone que la BIOS debe tener la mejor configuración para el hardware del ordenador que el núcleo de Linux. El caso es que parece ser que con el gestor de energía de las tarjetas PCI Express no lo es. <b><font color="Red">¿Como lo solucionamos?</font></b> <br />
<br />
Primero abrimos la terminial y escribimos:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">gksu gedit /etc/default/grub</code><hr />
</div>Ahora tenemos que buscar una linea como esta:<blockquote><b>GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash&quot;</b></blockquote>Una vez encontrada esa linea, tenemos que sustituirla por esta otra:<blockquote><b>GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash pcie_aspm=force&quot;</b></blockquote>Ahora guardamos los cambios y escribimos esta linea en la terminal para actualizar el grup:<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo update-grub</code><hr />
</div>Con este cambio lo que hacemos es que el controlador del Kernel llamado ASPM tome el control de la energía de los controladores PCI Express sin dejar a la BIOS del sistema tomar el control de estos controladores.<br />
<br />
Esto solo funciona si tienes el problema del alto consumo de energía. Si no lo tienes no vas a notar nada. Yo solo recomiendo hacer este cambio si de verdad tiene problemas, ya que se presupone que la BIOS esta configurada para no dar problemas con el hardware del ordenador. Espero que con esto se solucionen los problemas de los que los sufrun.</div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/sistemas-operativos-21/">Sistemas Operativos</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/sistemas-operativos-21/posible-solucion-al-excesivo-consumo-de-energia-en-ubuntu-1418</guid>
		</item>
		<item>
			<title><![CDATA[Como instalar Oracle Java (JDK) 7 en Ubuntu [12.04 y menores]]]></title>
			<link>http://www.infomafia.net/java-16/como-instalar-oracle-java-jdk-7-en-ubuntu-12-04-y-menores-1417</link>
			<pubDate>Tue, 01 May 2012 04:31:46 GMT</pubDate>
			<description>Ya sean desarrolladores o simples usuarios que necesitan características especiales que la versión libre de Java (OpenJDK) no puede satisfacer. 
...</description>
			<content:encoded><![CDATA[<div>Ya sean desarrolladores o simples usuarios que necesitan características especiales que la versión libre de Java (OpenJDK) no puede satisfacer.<br />
<br />
Hace poco los usuarios de Ubuntu podían instalar sin problemas Oracle Java 7 desde los repositorios Partner de la distribución, pero debido a algunos cambios en la licencia realizados por Oracle, esto ya no es posible.<br />
<br />
Haciendo uso de este repositorio PPA, podemos volver a instalar de forma sencilla la mas reciente versión de la maquina virtual de Java en Ubuntu, y aunque el paquete no se encuentra directamente en el repositorio (debido a las restricciones de la licencia), el PPA descarga el paquete desde Oracle y lo instala en nuestra maquina sin necesidad de intervención por parte del usuario.<br />
<br />
Este también nos permite mantener Oracle Java 7 actualizado por medio de la actualización del sistema, como si de cualquier otro paquete almacenado en los repositorios se tratara.<br />
<br />
<b><font color="Red">INSTALAR ORACLE JAVA (JDK) 7 DESDE UN REPOSITORIO PPA</font></b><br />
<br />
El paquete incluido en el repositorio instala Oracle Java (JDK) 7 que incluye el JRE y el plugin para el navegador, pero no es posible instalar solamente el JRE.<br />
<br />
Para instalarlo ejecuta las siguientes lineas en la terminal:<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo add-apt-repository ppa:webupd8team/java<br />
sudo apt-get update<br />
sudo apt-get install oracle-jdk7-installer</code><hr />
</div><b><font color="red">DESINSTALAR ORACLE JAVA (JDK) 7</font></b><br />
<br />
Si no deseas utilizar mas Oracle Java (JDK) 7 y en su lugar prefieres la excelente versión libre OpenJDK, simplemente ejecuta la siguiente linea en la terminal y tendrás Java libre corriendo de nuevo en tu equipo.<br />
<br />
<div style="margin:20px; margin-top:5px">
	<div class="smallfont" style="margin-bottom:2px">Código:</div>
	<hr /><code style="margin:0px" dir="ltr" style="text-align:left">sudo apt-get remove oracle-jdk7-installer</code><hr />
</div></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/java-16/">Java</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/java-16/como-instalar-oracle-java-jdk-7-en-ubuntu-12-04-y-menores-1417</guid>
		</item>
		<item>
			<title>Aprender Vim como  jugando!</title>
			<link>http://www.infomafia.net/articulos-sobre-informatica-31/aprender-vim-como-jugando-1416</link>
			<pubDate>Sun, 29 Apr 2012 16:53:59 GMT</pubDate>
			<description>Imagen: http://img37.imageshack.us/img37/7486/adventuresd.jpg  
 
Los tipos duros programan en Vim (bueno o en lo que sea) pero Vim, para los menos...</description>
			<content:encoded><![CDATA[<div><div align="center"><img src="http://img37.imageshack.us/img37/7486/adventuresd.jpg" border="0" alt="" /></div><br />
Los tipos duros programan en Vim (bueno o en lo que sea) pero Vim, para los menos duros, como es mi caso es bastante complicado. Pero no preocuparse porque ya está aquí <a href="http://vim-adventures.com/" target="_blank">Vim Adventures</a> y programar en Vim se va a convertir en cosa de niños.<br />
<br />
Vim Adventures es un juego online, en plan aventura conversacional clásica y colorista, para aprender a manejar Vim desde los cursores básicos a los más potentes combos por medio de divertidos (y nada sencillos) puzzles y desafíos. Conforme vas avanzando el juego, vas desbloqueando nuevas habilidades (que vienen a ser nuevas teclas) hasta convertirte en todo un titán del Vim, un tipo rudo en plan Chuck Norris.<br />
<br />
<b>Pd:</b> parece ser que también sirve para curtirte en Vi.<br />
<br />
Vía | <a href="http://vim-adventures.com/" target="_blank">Vim Adeventures</a></div>

]]></content:encoded>
			<category domain="http://www.infomafia.net/articulos-sobre-informatica-31/">Artículos sobre Informática</category>
			<dc:creator>clindy</dc:creator>
			<guid isPermaLink="true">http://www.infomafia.net/articulos-sobre-informatica-31/aprender-vim-como-jugando-1416</guid>
		</item>
	</channel>
</rss>

