<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Michael Luton is a software engineer living in the Bay Area. He currently works with Ruby on Rails in an Amazon Web Services environment.

He also created the iOS app Animal Sliding Flashcards for his 3-year-old daughter and hopes other parents will find it entertaining and educational as well.

</description><title>Sandmoose</title><generator>Tumblr (3.0; @sandmoose)</generator><link>http://sandmoose.com/</link><item><title>Diablo III: The Real Geek Event for 2012</title><description>&lt;p&gt;There will be an iPad 3 sometime in the next few months. iOS 6 will happen later this year as will the 6th-gen iPhone. Mountain Lion will be upon us this summer. But the event that’s really going to set geeks on fire this year is Diablo III. Everything will pale in comparison to that. Also, is the next StarCraft installment still happening this year too?&lt;/p&gt;</description><link>http://sandmoose.com/post/18090475554</link><guid>http://sandmoose.com/post/18090475554</guid><pubDate>Wed, 22 Feb 2012 14:07:02 -0800</pubDate><category>blizzard</category><category>diablo</category><category>starcraft</category><category>games</category></item><item><title>Lyric Websites are the Trashiest Places on the Internet</title><description>&lt;p&gt;Music is a very important part of my life. I don’t pay attention to lyrics much though. However, there are times when I want to read the lyrics to a song. Google “[song title] lyrics” and click on the first result. This will always lead to one of the worst experiences one can have on the internet. Lyric websites are some of the most user-hostile websites in existence. They are horribly designed and slathered in ads. In addition to the regular ads there’s at least half a dozen more ads that jump around the page trying to sell you the ringtone for whatever song you’re interested in. You may or may not be able to copy-n-paste lyrics. Unexplained things may happen simply by moving the cursor around.&lt;/p&gt;

&lt;p&gt;It seems like song lyrics is an area where it’s impossible to do good work. Why? Surely, a well-designed user-focused lyric site or app would be a great thing which lots of people would use.&lt;/p&gt;

&lt;p&gt;Better yet, why don’t the songs I buy from iTunes have the lyrics embedded in the metadata? iTunes has a place for it. Lyrics have their own tab right alongside ‘Artwork’. Many albums on iTunes will include lyrics in the digital booklet. Why not just put ‘em into the metadata as well? Why make me go to the trashiest places on the internet just so I can confirm the lyrics I &lt;em&gt;think&lt;/em&gt; I’m hearing are correct?&lt;/p&gt;

&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lyslsrjcWm1qcnprg.png" alt="sad"/&gt;&lt;/p&gt;</description><link>http://sandmoose.com/post/18019309353</link><guid>http://sandmoose.com/post/18019309353</guid><pubDate>Tue, 21 Feb 2012 10:43:00 -0800</pubDate><category>music</category><category>lyrics</category></item><item><title>iOS: UIView Rounded Corners</title><description>&lt;p&gt;This code will add rounded corners to a UIView.&lt;/p&gt;

&lt;script src="https://gist.github.com/1697493.js?file=gistfile1.m"&gt;&lt;/script&gt;</description><link>http://sandmoose.com/post/17956918920</link><guid>http://sandmoose.com/post/17956918920</guid><pubDate>Mon, 20 Feb 2012 10:24:06 -0800</pubDate></item><item><title>robokitten:

Thermo 1.4 hit the App Store yesterday and guess...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lzk4cv36X81qgnx4bo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://robokitten.tumblr.com/post/17783360193/thermo-1-4-hit-the-app-store-yesterday-and-guess" class="tumblr_blog"&gt;robokitten&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Thermo 1.4 hit the App Store yesterday and guess what? Thermo is now a Universal app rebuild from the ground up for your iPad!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I didn’t know this app existed until today. Very cool if all you want to know is the outside temperature. Many times that is all I want to know. I absolutely love these kinds of apps. It takes a concept so simple and puts a really nice UI around it. &lt;a href="http://itunes.apple.com/app/thermo/id414215658?mt=8"&gt;It’s free&lt;/a&gt;. A 99 cent  in-app-purchase removes the ads.&lt;/p&gt;

