Brandon's Blog
6/3/2009 #
Efendi from Work... Thank Goodness
It turns out my illustrious DNS provider didn’t get the records updated last night, so www. was working but everything else was still pointing to TextDrive. That has since been fixed.
The site runs fairly slowly for me, but that’s not altogether unusual for here. If it’s running miserably slow for you, please let me know. Try out the new reCAPTCHA-guarded comments tool!
6/3/2009 #
Bug Fixes
Everything is working really well. Commenting behavior (at least the bug I noticed) has been solved.
I think I need to report errors higher up on the screen, but that’s more a template feature than a core engine issue.
6/2/2009 #
Meet the New Boss
Efendi is up and running on the VPS! This actually works.
Lighty gave me all kinds of trouble getting Efendi to work with FastCGI. So, I no longer support FastCGI! I ported the interface code over to Apache2’s mod_wsgi and am back running on the old gray mare of web servers.
To parrot what I have on the old site, there may be some breakage, especially with old linked files, Cluster (down pending a rewrite to Python/WSGI), etc. Drop me an e-mail if you see anything awful.
Oh, and the “list by tags” feature is not enabled in Efendi yet, so if you click a tag link you get a very alpha error screen. :)
Hello, Teddy!
6/1/2009 #
Encoding Wars
Efendi is actually at the roll-out milestone as of Saturday night, although it took me some more bashing on Sunday before I could convince myself it was actually there. Turkish lessons are tonight, but very soon I expect to tag a revision as an alpha deployment release and start a running instance on the new server. If all goes well I will remap the main antesonic.org address to the new server and pull out of gilford after an extensive backup.
The nadir of the Efendi coding process was certainly yesterday, as I spent several hours banging on character encodings. Python has great unicode support, but you kind of have to find it first, then understand it, then realize that it’s basic-intuitively backwards but complete-intuitively forwards.
Unicode is quite the animal. As English-speakers, we really don’t understand how bad the environment is for our friends speaking other languages. I’ve only seen a handful of Turkish people who actually touch-type because the keyboards are so messed up. But worse than that is the actual process of getting lingual characters to file and screen. As soon as you deviate from the easy standard (ASCII), it gets very hairy very quickly.
In any case, I had an issue that turned out to be a non-issue regarding getting normal text converted to Unicode and then into the new proper coding for the web (UTF-8). It turned out everything internal to the program was working properly, and that all I needed was a simple HTML tag (a meta tag) to signal that I was using UTF-8.
To make matters worse, it turns out cmd.exe is not unicode-aware, and thus sent me on many goose chases thinking there was a problem when actually the console was just lying to me. I can’t believe Windows XP doesn’t support unicode on the console.
Anyway, the debugging was so difficult I actually almost abandoned the project outright. But, doing a search for “python blog engine” is an inspiring activity!
On the upside, my work on import/export has gone swimmingly, and from work I have added the ability to export comments with TxP. That’s really great news, as I was afraid I would lose them in the transition. I have a delightful little import format, which should be easily portable to just about any blog engine ever made. I am prepared to support LiveJournal with Meta’s help, and I think together we can grok enough Perl to make it happen in Python.
5/26/2009 #
Networking, Ugh
Blogs make sure that bad ideas die quickly. When I’m bored, I often think of large, lofty, mostly impossible projects to undertake. If I didn’t have a blog, I might actually start some of these. But, I tell myself, “If it’s such a good idea you could at least bust a blog article out about it.” Many of these never make it here for your review, meaning I save time by wasting time.
I’m in such a holding pattern today that I’ve brought stuff down from the “Friday” queue on my to-do list to take care of today. And Wednesday is currently empty! And in the meantime, I started browsing the “New” feed on Reddit because the front page wasn’t changing fast enough (I know).
I read a mediocre article on networking, and I realized exactly how hard it is to get into networking and attain some level of understanding.
I mean, you have the wackiness that is DNS constantly fouling up constantly by way of your incompetent ISP. Registering a domain name feels like buying a Rolex off the inside of a shady guy’s coat. And then you get to find out about A records, TXT records, MX records, CNAMEs, whatever. If your new domain registrar gives you the freedom to look at them. What a mess.
Then you get to local networks, Windows networking, SMB/Samba/“Windows File and Printer Sharing.” And the magical randomness of auto-configured IP addresses, and the understanding needed to configure one manually.
And don’t forget that this is all wrapped over by maybe two decades’ worth of abstraction and obfuscation to make it all “easy.” Apple hands you a crystal ball that works most of the time. Windows hands you a Magic 8 Ball that always comes out with “The network is currently unavailable. Try again later.” Linux says brandon:~ $
.
My original method (c. 1999) for debugging networks was to refresh the “Workgroup Computers” screen in Windows. I think equipment has actually been taken back to the store because this failed to work (the network was likely operational the whole time). I remember a specific print server that consumed a weekend.
Anyway, personal findings from all of this thinking:
- You almost have to administer at least a shared host server to really understand DNS configuration for a domain.
- The only really good way to debug a network is with pings, telnet, ifconfig/ipconfig/netstat/tracert/etc. Maybe even a packet sniffer if you’re desperate.
- DHCP implementations would be much better if retail router/WAP devices allowed an easy way to register devices so they get fixed IP addresses automatically.
- File and Printer Sharing was a horrid implementation mistake. It skews most peoples’ understanding of networks via the “workgroup” concept, which is not really rooted in any useful sense of realism.
- We all depend on networking far too much for so few people to understand it.
- The only thing worse than having a network problem because of a crossover/patch cable confusion is having half your devices correct for this in hardware and the other half fail to correct for it.
- Network printing should have standardized around the JetDirect protocol. Patents, maybe?
- It is really complicated to direct-connect two computers into a LAN. I hear Firewire networking makes this easy, if you have Firewire on both sides and the correct cable to accommodate both sides. Easy.
5/25/2009 #
Monday Morning
As a matter of policy, I don’t get into a lot of details about work. But Friday was pretty rough. Things are better now.
So good, in fact, that there is some free time while I’m waiting for a few things to solidify. I’m using this time to build C# awareness, as it’s about time I got familiar with the golden-haired boy of Microsoft’s modern programming platform.
Every now and then I really want to bust out a Windows-only utility for something, especially when it requires some corner of the Windows API, and Python kind of shuts down there.
I am especially interested in harnessing the MTP support available via WMP 11 to get some song statistics off MP3 players. Having just deleted my last.fm account yesterday following new swirling privacy concerns with respect to the RIAA, I imagine this would be done locally.
I should have foreseen that libre.fm would be kind of political about promoting free music, and that’s not really what I wanted anyway.
In fact, I don’t even know if this stuff matters to me at all, but it would be a good way to play with the language without even having to start a new full-out project.
The real effort needs to be going toward finishing Efendi, and that’s definitely not going to change.
5/25/2009 #
Free and Easy
I’ve had Crosby, Stills, Nash, and Young’s “Wooden Ships” stuck in my head for about a week now. That’s pretty painful. I’ve made several attempts to replace it; I’m hoping Stephen Speaks will finally win (there’s something tonally similar with “Weather” and “Wooden Ships,” so here’s hoping).
The Black Sea was a lot of fun. It’s still off-season despite the very acceptable weather, so things were cheap and places were largely empty. They can grill up a pretty nice sea bass (deniz levrek) here. It’s bones-in, though (and head-attached for that matter), so good luck with that. Crunch.
We saw a Roman castle on the way home that I couldn’t even make a guess to date.
We have been inaugurated into the realm of the dolmuş (shared taxi) as of our return from Kilyos. This one was actually a mini-bus, and you can pretty much line that up with any pictures of little dusty buses buzzing through India you might have seen. A 3 TL two-person mini-bus ride was equivalent to a 20 TL cab ride on the way there. This is how the locals get it done on a day-to-day basis.
5/22/2009 #
Task Tool
The more I use the custom task template I developed, the more I believe in it as a near-optimal tool for me to plan time. I should put a blank copy up somewhere so others can try it out and comment. It has four categories: TODAY (things I am planning on doing today), UPCOMING (along with the target completion time, things that don’t have to happen today but will need to happen soon), LOWER PRIORITY (things that could happen just about any time but are not schedule breakers or critical), and DEFER OR DELAYED (things that would be in LOWER PRIORITY except that it isn’t really feasible to work on them now).
I use a shift+drag in Excel to move the tasks from column to column, ideally always leftward toward TODAY. Then the macro gadgets start. I can press Ctrl+Shift+C to “complete” a task, and Ctrl+Shift+P to “progress” a task. There is a second sheet that records the task and date whenever either of these two combinations is pressed (a “complete” logs the task and date and deletes the task from the big list, a “progress” logs the date and task with (P) appended and does not remove the task from the big list).
As a tertiary tool, I have a PivotTable that runs basic daily statistics on the workload (measured in number of tasks, which has to be interpreted specially on days with one thing that takes all day). This transfers over to a line graph to find patterns in the spikes and troughs.
This is not a day timer. It’s pretty much a tool so when you get off the phone, or finish an e-mail, and say “Now what?” you have an immediate answer. Works fine for me.
5/22/2009 #
Leisure Time
We might make it out to the Black Sea this weekend if we can firm up some kind of hotel arrangement. Things get a little folksy as you leave the metro area. Incidentally, Amsterdam seems to be the same way inside its metro. That is one very different city (we’re going in late June for a week-long training class).
We finished Seiken Densetsu 3 (would have been Secret of Mana 2 if it had been released in the US), and I have to say I’ve never had such a mood swing during an RPG. I really liked it at first, but by the end I was really bitter and cynical. It think it got a little too SquareSoft-ie on me, with the random unavoidable deaths and erratic difficulty level. The plot also sucked: the Mana Sword is in my heart? The Mana Sword’s purpose is to help me stab it into other people’s hearts. And why were we enabling evil the whole time?
We have a few other co-op games in the ZSNES queue (and still need to finish Champions of Norrath again on the PS2). We may play Chrono Trigger next; despite it not being a co-op game, it’s so beautiful it is pretty fun to just watch.
I won an eBay auction for the sequel to Norrath as well as the first Baldur’s Gate game for PS2. We can port our Norrath players over to the sequel, which might be fun. Or not. We’ll see. To save an e-mail: they’re coming to Prince George.
Oh, our little dysfunctional supply chain…
5/22/2009 #
Laptops and Stuff
The laptop is once again re-done. I learned my lesson about resizing partitions on a computer that very much likes and needs its virtual memory. It’s running much better. I still get random DNS errors, but I think I was just spoiled to running a caching DNS server from home for so long.
On that subject, I am more and more convinced that running a consumer router with Tomato or some other alternative firmware is the best route to go for home network infrastructure. A caching DNS server on the LAN improves reliability so much as opposed to using the goofball ISP DNS servers. It also gives you the opportunity to slipstream local network names for fixed IPs so you can call your computers by name without using NetBIOS.
And on that subject, watching a Samba NetBIOS log is like reading a Senate transcript. The protocol provides for literally having elections between the computers to decide who will be the authority on the domain.
I can’t bring myself to replace the Sony right before Windows 7 comes out. I would rather ride the SP0 rollercoaster than purchase a license of Vista in mid-2009.
> Newer Posts
< Older Posts