Dave Johnson on open web technologies, social software and software development
Matt Raible has been talking to folks at Sun (including me) about working for Sun. Now he's using his blog as part of the interview process. He asks:
For those folks out there that have worked for Sun - what's it like? Is it a good place to work these days? Would you recommend it for a passionate open source developer like myself that likes to make contractor rates and take lots of vacation?
I've already talked to him and told him what I think. We didn't talk about vacation, which is a disappointing two weeks for a new employee, but other than that I think Sun is a great place to work for a passionate open source developer. If you work at Sun or worked at Sun, leave a comment on Matt's blog or send him an email and tell him about your Sun experience.
Dave Johnson in Sun
03:38AM Feb 01, 2007
Comments [0]
Tags:
blogging
opensource
sun
Elias posted some good news about some upcoming IBM contributions to Roller. We're discussing how best to get them into Roller now.
Note that we now have two possible replacements for our old Hibernate back-end. We've got a Java Persistence Architecture (JPA) based back-end developed by Sun's Craig Russell and Mitesh Meswani and IBM is getting ready to contribute an iBatis based back-end. How do we choose which one to use in Roller? Consensus seems to be that we'll have a bake-off. We'll compare the programming models, test performance and discuss the pros and cons -- and let the best framework win.
Dave Johnson in Roller
08:40AM Jan 30, 2007
Comments [0]
Tags:
ibatis
ibm
jpa
roller
sun
Pixyblog is a photoblogging site, powered by Roller. Looks slick.
Update: Raible blogged about Pixyblog too and some Sun-related news about his job search.
Dave Johnson in Roller
08:29AM Jan 30, 2007
Comments [0]
Tags:
blogging
photoblogging
roller
Dave Johnson in Roller
06:42PM Jan 29, 2007
Comments [3]
Tags:
app
atom
roller
Over the weekend I convinced my Dad to start a blog and I offered to host it on my site with Roller (of course). We've already started to set the site up. Dad picked up a nice short domain name, I added it to the kattare.com name servers (Kattare is my ISP) and I added support for the new domains to my Apache/Tomcat setup there.
Now I have to to figure out how to host multiple domains with Roller. That's a topic that has come up before.
A while back LinPro Norway developed a multi-site capability for Roller. I called it multi-domain at the time, but now I think that was wrong. As I understand it, multi-site allows one Roller database to serve multiple Roller sites. Each site having it's own Server Admin settings and serving one or more domains. Mutli-site requires significant changes because the each table must have an additional field that indicate which site it belongs to. Unfortunately, the patches were too extensive for us to incorporate into Roller.
What I'm doing now is multi-domain, which appears to be much easier. I'm not sure multi-site and multi-domain are accepted terminology, so I'll explain. I want one Roller database to serve multiple domains, but with all domains sharing the same Server Admin settings. It's definitely going to require some code changes, but with the new 3.0 rendering system, I'm finding that those are pretty easy to do. In fact, I've already got some working code ready to deploy. Once I get it deployed and working, I'll write up a proposal and see if I can get simple multi-domain support into the Roller codebase.
Dave Johnson in Roller
06:35PM Jan 29, 2007
Comments [3]
Tags:
blogging
family
Lots of good news and stuff to blog this past week including the Sun makes a profit story, the Sun-Intel deal and more. I really like reading news like this Amid Profit, Brighter Days for Sun and this Sun turns profit after five quarters in red.
And how could I fail to mention the announcement of Lotus Connections, the product formerly known as Ventura. Connections is IBM's new Web 2.0 social networking suite and it includes Roller. IBM's James Snell posted some background info about IBM's internal use of social networking tools and how that led to Lotus Connections. Elias Torres blogged about it too and included a screen-shot of the new Connections based BlogCentral (IBM's internal blogging site).
And in other news...
My ApacheCon EU talk on 'Roller and Blogs as a Web Development Platform' was accepted. Looks like I'll have a busy May, Amsterdam for ApacheCon and (hopefully) San Francisco for JavaOne all in the space of two weeks.
Wordpress is finally gonna get Atom format support and apparently Atom protocol support is going to happen too.
The ROME project is just about ready for ROME 1.0 and there's a new subproject in the works: ROME Propono. co-worker Ramesh Mandava and I are putting together a Blog Client library (based on code from Blogapps) and an Atom client/server library (based on code from Roller). Hopefully, we'll have it ready by the time that ROME 1.0 comes out.
Dave Johnson in Roller
05:54AM Jan 26, 2007
Comments [1]
Tags:
apachecon
ibm
java
javaone
roller
rome
sun
Speaking of science writing and making more science accessible to lay people, check out my Dad's article at Luminous Landscape where he explains Why Is My 50mm Lens Equivalent to 80mm on a 35mm Camera and Why Is There More Depth-of-Field? And check out the comment he received:
Nathan Myhrvold: I think that Charles Johnsonâs article on DOF and sensor issues is excellent and will inform the discussion of the relative merits of various sensors and cameras. It covers the basic optical facts very well. However, I think that there are some additional points that can help clarify the issue...
Yes, that Nathan Myhrvold. Apparently, he shares both Dad's love of nature photography and of physics. Dad was pretty happy to see such detailed and well-informed feedback. See what happens when you post interesting writing on-line? Cool things! and you might make an interesting new friend or two. Get a blog Dad.
Dave Johnson in Blogging
05:35PM Jan 25, 2007
Tags:
blogging
family
science
When I'm under deadline pressure of any sort, I tend to stop blogging. That's the case this week. It's already Thursday and haven't written about the NC Science Blogging conference that I attended in Chapel Hill last weekend. Gotta fix that.
The NC Science Blogging conference was put together by the BlogTogether crew, the same group of Chapel Hill bloggers that organized PodcasterCon last year and BloggerCon the year before - Bora Zivkovic, Anton Zuiker, Brian Russell and others. Again they put together a wonderful un-conference and drew a crowd from up and down the east coast and beyond.
The days started with a Science Blogging 101 session by Bora himself. Next up was Hunt Willard, director of the Duke's Genome Sciences & Policy institute. He's not a blogger but he had good advice for science bloggers and stressed the importance of science writing, engaging the public and making science more accessible to lay people. Brian Russell posted audio of Hunt's entire talk. Popular science blogger Janet Stemwedel was up next. She talked about her personal experiences as a science blogger and also stressed the importance of engaging the public and making science more accessible. Here are her slides (PPT).
In the afternoon, I went to a session on blog illustration, which focused mostly on copyright issues. I was a little surprised to hear no mention of SVG and MathML. The last session I attended was devoted to helping the Museum of Life and Science (Durham, NC) figure out how to use blogs to engage and educate the public about nano-technologies (they've got an NSF grant to do things like that).
After the talks wrapped up a big crowd headed over to Carolina Brewery and Penang for dinner and I got a chance to hang out with the Chapel Hill blog mafia. That's something I always enjoy, plus I got to meet congressman Brad Miller again. All and all a great day. Thanks to the BlogTogether folks for putting it all together.
Update: I forgot to mention the blogs. If you'd like to read more about the conference, there's a big list of blogs and news stories about the Science Blogging conference on the BlogTogether site.
Dave Johnson in Blogging
05:34PM Jan 25, 2007
Tags:
blogging
science
trianglebloggers
Dave Johnson in Links 06:58PM Jan 22, 2007 Comments [0]
Interested in the JRuby project? Then you should check out the JavaPosse podcast interview with JRuby developers Charles Nutter and Thomas Enebo. They cover project status, JRuby vs. CRuby, Ruby on Rails on the JVM and their new jobs at Sun.
Dave Johnson in Java
04:36AM Jan 18, 2007
Comments [0]
Tags:
jruby
Don "father of WebSphere" Ferguson left IBM for Microsoft, IBM deleted his developerWorks blog and bloggers started to sound the alarm (see below). IBM listened and quickly restored Don's old blog. And so we've learned another rule of business blogging: when one of your valued employee bloggers leaves the company -- leave their blog in place. Or better yet, do what Sun does and provide a planet-style blog aggregator to keep in touch with your former employees (see community.sun.com).
Dave Johnson in Blogging 04:28AM Jan 18, 2007 Comments [0]
Alexis Moussine-Pouchkine has taken my Generating JSON for your Roller blog post a few steps further down the road. He created a screen-cast to show how easy it is to use Netbeans 5.5 and the JMaki widget wrappers to serve up Roller data in a a Dojo table. Cool stuff. I really need to find the time to take JMaki for a spin.
And BTW, I'm still working on my Dojo table example, which will be similar to what Alexis has done but it will use Dojo directly within a Roller blog -- no IDEs or JSPs required.
Dave Johnson in Roller
06:21PM Jan 15, 2007
Comments [0]
Tags:
ajax
blogging
dojo
javascript
roller
It's time for the first Raleigh Bloggers meetup of the new year.
About Us. We are a group of bloggers who live in and around Raleigh, North Carolina. We meet twice a month at a local coffee shop just to chat. We have no formal agenda. Sometimes we talk about blogging, sometimes podcasting, sometimes technology, sometimes politics, ... mostly whatever's on our minds. We've been meeting regularly since March of 2005.
Join Us! New faces are always welcome, whether you're a professional blogger, a newbie looking for help starting a blog, or someone who just likes to talk about nerdy things. All you have to do is show up and look for a group of guys with laptops (invariably it's always guys, but women are certainly welcome!).
Meetup details are on the wiki.
(Helios Coffee. By Raleigh blogger abbyladybug / Dr. Lady Cutie Troublemaker)
Dave Johnson in Blogging
06:01PM Jan 15, 2007
Comments [1]
Tags:
blogging
triangle
One question that came up recently on the Roller mailing lists was how to generate JSON for a Roller blog. Roller 3.0's new rendering system makes it easy to generate just about any representation of your blog, so JSON is no problem at all. In fact, any Roller user can do it via the Roller UI by simply creating a new page template.
For example, what if you wanted to generate a JSON array of blog entries with id, pubTime and title for each entry, like what's shown below:
[
{id: "roller:open_source_ghetto_at_javaone",
pubTime:"2007-01-12 12:57:17.0",
title: "Open source ghetto at JavaOne?"},
{id: "roller:iphone_don_t_think_of",
pubTime:"2007-01-11 17:43:29.0",
title: "iPhone: don't think of it as a computer"},
{id: "roller:iphone_apple_apps_only",
pubTime:"2007-01-09 23:06:15.0",
title: "iPhone: Apple apps only?"}
... etc...
]
To do that, you can use the Roller Preferences->Template menu to create a page template like so:
#set($pager = $model.getWeblogEntriesPager())
#set($map = $pager.getEntries())
[
#foreach($day in $map.keySet())
#set($entries = $map.get($day))
#foreach($entry in $entries)
{id: "$entry.website.handle:$entry.anchor",
pubTime:"$entry.pubTime",
title: "$entry.title"},
#end
#end
]
The code above is a little tricky because of the way the entry pager returns entries. To make it easy to display entries by day, the $pager.getEntries() method returns entries in a ordered java.util.Hashmap. The map contains lists of entries, one for each day, and the map is keyed by date objects. To get entries out of the pager you must iterate through the day-date keys, get then entry list for each and then iterate through the entries of that day.
If you create the above template and save it with the name "jsontest" your new page will be available at /<bloghandle>/page/jsontest. And because the $pager object understands the standard Roller request parameters date, cat and page you can subset the data by date and category, and you can page through the results. For example:
/<handle>/page/jsontest?cat=roller - latest entries in category 'roller'
/<handle>/page/jsontest?cat=roller?page=1 - first page of entries in category 'roller'
/<handle>/page/jsontest?date=200601 - Entries from January 2006
Try it on my blog: http://rollerweblogger.org/roller/page/jsontest
In a future post I'll show how to use Roller-generated JSON data in a sophisticated JavaScript widget. I'm working on an example that uses Dojo and specifically the FilteredTable widget to present a pageable table of Roller blog entries.
For more information on Roller page template programming see the docs for the Apache Velocity template language and see the Roller 3.0 Template Author Guide for details on the Roller objects and macros available within Roller templates.
Dave Johnson in General
04:29AM Jan 14, 2007
Comments [1]
Tags:
blogging
json
roller
Dave Johnson in Java
07:57AM Jan 12, 2007
Comments [0]
Tags:
java
javaone
opensource
Via Rafe Colburn I just found a NY Times article that confirms Apple will tightly restrict what apps are allowed on the iPhone:
Steve Jobs: "I donât want people to think of this as a computer [...] These are devices that need to work, and you canât do that if you load any software on them [...] That doesnât mean thereâs not going to be software to buy that you can load on them coming from us. It doesnât mean we have to write it all, but it means it has to be more of a controlled environment."
Controlled environment? You mean like a Java VM? Probably not. I suspect what Mr. Jobs means is that 3rd party software vendors will have to pay Apple for the right to develop software for the iPhone, but details of that plan have not yet been worked out.
Dave Johnson in Mac
12:43PM Jan 11, 2007
Comments [6]
Tags:
apple
java
Sun alum Adrian Cockcroft lists some important but unanswered questions about the new Apple iPhone, Apple's sleek new phone-ipod-camera combo due out in June (for about $600 + Cingular Service plan). Adrian wonders "Is it open for more applications to be loaded? [...] or is it locked down?" and "what is the model for developers to extend the platform?" Rick Ross wonders why nothing was said about Java support and OSNews noticed the very same thing.
Josh optimistically points out the upside of "a real OS, real apis, and a real web browser capable of running real web applications - all delivered by a company that isn't going to fight us every step of the way." Yep, that would rock.
So what's the deal? Does Jupiter Research's Michael Gartenberg, who says the iPhone is "not extensible by third parties, only Apple," have the inside scoop?
Dave Johnson in General
06:06PM Jan 09, 2007
Comments [2]
Tags:
apple
java
Since I deployed Roller 3.2-dev Saturday no spam has slipped pass Roller's new Akismet plugin, so I've opened up all my past entries for comments again. Spammers, bring it on!
Dave Johnson in Blogging
05:28PM Jan 09, 2007
Comments [0]
Tags:
blogging
roller
I spent a fair amount of holiday time trying to figure out how to share and backup the important files on our various home computers. The solution I settled on was geeky bordering on goofy:
For documents I use Subversion. On each computer, each user's files are kept in a directory that is under Subversion source code control. Since nobody else in the family knows about Subversion (yet), I have to visit each computer periodically and commit any new files or changes. I had hoped that approach would work for all of my files, but Subversion on the Slug is way too sluggish when it comes to big files.
So, for photos and other big binary files I use the Slug as a simple file-server. I make sure my photos and videos are organized into directories that are roughly DVD-size directories (i.e. about 8GB) and I periodically copy them to the Slug and make DVDs for off-site storage.
And finally, for full backups I use disk "cloning" software. Every month or so I use Carbon Copy Cloner to make a full-disk backup our two Mac laptops to a USB drive.
Sounds like a total pain in the ass doesn't it? But a growing number of folks have multiple computers and piles of photos and videos to backup, so my problems are far from unique. That's why I think Windows Home Server is going to be a hit.
It's a server appliance with no monitor or keyboard. You just plug it into your home network, put it in a corner and it solve all of your PC backup problems. It quietly makes full-disk image backups of each of your Windows PCs and it gives you a place to share files with other folks at home and over the net. It's of no use to me since most of my home computers run some form of UNIX, but 95% of the world is hooked on Windows -- they're gonna want this thing. Check out Paul Thurrott's Windows Home Server Preview for more details.
Dave Johnson in Microsoft
05:11PM Jan 09, 2007
Comments [3]
Tags:
microsoft
server
windows
This week I've been working on a new feature for Roller called Comment Validators, which makes it possible for Roller site admins to plugin validation rules to be run against comments. If a comment fails validation it is marked as spam, put into the blog's moderation queue and the blog's owner is notified with a list of the reasons that validation failed.
I commited the work to SVN yesterday, so now we've got an excess-size validator that checks for comments larger than a threshold, an excess links validator that checks for comments with too many links and what may be the most useful validator of all the AkismetCommentValidator -- which checks comments against the Akismet anti-spam service. I'm not sure how stable the Roller trunk is right now, but I decided to risk a deploy so now this blog is protected by Akismet.
Update 1: Yowza. The site crashed last night and after a little googling, I think I may have run into a Hibernate bug (HH-1579). I turned on the JVM -server option. Let's see how that goes.
Update 2: The JVM -server flag seems to fix the Hibernate problem. I wrote a note about the problem on the roller-dev mailing-list just in-case somebody else runs into it.
Dave Johnson in Blogging
04:23PM Jan 06, 2007
Comments [0]
Tags:
blogging
java
roller
spam
« Previous page | Main | Next page »