bestof/projects
This is an old attempt to gather the most interesting bits of kirk.is in an easy-to-browse format.
If you like kirk.is mostly for the quotes and links, it might not be the "best of" per se, but overall these pages represent a big part of my creative output so far in the 21st century. The "best of" parts are shown in their natural habitat, often accompanied by the typical quotes and links and asides.
I've divided the work into various categories, and tried to sort each page into roughly descending order of "interestingness". Sometimes there's a particularly chosen closing entry.
2002.06.09
2003.04.27
So, back in the day, someone taught me the blues scale (you can hear it on this page) and that was my basis for a ton of basslines and piano improvisations all during high school. One time, I recorded one of the lines (can't remember its name) for Marcus, a friend from school, who took it to a buddy who had some kind of homestudio and added a (stock?) drumtrack and lower bass part. I've been meaning to get it in digital form for a long time, so here it is, an MP3 taken off an old audio tape:
Jam w/ Marcus, 1286kb, 82 seconds
This is the whole bassline about two times through. (The part I made is the xylophone-sounding part on top, like what the recording starts with) The original recording goes on for like 5 or 6 minutes, and has some interesting cutouts where it's just the drums or just my line, but this is enough to give the idea.
2023 Update (20 years later!) pretty sure the beat was from "Express Yourself" by NWA
Link of the Moment
Not as cool as those guys assembling a million actual toothpicks, the MegaPenny Project helps you think about what different amount of pennies look like, from one to one quintillion.
2004.08.24
So, FoSO and I worked together on an interesting furniture project, a cabinet. I think the idea was mine, but the details and the lion's share of the labor ended up being hers. (Which is good, because I'm lazy, but also bad, because I didn't learn quite as much as I had hoped.) My bathroom is desperately short on selfspace, and I'd always been trying to think of a cool project to utilize these beautiful authentic vintage travel stickers that were attached to a crumbling valise I got at an estate sale kind of thing. So, a bunch of slicing, scanning (just in case), staining with wood stain, gluing with Mod Podge, coating with polyurethane, and touching up with a hand sander later, and this is the terrific result:
Front | Inside | |
---|---|---|
Progamming Thoughts of the Moment
Been thinking a little bit about programming rules in general. Here are some rules I've decided I (and maybe everybody) should try and follow...I welcome feedback from my fellow coding geeks.
- K.I.S.S.: Don't over-engineer.
- I have seen so much over-designed stuff, with layer after layer after layer. Following the programming execution over a single call becomes an enormously difficult task. If any given interaction goes much deeper than 3 or 4 levels, something might well be wrong.
- Keep a clean modular approach to your systems.
- Have a core engine that drives everything and uses the rest of the system as an API. Think Unix's philosophy of "do one task and do it well"...this guideline comes from stuff I'm dealing with at work. They've developed these APIs, but the APIs are so tightly integrated with the logging and configuration, it's sick. For example, they made a wrapper to a Castor routine that converts an object into an XML representation. You would think that if your central program says "make me an XML representation of this object and put it in such and such a file" it would do just that, right? But no. See, it goes ahead and checks the configuration on its own accord, and then might or might not do the conversion. And whether it tries or not, or if it succeeds or fails with some error, it will do so SILENTLY, catching any exception that occurs, because heaven forfend that the main program has to worry its sweet little head about everything collapsing underneath it... Hideously redundant, impossible to follow.
- Keep a devnotes.txt file
- I find it useful to have a single text file where I jot things down as I figure them out...usernames, passwords, techniques, etc. It saves me a lot of time.
- Consider disabling web access during the workday.
- Sometimes it's easier for a programmer to get distracted, especially when things aren't going well. The worse things are going, the more slashdot and various techie websites beckon. ("This task at hand isn't working out but maybe I can learn something else new!"). If your main browser is IE, the easiest option might be to go into Tools|Internet Options|Coonections|LAN Settings and setup a bogus proxy server. Sometimes just putting in that little gatekeeper is enough to make me reconsider a wayword path.
- Keep your unit tests close and your smoketests closer
- If your environment is at all complex and N-tiered, avoid the trap of your system breaking down and you don't know when and you don't know why by setting up good smoke and unit tests and running them extremely frequently.
Product of the Moment
Making the rounds is this story about a cellphone based Virtual Girlfriend product...unfortunately (or fortunately for the company) you spend non-virtual money to buy her presents and what not, otherwise she gets all mad and sulky.
Man, what a potential goldmine if they find guys who get really into this. Being able to sell trivial virtual goods for real cash...there's that other company that lets people buy each other little iconic gifts, I heard it's a reasonable hit...it becomes a social thing I guess, if you can show off your gifts like some kind of trophyroom.
Strange world.
2004.08.14
Nerds are hot. If you wanna get really hot and bothered, check out Kirk's resume. Whew.
Painting of the Moment
--Probably technically the best painting I made in a class I took in 1997 or so, though not my favorite. Also, the instructor touched it up a bit. My mom likes it though, right now it's in her den.
Sucker Punch of the Moment
This Modern World's blog has this photo and article of a Yale '69 yearbook photo of GWB illegally walloping a guy in a rugby match. Wot a jerk.
2002.04.15
For those not in the know, an Animator is a bit like a traditional Etch A Sketch in control scheme, but you can make up to 12 frames of 40x30 on-or-off pixels, and play them back in a sequence of up to 96 frames. By a happy coincidence, 40x30 was the size I had selected for the small gif cinema pieces when I converted them to GIF from a larger QuickCam format.
I've always loved obsolete video technology. I think I got a special kick out of trying to push photo realistic concepts through...a similar concept to what I did for pixeltime way back when. Alas, my lack of hardware hacking skills prevents me from repeating what this guy did, but I'm still pleased with the results.
2004.01.13
Project of the Moment
the walking robot |
--Sample animations from the instruction booklet for
the "Etch-a-Sketch Animator".
It was a cool toy of the 80s that let you create up
to 12 frames of 40x30 animation and play them back in longer sequences.
Last year I e-bay'd up
this favorite childhood toy of mine
and made some art
with it. (Well, mostly I laboriously transferred some
small gif cinema onto
the device.)
In my decluttering frenzy I was about to get rid of the
booklet, but I realized the animations were all pretty cool...
I think I might make a special wing of small gif cinema for
these. I started with the cat animation (which is really great, but the Breakdancing Skeleton is no slouch--trés 80s) but then decided to do them all as animated gifs. Some were easier than others. |
|
rabbit in hat |
||
the nosy spider |
||
the spaceship invader |
||
birthday cake |
||
the creeping caterpillar |
||
face | ||
the train | ||
the submarine |
||
the cat | ||
the horse | ||
baseball | ||
halloween | ||
the breakdancing skeleton |
Boston Geek News of the Moment
Huh...I hadn't realized that SoftPro Books had moved--from Burlington to about 5 minutes away from my house in Waltham. (SoftPro is the Boston area's geek's favorite place for technical books...I like supporting a local, specialized merchant who has some neat speakers and other programs.)
2005.04.19
Lately I've been lax in charging my cellphone, and I realized that that might partially be due to not having a "cradle" for it...it seems like a small thing but being able to plop a phone into a handy little throne for it is a lot easier than fiddling with a wire and plug. So I thought I'd haul out my legos, too long dormant, and get buildin', just a kind of wrapper for the wire I already had.
This is what the table I dumped my Lego bin onto on looks like. I do have a lot of Legos. It looks more impressive in real life, I think, because it's a deep layer for pretty much the whole thing. This is one of the first times I decided to go with a table top as work space rather than the traditional floor...it might've been a mistake. Legos are falling off in all directions.
Open Photo Gallery
Close up of the pile, meant to give a slightly better sense of scale...
Here's the final result. Bigger and clunkier than I envisioned, but I was so happy to get something that seemed structurally sound while still allowing for easy connection and disconnection of the phone and the little plug that I don't want to give it another go. I didn't spend too much time on aesthetics but did add a few frills at the end.
Man, I almost hate to say it, but it actually feels like I might have "too many Legos". It was tougher than I remember to find the pieces I was after, though maybe I'm just out of practice. I think Legos meant more to be as a 3D modelling tool before computers and video games could render 3D images with no problem.
Funny of the Moment
Q. "How's your wife?"
A. "Compared to what?"
2005.10.10
The general idea is organizing tasks largely by where they need to get done, and then segregating out the "maybe/somedays". So I have categories
- @anywhere
- @call (calls to make, I might end up rolling that into @anywhere)
- @home
- @internet
- @store
- @waiting for... (useful to track dependencies seperately, or a reminder that you're expecting a shipment from Amazon, etc)
- @work
The native Palm Todo definately isn't my ideal. For instance, I'd like to view all tasks in all categories on a single page, but when I do that on Palm it gives no indication what the category for each task is. There are some other shortfalls as well, including poor integration with a datebook. Here's what would make up an ideal TODO app for me:
- TODOs are each assigned to one category (or more? There might be strength in allowing multiple, like Gmail's "tags") from an editable list of categories and an editable list of priorities. (And the "default" priority should be settable, I'd set it to "medium priority" rather than Palm's default of 1.) "View All" can be configured, then, to sort by category or by priority, but making both factors visible for each task.
- Ones marked done are segregated to a seperate listspace but still viewable on the Palm (not Palm's own weird "archive completed on computer at synch") Then you can get that smug little "look at what I've done!" feeling.
- Quietly (as in not displayed on the default display) the creation date and "done" date is stored, and there should be an option to resort displays by these dates.
- Simple ability to make subtasks. I've seen this most easily done by little arrow buttons...the right arrow indents the task and makes it a subtask of the previous task, and the left arrow would restore a subtask to being a "sibling" of the previous tasks. None of that sophomoric "a task with 4 subtasks is 25% complete when one of those subtasks is done" graphical indicators. (There's a slight internal complication with this, as a list of completed TODOs might display a few unfinished parent TODOs for context, but I think it can be done in an intuitive way.)
- This might be feature-creep but maybe my ideal program would embed a full datebook. I'm fond of Outlook's "Today" view, which shows a collapsed view of a days events (when you're scheduling time, you might want to have a typical one hour = one line view, but otherwise I prefer a simpler "list of day's events" formats) along with TODOs.
- Tasks could be assign a due date and there would be a visual indicator of just how overdue something is. And you could also make non-task "Events" that still show up in the datebook but with no nagging.
- Palm is pretty clever about figuring recurring datebook entries, giving you the option of saying, e.g. for a monthly event "the 9th of every month" or "the second Sunday of every month". It doesn't let you say "the last Tuesday of every month" however...my idealized TODO would take care of that as well.
- There would also be "Recurring Floating TODOs". Say I'd like to be reminded to pay bills every 15 days, though I know I let it slide sometimes, but always want it to be 15 days ever I last did it. These TODOs would show you at a glance how long its been since you've done them as well as be able to remind and then nag you when certain thresholds are reached.
UPDATE:13 years later and I'm still thinking about this
2003.03.05
Image of the Moment
Talking to Ross, I mentioned the time when I used drummer's tape to give my tuba shark teeth, plus a big red (un-sharkish) tongue. The only picture I could come up with was an old black and white wide angle yearbook photo. For a lark I tried cutting me out and hand colorizing it, and was pleased with the result you see here...
Ah, good old marching band...
Dream Quote of the Moment
In an alternate universe we're all being melted down like M&Ms for use in sundaes anyway.I also had one where I got to be the test pilot in a competition to make effecient vehicles that could carry a passenger plus at least 4 times their weight; most of the others were cars and ATVs with giant wire baskets (like the main part of a shopping cart) in front, but my team made a tiny "fusion powered" device, about the form factor of a large tape measure, that I would put in my pocket and zoom around the track. (It was so light that I could meet carrying the "4 times the vehicle's weight" requirement by putting other stuff in my pocket.) The rest of my team was women for the most part I think; they thought of me as their brother, which was annoying, though cool that they were willing to let me see them naked.
Pun of the Moment
Viagra is the opiate of the flaccids.
Conspiracy of the Moment
What the heck is up with all that stuff at that new Denver airport? X-, Y-, and Z-files kind of theories.
News of the Moment
British 'Human Shields' lack the courage of their convictions.
Blogism of the Moment
A fellow classic video game enthusiast (whose collection puts mine...and almost anyone else's...to shame), Christian Scott, is also a gourmet chef who has worked in some high prestige kitchens around Boston. But he says the best corn chips in the world are Frito. And when we travelled to Philadelpha for a Classic Gaming Convention, we went to a food court, and he got two Whopper Jrs from Burger King, which he says are pretty reliabley ok.