Wednesday, January 24, 2007
Windows Subversion Troubles?
Tuesday, January 23, 2007
Interesting Visualization of the State of the Union
What Happened to Maven Registry?
Intelligent Analysis of Vilsack's Web Site
"Finally a note to the camp at Tom Vilsack’s site. I’m not sure it’s the colors, the design or what my eye falls upon but I have to say in my opinion, this could be put into my Presidential Spam folder. It looks like your nephew designed the site using Stevie Wonder as a consultant. I left there feeling like I had just suffered a seizure of sorts. It needs a little work, but I bet you could cover a few costs by inserting that script for Google Adsense."Now that's very, very cruel, but also funny and entirely accurate. I nominate Vilsack08.com and kucinich.us as presidential spam web sites.
Presidential Tech Update #5: Richardson's New Site
- MySpace: http://www.myspace.com/richardsonforpresident
- PartyBuilder: http://www.democrats.org/page/dashboard/public/gFKNL
- Facebook:
http://richardsonforpresident.com/facebook - YouTube: http://www.youtube.com/profile?user=Richardson4President
- Zanby: http://zanby.com/groupsearch?search_words=richardson
- Flickr: http://richardsonforpresident.com/flickr
Presidential Tech Update #4: Edwards Does Live Chat First
From johnedwards.com: Also on Wednesday evening at 9:30 p.m. EST, join John Edwards and thousands of other members of our community for a live online video discussion of the real State of our Union — and to share with Senator Edwards your vision for a strong and just America in the 21st century.This is all interesting from a technology perspective, but I wonder if this is money squandered. We know that the average citizen pays attention to online video, but live online video is another medium altogether. The advantage of streaming on-demand video is that it can be delivered when it is needed - YouTube isn't about live television as much as it is about having an on-demand video library. We'll see how effective these interactions are. If traditional TV covers these chats, they will have been a roaring success, if they are ignored by traditional TV then they will be irrelevant to the average citizen. This brings up an interesting question for C-SPAN. If a candidate holds an online live meeting, isn't this worthy of coverage on the C-SPAN channel (or the C-SPAN web site). Does anyone know if C-SPAN has any plans on covering these events?
Presidential Tech Update #3: Hillary Goes Open Source with Drupal
Hillary's Facebook Group: http://www.facebook.com/group.php?gid=2209169932Hillary's MySpace Profile: http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendID=64552165
Hillary's YouTube Profile: http://www.youtube.com/profile?user=votehillary
Hillary's Flickr Page: http://www.flickr.com/people/votehillary/
Presidential Tech Update #2: Brownback Catches Up
Second-order Linkbacks: Presidential Web Sites #1
Interesting sites related to the previous post:
- By way of Planblog - Tim B. linked to a very limited effort to create a citizen legislature for Utah. Politicopia aims to create a venue for online legislation, "Users create summaries of bills, pro and con arguments, comments, links, and more." Interesting idea, i've thought about something similar, there should be some sort of Fantasy US Congress that follows the same procedures as the real thing. In other words, it would be valuable if you could register you own vote on real legislation even if your vote wasn't binding.
- By way of Blog the Campaign in '08 - This is a really informative site Tris Hussey links to a Business Week article about Edwards dominating the web race, although I think Edwards is a long shot, I'd have to agree he has the smartest web presence. Tris writes: "While I think Edwards has a huge lead in the social media race, it is too early to say others can’t innovate and push the bar higher."
- By way of 901am.com - David Krug links to Chris P.'s Analysis of BrightCove in Uncut: The State of Online Video.
What is a Second-order Linkback? I check the link backs from Technorati, I see who links to my stories, and then I find an interesting link on that site. I call this gathering "Second-order Linkbacks". The reasoning here is that if someone linked to me (first-order relationship), there's a good chance that they also linked to other relevant material (second-order relationship). In other words, I'm linking to sites which are linked to from sites that linked back to me (uh...confused yet?) So, if you link to my posts, I'll usually click on your blog via Technorati, if it is interesting, I'll list your blog entry and then I'll look for something interesting. It is a reliable method for finding relevant content, and I'm surprised that no one has created a good tool to farm and aggregate second and third order links.
Monday, January 22, 2007
Adding a Reference to a CSS or Javascript Page in Wicket 2.0
From the diagram: your application extends Wicket's WebPage class with an AppPage class. This AppPage class adds a universal border to all pages on the site. A concrete HomePage class extends the AppPage class and, lastly, there are two sections (A and B) which each maintain a separate abtract section class to add section-specific navigation and components.
Where do we Add Prototype and Scriptaculous?
If you were going to add a reference to prototype.js and scriptaculous.js, you would do so in one of two places. A.) In the <script type="text/javascript" src="resource/js/prototype.js"></script>In this scenario, you will need to make sure that "prototype.js" is available under the resource/js/prototype.js path in the web application. Wicket will take care of prepending the content path to this reference. Adding a Reference to the AppPage Class To add a reference to the AppPage class, add some HeaderContributors. A HeaderContriburor is an implementation of IBehavior and can be added with the add() command
public AppPage() { new AppBorder(this, "border"); new FeedbackPanel(this, "status"); add( HeaderContributor.forJavaScript(ScriptaculousAjaxHandler.class,"prototype.js") ); add( HeaderContributor.forJavaScript(ScriptaculousAjaxHandler.class,"scriptaculous.js") ); }There are two convenience methods provided by HeaderContributor - forJavascript and forCss. Boh functions take a Class and the name of a resource. When using this method, the Javascript resources is stored on the classpath as a resource in the same package as the ScriptaculousAjaxHandler. The ScriptaculousAjaxHandler is a class that is bundled with wicket-contrib-scriptaculous.
Chad Fowler: The Big Rewrite
"You’ve got an existing, successful software product. You’ve hit the ceiling on extensibility and maintainability. Your project platform is inflexible, and your application is a software house of cards that can’t support another new feature."And from, Software As Spec:
Based on my own experiences and conversations with thousands of software developers around the planet, I unscientifically conclude that almost all production software is in such bad shape that it would be nearly useless as a guide to re-implementing itself. Now take this already bad picture, and extract only those products that are big, complex, and fragile enough to need a major rewrite, and the odds of success with this approach are significantly worse.
Saturday, January 20, 2007
2008 Presidential Technology Race: Urchin, Online Video, Linux, Apache
Candidate | Party | Technology | Tracking | OS/Server (via Netcraft) | Site | Who built? |
Barack Obama | Democratic | PHP | Urchin | Linux/SWS | ? | |
John McCain | Republican | ASP.NET | ? | Win 2003/IIS6 | ? | |
Chris Dodd | Democratic | J2EE | Site Meter | ? | ? | |
Joe Biden | Democratic | Zope (Python) | Site Meter, Urchin | IRIX / Apache 1.3 | ||
John Edwards | Democratic | LAMP (not sure) | Urchin | Linux/Apache | ||
Dennis Kucinich | Democratic | PHP (Drupal) | ? | Linux/Apache 2.2 | ? | |
Hillary Clinton | Democratic | ASP.NET | Urchin | Win 2003/IIS6 | ? | |
Mitt Romney | Republican | JSP | Site Catalyst | Linux/Apache 2.0 | ? | |
Tom Vilsack | Republican | PHP 5 | Urchin | Linux/Apache 2.0 | / | |
Sam Brownback | Republican | ASP.NET | Urchin | ? (not indexed yet) | / |
Defacement of a Defacement Mirror Site
Friday, January 19, 2007
Retrieving Typed Configuration with Commons Configuration
Typed configuration is very straightfoward with Commons Configuration. One of my pet peeves is having to translate numeric configuration parameters from String instances to the corresponding primitive type. The following example loads configuration from the test.properties file:
// import the necessary classes...
import java.net.URL;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationFactory;
// Load your configuration from the classpath...
Configuration config = new PropertiesConfiguration( "test.properties" );
// Retrieve configuration parameters
float timeout = config.getFloat("timeout"));
String region = config.getString("region"));
String name = config.getString("name"));
int speed = config.getInt("speed"));
The test.properties file has the format of a standard Java properties file, with a key and value on each new line:
timeout=12000.22
region=Paris
name=This is an Example
speed=55
If you need to convert to an Object instead of a primitive, you'll need to supply a default value to be used if the configuration parameters is not available. For example, the following code would set timeout to Float.NaN and speed to 0 if these parameters were not present in the specified properties file.
Float timeout = config.getFloat( "timeout", Float.NaN );
Integer speed = config.getInteger( "speed", new Integer( 0 ) );
