Official Statement
At this time, the FBI cannot confirm or deny any rumors regarding the existence of this journal.

L33t Links:
Megatokyo M:tG Google Lists Olin Metacarta Del.icio.us
Current Month
 123
45678910
11121314151617
18192021222324
25262728293031
Apr. 8th, 2008 @ 09:23 pm Cancer of the Semicolon
Current Mood: blah
Current Music: Coheed & Cambria - God Send Conspirator
The following is only relevant to the programmers on my friends list, probably...

So, did you know that Java has syntactic sugar for iterating over a collection? So you can write this:
for (SomeType item: stuff) {
    // code here
}
Instead of:
for (Iterator<SomeType> iter = stuff.iterator(); iterator.hasNext();) {
    SomeType item = iter.next()
    // code here
}
I didn't until recently. When did that happen? Was that not around when I was first learning Java?

Despite that, I'm feeling more competent Java-wise lately. I feel that I finally understand the JNI (how to use it, anyways). I even got a C++ API for the multitouch hardware I'm using to play nicely with some Java code.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Feb. 26th, 2008 @ 09:54 pm Overthinking and Stupid Programmer Tricks
Current Mood: quixotic
Fizzbuzz is a simple game. Players take turns counting up in sequence from 1, except all multiples of 3 are replaced with "fizz", all multiples of 5 are replaced with "buzz", and all multiples of both are replaced by "fizzbuzz". So players count:
1, 2, fizz, 4, buzz, fizz, 7, 8, fizz, buzz, 11, fizz, 13, 14, fizzbuzz...

This game has become a popular interview question for programmers; it's simple but many self-identified "programmers" don't have the basic problem-solving skills to tackle it. Of course, programmers sense of humor being what it is, all sorts of odd solutions to the problem have popped up in response. My favorite definition of fizzbuzz(n) is:
['fizzbuzz', 'fizz', 'buzz', n][[n%15,n%3,n%5,0].index(0)]
Aside from being a very weird way of implementing a conditional, this is valid Python and valid Ruby. Nifty!

Dougal Stanton also provided this dramatic solution in Haskall (modified a little for brevity):
import Data.Maybe

fizz = concat $ repeat $ replicate 2 Nothing ++ [Just "Fizz"]
buzz = concat $ repeat $ replicate 4 Nothing ++ [Just "Buzz"]
fizzbuzz = zipWith (maybeWith (++)) fizz buzz
numbers = map (Just . show) [1..]

maybeWith f (Just a) (Just b) = Just (a `f` b) 
maybeWith _ (Just a) Nothing  = Just a
maybeWith _  Nothing (Just b) = Just b
maybeWith _  Nothing Nothing  = Nothing

main = map fromJust $ zipWith (maybeWith const) fizzbuzz numbers
This sort of stuff reminds me of another thing I encountered recently, a regular expresion to "check for primes". The expression in question is:
/^1?$|^(11+?)\1+$/
The first part of this expression matches "" or "1", the vertical bar is a logical or, and the latter part of the expression matches a sequence of two or more ones repeated two or more times. Much less cool than I originally thought it would be, given the title! But it is a regular expression that detects sequences of ones of non-prime length, so you can do the following:
import re
non_prime_length = re.compile(r'^.?$|^(..+?)\1+$',re.DOTALL)
def is_prime(n):
    not non_prime_length.match('X' * n)
That creates a sequence of characters of length n, then checks if the length is prime. This is the sort of thing I'd classify as a "stupid programmer trick", a sort-of clever, not-necessarily-practical, totally silly way of solving a simple problem.

So, to all the programmers out there, what's your favorite stupid programmer trick?

