October 31, 2005

Thread Pattern Recognition

Joey Hess gives hope to anyone subscribed to multiple email lists or one which has high traffic.

It's all about recognizing the patterns in message threads, which ones you might want to read and which ones you can just ignore. [ via ]

Posted by Josh at 07:00 AM

October 30, 2005

Sharing Python and Ruby Exceptions

Jonas Galvez shows how to share error communication between the two languages via YAML and dynamically created classes. Very interesting! [ via ]

Posted by Josh at 08:02 AM

Gold Mines still out there

Earlier in the week, Scoble had a great post about all the great opportunities still out there. There are so many ideas and niches still untapped that competing on things like who has the best Map API is silly.

So, the challenge for all of our companies is to go after the untapped markets. If you’re a gold miner, are you gonna get rich by mining where other people and companies have mined already? Maybe, but it’s a lot harder work. Why not look at the vein that’s totally being ignored.
Posted by Josh at 07:54 AM

Service Dependency

Fred Oliveira brings up a very good point in his recent post about the current dependency on web services for many of the new applications being launched. This is definitely something to think about both as a developer and a user of these applications.

The companies which offer these services are not doing it out of the goodness of their collective hearts. They are doing it for increased mind share as well possible revenue being generated by ads or developer fees. If Google changed the data they offered via the Maps API, what do you think would happen to all these mash-ups? What if a developer had to pay if their application went over a certain number of requests? Or maybe ads would be required if you wanted to use it commercially in the same way Microsoft's Virtual Earth does it?

These concerns should be thought about by any application developer. If you are going to use a service, don't be so tightly coupled to it that any change would cause your application to choke. Have some sort of abstraction layer which hopefully shields your users from changes to the service or the service being down.

Posted by Josh at 07:42 AM

October 27, 2005

Thanking Team Riya

Munjal Shah, the CEO of Riya, a new photo service which will use facial recognition to automatically tag your photos to enable better searching, thanks a big group of people which helped get the company to their alpha launch. I think it's pretty cool that the CEO of a startup recognizes in a public way, the work done by everyone on the team. You don't always see that.

Posted by Josh at 08:13 AM

October 26, 2005

Welcome Helio

The SK-EarthLink joint venture has been renamed as Helio. I can't wait to see the stuff being brought over from Asia.

Posted by Josh at 01:25 PM

Learning from the Other Side

Brent and Nick are guest posting on each other's blog, trying to engage a community they are unfamiliar with. I think it's a great idea and it'll be interesting to see what sort of cross-pollination happens because of it.

Posted by Josh at 01:23 PM

October 24, 2005

Named Placeholders in Ruby

Robby Russell shows how to use named placeholders when dealing with SQL queries in Rails. I like this, it does make the code easier to use. I wish Hibernate could do something like this. It would make my life much easier right now.

Posted by Josh at 11:26 PM

Who are the rebels?

More from James Robertson...

I think I can safely pass this post on without too much additional comment especially for the folks from the office reading this blog...

Sorry to burst your bubble, but for too many of us, the "they" you speak of is IT, and the "rebel forces" are the rest of the organization desperately trying to get work done in the face of mindless IT "standards" that get rammed down our throats.
Posted by Josh at 11:21 PM

MarsEdit

I'm writing this entry in MarsEdit, the weblog editor written by Brent. I've used it for a while so I'm ecstatic that development will be continuing on it as part of the Newsgator deal.

I've had no complaints with it and it does just what I need it to do.

Posted by Josh at 11:18 PM

Smalltalk Servlet

James Robertson breaks down a servlet in Smalltalk. I don't know Smalltalk but the flexibility that is shown seems very, very nice.

Posted by Josh at 11:16 PM

October 23, 2005

Ferret

Ferret is a Ruby port of Lucene. So very cool!!

Posted by Josh at 12:47 AM

October 22, 2005

S5 with effects

A new library has been put together for the S5 presentation system which will add some pretty cool effects to your presentation. As with anything presentation-related, with great power comes great responsibility...

Posted by Josh at 12:26 AM

