Take the First Step
Dwight Shih's Soap Box on the Internet Commons
Home
Technology
Sports
Java
2017
Sep 17
Spring Configuration and Profiles
Sep 10
Externalized Configuration in Spring
2015
Nov 8
CloudFront Checkpoint/Hexo Theme Update
Nov 3
Cucumber-java and TestNG
Nov 1
Jersey Client with Gson
Oct 31
jersey-gson Content-Type Woes
Oct 25
Autostart Jetty in Maven
Oct 24
DataTables Column Search
Oct 20
SSL SNI Alert
Oct 18
SSL Enabled
Oct 17
s3cmd Revisited x2
Oct 10
I Like XML
Oct 4
Version Control +1
Oct 3
Half my Traffic is Bots
Sep 27
s3cmd Revisited
Sep 13
Controlling Cloudfront
Sep 12
Adding Cloudfront
Aug 16
DataTables, Bootstrap and Text Overflow
Jul 12
DataTables edit Locally
Jun 21
JQuery Ajax and Selenium
Jun 14
DataTables and Selenium
Jun 7
Bootstrap Modals and Selenium
Mar 15
Fun with DataTables
2014
Nov 16
DataTables ajax error handling
Oct 23
DataTables Column Render
Oct 12
Modal Dialog for Jersey, Gson and DataTables
Oct 4
Jersey, Gson and DataTables
Sep 30
Custom marshalling with Gson - part 2
Sep 29
Custom marshalling with Gson - part 1
Sep 28
Jersey and Gson
Sep 27
Maven lifecycle and plugins
Sep 21
Deploy to Tomcat with maven
Sep 20
Getting started with Maven
Sep 1
Parking Page on Cloud Storage
Aug 31
Smalltalk and Me
Aug 24
The Platform Wins
Aug 9
Jekyll on the Go
Aug 3
emacs, windows, and ack
Aug 2
Custom Domain with GitHub Pages
Jul 2
Infrastructure Updates
Jun 8
The Long Game
Jun 8
Wall Wart Woes
May 17
Jekyll on GitHub Pages Part 2
May 11
Jekyll on GitHub Pages
May 9
First month on S3
May 3
Back to the Command Line
Apr 26
Nitrous.IO
Apr 13
Managing my S3 WebSite
Apr 12
Tin Foil Hat
Apr 12
I'm Back
Apr 7
The End of Innocence
Apr 6
Hello, Hexo
Apr 5
Two Lifetimes
2011
Dec 7
Authoritative, but not Illuminating
Dec 4
Stalk WebCam
Oct 29
iPhone Battery Woes
Jul 8
Pick Two
2010
Oct 2
Using XSL Param
Sep 23
Using soapUI Project Properties
Sep 12
Adding a REST Service to SoapUI
Sep 11
Simple XSL Transforms
Sep 6
A Simple XSL Servlet
Jul 11
BeanShell Timer in JMeter
2009
Aug 23
iPhone Newbie - Scroll to Top
Jul 26
Time Capsule Repair
Jul 22
iPhone Newbie - Display Song Lyrics
Jul 19
iPhone Newbie - ScreenShots and Lists
Jul 11
Prowl for iPhone
Jul 5
iPhone Newbie
May 3
Flat Files with Angle Brackets
Apr 18
More on the Ant PropertyFile Task
2008
Oct 5
Building an executable jar with Ant
Sep 19
Java Web Services Message Client Redux
Aug 10
Two weeks with Vista
May 19
Xobni
May 18
Housekeeping
Apr 27
Open Source JMS Providers
Apr 26
Leopard Configuration IV
Apr 6
Brief History of Blogging
Mar 16
Leopard Configuration III
Mar 9
Little Things
Mar 9
ExpanDrive +1
Mar 8
Leopard Configuration II
Mar 2
Inline Style +1
Mar 1
Leopard!
Feb 9
Examining your Java Application with a Debugging Proxy
Feb 2
Customized into a Corner
Jan 27
Using a Debugging Proxy
2007
Jul 28
Know Thyself
May 18
New Toy
Mar 6
TiddlyWiki
Feb 12
Apache TCPMon
Feb 7
Java Web Services Message Client
Feb 4
Page Rank is Back
Jan 21
Wrong Again
Jan 7
Lame 8300HD UI
2006
Oct 16
Value Pricing
Oct 1
Modifying Property Files with Ant
Sep 24
The Spec is only the Beginning
Aug 29
Browsercam for the Little Guy
Aug 24
Google Analytics
Aug 22
Feed Updates
Aug 20
Site Renovation
Aug 5
EDI Notepad
Jul 27
mod_rewrite for Radio Userland Refugees
Jul 23
.htaccess Frenzy
Jul 3
This Feed is My Feed
Jun 29
sanitize html
Jun 12
Migrating from Radio Userland to TextPattern
Jun 11
Layout In Progress
Jun 5
Too Little, Too Late
May 23
TextPattern
May 21
Macbook Craving
Feb 26
Back to Basics
Feb 20
Rails, FastCGI, Apache and lightTPD
Feb 18
What about Squib?
Feb 15
The Mixed Grill
Feb 12
I Hate Free Web Hosts
2005
Oct 24
LCD Bang for the Buck
Oct 13
28 days with HDTV
Oct 10
HDTV has landed
Sep 10
Blacklisting .info
May 25
I've Arrived
Apr 12
Try the Hedgehog
Apr 11
Rails and FastCGI
Apr 7
Subversion +2
Apr 5
Sanitize HTML in Ruby (cont)
Mar 23
Learn Ruby in Three Weeks
Mar 22
inject, inject, inject
Mar 21
Ruby Variable Scope and Blocks
Mar 18
Downloading Comments and Trackback Pings
Mar 17
Sanitize HTML in Ruby
Mar 16
Ruby Follies: do-end not do-done
Mar 15
Why Ruby?
Mar 8
Rendering Comments in Radio
Mar 7
Privilege and Responsibility
Mar 2
Google to Use DMOZ Listings
Mar 1
Life is a Camel
Mar 1
D-Link DI-624 and AirPort Extreme
Feb 28
Reading, Writing and 3rd Party Intervention
Feb 26
iPod in the Tornado
Feb 24
My Backup Strategy
Feb 14
Dear BrowserCam
Feb 2
URL Escrow Deconstructed
Jan 30
URL Escrow
Jan 26
Say No to Private Syndication
Jan 23
Blogging, Dollars and the e Word
Jan 21
RSS is Broadcast not Narrowcast
Jan 20
RSS is a Transient Representation of Permanent Content
Jan 20
The nofollow Silver Lining
Jan 19
rel="nofollow"
Jan 19
RSS not equal to eMail
Jan 18
Unleash the Power of RSS
Jan 16
Context and Attribution Redux
Jan 15
Mob Justice
Jan 13
Branding Matters
Jan 12
Your Customers are Talking About You ...
Jan 11
Mac mini
Jan 6
New PowerBook
Jan 3
Cultivate Great Customers, Fire Your Failures
2004
Dec 22
Blogging for Business
Dec 17
Integrated Search for Knowledge Blogging
Dec 16
AppleCare and Why I Recommended a Dell
Dec 14
They Also Serve Who Index and Link
Dec 8
Solution is Useful and Repeatable
Dec 7
Whole Product Solution
Dec 3
Standalone Comment and Trackback Update
Dec 2
No GoDaddy No!
Dec 2
Movable Type 3 Bible
Dec 1
Vandals 3 - Ideoplex 0
Nov 30
Me and My Spammer
Nov 22
Important not Urgent
Nov 21
An RSS Epiphany
Nov 19
The Inner Nature of RSS
Nov 19
Why do Ideas Die?
Nov 18
Fighting Comment Spam
Nov 17
The Poor Man's i2
Nov 14
TextPattern Migration Status
Nov 10
Comment Spam Update
Oct 29
Tivo Suggestion Failure
Oct 25
iBook Logic Board Woes
Oct 19
NewsGator Online Services
Oct 14
Radio Comment Update Ahead
Oct 14
RSS and Ads
Oct 13
Comment Spam Update
Oct 5
Standalone Comment and Trackback Update
Oct 3
Comment Spam 3 - Ideoplex 6
Oct 1
Comment Spam 3 - Ideoplex 2
Sep 27
Standalone Comment and Trackback Update
Sep 25
Comment Spam 2 - Ideoplex 2
Sep 23
Commenting System Update: Tag Moderation
Sep 14
RSS Bandwidth and If-Modified-Since
Sep 13
Number 50
Sep 9
RSS Bandwidth
Sep 8
Countering Comment Spam
Sep 7
Missing Mac Software
Sep 1
Gmail Impressions
Sep 1
Rite of Passage
Aug 31
Leaving Radio Userland?
Aug 27
Will Blogging Kill the PR Star?
Aug 19
Google IPO: Success or Failure?
Aug 18
Why FastMail?
Aug 18
Google News
Aug 18
Competition is Good
Aug 12
Pricing Pains
Aug 6
Domain Name Fixation
Aug 5
Focus, Focus, Focus
Aug 4
Radio Roadmap Up
Aug 3
Improving Radio Comments
Aug 3
It's Alive
Aug 2
Tivo Peeves
Aug 2
Urchin and RSS
Aug 2
Cingular, V600, Bluetooth and Macs
Jul 27
Tivo Plus has Landed
Jul 18
My Weekend with Microsoft
Jul 14
Don't be too clever
Jul 14
Yes it is Black and White
Jul 13
Feedburner, Feed Recovery, and Feed Escrow
Jul 2
Temptation, thy name is Tivo
Jun 30
Who Are You?
Jun 29
What is CRM?
Jun 28
Tivo has landed
Jun 28
Number 75
Jun 25
NewsGator Closes Series A Funding
Jun 25
PageRank and the Perpetuity of Error
Jun 24
Broadcast, Narrow Audience
Jun 24
Weblogs.com Rises from the Flames
Jun 23
Users to be held Accountable?
Jun 22
Collection of Links or Link Blog?
Jun 22
TextPattern
Jun 21
The Art of RSS
Jun 21
Work in Progress
Jun 18
URL Escrow
Jun 17
New York Geek Dinner
Jun 17
Available
Jun 16
New Movable Type Pricing
Jun 16
Unable to drop tables in MySQL
Jun 15
Tests are the real contract
Jun 14
Why TextPattern?
Jun 11
Moving up the CMS Food Chain
Jun 9
Test Driven Management
Jun 6
RSS and Advertising
Jun 3
Gorilla Marketing
Jun 3
What I could have learned from XP
May 25
Know What You're Selling
May 24
Leaving Money on the Table
May 24
Which XML Icon?
May 22
Value Pricing - NOT
May 21
All idioms are learned, Good idioms are only learned once
May 21
Cascading actions from Parent to Child in Hibernate
May 20
Follow the Money
May 19
Link of a Link Whitelists
May 18
TypeKey: Dead or Alive?
May 17
Focus on the Save
May 16
Sideline View of the MT 3.0 Imbroglio
May 16
Customer or Community?
May 14
Standalone Trackback and Comment Update
May 14
Advertising Over Dose
May 13
RSS Auto-Discovery Pages
May 12
Wireless-G Notebook Short Card
May 12
Relocation Alert Please
May 11
Fastmail Email Recommendation
May 7
Java Tutorial Woes
May 4
When all you have are lemons, make lemonade
May 3
Corporate Blogging?
Apr 30
Headless Mac
Apr 30
OpenEJB Wiki
Apr 24
Gmail Appliance
Apr 20
The New Gatekeepers
Apr 16
Blogging and Journalism WrapUp
Apr 15
Number 91!
Apr 14
The Perry Mason Effect
Apr 13
Get out of Jail Free
Apr 12
Demosthenes and Locke
Apr 9
Body of Work
Apr 8
Blogging and Journalism
Mar 31
A Simple Entity Bean with OpenEJB
Mar 29
Tying not Bundling
Mar 25
Unintended Consequences
Mar 24
Google Leech
Mar 22
Killing Fleas with Bombs
Mar 15
Where's the Money?
Mar 8
No Tivo Here
Mar 4
Shades of Gray
Mar 3
Crossing the Smalltalk Chasm
Feb 27
Old dogs, New tricks
Feb 26
Market what you've got
Feb 23
Karma and Glass Houses
Feb 22
Yahoo Directory Update
Feb 19
Yahoo RSS Directory
Feb 19
Fakester Network
Feb 18
Yahoo Search
Feb 13
A Question of Intent
Feb 13
Dabbling with RSS
Feb 12
Unsymmetric Relationships in Social Networks
Feb 11
Don't Be Evil
Feb 11
Context and Attribution
Feb 10
All links are not equal
Feb 9
My Favorite Programming Language
Feb 8
Why fix what isn't broken?
Feb 4
Why Upgrade to Longhorn?
Jan 30
Here in the Here and Now
Jan 29
Getting Started with OpenEJB
Jan 28
Google Leeches
Jan 27
Why Use Standalone Comment and Trackback Servers?
Jan 26
Standalone Comments and Trackback for Radio Userland
Jan 25
Bloggers, Start Your Directories
Jan 24
No mod_gzip here
Jan 23
The Itch You Just Can't Scratch
Jan 22
If the only tool you have is a weblog ...
Jan 13
Reading Lists
Jan 9
Raw vs Moderated
Jan 6
Try to play nice
Jan 5
Content vs Presentation
2003
Dec 11
Adding a Hibern8IDE browser to your Hibernate Project
Dec 10
RSS Bandwidth Efficiency
Dec 8
Standalone Trackback Security
Dec 4
Standalone Comments
Dec 1
Standalone Trackback for Radio Userland
Nov 18
Does Personalization Work?
Nov 17
Amazon Becomess Less Useful as a Bookseller
Nov 13
Making Money with RSS
Nov 7
Readership Data
Nov 6
Trackback Redux
Nov 4
We've got Trackback
Oct 30
Just like riding a Bicycle
Oct 27
Radio Userland Dissed Again
Oct 23
Now available: Radio Userland Kick Start
Oct 22
Segmented Branches of Knowledge
Oct 7
The RSS Chasm
Sep 27
I'd buy Radio Userland Again
Sep 18
Hibernate Joins JBoss
Sep 15
Wanted: CMS for a Political Campaign
Sep 12
RSS Bandwidth Efficiency
Sep 9
SF Dreaming
Sep 8
Fire your Bad Customers Run Amuck
Sep 5
With great power comes great responsibility
Aug 29
Where the Rubber meets the Road
Aug 25
IT Still a Great Career
Aug 21
RSS, Email and 1-to-1 Marketing
Aug 20
RSS User IDs
Aug 19
Marketing by RSS
Aug 18
Hibernate Prototyping with the BeanShell
Aug 14
Drawing the Line
Aug 11
Three Laws of Nonsense
Aug 10
Full Posts vs Headlines
Aug 6
A Persistent Collection with Hibernate
Aug 5
I've Grown Accustomed to Radio Userland
Aug 2
This is True
Jul 28
My RSS Brand
Jul 25
Musing about RSS
Jul 24
Corporate/Personal Identity
Jul 23
An Envelope, not a Format
Jul 22
I Love RSS
Jul 19
Bravo
Jul 17
Controlling Hibernate Output with Log4J
Jul 15
Hoist with our own Petard
Jul 14
Every bug has a Story
Jul 14
Entry Drafts in Radio Userland
Jul 11
Setting Java System Properties with Ant
Jul 9
So you want to learn Hibernate
Jul 8
I'll pay for a better URL
Jul 8
You gotta do what you gotta do
Jul 8
I'm still waiting
Jul 7
Today I am a Beta Tester
Jul 6
We must all hang together, or assuredly we will all hang separately
Jul 4
Stop the Madness
Jun 30
KISS
Jun 25
Found: Another Reader
Jun 24
DMOZ Update
Jun 23
What about the BeanShell?
Jun 18
My RSS Toolchest
Jun 17
Integrating RSS and Email
Jun 16
Who wants to read Yesterday's RSS?
Jun 13
It's in the way that you use it
Jun 12
Weblogs != RSS
Jun 11
What about REALbasic?
Jun 9
Ad Supported RSS
Jun 6
The RSS Soundbite
Jun 5
Yes, But
Jun 3
Ad Supported RSS
Jun 3
How to Identify Your Enemies before they Destroy You
Jun 3
6 IT decisions IT shouldn't make
Jun 2
What Will People Buy?
Jun 1
What Might I Buy?
May 30
What Have I Bought?
May 29
The Right Question
May 29
Radio Userland Kick Start
May 28
Swiss Army Radio
May 26
RSS, Aggregators & Ads
May 25
Thinking Out Loud
May 25
Where's the Beef?
May 24
The Inner Circle
May 21
The Future of Content Management
May 20
Setting Properties with Ant Tasks
May 16
Past Performance is no Guarantee
May 16
Mitigating Risk
May 15
What is the Relationship between a Portal and a CMS?
May 13
My next RSS Client
May 12
Spam, Newsletters and RSS
May 9
Singing His Favorite Tune
May 7
RSS Rocks
May 6
Conditional Execution in Ant
May 5
Is It The Shoes?
May 2
The Next Step in Trustworthy Computing
May 1
Open Source and Innovation
Apr 30
Just in case anyone at Microsoft is listening...
Apr 29
It's in the way that you use it
Apr 25
Portal vs CMS
Apr 22
The Money is in the Details
Apr 21
Where the Rubber meets the Road
Apr 18
Evangelist Should be a User
Apr 16
Scoble Goes to Microsoft
Apr 10
What if it doesn't work
Apr 7
Competing with Open Source
Apr 4
Time, Talent, Money
Apr 2
Making Markets Takes Money
Apr 1
Buying into Knowledge Management
Mar 31
Weblogs and Filing Cabinets
Mar 31
Emacs is the one true Editor
Mar 30
Becoming a .Net Programmer
Mar 28
The Unix Programming Environment
Mar 26
What's the deal with XML and Content Management?
Mar 23
Microsoft's Dilemma
Mar 19
A Victim of its own Success
Mar 14
Why is CMS so Confusing?
Mar 8
The Google Habit
Mar 6
What is a Content Management System
Feb 28
Ant and multiple JUnit test cases
Feb 25
Taking the Quiz
Feb 20
Make them Blog
Feb 19
The Google K-Blog
Feb 18
Google buys Pyra
Feb 16
Ant and JUnit
Feb 4
Using Ant Properties
Jan 24
Ant Hello World Revisited
Jan 22
Build, Buy, or Partner
Jan 17
Ant Hello World
Jan 15
I Switched
Home
Technology
Sports
Java