P.S. Incidentally, if you can provide a regular expression such that it actually matches the string representation of only prime (or only non-prime) integers, that would be pretty sweet. A proof that such a thing could not be created would be equally impressive.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Feb. 9th, 2008 @ 04:17 pm Haskell Rocks!
Current Mood: cheerful
I've been messing around with Haskell lately, and while I am still a total beginner, I'm greatly enjoying it. If brevity is the soul of wit, Haskell is a very witty programming language indeed (and it's humor is quite comprehensible, compared to something like K). For example, the following is a (sort of) quick sort implementation:
qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)
The following is a program that takes a list of words on standard input and shows all the groups of anagrams (created with heavy borrowing of code from here):
import Control.Arrow ((&&&))
import qualified Data.Map as M
import Data.Char (isAlpha)
import Data.List (sort)

clusterBy f = M.elems . M.fromListWith (++) . map (f &&& return)
signature = filter isAlpha . sort
anagrams = filter ((> 1) . length) . clusterBy signature
main = (mapM_ print . anagrams . lines) =<< getContents
All functions are strongly typed (but with a huge degree of polymorphism (functions can take inputs of more than one type)). This typing is done intelligently, so you don't have to explicitly create type signatures for your functions unless you want to (for example, I could note that anagrams takes a list of strings and returns a list of lists of strings by adding anagrams :: [String] -> [[String]] before the function declaration, but this is already defined automatically). Functions can be defined in terms of pattern matching, as in the quick sort example above. And all functions are curried (takes parameters in sequence, returning the modified function) automatically, so you can do things like this:
sum = foldr (+) 0
  -- so that sum [1,2,3] -> 6
increment = (+) 1
  -- so that increment 3 -> 4
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Jan. 30th, 2008 @ 09:55 pm More of the Best, Programming and Otherwise
Current Mood: chipper
Programming:Other:
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Jan. 16th, 2008 @ 05:23 pm Python Counters and Accumulators
Current Mood: thoughtful
Another post while [gigantic test script] runs (so I can continuer debugging SQL weirdness). Probably worth reading if and only if you're a Python programmer:

Snakes Within )
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Jan. 16th, 2008 @ 03:11 pm Perl: The Verdict
Current Mood: irritated
Tags: ,
So I've spent several weeks working with Perl. Read books, modified code, did some high-level hacking in a corporate environment.

Here's what's good about Perl:
  • Flexible syntax makes regular expressions a bit easier
  • Flexible syntax makes "golfing" your code (doing it in fewest keystrokes) easier
Here's what's bad about Perl:
  • Anything having to do with objects
  • Anything having to do with references
  • Anything to do with variable names (sigils, magic variables, etc.)
  • High levels of kludginess in the core features
You should learn Perl if any of the following apply:
  • You need it for a job
  • You're a Level 20 Unix Mage
  • You hate maintenance programmers with a burning fiery passion
  • You're a sado-masochist who is still working on convincing your firm to program entirely in INTERCAL
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Dec. 23rd, 2007 @ 01:58 pm More Perl Shenanigans
Current Mood: determined
Current Music: U2 - Love And Peace Or Else
If you tell Perl to sort an array of integers, which order does it sort them in? Hint: It's not numerical:
> print join(', ', sort(1, 2, 10, 20, 100, 200));
1, 10, 100, 2, 20, 200
ASCII order is already a lousy way to sort strings, but it's a completely nonsensical method for sorting integers.

Edit: Of course, you can sort in numerical order in Perl, using their (wacky) custom sort syntax:
> print join(', ', sort{$a <=> $b}(1, 2, 10, 20, 100, 200));
1, 2, 10, 20, 100, 200
But that syntax is really strange, and I'm still annoyed the default behavior isn't more sensible. (Incidentally, the case above also means that $a and $b are magic variables in this context, which means that overriding them can (apparently) cause bugs in some implementations of Perl. Argh...)

Note: <=> is the numerical comparison operator, as opposed to cmp, which is the (used-by-default) string comparison operator.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Dec. 5th, 2007 @ 01:42 am Double-Filtered
Current Mood: cheerful
It's that time again, when I share the best of the best of the latest on the web (from my point of view) for you to peruse at your convenience:

