Posted by Chris
Wed, 15 Nov 2006 16:02:10 GMT
I'm-a-thinkin' of discontinuing this blog in favor of posting my links to Blue Dot, as I've already been doing for a couple of weeks. So if you read this, please go to http://bluedot.us/users/masto (you can get an RSS feed there, too).
Also please consider signing up and sending me a friend request so you can dot interesting links and we can get the whole social aspect going.
Posted in meta | no comments
Posted by Chris
Mon, 24 Apr 2006 14:58:01 GMT
If:
- I know you personally
- You'd be willing to contribute interesting links to this blog
and
- You are not infected with bird flu
shoot me an e-mail.
Posted in meta | no comments | no trackbacks
Posted by Chris
Wed, 22 Feb 2006 03:41:46 GMT
Brighthouse Theme
Love this theme. I wish it'd been there before I went through the pain of converting my other blog's theme. Maybe I'll use it here, since this one is the default that comes with Typo.
Posted in meta | no comments
Posted by Chris
Sat, 10 Dec 2005 09:06:24 GMT
So when I tried to post the previous entry, I got a 500 error. I don't really know ruby, but there was at least a nice backtrace in the typo log. The operative bit:
RuntimeError (wrong dateTime.iso8601 format):
/lib/xmlrpc_fix.rb:9:in `dateTime'
/usr/local/lib/ruby/1.8/xmlrpc/parser.rb:538:in `tag_end'
It was also nice enough to log the incoming XML-RPC data. The operative bit of that:
{"name"=>"dateCreated",
"value"=>{"dateTime.iso8601"=>"20051210T08:28:40+0000"}}
Now, thanks to open source and all that jazz, I could pretty easily find this code, repeated here since it's short:
def self.dateTime(str)
if str =~ /^(-?\d\d\d\d)(\d\d)(\d\d)T(\d\d):(\d\d):(\d\d)Z?$/ then
a = [$1, $2, $3, $4, $5, $6].collect{|i| i.to_i}
XMLRPC::DateTime.new(*a)
else
raise "wrong dateTime.iso8601 format"
end
end
For what it's worth, this is overriding a method from ruby's own xmlrpc library, the version of which on my system being very similar but not accepting the final "Z" (for Zulu AKA GMT AKA UTC). That's not good enough, since MarsEdit has chosen to send the time zone, even though it's Zulu, as +0000.
But also on the web, I found this, and if you click on the "Source" bit of the dateTime method, you see a much longer and fancier function that attempts to actually handle ISO8601, including the format MarsEdit sends. There we see:
when /^(-?\d\d\d\d)-?(\d\d)-?(\d\d)T(\d\d):(\d\d):(\d\d)(?:Z|([+-])(\d\d):?(\d\d))?$/
a = [$1, $2, $3, $4, $5, $6].collect{|i| i.to_i}
if $7
ofs = $8.to_i*3600 + $9.to_i*60
ofs = -ofs if $7=='+'
utc = Time.utc(a.reverse) + ofs
a = [ utc.year, utc.month, utc.day, utc.hour, utc.min, utc.sec ]
end
XMLRPC::DateTime.new(*a)
Thinking that was what I needed, I updated the overridden method in Typo to use it. But alas:
TypeError (cannot convert Array into Integer):
/lib/xmlrpc_fix.rb:11:in `utc'
/lib/xmlrpc_fix.rb:11:in `dateTime'
What's the deal? A little research, and it turns out that in ruby you write *a to get the list of elements in a, rather than the Array itself. Don't ask me why it's written without the * in what appears to be official ruby library code -- my guess is that it's for a newer version of ruby where you can pass an Array to Time.utc. In any case, I tried:
utc = Time.utc(*a.reverse) + ofs
Behold, a new error!
ArgumentError (argument out of range):
/lib/xmlrpc_fix.rb:11:in `utc'
/lib/xmlrpc_fix.rb:11:in `dateTime'
Looking more closely, that a.reverse falls under suspicion. Time.utc seems to want (year, month, day, hour, min, sec), and that is in fact how it's coming out of the regex. So why reverse it? I haven't the foggiest clue! I took out the reverse:
utc = Time.utc(*a) + ofs
and voila! The post went through. I'm still totally stumped on how that could possibly ever work as written. Maybe some reader will help me out here. Of course, I only have the one reader (hi, Josh!), so maybe not.
Posted in software, meta | Tags bugs, ruby, typo | no comments
Posted by Chris
Wed, 30 Nov 2005 19:58:00 GMT
I have added my xmas list feed to the sidebar. Watch for exciting and/or wacky products that you can buy me.
Posted in xmas, meta | no comments
Posted by Chris
Tue, 29 Nov 2005 21:21:00 GMT
I have changed ye old blog engine to Typo. All the content is still here, but the old URLs are broken. Sorry about that. You can find the new RSS feed under "Syndicate" in the sidebar.
I haven't bothered to port my lame rip-off of someone else's theme, because there are probably much nicer themes out there. So I just picked one for now.
[Update: The "nature" theme was relatively pretty, but it had some pretty nasty CSS that broke simple things like unordered lists. So it's back to the default, since it at least works.]
Also, now there are comments and trackbacks. When the spam starts appearing, I'll have to see if there's something to stop it.
We now return to your regularly scheduled stale links.
Posted in meta | no comments
Posted by Chris
Fri, 30 Sep 2005 04:00:00 GMT
This is a link blog. That means I'll be posting links to things that I've most likely gotten from other blogs linking to things. So if you read a lot of the same places I do, you'll probably have seen them. Otherwise, if you follow along here, it will cut down on the number of times I have to say "did you see?" and you say "no" and I say "well, it's been going around the Internet."
Also, let me know if you would like to be an "editor". I.e. you find yourself sending me things and it would be easier to put them here.
Posted in meta | no comments