Informazioni su projecteye

Alessandro Castellani, in arte projecteye, è un designer e programmatore italiano. Appassionato di gfx e opensource, passa il tempo libero a sperimentare nuovi programmi per trovare il perfetto sostituto di ogni software proprietario

Vlog 01 – appunti di produzione

Rieccoci qui con il primo video log su Project EYE.
Una breve chiacchierata su cosa stiamo facendo e cosa faremo, i programmi che usiamo e la grande passione che ci spinge a provarci continuamente.

Al contrario dei prossimi vlog che saranno più tecnici, questo ci permette di presentarci e presentare Project EYE in libertà, sperando di stimolare il vostro interesse e magari di farvi fare due risate.

A presto

Sopa: internet in rivolta e la morte di Megaupload

Nessun aggiornamento, tutorial o articolo sull’opensource. Oggi parliamo di cose brutte

SOPA - Stop Online Piracy Act

Una legge in discussione in questi giorni nella Camera dei Rappresentanti degli Stati Uniti per contrastare la pirateria online. Detta così non fa ne caldo ne freddo, visto che di azioni legali contro la pirateria online, ed i loro artefici, esistono sin dal secondo giorno di vita di internet. Il problema è che questa legge darebbe il diritto al dipartimento di Giustizia degli Stati Uniti di chiudere un sito, bloccare il provider ed arrestare il possessore, attribuendogli fino a 5 anni di carcere, senza aspettare l’esecuzione di un processo.

In sintesi, se voi caricate una canzone di Micheal Jackson su internet, rischiate di avere 5 anni di carcere…uno in più del medico che l’ha ucciso. -cit. da Twitter

Il popolo di internet si è rivoltato e non solo i “semplici” utenti hanno fatto sentire la loro voce con campagne on line e proteste mirate, ma anche le grandi compagnie e siti web, hanno dimostrato solidarietà alla causa oscurando i propri siti o dedicando delle sezioni approfondite. Le azioni più famose sono state l’oscuramento di Wikipedia per 24 ore e la sezione di Google dedicata alla protesta contro la SOPA. Le famose e non che contrastano la SOPA sono tante, ma purtroppo, quelle che l’appoggiano sono altrettante.

Piccola immagine presa da 9gag di una serie di società a favore della SOPA

Ecco un breve elenco di siti che potrebbero essere soggetti alla SOPA, e quindi chiusi o fortemente limitati:

Youtube, Facebook, Twitter e Google+. Inoltre anche i singoli blog degli utenti o le riviste online non sarebbero al sicuro, anche utilizzare un’immagine di sfondo per il proprio sito, senza avere i diritti sul copyright, vi può mettere a rischio.

La prima vittima della SOPA

Oggi viene dichiarato morto Megaupload, il servizio di file sharing tra i più famosi al mondo, il 12° sito più visitato secondo le statistiche. Chiuso, senza preavviso, ed il fondatore Kim Schmit arrestato.

Questo è un giorno triste per la storia dell’uomo, per l’innovazione, la conoscenza ed il libero scambio di informazioni. Noi di Project EYE siamo per il software libero, per il NON profitto e per la conoscenza condivisa, siamo per il progresso e siamo contro queste azioni che cercano di controllare Internet, solo perché qualche vecchio senatore si è accorto che non riesce a farci un profitto adeguato, e che far sapere troppo al popolo è sempre rischioso.

Oggi un pezzo di libertà è morta con Megaupload!

Concept video e painting con Gimp e MyPaint

Salve a tutti

Aggiungiamo un ulteriore tassello al nostro puzzle di concept per la realizzazione del primo episodio. Con grande soddisfazione sono qui a mostrarvi il concept definitivo della prima scena di Project EYE.

Grazie a questo concept siamo riusciti a definire le cromie principali del nostro mondo ed una prima bozza di stile architettonico e tecnologico dei vari elementi.

In più, visto che siamo sempre attenti alle esigenze dei nostri utenti, vi mostriamo il video timelapse (velocizzato) della sola realizzazione del concept disegnato. In questo video potrete notare le varie modifiche in corso d’opera, le prove ed i vari ripensamenti che fanno parte della normale attività di ideazione e prima visualizzazione. Ovviamente il video è stato montato in OpenShot, per mantenere la coerenza e l’amore per l’opensource.

Sperando di aver stuzzicato la vostra immaginazione vi saluto.

