This piece might be a little late to the party. It is not like I’m writing on a topic that is brand new. But today I suddenly felt the urge to write something on the craft, art, job that I love and the changes that it is going through: software development. The robots that are taking over our job, they say. These times can confuse us. Make us uneasy. It triggered some thoughts that I wanted to…
I set out to read The Art of Computer Programming this year. In these blog posts I will report on the progress. Mostly for me, but maybe someone finds it fun to read :) sections 1.3’ (Volume 1 Fascicle 1) - MMIX The section on MMIX, the language that Knuth uses throughout the book for his code samples. Although it seems a strange choice, a machine language for samples, I can appreciate the…
Goal for 2017: read through this massive work. #knuth #art #computerprogramming #taocp pic.twitter.com/DGh5XnVg8X — Michiel Overeem (@michielovereem) December 20, 2016 I have these books on my shelve since graduation (2007), and a couple of weeks ago I finally set the goal to actually read them. It is a challenge for myself to see if I can read all volumes, comprehend them (more or less),…
Learning JavaScript Design Patterns by Addy Osmani JavaScript is everywhere. We cannot ignore it. And I even think it is foolish to ignore it. Like Scott Hanselman , I think everyone should learn JavaScript. The web is here to stay, and we should embrace it. And if you are doing web, client side stuff, you cannot ignore JavaScript. The frontend of many applications is much larger then it was a few…
My current company gives every employee a training budget. This budget can be spend on every training that you like, there is no need to ask permission up front (but how you spend it is part of the evaluation). So when Erik Meijer asked on twitter if people wanted to follow a certified Rx developer training, I had a training to spend my money on. I had already taken the coursera course Principles…
Writing software with JavaScript can be a lot like writing software in the dark. There is no static typing and no compiler, most errors are not found untill the code is executed. Hopefully that is in a test environment, and not when a user is working with your software. I think that a lot of emphasis should be on automated testing and analysing the code. At my current project, we have a rather…
In the previous post, we talked about some core concepts of node.js, one of them being the event loop. In the first version of the GrapNode code, we did some asynchronous phantomjs stuff. That looked good, but I wanted to know for sure that the eventloop is not blocked during the 1.5 second that it takes to make a screenshot. So I added a couple of other requests handlers to my code. See how we…
The project GrapNode is my attempt to get some experience with node.js and understand the key concepts and benefits. This short post will allow me to touch on these a little. By no means is this to be seen as the best explanation of these concepts. These are just my thoughts, and summaries of other explanations. Modules Node.js uses a simple module system, files are modules and modules are files.…
I’m like a couple of years late to the party, but finally started a node.js project. The plan is to log my progress on the blog, by writing about different aspects and maybe do some explaining of the core concepts (mostly for me, but maybe some others see benefit from it). The project will combine a couple of things. First of all node.js. I love JavaScript, and hope to learn more about using it on…
The secret to building large apps is NEVER build large apps. Break up your applications into small pieces. Then, assemble those testable, bite-sized pieces into your big application. Brian Moschel In the past year, I’ve been busy with researching architecture in JavaScript. And there are a few things that I’ve found and learned during this year. Now, I am nowhere near being an expert, I’m just…
This weekend I worked on another little side project. This time it consisted of a little HTML5 and JavaScript to use the power of a small tablet ( iPad mini in this case). And it amazes me again how easy it is to put some open source projects together and get something working. Of course the proof-of-concept is no big deal, and it is not production ready. But all these little machines that we have…
Integration of third part libraries. The promises that a library makes often force you to delete your own code right away and start integrating. Finally, ripping out code and replacing it with a tool, framework or library that is developed by a team instead of you. Developed over a couple of months, maybe even years. And all is good. But is it? Because using a third party library comes at a price.…
The year 2012 is almost done, and while enjoying my holiday I thought it would be nice to take a look back and see what books I have read and which of them I still would recommend. On looking at the list of books that I have read in 2012 (yes, I do keep a list) I saw that it weren’t that much tech books. I read more then 45 books in 2012, but only seven of them I can call tech or tech-related…
The advance of HTML5, CSS3 and responsive design has given rise to a whole new type of (open source) projects: CSS frameworks . The first time I saw these kind of projects I found it rather strange. I am used to frameworks in terms of reusable libraries giving some functionality. Like ASP.NET MVC, helping you serve content over HTTP. CSS however consists of rules and style definitions, there is no…
I thought it would be nice to give an update on some of the side projects that I’m working on. Reflecting on those I see that I currently am focussed on design, CSS3, responsiveness and less on core programming. The first side project is very simple and plain informative website. I’ve started using Zurb Foundation as a CSS bootstrap and worked with Jekyll as a templating engine. There is no…
Last week the new MacBooks arrived. And what a gorgeous new model was introduced, with a Retina Display. I myself was waiting for the new models because the old laptop needed to be replaced. The Retina version was a little to high priced for me, but I got a beautiful 13” instead. While reviewing and researching a new laptop, I also read some books about poverty and how we have a responsibility in…
This week I spotted Adobe Shadow : a tool for developing, previewing and debugging websites on mobile devices. The tool consists of a server component, installed on your development machine, a Google Chrome plugin and client apps (both iOs and Android). But before I tell you my experience, watch this demo video: Pretty amazing, don’t you think? So I installed it to preview my blog. The connection…
I’ve started working on an iOS app. Finally. The goals for this app are multiple. First of all, I wanted to work with PhoneGap, to see what the platform looked like. Second, I found a nice case for an app that I could build and put into production. I try to write up the experience and other stuff that I encounter. This first blog post marks some sources that I found to be useful. The application…
I decided to summarize some JavaScript sources that I use, have used and want to share with others. This is by no means complete, but it might serve as a good starting point. Please, send my anything that I have missed :-) Books This is a short list of all the books that are available on JavaScript. I only wanted to list the books that I have read. I cannot recommend others. The Good Parts , by…
Beginning PhoneGap by Thomas Myer Beginning PhoneGap aims to give the reader a push in the right direction when using PhoneGap. PhoneGap is a platform for writing mobile applications that can run on iPhones, Blackberry’s, Androids and more. By using HTML5 and JavaScript inside a native app users get the benefits of native apps, while developers get the benefits of code sharing and reusing. Of…
Yep, that’s right, I have moved my blog. I thought that posterous was the place to be. And the integration with google docs worked nice. But I wasn’t satisfied. I missed some control, and posterous was growing into a social media platform instead of a blogging platform. I missed some features, like good syntax highlighting and markdown support. So, why did I go with Github Pages ? Well, first I…
One of the things that you probably will run into when creating a JavaScript application is the runaway timer. The runaway timer? Yes, the runaway timer. Ever seen this message? or this one? That is the runaway timer telling you that something is running out of control. It is the thing that keeps your browser from crashing or not responding because of a long running script. JavaScript in browsers…
One of the things that I struggled with writing JavaScript, is the prototype-based programming . Coming from a Java and C# background, it is hard to let go of classes, interfaces and normal inheritance. In a Class-based object-oriented language the classes define how objects behave. An object is an instance of a class. Classes can inherit from other classes and interfaces. In JavaScript (and other…
I mentioned in the previous blog post that I am digging deeper into JavaScript lately. This post is the second in a series about JavaScript. I love mathematical stuff. Things like fractals , but also Conway’s Game of Life are amazing. So I started implementing the Game of Life using JavaScript ( github and a running example ). While implementing, I used a number of patterns and techniques that are…
I’m digging deeper into JavaScript lately, and I like what I find, see and try. I remember that when I first saw JavaScript I was building a website for our graduating class in high school, it was around 2001. It was the period that JavaScript was used in the marketing term DHTML . It was primarily used for dynamic menu’s with overlays and for the snow effects during winter. And yes, I am guilty…
One of my all time favorite books on software development is The Pragmatic Programmer: From Journeyman To Master. I highly recommend it. You do not have it? You didn’t read it yet? Go buy it! One of the tips given in the book is Learn at least one new language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden…
Lately I’ve been working on a web application that connects to Google docs: gdocerous . During the development I’ve stumbled up on OAuth and other authorization protocols. This blog post is a small write-up of the experience. As the major cloud provider, Google has lots of content available through their applications. Fortunately, they also have a nice API with lots of support and samples. But…
I’m trying to find more time and topics to blog about. While doing that, I reviewed the work flow that I have for blogging. My blog is hosted on posterous.com , a great service (although they do have some downtime-issues). It makes posting a blog easy: just send a mail to posterous@posterous.com and your done. The sender e-mail is recognized and the e-mail is converted to a blog post. They…
I think that I have always been a reader . There is a box with books from my childhood, and now I have shelves full of books. A great number of them are technical. But there are also novels and history related books. I even signed up to review books for O’Reilly . I already did a number of them (including two reviews that were not for O’Reilly). But you know what, I did not really learn anything…
The book of Ruby by Huw Collingbourne This book covers every part of Ruby that a newbie Ruby developer should know. It starts out with the basics around classes, objects, collections and moves over to more advanced stuff like threads and marshaling. Not only the language is covered: developing, debugging and the framework Rails are also explained to the reader. The book is full of example code…
Head First iPhone & iPad Development, 2nd Edition by Dan Pilone & Tracey Pilone The Head First series are always a great way to get started in some new technology. This book is no exception to that. This second edition is completely rewritten to match the new iOS and Xcode versions. The authors take the reader with them on a path to learn these new technologies. Every aspect of developing for the…
Javascript, The Definitive Guide, 6th Edition by David Flanagan This book is called ‘the definitive guide’ for a reason: it is by far the most complete book on Javascript that you can buy. Every subject, from syntax to popular libraries is covered. The 6th edition is completely updated to reflect the latest standard, ECMAscript 5. The newest features such as localstorage and geolocation are…
So I like to read… a lot. And not just books about programming or computer science , but like everything . Exactly two years ago, I started to use @deboekenlijst . It is a twitter service that builds a list of the books that you have read. So every time you have read a book, you tweet the information to that account. Once a week (or less), a website is build with statistics and an overview. This…
Seven Languages in Seven Weeks by Bruce Tate I love to try out new programming languages and different to ways to develop software. But my time is limited. So it is hard to really learn new languages and keep up with what happens outside of my comfort zone (I develop mostly in C# and JavaScript). So a book that promisses to learn you seven languages in a short period makes me curious. The concept…
Last week I attended the Advanced Agile Development class, organised by Xebia and given by Alistair Cockburn. With this post, I try to make my notes persistent for future reference. these are my notes. they are far from complete. as seen from this tweet, the class was really advanced :) But I did survive! I survived @ TotherAlistair :) moby.to/z4s4u2 — Michiel Overeem (@michielovereem) March…
Gamestorming, A Playbook for Innovators, Rulebreakers, and Changemakers by Dave Gray, Sunni Brown, James Macanufo Gamestorming is all about using games to bring up ideas and solutions in your team. The games are used to give a creativity boost. The book starts out with an explanation of the different concepts that are used in gamestorming. The essentials are explained to give a better…
After reading Hanselmans blog I became curious. How does my photo library look? The journey, or better adventure, started with seeing if I could get those statistics from my library. I use iPhoto to manage all my photo’s, but it doesn’t come with these kind of statistics. I does have some .xml file, so I thought lets use XSLT. But no, the necessary information (like resolution) is not in this .xml…
Disclaimer: I responded to a tweet of Manning ( http://www.twitter.com/manningbooks ) and received a free copy of the e-book to review it. I reviewed chapter 1 to 11 released to the MEAP. Continuous Integration in .NET by Marcin Kawalerowicz and Craig Berntson A bit about my background: I am a .NET developer for almost 5 years (3 of them full time). I am familiar with Visual Studio 2003 up to…
Zoals de meeste die mij volgen op twitter wel weten lees ik nogal veel boeken (zie bijvoorbeeld mijn pagina op @deboekenlijst ). Wat mij betreft zijn ebooks dan ook helemaal geweldig. Ik koop mijn boeken toch al, dus waarom niet op een formaat dat ik ook makkelijk mee kan nemen. In plaats van 10 keer een boek van 3 a 4 centimeter dik heb ik nu alleen mijn reader nodig op vakantie. Maar, het moet…