&lt;p&gt;I’m hoping Apple eventually puts thermometers in their future devices so I can I get the indoor temperature for wherever I happen to be.&lt;/p&gt;</description><link>http://sandmoose.com/post/17795013850</link><guid>http://sandmoose.com/post/17795013850</guid><pubDate>Fri, 17 Feb 2012 17:09:17 -0800</pubDate><category>iOS</category><category>ipad</category><category>thermometer</category><category>iphone</category></item><item><title>Minimal Mac: Microsoft's Biggest Miss</title><description>&lt;a href="http://minimalmac.com/post/17758177061/microsofts-biggest-miss"&gt;Minimal Mac: Microsoft's Biggest Miss&lt;/a&gt;: &lt;p&gt;&lt;a href="http://minimalmac.com/post/17758177061/microsofts-biggest-miss" class="tumblr_blog"&gt;minimalmac&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Then, she explained, the iPhone came. There was no Office. People got things done. Then the iPad came. There was no Office. People got things done. Android came. People got things done. All of those things that they, just a couple of years ago, were convinced they needed Office to do. They got them done without it. And thus, the truth was revealed.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I would also add that Google Docs has done a heck of a lot to make Office irrelevant.&lt;/p&gt;</description><link>http://sandmoose.com/post/17772766406</link><guid>http://sandmoose.com/post/17772766406</guid><pubDate>Fri, 17 Feb 2012 09:51:15 -0800</pubDate><category>iOS</category><category>microsoft</category><category>office</category><category>google</category></item><item><title>OS X Mountain Lion</title><description>&lt;a href="http://www.apple.com/macosx/mountain-lion/"&gt;OS X Mountain Lion&lt;/a&gt;: &lt;p&gt;I was just thinking this morning if Apple would do an OS X version of Reminders. I thought they probably wouldn’t because they see that kind of thing as belonging with iOS. If you always have an iPhone or iPad at your side why would you also need a Reminders app on your computer?&lt;/p&gt;

&lt;p&gt;I’m glad I was wrong. Also, &lt;a href="http://www.apple.com/macosx/mountain-lion/messages-beta/"&gt;Messages Beta&lt;/a&gt;!&lt;/p&gt;</description><link>http://sandmoose.com/post/17719263025</link><guid>http://sandmoose.com/post/17719263025</guid><pubDate>Thu, 16 Feb 2012 10:46:21 -0800</pubDate><category>osx</category><category>mountain lion</category><category>messages</category><category>ios</category></item><item><title>Minimalism: Spotlight Over App Launchers</title><description>&lt;p&gt;Spotlight comes with the operating system. It’s already there. It’s going to index your hard drive and store that index somewhere. You may as well use it. Dedicated app launchers do have a bunch of features that Spotlight doesn’t but I don’t need those features and I don’t want a second index sitting on my hard drive for something I would only use once in a while. I just want to be able to tap on my keyboard a couple of times to launch an application or document. Spotlight does a great job of that for me.&lt;/p&gt;</description><link>http://sandmoose.com/post/17680913299</link><guid>http://sandmoose.com/post/17680913299</guid><pubDate>Wed, 15 Feb 2012 15:50:01 -0800</pubDate></item><item><title>An iOS Catalogue/Store App Template</title><description>&lt;p&gt;One of the more challenging things about iOS development is moving past simple examples to something more complex. Unlike web development, iOS apps are not just a bunch of views which can arbitrarily link to each other. It’s more structured. Putting together an application which has the right kind of UI elements in the right places all working together is not trivial. Table views are easy enough to understand by themselves. Navigation controllers go hand-in-hand with table views. A tab bar is easy to understand on its own too. But what if you want to combine the two?  What if you want to have a segmented button in your navigation controller like the built-in iTunes app?&lt;/p&gt;