Spring Web Services

Take a look at Springs's Web Services support. I don't know if I totally agree on the sole focus being SOAP as opposed to including REST but I think that can be worked around.

I do like the idea of defaults being implemented. One of the critiques I hear with Spring is that you need to know so much before you can start using it.

Customizability comes with a price. We plan to provide defaults where possible, but force the service developer to make a choice where necessary. Our goal is too make Web Service development as simple as possible, but not any simpler.
Posted by Josh at 12:19 AM

Short Feedback Cycles

Much of the discussion surrounding dynamic vs. static typed languages involves developer productivity. How long it takes to go from the mind to the code to figuring out if what you just did worked on not. Ben Jackson puts these thoughts into greater perspective with the addition of some numbers.

I've gone off on a bit of a rant here, but I'll sum it up by saying this: invest in hardware, invest in your build process, and don't be a slave to the machine. Your projects, and your sanity, are worth it.

The idea that compilation adds up to so much of your time is an effective argument in support of the move to more dynamic languages. The ability to save a change in my editor and then reload a page to see my changes makes the compile/redeploy process in the Java world seem archaic.

I'm not the guru when it comes to types and languages but I can recognize that it feels like the code comes out faster in Python or Ruby and generally the code is easier to read and maintain.

Posted by Josh at 12:09 AM

October 21, 2005

Post Sets

My browser has many windows open and inside of those windows, tabs. A good number of the tabs come from the same sites. I've been trying to figure out a way that the browser could display that information, multiple posts, but only in a single tab. I don't know how effective that would be but it would seemingly save me from having tabs open to the same site.

If you were in a Web-based aggregator and were saving these posts to comment on, I think it would be easier to represent the many-to-one relationship. Perhaps something like the Memeorandum UI which creates a top-level post and then shows the discussion below it. In this case, the top-level would be the site and the discussion the posts I have saved for later.

Posted by Josh at 11:56 PM

Just Can't Do It

No matter how hard I try, I can't root for the Sox. Well, actually, I'm not really trying that hard. As much as it pains me, Go Astros!

Posted by Josh at 06:51 PM

Journaling

Many times I think I need to start sending myself status messages at the end of the day to help me get back in whatever zone I was in before I left.

Steven Olson has a good idea in this regard, journaling, little snippets of thoughts and ideas written down. These can help you return to the context you left the previous day.

Of course, I sometimes need these reminders continuously so it could be even more effective for me.

Posted by Josh at 06:34 PM

Ubuntu

The other day, a very large box was given to me. I put under my desk because I didn't really want to deal with it at the time. Inside the box, a black rectangular object lived. This object required time and energy from me which I didn't want to spare so the large box stayed under my desk.

This afternoon, I got tired of looking at the large box so I started unpacking it. A few minutes later, the black rectangle was right-side up and happily chugging away. Well, actually, I like to assume it wasn't happy but instead was being forced to work in ways which would be unhealthy for it in the long run. It needed to be free of these problems so I found a solution. A little bit later, the black rectangle now IS running happily along, waiting for things to do. My goal for next week is to send plenty of work in its direction.

Posted by Josh at 06:24 PM

October 20, 2005

Treehouse

Another magazine I just found is Treehouse. This seems to be more focused on web development but the first issue looks good and it can be downloaded. Future ones will have to be purchased though.

Posted by Josh at 01:06 AM

Software Test & Performance

STP looks like a very useful magazine. The current issue has articles on agile testing and load testing. It can be downloaded in PDF form as well as the back issues. Looks like more for the reading queue. [ via ]

Posted by Josh at 01:00 AM

Cobertura

During one of the sessions last weekend, someone mentioned Cobertura as a guage for how much test coverage your code has. I know my code has very little right now so this tool would give me nothing but grief but that might be the necessary push I need.

Posted by Josh at 12:44 AM

RadRails

I downloaded RadRails tonight but haven't really done much more than launch it. It's built on top of Eclipse which is pretty interesting and I doubt I'm the only one who sees the irony of using an app written in Java to help develop Rails applications.

