PsExec

Utilities like Telnet and remote control programs like Symantec’s PC Anywhere let you execute programs on remote systems, but they can be a pain to set up and require that you install client software on the remote systems that you wish to access. PsExec is a light-weight telnet-replacement that lets you execute processes on other systems, complete with full interactivity for console applications, without having to manually install client software. PsExec’s most powerful uses include launching interactive command-prompts on remote systems and remote-enabling tools like IpConfig that otherwise do not have the ability to show information about remote systems.

via PsExec.

SQLite alter table

SQLite is a small, powerful embedded database. A friend of mine started using it about six years ago.
Some years ago it comes also on top of  Python 2.5.
It is used inside

  • FileMaker Bento: its ultra customized model is based on a big sqllite db
  • DropBox client, to store its internal state
  • iPhone: stores your SMS and also other stuff. It is widely used by apps.
  • Apple Safari uses it for HTML5 storage support
  • Google Gears uses it
  • …and in a lot of embedded product.

I was annoyed because until version 3.1.3 SQLite did not provide an alter table syntax but… it is quite easy to emulate it with something like this, even if it required a bit of work:

Continue reading “SQLite alter table”

The Valueteam PDFGenerator

 

Per un importante cliente di ValueTeam, ho sviluppato per un'applicazione chiamata PDFGenerator, che è stata pacchettizzata come un vero e proprio prodotto.
PDFGenerator nasce in una situazione caratterizzata da un alta variabilità dei requisiti utente.

Le specifiche del progetto hanno subito variazioni significative nell'arco di quattro anni, ed alla fine i requisiti utente erano parecchio mutati.  L'applicazione, già fatturata, non era ancora stata validata dal Cliente finale, ed era passata di mano moltissime volte.
Da un lato c'era la necessità di fornire uno strumento semplice da utilizzare, dall'altro la possibilità di espanderlo nel momento in cui le esigenze di Business del Cliente fossero cambiate, contenendo i costi di sviluppo.
Questi due aspetti erano acuiti in questo contesto, poiché i dati potevano provenire da fonti assai eterogenee per tipologia (database o personale del marketing) e l'utente finale doveva elaborarle in modo uniforme e rapido.
Per queste ragioni la specifica era cambiata spesso nel tempo, e la sfida era notevole.
PDFGenerator è semplice dal punto di vista software, e la sua forza sta nell'idea, e nella capacità di capire l'utente finale.

Si tratta di una applicazione che è in grado di caricare dati da un backend, e di generare poi a partire da esso una serie di documenti Word parametrici, da cui l'utente genera documenti pdf.
Tali documenti sono una serie di informative sui prodotti erogati dal Cliente verso i loro partner commerciali.

Si tratta di gestire agevolmente oltre 500 documenti, simili tra loro ma divisi in moltissime tipologie.

L'applicazione consente all'ufficio marketing di creare informative personalizzate, ed è integrata con Microsoft Office.
Il back end può essere esteso in diversi linguaggi (Java, .NET ecc) purché generi in uscita un file Excel.
Un modello MS-Word poi si occupa di integrare, con una serie di macro, i dati provenienti dall'Excel e di consentire, in modo guidato, la generazione di un vasto numero di documenti MS-Word.
E' quindi possibile estendere l'applicazione nelle due direzioni:
+ dal lato backend, arricchendo i moduli che forniscono i dati.
+ dal lato del front end, personalizzando l'interfaccia utente
L'estrema attenzione al Cliente si è concretizzata nello sforzo di fornire una interfaccia di amministrazione semplice e gradevole, seguendo i più moderni dettami dello Human Interface Design.

Inoltre, l'aspetto più importante è stato comprendere le esigenze del cliente attraverso lo sviluppo incrementale di una serie di prototipi operativi. Lo sviluppo di prototipi operativi in tecnologia WebJ2EE risulta difficoltoso,  mentre appoggiandosi agli widget grafici di MS-Office è stato possibile ridurre di quasi tre volte lo sforzo operativo.

Per maggiori informazioni, mandate un email

pezzent programming

Si fa un gran parlare di Extreme Programming? Ma se non volete fallire, su quali basi la vostra azienda deve veramente reggersi? In questo articolo vediamo un excursus sul Pezzent Programming, usato nella produzione industriale di Dolci

Estratti dal manuale del Pezzent Cooking Management:

  1. Formazione. La formazione è importante per la nostra azienda. Però anche quest'anno il nostro obiettivo è produrre utili, e quindi perché dovrei togliere una persona per 5 piccolissimi giorni dalla commessa, e farla divertire ad un corso? Se proprio vuole, si comperi un libro, di tasca sua, e lo legga la sera a casa!
  2. Clienti. Il cliente paga. Per cui il primo giorno l'account sente che cosa vuole, e poi lo si disturba solo e soltanto per avere la firma per il pagamento delle tranche accordate. Non fategli domande sulle specifiche, cheè sintomo di insicurezza e magari poi si scoccia e non firma con regolarità. Se c'è un problema glielo comunichiamo quando ha versato il 90%. Per il resto, cavoli del progett manager
  3. Esterni.  In sintesi gli esterni sono come dei dipendenti, ma sono finti. Possono essere fatti sparire dentro un cappello da mago et similia. E' fondamentale che gli esterni vengano pagati poco. E siccome sono pagati poco, convengono più di qualsiasi altra cosa, inclusa la formazione dei dipendenti veri (vedi punto 1).
  4. Pie Programming (da non confondere con PAIR programming). Sviluppate il software come una torta sorpresa: bella interfaccia con un ripieno di roba che da errore ma che RISULTA emettere quasi sempre il risultato atteso. Mi raccomando i bottoni in FLASH!
  5. TurnOver. Dovevamo assumere tante persone quest'anno, ma più ne assumevamo più se ne andavano. Alla fine abbiamo scoperto che la causa erano le voci sulla qualità del lavoro prodotto in sede. Abbiamo chiuso la sede e ora va tutto fantasticamente. Se uno chiede di cambiare cliente, lo licenziamo!
  6. Se una persona chiede la maternità, avrà le voglie e ci mangierà metà dl prodotto finito! E noi la licenziamo!

Disclaimer: ogni riferimento alla vostra azienda dolciaria è puramente casuale.
Se la Farilla mi fa ancora causa, smetto di comperare i biscotti °Le Macine°!