elehack.net

Michael's Blog

HTML is now really, really valid

Until tonight, our web site has been serving up XHTML content with the text/html MIME type. According to the XHTML spec, this is acceptable, but others strongly disagree. I find the arguments somewhat persuasive, particularly those related to the "HTML-compatible" XHTML profile not really being HTML-compatible.

So, tonight I finally crossed another task off my list and implemented the code to serve up appropriate content based on the HTTP Accept header sent by the browser. If the browser says it can accept application/xhtml+xml, then I send XHTML 1.0 Strict with the proper content type (even if the browser prefers HTML; this might be a mild HTTP violation, but I’m OK with that for now). If the browser does not claim to accept application/xhtml+xml, then it re-renders the page as HTML 4.01 and sends it as text/html. Since my server code passes data through the rendering pathway as XML trees, it was not too difficult to add a final post-processing step that converts an XML dom to an HTML dom using Nethtml and then rendering that to the browser.

Read more...

DVCS selection woes

I’ve been a convert to distributed version control, and in particular a user of Mercurial, for a few years now. I love Mercurial — its user interface is simple, the core concepts make sense, and it generally does an intelligent job of managing my programs (or config files, or homework assignments, or whatever).

I’ve tried to learn Git a few times, and even started converting to it some time last year, but go back to Mercurial for its user-facing simplicity. Internally, Git is simpler, but mapping use cases on to that simplicity is entirely exposed to the user. Mercurial’s UI is much more task-driven, such that there’s really one obvious way to do most useful things. I usually am able to keep my Mercurial repositories in somewhat sane states; Git’s failure mode seems to be leaving your branch refs in an incomprehensible state.

Read more...

Redmine

This week, I installed Redmine to provide ticket tracking and documentation services for our web site, computers, life in the apartment, and other things. So far, I’ve been rather pleased with it.

Redmine is an integrated project manager combining an issue/bug tracker, wiki, document manager, and source repository viewer aimed at managing software projects. It’s rather similar to (and probably heavily inspired by) Trac. I’ve long had an affinity for Trac, and in some ways like it better, but Trac does not support multiple projects. Redmine does. This is fairly crucial for us; it lets us have the web site, computing infrastructure, and apartment each as their own project with their own sets (and types) of trackers while allowing us to view all open tickets in a unified view. With stock Trac, we would need to check multiple instances to see all our open tasks.

Read more...

New blog engine rolling, comments re-enabled

At long (way too long) last, I’ve gone back to OCaml and completed enough of the re-re-re-re-rewrite that we can blog again. Comments now work too :).

If you want the gritty details, check out the colophon.

Read more...

Reflections for Sunday: With David in the School of Prayer

I love the prayer of King David in response to God’s word through Nathan that David would not be the one to build a temple (2 Samuel 7:18-29, 1 Chronicles 17:16-27). It tells us much about the nature of bold and proper prayer.

To set the stage, David’s kingdom has been largely established, the Ark of the Covenant has been sought out and brought back to prominence in Israelite worship, and David has built his palace. He looks and sees that the Ark is in a tent, and purposes to build a temple for God. Through the prophet Nathan, God tells him, in effect, “You want to build me a house? No, I will build you a house, and your descendant will build my house.” Both texts covering this event then give us David’s prayer of praise in response to the message he has received.

Read more...

Reflections for Sunday: Grace and Karma

Make what you will of U2, but Bono sometimes has some crystal-clear articulations of the Gospel and what it entails. In Bono in Conversation, he makes one of these, picked up by Gene Edward Veith and Vitamin Z:

Bono: You see, at the center of all religions is the idea of Karma. You know, what you put out comes back to you: an eye for an eye, a tooth for a tooth, or in physics—in physical laws—every action is met by an equal or an opposite one. It’s clear to me that Karma is at the very heart of the universe. I’m absolutely sure of it. And yet, along comes this idea called Grace to upend all that “as you reap, so you will sow” stuff. Grace defies reason and logic. Love interrupts, if you like, the consequences of your actions, which in my case is very good news indeed, because I’ve done a lot of stupid stuff.

Read more...

Reflections for Sunday: Thoughts on D.A. Carson's seminar

D.A. Carson is preaching at Bethlehem this week and next, and is giving a 14-session seminar over the two weekends (Friday night and Saturday) entitled The God Who Is There: Naming God in a Pluralistic World. Jennifer and I have been going, and so far it is quite good.

Some observations he has pointed us to thus far:

Read more...

Now on Twitter

Last weekend, Jennifer and I both joined Twitter. For my part, a large use case for it is sharing links and random thoughts that aren’t substantial enough to warrant a full blog post. Previously, these would likely be shared via my Jabber status, instant messgaes, and/or e-mail. Twitter will provide a platform where I can share interesting things I come across in a broadcast fashion.

What is Twitter?

Read more...

Perl 6 operator table

This is kinda cool and kinda scary. Why do we want Perl 6, again?

Reflections for Sunday: The Savior drenched in blood

I’d like to start the Sunday Reflections thing again, so I’ll throw out a meditation God, in His grace, blessed me with towards the end of last summer. I had been reading Isaiah and was towards the end of the book. I was feeling somewhat dry at this time, having read fairly cursorily, yet I felt that there was something for me to learn or see in the midst of alternating depictions of the wrath and mercy of God.

In this mind I sat one Sunday morning with my Bible open to the 63rd chapter of Isaiah, praying and reading and waiting for God to show me something. My meditations focused on the first few verses (1-4 ESV):

Read more...

Page 1 of 10 | Next >>>