Archivo de 'Nosoloinformatica'.
Jornada de protesta contra la ley SOPA
Ayer tuvo lugar la primera jornada de protestas en Internet contra la ley SOPA. Webs como Google, Wikipedia, WordPress o Reddit han mostrado en sus webs mensajes contra esta ley.
¿Qué es la ley SOPA?
La ley SOPA (“Stop Online Piracy Act”) es un proyecto de ley que se está debatiendo en el Congreso de Estados Unidos desde que fue presentada el día 26 de octubre por Lamar S. Smith.
¿Cómo nos afectaría?
Pese a que en un principio la ley solo afectaría a Estados Unidos, las consecuencias se notarían a nivel mundial ya que gran parte de los contenidos de Internet se generan allí.
-Esta ley contempla el bloqueo por parte de los proveedores de Internet de aquellas páginas que tengan algún tipo de contenido con derechos de autor, así como penas desproporcionadas (hasta 5 años de cárcel) a aquellos usuarios que hagan descargas de contenidos protegidos con derechos de autor.
-Sitios donde se incentivan los contenidos creados por los usuarios dejarían de ser funcionales o directamente dejarían de existir ante la imposibilidad de controlar si el contenido subido por el usuario tiene derechos de autor y ante el miedo de recibir una demanda desproporcionada.
-Nuestras comunicaciones serían intervenidas para determinar si cumplimos la ley.
-Un elemento básico de la web, los enlaces, se verían también afectados. Un enlace a una web que tenga contenidos con derechos de autor también infringiría la ley SOPA.

Cómo crear una versión para imprimir
Podemos crear una versión para imprimir de una página de una forma sencilla. Tan sólo debemos definir que área de la web queremos que sea visible en la impresión.
Para empezar, en el CSS tenemos que mostrar únicamente el elemento a imprimir y ocultar el resto. Para este ejemplo se ha definido un class llamado “print”. Creamos una hoja de estilos llamada “print.css” con el siguiente contenido:
body {visibility:hidden;} .print {visibility:visible;}
Incluimos el siguiente código en la cabecera html (head):
<head> <link rel="stylesheet" href="print.css" type="text/css" media="print" /> </head>
Lo siguiente es crear un elemento con la clase “print” que incluya todo el contenido que queremos imprimir. Por ejemplo:
<div class="print"> ..contenido... </div>
Ahora ya solo nos queda crear el botón o enlace que ejecute la acción:
<input type="button" value="Imprimir" onclick="window.print();return false;" />
<a href="#" onclick="window.print();return false;">Imprimir</a>

Apple presenta el iPhone 4S
Hoy se ha celebrado la keynote en la que Apple ha presentado el nuevo iPhone 4S de la mano del nuevo CEO, Tim Cook. Muchos rumores apuntaban a dos modelos, uno normal y otro de bajo coste, pero no ha sido finalmente así. El nuevo iPhone no supone un cambio revolucionario respecto a su antecesor ya que conserva hasta el mismo aspecto, pero sí viene con muchas características nuevas:
1.-Procesador A5. Se trata de un chip de doble núcleo que permitirá doblar la velocidad de navegación e incrementarla hasta 7 veces en el caso de los juegos.
2.-Nueva cámara. Incorpora una cámara de 8 megapíxeles con una lente que permite tomar imágenes de mayor resolución y colores más nítidos. Permite la grabación en HD.
3.-Batería de mayor duración. El iPhone 4S permite 8 horas de conversación en 3G, 14 en 2G y en torno a 6 de navegación.
4.-Siri. Esta es sin duda la novedad más importante de las presentadas. Siri es una aplicación que permite al usuario utilizar todas las funciones de su teléfono mediante reconocimiento de voz. Podremos buscar direcciones, contactos en la agenda, buscar información y otras muchas cosas sin tener que escribir.
5.-iOS 5. Se trata de la última versión del sistema operativo utilizado por iPhone.
La fecha de lanzamiento oficial es el 14 de octubre para Estados Unidos. A España llegará el día 28.
Como crear un paginador en Symfony
Crear un paginador en Symfony es una tarea bastante sencilla y que no nos dará quebraderos de cabeza. Solo tenemos que modificar dos ficheros, el de acciones y la template donde aparecerá el paginador. En el fichero actions.class.php añadimos lo siguiente:
public function executeIndex (sfWebRequest $request) { $this->pager = new sfDoctrinePager('Noticias', '5');//Limitamos a 5 el número de contenidos a mostrar $this->pager->setQuery(Doctrine::getTable('Noticias')->createQuery('a')); $this->pager->setPage($request->getParameter('page', 1)); $this->pager->init(); }
Para este ejemplo tenemos que modificar la template indexSuccess.php:
<!--Mostramos los resultados--> <?php foreach ($pager->getResults() as $noticia): ?> <h2><?php print $noticia->getTitulo() ?></h2><br> <?php print html_entity_decode($noticia->getContenido()) ?><br> <br><br><br> <?php endforeach; ?> <!-- Mostramos el paginador --> <div style="width:5px;float:left;margin-top:3px;margin-right:10px"> <?php print link_to('|<', 'noticias/list?page='.$pager->getFirstPage()) ?> </div> <div> <?php if ($pager->haveToPaginate()): ?> <?php $links = $pager->getLinks(); foreach ($links as $page): ?> <div style="padding:5px 5px 5px 5px;border:#000000 thin solid;float:left;width:10px;margin-left:3px;font-size:10px" > <?php print ($page == $pager->getPage()) ? $page : link_to($page, 'noticias/list?page='.$page) ?> </div> <?php endforeach ?> <?php endif ?> </div> <div style="width:5px;float:left;margin-left:10px;margin-top:3px;"> <?php print link_to('>|', 'noticias/list?page='.$pager->getLastPage()) ?> </div>













































