As you might well know, most software projects are considered failures. We've developed software products for a long time and we still don't get it right. What's going on?
I believe it has something to do with the intrinsic complexity of software development. Barriers between various stakeholders definitely aren't helping the situation. In addition we're bound by basic laws of communication. In this post I'm going to provide some kind of way, lean UX, that can help us to deal with these issues better. Read on if that rang a bell.
Wednesday, November 30, 2011
Saturday, November 26, 2011
Book Review - New Programmer's Survival Manual
Disclaimer: I was part of the tech review team of this book and received a copy of it for free. There was no obligation to review it, however.
I don't consider myself a "new" programmer anymore. I've seen my share of projects and technologies. Given this I'm probably not in the exact target market of the book. Nevertheless I managed to glean a few things from here and there.
In this review I hope to highlight the good parts of the book and help you decide whether or not to pick this puppy up. As mentioned in the disclaimer I was a part of the tech review team of the book. Big thanks to Josh and The Pragmatic Programmers for allowing that! It was a nice learning experience.
Overall I was happy with the resulting book. It's one of those books I wish every newcomer to the field would read early on. That's when it provides the most value. Read on for more impressions.
In this review I hope to highlight the good parts of the book and help you decide whether or not to pick this puppy up. As mentioned in the disclaimer I was a part of the tech review team of the book. Big thanks to Josh and The Pragmatic Programmers for allowing that! It was a nice learning experience.
Overall I was happy with the resulting book. It's one of those books I wish every newcomer to the field would read early on. That's when it provides the most value. Read on for more impressions.
Saturday, November 19, 2011
Python Package Updates - speccer 0.7.5, pyqa 0.6.1, iterplus 0.2.5, pypandoc 0.5.0
I released new versions of some of my Python packages during this week and one old PHP project. I also released a totally new one, pypandoc inspired by my earlier post. This post summarizes the most important changes made.
Labels:
functional programming,
iterplus,
pandoc,
placidity,
programming,
pypandoc,
pyqa,
python,
speccer,
tinytest
Wednesday, November 16, 2011
Linkdump 9 - Consulting, Programming, CSS...
This time my collection of links focuses on consulting, programming and CSS. I hope you find something useful there! Check out the previous one for more of these.
- So you want to be a consultant...? Valuable tips esp. for wannabe consultants. Plenty of good points there.
- How to read Haskell like Python. Definitely worth a read if you already know Python and want to get into Haskell.
- instaCSS. Nice CSS reference that works like Google Instant search.
- O'Reilly JavaScript Campaign. They have plenty of JavaScript books on discount till January 19th, 2012. It's a good time to pick up some literature if you need some.
- CSS3 Hover Effects. Some of these are pretty cool, really! There are some other interesting demos on the site as well.
- Presentation slides - Interacting with new Developers... If you develop open source software, read this.
- Learn REST: A Tutorial. If you are a web developer and don't know what REST is, it's a good time to learn a bit about it.
- Infographic about anatomy of an agency. Can you spot yourself over there?
- Geek & Poke: DDT. Too close to the truth?
Saturday, November 12, 2011
Testing User Input in Python
Apparently Python's generators are great for testing user input. This is just one way of many. Previously I've used a scenario based scheme. In scenario based testing the idea is to set up a multi-line string that mimics the user input and the excepted output. The test runner then asserts that against the actual implementation.
This can be seen as a form of acceptance testing. The solution I'm going to present here works on unit level. I guess these two methods could complement each other in some situations.
This can be seen as a form of acceptance testing. The solution I'm going to present here works on unit level. I guess these two methods could complement each other in some situations.
Pandoc - The Markup Converter
If you checked the packages I linked to at my previous post you might have noticed that their descriptions had pretty bad formatting (plain text without oompfh). This has to do with the fact that PyPI doesn't support Markdown syntax. Since I like to write Markdown and rather not convert my files to pure reST I decided to handle the conversion at my setup.py (package metadata).
During my research I came upon Pandoc. There are even Python bindings available for it! Sadly those bindings require exact path to Pandoc utility. This isn't cool since I want the conversion to work anywhere. There might be some nice way to locate it but I didn't bother doing that. Instead I found a nicer solution that works as well.
During my research I came upon Pandoc. There are even Python bindings available for it! Sadly those bindings require exact path to Pandoc utility. This isn't cool since I want the conversion to work anywhere. There might be some nice way to locate it but I didn't bother doing that. Instead I found a nicer solution that works as well.
Friday, November 11, 2011
Utilities - pyqa 0.5.0, iterplus 0.2.0, speccer 0.5.0
Nothing's more fun than building some utilities that make it easier to build more utilities! I just spent some time wrapping up a few of these, namely speccer, iterplus and pyqa. Depending on the sort of development you do, you might find some of these handy. I've developed them mainly for my own consumption but I really don't mind if someone else wants to use them too.
I've discussed speccer, a testing tool, briefly earlier. I developed iterplus based on my post about infinite lists in Python. pyqa is something I came up with to make it easier to write those scripts that ask a bunch of questions and then generate something based on those. Each utility is available at PyPI. The following examples should give you a better idea of them.
I've discussed speccer, a testing tool, briefly earlier. I developed iterplus based on my post about infinite lists in Python. pyqa is something I came up with to make it easier to write those scripts that ask a bunch of questions and then generate something based on those. Each utility is available at PyPI. The following examples should give you a better idea of them.
Subscribe to:
Posts (Atom)