Spaces

os x, random, software

Spaces umust be the most broken implementation of virtual desktops ever conceived…

The Crapp Store

hardware, software, technology

The iPhone and iPod Touch are both amazing devices.  I have never seen anything built with such an amazing level of polish and overall slickness as these two things, which from here on out i will refer to collectively as the iPhone since, let’s face it, typing “iPhone and iPod Touch” is really annoying when you have to do it over and over again.  I love my iPod Touch and it comes with me everywhere.  Just in case.

When I got my iPod Touch, I was extremely excited about the ability to finally check out and use things from The App Store.  I thought these little programs would add something incredible to my life.  But they didn’t.  They added almost nothing.  Just like Dashboard.  I never, ever very rarely use Dashboard.  It is nearly useless.

On my iPod, I have 8 pages of apps installed.  Of those apps, these are the ones I open:

  1. Music
  2. Safari
  3. Mail
  4. Maps
  5. Contacts
  6. Notes
  7. Facebook (rarely)
  8. Wikipanion
  9. TouchTerm (great app)
  10. ShopShop
  11. Accuweather
  12. JellyCar
  13. MiniPiano
  14. FreeDrumPad
  15. Easy Relax

That’s it.  Out of…*does math*…*opens Dashboard for the calculator*…128 apps, I use 15.  Six of those 15 came with the iPod.  There are others I use very occasionally but not enough to make any sort of list.

Now, that said, to be fair, I work from home.  I take my time off during the day while everyone else is at work and then work from around 5pm to 2 or 3am.  This cuts out the ability for a lot of social time.  So I don’t get out a lot.  When I do get out of the house, after staring at a computer as much as I do, the iPod is not really on my mind much.  So I don’t really use the thing as the mobile device it is intended as.  It’s more of a “Was that actor in Hackers?” sort of thing.  Not worth going to grab my laptop, but I still want to know.

That said, I still find it notable that there are basically zero App Store applications that I absolutely could not live without.  Every single one is disposable…I might shed a tear or two over JellyCar (damn you, JellyCar!), but seriously…how many App Store apps do you truly love?  I suspect many of you find yourself in the same boat.

I recently got a MacBook.  I’ve spent the last year and a half without a Mac and have not really kept on top of Apple news.  It’s just not much fun to read about applications that you cannot use.  When I installed NetNewsWire on it, I decided to go ahead and subscribe to all of the staple Mac blogs and start keeping up with the Applesphere once again.

Holy fucking App Store, Batman.  Almost every other article it seems is about some useless iPhone app.  I see reviews for the most inane things I’ve ever heard of pop up constantly.

I think a great example of a useless app might be the tip calculator.  Tipping is not a complicated task to begin with.  Standard tip rates are between 15 and 20%.  Lets say your bill is 27.54$.  You want to tip 18%.  Your server was pretty great, but she forgot your croutons.  First, take 10%, $2.75.  Double that to get $5.50.  Knock off the 50 cents to approximate 18%.  Bam.  One can do this in his or her sleep.

A quick search in the App Store reveals no less than 50 tip calculators.  I found that number sufficient to prove my point and didn’t look any further.  There may be as many as 200.  I don’t know.  I’m sure some try to take the concept of simple multiplication to a new level (perhaps it provides pickup lines for the hot waitress?  I don’t know).  But why?  The iPhone already has a calculator.  We don’t need a new, special calculator for this task.  Even for splitting your bill, a normal calculator is no more difficult to use than an unfamiliar specialized application aimed at helping you out at dinner time.

iPhone flashlights are another terrible, terrible class of app.  These applications work by displaying a white screen, a complex task to be sure, even in Objective C.  For this to be at all effective, one has to go to preferences and turn the brightness all the way up.  What does the preference pane for brightness look like?  It is at least 80% white.  When you turn it all the way up, you have already created a flashlight.

If you exit Preferences and then scroll to page 9 of your apps to open the flashlight you just downloaded (and maybe bought!), all you are doing is creating a situation in which when you have finally found your car keys or whatever, you have to stop everything, close the flashlight app, return to preferences, go to the brightness pane, and turn it back down.  By obtaining this simple program aimed at making sure you always have a flashlight, you have made whatever you were doing about 7 steps more complicated.  This is not a win for you.  It’s not.

