Kevin Vance (weblog of)

Entries | Archive | Friends | Friends' Friends | User Info


08:05 pm

A personal best

Tuesday, November 10th, 2009

I set a new personal record for the most ridiculous way to send text to myself today.

  1. Entered into an HTML form
  2. Saved to a database by the webserver
  3. Read from the database by a daemon
  4. Saved to PDF by the daemon
  5. Copied over a wireless network to another daemon
  6. The PDF is rasterized by that daemon
  7. And sent as a fax to an OS serial port, which is actually a softmodem
  8. The fax line is VOIP, so the fax noise is re-digitized
  9. Once it gets to the telephone system, it is converted back to an analog signal
  10. The signal is received by a fax-to-email gateway
  11. Who even knows what they do to it, but it ends up as a rasterized PDF
  12. I receive an email copy of my text.

Screenshot

I wasn't even trying to make a convoluted thing. I just needed to test something!

Link )2 Comments )  ( Comment on this )

01:52 am

IR Blaster

Tuesday, October 27th, 2009
So when Comcast dropped a bunch of analog channels last month, my mythtv setup got a little less useful. They did unencrypt some digital channels, but I was still down to one tuner for most cable channels.

I got my converter box last week, a Pace DC50X. It works well enough. Even with the RF output, and the digital to analog back to digital conversion, it still looks better than the old analog signal.

Of course, the problem with a converter box is that mythtv can no longer change the channels. The converter comes with an external IR receiver port, a mono mini-jack. So my first thought was to have a sound card generate the electrical signal the IR receiver would make. But there are already established methods for communicating with IR, so I decided to just use an IR blaster.

There are plans for making your own, but I'm not really up for that. My electronics experience is limited to soldering broken connections, and some basic theory from high school physics class. I would not want to plug a circuit I built directly into my PC.

So I bought the serial port one from irblaster.info. After actually installing a serial port (heh), it works as expected. MythTV can now change the channels, and I have a pretty good DVR again.

There is one thing that kind of bugs me about it though. When it's transmitting, LIRC masks interrupts. So for the ~1 second it takes to change the channel, the sound skips and the system clock drifts a little. I can probably live with that, but it might gradually drive me insane. I'm not sure which yet.

I'm not too familiar with multicore x86 or linux's IRQ handling, but I wonder if it would be possible to keep the LIRC driver on a different core, and only mask IRQs on that core. Otherwise... I have been looking for an excuse to buy an arduino...
Link )5 Comments )  ( Comment on this )

03:15 pm

There's a mouse living in my car!

Tuesday, October 20th, 2009
There were enough clues for me to figure this out earlier. A few days ago my cat, Will, was sniffing around the front of my car. He's not usually interested in the loud, rumbly death machines that take him to the vet. Eventually he got bored and went to do something else.

And then yesterday while I was driving my other cat, Sammy, back home from the vet, there was a loud thud and the blower motor stopped working. Yet another piece of my car needing repairs seemed normal to me, so I just made a mental note to find out how to fix the blower unit.

But while I was driving today, I saw something out of the corner of my eye. Was that... a mouse? A minute later I saw it again, crawling around the windshield wipers as the car was cruising at 45 mph.

So I pulled over, thinking I'd pick it up by the tail and toss it out. (That's what you'd do, right? This is a new one for me!) But as soon as I got out of the car, the mouse crawled into a crevice. I looked around for it under the hood, but found nothing. After a minute of waiting for it to come back, I gave up and drove home.

At home I tested the blower, and it works again! So the unlucky mouse must have fallen in yesterday, only to climb back out to wreak more havoc today. I tried looking under the hood again, and checking behind the glove compartment (the blower stuff is behind it), but I still can't find the mouse.

I considered using the cats to catch the mouse after the car had cooled down, but I'm worried they'll leave half a mouse inside. Now I'm thinking about setting some kind of trap, but maybe the internet will know what to do.
Link )4 Comments )  ( Comment on this )

02:59 pm

Sunday, October 18th, 2009
Heh. I didn't do much announcing of dsmzx build 2, since it doesn't really have any exciting new features. I guess the DS community was interested after all, since I've been getting a ton of traffic on kvance.com, and some bug reports from EZFlash users as well.

I'm also impressed with the anti-spam function in django's comments module. I noticed in the logs an attempt to post comments from a bunch of different IPs all at once, and none of them went through.
Link )Comment on this )

