[GEEK] Getting URL objects to time out
For some reason, it is not possible to get at the Socket object that the URL object uses for its network I/O. And so, on the face of it, you can't set or change the time-out time. However here are two, semi-kludge properties that Sun has provided us to overcome that deficiency:
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
BlogBridge beta is ON!
Here's the beta invite email that just went out… Wow, this is exciting! 🙂
"Thanks again for participating in this first beta of BlogBridge. A few comments before getting going:
This is an early beta. There are features missing and there are bugs. Please bear with us!
One of our expectations of you as beta testers is that you will give us feedback with enough detail that we can do something about it, and a chance to correct problems that you find.
We are very interested in your feedback on the feature set and usability of BlogBridge. You can have a lot of influence on the direction we take this application. Any and all suggestions are welcome.
Please send your questions and comments to the yahoo groups list so everyone can see the questions and answers. If you haven't joined the list yet, then please do so now as it will be the easiest way for us to keep in touch. You should have received an invitation to the list. If you have not, please advise us and we will put you on the list.
We will be putting up a wiki page where we can post standing comments, information, references, help, faq's etc.
Now a few items of introduction to the application (I wouldn't call this 'Help' yet!)
The buttons on the left are 'Channel Guides.' They represent collections of Channels (RSS Feeds) which have something in common. Right now, the names of the Channel Guides (e.g. 'Favorites') are purely cosmetic. There are no special semantics there (yet.) In the near future you will be able to add and delete Channel Guides and enable various kinds of 'Automatic Processing' on them.
The scrollable region in the middle are 'Channels' (which what BlogBridge calls RSS Feeds.) We didn't call them blogs or rss because the universe of RSS feeds is broader than just Blogs and feeds. We are designing an application for 'mere mortals.' You can add and delete Channels. You can drag and drop Channels to move them around, within and between Channel Guides.
BlogBridge comes with a set of default Channels in each Channel Guide. Feel free to change that.
The scrollable region on the right are 'Articles' (which is what BlogBridge calls RSS Items.) There are several controls on how Articles are displayed in the Preferences dialog box.
Ok, ready to go?
Here is the link to install and run BlogBridge: [blah blah blah] Please do not publish it to anyone. Instead if you know someone who would like to run the beta, please introduce them to us. If the url gets out we will just change it 🙂 We want to keep this beta to around 20 people until we have a first level sense of how things are and how much work it is to support you all.
After all, our primary mission is to build great software.
Thanks, and have fun!
Pito Salas and Aleksey Gureev"
Cross Platform, for real!
We are busy getting BlogBridge ready for beta (send email if you want to participate.) I hope we are only days away.
But in doing that, and updating the web site, I thought this might be of interest…
Java really works! Here are three screen shots of BlogBridge, on Linux, Windows XP and Mac OSX. We didn 't write any platform specific code, and yet, other than some minor font goop, it looks quite nice, IMHO.
Here's Linux:
Here's Mac OSX:
And here's Windows XP:
RSS not yet mainstream?
Another article in the New York Times about RSS:
"Called R.S.S. (the initials are variously said to stand for Rich Site Summary, Really Simple Syndication and more obscure formulations), this increasingly popular online tool turns a morass of disparate information sources into an automatically generated and neatly organized index of the latest articles and postings"
You know we are not yet mainstream when the abbreviation periods are included in the name R.S.S. I mean when's the last time you saw H.T.M.L. or for that matter I.B.M?
What’s a beta, anyway?
BlogBridge is getting ready to go into a limited beta test. The purpose is to get some early feedback on the basic User Interface model and the overall product vision. If you are interested in participating, please send an email to email@blogbridge.com.
Doing a beta when you are operating a, shall we say, boutique software shop, is a different experience. The number of loose ends, bugs, procedural and process things that need to be nailed down are overwhelming.
The Web Site is being revised to reflect this new phase of work. The totally out in the open Functional Specification has been moved to a private area, a Wiki in fact. The thinking is that now that things are getting more real, and my hack is turning into a real product, it makes you think about where things might lead.
I've often said, and this experience seems to confirm it, that the degree of openness on a project seems to need to vary with the phase one is in.
In the very early, very formative stages of a product, being very open about future ideas and plans can only help. I believe that 'ideas are cheap' (pretty cheap, anyway) and that the value you get from sharing them with others generally outweighs whatever drawbacks it might have.
However, as you become ready to launch, being in stealth has it's advantages. For one thing you haven't settled on a strategy and you want to keep options open.
At this point my guestimate is that we are within a week of opening up the beta to about 10 people to start, and plan to ramp that up over the next months, while constantly adding features and removing bugs.
BlogBridge beta update
The beta test is almost ready to go. The plan is that it will start very small, with only a few users, and then based on feedback and results we will expand it as we release revisions and updates. If you are interested in joining up, send me email at beta@blogbridge.com.
Pop!Tech Ticket!
Pop!Tech is one of my all time favorite conferences. So favorite that I bought a ticket for this year's event way in advance. I have hit an insurmountable schedule problem and so I have to miss it this year. So, I have a ticket that I can't use, they won't refund (the X*&!@(#&!@#'s) but I can transfer. And it is substantially cheaper than what they are charging now because of when I bought it. If you are interested please contact me directly by email.
[Geek] Getting ftp task to work in Ant / Eclipse
Note to self:
The FTP task in Ant relies on the library: commons-net.jar from Apache.
Be not confused, this is different from the library: ant-commons- net.jar , which I believe is the Ant interface to commons-net.jar.
In other words, you need them both, in ant_homelib. If they are not both there you can a ridiculously cryptic error message.
p.s. Didn 't I say "GEEK" ?Dave, thanks for the words of encouragement.
Musings on Open Source licensing
As I continue to make rapid progress on BlogBridge, now with a significant amount of help, I am asking myself some tricky questions about licensing, which I thought I'd try out here. (By the way, BlogBridge is the blog reader that I've been working on and which is soon going to be available in beta form.)
BlogBridge is an open source application. The source code is all available on www.sourceforge.net for any and all to look at and play with. It's open source also because of the license that you'll see in each source file, the so-called "Lesser GPL." I would like to say that I chose that one after long and careful thought, but the truth is that I picked it more or less randomly because another project that I am contributing to was using it.
Now that BlogBridge is going to get some more visibility, the question is, what rights exactly do I want to give away and which ones do I want to keep for myself?
My current answers are:
I want it to be legitimately 'Open Source'
I want anyone to be able to look at the source code and play with it, for personal purposes and limited commercial purposes.
I want to reserve to myself the right to license or sell BlogBridge to a commercial entity for commercial purposes.
I want to reserve to myself the rights of invention and origination and patent.
Ok, let's refine that.
What are commercial purposes and what are limited commercial purposes? I guess in a vague sense I would like individuals to do whatever they like with it but if IBM or Microsoft wants it they have to deal with me (phat chance!)
So here are some questions that I am trying to answer , in that context:
Given that all the source is already out there, what are the considerations around changing the license. If I just edit all the files with a new license and post it out on the SourceForge server, is that kosher? And does it do the trick?
Is there a legitimate Open Source license that exists or that has been tested or that I can create, which achieves what I outlined above?
Looking for advice. I will post further musings on this as I make progress.
[Geek] Debugging focus problems
Struggling with debugging hairy focus and other UI problems in Swing (Java)? Here's a handy little tip that I just found out about:
When running a Java application, type Ctrl-Shift-F1 and the VM will dump the components hierarchy into standard output.
p.s. Editorial comment: I question whether I should enter these super- geeky-limited-interest notes here. In the end, as I am using this blog as my personal lab notebook I decided that it's ok even though it might put some people off. My new standard is that I will precede the title with [geek] to give early warning and allow people to skip it.