&lt;p&gt;It took me a couple of weeks of research and trial and error but I finally put together an iOS app template for an application where individual tabs can contain a navigation controller and table view. Furthermore, the detail view of the table has a segmented control in the navigation bar used to switch between different detail views. This is similar to (but not exactly the same as) Apple’s “store” apps like iTunes, App Store and Apple Store. It can be useful for a store or catalogue application if you want to stick to standard iOS UI elements and conventions.&lt;/p&gt;

&lt;p&gt;There is no .xib file for the main view. The UITabBarController is setup programmatically in &lt;code&gt;AppDelegate.m&lt;/code&gt;. In order to place a UINavigationController as the contents of a tab instead of a vanilla UIViewController you must create a UINavigationController with the desired UIViewController as its root view controller.&lt;/p&gt;

&lt;h4&gt;AppDelegate.m&lt;/h4&gt;

&lt;script src="https://gist.github.com/1814165.js"&gt; &lt;/script&gt;&lt;p&gt;The segmented control in the detail view uses large portions of the &lt;a href="http://redartisan.com/2010/5/26/uisegmented-control-view-switching"&gt;great example&lt;/a&gt; by Marcus Crafter. I opted to use his older example which requires a container view. Marcus has a more recent example which doesn’t require a container view and is generally cleaner. However, I couldn’t quite figure out how to get that to work in this particular context.&lt;/p&gt;

&lt;p&gt;The full &lt;a href="https://github.com/mluton/TabsWithNavigationAndSegmentedDetail"&gt;XCode project&lt;/a&gt; is available on GitHub.&lt;/p&gt;</description><link>http://sandmoose.com/post/17558580001</link><guid>http://sandmoose.com/post/17558580001</guid><pubDate>Mon, 13 Feb 2012 10:15:00 -0800</pubDate><category>iOS</category><category>uinavigationcontroller</category><category>uitabbarcontroller</category></item><item><title>A Wave of Distortion</title><description>&lt;p&gt;There may not be a scientifically way to ever measure this but I’m wondering… is there a wave of executives and managers who read the Steve Jobs biography and are now trying to establish their own reality distortion fields by asking unreasonable things from their subordinates and expecting it’ll all turn out awesome?&lt;/p&gt;</description><link>http://sandmoose.com/post/17392089227</link><guid>http://sandmoose.com/post/17392089227</guid><pubDate>Fri, 10 Feb 2012 15:13:23 -0800</pubDate></item><item><title>Earth and Mars</title><description>&lt;p&gt;There are two meanings of the word ‘earth’. First, ‘Earth’ is the proper name of our planet. Second, ‘earth’ is a word we use to describe soil or dirt. Farmers say they “work the earth”. They might pick up handfuls of soil, rub it in their hands to determine its quality and say, “The earth is rich in minerals here.”&lt;/p&gt;

&lt;p&gt;Assume we eventually colonize Mars. Would we adopt a lowercase usage of ‘mars’ in the same way we do for ‘earth’? Would farmers on Mars say they “work the mars”. Would they say to one another, “Feel this mars. It’s very dry.”?&lt;/p&gt;

&lt;p&gt;We also tend to put “this” before Earth too in some contexts. If there’s a territorial or political dispute on Mars would peace-minded colonists say, “We all have share this Mars.”&lt;/p&gt;

&lt;p&gt;Just thinking out loud here. Maybe not such a great idea.&lt;/p&gt;</description><link>http://sandmoose.com/post/17288060837</link><guid>http://sandmoose.com/post/17288060837</guid><pubDate>Wed, 08 Feb 2012 15:49:06 -0800</pubDate></item><item><title>Social Networks and Inertia</title><description>&lt;p&gt;When it comes to social networks we geeks can be very fast and nimble. We’ll jump into any new social network that crops up just to check it out. Besides &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt; and &lt;a href="http://twitter.com"&gt;Twitter&lt;/a&gt;, most geeks have probably also played with &lt;a href="http://pinterest.com/"&gt;Pinterest&lt;/a&gt;, &lt;a href="http://instagr.am/"&gt;Instagram&lt;/a&gt;, &lt;a href="https://path.com/"&gt;Path&lt;/a&gt;, &lt;a href="https://plus.google.com/"&gt;Google+&lt;/a&gt;, &lt;a href="http://stamped.com/"&gt;Stamped&lt;/a&gt;, &lt;a href="http://getglue.com"&gt;GetGlue&lt;/a&gt;, etc. Checking out new stuff on the Internet is in our DNA. It’s what we do. When something better comes along we leave the old behind. Remember MySpace? Right.&lt;/p&gt;