There are no less than 30 flashlight applications in the App Store, if you count combo applications (like Fart + Flashlight - I’m not kidding).  Many, if not most, cost money.

The vast majority of iPhone applications are this way.  Either they solve a problem that was never really a problem to begin with or they are glorified Flash games.  When was the last time you kept a Flash game around to play again later?  How many times did you go back and play it?  Twice?  When was the last time you paid a dollar to play a Flash game?

There are over 35,000 applications in the App Store.  I have not yet seen one single app that looked cool enough that I would pay money to own it with the exception of TouchTerm.  MochaVNC was pretty close, but they pissed me off with MochaVNC Lite (they pushed an update which removed almost all usefulness from the Lite version while mentioning nothing of these removals in the release notes) and I will never give Mocha a dime.

The App Store is far too crowded.  Many times, when I want an app to do something in particular, I search for an app that will do what I need, like you might expect.  I then get a list of apps that all do the same thing.  Sometimes there are a lot of them. Now, in this moment, I need a quick solution to a simple problem.  Do I really want to sift through this mess just to find something that works for me?  How many virtual levels does the world need?

Apple needs to do something about this.  I’ve seen some amazing things done with the iPhone, particularly in the arena of using the device as a remote control of some kind, a spatial communication tool, and an interface to create music with.  These are the kinds of things I want to see an iPhone do.  Please don’t slap pretty interfaces on the same applications we’ve all had on our Nokias for the last ten years.  If you must do this, please only do it once.  Despite the amazing array of applications that could be created for the iPhone, all we get is a steady stream of crapware.  In its current state the App Store reminds me of nothing as much as it does Tucows or Softpedia - filled to the bursting point with two-bit, half-baked software that drowns out all the useful things out there.

A tip calculator or big white screen is a great way to learn the ins and outs of a new language or API.  These types of exercises are very, very common in programming manuals and books.  They are ideas that are functional by themselves but basic enough to be expanded upon.  But they don’t need to be distributed to the world.  It was a tool to learn with.  It’s safe to discard it.

CSS Reset?

internet, work

I don’t read a lot of design blogs…I don’t read a lot of blogs, period.  For some reason, the feed reader in any of its forms has never made it into a permanant part of my morning routine.  If I close the reader, I don’t open it again for weeks or months, upon which I have thousands of new articles to sift through, and honestly, it’s basically like being on 100 high volume mailing lists.  Just isn’t for me.

But how did I miss this one?  CSS reset as well as CSS frameworks are completely new to me.  Never heard of.  I’ve got to start reading more.  This could have saved me a lot of time.

Along the same lines, I’m becoming increasingly aware that CSS is a lot more complex than it would appear at first glance.  I need to brush up on some of the finer points sometime soon.

osX86 - Now with More USB

computers, os x

Well, I went to Best Buy, coughed up 20 bucks for a PCI USB card, and now things are going much better in terms of general usability.  My Wacom tablet just isn’t going to work, but my regular mouse does, and my keyboard has stopped freaking out.  My Tascam US-224 is also functioning quite well.

Two problems remain:  I still cannot get my graphics card, an nVidia FX 5200, to work properly, which is annoying because I’m stuck at 1024×768 and have no graphics accelleration.  This is annoying, but, for now, I can live with it.

The second problem is a little bigger.  Tons of software just doesn’t work.  DarwinPorts won’t install.  Fink is installed, but completely insane and thus useless.  Getting a working Ruby on Rails installation is proving to be a huge chore.  Transmission dies w/in minutes of being opened.  Most things work fine, but some of this stuff is really important to what I want to do with OS X, which is mostly Rails development.

I have an OS X equivalent of InstantRails called RailsStack installing right now…if it works, I’ll continue trying to suffer through the bugs and glitches.  Otherwise, I’m not sure what my next course of action will be.

I never thought I’d say it, but each moment I spend in (this install of) OS X makes me miss Linux more and more.

osX86

computers, operating systems, os x

It’s been possible to run OS X on non-Apple hardware for quite some time but, despite my Mac lust, I’ve held off on installing it until yesterday.  I was so excited to see the installer boot, run, and succeed (on the first try, no less).  Within minutes of putting the DVD in my drive, I was rebooting into a fresh install of OS X.

