Tools

There are 26 entries for the tag Tools

Greed dice game exercise from Ruby Koans

One of the Learn Ruby Koans exercise is about implementing a method that calculate the score of the Greed dice game. A friend reviewed my solution pointing out some conditional expressions that could be avoided (from 3 they are zero now), some state that could be removed (greed_roll_scores is calculated and never changed now), and in the way of the refactoring some duplication (2 similar rules of the games now are both applied with a unique common logic) become evident and I removed it. Here is the resulting score method, I left also the comments with the Greed game description and the...

Ruby custom and automatic attribute accessors

The automatic one: class Foo   attr_accessor :name     def initialize     @name = "no name"   end end The custom one: class Foo   def initialize     @name = "no name"   end   def name     @name   end     def name= value     @name = value   end end Tags :  Team Work | Tools | Progettazione Software | Traduci al ITALIANO >>>

Ruby lambdas and each and enumerators

When I define and assign a lambda like this my_lambda = lambda{ |key, value| puts key, value } can I call an array or hash each method that return an enumerator and pass my lambda as body of the each, { :one=>1, :two=> 2 }.each my_lambda like this ? Honestly I felt the lack of an interactive debugger and of a tool/reflector to dig into the each method implementation here. A more experienced Ruby programmer could tell me where to find them probably. That call gave me an error, wrong number of parameters (1 for 0) in the each call. With some memory of C++ syntax...

Ruby Koans and Ruby idioms

At the http://www.ruby-lang.org/ have found funny ways to start learning Ruby with examples and small code exercises, a very practical approach. Ruby in Twenty Minutes has been an enjoyable start, also Hackety Hack! that remember me ProfStef from Smalltalk land. Then I was ready to start with The Ruby Koans, a way to look a little deeper in to the language driven by unit tests, great and funny !!! After that I investigated more Ruby idioms, http://cbcg.net/talks/rubyidioms/ & http://stackoverflow.com/questions/613985/common-ruby-idioms, some of them related to more advanced or esoteric language features, that you would live perfectly without the 99.99% of the times and that...

Ruby closure scope and other ideas

In Ruby you can have closures with a Block, a Proc or a Lambda. They are very similar and have subtle differences. I've found this article very clear to me: Understanding Ruby Blocks, Procs and Lambdas In short, for what I understood, Blocks cannot have parameters and ( http://pastie.org/3107157 ) cannot be stored while Procs can like Lambdas. Blocks cannot execute a return statement, Procs can and the calling method will return, Lambdas can too and simply return the value to the calling method. Here are the scope examples with Blocks: http://www.pastie.org/3099991 with Procs: http://www.pastie.org/3099995 ...

What’s New in JavaScript Programming (ECMAScript 5)

The last update (December 2009) of the JavaScript dynamic typed language (ECMAScript 5)  evolve the language one step in the direction of the good parts. The goals of this language update: Don’t break the web Improve the language for the users of the language Third party security (mashups) No new syntax And a non-goal was “protect stupid people from themselves” Here a complete list of the improvements: ECMAScript 5: What’s New in JavaScript Programming Douglas Crockford explains the improvements in this presentation: ECMAScript 5: The...

Learning Smalltalk - Part 5

Inspiring ideas from the Smalltalk community Smalltalk Best Practice Patterns, Kent Beck - List from Linda Rising  - Book draft Design Principles Behind Smalltalk, Daniel H. H. Ingalls, 1981 Smalltalk: Overview and Implementation Issues, 2002-2003 Dan Ingalls on the History of Smalltalk ...

Learning Smalltalk - Part 4

Smart ideas from Smalltalk, forgotten and waiting to be re-invented The focus on message passing in OO programming.  Watch InfoQ interview with Ralph Johnson and Joe Armstrong on the State of OOP A language defined only with very simple rules, with the underlying concepts that are *simple* and *uniformly* applied.  The underling principle is that: If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual. ...

Learning Smalltalk - Part 3

