Dreamhost Redmine – Mercurial

March 2nd, 2010

Se provate ad usare su dreamhost redmine e come scm mercurial sappiate che la versione installata di base non è correttamente supportata, quindi dovete seguire la guida per installare l’ultima versione di mercurial e infine dentro redmine (config/enviroment.rb) aggiungere queste due righe
ENV['PATH'] = "/home//bin:#{ENV['PATH']}"
ENV['PYTHONPATH'] = "/home//lib/python:#{ENV['PYTHONPATH']}"

NOTA: nella guida di mercurial c’è un piccolo errore, non ci vanno spazi tra chiave , = e valore vanno tutti attaccati come segue :
[extensions]
hgext/hbisect=!

Strepnja – Desanka Maksimovic

February 27th, 2010

Ne, nemoj mi prici! Hocu izdaleka
da volim i zelim oka tvoja dva.
Jer sreca je lepa samo dok se ceka,
dok od sebe samo nagovestaj da.

Ne, nemoj mi prici! Ima vise drazi
ova slatka strepnja, cekanje i stra’.
Sve je mnogo lepse donde dok se trazi,
o cemu se samo tek po slutnji zna.

Ne, nemoj mi prici! Nasto to, i cemu?
Izdaleka samo sve k’o zvezda sja;
izdaleka samo divimo se svemu.
Ne, nek’ mi ne pridju oka tvoja dva.

PREVERT Paris at night

February 26th, 2010

Tre fiammiferi accesi uno per uno nella notte
Il primo per vederti tutto il viso
Il secondo per vederti gli occhi
L’ultimo per vedere la tua bocca
E tutto il buio per ricordarmi queste cose
Mentre ti stringo fra le braccia.

Pubblicato Course Manager

February 6th, 2010

Una delle responsabilità che mi sono preso ultimamente è di gestire la manutenzione di Course Manager, una applicazione per la gestione delle scuole di ballo. Passata una fase di collaudo in un paio di scuole, abbiamo deciso di sperimentare anche pubblicando una versione di demo su internet limitata e 10 utenti. Speriamo che tutte le scuole interessate potranno facilmente provare Course Manager e trovare il prodotto interessante e utile per svolgere le loro mansioni. Potete trovarla qui.

SQL Server 2008 Express Edition with tools bootstrapper and .Net Framework 3.5 SP1

December 19th, 2009

Since we shifted our focus on a desktop application, I’ve started maintaining a .Net desktop client that depends on a SQL Server Express 2008 installed. As we need to start giving away a trial of the product it was necessary to develop a installer. It was not so nice to discover that adding SQL Server Exress 2008 as a requirement wasn’t so immediate in VS 2008. (Actually, installing SQL Server in itself wasn’t so easy as I had Windows 7 64bit RC1). Thanks to a blog I’ve managed to add the requirement Bootstrapper for SQL Server 2008 Express Edition with Tools but it would seem that the package itself depends on .Net 3.5SP1 that is also not included with VS 2008. This bootstrapper can be added as well if you follow the instructions found here under the chapter 2.3.1.1 (Enable Samesite for the .NET Framework 3.5 SP1 bootstrapper package). In the end of the day, installer is ready and the application can be given away with reasonable expectation that it’ll just work.
A job well done. 🙂
Now if I can just make that autorun…

Nexus One

December 18th, 2009

I just saw on engadget the exclusive photos of the Nexus One and I must say it seems rather sweet. The interface seems very clean and the screen also. What are the internal specs however, CPU, GPU, who knows? We’ll just have to wait to find out.
Hmm…. I know what I want for New Year’s :)))

Leopard Tip: File cdr to iso

October 26th, 2009

Per convertire un file cdr in iso basta

[code] makehybrid -iso -joliet -o “cdrfile” “isofile” [/code]

deve essere eseguito come root.

Zend Server Comunity Edition (CE) 4.0.5

October 11th, 2009