The first install was marginally successful.  I installed a second time and had a little more luck.  Everything basically works, but I’m stuck in 1024×768, without Quartz Extreme, and my USB system is incredibly flakey.  My mouse and keyboard can (and will) stop working at any moment.  For the most part, they can be made to work again without rebooting.  Which USB port you use for which device seems to matter a lot.  My soundcard, which is USB, will also quit working randomly.  It’s the hardest to get to come back to life.

The whole experience has left me kind of understanding, at long last, Apple’s complete unwillingness to put OS X on non-Apple hardware.  It’s buggy, barely functional, and would require an incredible investment to get working properly.  Once they did, everyone would just pirate it anyway.  There’s no incentive.  They’re also doing just fine at selling Macs.  Everyone I know is getting Macs lately.  Not just uber geeks, either, but regular people without special needs like a great environment for web development, design, audio mixing/etc, video…Apple’s doing great.  I’m proud of them.  I am.

But damn.  Seeing OS X boot up here made me so hopeful that I could finally kiss Windows goodbye.  My XP install has crapped out on me and will not boot; Linux, as much as I love it, is just obnoxious sometimes.  I’m tired of fighting with my computer.  I hoped OS X would possibly mean an end to that.

It won’t, though, unless I buy a Mac (or maybe build a computer specially for OS X).  Oh well.  It’s been a fun experiment but I don’t see OS X sticking around for much longer.  I can’t handle these USB problems, unfortunately.  Time to break out the Super Grub Disk and repair the damage done to my MBR by Chameleon.

And then reinstall XP.  Again.

Linux Mint 6 RC1: Fuck yes

linux, operating systems
Click for full size

Click for full size

Ubuntu Hoary was a serious milestone for me in my linux dabbling.  I’ve touched on this before; it was the first distro I could actually use for long enough to get good at using.  Now, I’ve reached a point where if I want to accomplish something on a Debian-based system, I pretty much can (as long as I don’t have to touch any C), and most of the joy of dabbling in the terminal is long gone.  Linux is now my work OS, just like Windows is my music making OS, and if I’m in Linux, I don’t need to be trying to fix something, but working.  Working.

That’s something Ubuntu was failing to let me do.  Every six months, a new version of Ubuntu hit the interwebs and I would dutifully do my updates after waiting a few weeks for the first round of patches.  Every damn time, I wound up breaking my system.  All but once, I wound up doing a clean install from a downloaded ISO.

With the last version, for some inexplicable reason, after I logged on I had to wait a good five minutes before I could actually use the desktop.  It would boot, load gnome, and then just sit there, looking ready.  It wasn’t.  No log anywhere that I could find gave me any indication of why this was happening.  It remains an unsolved mystery.  Those mysteries have been piling up.

I can’t afford this anymore.  I had to leave it behind.

I’ve mentioned all of this before and a commenter said he thought I’d really like Linux Mint.  I kept procrastinating an install, trying to get a project finished before mucking around with my partitions and whatnot.  Right in the middle of development isn’t the best time to start switching OSes.

Finally, frustrated with all these little breakages all over Ubuntu (like the 3 minute freeze after selecting Quit from the main menu, before the Restart/Logout/Power Off window appears), I broke down and…

Installed OpenSUSE.  That didn’t last long.  I had no idea what was going on and no desire to learn.  I was very quickly reminded of why Mandrake and Red Hat, then later Mandriva and Fedora Core, never lasted very long on any machine I installed them on.  Pain in the ass.  Fuck RPM.  Hard.

So I Installed Mint over it.  Holy fuck.  Breath of fresh air.  Beautiful.  No orange or brown.  Inobtrusive sound effects.  Everything just works.  Flash, .mov in Firefox, mp3s…I bet I could pop a DVD in and it’d just…you know, play!  It’s a real OS, ready for primetime imho, and the one I will be recommending to Linux converts from here on out.

Mint Team:  THANK YOU SO MUCH

The Google Dreams

feelings, work

I worked as a contractor for Google during 2007. It was one of the worst years of my life. My job had very little to do with it. I suffer from chronic depression and had been on a steady downward trend for over two years. During my time there, I hit an absolute bottom and became very confused about a lot of things, prompting decisions that devastated my personal and professional life. I walked away from the job without even trying for conversion to full time Googler, believing that I could move away, start higher up somewhere else, and make more money.

Not so much.