&lt;p&gt;But the mainstream population doesn’t move quite as fast. Almost everybody we know is on Facebook now but it took years for non-geeks to understand what Facebook is, why they should be a part of it and to sign up and participate. Facebook’s 800 million users aren’t going to start using another social network just because it’s technically better. Geeks don’t care because we’ll go wherever we want to anyway. However, there are some smaller online communities where the inability to move to something new can be a problem. Take Alameda Freecycle for example.&lt;/p&gt;

&lt;p&gt;Freecycle is a system where members in a community can exchange things. Instead of throwing something in the garbage you give it to someone else in your local community who wants it. We have our own freecycle community in Alameda as does many other cities and towns. It’s a good thing because it keeps stuff out of landfills while allowing people to easily get rid of stuff they don’t want anymore. Obviously, we need a way to communicate what’s being offered/taken/wanted and arrange pickups. Alameda Freecycle uses Yahoo Groups to facilitate this communication.&lt;/p&gt;

&lt;p&gt;I see a few problems with using Yahoo Groups for this purpose.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;It’s Yahoo. The usability of the web interface is horrible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It’s a mailing list. This is the real root the problem as it requires the user to do a lot of menial work in order to be an effective participant in the community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You need a Yahoo ID or an account with another Yahoo-approved 3rd party authentication provider like Facebook or Gmail. You just can’t type any email address into a field and press the ‘join’ button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You are responsible for organizing the messages. By default emails will start appearing in your inbox. You need to read/delete them or move them somewhere else. If you choose to move them somewhere else you’ll eventually need to deal with them when enough have piled up to become a problem. Old messages will continue to hang around on your computer long after they cease to be relevant. You’re responsible for getting rid of them.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;If you do choose to keep your freecycle messages in a mail folder separate from everything else you’ll need to create a mail filter to make sure they go there. It needs to be a server-side filter because chances are you have more than one device you receive email on. You probably also want to create a rule to automatically mark the emails as ‘read’ so you don’t see a ridiculously high unread count on your email icon.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You have the option of subscribing to “digest” emails which cuts down on the number of emails you receive per day. Instead of getting individual emails as they’re sent you get fewer emails with multiple messages per email. If you do subscribe to the digest and want to be on the ‘taking’ side of freecycling you’ll always be behind since you’re not getting the messages in real-time. In my experience, items tend to go to the first responder.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For casual members it’s annoying to always be receiving email from the group when you only participate occasionally. It seems like a really inefficient use of resources to have about 60 emails delivered to my computer, iPhone and iPad each day when I ignore them most of the time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you post to the group you need to know the correct email address to send to. If it’s not already in your address book you need to search it out. Casual users aren’t going to remember the email address when they only post something once every few weeks.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You need to remember the format of the subject line when posting to the group. Frequent users will have this memorized but casuals users aren’t going to remember the subject line format.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It’s difficult to include images. The best you can do is upload an image to an image hosting service (normal people know about those, right?) and put a link to it in your email. People reading the message need to select the link which will take them to the image in a different web page or application. This is not a good user experience. For a community based on exchanging physical objects I would think images of those objects would be pretty important.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;A quick search of the App Store shows there are better options out there. &lt;a href="http://itunes.apple.com/us/app/yardsale/id454934979?mt=8"&gt;Yard Sale&lt;/a&gt; is one example. It’s a very nicely designed iOS app which facilitates selling and buying things with people around you. You can also list items for free. Images are a central part of the app. This app and would work perfectly for the Alameda Freecycle community except that nobody uses it. For it to be of any use you need a critical mass of users in your neighborhood to be using it. That’s the big problem. How do you get enough people to move over to a better better platform in order to force everyone else to follow along?&lt;/p&gt;