A presto con ulteriori aggiornamenti

Linux Mint 12 e le gnome shell extensions

Salve a tutti

Eccomi qui con un nuovo articolo sul mondo dell’Open Source, ed in particolare sull’ultima realese di una delle Distro in ascesa nel panorama dei sistemi operativi linux, ovvero Linux Mint 12, nome in codice Lisa.

Prima di tutto c’è da sapere che Linux Mint non è una distribuzione indipendente come le altre sue sorelle famose, ma è un fork, una derivazione, della più conosciuta Ubuntu.

Il team di Mint, capitanato da Clever Lefebvre, ha da sempre tentato di “migliorare” l’ esperienza desktop di Ubuntu per cercare di renderla più simile ad un desktop windows, ed in questo modo evitare l’impatto brutale che un utente windows ha durante i primi utilizzi di una qualsiasi distro linux. L’idea, e la sua relativa applicazione, ha sempre funzionato bene, portando molti utenti Ubuntu a preferire Mint come piattaforma principale o ambiente lavorativo di default. Essendo poi una derivazione di Ubuntu il passaggio non è affatto doloroso, potendo utilizzare gli stessi sorgenti di aggiornamenti ed avendo una compatibilità praticamente totale con i programmi di Ubuntu.

L’ ascesa di Mint grazie alla disgrazia di Unity

Il grande balzo di Mint, da semplice distribuzione alternativa ad ambiente desktop preferito, è stato largamente agevolato da una scelta apparentemente “fallimentare” fatta dal team di Ubuntu, ovvero l’introduzione del gestore desktop Unity.
Invece di proseguire con Gnome 2 o come fatto dalla più coraggiosa Fedora, passare all’ ancora più criticato e poco apprezzato Gnome 3, il team di Ubuntu ha deciso di realizzare un proprio ambiente desktop, nominato appunto Unity.

ubuntu unity

Unity strizza l’occhio al Mac, aggregando le applicazioni preferite dentro una dock bar laterale sempre presente che si auto-nasconde all’apertura delle applicazioni, e strutturando la top bar per accogliere programmi in esecuzione, notifiche e gestione account. L’idea non è male, fondamentalmente si tratta di un desktop molto aggregato e semplice, con pochi fronzoli ed incentrato sulle applicazioni. Il problema principale è stato causato dall’eccessiva pesantezza di Unity che richiede una costante accelerazione 3D per poter funzionare con fluidità e dagli apparentemente onnipresenti bug che non permettono una corretta integrazione con alcuni programmi o applicazioni.

L’arrivo di Unity e di Gnome 3 con un’interfaccia altrettanto alternativa rispetto alla classica Gnome 2 ha causato un fuggi fuggi generale di utenti in cerca di un desktop più classico e un ‘esperienza “già vissuta” e più sicura, portando le masse a provare ed adottare stabilmente distribuzioni basate su KDE, debian, xcfe e così via, fino alla scoperta del meraviglioso mondo Mint.

Il doloroso passaggio da Gnome 2.x a Gnome 3.x

Anche Mint ad un certo punto, e per la precisione con la release 12, ha dovuto fare i conti con l’avanzare della tecnologia. L’ormai datato gestore di desktop Gnome 2 viene rimpiazzato dal nuovo e discusso Gnome 3 che rivoluziona l’esperienza desktop ormai solidificata negli utenti Linux con l’utilizzo annesso dell’interfaccia utente Gnome Shell.

gnome3

Gli sviluppatori di Linux Mint si sono trovati quindi a dover affrontare il passaggio, tentando di mantenere l’esperienza utente il più simile possibile a quella di “desktop normale” senza rinunciare però all’implementazione delle ultime tecnologie rilasciate. Ecco quindi che entrano in gioco le estensioni di gnome shell.

La salvezza nelle Gnome Shell Extensions

Le estensioni di Gnome Shell permettono di installare ed attivare dei programmi che implementano funzionalità alla normale interfaccia utente. Questo sistema ha permesso agli sviluppatori di Mint di adattare il desktop per renderlo più “old user friendly” grazie all’aggiunta di un menù in stile windows, una barra delle applicazioni aperte ed altre funzioni più window-centriche piuttosto che app-centriche (Gnome shell esegue lo switch tra applicazioni e non tra finestre, quindi il classico alt+tab era un vago ricordo). Essendo inoltre estensioni è sempre possibile disattivarle con un semplice click per poter lentamente tornare ad un’esperienza Gnome Shell più pura, fatta di shortcut, swish, swap, chick e chack…chiaro no?