01:51 pm

Sunday, September 20th, 2009
screenshot

Guybrush Threepwood reads Ron Gilbert's tweet about Guybrush Threepwood reading Ron Gilbert's tweets. The circle is complete.

Current Mood excited
Link )Comment on this )

11:49 pm

Making a New JavaScript Thing

Saturday, September 19th, 2009
I've been coding like crazy lately. I just got the idea this afternoon to make Guybrush Threepwood Reads Ron Gilbert's Tweets. I did it (arr matey, before Talk Like a Pirate Day was over!) but it took the rest of the day.

I'm familiar enough with JavaScript that the main programming challenge was looking up documentation on the internet. I have a good enough idea of what's in the language (and the DOM) for my purposes, but I can never remember what anything is called!

The real challenge was getting the graphics. The background is two screenshots of ScummVM pasted together. Okay, that was easy. I managed to rip the sprites with Costume Ripper running in DOSBOX. Once I found the sprites, I used the utility's PCX saver, manually renaming the output each time.

I had real trouble with the fonts. Somehow I managed to miss Charlie and decided to try and capture the font with screenshots of ScummVM. I used SCUMM Revisited to find offsets of text in the game, which I edited to all the ASCII printable characters. But ScummVM doesn't render the fonts 1:1. They're stretched out to preserve the original aspect ratio. And I captured some of them over a dark background. It was getting annoying.

Luckily, I found Charlie, and ran it (also in DOSBOX). It wouldn't work on Monkey Island 1, but I managed to get it to detect Monkey Island 2. The built-in saver did not work, so I just took a screenshot.

Then, a happy coincidence occurred. Several months ago, I wrote a utility for Corner Office to take a paletted image of a multi-color font, squish the characters together, and save the result and a character offset table! EXACTLY THE THING I NEEDED FOR THIS AS WELL! I just converted the resulting offset table from a binary format to a JavaScript object.

Anyway I really need to relax now so no more programming today. Probably.

Other stuff I'll try to write about later: switching from PulseAudio to JACK, writing a JACK driver for mikmod, Corner Office animation editor.
Link )Comment on this )

01:59 am

Corner Office Dialogue Test

Sunday, September 6th, 2009
Tags,

dialogue video

That screenshot links to a video of my dialogue system in action. The example script being run is available if you're curious.

Yesterday (Friday), I abstracted the command screen boxes so you could make other kinds of command boxes. Today (Saturday), I combined the new command boxes with the old text printer and the dialogue parser, added an interpreter for the compiled scripts, and ran the example dialogue file!

It works on the hardware too, but it's really hard to film a DS. Anyway, I'm really happy I took the time to do more of this project, and I'm pleased with how it's coming together. I also need to display the character portraits, but I'll add that later. Displaying images is easy, and I don't actually have any character art yet.

The last prototype I need to do is the battle system, which is going to need an animation system (am I going to waste EVEN MORE TIME writing an animation editor?!) and a simple AI.
Link )2 Comments )  ( Comment on this )

02:49 am

Latest Games Roundup

Thursday, August 27th, 2009
I've been playing a lot of games lately. I don't really have time to, but they help me clear my mind at least. I haven't been writing down my thoughts though, so here's a big list of them in vaguely chronological order:

Ghostbusters, Monkey Island, Trine, etc! )
Link )3 Comments )  ( Comment on this )

01:19 am

4000th Post Spectacular

Wednesday, August 19th, 2009

This is my 4000th LiveJournal post! It's time once again to look back at my last 1000 posts. They cover such a vast amount of time that I can't remember which ones were especially significant. So let's just look at 10 of them, in increments of 100:

Post # Date Description
3901 2008-04-18 I acquire an officially licensed plush Companion Cube.
3801 2007-06-03 I arrive in Carlsbad, CA for my second trip there. I also have a new laptop.
3701 2006-06-07 I describe a long-since-abandoned project to scan for suspicious files on windows. I also link to a Kari Byron photogallery.
3601 2005-11-24 I talk about all the TV shows I'm watching, but also about learning win32 programming in python.
3501 2005-07-14 I excitedly present evidence of a windows sync client for Handhelj. It would never materialize.
3401 2005-03-07 I share my thoughts on the first episode of the new Doctor Who series.
3301 2004-10-31 I complain about nobody being logged on to AIM, and observe the passage of time.
3201 2004-05-03 I talk about homework, impending doom, and a common problem I have.
3101 2003-12-31 I decide to post the last screenshots of 2003, then think better of it.
3001 2003-09-15 I share a tip on how to override a user's style on their LJ comment page.

