Home / blog|
Online Reading Links
Welcome to Hrocdol.net
This is Jason Sherman's personal web site. Just a place on the web for me to share my thoughts, ideas, and stuff on the web. I hope you find something useful or interesting or entertaining here.
Why Hrocdol.net? Hrocdol, as a name, originated as a Diablo 1 character; a warrior, who ended up as a fearsome axe-wielding monster slayer. It was... Early in my college career, as I recall, and I thought it a unique enough name that I kept using it for other things to avoid conflicting with other names; at first games, then eventually instant messaging, web forums, and now, finally, for my web site.
Check the links at the left for interesting stuff. My blog exists below. I intend to use it as a journal of events in my world and my thoughts on them, as well as a place to point out the latest interesting thingy on the web. If you want to respond to anything in my blog, feel free to e-mail me at firstname.lastname@example.org or catch me on XMPP (Jabber) as email@example.com.
Blog entry 20170422-1424
"I love a good algorithm. I love finding algorithms. I love creating algorithms. Algorithms are fantastic. And actually, long division is a brilliant example of an algorithm. But, you know what? I don't wanna /do/ algorithms. I don't wanna be the guy turning the handle. I don't even wanna practice turning the handle. Like, I enjoy learning about the handle, and how the handle works, but I don't wanna be the guy doin' this. [hand motion like turning a crank] That's just boring! You know?"
Much of the talk is going on about education, which is important and good, but... ALGORITHMS! We think so much alike on this!
Blog entry 20170328-0811
"Of all the things that our government does, NASA is the most beautiful." - John Green
Blog entry 20160603-1142
Story of about 10 years at a glance: link to comic
Blog entry 20150703-2251
Day off, day off. So what do I do? Play games, watch YouTube and anime (Ninja Scroll, as it happens), and... write some C? Sure, why not.
Caught some YouTube vids that mention the Fibonacci sequence and decided to play with it. The Fibonacci sequence is kinda interesting as a programming exercise, since it can be calculated different ways, and the different approaches have dramatically different performance characteristics. So I wrote this bit of C to demonstrate.
It returns the nth element of the Fibonacci sequence, using either a recursive method (-r) or an iterative one (-i). I compiled it on Linux, and used the time command to see how they compared. As a side thing, it was an interesting observation of the effectiveness of gcc's -O option, and a chance to learn a bit about getopt().
Without -O, I put up with -r up to 4m29s to get the 51st item. Once I used -O4, 51 came back in 51s. Pretty dramatic. I drove it a little farther after that, and got #53 in 2m13s.
Compare to the iterative method, which I haven't seen take over 1 thousandth of a second, even when I ask it for enough to overflow 63 bits, which happens to happen at the 5502nd item.
Pretty sick. But that's a multi-recursive algorithm vs. an iterative one. I admittedly only have a kinda half-assed understanding of Big-O notation (calculus is a thing I never really grokked), but I think it amounts to O(n!) vs. O(n).
It kinda puts me in mind of some of the algorithms I coded back in college where recursion was the thing. I'm tempted to revisit some of them with an eye to performance... Again. For the zillionth time, probably, since I graduated. The bastardized hack I perpetrated on my last project in Advanced Algorithms still haunts me. Shoulda been a breadth-first search with a queue, not that ugly hack doing a complete depth-first search... Still completed in good time with the test cases, but I always kinda hated it, the way it wastes all that time after finding /a/ solution, just to be sure it's /the/ solution. At the time, I had a deadline, and I couldn't rewrite it as I'd like.
Maybe this time... Maybe. But likely not. Tempted but not that tempted. We'll see. I'll post it here if I do it. It would be an interesting exercise, but would anyone ever read it? Not really the point, anyway.