Well, to me, anyway. Start bringing offerings or you may mysteriously lose network connection.
Sarah, one of my cow-orkers, pointed out a funny comment on a web forum:

The difference between this post and my previous one is that this guy doesn't pretend to be a journalist.
It never ceases to amaze me when a journalist uses the wrong word. I mean, it's their job to pick the right one, right?
Case in point: this article from a local paper.
A young man, Kyle Jarvis, taking a short cut to catch a bus found the truck in an abandoned barn. The barn’s door had been closed. Jarvis knew that was unusual and peaked inside.
So, as the Pacific plate slowly crashed into the North American plate, Mr. Jarvis was pushed to the highest altitude he had yet attained, thus he peaked inside the abandoned barn.
Even after leaving a sarcastic comment, it remains uncorrected.
I've been annoyed ever since I got an iPhone with the fact that iTunes doesn't pay any attention to the multimedia buttons on my laptop. I finally got around to Googling the issue and found a solution: Control iTunes with laptop media buttons
So as much as I wish my iPhone would die in a fire, at least now I can listen to some podcasts and stop/start them with the extra buttons like it should have worked all along.
PS Apple's Google-hating is really pissing me off. I will totally switch to an Android-based OS next chance I get…
For Coeur d'Alene via National Weather Service:
A Severe Thunderstorm Warning remains in effect until 515 PM PDT
for northeastern Spokane... northwestern Kootenai... southeastern Pend
Oreille and southwestern Bonner counties...At 423 PM PDT... National Weather Service Doppler radar continued to
indicate a severe thunderstorm capable of producing quarter size
hail... and destructive winds in excess of 70 mph. This storm was
located near Oldtown... or near Newport... moving south at 15 mph.Other locations in the warning include but are not limited to
Blanchard and Spirit Lake.Precautionary/preparedness actions...
Doppler radar has indicated some weak rotation within this storm.
While not immediately likely... a tornado may still develop. If a
tornado is spotted... act quickly and move to a place of safety in a
sturdy structure... such as a basement or small interior room.
Today is my sister-in-law Tess's birthday. It's also her son Trevor's birthday. Happy birthday, guys!
Today's pictures for sad children is funny.
Yeah, you're probably getting bored of these. You're probably wondering: "Jacob, what exactly is a MUD, anyway? Well, at least some of you are. But I'm not going to get in to that. The Internet is a big place, you can find that on your own. Suffice (for me) to say, it's my current hobby, a "pet project" of mine spanning nearly a decade. Off and on. Okay, so mostly off, but some on.
On with the update! If you keep up with this blog (and I can only assume you do if you read this), you know I've run in to issues with unstructured text files and saving complicated data objects to a storage media and then restoring them. I began a search for the right solution—a white whale, a magic bullet, whatever you wish to call it. My first instinct was to leap to XML because it can surely solve this small problem with ease. Right?
Wrong! XML is complicated, both to read and write (by machines anyway). Yes, there are libraries to help with that. Oh there are such libraries that you have no idea what you may be getting yourself in to (most of you, anyway).
Throwing out XML, and going with a cow-orker's recommendation of implementing JSON, I began writing a proof-of-concept program to save and restore data, but quickly ran in to a serious issue: JSON doesn't support multi-line strings.
Yet more searching around yielded a link to YAML, which I posted about the other day. YAML is easy to read from a human standpoint, and even has a couple of C++ libraries to help read it. YAML supports everything I want to do. So I scrapped the JSON project and started a proof-of-concept for YAML. I quickly ran in to an issue reading YAML, but it turned out to be my own fault: I didn't understand how a part of the library worked. Shortly after that, though, I did uncover a bug in the yaml-cpp library with indicator characters used as scalars (this is where you non-technical people either stop reading, or stick your fingers in your ears—metaphorically—and ignore me from here on out). With that issue wrapped up, serious work began and the proof-of-concept grew wings and took off. Just like I hoped it would.
Now I'm in the midst of tearing out underlying serialization code (the part that handles the loading and saving of objects), and it looks like it may take many hours to get things back up and working again. But hopefully by that time I'll have a full-blown, ready-to-use system that will require very little future modification.
Since then I have also become aware of (thanks Keith) the Boost Serialization library. It does the same thing I'm looking at doing, but a little more generically, just like Boost always does. Now the dilemma is: do I go forward with the YAML code, or switch to boost::serialization? Perhaps another proof-of-concept program should be written to determine this, but I need to do a little more research. Right now I have no idea how the serialized data looks to human eyes, and I haven't found any examples yet. It's important to my project to have these files as easily modified by humans as by machines.
In summary, that's where the project sits today. I may have some time this week to work on it, but if it's anything like last week I'm not going to have the brainwidth (I just came up with that word!) to work on it. Fortunately, Lorien and I plan a vacation to see family in Oregon in another week, so I should have a few idle days to work on it then.
PS. And wouldn't you know it, I just ran across Google's Protocol Buffers, yet another solution for basically the same problem. I have my work cut out for me!
- The further I get with my #mud project, the more I think I should use a good XML library. Going to evaluate Apache's Xerces first... #
- My youngest brother Wes is coming over. Programming will stop soon. #
- Multitasking at work-like usual. Always have a dozen projects going at the same time... #
- Once again, the office is realy warm #
- Way too warm in the office today. #
- Dinner at Cedars tonight. Trying to figure out how we're all getting there. #
- Cedars was nice. Expensive but nice. Out at Blue Creek Bay again for the big going away party. #
- Tired, but have a little work to get done, despite it being my day off. See how dedicated I am? #
- Writing a new, shinier MySQL server and query API #
- Holy cow have you seen the Firefly Serenity model @QMXInsider made?! http://www.quantummechanix.com/Serenity.html #
- Had yesterday off work, it's hard being back. #
- Bummer. The C++0x schedule has slipped at least a year. C++ concepts are on the backburner. #
- .tar.bzip2'ing website. It's at 4Gb and climbing.. Jake is sad. #
- A website just shouldn't be this big... #
- Awesome hilarity about the C++0x standard: http://bit.ly/jBEs7 #
- The @wootoff is going strong. And I'm going home #
- Woohoo! More Bacon Salt from the @wootoff !! #
- Reading through a C++ library to parse JSON-encoded data. It looks hopeful to use in my #mud project. #
- Looking up some information on YAML now. Would it be more viable than JSON? #
- The issues are: a good C++ library and multi-line string support. Not sure about JSON on that second matter. #
- Apparently you can trick JSON in to supporting mutli-line strings by separating them with the Unicode Newline char. What a hack... #
- It looks like YAML is a clear winner. Next step: write a proof-of-concept! #
- Well the @wootoff is over. Got more bacon salt. No bag o' crap this time. #
- Got a YAML file written with real data. Tested on the YAML website and it parses valid. I'd write more tonight, but..hey wait, no I won't! #
- Really tired this morning, didn't sleep well at all. #
- Waiting for Lorien in the car, we're going to work together today #
- Need lunch. No time.....Need TIME! #
- REALLY frustrated with Microsoft's s***ty DHCP and DNS updating mechanism #
- Running biweekly tape drive cleaning. Hiding out in the cool server room. #
- Woot the Dow broke 9k finally. Now if only I hadn't already lost tons of money... #
- Working on my YAML parser. The yaml-cpp project doesn't seem to support the entire YAML 1.2 standard... #
- Done coding for the day. Going to read some Charles Stross. Mmmm, that's good science fiction! #
- RT @muskrat_john: #Munchkin turns Eight Years Old. Go up a level! in reply to muskrat_john #
- I saw a werewolf with a Chinese menu in his hand... #
- There is talk of #munchkin bites for lunch. I already had lunch. But I think I will still play. #
- Done setting up for the annual company picnic tomorrow. #
- Time to break out the happy pellets: peanut M&Ms. Unhappy side note: Costco rejected my review of them! Contains no weasels indeed... #
- Specced out new process for demo software registrations for our next version. I <3 meetings. #
- Bought my tickets for the #rifftrax live event on Aug. 20 (mine's for Spokane WA). Have you got yours yet? #
- Trying to get an answer from the #yaml channel on the FreeNode IRC server. Everyone's asleep there. My YAML parser seems to work, though #
- There may be an error with the way the yaml-cpp library reads indicator characters, though. This is what I'm trying to clarify. #
- Just finished reading GDCU level 8 lesson. Thinking about the homeplay assignment #
- Off to do some more reading, then turn in. Company picnic tomorrow. No answer from the #yaml IRC channel yet. #
- Got my answer from #yaml IRC channel by....sleeping! Turns out my YAML code _is_ valid, but yaml-cpp doesn't want to parse it. #
- Won $75 at the company picnic. That's 11.50/hour #
- My YAML issue was confirmed as a bug in the yaml-cpp library, and it's fixed already! Yay! #
- Just got back from JT and Melanie's. They had a computer problem. 5 minutes to fix, 1 hour of chatting to catch up
#
The game Munchkin turned eight years old today. In two more years it'll win!
I've reached the point with my MUD project that plain old text files make saving and restoring information prohibitively difficult. I need to add some structure to them. On the other hand, I'd like them to remain easy to read and modify by hand as well as by computer.
Enter YAML. First thing it has going for it is a recursive acronym for a name: YAML Ain't Markup Language, which gives it ++coolFactor.
Secondly, YAML supports multi-line strings, and JSON doesn't (excluding the hack of using Unicode newlines to separate your lines—DO NOT WANT!).
Anyway, I decided on writing a proof of concept for using YAML, and started it this evening. I haven't gotten terribly far, but far enough to run in to some issues reading files with yaml-cpp. Even reading the YAML 1.2 spec sample files. I'm not sure what's wrong. In any case, I hope to resolve this soon and that YAML works out. I'd really like to use it for the MUD!
I can parse the "complete example" code, though. Right down to each individual scalar. I used recursion to read the nodes until I hit a scalar value instead of their fancy operator>> overloading.
I ran in to Maya last Sunday, totally not expecting to. I haven't seen her in a long time. We chatted as long as we could. She stopped updating her blog (I removed the link here when it went 404), so there isn't a good way to keep up with her unless you see her. I thought I had a phone number for her, but after checking my phone I realized I didn't. Of course, I did that after she left.
Her husband Josh is going to run for mayor of Cd'A.
My mom called earlier with the news that Ron's father passed away. My condolences to the Kuraharas.
We stayed out really late last night at the houseboat on Blue Creek Bay on Lake Coeur d'Alene to spend time with my sister-in-law and her family. They're moving to Indonesia for the next five years for her husband's work (Chevron). We had a nice dinner at Cedar's (they paid! It must have cost a small fortune!) and then boated back to the houseboat and played games until the wee hours. It was fun to spend time with them, and we wish them the best.
- Called the police AGAIN about the noise. I'm really upset right now #
- Just woke up from a long Sunday afternoon nap. #
- Zones and Zone Maps are working! Woohoo! #MUD #
- Back to the grind. Got some code to hammer out today #
- Harry Potter and the Bald Barber #harrypottersequels #
- Had lunch with the boss at MacKenzie River Pizza Co. It was piza-licious! #
- Tracking down some old version information for the boss. I can't remember how it used to work... #
- Worked with a developer testing some Amazon AWS stuff. It was confusing. #
- Bacon lip balm! http://bit.ly/CBSp4 #
- Going home, calling mom about grandpa-he's been in the hospital lately #
- Finished writing up some zone files, compiling server now. Should have two complete zones in a minute... #
- Just spent 45 minutes tracking down a nasty bug. Two variables had similar names and I mixed them up. They were of the same type. #
- Map generation code has an edge-case error, but I'm not going to find it tonight. Time to go read and then turn in early. #
- Also, it doesn't make much sense to wrap around the edges of the map if you don't generate a localized version that maps around, too #
- Just had to ban some jerk weasel from our website for sucking content like mad. This is what happens when you don't play nice. #
- Hungry. Red Warrior Needs Food Badly! #gauntlet #
- Just typed "cd secure; show files;" on my filesystem. Too much SQL lately... #
- Not sure I'm ready for another bout with the wife's car. Stupid **** headlight #
- You wouldn't think it'd take an hour to replace a headlight. The stupid lock mechanism just won't go back on #
- Map generation error was a simple unsigned integer issue. Instead of 0 it equalled 4294967295. Silly me! #mud #
- Just reviewed Peanut M&Ms on Costco's website. I don't think they'll appreciate my form of humor... #
- M&M's Pros: Contains no weasels. Cons: Unregulated consumption leads to weight gain. #
- Only time will tell if my review makes the cut... #
- Tracking down an errant \r (carriage return) character. Apple and Microsoft should be shot for ever using it. #
- Carriage return bug squashed. Running out of things to work on tonight. I'm that good. #
- Next job: implement weather and ground cover maps. Add documentation to code where it's missing. #mud #
- Forgot to mention one addition: I added a new "save" thread that handles saving outside the normal processing loops. Still need mutexes #
- That'll teach me to mess with mutexes (mutices?). Left one locked and it played hell with the engine until I tracked it down. Works fine now #
- Win a Nikon D5000 (or 5,000 photo scans) from @ScanCafe and @scottbourne. Pls RT. Details here: http://bit.ly/4mJGr #
- MUD binary is over 11Mb in size! Even after stripping all debug symbols it's still 877K--a lot of code! #mud #
- Development staff meeting in 5 #
- THat was supposed to be a short meeting... #
- Going to save the new @Footstompin podcast for tomorrow! #
- Getting dragged to HPatHBP tonight at 10pm #
- Neighbor kids met me in my driveway to give me this picture: though it was flowers but it was upside down http://yfrog.com/572n8j #
- At GW Hunters in Post Falls for dinner #
- At the theater now #
- Saw the new HP movie last night. I was less than impressed. It was too slow, too long. Didn't move enough. #
- Suicide bombings in Jakarta and my sister-in-law and her family is moving there in 2 weeks... #
- Going home. It's been a long week. #
- No idea what tonight's plans are, but I'm voting for early sleep. #
- Cold leftover pizza for breakfast. Yowsa! #
- Off to spend some time with family on Blue Creek Bay. #
- Still at lake place on blue creek bay. It's too hot #
- Still too hot. Probably should have brought swimming attire #
- Working on some more loading and saving code for my #mud project #
- Tom Petty sang, "I'll be the boy in the corduroy pants, you'll be the girl at the high school dance." I always hated corduroy. #