Posted by Josh at 12:02 AM

October 17, 2005

Mountaintop Experiences

When I was jr. high and high school, our church would go to summer camp. It would be a week up in the mountains, staying in cabins and doing all sorts of things. Each night would have a church-like service with singing and a sermon. The last night was always the night of decision. If you had been moved during the week, you were asked to come forward to either accept Christ or rededicate your life to Him. I'll be the first to admit that I went forward for rededication most years and of course each time I knew that my decision would stick. Obviously it didn't. The reasons were varied but I think the main root cause was just being back in my normal life and not being in the mountaintop environment.

I think tech conferences are kind of like that. I had so many plans and ideas during the weekend. I jotted down almost a page of notes on the plane home. I spent time last night trying to sketch out emails to send with my new thinking. And what happened today? Well, basically, the project I'm working on is still there and there are still many things to do so my big picture plans need to be put on hold.

I'm worried that my delaying, the change to implement some stuff will be gone. It's a very tough thing to figure out and even tougher to decide where to start.

Posted by Josh at 09:08 PM

The History of Open Source

Friday night's keynote was given by Jason Hunter and it was a look at his involvement with open source and through that was a look at the history of the Jakarta project. It was a really cool walk thru memory lane for me.

Sometimes I don't think I realize how much stuff I was involved in, not necessarily in terms of making actual code changes but using projects, integrating with existing stuff and things like that.

Posted by Josh at 12:38 AM

A Weekend with No Fluff Just Stuff

The thing about conferences is that you can get so much information in a short time that you need days for your mind to work its way through it. Right now, I'm feeling even more saturated after spending the weekend at No Fluff Just Stuff in Seattle.

I tried to stay away from the hot topics like Rails and parts of Spring. Not because I'm not interested in them but because I feel like I know the introductory topics and information.

I'm not going to list everything I took but here's a few that I took, Cryptography for Programmers, Unit Testing Java with Jython, Test-Driven Development and Object-oriented Design. Each of the above hit a nerve with me in a good way. How I'll deal with that still remains to be seen.

The expert panel on Sunday afternoon was very interesting especially with the direction most of the questions took it on. The main questions were on the feelings related to Ruby and Rails as well as the EJB 3.0 spec versus Spring. I was a little disappointed with one of the arguments against Spring which parroted the recent noise coming out of JBoss which asks whether you would rather support a standard or a proprietary program, insinuating that Spring is the proprietary piece. The fact that the argument came from a Sr. Architect at IBM made it even sillier.

I know I'll have more to say but I'm writing this in the Seattle airport and will post it when I get home.

Posted by Josh at 12:19 AM

October 15, 2005

31-34

So, the Irish didn't pull it off. I've only seen the highlights of the game so far. I have it Tivo'd at home. I wasn't expecting to keep myself away from the score but I am interesting in seeing what all happened. They pulled out the green jerseys for the game. Now they've lost the last 4 games in them but I don't really have an issue with pulling them out.

It's really crazy that they are 4-0 on the road and 0-2 at home.

Posted by Josh at 06:09 PM

Ruby Cookbook

Looks like my friend Leonard is going to be busy for the next few months, he's writing a Ruby Cookbook for O'Reilly. Awesome!

Posted by Josh at 07:49 AM

October 14, 2005

Off to Seattle

I'm about to head to the airport. If you are going to be at the No Fluff Just Stuff conference, drop me a line.

Posted by Josh at 05:44 AM

October 13, 2005

Python Web Framework Niches

Very interesting post looking at Turbo Gears and Django and the applications that can be built with them.

The concept I want to focus on is that people create these new frameworks because they make their task easier than any of the other frameworks already out there. While they might pick up features from other frameworks, most of them aren’t aspiring to be “Python on Rails”. Sometimes this task is easier when other tools can be integrated to avoid code replication, as is the case in one framework I cover here.
Posted by Josh at 11:34 PM

Java and Ruby

Jonathan Ellis asks why Java programmers are making their way to Ruby. Obviously, I think the main reason is because of Rails. I really don't see a lot of other reasons for it. There are still holes in Ruby's libraries which Python has filled. It's a tough one.