&lt;p&gt;It’s a shame that in 2012 we’re still using a glorified listserv for something as important as the freecycling community when much better alternatives are sitting around begging to be used.&lt;/p&gt;</description><link>http://sandmoose.com/post/17237298174</link><guid>http://sandmoose.com/post/17237298174</guid><pubDate>Tue, 07 Feb 2012 16:44:38 -0800</pubDate></item><item><title>Jeff Atwood Leaves Stack Exchange</title><description>&lt;a href="http://www.codinghorror.com/blog/2012/02/farewell-stack-exchange.html"&gt;Jeff Atwood Leaves Stack Exchange&lt;/a&gt;: &lt;p&gt;Great post. Beautiful sentiment. One way I look at it is like this. Every day my kids are a little bit bigger than they were the day before. Literally. It’s really easy to spend a decade of your life working and justify it by telling yourself you’re providing a better future for your family. But kids go from eight to eighteen in those same ten years and you’re never going to be satisfied with your pay or possessions anyway. A lot of growing up that happens in just a decade. I want to be there for all of it. That’s one reason why I maintain a strict separation between work life and home life. Assuming you have enough to avoid day-to-day financial stress more money doesn’t ensure a happier life. You already have everything you need for a happy life.&lt;/p&gt;</description><link>http://sandmoose.com/post/17181178752</link><guid>http://sandmoose.com/post/17181178752</guid><pubDate>Mon, 06 Feb 2012 16:36:31 -0800</pubDate></item><item><title>Developer Tip: Don't Paste SQL Results Into Emails</title><description>&lt;p&gt;If you’re a developer who has to communicate with other people at all here’s a tip. Do not paste SQL results into emails.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;p&gt;The output from the MySQL command line is intended to be displayed in a monospace font so the columns line up neatly. There’s no guarantee your email will be read in a monospace font. It’s very likely it won’t be.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It’s going to wrap. For results containing many columns it will wrap a lot and will be unreadable. This does &lt;strong&gt;not&lt;/strong&gt; communicate information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Even if the query results were properly formatted nobody wants to stare at them long enough to interpret the data contained within.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It’s lazy. You’re saying to the recipient, “I can’t be bothered to actually answer your question so here’s some database rows. Chew on that.”&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Instead, just provide a quick textual summary of what you need to say. Something that succinctly answers the question. If you want to provide a query or two for the recipient to run on their own time that’s fine. But don’t make it a requirement of understanding what you need to say.&lt;/p&gt;</description><link>http://sandmoose.com/post/17161567012</link><guid>http://sandmoose.com/post/17161567012</guid><pubDate>Mon, 06 Feb 2012 10:39:49 -0800</pubDate></item><item><title>The PaperMate 1.4b</title><description>&lt;a href="http://512pixels.net/review-the-paper-mate-retractable-ballpoint-profile-1-4b/"&gt;The PaperMate 1.4b&lt;/a&gt;: &lt;p&gt;Stephen Hackett reviews the PaperMate 1.4b. The black version has been my pen of choice for the past few years. Ultra smooth. Nice dark consistent lines. Nice to see it getting some attention.&lt;/p&gt;</description><link>http://sandmoose.com/post/16945594640</link><guid>http://sandmoose.com/post/16945594640</guid><pubDate>Thu, 02 Feb 2012 16:10:52 -0800</pubDate></item><item><title>AAPL Orchard: Not Everyone Copies Apple</title><description>&lt;a href="http://aaplorchard.tumblr.com/post/16892420138/not-everyone-copies-apple"&gt;AAPL Orchard: Not Everyone Copies Apple&lt;/a&gt;: &lt;p&gt;One company sees themselves as being accountable to their customers. Almost every other company in the world sees themselves as being accountable to their shareholders.&lt;/p&gt;</description><link>http://sandmoose.com/post/16933126858</link><guid>http://sandmoose.com/post/16933126858</guid><pubDate>Thu, 02 Feb 2012 12:35:35 -0800</pubDate></item><item><title>"You are blinded by the love of the office you hold."</title><description>“You are blinded by the love of the office you hold.”&lt;br/&gt;&lt;br/&gt; - &lt;em&gt;Albus Dumbledore&lt;/em&gt;</description><link>http://sandmoose.com/post/16928648993</link><guid>http://sandmoose.com/post/16928648993</guid><pubDate>Thu, 02 Feb 2012 10:50:53 -0800</pubDate></item><item><title>Covering Up Browser Languages</title><description>&lt;p&gt;I’ve been a web-developer for over fifteen years. Over the course of those years I’ve learned to trust my instincts. Going with my instincts usually serves me well and going against them usually causes pain. Right now, my instincts are telling me that languages like HAML, SASS, and CoffeeScript are going to cause me more pain than good.&lt;/p&gt;

