tag:blogger.com,1999:blog-59645202796787883792009-07-10T09:15:49.966-05:00an internet ludditethe opinions of the world's only web programming internet ludditeTanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-5964520279678788379.post-64699502333279091102009-06-26T19:39:00.004-05:002009-06-26T20:08:43.365-05:00Android scripting for fun and profitOkay the last part isn't exactly likely given that you can't directly package a script application as an APK. I doubt you'll be making much "profit" from it anytime soon. Regardless, ASE support is a great boon to hackers, and allows for a whole new level of customization of your phone.I decided to organize and prune my book collection the other day, and remembered reading a brief tutorial on Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-10691223936764063042009-05-18T15:37:00.003-05:002009-05-18T15:48:10.900-05:00Migrating from Sinatra::Test to Rack::TestAfter seeing the release of Sinatra 0.9.2 mention (again) that Sinatra::Test would vanish by 1.0, I decided to get with it and move to Rack::Test. It was really pretty painless and my tests were forced to become a bit more explicit (still not convinced I really LIKE this). Since I found a few bits of fun along the way I thought I'd share.I use Test::Spec so some of this may not apply, or may Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com1tag:blogger.com,1999:blog-5964520279678788379.post-8726517273392729872009-05-13T15:24:00.003-05:002009-05-13T15:31:35.240-05:00Pushing an entire Sinatra app into a Rackup fileThe title pretty much says it all. This is a pretty pointless thought experiment inspired by this post by the guys at devver. They came up with a simple way to put both a sinatra application AND it's tests into a single file. Nothing TOO crazy, but definitely cool.Not satisfied with simple and effective, I went to complete overkill. I put together a way to not only embed a sinatra app and Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-21096258745343797472009-01-31T22:26:00.004-06:002009-01-31T23:05:30.896-06:00Extracting subdomains in SinatraAs part of my continuing education in Sinatra, I decided to learn how Sinatra handles subdomains. It turns out that neither Rack, nor Sinatra seem to have any native subdomain handling code. So I took a quick stab at it. The easiest method I could come up with was simply to re-open the Rack::Request class and add a subdomain method. The method implementation is adapted from Rails, except withTanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com1tag:blogger.com,1999:blog-5964520279678788379.post-39419692415202701262009-01-20T16:00:00.001-06:002009-01-31T22:52:42.835-06:00Multiple Sinatra .90 applications in one processI recently started work on a new application based on the current Sinatra edge code. I'm not new to Ruby, but I'm definitely new to Sinatra. So I thought I'd start a small series of posts based on the things I find either interesting, or difficult. Today's post probably falls into both categories.One of the things that drew me to Sinatra was the absolute simplicity in it's approach to web apps.Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com8tag:blogger.com,1999:blog-5964520279678788379.post-48482568251164178042008-11-24T14:11:00.012-06:002008-11-24T14:57:56.481-06:00on wearing mental blindersToday I read something very annoying. I'd read of this "problem" before, but for some reason it's rampant stupidity never really struck a chord with me. I read a blog post/article/something involving a group of people trying to design a system to handle the transfer of your digital data in the event that you unexpectedly get hit by that bus everyone always talks about.My first thought was that Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-51528539507882856982008-10-16T16:45:00.000-05:002008-10-16T16:48:21.118-05:00it's all about the data, stupid.On an average day I'll touch three different operating systems, and a pile of applications on each one, and I've come to an important realization for me as a programmer: operating systems, and most applications, suck. Tying your business to any one of them undermines your business from the start (but is often a necessary evil). Most applications don't respect your data, and actively work to Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-17959179740900122662008-10-12T21:03:00.012-05:002008-10-13T10:51:29.632-05:00on shameless self-promotion in a time of social networksI can't go a single day without hearing (or overhearing) a conversation from a friend or acquaintance discussing one social network or another. I usually roll my eyes, or ignore these conversations. As an internet luddite, I try to avoid these time sucking privacy invasive services. But today I did something, something so contrary to my years of preaching that I felt it necessary to explain myTanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-60942607505497521032008-09-15T16:13:00.000-05:002008-09-15T16:16:32.735-05:00on blinking lights and wasting timeor how I learned to quit being interrupted and regain my productivityHello, my name is Tanner, and I'm addicted to blinking lights. The addiction costs me hours of my life every week, and it's time to quit. From the minute I wake up to my screeching blinking alarm clock, until I turn off the TV, put down the phone, and go to sleep I'm blasted by little blinking lights. In every part of our lifeTanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0tag:blogger.com,1999:blog-5964520279678788379.post-10055036325386084492008-07-27T22:16:00.000-05:002008-07-28T11:10:28.698-05:00on fire and forget online servicesI'd intended this post to be a yet another glorious rant against twitter, but as I was gathering my thoughts on how I wanted to put it together I realized the issues I had with twitter are found in plenty of non-twitter sites. The problem really starts with my uncontrollable laziness. If a site requires me to continually visit it, just to stay on top of the goings on of the service, then I'll Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com1tag:blogger.com,1999:blog-5964520279678788379.post-40841290594832844352008-07-17T11:07:00.005-05:002008-07-17T11:35:08.835-05:00on subtle failureWhile reading through the top links on proggit, I ran into a project I'd seen a long while ago and promised myself I'd keep track of. I didn't. But this story isn't about me and my need for a simple bookmarking/reminder service, and the ways in which such a thing could change how I keep track of interesting things on the web. That story will come later. No this story is about the clutter Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com8tag:blogger.com,1999:blog-5964520279678788379.post-47267098793352289182008-07-07T20:20:00.009-05:002008-07-08T11:04:41.080-05:00on being an internet ludditeWelcome to the blog of the world's only web programming Internet Luddite (as far as I know). Why would any sane individual who makes a living working on and with the Internet describe themselves as a Luddite? It's simple. Despite (or possibly because of) being one of the most technically capable people in my social circle, I'm often the last to adopt the newest online service and in some cases Tanner Bursonhttp://www.blogger.com/profile/12061355692997930959noreply@blogger.com0