Posted by Josh at 10:56 PM

TurboGears, a Rails clone?

Ian Bicking's response is very well done. Short answer is obviously no.

Posted by Josh at 08:48 AM

Remember the Milk

Lots of people are point to it, but Remember the Milk looks pretty interesting. Well, I realize that a To-Do list isn't really that interesting but some of the additional features look good.

I especially like the ability to breakdown the tasks into different sections as well as being able to print them out in a calendar-like format.

Posted by Josh at 08:16 AM

Bubble Maps

Draw your ToDo list

Posted by Josh at 12:12 AM

12 Rules of Survival

Survival should be thought of as a journey, a vision quest of the sort that native Americans have had as a rite of passage for thousands of years. Once you're past the precipitating event–you're cast away at sea or told you have cancer–you have been enrolled in one of the oldest schools in history.
Posted by Josh at 12:06 AM

Taking Time to Think

Interesting ideas for trying to get a team thinking about what to do next.

Posted by Josh at 12:00 AM

October 12, 2005

Connecting Social Content Services using FOAF, RDF and REST

Leigh Dodds' paper from XTech 2005 is just amazing. Tons of goodies in there so read it.

I've been trying to figure out where things like FOAF stand these days. I think there are some definite uses for it at work but there seems to have been a stoppage in work on it.

Posted by Josh at 11:48 PM

The Daily 5 Minutes

Rosa Say is a busines blogger and author. Her latest book, Managing with Aloha, looks to be very interesting. One of the things she recommends for managers is to have a a daily five minute meeting with at least one of their employees. It looks to have worked well in the situations she talks about.

Even though I'm not a manager, I've been thinking of starting this with the other developers in my group. There are times when I feel we are connected but other times, we still are in private silos both in terms of knowledge and responsibilities. Would spending 5 minutes with someone help that? I'd like to think so.

Posted by Josh at 11:42 PM

Challenges to the Mobile Future

Marko Ahtisaari, Director of Design Strategy at Nokia, put together seven challenges facing the mobile future.

It's a very interesting read with what seems to be a roadmap for new companies or existing companies to put together products and services to meet these challenges.

Posted by Josh at 11:34 PM

Plugging into Rails

Jamis gives an overview of how you can easily add 3rd-party mixins and the like into Rails.

Posted by Josh at 09:36 AM

Getting Ready for Saturday

Expect much, much more...

The Song Girls and their white sweaters, representing modern California cool. The Leprechauns and their green garb, plus plaid-wearing old-timers bespeaking old-school Catholic tradition and timeless solidity in the face of change.

In even years, the Thanksgiving weekend pilgrimage from Irish Nation to the sun-kissed beauty and noisy largeness of LA. In odd years such as this one, the mid-October trek for the Left Coasters to the statues, marble and haunting ghosts of an Indiana town cloaked in ancient glories and echoes aching to be awakened.

Modernity versus tradition. Suntan versus the Son known as Touchdown Jesus. Triumph and Conquest versus the 1812 Overture. The lovely ladies of Los Angeles versus Our Lady. Traveler—the mother of all Trojan Horses (forget ancient Greece)—against the Four Horsemen.

Fight On against the Fighting Irish.

Posted by Josh at 08:24 AM

October 11, 2005

HTTP Made Really Easy

James Marshall breaks down the HTTP protocol, a great refresher or a perfect way to learn.

Posted by Josh at 10:45 PM

Producing Open Source Software

A former coworker, Karl Fogel has written a new book dealing with open source software, Producing Open Source Software. As with his previous book on CVS, this one is free for download and online reading.

Karl is one of the project leaders for Subversion so I would say he knows a thing or two about the book topic. I'm looking forward to reading it.

Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software.
Posted by Josh at 10:21 PM

Termite Season

The cool kids over at Ionist have put up a screenshot of their upcoming feed aggregator. Of course, it's in Rails.

In looking at it, I'm intrigued by the grey cutout in the lower left section. It should be fun to find out what lurks there.