I was cautioned against this at the time by pretty much everyone I talked to but, for some reason that today I do not understand, didn’t listen to anyone. It is presently at around the number three spot in my list of Biggest Fuckups Ever.

Since my last day in the data center, I have been steadily having dreams about returning to work at the big G. These started out as great dreams. I would show up for my first day back and everyone would be so happy to see me. I was happy. I went, worked, and felt great (and appreciative).

Eventually, the dreams became less optimistic and would find me doing things like running into former coworkers who would offer their help in getting my position back. Lately, they have become all out nightmarish ordeals where I run into huge groups of Googlers, all of whom I know, who pretend I’m not there when I try to say hello. I become increasingly frustrated and self-conscious during this; my depression is also accompanied by a hefty dose of social anxiety, so it’s pretty much hell.

I don’t know exactly why I’m writing this.  I guess it is to caution myself and others against making mistakes that you will regret so intensely for so long.  I left that job in January of this year and not a single day goes by that I don’t wish I hadn’t.  This feeling hasn’t subsided at all and every batch of resumes I send out that don’t elicit any response just seems to add fuel to the fire.

If you find yourself so depressed that you’re about to do something like leave your job at Google or Apple or some other dream company of yours, get help.  You’re really depressed.  I didn’t even realize that I was until all hell broke loose in my head right after I left (and had enough free time and little enough responsibility to drink bourbon by the pint, which was also a terrible idea).

A Few Special Minutes

random