Lo stesso Linus Torvalds, che in precedenza aveva sparato a zero su gnome 3 e gnome shell, ha apprezzato l’introduzione delle estensioni di gnome che permettono una customizzazione dell’ambiente desktop a seconda delle esigenze dell’utente.

Le estensioni della Shell stanno volando a gonfie vele ed il rilascio di Gnome 3.2, con la conseguente risoluzione di molti bug fastidiosi, ha fatto riavvicinare molti utenti scontenti.

In conclusione, anche se sembrerà azzardato, mi sento di dire che Linux Mint ed i suoi sviluppatori, hanno dato il via ad un processo di transizione da gnome 2 a gnome 3 con pochi dolori. Hanno dato il buon esempio con un ottimo utilizzo delle estensioni e la popolarità della distribuzione al sapor di menta non è mai stata così meritata. Io personalmente l’ho provata e non posso essere più soddisfatto di così.

Vedremo il futuro cosa ci proporrà e quante nuove fantastiche estensioni potremo provare sul nostro desktop preferito.

A presto

LINK UTILI

Home page di Linux Mint
Provare le estensioni di Gnome Shell direttamente da internet (richiede Firefox)

Dividere articoli su più colonne in Wordpres 3.2

Salve a tutti

Ebbene si, come avrete sicuramente capito dall’eloquente titolo, sono qui a presentarvi un altro tutorial della serie Mangiare WordPress a Colazione (e non sentirsi affaticato durante il giorno).

Dopo il successo del precedente articolo che mostrava un rapido metodo per dividere gli articoli dell’home page in due colonne, questa volta si esagera e le colonne in questione sono tre. Ma come specificato nel titolo, il numero delle colonne è solo indicativo, perchè con il seguente metodo vi risulterà semplicissimo gestire i loop dei post e modificare tutte le informazioni per creare home page da due, tre, quattro colonne o anche più stili nella stessa pagina. Come fare? Lo vediamo subito.

Partiamo, come al solito, dall’esempio dell’home page di Project EYE.

Home page di project eye visualizzare articoli wordpress su tre colonne

Analizzando un attimo gli elementi da mostrare possiamo notare che sono molto pochi. Abbiamo una Featured Image, il titolo, le informazioni di pubblicazione, il baloon dei commenti ed il riassunto. Essendo il codice di wordpress usato per visualizzare gli articoli un loop, non dobbiamo fare altro che impostare questo tipo di visualizzazione una volta sola, ed il programma, automaticamente, stamperà a video gli articoli seguenti tutti nella stessa maniera. Vediamo con quante poche righe di codice si può ottenere questo risultato.

Prima di tutto dobbiamo controllare se ci sono degli articoli inseriti, in modo tale da evitare di richiamare una funzione che non stampa nulla ed evitare quindi sprechi di risorse.

<?php if(have_posts()): ?> <?php endif; ?>

Questo codice chiama una funzione di controllo che legge la presenza o meno di articoli. Se la risposta è SI, allora il programma farà vedere tutto quello che decidiamo di scrivere all’interno dei due tag php. A questo punto dobbiamo chiamare il loop necessario per far stampare in sequenza tutti gli articoli che abbiamo scritto.

<?php while ( have_posts() ) : the_post(); ?> <?php endwhile; ?>

Questa funzione potrebbe essere tradotta semplicemente con “fintanto che ho degli articoli, fammi vedere gli articoli”. Facile no? A questo punto non ci resta che usare le funzioni predefinite di wordpress per richiamare tutte le sezioni dell’articolo e quindi useremo:

  • the_post_thumbnail() per la featured image;
  • the_title() per il titolo
  • twentyeleven_posted_on() per la data e la categoria
  • the_excerpt() per il riassunto
  • comments_popup_link() per visualizzare i commenti

Tutti questi elementi ovviamente vanno richiamati all’interno di tag php <?php ?> altrimenti non funzionerebbero. Se provassimo ora a vedere la nostra pagina probabilmente vedremmo una serie scombinata di informazioni senza ordine e le featured image enormi. Dobbiamo quindi ordinare i contenuti ed assegnargli dimensioni e spaziature.

