30 November 2009


Some surrender quotes.

I have a Facebook account. It's ultra secret and invisible. Point me to your profile if you'd like to be my friend.

I've already used it to make a connection I couldn't otherwise manage for 5 years (I had tried letters, Googling, and email). The power of its social inter-connectivity is undeniable. My grumblings had become rote. And the mass of friends' events I've not known about because I wasn't on Facebook is no one's fault but mine. So many friends are there, and I can follow responsibly.

What does responsibly mean? I only check Facebook when I'm on the shitter. I can still be subversive!

28 November 2009

canine champloo

I'm a few episodes from the end of Samurai Champloo, and I just realized that Honey is Jin and Jupiter is Mugen.

27 November 2009

the secure, sleepy screen saver

Scrounging a lot of forums, I came up with a solution for an OS X screen saver that serves a lot of my needs. If you follow these instructions, you will ...
  • have a screen saver that sleeps the display instead of drawing pretty pictures on it.
  • be prompted for your password when you disturb the screen saver.
  • be able to immediately start your screen saver via your keyboard if you want to safely walk away from your computer.
  • be able to temporarily disable your screen saver while watching a movie etc.

The sleepy screen saver

I've always wanted my screen saver to just put the display to sleep, but that's not been an OS X option out of the box.

This hint comment offers some C code for sleeping the display immediately, which it seems is the only way to do it from the command line! There's the CTRL-SHIFT-Eject keystroke, but AppleScript cannot emulate the Eject keystroke. You can compile that code (change the function name to main) with
gcc -framework CoreFoundation -framework IOKit
if you've installed the XCode tools.

Now you have an executable that just sleeps the display.

Why use a screen saver at all?

A fine question. I could just set my display to sleep before my screen saver starts. There's a reason.

Phil has got me thinking about security recently, so I want my laptop to prompt for a password when someone wakes the display from sleep/disturbs the screen saver. This is easy to setup for the screen saver, but not so much for waking display. The best alternative I can find is SleepWatcher, but that project seems a little too fragile for me to depend on it. It would let me execute a script when the display wakes, but I also don't want to write a script that emulates the password prompt.

So I'm using a screen saver because I want the password prompt aspect.

How to make the application a screen saver

There are tutorials for making screen savers, and XCode even has a project for them (under Standard Apple Plug-ins), but I don't know Objective-C and there's more function stubs to fill out than I'd like. So I'm going to cheat and use ScriptSaver instead. It only runs AppleScripts, so we use a simple little script to invoke our executable according to this note. I put my executable in /usr/local/bin and made a /usr/local/AppleScripts directory for my script. Check your PATHs and such.

Final touches

  • I made sure, in the Security preference pane, that a password is required to wake this computer from sleep or screen saver.
  • I use Quicksilver, because I prefer the keyboard to the mouse. OS X lets you use a Hot Corner for invoking the screen saver, but that's hard to activate with the keyboard... so I added /System/Library/Frameworks/ScreenSaver.framework/Versions/A/Resources/ScreenSaverEngine.app to Quicksilver's catalog. That way I can invoke the screen saver just like any other program. (Phil pointed me to this hint; if you don't want to install Quicksilver.)
  • Temporarily disabling the screen saver for movies and such is comparable to disabling sleep, but it's a bit more complicated (see HippoMan's post at 12-31-2008, 08:26 PM for the solution – also, applaud him for politely putting up with a lot of stupid responses in that thread).

23 November 2009

our college athletes are so respectable

Check out the picture on this article. It's everything I could ever want KSU to be known for.

22 November 2009

(begrudgingly) resolved

I took care of the freezing fullscreen issue by downgrading to Flash Player 9, which was a considerable bother to find online. I played some of Hulu's HD content, and it was gorgeous and not choppy. That's the first time I've rendered HD content – quite a relief that it works.

I don't know the difference between Flash Player 9 and 10. The HD content plays fine, so I don't think I have a reason to care. (It still bothers me on principle!)

I also took care of the fact that my computer goes to sleep when watching videos.
trap 'pmset force -c sleep 90' 1 2 3 14 15
pmset force -c sleep 0
sleep 7200
pmset force -c sleep 90
I put a link to this file on my desktop. I just need to double-click it (thanks to its .command suffix) to disable the inactivity-based-sleep functionality for 2 hours. Break it down:
  1. The trap means that if the script gets prematurely interrupted, it re-enables the sleeping.
  2. The pmset bits disable and re-enable the sleeping behavior.
  3. It re-enables automatic-sleepage (... eww) after a 7200s=2h delay via sleep.