&lt;p&gt;Web browsers use three different languages to render web pages: HTML, CSS, and JavaScript. HTML defines &lt;strong&gt;what&lt;/strong&gt; information appears on a page. CSS determines &lt;strong&gt;how&lt;/strong&gt; information looks on a page. JavaScript dynamically manipulates both HTML and CSS to create a more interactive and visually engaging experience. These languages have been around for a long time and may not compare favorably to the fresh faces of Ruby and Python. Naturally, there is a desire to modernize the browser languages.&lt;/p&gt;

&lt;p&gt;HAML aims to make HTML better by eliminating closing tags and reducing the amount of code to type. White space is significant. Indentation matters. The document structure more apparent when working with it.&lt;/p&gt;

&lt;p&gt;SASS improves CSS by adding variables, nesting and inheritance. It’s a more programmer-friendly version of CSS.&lt;/p&gt;

&lt;p&gt;Finally, CoffeeScript gives JavaScript a more modern syntax which Ruby or Python developers will feel more comfortable with.&lt;/p&gt;

&lt;p&gt;However, browsers can’t execute these new languages so they must be compiled to their native counterparts to be useful. I see a few problems with this.&lt;/p&gt;

&lt;h3&gt;Crowded Headspace&lt;/h3&gt;

&lt;p&gt;With traditional languages and operating systems I can write C code and pretend that Assembly language doesn’t exist. Assembly language never crosses my mind while I’m writing or debugging code.&lt;/p&gt;

&lt;p&gt;However, you cannot pretend HTML, CSS and JavaScript don’t exist. Thousands of books and web sites which teach web development are, of course, written using HTML, CSS and JavaScript. Official documentation and reference sources will always use the native languages. There is absolutely no way you can practically use HAML, SASS and CoffeeScript without also knowing HTML, CSS, and JavaScript. For each native language you work with you’ll have to keep two concepts active in your head and translate between the two as you work.&lt;/p&gt;

&lt;p&gt;I don’t think this makes web development any easier. What developers do is complicated enough without adding new languages to the process which aren’t completely necessary.&lt;/p&gt;

&lt;h3&gt;Compiling Required&lt;/h3&gt;

&lt;p&gt;HAML, SASS, and CoffeeScript also introduces additional software libraries and steps to the development and deployment process. The “improved language” source files must be converted to their native counterparts. Ruby on Rails 3.1 supports CoffeeScript and SASS by default and adding in HAML support is very easy. But in a less-blessed environment you’re going to have to a significant amount of work yourself.&lt;/p&gt;

&lt;p&gt;What if you don’t do 100% of your work in Ruby on Rails? What if you want to experiment with something outside the confines of your regular framework? It often helps to create a simple demo page with bare-bones HTML/CSS/JavaScript when experimenting with a new concept. With native languages you create the files, load the page in your browser and you’re good. With the improved languages you always have compile the native versions yourself or be working in an environment like Ruby on Rails which will do it for you.&lt;/p&gt;

&lt;h3&gt;Static Sites&lt;/h3&gt;

