Ted has an interesting idea about utilizing Subversion and a client-side cache to deal with being offline and having to synchronize with a server.
And they really should listen to it...
i want the cubs to be scary.i dont have a lot of time.
now is the only time.
tribune corp would delay the daily paper a day, if they could, to save a buck.
sign aaron boone so i have to pray words of thanks a little longer tonight.
im sick of feeling like havana. gorgeous and pure but missing something
and stuck in a commie time where you cant win cuz youre barely playing and the best thing you have is booze and smokes and wonderful people who have convinced themselves that where theyre at is fine.
where im at is fine.
but where i want to be is finer.
as fine as an aaron boone homer in october at wrigley with sammy on deck.
Shelley Powers is seemingly everywhere right now. She has an article on XML.com, an O'Reilly book just published and a companion weblog for the book. All of it deals with RDF. Definitely some interesting stuff here.
In fact, you can grab one sample chapter from the book. It deals with using Jena to create and parse RDF files. Just what I needed a few days ago.
Boing Boing looks at a possible candidate for governor here in CA. Anyone running on the P2P platform would garner some looks from me.
Of course, this is only possible because of the wackiness up in Sacramento. Scoble got out of here just in time.
Python 2.3 is out!! bbum gives a scoop about some cool things Apple is going to do with this release for Panther.
Basically, access to various system API's such as Quartz and QuickTime. Rock the house!
Bill looks at both and wonders who would win. I can't say that I disagree with his critiques of JXTA though. JXTA is chaotic with tons of stuff going on. Obviously that's what you want in a project with many different points of focus but much more could be done to communicate effectively.
Something as simple as a bi-monthly mail would give peeks into different projects and directions. The GNOME development community does this and it seems to be very helpful for both existing developers and for new ones just lurking.
Mark Watson talks about the problem with the Semantic Web, that no one is using RDF. I think that is a problem but it seems that FoaF could be something which causes people to use RDF.
Looking at the work that Edd is doing as well as FoaF files being created for anyone using TypePad, I think more tools will be created for RDF and people will become more comfortable with it.
Cathy got in today and my parents were nice enough to take the kids while I picked her up from the airport. We also had some lunch and then went to see Pirates of the Caribbean.
I thought the movie was great and I totally dug the shout-outs to the ride. Lots of laughts from the crowd. I wonder how different it would be to see it outside of SoCal.
I took the kids out to my parents this afternoon so we could swim and have dinner. Cathy is still out of town so I'm using all the help that's out there. Anyways, coming home, the signal to our street is out and a police car has created a temporary blockade.
The cop points me to the curb when I start to turn in and I roll down my window to find out what's going on. He asks what I need and I tell him that I live here. He asks for my address and seems satisfied with my answer. In the distance, I can see another blockade with plenty of television vans. That's really never a good sign in SoCal.
I ask the cop what was going on and he reponds with, 'It'll be in the papers tomorrow.' That would be considered another bad sign. From watching the news tonight, an elderly couple was murdered a block from here.
A couple of days ago, Scoble talked about Microsoft's biggest enemy. It wasn't Linux but Analog Thinking. The thinking that basically keeps us from truly living in a digital world with people doing everything on a computer instead of paper or whatever primitive tool you are using.
When every single transaction is done on a computer, then we can start worrying about attacking the competition. When every single human behavior is done on a computer, then we can worry about attacking the competition. When every single business does all of its work on computers, then we can worry about attacking the competition.Until then, all that worrying is just taking our eyes off of the ball. I wish we'd stop doing that.
For me, in order for this vision of the future to happen, many things need to fall into place. Open standards for how types of applications can interact, peer-to-peer technology to be the engine of these apps so that access to a central server somewhere isn't required and finally, that there are easy, user-friendly ways to encrypt and decrypt all of this data being written or transferred.
Update: Brent makes an excellent point about the difference between the analog world and the digital world.
The analog world is made up of atoms of poetry. The digital world is made up of bits.
On a certain level, I think Brent and Scoble are talking about different things but both cause me to think about the future.
A new bill in Congress would require peer-to-peer companies to get parental permission before allowing minors to use their service. The belief is that this would help keep children from being exposed to pornography found on these networks.
Setting aside the curiousity as to why and how children are using P2P software without parents knowing about, this bill seems way overreaching. I think you could make a similar argument about a browser or Google. Kids can use those tools to stumble onto pornography. Why aren't those companies being required to get parental permission?
Boing Boing notes that the new title of the bill is To prohibit the distribution of peer-to-peer file trading software in interstate commerce. That's just great. A cynical look to the future can see a day where running Kazaa will be a form of civil disobedience.
So I spent a few hours last night with Jena. No, not that Jenna and or even THAT Jenna (definitely not work-safe).
I thought it would be cool to look into FOAF a bit more and one of the things to do would be to put some logic into Jericho to have an easy way to create a FOAF file.
I had a bit of a problem figuring how to access the various data within the RDF but looking in the mailing list archives helped. I'll hopefully post some code tonight.
While reading Joi Ito's site today, I noticed a link to David Beckemeyer's site.
When I worked at EarthLink, David was head of the IT group who were charge of all servers and the datacenter. Since my group needed lots of servers for the Personal Start Page, there was quite a bit of interaction (and some rivalry) with IT. I don't recall being in more than a couple of face-to-face meetings with him but there were quite a few email discussions as well as meetings with his minions.
From his bio, it looks like he's still with EarthLink but in the R&D group which is cool even though I didn't know that they had one. I doubt he would even remember me but it is amazing how different worlds can collide via the Web.
Edd's hackery on Dashboard continues. He's found a RDF parser in C# and created a new backend which chains various HTML together to extract useful info.
Last night, for no apparent reason, I decided to dig into the Amazon Web Services API and see if I could do anything fun or cool. So after downloading the SDK and getting my developer token, I set out to get things going. Unforunately, my task was much tougher that it really should have been.
First, I needed to download Axis, the Apache SOAP library. Not that big of a deal but it's not like you just have the axis.jar. You also have 6 support jars which go with it. That becomes a problem when the instructions to run the Java example code just says to do: javac *.java after running the WSDL2Java class. Of course, you can't run that class until you have all of the Axis jars in your CLASSPATH. Being the lazy bum that I am, I decided create a little shell script which would automatically put the jars in my CLASSPATH instead of trying to do it by hand each time.
Here's basically the script:
#!/bin/bash
for i in path/to/*.jar ; do
CP=$i:${CP}
done
javac -classpath $CP *.java
Nothing too earth-shattering there but it got the job done. Well, I should say that it got the job started because unfortunately, there were compile errors with the code that Amazon gave. There were changes in the WSDL which weren't dealt with in the implementation code. Ugh! So after making those changes and getting everything compiled, I was ready to launch this sample app.
Talk about a disappointment. It was just basically a simple UI with lots of text fields with names which weren't exactly easy to figure out. I tried to do a couple of searches but couldn't get any responses other than (it seemed) sample data. So, I did what any self-respecting geek would do, I tried to write my own class which would handle the calling of SOAP.
I copied and pasted code for their Author search and tried again. I still wasn't getting any good data. I looked through the docs but there really wasn't much info to help. There was some stuff on the REST-like query which showed some of the fields which I needed to add. You'd think that in their sample, they would have shown what values some of the fields should be in order for things to work.
So, I made this HashMap:
parameters.put("Host","http://soap.amazon.com/onca/soap");
parameters.put("Author","Jonathan Franzen");
parameters.put("Page","1");
parameters.put("Mode","books");
parameters.put("Tag","webservices-20");
parameters.put("Type","lite");
parameters.put("Dev-Tag","Your Developer token here");
and finally I got data back. You can actually get quite a bit of data back from Amazon for a search so I'm looking forward to tonight to actually do something with this data instead of having to deal with all of the setup/install headache. Hopefully Google will index this and maybe help someone in the future.
DonXML complains a bit about finding qualified candidates in today's job market. Roy responds with some good ideas.
The basic idea would be to blog as much as possible especially in regards to technical topics, things you've read or written. This will give you a leg up on other applicants. I think this might be simplifying things a bit but I do think that writing almost daily about technology shows both a passion for it and generally a grasp of it that others might not have.
One thing which I need to do is write on more technical subjects. I find myself thinking of posts as I look through the Java blogs but I generally don't take the extra step a post something about them. I can also post more about some of the Python stuff I've been doing. I might not be able to post the actual code but I can post about the coolness of it.
The other advice Roy gives is to network, network, network. This seems so simple yet can be more difficult than you'd think. Personally, it's tough because I have a 4-year-old and a 2-year-old at home and going out can be easier said than done.
MacDevCenter has started a new Cocoa-related series which is going to introduce all the C you'll need to learn in order to work with Cocoa. Should be an interesting one...
I finished up Masters of Doom this afternoon. I'm generally not a fan of the 'behind-the-scenes' of something new but this book did a good job of showing the good and the bad.
There really weren't any winners in the story. Everyone lost something whether they wanted to admit or not. The money they were making boggles the mind especially since the majority of it was coming from shareware titles.
I can only imagine that I would have become a much more hard-core gamer if I would have had a PC at home instead of a Mac. Looking back, I do wish I would have explored the programming possibilities of my Vic-20 and my C-64.
I had to take Cathy to the airport this morning. She's heading back to Michigan for a week to visit her dad. Driving the 110 early on a Sunday morning can be very cool. I definitely wished I had a sports car as opposed to my VUE.
I needed to print a couple of things out today so I headed to the library. Yes, I know, a geek like me without a printer. It's a crime... But anyways, all the computers were being used so I needed to kill a few minutes.
Luckily, I found two books which will keep me busy for at least a day or two. The first is Masters of Doom which chronicles the rise and fall of id Software, the makers of Doom and Quake. The other is How to be Alone, a collection of essays by Jonathan Franzen.
BoingBoing links to a an article about anonymous blogging. It seems invisiblog is going to help with things like this.
I've been reading some crypto-related stuff lately so this intrigues me a bit. Most people create blogs without thinking twice about letting people know who they are but some don't have that luxury. Being able to be anonymous could literally be life-saving for those in other countries.
A system like Freenet might become a better way to do this but currently it's not quite ready for the much primetime.
Jason posts about a donut stand in NYC which blows away its competition, mainly because it seems to trust its customers. The comparison to other industries, music for example, is quite clear but it's too bad that no one seems to pay attention.
Matt follows it up with examples from the porn industry.
Zooko has put together a comparison of free revision control systems. Very informative..
He also has his reading list with links and comments. Some good stuff here as well...
According to this first-person article, the FBI questioned a man after someone called in a tip about him reading something 'suspicious'..
If this is true, I continue to be amazed by those living in this country.
Interesting article about Portable Collaborative Networks.
Peer-to-peer technology and wireless networking offer great potential for working together away from the desk?but they also introduce unique software and infrastructure challenges.
During my three-hour layover in the A-T-L, I picked up William Gibson's latest, Pattern Recognition. I know I'm about the last geek to read it but it helped me survive the plane trip home while the kids watched a few DVD's on my iBook.
I finished it yesterday and would recommend it to someone in a second.
So, I'm back at my desk, writing this. It's been a long day but thankfully the kids are sleeping and we are almost unpacked.
I finished the book today. It took me all week but I don't mind since that's what vacations are for. Very good book though! I look forward to the final entry of this Ellroy trilogy.
News.Com has an interesting debate on P2P, privacy and being anonymous. It's between Ian Clarke and the Sr. VP for the RIAA. Good reading.
I just finished implementing being able to edit a previous MT post. Basically, you have a list of previous titles and once you double-click on one, the rest of the post is downloaded and the various bits of information are put into the correct place.
I do a bit of hackery with the title of the post so that it flags that this is an edit as opposed to a new entry. I will clean that up but for now I'm happy that it works.
So, I'm sitting at the kitchen table here in our beach house. It's 12:30AM Eastern and I'm wide-awake since my body only thinks it's 9:30PM. Ugh! This could be a long night.
Yesterday didn't go too badly considering we boarded a plane at 8:45AM and finally arrived at our destination at 7PM. That we survived this as well as having a 4-year-old and a 2-year-old, the gods must have been smiling on us.
Holden Beach is the same yet different. It's different because the last time I was here, I didn't have to be the one to worry about getting the suitcases out of the car and getting everything put away. I could just head out to the beach and ride the waves. Oh well, I guess that means I'm growing up! Ugh!
I did finish Hey Nostradamus! though. It was pretty good. I like the fact that not all loose ends were tied and you were left wondering what happened to a few of the characters. Perhaps I liked it since I grew up with people like the Alive! group. People that preached a perverted morality with a side of fundamentalist Christianity.
Next up is The Cold Six Thousand...
One of the cool things about Java 1.4 is the fact that now I/O doesn't have to block when reading/writing something to the network. I created a new Cluepacket class to take advantage of that. It's now committed to GNOME cvs so you can grab it from there. It's called NioCluepacket.
Nat asked me to commit the Java files which I was happy about. It's cool to put something new in CVS.
So last night while watching some Law and Order, I finished up a quick Java class which can send cluepackets which Dashboard can handle.
Basically, it's just a matter of opening a socket to a port and firing off some XML, nothing fancy. Here's Cluepacket.java if you find the need for it. I also put together CluepacketServer.java which just sits on port 5913, listens for connections, accepts them and spits out what you gave it. It's helpful for me since I did this on OS X and not my full-blown GNOME setup.
Here's an example of a cluepacket:
<cluepacket>
<frontend>Jericho</frontend>
<clue type="email" relevance="10">josh@stonecottage.com</clue>
<clue type="imname" relevance="10">lucasjosh</clue>
<clue type="url" relevance="10">http://www.stonecottage.com/josh/</clue>
</cluepacket>
It's a simple syntax. You give it the frontend app you are using and then various clues about data you know. So for example, I could add this to Jericho and send clues about keywords, people and URLs mentioned in posts. That could be a cool way to look for additional info on things.
I had this really wacky idea for Jericho last night. I would use Technorati API and show whether or not, a post has been linked to by another site.
Perhaps this will cause me finish the Edit Previous Posts portion of Jericho and get a new release out to the world...
Loudmouth looks to be a simple-to-use Jabber library in C.
Basically, this would be some plumbing code to use to built clients which utilize the Jabber protocol. Mikael uses it to post to his blog. Cool stuff...
So, one of the scripts I've been working on lately, walks through our CVS tree and parses out various info. My boss wanted the info in XML which luckily hasn't been that bad. I've been using the minidom package and it has done a good job.
One issue though is that I needed the encoding to be ISO-8859-1 instead of the default UTF-8. Unfortunately, the constructor for minidom doesn't allow you to override that default. What I've done instead is to take the advice of this post and create my own header and the write out the rest of the XML from the root node. So far, so good...
Ian Clarke responds to anyone who has asked about the decision to implement Freenet in Java as opposed to C++.
The bottom line? Don't bother telling me that Freenet should be implemented in C++ unless you are willing to spend months illustrating your code on stretched leather with a carefully prepared pheasant feather while paying particular attention to the initial "#".
Adam Langley posts back with a pro-C++ position. Interesting stuff in each.
I've been trying the Aqua version of X-Chat the past week or so. It's not that I didn't like Snak but I just wanted to see if I liked something else more.
The cool thing about X-Chat is that you can write plug-ins in Python. You could possibly hook up a plug-in which would listen for Dashboard connections and then retrieve the necessary IRC data for updating.
I think I linked to Dashboard a bit ago but Nat's been keeping a log about it with a screenshot.
For reference, Dashboard is:
The basic notion is automatic search of your personal information space as you go about your regular daily activities: reading and writing email, browsing the web, talking to people on IM (at least, these are my regular daily activities).As you interact with a given object (an email, a web page, a person on IM), the dashboard is supposed to automatically populate with nice, visual representations of related objects in your little universe. And then, of course, there are various ways that you can do things with those objects: click to open or activate them, drag and drop them onto another application, etc.