21 November 2009

wierd and unwelcome

This Adobe bug is quite annoying. Does anyone else have this happen? If I use fullscreen mode on Flash player (YouTube or Hulu, e.g.) then the video freezes while everything else (like audio) continues. There's lots of forum posts out there where people discuss this, but the only fix is to disable hardware acceleration. That's a no-go for my meager Mini.

I use OS X's Screen Sharing to control the Mini from my laptop. When the video locks up, I can either connect via Screen Sharing or disconnect in order to fix it. This is a weird band-aid, but Screen Sharing is obviously related to video. It's annoying to do it every 5 minutes or so and to keep my laptop in my lap to watch video.

Some page I saw said it only happens when watching 480p content. And, for me, it only started happening when I started using 1080i. It didn't happen when I was using 720p.

This alternative suggestion did not work for me, which was sad. Took a while though, so my hopes got lifted and then squashed.

20 November 2009

weird but welcome

So my $450 craigslist Mac Mini was choppy when it was feeding 1080i video (such as 30 Rock on Hulu) to my $150 craigslist HDTV. I wasn't happy.

But, today, it worked. Other than this Mac OS X update, I don't think anything else changed.

Yay? Yay...? Yay.

† I tried it again when playing around to try to figure out why the screen bounces when I set the mini to output 720p. Still don't know what's going on with that one.

11 November 2009

Exercise is Goooood

Tyler and I have created the habit of taking Jupiter and Honey to the Haskell Indian Nations University nature preserve in the mornings on a "double dog walk." We let them both off lead. Jupiter gets worn out sprinting about and chasing the other dogs we meet and then becomes a couch potato for the rest of the day. Honey actually plays (just a bit) with Jupiter. It truly warmed my heart the first time I saw it – she's dog-aggressive and has never played with a dog before. It was awesome.

I just took Jupiter to puppy class for the first time since we started doing this daily (past week or so). He was his normal overly-excitable self at first, but about half way through he got really attentive and obedient. We actually got to show off a bit with some happenstance long distance obedience – there was literally oooing and ahhing. He's quite obedient at home without major distractions (we practice nothing's-for-free for feeding twice a day) and that finally came through at class tonight. It was awesome.

06 November 2009

Defying Gravity

Keith and Tyler and I just watched the last episode of Defying Gravity. I can't believe this show is canceled. That is uncool.

05 November 2009

Well I was completely anti-social today


You have to tell your friend via some other means what room you're in, once you start one.

I've used it a bit in Firefox, Safari, and Chrome. And on my phone – which is just plain weird.

In case you're wondering, it uses Apache 2.2 running on Leopard, with a multi-threaded Haskell program running server-side in FastCGI mode – and of course, the infamous XMLHttpRequest.

Call me a minimalist and then re-design the interface for me.

my website and JavaScript stuff

I was setting-up an old desktop to be a server, but it made a loud popping noise when I turned it on. Hence – for now – I'm using my laptop to serve my website. Which is a horrible idea. But it's what I've got.


Currently the front-page is one of those cool kid photos. Primarily because I'm obsessed with my hair as it's never been this long before.

A little less vanity: I dug into asynchrony in JavaScript for a pet project I've been working on, so I wrote up a summary of my autodidactic endeavor.

Remember, unless you catch me with my laptop on at home, my website won't be loading for you.

† Who uses that word?

02 November 2009

twords... *palm to the face*

My inner pubescence will never die: "Parker, let's just see what they're up to and keep each other aboob of tonight's activities."


And Parker wanted me to share Nickchalant. I'll leave it to him to explain that one – apparently I have "a way". I hope it's akin to a pirate smile.

01 November 2009

JavaScript doesn't do dos

Well, JavaScript on Firefox does dos. You can name a variable do, even though it's a language keyword. Safari and Chrome barf on that.

I don't like languages that don't admit keyword variable names. It's called scoping, people – look it up. Also, context-sensitive parsing: "Woo woo! All aboard." A loop construct doesn't follow a period. And dynamic LHSes never hurt anyone, especially in a late-binding language. Arg.