Posted by Josh at 09:45 PM

Spring and XBean

Craig Walls shows how-to use XBean with Spring. XBean maps XML elements and attributes to JavaBean classes and properties. This can be very, very useful when dealing with Spring configuration files.

While it is nice to have the wiring of objects out of the code and into configuration, it still causes plenty of headaches especially when something doesn't load correctly. Debugging can be difficult.

XBean would alleviate much of that though since your configuration would be smaller and much more descriptive. According to Craig, the status of XBean is somewhat up in the air as it is evolving from a previous project. It seems good enough to experiment with but not ready for a move into production. But it is something I will have my eye on.

Posted by Josh at 09:31 PM

Build Security In

Dana Epps points to a new site put together to help developers write more secure code.

Build Security In is a project of the Strategic Initiatives Branch of the National Cyber Security Division (NCSD) of the Department of Homeland Security (DHS). The Software Engineering Institute (SEI) was engaged by the NCSD to provide support in the Process and Technology focus areas of this initiative. The SEI team will develop and collect software assurance and software security information that will help software developers, architects, and security practitioners to create secure systems.
Posted by Josh at 06:13 AM

October 06, 2005

No Fluff Just Stuff

The Cynical Man gives his overview of the recent No Fluff Just Stuff conference in Calgary. Next weekend, I'm going to the one in Seattle and I'm really looking forward to it.

Posted by Josh at 10:13 PM

Microsoft @ Web 2.0

I was just wondering why I hadn't heard anything about a Microsoft presence at the Web 2.0 conference and then I read Dare's account of last night's dinner with three Microsoft execs.

Posted by Josh at 02:02 PM

October 05, 2005

Just a Thought...

A few blogs today have mentioned that the Web 2.0 conference feels like it is 1999 again and another bubble has formed. Is it possible that since this is being felt now there won't be the unchecked optimism which lead to the crash ?

I don't know, maybe I guess. I'd like to think so though.

More bubble thinking...

Posted by Josh at 04:49 PM

TagCamp

TagCamp looks interesting. I'm thinking about heading up there if I can find a cheap flight.

Tag Camp is an open, welcoming event for geeks to camp out overnight, get wired on Halloween candy and think really fast about tagging, its applications, and implications. It’s like Tag Tuesday but instead it's at Commercenet's beautiful Palo Alto office, featuring luxurious showers. Yes, that's right, with little fishies on the shower curtains too!
Posted by Josh at 06:34 AM

Awful Game 1's

It really couldn't have been a worse day in the baseball playoffs, the White Sox win, the Red Sox lose, the Yankees win and the Cardinals win. Ugh, ugh, ugh.

James Robertson has a slightly different perspective on the results.

Posted by Josh at 06:15 AM

Backpack Anonymous

Garrett Dimon admits his addiction to Backpack. My feelings somewhat parallel his in terms of first use:

This hasn’t always been the case. When it was first released, I signed up immediately with all sorts of hopes and expectations, but after using it the first time, I was confused and underwhelmed. I didn’t see the point. Then after some time, and a need, I gave it a shot, upgraded my account, and I haven’t turned back since.

I do think I need to give it a real chance as opposed to just the cursory first few days of a release chance. There's just way too much stuff in my head and on various pieces of paper.

Posted by Josh at 06:13 AM

Steven Johnson on Web 2.0

Steven Johnson's latest column for Discover Magazine takes a long at this new ecosystem affectionately called Web 2.0. Yes, I am getting a bit tired of the term but it's here to stay, at least until some new shiny term comes down the pipe.

The result is the equivalent of a massive software upgrade for the entire Web, what some commentators have taken to calling Web 2.0. Essentially, the Web is shifting from an international library of interlinked pages to an information ecosystem, where data circulate like nutrients in a rain forest.

The rain forest imagery provides much to think about, especially in the comparison with a desert which Johnson uses to describe just the interlinking of pages a la Web 1.0.

