We're hiring!

We're actively seeking developers & designers for our new Detroit location. Learn more

Boo!

Boo is a Python-flavored language for .NET and Mono. It is statically typed, but has a “duck” type similar to the dynamic keyword in C# 4.0. It is compiled, but has strong meta-programming capabilities. Using Boo feels like using a more indie version of C#. It doesn’t have the tools support that C# has, so…

Read More »

Posted in Languages | Tagged , , | 3 Comments

Conditions and Exceptions

I recently learned about condition systems from this Axis of Eval post, and I’m exceptionally jealous of Lisp for this feature. Simply put, a condition is just an exception that doesn’t force you to unwind the stack. This is a very straightforward concept but, as the post details, it could have profound effects on the…

Read More »

Posted in Languages | Tagged , | 1 Comment

Enumerating Ruby: Handling Memory Constraints and Recovering from Errors

This is the fourth post in a series on enumeration in Ruby. In the previous post, we saw how we could easily extend the built-in Enumerable methods to work with lazy collections. This post will cover some of the added benefits of using enumerators to build the interface to your collection, namely the ability to…

Read More »

Posted in Languages | Tagged | Leave a comment

Enumerating Ruby: Lazy Chains

This is the third post in a series on enumeration in Ruby. In the previous posts, we’ve remained within the shelter of the standard library, using the built-in enumeration mechanisms, Object#enum_for and Enumerator.new. In this post, we’re going to go into the deep end and talk about some more advanced uses of enumerators, as well…

Read More »

Posted in Languages | 3 Comments

Enumerating Ruby: Enumerator.new

The previous post in this series covered Object#enum_for’s ability to make a collection out of any method that yields values to a block. We saw that #enum_for opened up a lot of opportunities for elegant code and simple tests, but we also saw that we were limited in what we could do with the enumerator…

Read More »

Posted in Languages | Tagged | 1 Comment

Enumerating Ruby: Object#enum_for

Have you ever wanted to make a lazy collection in Ruby? …build a pipeline of data, doing multiple operations to each element? …or iterate over an infinite sequence? This series will discuss Enumerator (Enumerable::Enumerator in 1.8.7), Object#enum_for, and other ways to simplify working with collections and things that can be thought of as collections. This…

Read More »

Posted in Languages | Tagged | 2 Comments

Breaking BlackBerry: A curious interaction between SeparatorField and FlowFieldManager

While working on a BlackBerry app, Zach and I came across an odd side-effect of adding a SeparatorField to a FlowFieldManager. Here’s the code in question: It looks rather innocent, but its effect is sinister. Any buttons placed before the separator will not receive user input. Luckily, we can avoid using a SeparatorField altogether by…

Read More »

Posted in Mobile | Leave a comment

MPMoviePlayerViewController: Check yourself before you wreck yourself

iOS pop quiz: ~90% of the time, this code will show a video. ~10% of the time, this code will show a screen with multimedia controls but no video. If the user rotates their device, the video will then show correctly, even if the user rotates it back. Why? And how do we fix it?…

Read More »

Posted in Design & Development, Languages, Mobile | 3 Comments