September 2009 Blog Posts

Seven Blind Alleys in Software Design by Michael C. Feathers

I 7 vicoli cechi sono elencati e descritti nel post originale che segnalo:  Michael C. Feathers: Seven Blind Alleys in Software Design Questa è una tentazione moderna legata ad alcune aspettative che vanno oltre gli scopi del Domain Driven Design : 5. Modeling the real world Pure questa è una tentazione moderna legata a aspettative che vanno oltre gli scopi dei linguaggi DSL: 7. Natural Languages Queste 2 sono tornate in voga con la diffusione definitiva dei linguaggi OO: 3. The Ultimate Abstraction 4. The perfect taxonomy Queste 3 sono idee che ritornano ciclicamente e finora senza significativi o duraturi successi: 1. Programming in Pictures 2. Metaprogramming...

End of the RDBMS Era?

Not yet but... read this:  Is the NoSQL Meeting Announcing the End of the RDBMS Era? This is about non-RDBMS data-stores used e.g. by LinkedIn, Facebook, SpringSource, Google. Here are the names of some of these non-RDBMS data-stores: memcached, Tokyo, Redis, Voldemort, MongoDB and Cassandra, Amazon S3, Hadoop Hive, Maglev and Solr. Read more about here: Nosql if only it was that easy Most of them are Key/Value or document database. They leave up ACIDity and data normalization and predefined data schemas in favor of performances, scalability, flexibility and resiliency. If you need transactions, full time data consistency and do reporting...

Girandola 19 (windmill 19)

Ecco il mio secondo Sketch con Processing Come interagire: ~ move left-right to rotate left and right ~ move up-down to raise and lower rotation intensity ~ click and move to change the point of view L'immagine di Background viene da www.davebollinger.com/works/ Clicca per vederlo in azione: Tags :  Team Work | Agile | Creatività | Innovazione |

Imparare divertendosi: è per questo che abbiamo iniziato a programmare

Post molto interessante:  Work as Play (Zenhabits) Segnalato da Work as Play (PierG) Da 'Isole nella rete' del 1988 di Bruce Sterling :         Non abbiamo 'lavoro' solo cose da fare e gente che le fa. Per noi giocare è Apprendere... Tags :  Team Work | Agile | Leadership | Creatività | Innovazione | Team building |

3 myths about software development

The code quality is related to the available time for implementing the solution wrong code quality is related to developer's skills and is related to company's structure and organization in teams and departments  ((it took me 30 years to learn from practice what my grandmother told me when I was young: it takes as much time to do something wrong as it take to do it right))) The...

Db deploy: SQL delta scripts Vs ActiveRecord Migrations pattern

Tool: ToughtWorks DbDeploy.NET - use ActiveRecord Migrations pattern - You can use other approaches if you have an ORM and you haven't released to production yet. - You shouldn't use this pattern When you have a huge legacy database - reference:  http://www.dbdeploy.net/ Tool: Dbdeploy - use SQL delta scripts - for developers or DBAs who want to evolve...

Tool di automazione Vs tool di suppporto

Ho notato questa distinzione che condivido qui: Tool di automazione Esempi: DbDeploy, CruiseControl.NET Cosa fanno: Automatizzano un task, una attività per il team di sviluppo, ad esempio eseguono automaticamente una build o creano automaticamente un setup-kit. Come: offrono un servizio che una volta creato non richiede sforzi, impegno e skills da parte dei developer Tool di supporto Esempi: PivotalTracker, NUnit, RhinoMock ...

2 Teoremi per programmatori :)

Teorema Ogni programmatore che arriva in un team, guardando la code-base solitamente si sente più furbo dei developer che lo hanno preceduto (((tipo "io l'avrei implementato meglio !!!"))) Corollario A volte è vero e altre no, le decisioni prese con questo presupposto solitamente si rivelano le più sfortunate :D Teorema Ogni programmatore che lascia un team sarà indicato come colpevole per quasi ogni bug segnalato in futuro, ed è giusto che sia cosi anche quando non è stato lui Corollario ...

Hai un buon rapporto con le nuove tecnologie ? (Project complexity budget)

Un articolo che mi ha fatto riflettere, molto interessante spiega la tesi che spendere il complexity budget sulla Continuous Integration e a cascata TDD ha un impatto positivo sul progetto maggiore che investire su programming languages e frameworks:    Taming the project complexity budget by focusing on continuous integration Quale di queste 2 progetti descritti qui preferisci ? Project is “awesome”, as it uses nice a programming language plus frameworks and tools. Design is “perfect”, methodologies are used...

Hai un buon rapporto con le nuove tecnologie ?

Un programmatore senior si crea degli spazi sicuri per il divertimento, la scoperta e l'apprendimento di nuove tecnologie[1] all'avanguardia, le pesa le valuta quanto sono stabili e affidabili e dopo le usa sul lavoro solo  dove, quando e quanto sono utili al progetto Un programmatore inesperto usa progetti cliente al lavoro per provare nuove tecnologie che non conosce bene, che non ha provato e valutato a sufficenza, i cui benefici al progetto e alle persone sono poco chiari Sei quello che mangi...

Il mio Blog cambia nome

Scorrendo i post dell'ultimo anno ho pensato di rinominare il mio Blog, o almeno cambiare il titolo Ora è   Scrum, XP, Team dynamics, Leadership, Creativity & Fun Mi sono anche interrogato se UGIdotNET è ancora il posto giusto per questo Blog: parte del mio lavoro di tutti i giorni è scrivere codice che solitamente è .NET e qui esprimo opinioni autonome e indipendenti basate sulle mie esperienze quotidiane in un team servono persone con attitudini e skill differenti: pratiche di coding, pratiche di team, dominio aplicativo, tool...