This is good news whether we love poodles or not, but it’s also good news economically because the diversity of the ecosystem makes it a fertile environment for small players. You don’t have to dominate the food chain to get by in the Web world; you can find a productive niche and thrive, partially because you’re building on the information value created by the rest of the Web.

That's the key I think, any player can be a productive part of the ecosystem if they find the right niche.

Posted by Josh at 06:09 AM

Semantic Web Starting Points

Danny Ayers put together a great set of links if you have any interest in the Semantic Web.

Posted by Josh at 12:12 AM

October 04, 2005

NetNewsWire Acquired

Brent gives the scoop on the purchase of Ranchero Software by Newsgator. When I came back to the back a few years ago, the one app I couldn't wait to use was NNW and I've not been disappointed since.

Another piece of the story is the issue of resources. When a software product becomes as popular as NetNewsWire you end up spending less and less time actually programming. But programming is what I love to do, it’s what I’m good at—and the only way to keep making NetNewsWire better is to write code.
Posted by Josh at 11:36 PM

FeedTree

Kevin Burton and Steve Rubel are talking about FeedTree, a new P2P RSS delivery mechanism. The idea is extremely interesting but both Steve and Kevin are a little concerned about the security of the feeds.

I haven't dug into the paper yet but it has been added to my list of things to read. Unfortunately, it's a very long list.

Update: Just to make sure there isn't a misunderstanding, the security issues brought up by Kevin and Steve are dealt with in FeedTree by the signing of feeds by the publisher. Of course, this signing needs to be built into any tool using the FeedTree system since most folks aren't going to go through the signing process.

The reading of the paper is now at the top of my list instead of the bottom. The more I think about this system, the more I really like it.

Posted by Josh at 08:20 AM

When you know you are in trouble

Frederico redesigned his blog which of course isn't that unusual. The unusual part is the reason why he decided to do it now:

No, it’s much more delicate than that, and this is a true story: I was actually thinking about work, sitting in my desk today and scribbling on a piece of paper (like I always do). Unconsciously, I drew a caricature of Jacob Nielsen. Now, when I draw Jacob, I know my life needs a change. Funny, but true. So here it is. Drawing Jacob Nielsen on a piece of paper made me relaunch WeBreakStuff.
Posted by Josh at 07:54 AM

AntAnt

Bill de hOra describes a tool he's written to help with the build setup for his Java projects. Personally I would love to check the script out, I know I could use it.

Posted by Josh at 01:38 AM

The New Application Server

Ryan Tomayko describes the new application server as a web server, a dynamic language and templating. I can live with that definition.

For the majority of projects, there is no reason to have anything more than that. You can use an existing framework such as Rails or TurboGears and develop much more iteratively than having to run the usual full stack of application server, data access layer and back-end system.

Posted by Josh at 01:21 AM

Sweethearting

Can something on a mobile phone replicate the use of eye contact? Jason seems to think so with his sweethearting ping idea. Basically, you could ping another mobile phone which would be something less than a SMS message. Just a way of letting the other person know you were there.

The significance of the ping would be up to the users. For some, it could be that they were on the way home but for others, it could just be an indication they were thinking about them.

One of the great things about Jason's post was his linking to Matt Webb's Glancing project. I hadn't been through those slides for a bit. Still plenty of good stuff to find in there.

Posted by Josh at 12:41 AM

In-Memory ActiveRecord

Jamis shows a very useful ActiveRecord script which uses an in-memory database and dynamically creates the schema. As he says, it is very useful for testing since it doesn't leave any mess behind.

Posted by Josh at 12:34 AM

EarthLink wins Philly bid

According to MuniWireless, EarthLink has won the Philadelphia bid to provide wireless access for the city. This is a very good thing. [ via ]

Posted by Josh at 12:29 AM

October 01, 2005

Trac

More from Leslie, he's set up a Trac installation for the various projects he's working on. I remember looking at Trac a little over a year ago. It looked then as a winner and I passed on it only because I would have been the only person at the company that knew Python.

At any rate, I would definitely be interested in setting up another install. I think there are plenty of projects, people, and anything else that need attention and tracking.

Posted by Josh at 12:02 AM