Friday, December 22, 2006

Journey with a camera

Two things have happened recently: I just returned from a trip from Portland and Seattle, and I've discovered flickr. Naturally, I took many many photos on the trip. Only a few of them have actually been uploaded.

It really is amazing how photography has changed. I'm a casual photographer. With film, I would have taken the photographs, and that would have been it. They would have been as my camera had taken them, as the film lab had returned them. The colors would be bad, the photos crooked, and I would never even have realized I've taken a bad photograph.

Enter the digital age. On flickr I can see many, many examples of composition. I can see how mistakes can be turned into something wonderful. I have an instant museum at my fingertips. (OK, so the photographs aren't all that good, but even the worst photographers seem to take good shots every once in awhile.) After I take a photograph with my digital camera, I don't have to fiddle with any chemicals to correct it. I have a piece of software, which cost $70 and never a penny more, that makes most common corrections I would care to make. No chemicals required. Sure, I could do better with Photoshop, which costs ten times as much, but it isn't necessary to what I want to do: turn a slightly bad photograph into a decent one. And even Photoshop is a fixed cost. Unless you choose to get upgrades.

I don't think I've appreciated until now just how powerful a social network can be, even one with which you aren't really communicating. Now I'm wondering if I should look into switching over from Picasa to flickr.

Wednesday, December 20, 2006

The formalness of semantic representations

The more I think about it, the more obvious it becomes that wikis have been successful precisely because they appear to be simple to write. Eventually when the wiki becomes large enough, the guidelines become sufficiently tedious that anything you write won't be acceptable on the first pass. The appearance of simplicity remains though, because the mechanics of the process are straightforward. That's what I see in wikipedia.

Now, if we apply this principle to semantic wikis, it is essential that they retain the appearance of simplicity, even if they become complex beasts. It is far easier for complexity to appear when authoring semantics, because of the number and nature of links that appear between concepts. It will take a correspondingly longer time for hand-authored semantic content to become coherent, consistent and complete. However, making it simple to author semantic content, even incoherent semantic content, is essential if the wiki is going to retain its contributors.

Tuesday, December 19, 2006

Semantic wikis and reason

Here we are back at the eternal question about semantic wikis: what good are semantic wikis? So far, the only real use of semantic wikis is in semantic media wiki, where semantics are being used for simple search and retrieval. Organization, not inference. And I want to do inference.

Let's start with a somewhat simple description of inference. You apply resolution or some other theorem proving technique to a knowledge base, and thus determine whether the fact is true given the knowledge in the KB. The KB must be consistent for this to work in the simplest case. Then there is the question of whether we can accomplish this tractably. The right knowledge in the KB must be brought to bear while answering the question. So, given a high quality knowledge base, we can produce precise answers to questions using a generally mechanical mathematical procedure.

I don't think reality is so kind to us. Building a knowledge base is a difficult endeavor. Wikis are a convenient way of collaboratively authoring texts, even high quality texts as some of the content on wikipedia may demonstrate. However, authoring knowledge using wiki principles seems to be much harder. I cannot see how we might produce a high quality knowledge base, as would be required for applying reasoning and inference procedures.

There are basically two kinds of KB quality issues I worry about: inconsistency and incompleteness. Inconsistency is when you can prove a contradiction in your KB. Incompleteness is when you cannot make the unique names assumption, that is, when there can exist multiple names in a KB for the same underlying concepts. In the case of a wiki, this would mean having multiple URIs, multiple documents, for the same concept.

I'm still reading up on this. I need to do a mini-project to see just how much of a problem inconsistency and incompleteness prove to be. Inconsistency has been tackled in the past, it is a problem that's always been present in AI systems. Incompleteness has always been present too, but the semantic web I think makes it much more prevalent. I obviously can't get any clarity on this issue without running some experiments.

Monday, December 11, 2006

Computer playing game as screensaver

This is great, having the computer play Angband for a screensaver! And it runs on Windows! Guess what I'm just about to download... I'm excited, and I've never even played or appreciated Angband-like games in my life.

Sunday, December 10, 2006

Using hunchentoot, clsql

I'm starting on a project to build an app server that manages persistence and generation on top of an existing HTTP server. There are of course many other things one would like in an app server, such as session management, but I'll let that be for now. I just want to get the data flow working at present.

For the web server I've chosen Hunchentoot, though I have yet to use it any substantial way. I might change my mind yet. clsql + postgres are going to give me my back-end. Using clsql should give me substantial database independence, though. The intermediate data structures I plan to define as CLOS objects that can be translated to the database, XML, from requests, etc. This role will be partially filled by my own HAXL, which is still in its infancy.

No telling if this is going to work. Either way, I'm certain to learn a lot.

Friday, December 8, 2006

HAXL defined

I have just finished defining a project HAXL to manipulate XML documents. I've written a couple of items already about manipulating XML, and the use of XPath. HAXL gathers that code. Over time I'll also implement data interchange between XML and CLOS. I don't yet know the form that will take, though I do have some ideas.

Tuesday, December 5, 2006

Reddit switches to python

Yes, I know, old news, Reddit switched to python an year ago, and there's even a whole c.l.l. thread on the topic. But I haven't read much about it, and find that I'm writing stuff that essentially adds no value: implementing a poor wiki when I could have an open source one that has been battle tested. There is functionality I need that the current crop of wikis don't provide so well, so there is genuinely a need for adding functionality. But that doesn't mean I should be writing a wiki in lisp. Even if it means I get to have fun hacking up new ways of manipulating XML.

Certainly, there are many tools currently missing from the common lisp world for building applications. I want to write some of them. But to fail to develop an idea because I have spent time writing tools is irresponsible. There's only one reasonable way I can see going forward: to do both.

While trying to write my application, I approached a colleague who appreciates the power of Lisp but at the same time has a healthy skepticism for how much a single programmer might produce alone. There are things that Lisp does well, and there are things at which it is presently rather poor. We have to catch up in spheres where Lisp is relatively poor: the web application frameworks need to be richer and more powerful. And there are some things we can do that truly play on the strengths of lisp. His suggestion was to write a javascript engine in lisp for the server side. There are lots of projects that try to implement lisp in language X. How about the reverse? There is a lot of stuff being written in Javascript because of the convenience of doing so, even on the server side. Because of its dynamic nature, Lisp could make a killer javascript engine.

Monday, December 4, 2006

Finding my way around clsql

I recently decided for my project that I need to learn to use a relational database through lisp. I haven't used relational databases much. And certainly not through lisp. So I picked up PostgreSQL for windows, installed it on my laptop, and used asdf-install to fetch clsql. With only a blog post as a guide, I started down this adventure.

clsql provides are two different protocols for PostgreSQL: a socket protocol, and an FFI based protocol through the C library. I first tried the FFI based protocol. I could not get clsql_uffi.dll to load, try as I might, on ACL 8. It once magically seemed to work, but then I was thwarted in my attempts to link to pq.dll.

There is nothing in the documentation that describes the difference between the socket and FFI protocols, other than saying that one requires the dll, and the socket one does not. So I'm using the socket protocol, albeit with reservations. My previous experience with socket protocols is that they work fine in general, but tend to leave out goodies like caching. I don't know if there is a hidden gotcha with PostgreSQL, but then I'm not working on anything remotely close to a production system.

All I can say for now is, so far so good. All I want to have is a persistent data store. I might even have been able to roll my own. But I felt I needed to get my hands dirty with a database.

Tuesday, November 21, 2006

More XPath and XML in Lisp

I've started playing with XML again in lisp, this time to support a timeline wiki. Eventually with semantics. This idea will take a little while to fully germinate. In the meantime, I've been extending my mini-XPath implementation. I was able to implement an expansion to pick out the children of a node with a particular filler for the class attribute:

(child * [ (attribute "class") = "preceding-event" ] )

Yeah, it's still pretty simple, and it doesn't start with the compact syntax, but you have to start somewhere, right?

I also implemented a set of macros for manipulating an XML document by replicating a section of the document as a template:

(with-xml-template (:node xml)
(do-events (e)
(with-xml-template (:class "preceding-event")
(dolist (pe (event-preceding-events e))
(fill-template (event-name pe))))
(with-xml (:class "event")
(with-xml (:class "event-start-time")
(fill-template (event-start-time e)))
(with-xml (:class "event-name")
(fill-template (event-name e)))
(with-xml (:class "event-end-time")
(fill-template (event-end-time e))))
(with-xml-template (:class "succeeding-event")
(dolist (se (event-succeeding-events e))
(fill-template (event-name se))))))

And some sample XML from this little hack:

<div class="events-list">

<div class="event-data">

<p class="event">
<span class="event-start-time">3373112514</span>
<span class="event-name">event2</span>
<span class="event-end-time">3373114514</span>
<p class="succeeding-event">event1</p>

</div><div class="event-data">
<p class="preceding-event">event2</p>
<p class="event">
<span class="event-start-time">3373114514</span>
<span class="event-name">event1</span>
<span class="event-end-time">3373119514</span>

<p class="succeeding-event">event4</p>

Again, not particularly fancy, but this simple hack gives me a lot of flexibility in how I assemble my XML document, without having to worry about how changes will impact my lisp code. Lisp is good for hacking structures, yet I don't find little tools like these all that easily. There isn't yet a standard DOM API defined for Lisp, the way there is for Java. I don't see what's keeping us from this. CXML has a full set of objects and generic functions corresponding to the DOM2 API. Why isn't this API available for reuse, independent of the parser?

Monday, October 30, 2006

New camera! New camera!

I recently got myself a new digital camera, the canon 30D. I've wanted an SLR for some time now. I've played with it only a little bit, and am very impressed with it. Now all I have to do is to learn to compose decent photographs. Especially of people. I think my notion of cool always has gotten in the way of that.

Saturday, October 28, 2006

Not a very good blogger, am I?

I went to DC on a vacation and didn't say anything about it. I did upload a few photographs though... I think I'll just make this post about DC, instead of throwing in everything possible. I was there for the AAAI fall symposium, my wife joined me there, and then we stayed over a couple of extra days. DC is a very nice looking city. It reminded me of some of the neighborhoods in Chicago. We stayed at the Hotel Rouge, a very funky place with an emphasis on red, near the Du Pont Circle. We were very happy with the place, minus an incident right as we were leaving: we got locked out of our room because of a lock malfunction. We walked out to Georgetown, where we ate at an Indian restaurant, Aditi. The food was pretty good, but the service was about as bad as you can get. Avoid the wine. The highlight was of course The Mall, we spent an entire day in the area. Most of it was in the National Gallery. It's an immense museum, I think we were only able to cover only two-thirds of it, in a bit of a rush. It had been ages since we'd been to the east coast. Now to see if I can get to Boston on some other conference or some such...

Friday, September 22, 2006

So I now have the Picasa Beta

Which means I can now post photographs more easily! Here's a sample from my London trip earlier this year. More to come! Picasa 2.5 is definitely an improvement in how it links up to other Google services. And it is at least as usable as the previous version. Posted by Picasa

Monday, September 18, 2006

Reading Notes on Postmodern Programming, finally

I've had Notes on Postmodern Programming by Noble and Biddle sitting on my laptop for a couple of years now. And I'm finally reading it. Makes for a very interesting read, and is able to articulate some things I've intuitively felt. However, I'm a bit surprised at their classification of Common Lisp as a modern (rather than post-modern) programming language. Is there really a grand nerrative running through Common Lisp? I can think of two features: the list and the lambda. But, stealing ideas from the paper, I would argue that Common Lisp is post-modern, and incorporates ideas from earlier Lisps, which were (more) modern. Lists and Lambda's both live in a world that includes reader macros and macros that have the ability to change the look of the language. Then there's CLOS, streams, lexical and dynamic scoping... All these features for me add up to a language without a single unifying idea, and therefore capable of expressing a wide variety of them.

Thursday, September 7, 2006


My Meta-Circular Pattern Matcher now has a home on my web site. I think this is one of the coolest pieces of software I've written. I've also just finished updating its test suite to use FReT, in the process finding bugs in both MCPat and FReT. Eating your own dog food can be quite satisfying!

Tuesday, August 15, 2006

XPath - bigger and better?

I recently started looking at XPath again, as a convenient way of manipulating XML documents programmatically. Natually, I needed a lisp implementation on top of the framework that cxml provides. And not finding any obvious candidates, I started rolling my own, starting with something really simple, with a lispy syntax. And to come up with the lispy syntax, I stared to refer to the XPath documents at And that's when the fun began. My, how XPath has grown! Don't get me wrong, some of the things in there seem to be fine ideas, like unifying XPath with XQuery and coming up with some formal semantics. But the reference material right now is unreadable.

So I'm starting with a syntax inspired by XPath 1.0, hoping that the semantics haven't changed drastically since then:

(expand-path '(child "xhtml:div" / child "xhtml:p")) ->

Naturally, some more work is still needed to actually apply these fragments to an XML document.

Wednesday, August 2, 2006

XML tools for lisp

I've been trying to find a good set of tools for manipulating XML/SVG in common lisp. There are a bunch out there, but as should be expected many of them are near unusable. After eliminating those that I considered to be obviously poor choices due to their syntax, or their license, I was left with XMLisp and cxml. In the process I also learned a great deal about asdf and asdf-install. It's odd that in spite of having used lisp for such a long time, I haven't really had a chance to work with these pieces of code that the lisp community has put together.

First the XML tools. XMLisp is a fascinating idea, to be able to turn expressions typed on the REPL into CLOS objects, and vice versa. However cool the idea, there are many things I found wrong with this approach. There isn't enough documentation. A set of examples is not a clear specification of the program's behavior, which is all that comes with XMLisp. It isn't clear how content and attributes are distinguished. I considered how something like XHTML would be manipulated in XMLisp. It appears one would have to encode every tag manually as a class. This is an error prone operation, and a maintenance nightmare. Finally, there's namespaces. It isn't clear if XMLisp handles them correctly.

cxml by comparison is well designed. It handles namespaces correctly. It creates a DOM tree for a document, or can function as a SAX parser. The documentation is better, though still feels a bit inadequate. I haven't actually tried doing any real work with it, so I can't say with any certainty. The documentation also indicates an awareness of DTD's. Tonight I hope to take some time to see if I can manipulate XML documents thruogh cxml. Finally, cxml is available through asdf-install.

As I've already mentioned, asdf and asdf-install are relatively new beasts to me. I have been largely working with ACL and ACL specific tools so far. They tend to be good, but I have had some issues with them. asdf-install is so far straightforward to use, even with gpg. There are a few loose ends, but not asdf-install's fault: broken gpg key access, etc. Installation of packages is one thing, their management is another, though, and the latter can't be known until I have worked with asdf-install for a little while.

Wednesday, July 5, 2006

Computer game critical analysis

I started thinking yesterday about the critical analysis (in the literary sense) of computer games. After all, games can be a vehicle for telling stories and conveying ideas, eliciting physical and emotional responses. So they should be open to the type of analysis applied to literature. A quick google search brought up the following:

A review of Kuma:War.
The Art of Computer Game Design, though I think this might have been put online accidentally.
An Esquire article, lamenting the lack of game criticism.
An academic paper, Computer Game Criticism: A Method for Computer Game Analysis, by Lars Konzack, that attempts such criticism., a blog.
A one day conference announcement.

So there is something to my thought, hope I can make some time to read up on all this.

Tuesday, July 4, 2006

Dubai: Same country, different place

On to Dubai, the biggest city in the UAE. And the best. Dubai has been growing at a frenetic pace. There are buildings coming up everywhere, including buildings being developed on man made islands in the shape of a palm... the tallest building in the world... buildings of every shape possible. It's hard to imagine that this sort of development can be sustained. But it's worth going there just to see how things are going. Speaking of going there, they are also building a six runway airport.

This is my own photograph of the Burj Al Arab hotel. I don't usually find buildings all that attractive.

This is the beach next to the hotel. It is not a picture of bikini clad beach bathers.

Next to the Burj Al Arab is another hotel with an attached mall. They have tried to create a sort of an Arab Venice. The canals are of course decorative. The construction is very tasteful. Being there felt very pleasant.

Me in a mall in Dubai watching a world cup game. The screen was huge, the crowd was large, and we had front row seats.

Abu Dhabi Wrapup

A long overdue wrapup of my last vacation. Expect two more posts after this.

This photographs are of the Abu Dhabi Marina Mall, and its surroundings. The mall is built on what used to be just water when I had first arrived in Abu Dhabi. A breakwater was extended shortly after, and that's how it remained for a long while. Eventually a road was built on the breakwater. They then put up a few gardens, and that's when I left. Now when I returned there was this huge mall, housing, etc. on the way. All this happened in about five years time, eclipsing the twenty years that I had known before then.

This photograph is through the mall's glass roof under a (presumably observation) tower, obviously still under construction.

This is a little soccer court (properly called football) inside the mall.

A good view of the Abu Dhabi skyline.

The brand new Emirates Palace Hotel.

Tuesday, June 20, 2006

Blogging problems

OK, so I found a few problems with what I had been doing:
  1. The pictures I'm putting on the blog are too large.
  2. Picassa only puts on four pictures at a time.
  3. There is no way to set the default template for uploaded pictures.
  4. When publishing to an FTP server, edits aren't correctly saved.
There are ways of working around all these of course. It's just more of a pain.

Abu Dhabi Corniche

The Abu Dhabi corniche is a seafront park that runs along the side of the city that faces the Persian Gulf. That used to be an accurate description, but it has slowly changed as more and more of the coast has been filled in to make more room for the city. This work, done at enormous expense, does not go toward any actual economic activity, but toward leisure and pleasure. I haven't ever come across anything like this. I can't imagine any other country spending money this way.

I took these photographs on June 17th, which happens to be a day heading into peak summer. The day was relatively dry and clear, a situation that changes rapidly as June comes to a close.

This is where I had gotten off the taxi. The corniche, as I remember it when I first arrived in Abu Dhabi, had a few buildings, a few villas, a small grassy area, a path along the sea. It was simple. Now it has become an immense undertaking, a garden like one in any country with plenty of water, lined with a wall of buildings. It had changed a lot while I had been living here, but the change since 1999 (the last time I was in Abu Dhabi) is amazing.

Stepping a bit toward the sea, we have a fountain. And green, springy grass.

I could take endless pictures of the corniche and fail to communicate what Abu Dhabi has created. Here's a last one of the city's view from the corniche, showing a bit of the garden.

A shot of the water. Amazing how clear it is. Just like a desert.

A longer view of the water, with a view of the breakwater. This used to be a simple breakwater, some structure in the water, to keep the waves at bay. Now there's a mall and housing going up there. More photographs of that another time.

Here's a view of a pedenstrian subway. The tilework is amazing. All the tiles seem to have been individually glazed. Not painted. All the pedestrian walkways seem to have been done this way.

Saturday, June 17, 2006

The homes my parents have had

So I thought I'd put together a series on the homes I've lived in and visited in Abu Dhabi. Here's a little photo journey. I'm actually fortunate to be able to put this together. Many buildings in Abu Dhabi have changed rather drastically.

Here's the first. This building was amazing back in the day. It was one of the few in Abu Dhabi with central air conditioning, practically a necessity out here. We had inherited it from an English family. We thought them a bit stiff when they had visited us. I was.... nine? I don't even remember how many bedrooms it had. Three, I think. Of the interior I remember nothing, save that it came with two thick rugs made of the skin of some animal. My brother still has them.

It is a bit of a miracle the building's still standing. There was an empty space in front of the building when we had first moved in, and the one to the left was much shorter. This all changed while we were still living there. I remember seeing the one in front (with the KFC sign) come up.

The second and third apartments were in the building in the center. Once again, this building dwarfed the other two on either side. The first place was a three-bedroomer on the tenth floor. My father got promoted, and we moved up to the fifteenth floor, the penthouse. That was the first time I got my own bedroom. The view from the building was nice. (It's no longer there, more on that matter in another post.) We had a view of the Marina (a sports and social club) and a bit of water. That was where we were living when I came to the US to study. It was around the time of the first Gulf War. I saw US ships in port from my home.

While living in the penthouse, we saw the building on the left grow up from a two story deal. The building on the right was replaced after we had moved out.

This is I believe the last building my parents had occupied before his brief stint in Dubai. (Unfortunately I didn't visit while they were in Dubai, a much more happening city than Abu Dhabi.) When my parents had moved in, the building was new, the apartment was huge (four bedrooms, a huge living room, a dining room, a lobby). I think I visited there twice.

After returning from Dubai, my parents moved into this building. It apparently has been here a long time, though I can't remember. Again, the place is huge. I have emphasized the hugeness of the third and fourth place because my parents now live by themselves. Four bedrooms for two people seems a bit excessive to me. Maybe I'll change my mind as I get where they are.

What doesn't come through here is that all these buildings are in a two block area. You could visit all four in about a fifteen minute walk.

Monday, June 12, 2006

City changed

I'm finally ready to write something more substantial about Abu Dhabi, after having been here for a few days, getting my visa papers straightened out, and taking care of a tooth that started acting up right after I had arrived.

I tried thinking back to when I had first arrived here as a child. I knew only a small part of this small city. There were slums here. Not poor slums. Rather, houses in the middle of the city that looked like shacks, complete with corrugated sheets. Only that there was this one I had spotted with a Rolls out front. All that is now gone.

Near where we lived, there was a sandy open space. It wasn't quite a playground, but it had become one. We used to play football (not the American kind), cricket, whatever else we could. That playground sprouted buildings before I had left for the US. Now those buildings look rather old and run down.

The housing market here has always struck me as odd, but I think that's a reflection of the overall economy. Buildings are put, or rather squeezed into improbable corners and spaces. There is little consideration given to, say, planning or quality of life. Having a car is practically a necessity, and parking is impossible. Housing is priced at levels that are unaffordable. But that's OK, because it's paid for by employers anyway. At least if you've got a job worth having. Now they've started trying to sell properties here too. An apartment costs here as much as it would in Chicago. I'm not sure why I'd pick this place over Chicago.

Luxury is expensive. Coffee (as in coffee shops one finds in practically any major US city) is a luxury. So coffee is expensive. Take a trip to a mall, spot a coffee shop. Say a Starbucks, or a Seattle's Best. Instead of going up to a counter and getting something quick, you sit down at a table. You get table service. You pay twice as much for a regular coffee as you would in the US. Spend some time there, relax, only the relatively well off will be found at such an establishment. Having a coffee is partaking is something special and excusive.

Abu Dhabi is overrun with concrete and steel and glass construction. It is a place that fantasizes of Manhattan, reminds me most of the Gulf coast of Florida. It is an improbable city, supported by oil and gas. I was out this morning for a walk, and started thinking about how this city could possibly be sustained without that oil money. I had visions of all the greens turning to desert, all the buildings becoming run down and dusty. It seems unlikely that the economy can be transformed to be sustained without oil, and support everything they have built here. I hope this is more than a temporary dream in the desert.

Speaking of taking a walk, doing so is rather difficult for any extended period. The temperature during the day seems to hit 100 F quite regularly. I want to start running here again, the only time to do so seems to be before the sun comes up. Before 6am. I've never been one to get up that early. I'm right now riding on my jet lag. As expected, there were many others out taking their morning walk. The sun wasn't yet up, the air was heavy with humidity and still far from cool. It all felt very familiar. Only that the path I was walking on had been water the last time I had visited Abu Dhabi.

Friday, June 9, 2006

Back in Abu Dhabi

I'm presently on vacation, suffering from 12 hours of jet lag. I got here yesterday, today I go to the US Embassy. My visa needs to be renewed. Always seems like a dangerous endeavor: they could refuse. Esepcially since I'm not getting it done in India. There are a lot more thoughts I could put down about this place, but that will be after I've recovered my orientation.

Tuesday, May 30, 2006

XMen 3 mini-review

Went to see XMen 3 on Monday. They killed off too many major characters, and didn't do enough to introduce the new ones. A decent movie by summer movie standards, but nowhere near as good as the first one.

Skip the food

My wife, her brother-in-law and I went to the Caledonia Street Fair in Sausalito over the long weekend, on Sunday. Of particular interest to us was the Taste of Sausalito, which boasted ten local chefs and five wine tastes, for a bargain price of $35. The price seemed far from a bargain when we got two one inch square pieces of Chicken Tandoori from Gaylord. Lukewarm. It's sad when you have to hunt for scraps after spending $35 per person. The wine we coldn't complain about, it would have been a much better event had we elected the $20 unlimited wine tasting.

Thursday, May 18, 2006

Blogs getting closer

So I've got my blogs in respectable shape. But now I'm realizing that to do things right I'll have to undertake some radical reorganization. I want two different sites, once for home and one for projects, the latter being Fours and Fives, and the former Doing so will require changing DNS settings, setting up apache virtual servers, moving content around the filesystem... In short, more time than I right now have to spare. I'll let this slide until I have the server's failing drive addressed, and my desktop fully set up. Today I've finally managed to get it to where I can program on it. Woohoo!

Setup still incomplete

Working on setting up my home machine, my web site, etc, etc. Gaim and Norton Internet Security aren't playing well. Gaim is able to connect to AOL, but not yahoo, when norton internet security is up. The colors on my new flatscreen weren't looking right, so I had to adjust my stylesheet. The differences had previously been too subtle anyway, so perhaps this is a good thing. My blogs are now on my home page, but not the other way around. Lots still to go to make the whole environment work correctly... And not enough time.

Wednesday, May 17, 2006

First post

(defun hello () "world")

Setting up sftp

So, how do I set up sftp from to my own web server? I'll run a little experiment with a new blog I'll now create, 4-lisp. I have my own web server, now the trick is to turn it into my own blog server for 4-lisp.

Step 1: Set up the ssh ports on the server. I'm running sshd on a custom port. My router receives a request on the custom port, and forwards it to my server on the standard port. Now I create an inverse mapping: the router receives a request on the standard port, and forwards it to my server on a custom port. I manage traffic coming on the standard port using the server's firewall.

Step 2: Set up the sftp server. This is a no brainer, as there's an sftp server already running. We must create the necessary paths in the server, and set up permissions.

Step 3: Register the sftp server with blogger .com. The entire process turned out to be quite painless.

See the blog here.

sshd applies same options to all ports?

I've discovered an unfortunate detail about sshd, it does't seem to support independent options for the ports it is listening on. I use a custom ssh port on my server, which blogger doesn't support, and don't want to open the standard port. I think I'll be combining the standard port with a firewall to ensure blogger is the only one sending content to my server through sftp.

My First Post

Testing out the blogger service. I'll have more to say once I have figured out how to get this thing working.