Per fare questo mi piace usare gli elenchi puntati ul e li ed i div per gestire i vari elementi.
Inoltre, cosa molto importante, dobbiamo tenere sotto controllo le dimensioni della Featured image, e per farlo dobbiamo usare questa semplice funzione.

<?php set_post_thumbnail_size(275,999); ?>

Inserendo questa funzione una sola volta prima del loop while di visualizzazione post, diciamo a wordpress di ridimensionare le featured image a 275px di larghezza. Il valore di altezza è impostato a 999px per lasciare a wordpress il compito di ridimensionarle mantenendo le proporzioni.

Quindi, sistemando il nostro codice ed avvalendoci dell’ausilio di alcune funzioni del tema Twenty Eleven, il nostro codice attualmente dovrebbe essere così.

<?php if ( have_posts() ) : ?>
<?php set_post_thumbnail_size(275,999); ?>
<ul id="article-home">
<?php while ( have_posts() ) : the_post(); ?>

<li>
<article id="post-<?php the_ID(); ?>" <?php post_class( $feature_class ); ?>>
<div>
<span id="feature"><a href="<?=get_permalink($post->ID)?>">
<?php if (has_post_thumbnail()) {the_post_thumbnail();}?></a></span>
<header>
<h1><a href="<?php the_permalink(); ?>"
title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ),
the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark">
<?php the_title(); ?></a></h1>

<div>
<?php twentyeleven_posted_on(); ?>
<?php if ( comments_open() && ! post_password_required() ) : ?>
<span>
<?php comments_popup_link( '<span>'
 . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1',
'comments number', 'twentyeleven' ), _x( '%', 'comments number',
'twentyeleven' ) ); ?>
</span>
<?php endif; ?>
</div><!-- .entry-meta -->

</header><!-- .entry-header -->
<?php the_excerpt(); ?>
<?php echo'<a href="'. get_permalink($post->ID) .
'" id="more">' . 'LEGGI TUTTO' . '</a>'; ?>
</div><!-- .entry-content -->

<footer>
<?php edit_post_link( __( 'Edit', 'twentyeleven' ),
'<span>', '</span>' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post-<?php the_ID(); ?> -->
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

A questo punto abbiamo definito i div e gli span con i loro nomi univoci. Non ci resta che creare un foglio di stile personalizzato per gestire font, colori, bordi, ecc. Se, come me, anche voi siete particolarmente pigri, potete usare il mio codice css per queste sezioni

#article-home {
	margin:0;
	padding:0;
	list-style: none outside none;
	width: 950px;
}
#article-home li {
	float: left;
	height: 420px;
	padding: 0;
	width: 285px;
}
#article-home li.centrale {
	padding: 0 47px;
}
#feature img {
	border: 5px solid #DBDBDB;
	box-shadow: 0 1px 2px #666666;
}
#more {
	background: none repeat scroll 0 0 #EEEEEE;
	border-radius: 0.3em 0.3em 0.3em 0.3em;
	box-shadow: 0 1px 1px #999999;
	color: #666;
	font-size: 10px;
	margin-top: -1em;
	padding: 5px 6px;
	text-shadow: 0 1px 0 #FFFFFF;
}
#more a {
	color: #666;
	font-size: 10px;
}
#more a:hover, #more a:active, #more a:focus {
	color: #FFF;
	text-decoration:none!important;
	text-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0;
	box-shadow: 0 1px 1px #666;
}
#more:hover, #more:active, #more:focus {
	background: none repeat scroll 0 0 #1982D1;
	color: #FFF;
	text-decoration:none!important;
	text-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0;
	box-shadow: 0 1px 1px #666;
}

Gli altri stili, come entry-meta o article sono predefiniti di wordpress, quindi dovrete modificare i vostri per adattarli ai vostri gusti.

ATTENZIONE! Piccolo trucco in arrivo. Come avrete notato nel css ho impostato una spaziatura (padding) a zero per tutti i li che contengono gli articoli, ma subito dopo ho impostato una classe centrale ad un li dandogli una spaziatura. In poche parola ho creato lo stile per fare in modo che l’articolo in mezzo abbia una spaziatura orizzontale, mentre gli articoli a destra e sinistra no. Ma come faccio ora a dire a wordpress di applicare tale stile solo agli articoli che si ritrovano nella colonna al centro?

