Maybe it’s just me, but I thought this was a hilarious parody …
I have to confess it looks really really nice, and is very quick to flick between desktops using CTRL+SHIFT and Left or Right arrow. You can change the transparency of the cube.
The only thing I don’t like about it is that moving items between desktops feels waaaaay more difficult than it should be.
It’s freeware and you can download it from here, if you really like the author accepts donations.
Here’s a really interesting talk about how to use Guice, a new open source dependency injection framework for Java by Google. Here’s a link to the user-guide which explains, using a example, why Guice might be a great alternative to using static references, or factory patterns when writing unit tests. I haven’t used Guice yet but i have written many unit tests for services that need to pass in Mocked services using the factory pattern, so I can immediately see the benefit of a framework like Guice.
I’m going to delve deeper into it, but I recommend watching the tech talk, they work through a simple example and it does sound very useful.
We’ve just reached the end of our eighth sprint on the project I’ve been working on. On Monday we’ll be doing our end of sprint demonstrations to customers as well as internally to the rest of the company and I have to say I’m feeling quite good about it. It’s a lovely day today feel like I need to chill (or as Rob suggested – maybe I need to get a life 😉 ) anyway I’ve been sitting here reflecting on this month and there’s a few things I want to talk about.
I’m fairly new to the SCRUM methodology, in fact this is the first project I’ve worked on that formally uses it. Our development group here at Talis has adopted the SCRUM process across all of our current projects with what I feel has been a great deal of success.
For me personally the transition from traditional waterfall approaches to agile methodologies has been a revelation in many ways. Before joining Talis I’d spent a number of years developing software based on traditional waterfall methodologies. What was frustrating with these traditional approaches was that you’d spend months capturing and documenting requirements, you’d then spend a while analysing these requirements and then designing your software product, before implementing it and then testing it. Any changes to the requirements invariably meant going through a process of change impact analysis and then going through the whole process again (for the changed requirements), which naturally increases the cost to the customer.
A side effect of which, from the perspective of the customer, was that changing requirements during the project was a bad idea, because of the extra costs it would incur. A consequence of this is that customers would often take delivery of systems which after a couple of years of development, don’t actually satisfy the requirements that they now have. These same customers would then have to take out a maintenance contract with the vendor to get the systems updated to satisfy their new requirements.
From a developers point of view, I often found this to be very demoralising, you knew you you were building something the customer didn’t really want, but the software house you work for wants to do that because they have a signed off requirements document and contract that guarantee’s them more money if the customer changes their mind. I often found that when we reached the end of a project, the delivery of that software to the customer was a very and nervous and stressful time. The customer at this point has not necessarily had any visibility of the product so there’s usually a couple of months when your organisation is trying to get them to accept the product – which invariably led to arguments over the interpretation of requirements – and sometimes scary looking meetings between lawyers from both sides.
There was always something very wrong with it.
Since joining Talis, and transitioning to agile methodologies I can finally see why it was so wrong, and why agile, and in this case SCRUM, work so well.
For one thing, I’m not nervous about the end of sprint demonstrations. 🙂 The customers have been involved all along, they’ve been using the system, constantly providing feedback, constantly letting us know what were doing well, and what we need to improve on.
Our sprints have been four weeks long, which means at the beginning of the sprint we agree which stories we are going to implement based on what the customers have asked us for, these can be new stories that have been identified, or stories from the backlog. The customers have an idea, from previous sprints, what our velocity is – in other words they, and we, know how much work we can get done in a sprint so when we pick the stories for the sprint we ensure we don’t exceed that limit. This keeps things realistic. Any story that doesn’t get scheduled in for the sprint because it was deemed less of a priority than the stories that are selected gets added to a backlog.
This iterative cycle is great! For one thing customer’s are encouraged to change their minds, to change their requirements, because they then have to prioritise whether that change is more important than the other items on the backlog. They are empowered to choose what means the most to them, and that’s what we give them ! The customer doesn’t feel like the enemy, but an integral part of the team, and for me that’s vital.
As a developer it feels great to know that your customers like your product … and why shouldn’t they, they’ve been involved every step of the way, they’ve been using it every step of the way.
I’ve only been here at Talis for ten months, and in that time I’ve had to constantly re-examine and re-evaluate not only what I think it means to be a good software developer but pretty much every facet of the process of building services and products for customers. For me it’s been an amazing journey of discovery and I’m pretty certain it’s going to continue to be for a very long time.
The really wonderful thing though is that in our development group I’m surrounded by a team of people who believe passionately that it’s the journey and how we deal with it that defines us, and not the destination. So we are constantly looking for ways to improve, that in itself can be inspiring.
So yeah … I feel good!
Our development group is always looking for talented developers who share our ethos and could fit into the culture we have here. If you’d like to be a part of this journey then get in touch with us. Some of us, including myself, will be at XTECH 2007 next month, so if your attending the conference come and have a chat with us.
Actually the full title of Chapman’s book is 40 Days and 40 Nights: Darwin, Intelligent Design, God, Oxycontin and Other Oddities on Trial in Pennsylvania, and it has to be one of the most uniquely interesting and engrossing books I have read in a long time. I actually read the whole thing cover to cover over this weekend, I simply could not bring myself to put it down – in fact calling it engrossing simply doesn’t do it justice.
The book is about Kitzmiller vs Dover, the 2005 federal trial of a public school board’s attempt at getting Intelligent Design into the high school science curriculum as an alternative to the Theory of Evolution. In the end the plaintiff’s, comprised of concerned parents of students at the school successfully argued that Intelligent Design was a form of creationism, and the school boards policy thus violated the Establishment Clause of the First Amendment to the United States Constitution.
There’s two things that make this book so interesting. The first is that Matthew Chapman, the author, is the great-great grandson of Charles Darwin and I find this quite fascinating. It’s almost as though he is uniquely place to offer a perspective no-one else could, even though Chapman is not a scientist but a film director. The second is that although the book covers the trial and does discuss the scientific arguments presenting during the trial, the book isn’t about the science, but more about the people involved.
What Chapman offers through his in depth encounters with the people involved on both sides of the issue is at times a frightening, but also amusing, and above all a very moving story of ordinary people doing battle in America over the place of religion in science and modern life.
Chapman has also written an earlier book called Trials of Monkeys: An Accidental Memoir, that provided an account of the famous Scopes Trial in Tennessee in 1925 where school teacher John Thomas Scopes was prosecuted for breaking a recently passed law which forbade the teaching, in any state funded school, of “any theory that denies the story of the Divine creation of man as taught in the Bible, and to teach instead that man descended from a lower order of animals”. Chapman often contrasts the Kitzmiller trial with the earlier Scopes trial – in which all the expert witnesses for the defence ( scientists ) were not allowed to testify by the judge.
Fortunatly the Kitzmiller trial the expert witnesses from both side were allowed to testify and it’s fascinating to see how the Creationist arguments on the so-called theory Intelligent Design were torn to shreds under cross examination.
However fascinating the scientific arguments were what captivates the most are Chapman’s descriptions of the people involved – the Christian Fundamentalists on the school board who bullishly forced through their policies; the faculty members who opposed the board even in the face of intimidation; the parents of children who protested and eventually sued the board; and the two legal teams their respective expert witnesses.
It’s hard not to be disturbed by the description of how the school board went about installing ID into the curriculum. In effect they polarised the community into those who believed in God and Creation and branded everyone else atheist – even though many of the Plaintiff’s and teachers at the school were Christians. The threats of violence and intimidation against the plaintiffs and their families were frightening. Chapman’s descriptions of the families his accounts of conversations with them and the depth of their concerns is captivating. As is their willingness to stand up and fight this even if it meant they were ostracised by the very community they lived in. To get a feel for what I mean, during one Board meeting when concerned parents pointed out that teaching creationism could land the school into serious legal trouble one of the pro-intelligent design Board members stood up and shouted –
“2000 years ago someone died on a cross, can’t someone stand up for him now?”
One of the most amusing bit’s in the book is when Chapman describes the cross examination of Michael Behe the star witness for the defence – a fastidious proponent of Intelligent Design and author of Darwin’s Black Box and the man who coined the phrase “irreducible complexity”. In fact in a recent interview with New Scientist Chapman describes why this moment stood out:
The most disturbing element was how the intelligent-design crowd, many of whom I liked, would intellectually and morally contort themselves to cling to ideas one felt even they did not quite believe. The scientists among them seemed to have taken hold of small shards of the scientific whole that no one fully understands yet, and created a shield against reality. They were smart people, and at times it was painful to watch them. There was a moment when one intelligent-design scientist [Behe] was literally walled into the witness box by books and articles detailing an evolutionary process he said had not been described. And though they had had months to prepare, the school board members who advocated intelligent design still knew almost nothing about it. When asked to define intelligent design, one of them defined evolution.
You can read the book for the actual narrative, but the image of this ID Scientist who is arguing that no-one has ever been able to prove or been able to document how the Immune System in vertebrates could have possibly evolved through natural selection, a corner stone of his argument for Intelligent Design, being systematically walled into the witness box as the prosecuting lawyer literally buries him in papers, books, articles all discussing and describing precisely that evolutionary process … was as I said amusing … but at the same time deeply deeply worrying.
Behe also went on to admit that he had considered a possible test that would falsify intelligent design, when pressed on whether he had carried out the test he replied that he hadn’t and neither had anyone in the Intelligent Design movement. Here was a scientist arguing for his theory to be taught in schools and yet he could not be be bothered to test it. Or as Chapman puts it:
Wasn’t that the first thing you would do? Wasn’t this, in fact, exactly what science was?
Anyway I feel like I’m ranting, but it’s been a long time since a book really captivated me like this and opened my eyes to a number of truths, particularly about the creationist movement in America. For a while Rob and I have been discussing the whole Evolution vs Creationism phenomenon. In fact we’ve both done a fair bit of research into it and I was genuinely surprised whilst reading this book to find that many of the questions we’ve been asking ourselves about why it is the scientific community hasn’t been able to convince the Creationist’s that evolution is a real theory are actually answered – well in part.
If there’s one book you read this summer … read this one!
Google have announced their new Web History service.
Today, we’re pleased to announce the launch of Web History, a new feature for Google Account users that makes it easy to view and search across the pages you’ve visited. If you remember seeing something online, you’ll be able to find it faster and from any computer with Web History. Web History lets you look back in time, revisit the sites you’ve browsed, and search over the full text of pages you’ve seen. It’s your slice of the web, at your fingertips.
The service allows you to look back over time, revisit the sites you’ve browsed, and search through the full text of pages you’ve seen. In order to work though it requires you to install Google Toolbar and have PageRank enabled.
I feel a bit divided on this service. I recognise that it can and will be useful to many people, but it does mean that we all as users have to accept that Google is tracking every site we visit (if we choose to enable this service). It does feel like an invasion of privacy – bit like the CCTV camera on every corner, you just accept it’s there – like Big Brother is watching … ok perhaps that’s a bit unfair :p
I guess to Google’s credit though Yahoo and MSN also track which sites we’ve visited and of the three only Google refused to hand over their user’s data to the US Government – whether that decision was based on moral/ethical grounds or purely based on an unwillingness to hand the data over without a fee is debatable – but nonetheless they have shown some kind of willingness to protect the privacy of their user’s data.
The reality though is that if you don’t want people tracking what you do online then the only solution is to disconnect yourself from the internet – in the past we’ve been happy(?) to accept that this was something our ISP’s did as the provisioner’s of our connection to the internet. Search engines have always tracked what we collectively are searching for, the tailoring of adverts is a reflection of the fact that they already use this information to provide directed contextual ads to us.
So why is this bothering me so much? It’s not as though it’s anything new. So why is it troubling me? I’m not sure if I can answer these questions right now. Do I trust Google? based on their history and track record to date the answer is probably – yes. They have always been forthcoming in admitting what they track and how they use that data.
I think trust is something that is very important to Google, as they move more and more into getting users and organisations to adopt their online services as opposed to desktop based services. Keeping users data safe, secure and private is the measuring stick by which many of us will judge them. Interestingly I think that’s the biggest problem facing any software as a service, it’s convincing users that they can trust you and your service with their data. Any failure will cause possibly irreparable damage to that relationship between you and your users.
Although I had heard that Microsoft had announced it was going to release Silverlight, I hadn’t actually had the time to look into it. Got back from the gym this evening and decided I’d find out a bit more about it. I have to confess at first glance im very impressed.
First things first you can find out more about it at the Official Product Homepage. You can download Silverlight Community Technology preview from here. Once installed you’ll need to restart your browser and now if you go back to the Silverlight product homepage and click on the video in the centre of the screen to view it in the embedded Silverlight player.
You can also click on this link to view a demo of the Silverlight Page Turn media feature. This demonstrates how Silverlight uses XAML to create a presentation of images. When the demo loads, hold down your mouse button on the page turn icon and drag the page as though you were actually turning a page in a book. It’s quite nice.
On their own these two demo’s dont really give you a huge insight into where MS is headed with this product. Naturally its being positioned to compete with Adobe’s Flash. However to get a feel of just how far Microsfot has come watch this video! This video shows the power of MS Expression Media Encoder and Silverlight working together. The Real Time video editing capabilities using hardware graphics acceleration is really impressive. So too is the ability to create and stream media with chapter links, so you can jump to predefined points in the stream, by embedding meta data into the video’s.
By far the most impressive feature is called Video Brush, that in the demo is used to overlay a video on a jigsaw, here’s the impressive thing you can move the individual pieces of the jigsaw around and the video is still plays inside the pieces. Whilst this is eye candy, it could have amazing real world uses … picture in picture over the web for example!
Came across this video on the Official Google channel on YouTube. It’s a tutorial that demonstrates how organisations can improve their productivity by adopting Google App’s. It show’s some of the customisation capabilities Google are providing for organisations to brand the apps. There’s heavy focus on how you can use Gmail for more than just email – e.g. instant messaging, calendars etc. There’s also a great deail of emphasis on the collaboration features in the tools, which are quite impressive. They also demonstrate how easy it is to for administrators to configure the tools, branding and permissions. The premier addition also allows organisations to switch of adverts.
The aim of OLPC is to change how kids learn.
Ivan Krstic, Chief Security Architect at OLPC gives a technical talk on how the laptop was designed and how they are going about building it. He goes to great length to explain why they are doing this, the rationale behind the project, and why this influenced many of the technical decisions.
How do you build laptops for kids?
The Original XO-1 laptop has the following spec:
- Geode GX-500 1.0W, 366Mhz,16kb L1, cache no L2
- 128 MB RAM
- 512 MB NAND Flash
The newer version has the following hardware spec:
- AMD Geode LX-700 0.8W, 433Mhz, 128KB L1, 128KB L2.
- 256 MB Ram
- 1024 MB NAND flash
The laptop has no moving parts which helps keep the power usage down. It;s peak power consumption is 4-5W, the standard consumption is closer to 1-2W. Compare this to a normal conventional laptop which is around 40 – 50W. One of the things that stands our for me in this talk is that the OLPC team and doing what is probably the most aggressive work in Power Management using Linux anywhere in the world. In order to conserve more power they’re goal is to suspend the machine every 2 to 3 seconds if nothing on the screen is changing. They actually target they have set is to be able to suspend and resume the machine at the edge of human perception which is ~100ms. That’s incredible!
If you set aside the social aspects of this project and focus purely on the technical goals they’re attempting to achieve, the OLPC project could radically change the way laptops are built. It’s well worth watching the talk, there’s a number of other unique advancements the project has made, and I for one will be keeping a close eye on its development.