vrijdag 28 november 2008
One of the first activities was to attend the Landelijke Architectuur Congres (crappy site). The focus of this congres is not so much on "software" architecture as it is on "enterprise/IT/information" architecture. I was a bit worried about grey haired pompous speakers giving abstract talks. This didn't turn out to be the case. It was a nice way to get introduced into the subjects, get to know the names, see the vendors and what they are vending. Although the crowd was different from a technical conference, it was diverse.
Some talks were too academic, some talks were a bit too obvious, some were badly disguised sales pitches and some were just right. I won't describe all the talks since there were a lot, but mention some highlights.
Daan Rijsenbrij voiced his opinions on architects and what they should be doing. There still isn't consensus on that. But after a few days at the RDW I can already support the statement that it's 80% talking, explaining, influencing, guiding, changing. A lot of "peoplework". He had hired a professional cartoonist to create some visualisations for him, something well worth considering if you have to make an important pitch.
Michael Widjaja: nothing really interesting about architecture, but we might want to pay some more attention to web 2.0 in our webprofile? Did you already know http://www.midomi.com/ ?
Harmen vd Berg: commercial demo of the Archimate language (in the tool Architect). Internationally there are a number of competing products for creating architecture models. But in the Netherlands Archimate is winning the battle. And since we got a Surf license I'll give a look and see if it might be interesting for my (technically inclined) students.
Frank Baldinger from the NL Architectuur Forum spoke about education and presented a book "Competences of IT Architects" which I'll receive in the mail. This might prove useful when thinking about architecture in our curriculum.
Tobias Kuipers: is it an idea to make architects responsible for the end quality of a project? It would at least result in more effort of the architect to get his architecture understood and used. A famous quote: "The street remains long after the houses have gone", or rephrased: "Concentrate on the lines, not on the boxes".
Olaf Zimmerman gave a nice demonstration of applied research. He has collected a large number of design decisions made in SOA projects and put them in a database. He then created a decision supporting wiki which can search the database. This created a 'mentoring' tool which proved more effective in supporting developers than an architecting document full of "must and shalls".
donderdag 13 november 2008
I started off with a talk by Marco Mulder from Xebia. He talked about a large project they have done for Prorail, using agile software development (Scrum) and a distributed development team (Netherlands and India). This of course involved some challenges which they solved nicely. I also learned a bit more about Scrum to complement what I know about eXtreme Programming.
Then there was a talk about Constraint Satisfaction Problem solving with Java by Nicolas van Hanxleden (Iprofs). Constraint Satisfaction Problems (CSP) are all about scheduling and optimisation and are typically unsolvable by a brute force approach. Since I studied these kinds of problems when I was in university, I was interested to hear if there is anything new. The first 75% of the presentation was largely familiar, although he did a good job explaining it. Nicolas then introduced the open source tool Cream which can be used to model and solve CSP’s. He gave a good demo in which he applied Cream to solving the N-queen problem.
Lunchtime! The handing out was a bit annoying just like at the JSpring. After getting up pretty early you don’t want to stand in a long line which is not moving. I’d like to challenge the NLJUG to improve the logistics of the lunch. That shouldn’t be too difficult. :-)
The keynote after lunch by Reginald Hutcherson (Sun) was amusing but not really informative. (Dude, simplify your slides). Two other Sun guys showed some fun demo’s of Java FX but nothing really challenging. The thing I might remember most is the throwing of the T-shirts into the crowd. But ok, maybe having some fun was all they wanted to achieve.
Immediately after that there was a talk about Lean Software Development by Marc Evers and Rob Westgeest. This also fit in nicely in my objective to complete my knowledge about agile software development methodologies. But I must note that the speakers emphasized that Lean is not a methodology but a set of principles, a certain mindset. What was new for me was the notion of measuring the worktime for a specific development cycle and comparing it to the total time before the product available to the business. In the example given they calculated the “efficiency” as 6%, all the other time going wasted to errors and (mainly) waiting. One of the key principles of Lean is to eliminate this “waste”. To do this they use other techniques from the production industry like applying “pull” instead of “push”. A lot of these ideas stem from Toyota car manufacturing. This talk was ok.
This time I decided to skip the last two talks and try my luck at a hands-on workshop on unittesting. This didn’t really work out however. After finally getting my laptop from the wardrobe and some installation trouble I was lagging too much behind on the assignment which I would have found quite challenging even if I started right from the beginning. The other participants were clearly having a good time, so no problem.
See you next year at the Jspring!
woensdag 5 november 2008
I previously mentioned the site http://www.assembla.com as a free site which offers a complete software development tooling suite (Subversion, Trac, Wiki, ...). The main benefit for us is that the students can form their own projectgroups and administer their own version control. This relieves me and our system administration of a lot of grunt work.
In the mean time the site has gone to a (very reasonable) commercial model but they still support students for free. Recommended!
woensdag 29 oktober 2008
The NITE (Noordelijk IT Event, pronounce 'night') was not yet a great success. There weren't a lot of visitors, creating a bit of an awkward situation. Maybe next time a smaller venue would be better. The first talk was the most interesting for me. Elly de Jong of the police of Groningen talked about their research and development program. He showed some nice projects that I never heard about. Their GPS-based PDA application looked like the project my students do. These projects are happening here in Groningen! That's the effect the people behind NITE wanted to achieve.
The Achmea talk was ok, giving insight in the way such a big firm tries to handle their systems. The location at the top of the Achmea tower in Leeuwarden was especially nice. After sunset we could see the lighttower of Ameland.
Monday we had a guestlecture by Quintor on Continuous Integration. It was very well suited for our students, nice and technical. Maybe a bit heavy on the toolingside (just to give you an impression, the following tools were mentioned: ant, maven, JMX, bamboo, wiki/confluence, jira, clover, blazeds, alfresco, dbunit, hsql, spring, coberture, jcoverage, cactus, ...) but after you master the basics there's always a toolingstep to make.
But for the attentive listener there was also much of interest about agile development and working for regional companies. The students gave it a big thumbs up.
maandag 13 oktober 2008
First we had studentpresentations about Open Source-related subjects. To spice things up we had a number of experts from the NNO (http://www.nn-open.nl/) who asked critical questions and provided feedback. We all learned a lot more about Open Source, what it is and isn't.
This week there's the NITE congress (http://www.nite.nu/node/6) of which I will attend the wednesday. I have yet to find the time to look up what the programme exactly is... :-)
Thursday I'll take 30 students to Achmea for an evening programme on J2EE in the insurance business (http://www.quintor.nl/index.php/quintornieuws/16-okt-java-op-hoog-niveau.html). Quintor is also involved in that.
Later on Quintor (http://www.quintor.nl/) will also be giving a guestlecture at the Hanze about agile development with special focus on Continuous Integration.
And at the end of the quarter I'll be taking all of my students to the JFall (http://www.nljug.org/pages/events/content/jfall_2008/sessions/?template=showprogram.html&fs=1). Thanks in advance for the JFall organisation for making this possible. I'll post my selected programme later.
And between this events I'm also doing some other interesting stuff which I might get around to later.
donderdag 25 september 2008
A nice way to keep up is to try your hand at one of the countless online competitions. When looking some of these sites up for possible use in the classroom, I was pleased with http://ace.delos.com/usacogate , the trainingsite for the USA Computing Olympiad. Don't be deceived by the somewhat amateuristic look of the site and the abundance of cows. Once registered you can test your skills in algorithm programming on a large number of exercises ranging from easy to very difficult. Your solutions can be submitted and are automatically tested against a number of testcases. If you get it right the first time you get a nice compliment, but that only happened to me once :-)
donderdag 28 augustus 2008
While on my bike to the Hanze after the summerbreak I was contemplating the math-debate that keeps going on in dutch education.
In making the education "competency focussed" a lot of math that could not directly be linked to competencies was removed from the curricula. (This also solved the problems of too many students failing for these subjects. Of course the level of input from HAVO is a factor here, too.)
donderdag 29 mei 2008
maandag 26 mei 2008
www.slideshare.net is one of those and it's a nice source to browse occasionally. It gives you:
a) Inspiration. Looking at all those great slides inspires me to try and make mine better. Take a look at "Death by powerpoint" for example to learn about another way that bullets can kill people.
vrijdag 16 mei 2008
1. Rates and functionalities of webhosting have changed dramatically over the years. Our old webhosting was ripping us of. We're now moving to a webhost which is 1/3 of the price and offers Joomla pre-installed.
2. It's best to keep the administrative side of your site up to date. Our domainname was still registered under the name of somebody who had left the board. Getting his written confirmation lost us some time, together with some confusion about what the procedure was.
3. Resurrecting the website locally from a database backup took quite some time. Try getting the installer of Joomla 1.0.10. That's not so easy. Here we are returning to the general problem with open source: the lack of accessible documentation.
4. The migration process of the database from 1.0.x to 1.5 was reasonably well described. (But I later ran into the problem that a table including data just went missing?? I copied it by hand.)
5. But the fact that templates are broken was not well described. To solve this a lot of piecing together of forumposts was needed.
So I learned it the hard way, but got there in the end. But even though Joomla is maybe the most popular CMS out there, I would be dissatisfied with the quality if it were a commercial product.
- domainname moving
- webhosting prices and facilities
- setting up local webserver with wamp/xamp
- installing Joomla, components, modules and templates
- migrating Joomla 1.0.10 to 1.5.3
- migrating Joomla templates to 1.5.3
woensdag 14 mei 2008
maandag 21 april 2008
Mark van Holsteijn's Hoe overleef ik een code review? talked about code reviews and code quality. As a lecturer this is of course a subject close to me. He discussed his experiences reviewing code and how to define metrics and how to use them. We also conducted a quick code review on two pieces of code. One good and one bad as it turned out, both could have been written by students ;-) The good code turned out to be sourcecode of Tomcat, the other one was anonimized. Mark provided some pointers to literature, metrics and tooling.
The “graveyard shift” was done by Jos Warmer from Ordina. After the talk titled “Pragmatic MDA: Domain Specific Languages with Eclipse” I was totally confused. I had expected something about MDA with PIMs and PSMs like Remco Poelarends of ICT Embedded explained us some time ago. Instead Jos Warmer discussed the entire openArchitectureWare tooling suite (including xText) for building DSL’s. This al sounded very abstract, meta level stuff, not nearly as concrete as the second talk about xText. While answering questions however, it turned out that Ordina is using DSL’s in their software factories and that they are using them for code generation. Ordina has 18 months experience using DSL’s in their .Net factory (having built 4) and they are finishing their first one in Java. It gives Ordina some 20% saving on time per function point and a standardized way of working.
Luckily I had a chance to discuss my confusion with Meinte Boersma afterwards. He helped me cut away some of the smokescreen. As I understood it:
1) MDA is the term as used by OMG. This approach includes UML modeling and the PIM/PSM approach Remco Poelarends talked about. The tool Entreprise Architect belongs to this approach.
2) There is a movement of people who think the OMG-approach doesn’t really work, they have coined the term “Pragmatic MDA”. That includes about anything where some sort of modeling and code generation is involved.
3) The “MDA with DSL” approach is to a) first create a DSL, then to b) model something textual or graphical using the DSL, and then to c) generate code from your model.
4) The earlier example of the contract with the electricity company created a DSL that a business person of the electicity company could use to model his business rules.
5) Ordina has modelled their specific domain which is software development. Ordina has created DSL’s based upon their reference architectures to support their developers. A developer could (for example) have a DSL for the task of modeling a business domain. After using this DSL the developer can generate the domain code. This is not a standardized available approach to software development but is proprietary by Ordina.
I understand a bit more about this subject now but I don’t see our students working with this stuff right yet. When the opportunity presents itself to see the Microsoft side of this (Avenade has a lecture) I will look into that too. But then I’ll give a rest for a while.
Concluding I can say it was a good day. I wouldn’t want to trade it with the two ladies on the train who went to Deepak Chopra’s “enlightenment of the soul” (or something like that).
vrijdag 18 april 2008
woensdag 16 april 2008
I skipped the keynote due to travel time. Colleague Boelens wasn’t really impressed with it: “some kind of demo show with a guy singing songs”. My first session was Grid computing with Gridgain by Jos Dirksen and Marcel Soute from Atos. A good concrete talk about how easy it is to set up a grid and compute some task with Gridgain. Grid computing was once considered academic, but I can see students doing this in 1 hour. They gave some examples and a demonstration of cracking a MD5 hash. Their preparation of demos could be improved.
After that Jeroen Benckhuijsen, Meinte Boersma from Atos did xText: DSL’s made easy. They explained the use of the tool xText from openArchitectureWare and like the first presenatation gave a good demonstration. They used the example of a contract with an electricity company with all sorts of special rules. At QCon I also followed some DSL-stuff, but couldn’t really understand a) how it worked, and b) what the big deal was. Now I think I got it, but that it’s not a really big deal. It’s useful for some specific purposes. (But do read on about the last session in the second part of this article.)
In the early days of the specializations at our institute I have had to explain to the management several times what the differences would be between the specializations Software Engineering and Web Application Development. Thus I am keen to follow any trend that desktop applications and webapplications are converging. This was the topic when Rob Schellhorn from Finalist talked about Rich Ajax Platform: Eclipse Rich Client Platform applicaties in een nieuw jasje. It turns out that converting an Eclipse RCP application to a rich Ajax webapplication is very simple, but Eclipse RCP client applications are of course a special class of client applications. They are built upon the Eclipse framework. There are also some differences in usage between desktop apps and webapps that you have to take into account. Still, the resulting webapp looked really neat with all kinds of widgets, drag and drop, etc.
woensdag 9 april 2008
At the QCon I learned about the site http://www.javablackbelt.com/ . I even scored a poloshirt at their stand. It's a site where you can test your java knowledge in a series of exams. As you pass exams you gain points and get belts. After the first few exams you have to contribute yourself by commenting, editing or supplying new questions. With these contributions you gain points that you can use to 'pay' for the next exam.
Warning 1: These are not easy exams. You need to have a lot of detailed knowledge. Especially for students it might be frightening to see that there are so many corners and special cases in Java they were never told about. This might put you off, but once you get the knack of it, you will learn a lot. You can see it as a free alternative (or good training) for Sun's certification programme.
Warning 2: This site is very addictive! I'm limiting myself to a few attempts per week, otherwise it would take too much time. At this point I have my orange belt en will work towards the green one.
vrijdag 28 maart 2008
Domain Driven Design (DDD) focusses on the core model (the domain) and tries to keep other stuff like UI's and databases separate. You can google for the site and the Book from Evans. I'm not too convinced it offers much new, but maybe I'm influenced too much by the worst presentation of QCon (Filipe Rodrigues, better luck next time man). I also have a graduate which can't explain to me what the big deal is.
Test Driven Development (TDD) is the one I'm most familiar with from my XP classes. First code your JUnit test and then code your class to make it pass.
Behaviour Driven Development was new to me. I noticed they were talking about BDD in connection to Ruby (RSpec), but just stumbled across a nice page that explains the concept: http://dannorth.net/introducing-bdd. Even if you don't use BDD, it gives some really nice tips for TDD.
maandag 24 maart 2008
"...Using the latest research in cognitive science and learning theory to craft a multi-sensory learning experience, Head First uses a visually rich format designed for the way your brain works, not a text-heavy approach that puts you to sleep."
One final thing that struck me is the conversational tone they use in the book. Apparently this has been researched as adding to the learning experience. This is exactly the way I've written my study material from the day I came in de Hanze. I probably have some talent... :-)
dinsdag 18 maart 2008
- REST looks like an important new trend.
- Erlang might answer the need for more Concurrent Oriented programming languages.
- Java for enterprise applications is very much alive, also for real time systems.
DSL's keeping turning up at conferences like these, but I don't really see what's the big deal. But maybe I'm missing some point.
Architecture is maturing, but there's no silver bullet.
Agile is maturing nicely, thank you.
Ruby on Rails fits nicely in their niche.
Domain Driven Development is a new term but nothing really new.
And then it was Friday. Fatique was setting in, but we were determined to take it to the end. There were some really interesting tracks today.
The day started off with Randy Shoup talking about the architecture behind eBay. This was really architecture on the highest level. The amount of data/transactions/servers etc that ebay has is huge. An impressive talk, the slides are warmly recommended.
After that BBC talked about there architecture to bring media (video) to their users. A nice talk (especially since they filled in for Twitter at the last moment) but they had the disadvantage of being preceded by eBay which was hard to match.
At the same time Bart was at a presentation about Haskell in the "programming languages of the future" track. That track covered a number of programming languages which might (or might not) be the next big thing, such as Scala, F# and Erlang. Saillant point is that Haskell has been around for a long time and was removed from our curriculum some 5 years ago. Bart said that the presentation about Haskell by some professor was the best he had seen at QCon. "Pure theatre."
After that we went to the presentation about Erlang, a new programming language that's especially suited for use with concurrency. The language is hot on the fashionlists and might become very relevant with the rise of multicore systems. Take a look at the slides when they are available. One to watch. Joe Armstrong (called "the nutty professor" by another participant) also wrote a book about it.
After that the long awaited Rails 2.0 track, which after one minute I knew wasn't really what I wanted. Dr Nic explained at length the changes from Rails 1.2.6 to 2.0.1, not really what a beginner is looking for. Still, there was something to be learnt about IDE's and participating in open source.
After that Jan scored a polo-shirt at JavaBlackBelt (missing the first prize, 10 books at the O'Reilly stand by just an inch) and we went back home. The delay wasn't too bad this time.
donderdag 13 maart 2008
"It's binding here, it's binding there, it's binding everywhere." (Mike Laulty)
"Powershell just rocks." (Eric Nelson)
"We now can make usefull data in the cloud." (Jonathan Trevor)
"Democracies do not always pick the right candidate."(David Anderson)
"Problems you are having, hmm? Making roles explicit you must." (Udi -Yoda- Dahan)
"London is a nice city." (Filipe Rodrigues)
The next lecture was by Stefan Tilkov on REST and RESTful webapplications. As this was a new concept to me, I decided to listen in. A good talk, although I didn't completely understand it in one go. It seems REST is a set of 5 principles which you can apply when developing webapplications. This gives you a lot of technical possibilities. But as far as I can see it's an alternative to webservices. An important new trend already and we still haven't finished with the previous one.
Pete Goodcliffe talked about two systems. One with bad design and one with good. A bit of a standard talk, but he was entertaining and it's nice to see some points again. But Bart thought he could have done it better.
Giles Colborne tried to define the term op 'Simplicity' in User Interfaces. According to him it's not the same as usability. A bit dull, nothing special. But he did mention a number of "red flags" that made me think about the DOP immediately.
Rod Johnson (author of a famous J2EE book) talked about innovation in J2EE. At first impression, he came across as a annoying, stubborn American with a Texan drawl. Maybe that's what he is. But he knew his subject really well and brought a lot of interesting analogies to the subject. The slides are warmly recommended.
The last talk about Domain Driven Design is so bad that I can update the blog. A brazilian dude in very bad english who talks about stuff we all already know since we started our education. Pity, as there is a lot to be told about DDD.
woensdag 12 maart 2008
Erich Gamma – How Eclipse changed my views on software development
A good keynote by a famous name about the development of Eclipse with points about architecture, open source, process etc. At the end he demonstrated Jazz, a really (really) big environment for large distributed software development. It’s looks interesting, alas no open source.
Building smart client applications with Visual Studio .Net 2008
Daniel Moth demonstrated some interesting new features of Visual Studio. He did this at such a record speed that, to understand it, the public will have to download the videos from his blog and play them at half speed. Still, it’s nice to see what can be done nowadays.
A talk about how teams in the field don’t follow the XP/DSDM/Scrum-book, but combine practices that work for them. Nothing really new, but a nice confirmation from the speaker who has a lot of contacts in the field. The room is packed, testifying to the continuing interest in agile methodologies. By the way, a ‘Ziffer’ is a Zero Feature Iteration. By the way, the percentage of women in the audience is significantly higher than in our students. Maybe it's just a dutch problem?
Real Time Java for banking applications
I couldn’t see the screen and couldn’t understand the speaker with his french (?) accent. When my neighbour started snoring, I threw in the towel. But this RTJS might be interesting to explore sometime for our TI-students.
From betting to gaming to Tradefair
About the the challenges that Betfair (a betting site) faces and how they took their expertise of transaction processing to start a new company Tradefair in the financial domain. This was all very interesting but when the juicy part came up, they didn’t want to show their cards. So just how they solved those interesting problems wasn’t disclosed.
These people faced about the same problems as the previous ones. They had to achieve something like 20.000 transactions *per second* with a latency of maximum 100ms. They achieved this using Java! The key was Weblogic Real Time, a alternative JVM implementation with real time guarantees.
Does my bus look big in this?
A keynote by Martin Fowler himself and another guy. It was funny and fastpaced to keep us awake. We had a good laugh, but the clou was lost on me. Don't use an Enterprise Service Bus, just use the web (?)
Please note that all the slides will become available on the QCon site. I have a lot more notes about sites to visit and technologies to check, but I won’t put them all here.
Quotes of the day:
(Erich Gamma about releasing closed software to the open source community) “It’s like a christmas present. You have to include the batteries, otherwise it’s no fun.”
(Standard message about evacuating the building when the building gets on fire) “You MUST take care when crossing the road.”
What the hell is a DSL?
Programming languages are realy cool. With them, you can make your hardware actually do something, like visit a website, create spreadsheet with the latests sale-data or write on your book.
Most programming languages serve a general purpose: they are meant to be usable in all sorts of situation. Using Java, for example, you can a simple webbrowser for your iPhone or an offline dictionary that only runs on your specific machine. All these radically different kinds of problems can be solved using the same kind of solution: the processing power of a single programming language.
There are, however, situations in which you don't realy need all that processing power. Sometimes you just need to transform an xml-tree into another xml-tree, or make a more or less difficult formula in your spreadsheet. In these kind of situations, all the processing power of a general purpose language, and more specifically the vast number of functions, add-ons, quicks and possibilities that come with them, prove to be a burden for the programmer working on that specific domain. Hence the viability of Domain Specific Languages.
Though Domain Specific Languages do not have the general expression power of general purpose languages, in most cases they do actually have more expressive power within their domain, due in part to the fact that they serve a very specific goal. In general, they enable the programmer who has more or less extensive knowledge of the domain under consideration to automate simple task within that domain. Since the DSL is created to be using in that domain, it can use abbreviations and idioms that its users will be familiar with.
The borderline between general purpose language and DSL is, however, not as strict as some might be led to believe. For example, XSLT was initially conveived as a DSL that only transformed one xml-stream into another one. But through the years, this language has grown to include filesystem interaction and string-manipulation. On the other hand, Visual Basic for Applications (VBA) was conceived as a simple programming language that should enable users of Microsoft Office to create simple applications on top of for example Word and Excel. However, most uses of VBA nowaday is concentrated on automating specific tasks within these applications, thus rendering VBA more like an DSL than Microsoft would have liked.
Windows as a Web Platform
People who know me are aware of the fact that I do not particularly love graphical interfaces. I much rather have the power of the command-line directly at my finger-tips that all stuff tagged away behind obscure windows and drop-dopwn lists. On the other hand, I do know that GUI's do have their pros and that a lot of people could not live without them.
The Microsoft web server, IIS, has this kind of GUI, which enables the system administrator to administate the web-server. I have used the previous version of IIS, version 6, for some time for my work, and I thought it realy was a terible thing to use. Unclear views, obscure locations of specific settings and a need to restart after the most simple change. Therefore, I was very interested in what mister Nelson had to tell us about the new version of IIS, version 7.
Mister Nelson is a very driven spreaker who keeps interesting (and funny) contact with his audience, who does not try to demonstrate more than is actually interesting at that moment, and who can make his story up as he goed along (which proves that he knows what he is talking about).
IIS 7 provides a much clearer GUI which can be accustumed to the wants and needs of the sysadmin. But this new version is more than just window-dressing: the whole pipe-line has been refactored, which is spcifically usefull for those of us creating .net-applications. In previous versions, .net was just another extension of IIS, which entailed the need for code-duplication (e.g. for authentication) and all sorts of specific tweaking. Now it is more of less an integral part of the webserver, which means that the management of .net-applications is much easier.
Also, driven by the market, Microsoft has decided to be much more php-frienly than it was in previous versions of IIS. Using IIS7 you can invoke php directly via the cgi. It even comes with a friendly php-editor. This way, according to mister Nelson, after they have decided to use php, people do not automatically use mysql, apache and, ultimately, linux. They now have the very viable option to use php and mssql and IIS and windows. Who knows...
I was rather positive about the interface and posibilities of IIS7, but the best part is comes with a good command-line: CmdApp.
Building Rich Internet Applications
Mike Taulty - Microsoft
There are two words missing in the title of the this lecture, namely 'with' and 'Silverlight'. As you might or might not know, Microsoft is regarding the succes of Adobe (before: Macromedia) Flash with envious eyes, and is slowly, bur surely, trying to get some piece of the cake of rich internet applications. As is comman practice within the Redmond Company, instead of being innovative and trying out new stuff, they simply take some existing formats and ideas and pretend it's their own. The same applies for Silverlight, which is basically a new version of SVG (which they have called XAML) and some kind of new shell around Visual Studio. Voilà Silverlight 2.0.
But let us be fair. There are some cool things that one can do using Silverlight that are hard or even impossible to do with Flash. Dynamically creating xml-files, interpreting those at run-time as the description of a visual objects and doing all kind of stuff with them is kind of nifty. During the talk, however, I just couldn't stop thinking that people who would want to do this kind of stuff would no doubt already be using Flash for some time, so why would they switch to Silverlight at this moment?
As a matter of fact, the speaker gave me the impression that he more or less shared my views. The lecture can be seen as consisting of two parts: the first part filled with explaining XAML, the second part demonstrating the way in which the different technologies operate together to create richt internet applications. In the first part, Mike gave a lot of examples each of which he ended with the comment that it was not very stunning or interesting. The second part took far too long to remain interesting. I think it is a bit like Microsoft, to want to show everything on your first encounter.
Building blocks for true internet applications (Jess Barr - Amazon.com)
Most programmers or students use lack of hardware-resources as one of the reasons their project did not meet the expectations the teachers (or themselves) initially had of it. If we had more computing power, they say, we could have made this or that feature working, we could have some more work done in the little time that was available for the project, or the query would not have taken as long as it does now.
Jeff Barr from Amazon.com has put the lie to these kinds of arguments. Being, in his own words, a real web-service evangelist, he introduced the gathering to the other Amazon.com, the one that at the moment has three data-centers (two in the US, one in Ireland) that enable everybody to get as much computing-power as they need on the fly, for a very little amount of money. Amazon has created web-services that take care of all the muck (as the other guy from Amazon, Jeff Bezos, used to call it) of programming, such as load-balancing, initializing servers and services and that kind of more mundane work. Once registered, users can fire up servers using a FireFox-extension and ssh to them immediately. If needs be, another server can be fired up using the exact configuration of the first one.
This kind of 'working in the cloud' appears to become the new way of programming and managing data. There is no longer any need to have all the hardware or the resources available locally; you put data 'in the cloud' (the Amazon data-center) and access it when and where you need it..
A word about catering
Though it is obvious that we are here to learn be get inspired, when one pays twothousand euros to attend a conges in London, I think it is not too much to ask to have a nice, enjoyable lunch in the afternoon-break. Perhaps I am not the most low-maintainance-person when it comes to food, but I think that professional caterars should be able to come up with something more creative than rice and beans when you ask for a non-meat luncheon. As a desert, I decided to have some kind of apple-cake, which was so juicy that I was unable to cut it with the side of my fork (as Wilhelm II used to do, but the side of his fork was sharpened especially for that purpose). But the knives where no longer provided at that time. I did not mind much, as the part of the cake I did manage to eat was not particullarly tasteful.
Also, I understand the need for networking during the lunch-break; one of the goals of this kind of conferences is networking, is it not (no, I am not talking about TCP/IP or IPv6, but of people exchanging business-cards). So during lunch we do not supply chairs and tables, so that the attendees are forced to walk about and talk to each other. The result? People sitting on benches near windows (as I am doing now) or even on the ground, not realy interacting with newly-met, but checking their mail, chatting via their mobile, or entering text for the blog of the conference. I think the network-need is better served with the drinks and tapas this evening, so please let me have my lunch in a decent manner.
dinsdag 11 maart 2008
Some quotes I noted down:
“… the abstract meta superclass…”
“… if you build THAT than we can automate EVERYTHING (drooling)”
“… so we have shown that DSL’s are sometimes really useful…”
But the real popularity of Ruby comes from the webapplication framework “Ruby on Rails” or just Rails. This framework is said to give you 10x more productivity. When you have mastered the subject, that is.
In some ways those Ruby & Rails guys are pretty good at promoting their stuff. Looking at the amount of tutorials, blogs, websites and tracks on QCon you can’t escape the feeling that this is an important development. But in other ways they suffer from the same problems that plaque the open source world. To get started with a technology, you already have to be quite an expert on all sorts of tools and products. Documentation isn’t really userfriendly or up-to-date and when the inevitable problems arise you have to put in quite some work to get the right answers. If you’re lucky Google will hit some forum with a readymade answer. But if you’re not you’re on your own. Another quibble I have is that the available documentation often isn’t structured clearly. If the open source world wants to interest the less technological savvy, they have to lower those barriers. But we all know that developing is much more fun than writing accessible documentation. So who will do it? (But there *is* an incentive. If you’re tutorial/blog/… is so good that it attracts a lot of visitors, you can make money on the ads.)
So yesterday I tried to prepare myself for the QCon tutorials by getting started with some Ruby on Rails. This wasn’t a picknick. As it turns out Rails 2.0 was released in December 2007, breaking every old tutorial there is. Now they could mention this clearly somewhere, but they didn’t. So to save you the time, I’ll give you course I eventually followed.
1. Rails environment (Windows): download and install the all-in-one distribution InstantRails.
2. You can check your installation by testing the pre-installed ‘cookbook’ and ‘typo’ applications. The cookbook works for me, but typo gives several errors that I couldn’t solve quickly with the help of Google.
3. The readme suggests starting with the popular ‘cookbook’ tutorial. It’s a funny read but … this tutorial turns out to be broken for this latest distribution of Rails. And you only find that out after you’ve invested some time, ran into problems and started searching the web.
4. After some searching I ended up with the tutorial at http://fairleads.blogspot.com/2007/12/rails-20-and-scaffolding-step-by-step.html . This is hailed as the best tutorial at the moment. It does the job and results in a working example. But it only scratches the surface.
5. If you want to know more, the best way to go is to install a previous version of Rails. In this way you can tap into the more extensive older tutorials. You could also buy a book, but there’s not so much on 2.0 yet.
Let’s see what the experts at QCon have to say on the subject.
vrijdag 7 maart 2008
The program for JSpring is up: http://www.nljug.org/pages/events/content/jspring_2008/sessions/?template=showprogram.html&fs=1
Just reading the abstracts and looking up the stuff you don't know is a nice way to keep up. (Do you know what 'Kanban' is?)
My preliminary selection is a nice mix of subjects:
- Grid computing
- How to survive a code review
- MDA with Eclipse
Meet you there?
woensdag 5 maart 2008
Voor de tutorials op dinsdag hebben we besloten dat Bart naar de Domain Specific Languages gaat waar Fowler himself aanbeden kan worden. Ondergetekende volgt de Ruby-tutorial. Het programma voor de andere dagen zullen we on the fly opstellen.
Verder zijn we natuurlijk reuze benieuwd naar het geek-gehalte en of je je met een windows laptop wel kunt vertonen. Wat bijvoorbeeld te denken van de volgende quote: "Imagine a dim-lit cave with beer, snacks, and power for your laptop. Add Ruby geeks, Ruby experts, and curious newcomers. ... This geek night will be centered around Ruby, your laptops and you."
Mocht je nog vragen hebben over bepaalde onderwerpen, stuur een mailtje naar email@example.com en we zullen kijken of we wat voor je kunnen doen.