lostsync: tomb raider just came on tv lol
***lostsync wanders off to stare at angelina for a few hours
trans: lolskys
***trans sings NIN - “Deep” (deep deep deep deep deep deep deep deep deep deep)
lostsync: dep
lostsync: damn
trans: way to mess that one up
lostsync: :(
lostsync: http://www.sinfest.net/archive_page.php?comicID=2991
trans: hehe, not bad
trans: it’s not up there with amazing superpowers though
lostsync: http://www.sinfest.net/archive_page.php?comicID=2987 incidentally
lostsync: that one is
trans: i don’t get it…
lostsync: superpowers and all
lostsync: superheroes
lostsync: have them
trans: right…
trans: i get that part..
lostsync: oh, good
lostsync: because for a minute there…
trans: i’m not finding the joke…
lostsync: oh, no it wasnt actually funny or anything
trans: oh
trans: phew
lostsync: except to you and me
trans: i was worried
lostsync: because of our conversation
trans: i was like…did my brain shortcircuit? humor circuit armed.;
trans: right okay
lostsync: right
lostsync: no, your brain is fine
lostsync: we think
trans: http://www.amazingsuperpowers.com/ComicArchive/110.htm
trans: sweet
lostsync: oh
lostsync: now what you said makes sense
lostsync: i was confused
trans: hahaha
trans: wow, that was a special few minutes of AIM conversation
lostsync: “of course this comic isnt as cool as having superpowers…but it’s a webcoming…c’mon”
trans: lol
lostsync: coming?
lostsync: comic**
trans: one of my faves: http://www.amazingsuperpowers.com/ComicArchive/064.htm
lostsync: webcoming (n): the day when it is prophisized that Jesus will finally check his email
trans: lol
trans: and all ur dynamic hosts will be resolved
trans: 404: Sinners not found
lostsync: amen

What’s Funny About That Last Post

software

Today, after a mild brush up on Active Record, the part of Rails that deals with models, I came to realize that I’d already done everything right in the model.  The tables were already linked together by the way I named the column in the demo_images table, which was quite by mistake.

This goes to show how intuitive Rails actually is.  I created the demo_images table along with the model, thinking, “What information do I need here?”  I knew that I didn’t want to deal with file uploads via form and that I didn’t want to store the images in a table, just paths to the images, so I needed a way to designate what each image belonged to easily.  I elected to use the columns url, and demo_id when creating the model/table.  Turns out, naming the demo_id column as such was basically all I had to do to make the DemoImage model aware that demo_id was the foriegn key which corresponds to the id column of the demos table.  placing belongs_to :demo in the DemoImage model and has_many :demo_images in the Demo model is all that is required to make Rails look for the foriegn key, which was already there.  Basically, I’d already solved the problem I was having, I just wasn’t using the proper approach to get my data back out and displayed in the view.

After looking at a bit of example code, I realized suddenly that I needed to be accessing the demo_image table through the methods belongs_to and has_many provided to the demo object.  Instead of, for example, demo_image.url, I needed to be trying demo.demo_image.url, which of course works like a charm.  You don’t actually switch to accessing demo_image as its own object until you’re already inside the for loop, and are iterating through the items in the array stored within.

So the slideshow is now basically working, although, I’ve only now realized that the slideshow was only meant to be used on a page once!  So, I have to, of course, rework the Workshops section to break each workshop into a sub menu of sorts and only display one per page.  No big deal, but kind of annoying because I thought I was done.  Soon, though.  Soon.

What Not to Do When Learning Rails

internet, personal, software

After working through Sitepoint’s Simply Rails 2 and creating a blog for my girlfriend, I felt confident that I was well on my way to learning this framework and thus vastly expanding my capabilities from mere designer to designer/developer.  Ruby on Rails is an amazing web framework and, at most times, a joy to use.  The MVC approach greatly simplifies things most of the time and the Ruby language is wonderfully semantic and intuitively designed.

That said, you do still have to learn it all.  After conquering the blog, an admittedly very simple task, an opportunity arose to create another site.  This time, the site was for a mosaicist who needed a fairly simple site consisting of a home page of mostly static information, an image gallery, a page detailing workshops she’d given, and a contact form.  This isn’t much more complicated than a blog, really, so I felt confident in offering up my abilities as a newly minted RoR developer in accomplishing this task.

All was going smoothly until I reached my first big milestone.  I’d completed the image gallery and the first iteration of the design.  I submitted my work to my client and awaited a review of the progress so far.  Finally, I heard back from her, but made the mistake of not diving immediately back in.  The client is not paying and is in no real hurry, so there was no real sense of urgency.

Well, time really flies when you don’t have a deadline (and when you do).  Fast forward to over two months later, when I finally decide to get back to work.  By this time, I haven’t used Rails since sending my initial email and haven’t looked at the code I’ve written in just as long (which is completely devoid of comments.  I know.  Bad programmer.  No snack for me).

At this point, much of the code is kind of a riddle.  “How did I make that work?” is a thought I frequently have.  “How did I do this when I made the blog?” is another.  I’ve forgotten several conventions, for example, when creating a model, do I use the singular or plural form of the object I’m naming the model after? [it's singular, btw]

I’ve also been discovering that I wrote some really ugly code during that first coding session.  What I really want to do is take what I have, scrap it, start a new project and use the old one as a rough reference to reaccomplish what I’ve already got, but in a new, more organized and proper manner.

What’s frustrating is that I’m very nearly done with a working version of the site.  There, at present, only one big hurdle I’ve yet to figure out.  Here is my dilema:

The Workshops section also requires an image gallery, but I wanted it to be something different than what was on the Gallery page.  There are three workshops which are being used as content on this page and each is accomanied by a fair amount of text explaining the motivation, turnout, etc of each workshop.  These bits of text are illustrated by 3-5 images each.  I thought it’d be very nice if these images were presented in a small slideshow, a’la this script, which is very nice and ideal.

Well, instead of for loops, I’d been using partials to iterate through the images that correspond to each of the three workshops (I have no idea if this is a good idea or not, but suspect not, since it is really easy).  I’ve actually got a partial to render each workshop, then a partial within that partial to render the associated images.  This works great, actually, but there is one caveat.  The image_viewer script requires that the first image in the set be given an id of first.  I’m sure there is a way, but I have no idea how I might make a partial be able to designate the first image in the array as id=”first” — however, I’ve got a great example in the source code from Agile Web Development with Rails, another great book, which makes me feel confident that I can do this pretty easily in a for loop.

So, I start working on that loop.  First thing I have to do is get @demo_image or @demo.demo_image or something of that nature to render in the view.  After some poking around, I decide that I need to write a method in the Demo model.  I completely fail at the method about 16 times, then decide to write this post, cautioning others against a similar approach.

If you start programming something in a language that you don’t really know, don’t take a 10 week break.  Seriously.  I am not a programmer, really, and this doesn’t come naturally to me.  It just so happens that I understand enough about web sites and databases to make Rails work for me with enough effort.  At this point, I basically need to go back and work through SR2 again, scrap my project and start over, which I really don’t want to do, being 70% done with it.  But I may not have a choice.