Max looks at some configuration issues he has faced in the past. I think it is safe to say that anyone writing code has faced similar issues.
Configuration is always both an afterthought as well as one of the most important parts of an architecture. Yes, I realize that those two things are at odds with one another but that is the actual issue.
Max also points out PyContainer which is a lightweight container for Python, using the principles of IoC (Inversion of Control).
Definitely a must-read article for those looking for more rapid Servlet development.
For more on Jython Servlet development, check out this PDF.
Colin gives a good overview of the reasons to move to Ivy now that it has gone 1.0. It's definitely still on my radar.
Great transcript of a chat between Kevin Smith, Edgar Wright and Simon Pegg about Star Wars and its impact on their live.
So as the hours countdown for my installing Tiger, I need to clean up the many browser windows and tabs I have open. So here we go:
Paul Kedrosky reimagines vertical search sites along the lines of the book burro.
Yahoo! launches My Web, a personal search engine. They are also doing things with attention.xml which I'm still having problems wrapping my head around.
Neutrino XML gives you a way to have one place for links to all your feeds. I'm thinking you could do this currently in RSS or OPML.
Jason looks at the importance of project metadata and the Maven team releases some code to use in Ant. Excellent!
Merlin writes up some inbox habits for Macworld.
Some nested set links...
Pi-calculus and recovering resources in pi-calculus
RSS for the Enterprise and some social network analysis from the O'Reilly Radar.
Learning Seaside blog.
Good idea found in the 43 Folders Google group. Basically, leave yourself an easy way to start the next day by stopping something without totally finishing it.
I tried this today before I left the office. We'll see how it goes in the morning.
I know they've probably been available for a little bit but you can find the papers for PyCon 2005 here.
Looks like lots of cool stuff such as Agile Testing, PyLucene and Design Patterns.
Good stuff from the CEO of Adaptive Path:
Invention inspires invention. Ideas are collapsing into each other, recombining, and having powerful effects. The Internet has always been a medium for democratization, and by reconnecting with our idealism we’re once again uncovering its poetry, nobility, and transformative power.If you’re not yet amazed, inspired, and a little anxious, you might want to consider it. Then get a good night’s sleep and perhaps take a rejuvenating vacation. We’re going to look back at Spring 2005 as a milestone. Watch closely, ladies and gentlemen. Things are about to change in a very big way.
Russ had a pretty good experience with Orb.com. Orb.com allows you to stream media files from your home PC.
This is the part which pricked my ears:
This could really be a great "Personal Streaming Radio" station. If you have an iPodder downloading into a Podcasts directory which is then shared out with Orb? That's pretty freakin' awesome. Though honestly, I don't feel like bothering with all that effort (even though my PC is just sitting here idle for most of the day), just like I use Bloglines to get my feeds for me on the server, I'd like Orb to grab my podcasts for me as well. It only makes sense, no? Then they'd have to change their model from a "proxying" service to more of a "cacheing/streaming" service, but I think (just like Adam and Evan) that's where some massive opportunity is.In fact, I'd say if Orb doesn't want to do it themselves, they should open up their back end with an API and let others do it instead. Imagine - Orb handles the proxying, menu, encoding, etc. and all you do is handle the UI and the data storage for whatever custom media content you want to serve up? Everything from Podcasts to training videos to quarterly shareholder conference call recordings, etc. All available to you where ever you are.
Rafe confesses to not having to deal with scability concerns too often in his career. I feel the same way though a current project I'm on will help solve that.
Daniel Von Fange posted a cool hack back in December about using GeekTool and a GTD app to present his todo list on the desktop.
why the lucky stiff posts an head-hurting article about metaclasses in Ruby. Definitely good stuff in there. It's just taking me some time to wrap my head around it.
Leonard Lin points to a cool looking Mac utillity which keeps track of where the screen focus is every 5 seconds. Actually the more I think about this, the scarier it becomes. Perhaps I can no longer delude myself when I'm just looking at online docs or asking a co-worker a question via AIM.
Ev lists some of the web apps that Odeo is using or trying out. The usual suspects are there but it definitely seems that there is plenty of room for others to join the party if they served the correct purpose.
Reading Continuations for Curmudgeons and Blocks for Box will make you stronger, more regular and ready to start your day!
Phil Gyford has a great system for taking notes while reading a book. Stick some post-it notes inside the front cover so you'll always have something to write on. via 43 Folders...
Jason points out a very cool looking Stickies-replacement, Sidenote.
sidenote is a MacOS X application that tries to catch the “Stickies” spirit but in the form of a multi-document drawer that will hide in the corner of your screen (left or right). You can use it to take all your daily notes, include images and easily modify text color and font.
Robert points to a couple of essays written about how the big three (Google, Yahoo and Microsoft) are using RSS.
One of my personal goals is to do everything in my power to help EarthLink get a seat at that table, where it will matter what we do with RSS as well. We aren't there yet but I have hope...
I received an email last night, letting me know that my friend Craig had lost his battle with cancer. I don't really know what to say right now. I can't seem to find the right words to type so I'll save that for later. All I can say though is that I'm a better person for knowing Craig and I'm going to miss him.
PlaceSite looks very interesting. It looks to be a social network only visible from within a wireless network.
So, you are at your local cafe, using their wi-fi and you are able to see who else is within the range of the network and perhaps some things about them.
Interesting conversation about Rails:
LJ: Ambitious. Any particular reason you initially chose Rails over some other framework for your blog?DF: By this point in my career I've seen enough scripting languages and learned enough languages that I'm not running out there to learn a new scripting language as soon as it comes out. It's really got to be something special for me to want to learn it. You were the catalyst for getting me into Ruby, and because the Rails hype was starting to reach critical mass at the same time, that's what drew me into Rails.
LJ: But surely well-designed classes could grok XML that somehow dictated cascading deletes?DF: Yeah, that's true, but it's really nice for the programmer to be able to keep everything--model, view, controller--all in one language. In Rails you don't have to split out state and behavior into separate files; you can describe it all in one file using the same language. Plus, in practice, only a few of these configuration steps even need to be taken, because Rails model-objects are designed to reflect on the database at runtime. It's not an exaggeration to say that your entire controller-class could end up being shorter than a single XML configuration file.
LJ: But some big name developers out there seem to have had a fairly negative response to all the Rails hype. Why do you think that is?DF: I think fear of any technology is not really based in reality, because what is technology after all? It's just another way of solving a problem. But I hear what you're saying, I've read some comments that I feel totally were not based on the facts. I think that some of it is probably due to people who really are invested in one framework or the other and maybe are afraid that Rails' momentum could threaten their authority or their opportunities if it were to take over a lot of market share in "web-app-framework-land". So there's that, and then there's the whole thing of if this becomes "the way to do it", then they'll have to start learning a whole new language and framework all over again.
The Robots have done some cool stuff with their web services API. They've integrated information from Upcoming into their city pages and have added a person's Flickr username to their profile.
Matt McAlister writes about Infoworld's redesign and how they are using a combination of freeform tags with del.icio.us and structured tags to help with navigation and advertising.
Some how in my reading of ETech posts, I missed this panel on folksonomies with Joshua from del.icio.us, Stewart from Flickr and Jimbo from Wikipedia.
Bruce Schneier breaks down the upcoming Papal election and looks for any flaws in the security.
What are the lessons here? First, open systems conducted within a known group make voting fraud much harder. Every step of the election process is observed by everyone, and everyone knows everyone, which makes it harder for someone to get away with anything. Second, small and simple elections are easier to secure. This kind of process works to elect a Pope or a club president, but quickly becomes unwieldy for a large-scale election. The only way manual systems work is through a pyramid-like scheme, with small groups reporting their manually obtained results up the chain to more central tabulating authorities. And a third and final lesson: when an election process is left to develop over the course of a couple thousand years, you end up with something surprisingly good.
Russ points out that this coming Monday will be Mobile Monday here in SoCal. I'm not looking forward to fighting the traffic to get to the West side but I think I'm going to check it out.
Jason points to an article in the Economist discussing the future of innovation and how users will be participating more and more.
Eric Von Hippel, professor at MIT has a new book, Democratizing Innovation, which can be downloaded for free under the Creative Commons License. The basic idea is that users of products can be more innovative when given the chance than the developers of the product.
He gave an interview to TheFeature which expands on that a bit, especially the concept of a lead user:
First, let's be clear about lead users. These are highly motivated individuals, or even companies, who are on the cutting edge of technology use. They are not necessarily the people on the payroll or members of the development community, and this is a good thing because, while professional developers may have leading-edge technical skills, it's the lead users that have the leading-edge needs. This motivates them to look for and prototype solutions. As we know, necessity is the mother of invention.
He also pointed to a case study where the users were allowed to use a toolkit to expand their use of their cell phones. Many ideas came out of this which the cell phone developers never would have that of. I think you can see similar things happening with the use of the various API's from sites like Google, Yahoo and Amazon.
Sean McGrath has a new article on ITworld.com which has some thoughts on Test-Driven Development. He does so in the context keeping your documentation and code in sync via tests.
TDD (Test-driven development) is something I really want to do, start, whatever. Jamis made it be a goal for a month. I should do something like that. I have two projects right now which are still in a state where I could begin and it not affect much.
Test-first development is one of those things that, when I first heard of it, was hard to see the value of. I mean, yah, unit testing is good—invaluable, even—but writing your tests first? It is a mark, perhaps, of my level of technical maturity at the time, but I just couldn’t see why anyone would bother.Since then, however, I’ve thought a lot and read a lot, and I definitely believe that writing tests first is a valuable and important skill to learn. The trick is in learning it. It really is a completely different way of thinking about software engineering.
Marc Hedlund reviews Yahoo! 360° and Randy Farmer responds to it. The interesting part of the back-and-forth is that the discussion is being done through the lens of an essay written 15 years ago.
I can honestly say that I had never heard of this paper, let alone read it before seeing it mentioned in regards to the above posts. While parts might be dated, I have a feeling there is still plenty to take away from it. I haven't quite finished my initial reading but I would bet I'll be posting about it when I do.
A great post with habits to help your day-to-day life.
One of the biggest challenges I've had since being back at EarthLink is the move to more of a project-based day as opposed to 5Square's and for the most part, CollabNet's interrupt-driven, something is on fire day.
An incredible post about information overload and the effect it is having on all of us.
In a couple of things I've been reading, there seems to be interesting ideas about the spreading of diseases and how it might relate to software development especially distributed computing development.
Werner Vogels, CTO of Amazon.com, spoke at ETech about this. It's the one presentation that I wanted to hear but I have yet to find anyone who attended it and blogged it. He also links to previous posts which have a ton of reading material.
This idea of learning from diseases also came up in The Tipping Point so perhaps it's a new meme which is just now coming into the open.
So I'm up in SF this week for training. That's the reason for this little bit of radio silence. It's weird being back up here though. It's been over a year since CollabNet and I parted company.
After walking back and forth between the hotel and the training center, I can't decide which has a greater density, Starbucks or iPods.
Recently, much has been said about Yahoo overtaking Google in the coolness factor. Not everyone agrees with this assessment however.
I was going to post something earlier after Jeremy talked about Yahoo's mojo but I never got around to it. I've been mulling idea of BigCo mojo since then since I'm working for one.
Dave doesn't think a big company can have mojo:
Moral of the story, big companies don't have mojo, they can't, and it's not fair to make that the issue. They can, however, make the trains run on time, and at that Yahoo does quite well. But they should leave the innovation to small, nimble, motivated devteams with nothing to lose and no corporate hierarchy to please. Hire a business school prof to do a case study for you. It's never worked differently in Silicon Valley, yet this is a lesson Silicon Valley keeps relearning. The next revolution isn't on stage at Esther's or SXSW or even Etech -- those were the last revolutions.
The one point that I disagree with Dave on though is that big companies should leave the innovation to others and just worry about making the trains run on time. If a big company isn't going to try and be innovative, they aren't going to remain big for long. Look at Apple, they are big yet still innovative and I don't think they are the exception to the rule.
Of course, it's obvious why I want a big company to be innovative. Why would I want to continue to work for one if I wasn't working on innovative stuff? So that's my bias now. Perhaps it would be different if I still worked for CollabNet or 5Square.
In the end, I'm still not sure if a big company can have mojo. It's something I'm still working on. How can a company get back in the conversation? I think Jeremy gives an easy checklist:
If I can start to help with that, I think many of my questions can be answered.
Earlier this week, Russ posted some of his thoughts about mobile searching:
Here's how I imagine something like this working. Imagine if we applied a message queue system to search. Your phone regularly uploads a small index file of the contents on your mobile, then searches are applied against that, not the original data. Then if a match is found, a request is sent back to the phone asking for the file to be uploaded as soon as possible. Actually, while I'm thinking about this... Why do the search engines have to crawl websites? Why can't I just tell them what's there in a more efficient way? (Spoofing, yes. But some sort of signing might be able to handle that). I mean, that's how they originally thought of websites, no? What's a web site's default home page called by tradition? "index.html". Aren't indexes normally found in the back of books? Yeah, but on the web, that was supposed to be a list of what you could find on the website. Imagine if there was a *real* index page, like index.xml where you could give the search engines binary summaries of your content. Now imagine that instead of all this happening on your server, your phone just pinged the search engines with its list of content every once in a while instead?Now I go to the Yahoo Search, and click on the "social" tab (it'd be right after the image search) and I'd type in something I'm looking for. Maybe it'd be tag names or maybe it'd be something more detailed. The search engine goes through its list of mobile items and presents the results. When the user clicks on a link he likes, well it's not to get the item right away - it's to request it. A message goes off to the mobile repository that says something like, "Hey, remember that item you said you had available? I'd like a copy of it. Now would be preferable, but if you want you can wait until the next time you have a chance. Thanks."
This got me thinking about a paper I read a couple of years ago. It was a caching system using crypto that was the go-between for your mobile device and your home server. Here's a copy of the CryptoCache paper. The paper is a bit dated but I think the idea could be a powerful one.
To tie something like the cache into Russ' example, you would basically allow anyone to access it. Also, you could give the search engine the direct URL to the cache when you sent in your index or when you responded to their request for the data. That could allow the cache to handle connections instead of trying to do things from your mobile device.
Bill Simmons writes a column for Cubs fans. Last year, I was cautiously optimistic about the Cubs going into the season. This year, I only hope that there isn't the same implosion and that we have people staying healthy.
There has already been pitching scares this spring so who knows what will happen over the course of the season. Everyone starts at 0-0 and that's the important thing.
Play ball and go Cubs!!