Ukuleles
From left to right, in order of acquisition:
1. My first ukulele, a Makala I picked up at the North Carolina Ukulele Academy in Wilmington, North Carolina when visiting family. If I think someone is going to accidentally sit on or back a car over one of my ukuleles, I will try to make sure it is this one.
2. My concert size "Surf" Fluke ukulele with rosewood fretboard. When I got my Makala, I kind of laughed when the store owner recommended a Fluke or Flea because they can be stood on end on a table. But he was right, and my Fluke is sitting next to me on my desk right now.
3. A solid mahogany Pono I picked up at Aloha Warehouse in San Francisco. When I want to pretend I'm a real musician, I'll have this around. It also came with a nice hard case.
4. A Kala koa Tenor cedar-top with a pickup that I just got from The Ukulele Shop while driving through Virginia. I intend to use this when I want to play loudly.
Viking
Not to change course, I attempted to emulate my favorite web comic ever. Except I lacked funny. And now I can't remember if there was a comic where Beartato and Reginald were actually dressed as vikings.
Ninja!
I was way behind on my "daily" drawings, so I sat down and did five in a row. This is the first. I just wanted to draw White Ninja for no particular reason.
Code Monkey
There was an open mic at VV's 15th anniversary party. I sang and played ukulele. My coworkers were very kind. I was very nervous.
Evil
Was thinking of the devil as illustrated by Tastuya Ishida. Totally missed the mark, but reminded me of where I stand on drawing people. In retrospect, I should have drawn 'Nique.
Sci-Fi
Second drawing. I wanted to not draw people for no particular reason. I ran out of time way before I got most of my glorious plans done. Partly wasted time just relearning how to do things in gimp.
I forget if wagons or boxes are the best means of space travel, so let's assume time travel was involved.
Thief
Some artists at work have apparently started a thing where they all draw something for the same theme for twenty minutes or less each day. I can probably find twenty minutes most days!
I can tell already this is going to be really hard for me, but being severely limited in time makes it seem reasonable and kind of OK that his hat is falling apart and his limbs aren't attached right.
Jerk Owl
So I'm watching a friend's bird for a little while. I think he said it was an owl or a chicken or something.
Most of the time it is really well-behaved. I didn't know birds could be so calm. He'll happily sit on my finger, presuming I scratch his head every thirty seconds, or even chill out on my shoulder for a bit.
But he's also kind of a jerk sometimes. He has pooped on me more than once, and every now and then he becomes all angry and attacks me.
Here is some footage I caught of him aggressing me:
All in all he's pretty awesome, but I'm determined to figure out what I'm inadvertently doing or not doing to make him angry.
I have no excuses for the poor image quality, except that previous claims of having this webcam working were less than fully truthful, and the bird had me under duress.
Logitech, Inc. QuickCam Orbit/Sphere AF
I feel dumb.
I picked up a Logitech Orbit AF webcam, having seen it listed as working well in Linux. The pan/tilt controls also looked amusing.
I do this periodically. I decide I want to make some sort of video for youtube, pick up a webcam, it fails to work in spectacular ways, and then I give up. As it stands, all I have shared are time-lapse videos. n webcams * m computers * o pieces of software * p drivers ensures that I'm entertained for a while.
Anyway, I tried this new one, half of the apps I used to test it weren't working well. It's always a crapshoot if cheese initializes properly, and I think the rest had some v4l/v4l2 problem. When I finally got it to the point that it seemed like it should work, I couldn't record at more than 5 fps.
It turns out the autoexposure settings can limit the framerate. Oops.
I still can't get pan/tilt working:
ioctl querycontrol error: Invalid argument Set Pan down error ioctl querycontrol error: Invalid argument Set Tilt down error
Internet-Enabled Doorbell
I wanted to play with electronics and home automation. This is what I came up with.
The following sequence of events is not just a dramatization. It happened yesterday.
- The UPS delivery guy delivers a package and pushes my doorbell button.
- The button rings my doorbell and switches a relay.
- The relay drives a pin high on the GBA port on the Nintendo DS.
- A homebrew app runs on the DS which reads from EEPROM every frame, effectively polling the relay state.
- The DS connects to my wireless access point, sends an HTTP request to my server, and then goes offline again.
- The HTTP request executes a CGI script which connects to a chat server I've been working on, sends a message, and then disconnects.
- The chat server stores the message and sends it to any connected clients.
- One of the clients, which was the result of an AJAX request, returns the new message to a web browser.
- Cory, in his web browser, is notified that a package has arrived.
Notes:
- My front and rear doors are monitored separately, hence the two relays.
- There are two pulldown resistors on the GBA port pins. I think they're unnecessary if I cause the DS to drive them low before I start reading.
- The DS app is a trivial modification of the httpget demo.
- This isn't in fact useful, but it was fun, easy, and made almost entirely with stuff I already had.
- The DS is a neat alternative to a microcontroller, if you happen to have a spare or two lying around. It doesn't draw much power, as an ARM chip or two running with the screens off, and it has its own battery back-up.
ASRock ION 330
I have been looking for a computer to run on my TV for a while, lately. I thought my constraints were fairly reasonable. I wanted something fairly quiet and small. It didn't have to be super small, but I didn't want, "oh, you jacked a computer into your TV in your living room" to be a common first reaction. It didn't have to be super quiet, but moving parts tend to fail on me, and quiet things have fewer fans. Playing 1080p video is nice but not absolutely essential.
I almost bought a Mac Mini. I almost stuck a full tower in the basement and ran cables upstairs. I didn't really want either of those.
After months and months of Engadget taunting me with previews of hardware that is either not yet available or never going to be available in the US, I bought the first thing that met my requirements.
The ASRock ION 330 was the first thing I found that appeared to be quiet and small while still being an adequate machine. (Asus, why will you not sell me an Eee Box B208?)
It arrived without an OS (as desired). I threw Jaunty Jackalope x86_64 on it, and I have been pleased.
For video, I'm begrudgingly using the latest closed source drivers from nVidia (185.18.31). I hate nVidia less than ATI/AMD, currently.
Audio was an adventure. Analog output as well as optical and digital over HDMI all worked out of the box, but pulseaudio fought me at every turn. I ended up grabbing the latest PPA of pulseaudio, which fixed most of my problems but seems to have deprived me of surround output. This is what I'm still using currently.
I also found it necessary to use VDPAU, which seems to be nVidia's proprietary video decoding on the GPU API. After grabbing a custom build of mplayer and rifling through documentation, mplayer -vo vdpau -vc ffh264vdpau had me watching 1080p content without issue. Decoders for mpeg1 and 2 and some WMV-related codecs also seem available.
In summary, I like it, and I spent a third of what I would have spent on a Mac Mini, but I had to wait about six months.
Singularity, Go!
Four months and no posts? Clearly I need another blog.
That's right! I'm going to start raving about The Singularity here.
Ukulele Overload
I picked up a ukulele a few weeks back when I was in North Carolina. I had been learning to play the guitar, but I wanted to branch out to something different. Little did I know how much of a following they actually had.
There are plenty of chord generators around for all sorts of stringed instruments around, but I knew next to nothing about actual music theory, so I made one for the ukulele. It probably lies sometimes and fails in all sorts of ugly ways. It's based on my understanding of this document.
There are some very entertaining people sharing ukulele videos on youtube:
- http://www.youtube.com/user/jaaaaaaa
- http://www.youtube.com/user/sweetafton23
- http://www.youtube.com/user/ukebucket
- http://www.youtube.com/user/seeso
And I was surprised at how many good sites there were for tabs, chords, and lessons:
- http://www.giantflightlessbirds.com/ukulele/
- http://ukulelehunt.com/ - hehe
- http://ukuleleunderground.com/ - lessons
- http://nwfolk.com/uketabs.html
- http://yirmumah.net/ukulele/
- http://www.chordie.com/ - can show ukulele chord images
I noticed this week's Bigger Than Cheeses was about ukuleles. A recent xkcd strip wasn't about ukuleles, but I'm glad I wasn't the only one who put the two together.
About
Trying a new trac blog plugin. Apparently I need an "about" post. I imported all of my old posts, and they're still around on the wiki. I might have lost some versions. *Shrugs*.
Remembering How to Rotate a Vector
For no reason that I can remember, I was recently reminded of a solution to a homework problem way back from my first semester in college that I thought was creative. Having not had anything to say here for four months, I thought it would be fun to dig up the code and take a look.
The challenge was to rotate a vector in place using constant extra memory and less than O(n2) moves. There was very little additional information. I remember scratching my head for a while and then coming up with this crazy scheme involving the greatest common divisor which I drew out in great detail with boxes and arrows explaining how everything would move. I was disgusted that I couldn't arrive at a way to remove the gcd function entirely.
Now that I look, I see it is an early problem in book Programming Pearls. Their solutions can be found here. Algorithm 3 is the closest to mine, and they indeed don't need to calculate the gcd ahead of time.
Oh, and I was sloppy with whitespace and some other details back then.
/* Euclid's algorithm for calculating the greatest common divisor of two numbers. Taken from page 58 of "Data Structures & Algorithm Analysis in C++ Second Edition" by Mark Allen Weiss. */ int gcd(int a, int b) { while (b) { int r = a % b; a = b; b = r; } return a; } /* Rotates a vector i steps, using minimal moves. This requires an "extra" calculation of the greatest common divisor of i and v.size(), but this algorithm still wins out over rotating v one element at a time i times, because this is O(n) while the latter method is O(n^2) */ template<class T> void rotate(vector<T> &v, int i) { int size = v.size(); int factor = gcd(size, i); i %= size; int p; for (p = 0; p < factor; p++) { int n; T temp = v[p]; // Pull out one element so we can shift everything forward. for (n = (p + i) % size; n != p; n = (n + i) % size) // Until we get back to where we start, shift each element forward. v[(n - i + size) % size] = v[n]; v[(p - i + size) % size] = temp; // Put back original element. } }
Cory Can Read
I have been recommending reading material weekday morning for a handful of people for just over five weeks, now.
I make no claims to any of it being interesting, relevant, or entertaining, and I am not even sure how it will proceed from here. For the most part it has been programming-related articles with a mix of random things that amused me from the Internet.
Colored Quote Bars
It has long annoyed me that Thunderbird sometimes treats the '>' characters in excerpts from diffs as reply markers and draws a blue line instead of the actual characters from the E-mail.
I finally found some talk about how to disable that feature here.
Put this in ~/.thunderbird/*.default/chrome/userContent.css:
blockquote[type=cite] {
padding-bottom: 0 ! important;
padding-top: 0 ! important;
padding-left: 0 ! important;
border-left: none ! important;
border-right: none ! important;
}
Set the following options:
user_pref("mail.quoted_graphical", false);
user_pref("mailnews.display.disable_format_flowed_support", true);
And the bars go away. Along the way, I noticed that if format=flow is included in the Content-Type header, Thunderbird does the right thing. So, the source of these E-mails is partly to blame, but I am happy that there is something I can do about it for now.
The Quest for a Hat
Hat Quest
I don't know what got into me, but I got a hat and made a little adventure game about it.
Comments
I have not allowed comments in a long time. Let's see how well this works out...
Would you like to see a movie?
Thanks to movie nights on Thursdays, MST3K Mondays, and going out to see movies on Fridays, I have been watching a lot more movies than I previously did. Here is a list of movies that I can remember:
- The Adventures of Buckaroo Bonzai Across the Eighth Dimension
- Amores Perros
- Big Trouble in Little China
- Clerks II
- Conan the Barbarian
- Crank
- District B13
- Drunken Master II
- Hudsucker Proxy
- Lock, Stock, and Two Smoking Barrels
- MST3K (Rifftrax) - Star Trek V
- MST3K - Hobgoblins
- MST3K - The Day the Earth Froze
- Mission Impossible III
- Scotland, PA
- Snakes on a Plane
- UHF
- V for Vendetta
- Wordplay
- X-Men III
Allergies!
At least I no longer suffer from allergies. I only suffer when I am not taking a copious amount of antihistamines. And then only when my ensuing itchiness, despondence, lack of sleep, and inability to focus on anything get in the way of what I am trying to do.
Dear The Food Industry of America,
Feel free to take the following ideas to do with as you please.
Sincerely,
Cory
Triangle Peg Board Puzzle
That is what I get for eating lunch with a bunch of programmers.
Rocking Out at Jordan Road
In about a week, VV is moving its office across the river. In a musical experience never to be duplicated, we got the band back together for one final performance at the old place.
Degree Spam
Ten days of classes left, and I get spam like this:
Good jobs require a universityy education. Now you can get one in just a few days, and you'll also get that paper on your wall''
Sounds like a good deal to me.
Tony Hawk's American Sk8land DS
Read what the reviewers are saying...
- http://ds.ign.com/articles/667/667731p1.html
- http://www.gamespot.com/ds/sports/tonyhawksamericansk8land/review.html?sid=6139957
- http://www.gamerankings.com/itemrankings/launchreview.asp?reviewid=642968
Then see what players are making.
Math is Scary
http://rinse.unprompted.com/share/pumpkin.jpg
x = 2c / (-b +/- sqrt(b2 - 4ac))
Tony Hawk's American Sk8land
- http://ds.ign.com/articles/661/661073p1.html -- Tony Hawk's American Sk8land brings the series back to its roots on the Nintendo DS system. This portable version is pure Tony Hawk: fast action, tons of skate moves, clever parks with tons of grind rails and vert ramps, and dozens of unique challenges to accomplish along the way.
- http://media.ds.ign.com/media/740/740721/vids_1.html (videos)
- http://www.1up.com/do/previewPage?cId=3144993&did=1 -- ...we're seeing one of the best examples yet of 3D graphics on the portable console. But that's just a small part of why we're excited for Sk8land, which is looking to be one of the most feature-packed DS games we've seen since the system launched.
More Notebook Ninja Publicity
Notebook Ninja was on Attack of the Show on G4TV last Friday. The hosts gave it really positive comments and talked about it quite a lot, and people raved about it in the forums. Far more people have downloaded it now than I ever really expected. Cool!
o/~ There's no time. Hurry up! o/~
I have been up to a whole lot of no good lately.
I did not <a href=" http://acm.cs.rpi.edu/~cory/projects/Chalk/">chalk</a> nearly as much as I would have liked to, but a friend and I did manage to decorate the sidewalk outside the DCC with Mario, Luigi, and Link.
To recap, this semester was very full of game-making. I had a blast working on all of these projects, learned a lot from them all, and probably wasted too much time playing around with every one.
<ul> <li><a href="http://www.unprompted.com/updates/Projects/flagfu1.html">Flag Fu</a></li> <li><a href="http://www.unprompted.com/updates/Games/princess.html">Princess</a></li> <li><a href="http://www.unprompted.com/updates/RPI/ink.html">Notebook Ninja</a></li> </ul>
I have a new game in the making, now. I will be sure to provide details as things develop.
I have only gotten good surprises, grade-wise, which is to say that my mobile robotics grade was higher than I expected based on some of my early grades in the class, and the rest were good.
I am spending the first half of the summer in a really nice apartment furnished just about right for me from a friend who had to leave town before the lease expired. After that I will be back in my RPI closet.
Today was my first day back at work. It started something like this.
<ul> <li><i>6:00 AM</i> - wake up</li> <li><i>6:01 AM</i> - fall back asleep</li> <li><i>8:00 AM</i> - alarm goes off</li> <li><i>9:00 AM</i> - wake up</li> <li><i>9:01 AM</i> - oh crap, I'm going to be late</li> <li><i>9:30 AM</i> - oh crap, I'm early</li> </ul>
After that, it was good to see lots of familiar faces and to start figuring out what is going on with my project.
This update was brought to you by "death" macaroni (macaroni and lots of cheddar cheese) and those cookie dough rolls which yield cookies when dropped in an oven for a dozen minutes.
Notebook Ninja
<img src=" http://nninja.unprompted.com/manual/game2.jpg" alt="Notebook Ninja Screenshot" width="320" height="240">
<a href=" http://nninja.unprompted.com/">Notebook Ninja</a> is now pretty much done. All that remains is to present it on Monday.
It was briefly mentioned in the <a href=" http://acm.cs.rpi.edu/~cory/archive/documents/nn_times.html">New York Times</a> after we showed it off at the RPI Game Symposium. We have had a lot of people play it, now, and the general response has been great.
Princess
<img src=" http://acm.cs.rpi.edu/~cory/archive/images/princess.png" alt="Princess" style="float: right">
This weekend I competed in an <a href=" http://retroredux.parsons.edu/">24 hour Game Jam</a> targetting a new Atari Flashback console with three other people I know from <a href=" http://www.vvisions.com/">Vicarious Visions</a> and classes.
Our game can be found <a href=" http://acm.cs.rpi.edu/~cory/flashsmack/">here</a>. I didn't see any other teams working on anything quite like ours. The whole thing was a lot of fun.
Update: We won "Most Innovative Game!"
<ul> <li><a href=" http://acm.cs.rpi.edu/~cory/archive/documents/retroredux-nytimes.html">New York Times Article</a> (<a href=" http://www.nytimes.com/2005/04/06/arts/design/06game.html?ex=1113451200&en=0231f95dd4f16662&ei=5070">original</a>)</li> <li><a href=" http://www.gamasutra.com/php-bin/news_index.php?story=5239">Gamasutra article</a></li> <li><a href=" http://news.com.com/Images+An+angry+Atari+princess%2C+bull+and+ninjas/2009-1043_3-5656760.html?tag=cd.top">CNET coverage</a></li> <li><a href=" http://www.gameinformer.com/News/Story/200504/N05.0404.1800.08849.htm">Game Informer</a></li> <li><a href=" http://games.slashdot.org/article.pl?sid=05/04/07/2116212&tid=202&tid=156">games.slashdot.org Article</a></li> </ul>
Fun with Ink
As a CS major at RPI, I am required to take the Software Design and Documentation course, which involves working on a group project, producing excessive documentation along the way. Given the choice of anything to work on, my group is working on a stick figure "street brawler"-style video game. It's coming together really well so far. <a href=" http://acm.cs.rpi.edu/~cory/archive/images/nn.png"><img src=" http://acm.cs.rpi.edu/~cory/archive/images/nn_thumbnail.png" alt="Notebook Ninja" align="right" /></a>
Meanwhile, my network programming class has had some really dull lectures. Some friends and I have taken to various games involving drawing and writing on a piece of paper and passing it around to pass the time. Various disturbing creations can be seen here. The latest [ http://acm.cs.rpi.edu/~cory/archive/images/netprog/comic0004.jpg comic] is particularly noteworthy.
Haiku
Today we Haiku.<br/>Do not speak without counting.<br/>It's five-seven-five.
getaddrinfo<br/>deprecates gethostbyname.<br/>You can use either.
So bored in netprog<br/>that we would not talk in prose.<br/>We just wrote haikus.
I'm Human
[ http://www.wxplotter.com/ft_loser.php?im <img src=" http://www.wxplotter.com/images/ft/lsr.php?val=9676">] [ http://www.wxplotter.com/ft_nq.php?im <img src=" http://www.wxplotter.com/images/ft/nq.php?val=8783">] [ http://www.wxplotter.com/ft_weird.php?im <img src=" http://www.wxplotter.com/thetester/images/php/wq.php?val=8279">]
I am just killing a few minutes before my next class, and putting off some homework.
Flag Fu
<img src=" http://acm.cs.rpi.edu/~cory/archive/images/flag1_thumbnail.png" alt="Flag Fu Screenshot" style="float: right" />
I have not had this much free time since about a year ago, so I have enjoyed being able to take the time to work on one of my projects. FlagFu?, for lack of a better name, is my recent attempt at creating a multiplayer sidescroller.
During school and in the past in general, I rarely have gotten so far on random projects like this, but this thing went together pretty quickly, and as it is, this meets my original goals for a solid prototype.
Plenty of work still needs to go into it for it to become something that someone might call "good" or "fun," but I am hoping for some art and some very specific programming help from other people to get to that stage.
Graphs
Graphs...
<a href="http://www.unprompted.com/rrd/"><img src="http://www.unprompted.com/rrd/graphs/zim.unprompted.com-percentload-1d.png" alt="A graph of system load" /></a>
Yes, a big chunk of that load is from generating the graphs.
Cory Island
My projects for 3D Computer Graphics are all available [ http://acm.cs.rpi.edu/~cory/projects/Programming/College%20Course%20Work/3dcompgraph/ here]. I wish I had more time to work on the flight simulator, but I am happy that it went together so smoothly.
Ray-Tracer
I made a <a href=" http://acm.cs.rpi.edu/~cory/archive/images/ray3.png">ray-tracer</a> for 3D computer graphics. Fun stuff.
Oh, and don't play "Go Fish" with marked cards.
3D Computer Graphics
I am halfway through midterms at this point. I have been up to a bunch of different fun things.
Most notable of my classes are 3D Computer Graphics and Computational Vision.
I posted some of my graphics projects [ http://acm.cs.rpi.edu/~cory/projects/Programming/College%20Course%20Work/3dcompgraph/ here]. I may share some of my vision projects, but they are not as fun to use.
Katamari Damacy
I went to Crossgates mall on Friday to watch a movie, but it was interrupted around half an hour from the end by a fire alarm. Doh!
I did manage to escape the mall with a really neat game I have been awaiting for several months, now. [ http://www.namco.com/games/katamari_damacy/ Katamari Damacy] is an incredible Play Station 2 game. I wasn't prepared for the story, music, and feel of the game to be so entertaining. I highly recommend picking up a copy.
Unemployed
After eight months at Vicarious Vision on a co-op, I am once again unemployed.
Classes start next monday. My schedule is odd and still unsettled. Basic Drawing is for freshmen only, so I will have to drop that, but I have not decided on a replacement yet. I may leave it at the rest of the courses for a solid 16 credits of computer science courses.
rss






