FASCINATING STUFF. I can't wait until I'm celebrating another 1000 LJ posts in the year 2019!

Link )4 Comments )  ( Comment on this )

10:18 am

Monday, August 17th, 2009
With all the stuff that's been going on, I forgot to mention that I finally finished all of the Discworld novels! I started doing this over two years ago when my grandmother recommended them to me. She's too blind to read, but she listens to the audio books. So I started putting them into the rotation more and more frequently until I was mostly reading Discworld books. Now I can join the rest of the internet in eagerly awaiting the next book in the series.

(The last book I read was Wintersmith, on the night of August 10.)
Link )Comment on this )

11:12 pm

Mr. Robot

Saturday, August 15th, 2009
I started playing Mr. Robot today, one of the games I got in the Steam indie games bundle. I've played a few hours plus the long tutorial, and it's really good! There's still a few games in the bundle I haven't tried yet, but I suspect this is going to be my favorite.

The gameplay is exploration and puzzle solving (mostly sokoban-type crate pushing) in an isometric view, with an extra RPG combat thing bolted on. It also provides me with a very nice nostalgic vibe, as it's a kind of game that's more 1990s than 2000s.

I had a couple of minor technical problems. I (and a lot of people on the forums!) could not assign controls using a gamepad. I actually took a hex editor to the savegame file to put my controls in. Later, when I was adding d-pad keyboard mappings using Logitech Profiler, I realized I could have just used that to map the other controls to keyboard ones too. Oops!

The game also seems to be framerate locked to 25Hz. Gameplay looks fine that way as long as the screen isn't scrolling, but watching the mouse cursor actually hurts my brain.

Those are easy to overlook, though, in exchange for releasing your inner Pusher Robot.
Link )Comment on this )

12:41 pm

Friday, August 14th, 2009
% get reset --hard
zsh: correct 'get' to 'GET' [nyae]?


I wish zsh would be a little bit smarter about its suggestions. (zsh: I wish kvance would be a little bit smarter about his typing.)
Link )2 Comments )  ( Comment on this )

04:57 pm

Tuesday, August 11th, 2009
Today has been kind of rough. I got about four cumulative hours of sleep last night thanks to two consecutive power outages. That finally ended around 5 am, and I managed to sleep until 7 when I was awoken by the sound of my cat having a seizure.

I only know about it because she happened to be sleeping on top of a plastic bag near my bed, and the crinkling sounds woke me up. I got onto the web and started looking up what to do, but she snapped out of it before I could finish reading. I had enough time to confirm that happens to diabetic cats when their blood sugar is way too low, so I wrote a note to make sure nobody gave her any insulin.

After a few minutes, she was walking around and purring like nothing had happened. I couldn't really get back to sleep after that.

Later at the vet, we found out that her blood sugar was still low, even though she's had no insulin today. So I'm not going to give her any more insulin tonight, and we'll check her blood sugar again tomorrow. Feline diabetes is weird, and can sometimes go away completely for a while. Or she might just need a different dose for whatever reason.

I've never seen a human or an animal have a seizure before, so... it's been a surreal day.
Link )2 Comments )  ( Comment on this )

05:29 pm

Thursday, August 6th, 2009
There seem to be more game-related competitions than usual going on right now. TIGSource Adult/Educational, Mario AI competition, Zero Punctuation flash game contest.

I would actually consider delaying corner office (AGAIN) to do the Zero Punctuation contest, but it's flash games only. And although I know quite a bit about flash's network protocol, my only other experience with it is using The Goddamned Linux Flash Plugin.

The best you can do for flash creation on linux now seems to be swfc, which is totally commandline based. Not necessarily too hardcore for me, I'd just rather not waste all my potential compo time learning a new environment.
Link )Comment on this )

12:59 am

Corner Office dialogue editor

Wednesday, August 5th, 2009
Tags,

Screenshot

Finally had some time to do some corner office work. The last time I was working on this, I was trying to decide if I should hardcode the dialogue. It's a short game, but I think ultimately that ends up being really annoying, and... you know I have this thing about writing editors, right?