Film and literature: The movie version of Phillip Pullman's The Golden Compass premiers this Friday. It seems that the film has been somewhat sanitized with respect to the book's theological undertones, but that hasn't prevented the Catholic League from denouncing it as some sort of gateway drug to atheism. This has generated quite a bit of commentary in the last few days, with one article discussing the theology of His Dark Materials, another on the relationship between Hollywood and religion, and one focusing on Pullman's perspective on the controversy.

Food: Here's a website that suggests ingredient substitutions and pairings based on analysis of chemical flavor components. In a slightly related vein, here's a recipe for Kiwi Pomegranate Avocado Salsa. DO WANT.

Webapps: Here's an incredibly fast dictionary, and heres a tool for determining how walkable a community is (in terms of distance to various sorts of amenities). I may have posted the second one before, as I came across it soon after it first went up, but it now has the added advantage of actually working.

Programming: I read a very interesting essay on code design patterns (not of ideals but of design in imperfect practice) entitled Big Ball of Mud. There's also a page of evil C code examples.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Nov. 14th, 2007 @ 04:29 pm use Perl or die ($!)
Current Mood: working
Among the other things I need to do to prepare for my winter break job, I've been trying to familiarize myself with Perl. So I've been looking through some of the documentation and tutorials, and it's been a real head-explodingly head-explodingful time. As near as I can tell, Perl was born when someone took a pile of kludge, stuck it together with glue and twine, then dipped it head-first into a bucket of crazy.

I've heard Perl described as being "like Python" in that they fill similar niches task-wise, there aren't parentheses everywhere, and many of the keywords are vaguely like English. Some of the differences are small, certainly, you use "elsif" instead of "elif" and "foreach $var (@list)" instead of "for var in list".

But then you get to things like the weird way Perl deals with variable types (not sure whether to call it strongly or weakly typed, but it is certainly strange), postfix conditionals, methods without parameter lists, strangely named magic variables, $_[0] being the first item of @_ and having nothing to do with $_.

I haven't gotten into how Perl handles object-oriented stuff yet. Wish me luck.

P.S. Have any of you worked in Perl? Have any words of wisdom to share? Sources to suggest? Comment, please.

P.P.S. Of course, I recognize that Perl is a fully-featured programming language, and that it's as possible to write good, maintainable Perl code as it is to write confusing, unmaintainable Python code. Still not looking forward to working with other people's Perl code, though... hopefully I'll feel a bit less nervous by winter break.

P.P.P.S. The subject of comparing Perl and Python has generated a lot of interesting discussion (and flamewars) in those language's respective communities. Check out this thread on Perl vs. Python and an essay titled Why Python?
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Oct. 30th, 2007 @ 10:02 pm Python Interview Questions
Current Mood: thoughtful
Tags: ,
The more I learn about programming, the more I learn that I have a lot to learn. Technical stuff... )
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
May. 19th, 2007 @ 06:04 pm Various Distractions
Current Mood: cheerful
The latter part of the week was largely uneventful.

Today, I went to Ueno with Vito-san. I bought a new backpack. Ueno must be the かばん (kaban; bag) capitol of Tokyo, as there were an insane number of stores specializing in backpacks, handbags, and suitcases of various kinds. I found one where everything was on sale for 1050 yen an item (a little less than $10). The backpack I bought is not quite as good as my old one was, but it will do.

I've spent a bit of spare time on the computer playing around with user CSS. I was able to get Fark to bend to my will, but I found that Amazon still uses tables for their layout, with hardly an element ID in sight. (Are there any other websites that successful that are as poorly designed?)

I also made a map of my commute because Google Maps is addictive so you can take a look at my neighborhood and school from above.

I started my marketing research project on Wednesday, and I'm hoping I'll be able to make major progress on that tomorrow.

There's an IES side trip to Okinawa next Wednesday-Saturday. Time is really flying by...
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Apr. 11th, 2007 @ 11:00 am Flash Card Programs
Current Mood: working
Current Music: Bush - Monkey
Flash cards are really useful for language learning, but they're a pain to make and a pain to carry around. Xave ([info]kihou) made a rather useful flashcard program back in the day. Unfortunately, it's Cocoa-based, so it only runs on Macs.

