3D Printable Food

Looks like a good day for alternative food news.  This one is a little less soylent green but a little more dystopian in nature. Anjan Contractor has recently been awarded a NASA grant to develop a 3d printer capable of printing food.

The basic idea seems to be to build a 3d printer that, instead of using plastics, uses food powders consisting of various nutritional elements to make edible… substances.  Carpenter describes "printing” a pizza, mixing powders with water and oil to make the tomato sauce, and cooking the dough of the base as it is laid down.

It’s an interesting idea and given the long life-span of the powders used (30+ years on the shelf) NASA is understandably interested in the possibility of using this technology for long-term space missions, such as any mission to a more distant planetoid in the system than the moon.  Carpenter however is even more ambitious than that.  Environmentalists and welfare advocates have been warning us for years now that the current problems with world hunger is only going to get worse as our world population grows.  Using our current farming techniques, it does seem infeasible that we will be able to feed 12 billion or more people. Carpenter suggests that this technology may help us end world hunger.

I’m not certain I’m looking forward to a world where a good hamburger is replaced with soy-based protein powder assembled in patty shape… and there is nothing to indicate what this will taste like.  I can’t help but wonder however if this is possibly the future.

http://qz.com/86685/the-audacious-plan-to-end-hunger-with-3-d-printed-food/

Soylent Dumb

In case anyone really needs to be told, don’t do this: http://www.theregister.co.uk/2013/05/21/soylent_food_replacement/

The short version, a geek without any medical or nutritional training decided he didn’t want to have to eat or cook anymore, and so would come up with a food replacement that he’s calling “Soylent”, in a rather tasteless homage to the famous movie.

No-one involved in the company appears to have any training in this area, and Rhineheart has supposedly created his recipe by doing some basic review of the research and then just testing the stuff on himself.