The actual editing takes place in an embedded gvim. That way I get syntax highlighting (and vim commands!) for free. Since most of my old "conversation trees" have been written in ZZT, I based the syntax on that.

The preview takes a background image and font file from the game, and uses the standard gdk drawing tools to render the text. It's supposed to render whatever text you are currently editing, but I still have to code that part.

The dialog file will get compiled down to a binary format that will be easier to interpret on the DS. I have a parser for it using pyparsing, which might have been a mistake since that was my first attempt with a parser generator and it's very clumsy.

I haven't even started on the interpreter on the DS side. I need to write some more test dialog, and implement a few #commands for setting flags and such. Once I'm pretty sure I have the right thing, I'll start coding that.
Link )2 Comments )  ( Comment on this )

05:15 pm

Wednesday, July 29th, 2009
Last weekend was pretty big. Friday was my brother Ben's wedding rehersal, Saturday was the wedding, Sunday was my other brother Jon's birthday!

I was a groomsman for the wedding, a nice easy job. Which was good for me since the last wedding I went to I think I was about 3 years old. Lots of people were there, there was a huge reception, tons of alcohol was flowing. And my brother is now married, with the ring and everything. Crazy!

I slept in until 3:30 on Sunday. That night, our family took Jon out for Japanese food for his birthday. There were some impressive thunderstorms, but we managed to avoid getting rained on. Then on the trip back home, several trees were down on the road. A few miles from home, nobody had electricity. And at home, a fallen tree was blocking the driveway!

That kind of deflated the general sense of happiness, as we chainsawed and moved enough debris out of the way to get the cars back in... to enjoy our house with no power or water for the rest of the night. Luckily, PECO managed to restore power in ~6 or 7 hours.

Yesterday, Jon and I finished clearing the driveway. We were actually pretty lucky, the tree didn't cause any damage on the way down. Also, an interesting fact: I had never used a chainsaw until yesterday. I only wish I could have seen the maniacal grin on my own face when I first revved it! >:D

And now there's more thunder outside.
Link )Comment on this )

12:59 am

Sunday, July 19th, 2009
Okay, I switched web servers! Hopefully everything in the archives made it over to the new kvance.com. From now on, I'm going to keep website updates on my site news instead of on this LJ. But you can still follow them at [info]kvdc_news on LJ, or my catch-all Multiblog.

Whew.

There's still so much more stuff I want to do to that website, but I'm relieved that I've finally made the switch and now I can redo my priorities again.
Link )5 Comments )  ( Comment on this )

03:43 pm

Tuesday, July 14th, 2009
I've slowly been adding the old content into my new website. I'd really like to go back and add more screenshots, but it's already taking so long. I have 34 projects in the old kvance.com archives, and I need to add a few new ones to get back up to date.

I have a lot of blank "license" fields for old stuff, which I've been doing my best to fill in. I'm releasing ancient stuff like AutoScroll and MegaHack into the public domain. I found the horrible C source code for AutoScroll, and I'll post the horrible source code for MegaHack if I can find it.

I had originally hoped to stick a Creative Commons license on the old MZX games in the archive, but I don't think it's possible. Even if I rounded up the old MZXers to get their permission, I'd never be able to clear the samples used in the game music. So I'm calling them "implicitly gratis" instead. Sorry lawyers and/or free culture people.

I can still put a CC BY-SA license on the ZZT games though... the ones that didn't have arrangements of copyrighted music anyway :P
Link )Comment on this )

12:23 am

Wednesday, July 8th, 2009
Thanks everyone for poking at my new site code! Especially thanks to [info]dariusk for finding the broken icons in the RSS feed, and honorable mention to [info]rspeed for attempted javascript injection in the user comments.

I'm not sure how long it'll take me to write all the text I have to write. Hopefully by the weekend. This has been interesting, especially the non-CSS parts, but I'm looking forward to spending my side project time on something that's more fun. I haven't forgotten about you, Corner Office!
Link )Comment on this )

09:53 am

New website test

Tuesday, July 7th, 2009

Finally finished writing the code for my website. If you have some time, please click around devg.kvance.com and let me know if anything is wrong in your browser. I've used at various points Firefox, Opera, Chromium, Safari, and IE8 to check it but not very thoroughly.

Things it does:

Especially try leaving comments, downloading files, and using the multiblog RSS feed. The content is all placeholders, and the devg site will be going away whenever I get the real content added.

Link )2 Comments )  ( Comment on this )