The Amazing Flash Card Machine shows promise, but the features are rather minimal, and the interface could be better. I should really consider coding something better when I have the time (open-source project, maybe, or part of a web start-up?). Still, that's what I'm using for now. Here are a few flash card sets I've made, so you can get an idea of what I'm learning:
Hiragana
Vocab 1
Kanji Vocab 1

If anyone could help me understand the origins / components / meaning of the following kanji, I would be grateful:
休 - きゅう or やす (rest?)
先 - せん or さき
週 - しゅう (week)
曜 - よう (day?)

Update: Props to the makers of TAFCM for being prompt to respond to feedback. They've implemented at least some of the suggestions I sent them, and responded to the rest (put them on their to-do list, apparently).
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Jan. 31st, 2007 @ 07:51 pm New Project, New Language
Current Mood: chipper
Current Music: Analog Fish - Speed
<html>
<head><title>Hello World</title></head>
<body>
<?php 
echo 'Hello World!'
?>
</body>
</html>
*whistles*
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Nov. 24th, 2006 @ 03:32 am Job Search Hacking
Current Mood: ded of combinatorial explosion
Tags: ,
For the past few days, I've been trying to solve "Tour the T" programming puzzle here. I've finally finished my first solution. Unfortunately, my solution takes on the order of forever to run. (However, it does work in a reasonable amount of time on small subsets of the data, which is encouraging.)

I have a good way of simplifying the graph for the problem, but I need a better way of filtering suboptimal paths from my search. I think I have a few good ideas on how to approach that, but I'm too tired to try any of them at the moment. Bed now.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Aug. 6th, 2006 @ 02:13 am Wikimania
Current Mood: thoughtful
Current Music: "Have Games, Will Travel" Podcast (#69)
Today, I went to Wikimania (at Harvard this year; I only signed up for one day of the conference). The panels and speeches I went to were good, but the most interesting thing was the librarian's discussion. One conclusion from that: Librarians are becoming more like software engineers, and many software engineering tasks are moving into territory that's already covered by library science ("metadata is cataloging!"). I hadn't considered this before, but a lot of the issues surrounding the organization and documentation of code are also librarian problems. Have any software companies hired librarians as part of their software engineering divisions? Either way, there's a real need for more communication and training between the two disciplines.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Dec. 15th, 2005 @ 10:43 pm One Down
Current Mood: chipper
I finished my Comp. Mod. final today, and that went well. I also know what I'm doing for Expo: I'm giving a presentation on OpenLayers, an open source project I helped found as part of my job last summer. (I checked with my boss to make sure that was all okay under my NDA, and it is.)

I had an appointment in Wellesley today and had an interesting conversation with the cab driver on the way back. Apparently, she had previously worked as a software release engineer. So I had a conversation about software design and object-oriented programming languages with the cab driver. :-D

Last, but not least, here's a picture of me and Liana at the Snow Ball:
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Dec. 8th, 2005 @ 02:56 am Recompetentified
Current Mood: awake
Well, I'm doing work at a reasonable clip again. Got a lot of math and psych work done, plus I reorganized my math notes so that I actually know what I'm doing. Still hosed, though...

Scattered thoughts:

Look at this interview of the creator of C++.

Speaking of programming, look. A swap function with no temp variable:
a ^= b
b ^= a
a ^= b
Finally, I got an account on SuprGlu.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Dec. 3rd, 2005 @ 11:35 pm Blocking
Current Mood: frustrated
Current Music: Assemblage 23 - Tried
Again, I plan to write, and, again, I'm scatterbrained.

I feel awful. For the final project in POE, our group is making a robot that dances to music. I'm on software, and I'm totally failing to find any libraries (preferably in Python), that will let me play music and analyze the waveform in some manner such that I can do beat detection. Very frustrating...

Plus, I've got a report for social psych (on the Rawandan genocide) due in less than two weeks (and I haven't started it). I've got some other reading for that class as well. Plus, I've got a lot of computational modeling homework due on Monday.