Semplice, utilizzo un contatore, ovvero una variabile che parte da 1 ed ogni volta che un articolo viene visualizzato aumenta. Con questo posso sapere esattamente quale articolo sarà al centro, perchè avrà sempre un numero multiplo di 3. Semplice matematica, parto da i=1, stampa il primo articolo e i=2, stampa il secondo articolo che è al centro ed i=3, stampa il terzo che è a destra ed i=4, stampo il quarto articolo che va a capo e si trova a sinistra ed i=5, stampo il quinto articolo che s ritrova al centro ed i=6. Andando avanti avrò i che sarà sempre multiplo di 3 e quindi non mi resta che usare questo semplice controllo.

<li <?php if ( ($i % 3)==0 ) : echo 'class="centrale"'; endif; ?>>

Dentro al li degll’articolo dico  wordpress che, se la la variabile i risulta essere multiplo di 3, assegnami la classe centrale. Tutto qui!

Per dare una bella sistemata e per non confonderci con le varie implementazioni fatte strada facendo, ecco di seguito il codice completo da copiare ed incollare nella vostra pagina index.php

<?php $i=1; if ( have_posts() ) : ?>
<?php set_post_thumbnail_size(275,999); ?>
<ul id="article-home">
<?php while ( have_posts() ) : the_post(); $i++; ?>

<li <?php if ( ($i % 3)==0 ) : echo 'class="centrale"'; endif; ?>>
<article id="post-<?php the_ID(); ?>" <?php post_class( $feature_class ); ?>>
<div class="entry-summary">
<span id="feature"><a href="<?=get_permalink($post->ID)?>">
<?php if (has_post_thumbnail()) {the_post_thumbnail();}?></a></span>
<header class="entry-header">
<h1 class="entry-title"><a href="<?php the_permalink(); ?>"
title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ),
the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark">
<?php the_title(); ?></a></h1>

<div class="entry-meta">
<?php twentyeleven_posted_on(); ?>
<?php if ( comments_open() && ! post_password_required() ) : ?>
<span class="commento">
<?php comments_popup_link( '<span class="leave-reply">'
 . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1',
'comments number', 'twentyeleven' ), _x( '%', 'comments number',
'twentyeleven' ) ); ?>
</span>
<?php endif; ?>
</div><!-- .entry-meta -->

</header><!-- .entry-header -->
<?php the_excerpt(); ?>
<?php echo'<a href="'. get_permalink($post->ID) .
'" id="more">' . 'LEGGI TUTTO' . '</a>'; ?>
</div><!-- .entry-content -->

<footer class="entry-meta">
<?php edit_post_link( __( 'Edit', 'twentyeleven' ),
'<span class="edit-link">', '</span>' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post-<?php the_ID(); ?> -->
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

Spero che il tutorial vi sia utile e vi aiuti a comprendere meglio come funzionano i loop e come richiamare le varie parti di un articolo all’interno di essi. Per il resto, di seguito vi riporto l’utile link dalla pagine ufficiali dei Loop della guida di WordPress.

WordPress – The Loop

Come sempre, per qualsiasi dubbio o richiesta non esitate a commentare.

Alla prossima!

Gimp + Mypaint + Blender dal concept al render

Salve a tutti

Rieccoci qui a mostrarvi un piccolo ma fondamentale passo avanti nella realizzazione di Project EYE. Senza perderci troppo in chiacchiere andiamo a mostrarvi i frutti del nostro duro lavoro, ovvero la fantasmagorica automobile molto science e tanto tanto fiction che il nostro amato protagonista utilizzerà nella prima scena.

Prima di tutto, un fantastico concept in due parti

1. Realizzazione della base in MyPaint: 

2. Colorazione ed abbellimento in Gimp e MyPaint: 

Arrivati a questo punto non ci restava che realizzare le blueprints ed iniziare a modellare. Ora, devo ammettere che la modellazione ha portato con se giorni bui e momenti di depressione, non tanto per la complessità (effettivamente dato lo stile ultra-futuristico non erano necessari dettagli o abbellimenti), quanto per la necessità nel mantenere linee curve e continue, forme morbide e senza brusche interruzioni, cercando in ogni modo però di attribuire al modello un’aria imponente ed una sensazione di forza e velocità.

Beh, sperando di essere riusciti nel nostro intento, vi salutiamo con una carrellata di render di prova in un ambiente asettico. Fateci sapere cosa ne pensate.

     

A presto

Tutti gli effetti di post-produzioni sono stati eseguiti all’interno del Blender compositor.