Clojure and jMonkeyEngine Tutorial 3
I apologize for not continuing these in a timely manner, a lot has been going on. Update: 4 and 5 completed.Here's a link to the official tutorial 3.
Here's the translated Clojure code:
See Full Post and Comments
Citizen of the Internet
Many fancy themselves citizens of the world. I think they just haven't traveled far enough. The sentiment of anti-nationalism is a fine one to hold, but I know I'd rather be safe and sound in my American home than wondering when the rebels (or pro-government forces) will decide on a whim to sack my dwelling in Syria. I'd rather be able to argue with local missionaries about the very concept of god than be wondering what my method of execution will be if my neighbors in Egypt learn that I have rejected Islam.I'm not proud to be an American, and while there are many explicit and implicit bounds placed over US citizens, I'm still more free, overall, than those in the rest of the world. It's sad that it's the case, but where else is economic, government, and personal freedom so favored to the individual but in America? The former British colonies that did not rebel still follow a very British style of government and allowance. In Australia you cannot own or import a decently powered green laser. Why? Because people were flashing them at airplanes as they were landing--which in America would result not in banning the device, which is used responsibility by thousands, but by apprehending the pranksters. Europeans as a whole are fully socialist now, especially the Eastern European countries like Hungary that at this point are essentially communist in their ideology, if not quite totalitarian enough to resemble Leninism and Stalinism. In the US, you are more capable than ever of starting your own business and building almost anything you desire. If you work hard and are lucky you can even create a billion dollar business, but while those are rare a modest income isn't too hard to achieve. In Israel, citizens are forced to join the military for 3 years (male) and 2 years (female). (Without debating the merits of such a requirement--I think it probably makes sense for Israel and its people--the US has "selective service" which, except in times of crisis, means it is voluntary to join the military.) Most of the world's countries are tiny, which makes travel outside the borders difficult and/or annoying, while in the US travel between states is as easy as driving over the border. If I am physically assaulted in the US, the police are available and I can have my justice.
Well, not in all parts of the US, but the ones that matter. In the US it's very easy to move if you don't like where you are, and there are helpful, charitable people everywhere if you need a little help.
See Full Post and Comments
Vim's learning curve is wrong
This image has been around for years:
(I actually found this blog post while searching for the image, it's worth a quick read but touches on a different point.)
Here's my first complaint. The axes aren't labeled. Well, I guess that's better than being incorrectly labeled, since now you have a chance to interpret it correctly. The horizontal axis being time is usually a good guess, and in this case is correct. (Which is why emacs is funny.) Learning curves are fairly arbitrary anyway. I think that they're supposed to measure the rate at which one acquires knowledge or ability, the rate at which one learns. They're supposed to measure velocity. Typically, however, creators of graphs intend them to measure either difficulty, frustration, or total ability or amount learned, with perhaps specific pieces of knowledge along the way. They represent your position. Position where? On some path to total mastery. In the above graph, we have a lot of interpretations to work with. I'm going to present the Proper Interpretation of each editor, which is the interpretation I chose for this post, and then explain why vim's is wrong no matter how you look at it.
See Full Post and Comments
Apache's Common Log Format Datetime converted to Unix Timestamp with C++
The datetime in Apache's log format looks like this: day/month/year:hour:minute:second zone. It usually has wrapping brackets but I'm assuming those have been taken care of. The datetime format has a standard name but I don't remember it right now. An example would be "04/Apr/2012:10:37:29 -0500".This is great for displaying to humans but annoying to pass around to computers, so let's convert it to a Unix timestamp that is simply the number of seconds since the Unix epoch, i.e. 1970-01-01 00:00:00 +0000. Notice that since the simple seconds timestamp has no time zone information, that information will be lost.
The code, released in public domain (I don't think one could assert copyright over this anyway):
See Full Post and Comments
Dumb patent of the month: Emotional Context
Okay, I'm not even sure if this is a real patent or not: http://www.patentauction.com/patent.php?nb=7385 It's a "Method of Adding Emotional Context to Electronic Messages". They want $10,000 for a license, but it comes with a free dotcom domain name!The "patent number" referenced doesn't lead anywhere searching with Google or the US patent search, so who knows if this is real. It wouldn't surprise me. The site itself is probably a scam site, it looks pretty shady to me, but I have no idea. Anyway, let's just look at it and mock it. (I could have picked the Linked List patent or the Cat Chasing Laser patent if I wanted a real patent, but those have been mentioned before. I'll try harder next month if I remember. (Not that it's hard to find a bogus patent in any field that should never have been granted.))
This patent is nothing but an assertion of monopoly rights over how to style text to convey emotion. Luckily my use of italics there doesn't violate it, as we shall see.
See Full Post and Comments
So, PHP...
There was yet another wave of PHP-hate across the interwebs over the last couple weeks. It's truly fascinating that a language as decent as PHP can have hatred that rivals and sometimes exceeds the hatred for BASIC and even for some people COBOL. Since I haven't written anything in a while (lots of drafts), I figured I'd write about some of the things that I like about PHP.First off however is what I don't like about PHP, since I can't say I'm gushing happiness with the language. I don't like the syntax (with the exception of sigils and double-quote-inlining) and their choice of OOP implementation that's an unholy mix of C++ and Java. After years of Python and a few decently sized projects in Clojure, coming back to PHP feels like just a nicer version of Java. (Of course, after years of programming Java, I don't particularly hate it either...) I don't like the function argument order ambiguity and inconsistency, a problem that is mitigated through memorization and "php.net/func-name" but would be best mitigated with specifying default arguments at call-time in a way similar to what Python allows, which makes remembering the order irrelevant. I also think PHP could be faster, given I think of it as "the C of the web" (which will probably generate some hate). I hate the choice of a backslash for namespaces. I hate the lack of $_PUT and $_PATCH and $_CUSTOM and so on. Sometimes I pine for a REPL. I wish it handled utf-8 better. I wish it supported multiple inheritance.
That about sums up my issues with modern (>= 5.3) PHP. God help you if you're still supporting PHP 4 code.
See Full Post and Comments
Wolf PAC is worse than useless
I watch The Young Turks since it's a reasonably entertaining way to stay informed about not-very-important-to-me topics so that I have things to smalltalk or argue about with the Commoners. Sure they're biased, but they're biased in only a slightly more way than we all are. They're nowhere near the Fox News style of conscious bias and conscious we-must-say-this-or-else style. They reflect the cultural bias of American upper-middle class society. I also get to select what I want to watch out of the subscription box based on title instead of hoping the next segment is decent, but I digress to a general statement that à la carte entertainment will always beat pre-programmed entertainment in a fair fight. (And even in an unfair fight Netflix is still kicking ass.)So anyway, TYT sometimes pushes this group they created called Wolf PAC. Please go look at their home page so you get the full context, because I'm going to demolish it in pieces. It's cute, but also harmful. That's what it means to be worse than useless. It's harmful because it's going to fail miserably, destroy wealth (albeit a minimal amount), and crush the hopes and dreams of any supporters it gathers. It also would in all probability be harmful if it actually succeeded.
Our politicians are bought. Everyone knows it. Conservatives know it. Liberals know it. The Democrats are bought. The Republicans are bought. They don’t represent us. They represent their corporate donors who fund their campaigns and promise them well paying jobs after they leave office. We have taxation without representation. Our democracy is in serious trouble.
See Full Post and Comments
Recent Posts
2025-07-07
2025-03-15
2025-03-03
2025-02-13
2025-01-14