I've been having an annoying recurring dream where I sleep in and miss a class, can't remember the work that was assigned, and (just to make things as absurd as possible) can't even remember the topic of the class. It's one of those dreams that's obviously a dream while I'm dreaming it, but seems like a memory when I wake up (until I think about it and realize that it's extremely inconsistant with reality).

I took the train in to MIT on Friday to return some stuff to the Anime Club library. I remember being startled out of sleep when the conductor shouted, "South Station, final stop!", and getting the impression that I had been thinking / dreaming about something terribly important, but I couldn't remember what it was.

I read some more of Cryptonomicon. I had to put the book away on the T because I couldn't keep from laughing out loud.

There was a mech design challenge this weekend, so people were building hovercraft from random junk, remote controlled propellers, plastic bags, and blue foam. The end results were pretty nifty...
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Sep. 15th, 2005 @ 01:59 am Getting Stuff Done
Current Mood: cranky
Current Music: Clan of Xymox- Spiritual High
In the last few days, I've spent quite a bit of time frobbing Amazon.com. The site has built up quite a bit of niftiness in the last few years (if nothing else, it's one of the best applications of association networks I've seen anywhere in the web). At any rate, I've bought my textbooks for the year, and I bought a few things for myself as well (Wizards at War (squee!), among other things). I also got my plane tickets home for thanksgiving break (which is good, since I'm guessing fares will be going up soon; as Delta and Northwest just declared bankruptcy).

Today was the first meeting of the OlinWorks co-curricular. The co-curricular serves as a service organization that tries to get random cool, collaborative, computer-related projects done around Olin; it's also a sort of class on parallel processing and related algorithms.

And I have class at 8 AM tomorrow, so I'm off to bed.

(Also, who in the world would write a version of Mario world in JavaScript? Gah...)
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie
Sep. 7th, 2005 @ 10:53 pm Blinky!
Current Mood: sick
Quite busy. And I'm a bit sick today, too. Stupid cold. Summing things up quickly (although somewhat messily):

Yesterday:
  • I went to Wellesley for that Social Psych. class; still don't know if I'll get into that.
  • In Principles of Engineering, we started on the first lab, building USB based circuits with a PIC micro-controller (PIC18F2455) and frobbing a program written in quasi-assembly (so far we've just programmed it to make an LED blink on and off, but still, I get to learn some assembly code).
  • Also, I bought Star Fox: Assault (because, dude, Star Fox, although that review has it right; it adds nothing revolutionary to the series).
Today: Blue Screens of Death and the fixing thereof, being sick, an afternoon nap, getting my wireless setup to like me again, and getting a bunch of work done (although not as much as I would have liked, what with the computer trouble and the library not having a copy of our math textbook (my copy isn't in yet)).

I'm playing in Krazny Oktybr this Saturday (it's a LARP set on a Soviet sub; think "Hunt for Red October"). I'm looking forward to it; I've heard that game is crazy fun.
Entry Links
Japanese!, Coulter, Doom, Pwnt, Why Me?, Evil Laugh, Free Speech Zone, Hypocrisy, HHGTG Stub, Food, Drama, Spot, Matrix Largo, Skilled, Moochery, Gas Prices, L33t, BBB, Carpool, DDSR, SoaP Safety, Bother!, John Stewart, Music Metroid, Skikka, /Stupidity, Rock!, Headdesk, Bookhead (Nagi), Firefox, LJ Base, Error, Smile, Drink, Rainbow, Chaos, Criminal, Wings, Conga!, Grammar, Cory Doctorow, Junpei, Ted, Lulz, Emo, Lies, Yay!, Spam, Do Something!, Obey!, Firefly, Wikipedia, Ph34r, Fools, L33t zombie, Caffeine, Hope, Squee!, Cubicle Crack, Spork, Slip (Elan), O RLY?, Hee!, Angry, Peak Oil, Kent, Colbert, Devil, Train, Doubt, Chainsaw, QED, Silly Dance, Affection!, Revolution!, Pirate Hat, Jackpot!, Akira + Takumi, Cookie