Lab project
Introducing Bwoken
Bwoken is a UIAutomation test runner for both iPhone and iPad, which lets you write your tests in CoffeeScript, then run them in bulk from the command line. Watch the video, then head on over to its homepage!
Never trust developers who don't embrace their inner geek. We're actively engaged in the programming world, and have plenty to say and share on the subjects that excite us. Consider this our simultaneous soapbox, corkboard, and scrapbook for all things geeky.
Bwoken is a UIAutomation test runner for both iPhone and iPad, which lets you write your tests in CoffeeScript, then run them in bulk from the command line. Watch the video, then head on over to its homepage!
The software industry faces a pressing issue: we just can’t find enough seasoned developers.
Universities may produce excellent computer scientists, but recent grads are typically short on practical knowledge and experience.
Regardless of pedigree, however, we’ve found that the apprenticeship model jumpstarts developer productivity by putting novices shoulder-to-shoulder with veteran mentors, pair programming on real projects.
Last summer, Bendyworks co-founder Stephen Anderson used an apprenticeship model to bring 3 new developers into the fold. We found that with mentoring, new developers are productive from their first day, working on real code. Not only do we get to teach our development philosophy, but our mentorship provides increasing value to the stakeholder. ...continue reading
This is about that oft-neglected corner of programming, the humble boolean. Perhaps, by thinking about what’s going on in many boolean expressions, we can iron out his quickly-forking complexity. And, oh, what luck! Here’s a slab of boolean logic that I just happened to have at hand (variable names have been changed to protect the innocent):
I have found that stuff like this is easy for me to get wrong, hard to read, and hard to refactor. What could be done to simplifiy these cases? Consider just the first line of the above, (hash[:foo] == "1" || !hash.has_key?(:foo)). Already, there are two competing interests here. What is going on is that we are conflating value-testing with existence-testing. What we may ...continue reading
Yesterday, at the request of their teacher Suman Banerjee, I presented a view of what it’s like to be a professional programmer to a class of Computer Sciences students at the University of Wisconsin–Madison. The focus of the talk was “Mobile & Professionalism,” since the class’ title is “Foundations of Mobile Systems and Applications.”
The slides are available on Speakerdeck and auxiliary information is available on my github page.
In essence, my talk was split into two sections: Mobile Development & Professional Development. Given only 75 minutes to talk, I had to pick just a few topics for the entirety.
I started with an in-depth discussion of the MVC pattern and how it applies to native applications. Upon asking the class who had heard of this pattern, only about half of the hands went up, so I certainly had my work cut out for me. ...continue reading
Here’s how Bendyworks has given back to the community in the past week:
Jim recorded an interview with the fine folks at EngineYard about our experiences working with them. Look for the link to the audio soon!
Madison Ruby registration and Call for Proposals are now open!
Brad started a gem called guard-readme-on-github that allows you to preview your README files as if they were already pushed to Github. Just pull it into your gemfile and set up your Guardfile with:
[bundle exec] guard init readme-on-github
Matt worked with Angel N. Sciortino on schedule_fu and rschedule.
Brad and Matt made a change to the popular heroku_san gem to store the last deployed git commit SHA in Heroku config variables. You can view the pull request for this feature in the mainline heroku_san ...continue reading