October 2006

My site is now 70% less pretentious! I removed a ton of Big Quotes (quotes by Important People) from my random quotes list and repopulated it with obscure ones. I'm in a whimsical quotation mood, you see. I also fixed my favicon. Before, I had two files, favicon.ico and favicon.png. I had done something wrong when I made the .ico one; it discarded transparency information from the source file. This new one keeps transparency information, so the favicon should appear nice everywhere.

I've linked to True Launch Bar. It's an awesome little tool, and my desktop looks shinier because of it.

I've only solved one more Project Euler problem. There are a few of them that I know how to solve conceptually, but all of them require manipulation of Really, Really Big Numbers. Java's BigInteger class handles arbitrary-length numbers, but it's a pain to work with. To add a number to a BigInteger object, for instance, you have to go obj.add(obj2), where obj2 is also a BigInteger. God forbid Java should support operator overloading so that one could go obj + 5. Sigh.

"Just because you are unique does not mean you are useful."

I've solved a few more Project Euler problems and read Ringworld.

A friend at school showed me operator overloading in C++. It's so cool because it lets you use arithmetic operators for whatever you want to, not restricted to arithmetic expressions. What does it mean to multiply a string by an integer, for instance? You could say, "concatenate this string n times with itself" so that "abc" * 3 results in "abcabcabc". Or it could mean, "produce the next three characters in the sequence and concatenate it", resulting in "abcdef". This might be illogical, but the point is that the behavior is entirely up to you. A more realistic example would be that of adding items to an inventory in an RPG (incidentally the example I was shown). Instead of doing something like Inventory.add(sword, shield, arrows) you could go Inventory += sword + shield + arrows. It would be so neat if Java supported operator overloading.

Java does support method and constructor overloading, which make things more powerful. It also has explicit constructor invocation, which is totally awesome.

I'm a web comics junkie, I know! Now, before you start scheming that intervention, check out Simulated Comic Product, Soup, and The Pretentious History of Everything, which are now linked to. I've also linked to Jim Wisniewski, who promptly became a Wilburer. (The first one in a long time. Who's next?)

"We don't like it when the city pigeons break wings. When the pigeons break wings, then we can't get down."

My Geometry Wars record has made two jumps: The first was to 13M, and my current score is 22,084,965, making me the 28th best player in the world. Whooo! I'm slowly climbing the leaderboard; I'll be happy to reach top ten.

I'm doing Project Euler again, and this time I have a section for it for bragging. Yeah, I realize there's not much there to brag about. Yet.

I've linked to Pure Pwnage and Ask A Ninja. I also killed PHP Alacrity. It never really went anywhere, and the code was anyway ugly.

Java annoyance! Specifically, its lack of nextChar() in the Scanner class. It has similar methods for int (nextInt()), float (nextFloat()), and boolean (nextBoolean()); is full primitive types coverage too much to ask for? On September 25 I claimed that in Java, methods are called functions; that was wrong. Mea Culpa. Apparently subroutines in classes are methods and subroutines elsewhere are functions. And then there's that whole thing about distinguishing between functions (which return values) and procedures (which do not). Thankfully Java doesn't do that. In any case, I prefer the term function; it describes the structure very well, and if further clarification is needed I'll qualify it as necessary, thank you very much.

There are 5 posts for October 2006.