&lt;p&gt;I’ve spent most of my career working on “big” sites with dynamic backends written in PHP, Java or Ruby on Rails. However, there are a lot projects for which a static site makes the most sense. These sites exist as static files and Apache (or whatever) serves the files straight-up. It would be unreasonable to have to compile HAML, SASS or CoffeeScript every time I want to change something on a static site.&lt;/p&gt;

&lt;h3&gt;Debugging&lt;/h3&gt;

&lt;p&gt;Browsers only deal with native languages. The debugging tools in browsers only deal with native languages. If you’re inspecting a DOM tree you’re going to be looking at HTML. Not HAML. When you’re stepping through JavaScript code it’s going to be actual JavaScript and not CoffeeScript. You to do mental translation between the code you write and the code that matters. You need as much of your brain as possible for actual development and debugging.&lt;/p&gt;

&lt;h3&gt;Sharing Code/Knowledge&lt;/h3&gt;

&lt;p&gt;Browser languages are no longer the simple things they were almost twenty years ago when calling HTML a “language” was considered generous. Today, HTML, CSS and JavaScript have advanced to a state where a whole new class of engineers have coalesced around them. Front-end engineers are very important and in very high demand. They think and communicate in native languages. When you need to share code you’re going to do it with HTML, CSS and JavaScript because you don’t know who has bought into the improved languages yet and you want your code and ideas to be as widely useful to as possible. If you want to discuss front-end technology online with other developers you’re going to use native languages because you want to be understood by everybody.&lt;/p&gt;

&lt;h3&gt;Conclusion&lt;/h3&gt;

&lt;p&gt;If enough browsers supported the improved languages directly I’d be inclined to make the switch. Maybe they eventually will and HTML, CSS and JavaScript will become the Assembly language of the web. I actually think that would be pretty cool. Until then, I’m sticking with HTML, CSS and JavaScript.&lt;/p&gt;</description><link>http://sandmoose.com/post/16872807565</link><guid>http://sandmoose.com/post/16872807565</guid><pubDate>Wed, 01 Feb 2012 10:53:15 -0800</pubDate></item><item><title>Background Image on a UIView</title><description>&lt;p&gt;Here’s a snippet of code you can use to add a background image to any UIView.&lt;/p&gt;

&lt;script src="https://gist.github.com/1697428.js?file=gistfile1.m"&gt;&lt;/script&gt;&lt;p&gt;Enjoy.&lt;/p&gt;</description><link>http://sandmoose.com/post/16682028684</link><guid>http://sandmoose.com/post/16682028684</guid><pubDate>Sat, 28 Jan 2012 21:44:42 -0800</pubDate></item><item><title>Understanding the bin, sbin, usr/bin , usr/sbin split</title><description>&lt;a href="http://lists.busybox.net/pipermail/busybox/2010-December/074114.html"&gt;Understanding the bin, sbin, usr/bin , usr/sbin split&lt;/a&gt;: &lt;p&gt;Interesting reading if you’re a UNIX geek. I’ve always wondered what the difference was between &lt;code&gt;bin&lt;/code&gt;, &lt;code&gt;sbin&lt;/code&gt;, &lt;code&gt;usr/bin&lt;/code&gt; and &lt;code&gt;usr/sbin&lt;/code&gt;. Turns out it has a lot to do with disk sizes back in 1971.&lt;/p&gt;</description><link>http://sandmoose.com/post/16593376263</link><guid>http://sandmoose.com/post/16593376263</guid><pubDate>Fri, 27 Jan 2012 12:52:23 -0800</pubDate></item><item><title>Clear App: A Todo App</title><description>&lt;a href="http://www.realmacsoftware.com/clear/"&gt;Clear App: A Todo App&lt;/a&gt;: &lt;p&gt;Well, this looks pretty darn cool!&lt;/p&gt;</description><link>http://sandmoose.com/post/16550049947</link><guid>http://sandmoose.com/post/16550049947</guid><pubDate>Thu, 26 Jan 2012 16:44:49 -0800</pubDate></item></channel></rss>