These guys have been covered before on the Skeptics Guide (http://www.theskepticsguide.org) and whilst they don’t appear to be deliberate hoaxers (they seem to believe what they claim), they do seem to be dangerously lacking in sense.

They’ve managed to raise more than 100k on kickstarter so far, which just goes to show that there are plenty of people out there with far too much money, but don’t be fooled.

If you really want a liquid meal replacement – They Already Exist!http://www.optifast.com.au/

Nintendo dislikes “strange” relationships

An interesting story coming out of the Register and from Kotaku this week, apparently a new Tamogatchi game, which is Nintendo’s answer to the Sims, allowed gay relationships, marriage and children – at least, gay relationships between men in anycase.

Despite making a lot of noise, most of it positive, this “feature’ has been removed in an update patch as a bug, stating (depending on your translation) that it removes “Human relations that have become strange/funny”.  Nintendo have stated categorically that this was a bug, and never and intended feature.

This will no doubt be disappointing for anyone who bought the game with this in mind, and i’m sure there will be some. It’s disappointing in general to see a company as influential as Nintendo taking this sort of stance – particularly given that very mainstream games such as The Sims, Mass Effect, Dragons Age and Fable have all featured gay relationship options in their various romance segments.

http://www.theregister.co.uk/2013/05/20/nintendo_patches_in_game_gay_feature/

The Software Craftsmanship Furor

I haven’t posted here for a while but with the current debate raging across the interwebs about how Software Craftsmanship is full-of-awesome\the-end-of-life-as-we-know-it\meh-for-the-whole-family with misunderstandings on all sides, I couldn’t help but put my own two cents in.

For those of you who have missed the shouting, here is a good place to start:

http://cleancoder.posterous.com/individuals-and-interactions and

http://martinfowler.com/bliki/CraftmanshipAndTheCrevasse.html

The second of these has lots of other links to people chiming in on the subject.

These are big names, make no mistake. There are very few in the enterprise software industry that don’t have a fowler book on their shelf (Enterprise Application Patterns anyone?) and anyone who pays attention to infoQ and the conferences has likely heard about the clean code and software craftsmanship movement. Let me start off by identifying which side of the fence I am sitting on in this debate:

I am a green-band wearing signatory of the Software Craftsmanship manifesto and am proud to be so.

That said, lets get to the meat of this current discussion.  I read the posts from Dan North and his supporters with alternating disappointment (when they spoke about how fearful they we might backslide) to alarm rapidly approaching on disgust (when one spoke that the very existence of the movement upset her.)

What I can’t understand is how anyone who has endured the trenches could be anything but inspired? Is it just the wording of the manifesto? Have they not watched Uncle Bob’s fantastic presentation at Q-Con perhaps? Not spoke to the adherents about why they like it?

I think in the end that it comes down to a difference of opinion; and the truth is, the world needs both of us.

I never liked agile. I wasn’t alone there but it seems a strange thing to say these days as its popularity has grown in leaps and bounds. To be clear, its not that I disliked the techniques of agile; I use many myself in my day to day job, particularly short iteration time, constant customer feedback and backlog-scheduling. These three things alone justify the existence of Agile as a philosophy and we should all be thankful.

What I disliked was the attitude of many agile practitioners; the exclusive focus on the customer’s desires above all else.

I’ll wait for the “but but but” to calm down, yes, I am aware that as members of a service industry it is our job to satisfy the client’s needs, but if you think that job is simply saying ‘yes’ all the time to whatever they say you are doing yourself and your industry a disservice. It is important to discover the underlying requirements, the real needs the client don’t know exist yet, the domain problem that needs to be solved.  It is important to not only listen to the client, but to engage with them, to challenge their ideas and conceptions, to offer your own technical advice and to utilise the report so fostered to deliver a solution that meets the customer’s needs.

These needs are many and often conflict. How many people have, in effect, been handed project where the client wants perfect work, in record speed, for very little cash?  The old saying goes Speed, Quality and Price, choose two.

These are personal pet peeves I know and I am not trying to demonise anyone in the agile movement, it is a problem that existed long before them.  Fowler in particular has very real and well reasoned worries and concerns, but I feel they might be misplaced.  You see, what Software Craftsmanship is about, as Uncle Bob points out, is about programmers being tired of being ashamed of their work.

We’ve all been there.  Deadlines loom, the client doesn’t understand why there are delays and the project manager doesn’t want to have to tell them that the latest release is going to have to slip.  Something has to give and its going to land squarely on the programmers shoulders.  Get It Done is the name of the game.

Good, strong work takes time, and time you don’t have, so you cut a few corners.  Skip a few unit tests, throw in a few small hacks to get the functionality working quickly.  It’s still fairly robust and you’ll go back and fix it after the release date.

Yeah right.  It never happens, and years later the huge application that is now in maintenance mode, where it will spend the bulk of its life, is making a bunch of programmers miserable for all the hacks and quick-fixes that were never repaired. The ‘technical debt’ as it has been called was never repaid and the interest can be crippling.

I have worked on many of these projects, and have been responsible for a few in my time too. They may be “successful” projects, that made a crapload of money and delivered on time, but their legacy is unhappiness.  The coders are unhappy, those that take pride in their work, because they know how bad much of it is.  The support programmers are unhappy, they have the maintain the mess.  The customer is unhappy; a quickly written software has far more places for bugs to hide, performs worse and has less stability.  They might be “happy” to sign off, and reasonably satisfied with the work, but they could be happier; much happier; if the work was done properly in the first place.

A few of the critics talk about “under the hood” code and how it doesn’t matter if its “beautiful”, only the functionality matters.  The client wont see if, why care?  These people seem to think that when we say “Craftsman” we mean that we want to build ourselves a sistine chapel of each and every project, complete with ornamentation and a gigantic mural.  To them, my answer is quite simple. Bookcases.

Have you have compared a custom built bookcase to a flat-pack from ikea or somewhere similar?  Which one would you trust your favorite books to?  A flatpack bookshelf serves its function, to hold books, but its shelves are held on by simple screws – or worse, just resting on tiny plastic holders.  The frame is supported only at the four corners by the screws you wrestled into place and the whole thing feels a little tottery.  Over time, the weight of the books cause the shelves to sag and eventually break away from the frame altogether.  It serves its function, but only if not too much pressure is ever put on it.

On the other hand, a custom built bookshelf has dovetailed shelves made of hardwood, with several supporting rests to prevent bowing under weight. If its made by a competent carpenter, you will be passing it on to your children.

That is the difference we are talking about. We don’t (necessarily) want to be the builders of massively complicated beautiful structures that serve no purpose but to satisfy our own egos.  We want to meet our customer’s goals and needs as quickly and cheaply as possible while still delivering a product that we can be proud of. A product that will last and cause its users to exclaim “Damn i’m glad we chose that company!” rather than “Glad this piece of shit is finally done”.

We don’t want to ignore the customer, indeed we want a proper report even more desperately than most Agile adherents. We want them to love quality work as we do and understand that to produce the best result takes both time and money, but less of both if we start out well and continue in the same vein, working together.

Uncle Bob sums up this idea here: http://cleancoder.posterous.com/software-craftsmanship-things-wars-commandmen

He also has come to the conclusion that this fear and panic amongst agile adherents must be caused by a misunderstanding; the claims that we are returning to a worship of development above all is misguided at best, and flat out wrong at worst.

All of this is secondary to the reason I first became inspired by the Software Craftsmanship movement. I have spent a lot of time working on projects plagued by these very problems over my career. Projects in support where previously happy clients have become worn down and bitter by the never ending stream of fixes, bugs and performance issues which are the legacy of a timeline that was too tight, and corners that were cut. Watching Bob Martin’s talk on Info Q about clean code, he said one thing which resonated with me. He said, very simply, follow the boy scout rule and leave the code cleaner than you found it each time you fix a bug.

It was simply amazing to me how much of a difference this made to my outlook. I went from miserable and burned out to excited and once again proud of my work. I couldn’t fix the entire project, it took thousands of man hours, hundreds and hundreds of thousands of lines of code, and many deadline panics to get it in the state it was in. But each day I could fix a little part of it, and walk away understanding that I had not only done my best to satisfy the client in the immediate term; by fixing the bug; but that I had made a small improvement to the system -as a whole- that, in the long term, will lead to a far more satisfactory system for everyone.

Making a difference matters. Having pride in your work matters.  Doing the best you can each time you sit down to work matters. Knowing, when you have to make trade offs and create something less than it could have been, that the situation really requires it, and its not just because you lacked the courage to stand up for your work; that matters too.

The end result matters, and it takes more than just great client engagement.  It takes great client engagement -AND- great development work. And that is why I am a signatory of the Software Craftsmanship Manifesto.

Gartner’s Magic Quadrant for Horizontal Portals is out

I’ve learned to appreciate Gartner’s magic quadrants, though I must admit I found them strange at first.  Simplifying the state of a market down across two axis as they do turns out to be quite efficient a way to judge the competitors in the space.

The new Horizontal Portal Magic Quadrant is no exception.  By far the most obvious change in the market is that Microsoft has passed IBM to become the new market leader with the release of SharePoint 2010.  I’ve been involved with SharePoint in one way or another for most of my career and it certainly appears that the attention and effort Microsoft have put in to this product in recent years is finally getting serious attention in the marketplace.

Oracle’s acquisitions have put it up with the forerunners and IBM and SAP are holding in the leader’s quadrant fairly steadily, but by far the most interesting entry in the leader’s quadrant is Liferay.  Whilst it’s ability to execute places it very close to the axis line, it’s completeness of vision has it at a fairly good mid-point, and by far the most interesting thing about it is the fact that it is open-source.

The graph might not have it as a serious contender against heavyweights like IBM and Microsoft, but the fact it gets into the same quadrant at all speaks volumes for the amount of effort that has gone in to this project and, driven by the current economic climate, it would seem they have had the opportunity to prove themselves at some larger client sites.

Certainly an interesting developing market and worth watching.

New Blog!

Hey everyone,

It’s been a while between posts I know, all I can say is I’ve been busy, sorry.  I have a couple of articles half-written to share here, it’s just a matter of finding the time to finish them.

In the meantime, long-time readers of my blog would know that as well as being a software developer, i’m also an author.  I’ve decided this year I’m going to attempt to participate in NaNoWriMo (because my life just isn’t hard -enough- already).  I’ve wanted to do it for many years now and it seems there is always a reason not to.  This year i’m going to attempt it anyway and damn the reasons!

That said, it occurs to me that many of my regular visitors are actually here for the technical content rather than any of the other posts that go up from time to time. With that in mind, i’d like to announce the creation of a new blog, Nulla Lux Sine Tenebrous, which will be the posting-point for my rants, NaNoWriMo updates, complaints and general chattiness.  This blog will remain, as always, and although I can’t promise a great acceleration in content I will certainly not abandon it.  It will be devoted, from this point on, to primarily technical content – such as the articles and quick how-to’s that seem to draw the lion’s share of the traffic to this site.

Thanks to everyone who has followed this blog over the last few years, I hope you all stick around – and if you’ve a taste for it, wander over to the new blog as well.

Scribd get greedy

The other day I was looking about the net for a couple of free books that I knew were around somewhere.  I had copies backed up somewhere on my file server, but I had a pretty good idea of where to find them on the net and downloading only takes a moment, so it just seemed simpler to do it that way.  I’m lazy like that.

The books in question? A series of non-fiction on writing, written by S.L. Viehl.  She has written an excellent series that includes some planning worksheets that i’ve found useful in the past and kindly made them available free online.

I tracked them down on Scribd, where they have always lived, and was quite surprised to find I couldn’t download them. Apparently their policies have changed and in order to download, i’d have to pay a fee.  I could still read online however.  This was annoying, but I still had copies somewhere on my server, and – as it turns out – my own transcribed copies of the worksheets anyway.  I shrugged and went about my business.

A few days later, I came across this.

It turns out that Scribd has started doing this to the authors of free works, but neglected to tell them!

This, then, is somewhat more serious.  Scribd has, in effect, begun to sell work that it has no right to sell, profiting of the copyright’s of others without permission.  It’s quite nefarious, in some ways, to build up a name as a provider of free hosting and then capture the intellectual property of your users and sell it for profit.  Make no mistake, whatever their justifications that is what they have done.

In the meantime, if you have works you wish to make public and freely downloadable, try Google Docs.