Sono recentemente passato da usare lighttpd per testare i siti a questo prodotto nato in casa Zend, facile da installare e configurare e ha pure il supporto x il debug a runtime. L’unico problema che ho trovato è stato un errore sulle lib mancanti sotto ubuntu (ovviamente problema non bloccante) risolto facilmente cosi :

sudo apt-get install libaio1

Search and Replace in ODT using AODL

September 28th, 2009

Recently I needed to create a way to search and replace a word in a OpenOffice OpenDocument ODT. It would seem the project itself already has a library AODL (take care, at least two other project pages but with older code) that exposes the format model but I didn’t find any utility methods like search and replace functionality. I’ve created two versions of the method, one a old-style, imperative approach, and the other, a LINQ version. As I’m still new to LINQ it would seem that the classical approach produces a more efficient code. Anyone care to chip in and make a faster algorithm? In this particular version I’m just going for simple string equality, I didn’t want to go with other StringComparison methods (just look at the Equals overload method).


public static void SearchAndReplaceString(TextDocument document, string searchText, string replaceText)
{
var content = document.Content;

foreach (var item in content)
{
if (item is Paragraph)
{
foreach (var textContent in ((Paragraph)item).TextContent)
{
if (textContent.Text == searchText)
{
textContent.Text = replaceText;
}
}
}
}
}


public static void SearchAndReplaceStringLINQ(TextDocument document, string searchText, string replaceText)
{
var content = document.Content;

IEnumerable<Paragraph> paragraphs =
from item in content
where item is Paragraph
select (Paragraph)item;


foreach (var paragraph in paragraphs)
{
var paragraphText = paragraph.TextContent.Where<IText>(t => t.Text == searchText);
foreach (var textItem in paragraphText)
{
textItem.Text = replaceText;
}
}
}

I should point out this method matches only single words.

Fix 1. Replace text if under table structure, doesn’t work if the Cell is in the header.


public static void SearchAndReplaceString(TextDocument document, string searchText, string replaceText)
{
var content = document.Content;
ReplaceInContent(searchText, replaceText, content);
}

private static void ReplaceInContent(string searchText, string replaceText, ContentCollection content)
{
foreach (var item in content)
{
if (item is Paragraph)
{
foreach (var textContent in ((Paragraph)item).TextContent)
{
if (textContent.Text == searchText)
{
textContent.Text = replaceText;
}
}
}
else if (item is Table)
{
foreach (var row in ((Table)item).Rows)
{
foreach (var cell in row.Cells)
{
var cellContent = cell.Content;
ReplaceInContent(searchText, replaceText, cellContent);
}
}
}
}
}

Javascript Camp 09

September 28th, 2009

Di recente c’è stato questo bellissimo evento sponsorizzato da ideato s.r.l. un barcamp tematizzato su javascript. Devo essere sincero non pensavo di parteciparvi, sono in piena tesi e non ho molto tempo, ma è stata una fortuna esserci. I partecipanti erano preparati, e ho potuto prendere molti spunti interessanti. Il miglior talk è stato sicuramente quello sul KATA programming, ossia cercare di migliorare al massimo del codice, cercando di renderlo sempre più elegante (link utili : qui, qui). Per portare avanti i suoi esempi Gabriele Lana ha utilizzato ovviamente la riga di comando, dato che javascript usarlo da browser è un po ostico; i tool utlizzati sono stati Rhino e Jasmine Test Framework (anche se quest’ultimo l’ho ha modificato, in quanto richiederebbe un browser) , il tutto condito con una chiara spiegazione. L’esempio proposto è stato “game of life” (linklink2 ) e dovrebbe essere disponibile sulla sua pagina su github. Tra i tool che ho visto ho deciso di menzionare WireIt un simpato framework per collegare blocchetti grafici con dei fili ed esportare la struttura con JSON. Che dire la giornata è stat molto interessante. Grazie a tutti. [link al sito principale]