Home » Software Development (page 3)

Software Development

TDD: Speed and Flow

Kevlin Henney asked once: Why do cars have brakes? Imagine if cars didn’t have brakes, how fast would you go? You’ll be driving really slow to not hit anything. But by giving the capability to slow down, brakes actually give us the ability to go faster. TDD is like a good car People new to unit testing and TDD complain that their ...

Read More »

Configuration is user input too

Every programmer knows that input validation is important for good application behavior. If you aren’t validating the input, you will get… interesting behavior, to say the least. The problem is that what developers generally don’t consider is that the system configuration is also users’ input, and it should be treated with suspicion. It can be something as obvious as a ...

Read More »

Design patterns in game development: parsing OBJ files

Today we will take a look at a common task in game development: parsing asset files – from a code design standpoint. Using the example of Wavefront OBJ files, we will explore the usefulness of thinking about our code using design patterns. Our goal will not be to use design patterns to create code. Instead, I would like to highlight ...

Read More »

jq: Cannot iterate over number/string and number cannot be added

In my continued parsing of meetup.com’s JSON API I wanted to extract some information from the following JSON file: $ head -n40 data/members/18313232.json [ { "status": "active", "city": "London", "name": ". .", "other_services": {}, "country": "gb", "topics": [], "lon": -0.13, "joined": 1438866605000, "id": 92951932, "state": "17", "link": "http://www.meetup.com/members/92951932", "photo": { "thumb_link": "http://photos1.meetupstatic.com/photos/member/8/d/6/b/thumb_250896203.jpeg", "photo_id": 250896203, "highres_link": "http://photos1.meetupstatic.com/photos/member/8/d/6/b/highres_250896203.jpeg", "photo_link": "http://photos1.meetupstatic.com/photos/member/8/d/6/b/member_250896203.jpeg" }, "lat": ...

Read More »

Preparing for Angular 2

I’m sure you heard about Angular 2 and that it will be totally different. Forget everything you know and start from scratch . Jokes apart, if you have taken a closer look you already know that, yes, it will be new, things will be different (as it’s mostly the case with new stuff), but many concepts will still be there. ...

Read More »

jq: Filtering missing keys

I’ve been playing around with the meetup.com API again over the last few days and having saved a set of events to disk I wanted to extract the venues using jq.                                                                                                                                                        This is what a single event record looks like: $ jq -r ".[0]" data/events/0.json { "status": "past", "rating": { "count": 1, "average": 1 }, "utc_offset": 3600000, "event_url": "http://www.meetup.com/londonweb/events/3261890/", ...

Read More »

Honestly Evaluating Your Skills

During job interviews, employers will often ask what your strengths and weaknesses are. This information can be very useful for your potential employer, but it is even more useful for yourself. Arriving at honest answers to these questions can help shape your career in the way that you want. An important prerequisite to making strong improvements in any area is ...

Read More »

Do not expose properties with writable fields without a chance to react on the writes.

                                                                                                                                                                                                                                                                                                                                                                                                                                              From a chat with a co-worker a while ago: I’m not against properties. Just something against properties that are objects with writeable fields. So even if you expose such a property as read-only, it can still get its writeable fields overwritten. That is a pain when those are part of the state of the underlying object. In other words: ...

Read More »

REST API Design – Resource Modeling

Important note: this is not something I’ve written up by myself, but it’s rather a summary, some highlighting of the most important quotes with some of my comments for an awesome post on the Thoughtworks blog about API design. Their vision quite accurately reflects what I’ve been doing lately although I did never think about all the concepts in such ...

Read More »