Vandaag heb ik Ash Maurya mogen ontmoeten. De Dutch Lean Startup Circle en UtrechtInc hadden hem uitgenodigd om een workshop te geven voor Nederlandse startups.
Ash is de auteur van Running Lean. Het ontstaan boek is zelf een geweldig voorbeeld van het toepassen van zijn motto
Get out and learn!
Het boek is hij pas gaan schrijven door via zijn blog de interesse te peilen. Pas na een ondergrens aan inschrijvingen van geinteresseerden is hij in de pen geklommen.
Het was ook goed om in de workshop eens te oefenen met het business canvas van Alex Osterwalder. Door het gebruik van dit canvas kun je in heel korte tijd je volledige business model optekenen.
Er wordt de laatste tijd veel gesproken over het toepassen van Scrum buiten de IT. Ik vind dit een hele logische gedachte en ook een goed idee. Vandaag sprak ik een van de oprichters van “Realize”. Zij passen de agile denkwijze sindskort toe binnen een niet IT bedrijf. Sinds ze agile werken is de omzet omhoog geschoten!
Een vervolgvraag, die ik Jeroen Maes van Realize natuurlijk heb voorgelegd is:
Wat gebeurt er met een bedrijf als je Agile en Lean (“the simplest thing that could possibly work” gaat combineren?
Het antwoord laat zich raden:
Samen met Dialogues Technology heb ik met mijn parkeerapplicatie “Meter Maid” deelgenomen aan de ESNC (European Satellite Navigation Competition). De ESNC wordt jaarlijks georganiseerd door de Europese ruimtevaartorganisatie ESA om nieuwe toepassingen te vinden voor de aankomende concurrent van GPS, nl. “Galileo”. Galileo is nauwkeuriger dan GPS en biedt dan ook tal van nieuwe mogelijkheden.
Continue reading “Prijs European Satellite Navigation Competion 2010”
T-Mobile introduceert Android in Nederland en heeft hieromheen een challenge georganiseerd. Deze challenge heb ik vandaag gewonnen!
Continue reading “Hoodprijs T-Mobile Android Developers Challenge”
After a bit of a struggle I found out how to mount a Lacie (Samba) NAS under OpenSuse.
There are two ways to mount it, for both ways it is needed to create a mount point directory. I created a directory called lacie under /mnt . This means the NAS can be reached via /mnt/lacie.
You can do it by hand, but temporarily, as follows:
sudo mount -t cifs -o username=the-username,password=the-password //192.168.1.3/lacie /mnt/lacie
However, if you want it to be mounted automatically each time you boot, then you need to add a line to the file /etc/fstab:
1) in the console, enter: kdesu kwrite /etc/fstab to edit the file (assuming you run KDE)
2) add a line simular to this line:
//192.168.1.3/lacie /mnt/lacie cifs
username=the-username,password=the-password,uid=0,gid=0 0 0
Currently I am setting up an old Thinkpad laptop as a build and web server. For this task I installed the OpenSuse Linux distro on it. By switching to Linux I stumbled into problems as a noisy fan and not being able to update the BIOS. Luckily Google helped me out by unveiling the Think Wiki web site. This site is aimed at Linux Thinkpad users and has tons of useful information.
Patterns are very common nowadays and everybody at least has experience with a Factory, an Iterator (duh..), a Facade or a Singleton.
It wasn’t always like that. The book that got it all started is called “design patterns”, by Gamma, Helm, Johnson and Vlissides. I tried to read it, but the book just wasn’t for me.
But now I found a more readable and fun source that discusses patterns. Via an article about the Google singleton detector (“singletons are evil and need to be destroyed”) I arrived at this pattern index by Cunningham & Cunningham. It is a great collection with many funny and serious patterns in all sorts of categories. I particularly like to read the organizational patterns and anti-patterns.
A few articles earlier I wrote about tools for continuous integration, but as they say.. a picture says more than a 1000 words..
Check out the site that goes with Paul Duvall’s book ‘Continuous integration’; ‘http://integratebutton.com‘. The book describes about 50 practices related to continuous integration and on the website you can see some movies that zoom in on these practices. It’s a very comfortable and easy way to learn some new things.
Also -the book is quite good -it is awarded a 10 out of 10 horseshoes at the good old JavaRanch.
Nowadays you hear people talking about the languages Ruby (especially when it’s ‘On Rails’) and Groovy as if it they are the next Java, .NET or PHP. My feeling says this is not the case, but still I have to investigate more before being sure and actually knowing all the differences. For starters, it might be good to summarize the terms.
Super clean object-oriented programming language, it combines the best of both Smalltalk and Python.
Ruby on Rails
This is a framework for Ruby. People are really crazy about this. They state that you can develop a database driven web application ten times faster than it would take with a typical Java framework – without making sacrifices. This is possible because full advantage is taken of the combination of Ruby with the “less software and convention over configuration” paradigm. Code is clean and simple and there’s no or less configuration to be done, Rails uses reflection and discovery instead.
JRuby is a 100% pure-Java implementation of the Ruby programming language. Almost complete support for all Ruby constructs work, and the idea is that you should be able to just use your Ruby scripts with JRuby instead of MRI (Matz’ Ruby Implementation, the original Ruby, written in C). By leveraging Java the platform with the power of the Ruby programming language, programmers get the best from both worlds. JRuby can’t do everything that MRI can, some of these limitations are due to basic constraints in the Java platform.
JRuby on Rails
As it seems that there are still some concerns with Ruby on Rails (e.g. security), JRuby on rails might be a mixed solution. It takes the best from the Java domain and the Ruby on Rails domain.
Object Oriented scripting language that runs as bytecode on a Java virtual machine. Very simular to Java, but with some extras like closures and native syntax for lists and maps. Some say that Groovy is like Java combined with Ruby and Python.
Grails aims to bring the “coding by convention” paradigm to Groovy . It’s an open-source web application framework that leverages the Groovy language and complements Java Web development. You can use Grails as a standalone development environment that hides all configuration details or integrate your Java business logic.
The following list contains build tools that come in handy for Java developers. There are so many tools that I should make a comparison matrix. Most of them are open source or free, some do a lot and some a little, some are easy to work with and some make you crazy..
Team City (commercial product) seems to be the rising star in the build world, so give that one a good look.
Dependency management tool (Apache).
When you are using 3d party components (be it open source or commercial) chances are that these components themselves need other components and things can get complicated. Ivy helps managing these dependencies and keeping things simple.
Deployment framework (HP).
SmartFrog is a software framework for helping to build distributed, component-based software systems in a way that makes them easy to configure, automatically install and start, and automatically shut down.
Project management and comprehension tool (Apache).
With Maven you can manage projects by creating automated builds, documentation and code test/metrics. The latest has improved dependency management.
Java-based build tool (Apache).
Although some say that Ant has been replaced by Maven, some argue that for some stuff Ant is still the way to go.
Framework for a continuous build process (Sourceforge).
It includes, but is not limited to, plugins for email notification, Ant, and various source control tools. A web interface is provided to view the details of the current and previous builds. The authors stress the need for continuous and automated builds, running many times a day so that integration problems are reduced.
Continuum is a continuous integration server for building Java based projects (Apache).
Continuum is a continous integration server that will ensure the health of your code base.
Build automation and management tool (Javaforge).
Continuous Integration or nightly builds can be easily set using a clean web interface. Executed builds are well managed using functions such as search, categorization, promotion, patching, deletion, etc. It also acts as a central build artifacts repository and download area for your whole team.
Build Management Server (Urbancode).
Open Source build management product that uses Ant, now also has a commercial brother.
Server-based continuous build tool (Jetbrains).
Some sort of super continuous build tool, compared to the above. It includes more management and communication features. Remarkable other features:
– remote build (developers gain time)
– delayed check in (broken code cannot be checked in)
– project dashboard
– code quality checking