Innovative ideas originated from Smalltak It is surprising how many innovations introduced recently originates from Smalltalk. This is an opportunity to go back to the origins of those ideas and better and deeper understand them. Some examples? Smalltalk implemented a platform-independent Virtual Machine and application program interface based on industry standards before Java (and so before .NET ). Smalltalk was one of the first systems to pioneer the WIMP (Windows, Icons, Menus and Pointers) interface (it was the one Steve Jobs...

Learning Smalltalk - Part 2

Some alive and kicking Smalltalk free implementations Smalltalk/X: http://www.exept.de/en/products/smalltalk-x/stx-overview Pharo: http://www.pharo-project.org/ Squeak: http://squeak.org/ Now to play with the language, here we go : I can Read C++ and Java But I can't Read Smalltalk Smalltalk basics Introduction to Smalltalk ...

Learning Smalltalk - Part 1

Learning Smalltalk why ? When you are ready to listen to the answer, the right question will naturally come Here a list of possible good reasons:  Why Smalltalk? My why to Smalltalk: Reading Smalltalk code will give me access to a library of books and papers and articles from a smart group of people with bright insights and a deep understanding of computer programming: a lot of forgotten gold lessons that can still be a competitive advantage. And also computer programming is old enough...

Keyboard Jedi on Windows7 64-bit

After some work finally got the Keyboard Jedi 1.5 tool by Roy Osherove to work on Windows 7 64-bit. Had to use the last version, 1.2.0.10, of the Global System Hooks library by Michael Kennedy from here:  - http://www.codeproject.com/KB/system/globalsystemhook.aspx Then did as described by James  Kovacs here: - http://jameskovacs.com/2008/04/25/keyboard-jedi-on-vista-x64/ to force it to run at 32 bit and to reference the new version of the Global System Hooks library. Download it from here: http://dl.dropbox.com/u/11163041/keyjedi-Win7-64bit.zip This build requires the .NET Framework 4.0, you can repeat the steps described here, using the original exe, in ordert to build it with...

Software Engineer o PR Microsoft?

Parto dal post The Future of Silverlight del Silverlight Team Blog per suggerire una opportunitá di miglioramento. Silverlight é stato un prodotto che ha esplorato delle possibili aree di innovazione e che ha mantenuto le opzioni aperte in attesa di scoprire come si sarebbe sviluppato il futuro del HTML 5. Una strategia di innovazione che invidiamo a Microsoft e vorremmo fosse adottata anche dalle aziende per cui lavoriamo. Nessuna delusione quindi per un naturale cambio dei piani, anzi un hurrá per Microsoft che ha trovato la strada migliore che porta verso il futuro prossimo. Il suggerimento va invece a...

Prova sul campo di NDepend v3 (2/2)

Ho proseguito la prova sul campo la nuova versione di NDepend v3  con le metriche del codice, con CQL e il suo editor. Con la SuperSolution, cioé la soluzione che include centinaia di migliaia di righe di codice e tutti i progetti della azienda per cui lavoro. Metriche:  Pratica e concreta la possibilitá di avere facilmente a disposizione lo stato della coverage dei test e la complessitá ciclomatica del ccodice: due indicatori importanti dello stato generale di salute della code-base. Molto interessante...

Are you an amateur or a professional?

Are you an amateur or a professional? Look for example at  bicycle riders: amateurs care mostly about the bike, the frame, the gears, the forks and so on; professionals focus on training to improve their skills and their performances during the race. When a software development project face a challenge or a problem, do you find yourself looking at the tools or at the skills of the people ? Just answer and tell the truth. So you will know if you are an amateur of software development or a professional. Update: this topic has many facets and many trade-off, still no exceptions here, when...

Prova sul campo di NDepend v3 (1/2)

Ho provato sul campo la nuova versione di NDepend: v3. Con la SuperSolution, cioé la soluzione che include centinaia di migliaia di righe di codice e tutti i progetti della azienda per cui lavoro. La nuova versione v3 suppporta Visual Studio 2005, 2008 e 2010 nelle varie edizioni. Durante l'installazione ho scelto di usare NDepend totalmente integrato nel IDE di Visual Studio, una nuova feature della v3. Ho visualizzato e analizzato attentamente il grafico delle dipendenze degli assembly per eliminare delle violazioni dei principi di coesione e accoppiamento dei package e per indagare alcune dipendenze misteriose ho visualizzato e analizzato il grafico...

Tools build productivity like keyboards build software

Traduci al ITALIANO >>> People, skills and actual work come first.  And if you don't get it, gets a new job.  Even better, retires :D Courteously shared by Riccardo. Tags :  Team Work | Agile | Tools | Semplicità | Progettazione Software |

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 ...

Ruby: il bello e il brutto di

Il brutto: Monkeypatching is Destroying Ruby I pro e i contro: Ruby at ThoughtWorks (Fowler analizza pro e contro con dati reali da progetti cliente fatti con Ruby) Ruby per .NET: IronRuby In estrema/esagerata sintesi alcune frasi rubate:      It offers palpable gains in productivity      Is Ruby Slow? In a word "yes" even by the standards of scripting languages      Is a Ruby Code-base Hard to Understand? no se hai sviluppatori sopra la media, che usano approcci altamente           disciplinati come XP e danno molto valore ai test Un libro per cominciare ? L'esperto...

Simulazione di fluidi con Blender

Dopo i sw di social networking, ecco un altro sw che da vita alle cose Deve essere estremamente emozionante realizzare sw che ti permettono cose come queste Fonte: Fluid simulations Tags : Complessità | Creatività | Innovazione |Tools | Progettazione Software |

Social networking prisma vs Antisocia NotWorking

Il prisma dei media sociali: http://www.briansolis.com/2008/08/introducing-conversation-prism.html Il progetto antisocial: http://project.arnolfini.org.uk/projects/2008/antisocial/ Segnalati da Bruce Strerling Colonna sonora: L'ombra della luce di Franco Battiato Tags :  Team Work | Complessità | Comunicazione | Creatività | Innovazione | Tools | Progettazione Software |

The end of an era - Windows 3.x

Estratto dall'articolo della BBC: The end of an era - Windows 3.x   Windows 3.x has come to the closing moments of its long life. On 1 November Microsoft stopped issuing licences for the software that made its debut in May 1990 in the US. The various versions of Windows 3.x (including 3.11) released in the early 1990s, were the first of Microsoft's graphical user interfaces to win huge worldwide success. They helped Microsoft establish itself and set the trend for how it makes its revenues, and what drives the company until the present day.  (continua) Tags :  Tools | ...

Indagine sui tool usati nel Agile Project Management

Ecco i risultati di un'indagine condotta sull'adozione di tool che supportano il project management agile: http://trailridgeconsulting.com/files/2006AgileToolingSurveyResults.pdf   Disponibilile anche il risultato dell'indagine sull'adozione delle metodologie agili: http://www.ambysoft.com/downloads/surveys/AgileAdoptionRatesSummary.pdf Tags :  Team Work | Agile | Tools |

XP e User Stories, per noi e per Microsoft

Conclusioni Il problema: 1 mese di tempo per MS per inserire dentro il build complessivo del prodotto una aggiunta fatta da una divisione di sviluppo del prodotto. La causa: l'elevato numero di persone necessarie al team e del prodotto. La soluzione: organizzare le divisioni di sviluppo/build assegnando ad ogniuna la prossima singola funzionalità (User Story) da rilasciare, arrivare per ogni divisione ad un build giornaliero e quindi ridurre (a 1 settimana?) il tempo di attesa per il build complessivo del prodotto. Il fatto interessante L'integrazione continua è utile per poter giungere a build giornalieri fatti in pochi minuti, è un ingrediente ma ne servono anche altri. Và beh, cosa nota. Organizzare il lavoro del...

Team distribuiti per applicazioni concentrate II

     visto ke è passato inosservato ne aprofitto per segnalare questo blog Sviluppo collaborativo di Software che suggerisce modi e strumenti per lavorare in maniera efficace e gradevole con team distribuiti.    scopo del documento li indicato è proprio quello di dare risposte alle difficoltà esposte nel blog Team distribuiti per applicazioni concentrate di Andrea.    l'argomento cade sotto il filone detto "lavoro collaborativo supportato da computer" (CSCW) che promette importanti sviluppi futuri.     Tags :  Team Work | Tools |