$3.00
I just spent $1.25 on a King Size Reese’s Peanut Butter Cups. 4 cups. Concentrated energy bursts throughout the day. I find they make me more productive. Worth the price for getting work done, not worth the price for my waist line. :)
Tweetie for iPhone is about to release version 2. Existing users will need [...]
Speaking to our children
There seems to be a lot of hoopla about our country’s President speaking to students next September 8th. And, of course, right wing parents have used this to further convince themselves that Obama’s motivation is to spread socialist propaganda and turn children against their parents.
At the center of the conspiracy theories are two documents produced [...]
Last Day
After nearly four years with IBM, the day has arrived. My final day with IBM as my employer.
During my time at IBM I found the BlueMail to be the most usable email and calendar client. I religiously tagged all my saved emails.
And so I generated a tag cloud of all my emails. I think it [...]
New Glasses
I am leaving IBM and joining Bandwidth.com.
When Joe Gregorio exited my team at IBM during the summer of 2007, he opaquely announced that he was joining Google by outlining that his job moves coincided with road construction providing faster routes to his previous employer.
I recently got a new pair of glasses. Here I am with [...]
Welcome back and welcoming Dave
Nearly a year since any activity on this blog. It has been far too long. I had high hopes on recording my thoughts as I traverse through the technical side of my life. (I contribute frequently with my wife on our family blog.) I recorded one such thought and got my hand slapped. In retrospect, [...]
Project Zero in the cloud
Michael Kimsal reviews Google’s App Engine and calls out Project Zero as being likely candidate for IBM to join the trend towards cloud computing…
I, too, would love to see Project Zero in the cloud as well.
…and so the pranks begin…
I was hoping that April Fools’ jokes on the Web would be passe this year. First I spotted this year. Of course, no hoax can ever top Google’s Pigeon Rank.
phpBB on Project Zero
Somehow this flew under my radar. Sad, considering I am on the project. Project Zero is starting to become self-hosted (to the extent it makes sense, of course) with its own support forum running phpBB on the Project Zero runtime itself.
So I went and dug deeper…
Back in January, Rob Nicholson and Iain Lewis posted that [...]
Idempotent
UPDATE: It seems Network Solutions has turned off their search “feature” where they register the domain you just searched.
Here is a fun little experiment…
Do a search for a random domain on GoDaddy.com. I chose networksolutionsactuallyregisterseverydomainsearched.com. If the domain has been taken, think of another one.
Then go to Network Solutions and do the search on the [...]
concocting slang
tuba
The greatest instrument known to man
And I’m sure Tuba News would agree.
Which reminds me. If you haven’t checked out the Google Chart API, you must. That project is the tuba. With the recent ChartMaker available, it reminds me where SaaS is going.
Misunderstanding REST, part 2
From Amazon SimpleDB homepage:
GET, PUT or DELETE items in your domain
Sounds RESTful? It isn’t. In fact, when Amazon’s SimpleDB went public on Friday, December 12, 2007, the opening paragraphs on its homepage claimed it "RESTfulness". Now, after community backlash, the homepage seems to be mysteriously lacking such a claim and you must dig deeper into [...]
Five Things
I was tagged by Joe Gregorio. A very long time ago. At the time my motive was to stop the viral madness. But, in sweeping out my drafts folder, I figured why not post the five things without ‘tagging’ anyone else:
I lived in Durban, South Africa from 1997 to 1999 serving a mission for my [...]
Entities are not resources
I’ve been thinking about data access a lot lately from two fronts:
Distributed–in particular HTTP, siding primarily with standardizing on the Atom Publishing Protocol as the default implementation of REST
In-process–in particular Java
As a result of my pondering, I believe there are two larger classifications of applications in the real world:
Entity-oriented applications define a clear set [...]
User-driven, Pre-emptive APIs
Aneel makes an argument for "tools vs. methods". To summarize, should tools enforce the methodology or methodology the tool.
Tools need to move when we do. And they need to be made to be moved by us. But, not in a vacuum. The idea of user-driven innovation should be built into professional tools. In organizations where [...]
Dumbledore Gets It, Why Doesn’t Data?
I’m a big fan of Google Docs. One of my favorite features is "Revisions": when a file is saved, an immutable state or versioned is saved and can be recalled. With a simple drop down box, I can restore a previous version.
Later, I’m talking with my brother-in-law about upcoming features of Mac OS X 10.5. [...]
When he’s done, wipe his bum
Isn’t Web Beans not just a little embarrassing, but an extremely painful admission for the Java world? Do not read this as an attack on Web Beans itself, but the implications represented by its mere existence. What problems is it solving? It is a solution for JEE 5’s current complexity, which was (JPA in particular) [...]
contekst.org » Blog Archive » Why did Java succeed ?
contekst.org » Blog Archive » Why did Java succeed ?
I have a sneaking suspicion that existing customer sets will not replace Java, there is way too much invested in the language, the libraries, the VM and in J2EE application servers. The change has to come from a new customer set.
Not only new customer sets, [...]
Tab Sweep
I think my list is indicative that I divide my attention too thin:
Java’s Fear of Commitment
ObjectGrid v6.1 User Guide
Grails Object Relational Mapping
Exhibit Examples from the SMILE project
World of Resources in Rails
Planet Venus Code
Robaccia Code
PLEAC-Python
Publishing a blog from a mod_atom store
Apache DBCP
The Power of Google Gears
Plaggar
Form to GData Spreadsheet
Python dispatch
RBatis
Microsoft Surface, iPhone and the future of UI
While interning at Microsoft during the summer of 2005, I had the opportunity to meet with the team working on the just announced Surface. Its difficult not to get excited about this type of technology. Its pervasive, consuming, and introduces new markets for software.
Surface is a large horizontal display that enables users to interact through [...]
Old Dog, New tricks
They say “you can’t teach an old dog new tricks.” That’s not always true.
In a previous post, Enterprise vs. Consumer: IBM’s false distinction, I layed out the need for IBM to approach software development differently; one that has a renewed focus on the consumer, or end users. At the root of the problem is [...]
why the lucky hack
So ‘why the lucky stiff’ has revealed the latest project, which is the culmination of several projects. Clearly impressed with everything from why, Hackety Hack deeply resonates with me. Having my first programming epiphony implementing the de facto ‘tic tac toe’ in BASIC for my brothers to play with, why is providing the same for [...]
I’m a Marvel…and I’m a DC
Genius…
Enterprise vs. Consumer: IBM’s false distinction
James Govenor of RedMonk observes that the tide is changing in the software industry. Where many have viewed Web 2.0 as simply eye candy or a different class of applications for consumers, James cuts right to the heart and soberly declares that IBM is on the path to loosing a software battle much like they [...]
Providing value to no one: why software is not "electable"
Several months ago, Seth Godin wrote an insightful piece on the difference between “electable” and “marketable,” claiming that it is easy to get the two confused.
To be marketable, you must be remarkable. Marketing isn’t about getting more than 50% market share, it’s about spreading your idea to enough people to be glad you did it…
Godin [...]
Outlook 2007 Feature Feedback
During my Master’s degree I interned with Microsoft. Specifically, I interned as a Program Manager with the Office Outlook team. My job for the summer was to become an expert in time zones, drive features for the 2007 release.
Those close to me know how immersed I can become in something. That summer, I threw myself [...]
100% guaranteed easiest way to do Enterprise 2.0
This rings very true. In my opinion, IBM does a fairly good job of staying out getting out of the way. In fact, a lot of the internal community tool innovation going on over the last few years is surfacing as Lotus Connections, which will enable enterprises with social tools. However, no amount of money can purchase a culture, which grows organically. Paraphrasing [...]
PUT is not UPDATE, cont’d
PUT remains one of the most confusing HTTP verbs because it is so frequently misdescribed, even by people who really do know better. The common description is that PUT is for UPDATE and POST is for creating new resources; and this is wrong, wrong, wrong.
Source: PUT is not UPDATE
Elliote is dead on here. I [...]
Using del.icio.us to find out what’s on your colleagues’ minds
It’s kind of fun getting a glimpse of what others are thinking about by subscribing to their del.icio.us bookmarks. Recently Joe Gregorio bookmarked the following…
Python Cheese Shop : zdaemon 2.0a6
monit
plope – supervisor2
Hmmm, whatcha thinking about, Joe?
Yahoo! Pipes
Everyone is a buzz about Yahoo!’s Pipes. And rightly so. This type of mashup builder might finally rid the word “mashup” from Google Maps. I got about 10 minutes of play time before the Eastern seaboard woke up to give the new service a try.
I need to play with this a bit more to have [...]
Eleven Emerging Ideas for SOA Architects in 2007
Dion Hinchcliffe nails a growing sentiment among many over the last few year(s). There have been enormous unncessary resources spent on the WS-* vs. REST debate. And whether what flavor you side with, the movement REST pundits push, sometimes vehemently, is summarized by Hinchcliffe as…”leveraging the fundamental strengths of the Web to turn applications into platforms.” [1]
I’ve heard [...]
Elitism is never good
Especially when we are trying to welcome peoplto the participatory age, folks…
Web 2.0 Criticisms
There are several criticisms about Web 2.0 going around lately on various blogs, including the Register…
I disagree. Kathy Sierra put it nicely in her post on Why Web 2.0 is more than a buzzword. The criticisms are from intelligent people. This is not just the Web 2.0 hatemongering in days, months, year past. These are [...]
Java VM as a platform, not a language
There are many sides to Java. Java EE, SE, ME and the hundreds of JSRs that “fit” somewhere else. Vendor collaboration has seen to that. The good news for Javists is that the powers that be seem primed and ready to open their minds to other languages.
Microsoft came out of the gate running with the [...]
One Enterprise Tool to Bind Them All
There is no silver bullet.
There is no such thing as a single Enterprise wide tool for any company of reasonable complexity and its plain silly to believe that the next technology wave will be any different from previous ones in terms of delivering on the promise of the “one ring to bind them” vision of [...]
Splitting REST
I talk a lot about REST. You can probably guess what my day-to-day is like. Get used to it.
There is a Mark vs. Mark (gentle) debate about REST, SOA, and WS-*. (Hint: look at the comments…insightful).
As for REST vs. SOA versus REST vs WS-*, I chose the former (despite noticing you using the latter) because [...]
Freedom and Safety Languages
Kevin Barnes describes the difference between “freedom” and “safety” languages.
Freedom languages are those languages that put the individual programmer at the center of their philosophical world.
Code Craft – Freedom languages – JournalHome.com
Some attributes of freedom languages:
Reduce verbose language constructs
“Post-modern” languages
Syntactically dense
Examples:
Ruby
Python
Perl
Smalltalk
Some attributes of safety languages:
Contracts between modules, objects, and functions
Focus on teams rather than individuals
Remove [...]
Misunderstanding REST
Jorgen Thelin concludes his current rant on Web 2.0 hype with…
And, as if to underscore why I don’t see the REST / POX / AJAX “religion” achieving too much traction among enterprises, try explaining the phrase “The Web is All About Relinquishing Control” to any corporate security manager!
TheArchitect.co.uk – Jorgen Thelin’s weblog: Why Web 2.0 [...]
REST vs. RESTful Application, Part 2
As if reading my mind from my previous post, Stefan Tilkov comments on Bruce Tate’s recent article “REST on Rails” on developerWorks.
Bruce says:
In a nutshell, REST:
Uses TCP/IP naming standards to name resources on the Web
Queries and manipulates those resources with HTTP
Uses standard text-based message formats like XML or HTML to structure data
Crossing borders: REST on [...]
REST vs. RESTful Application
Today I was reminincing with a colleague about discussions my team had during the early stages of my current project. To many on the team, the principles of REST were very new and we all had growing experiences with changing our thinking from RPC thinking to resource thinking. We have come a long way and [...]
Love the Link
Sam Ruby comments on Web Oriented Architecture (WOA) and Resource Oriented Architecture (ROA), claiming them both excellent. But he feels the community is forgetting about the Web’s fundemental building block…the hyperlink.
The link is the glue that holds the web together. It is what differentiates the web from protocols like ftp that merely serve as [...]
Microtemplates
I’ve been researching the viability client-side MVC implementations. This would involve rendering templates from raw data on the client. I came across microtemplates which builds on the idea of microformats.
Microtemplates are templates specified in plain HTML syntax that overload the CSS class attribute to indicate how to display data.
Main Page – microtemplates
JavaScript Closures
I found a fairly comprehensive essay/tutorial/FAQ about closure support in JavaScript. The document provides everything from definitions, ECMAScript prototype specifications, variable scoping, and examples.
The simple explanation of a Closure is that ECMAScript allows inner functions; function definitions and function expressions that are inside the function bodes of other functions.
Javascript Closures
JavaScript on the Server?
I don’t know exactly how I feel about the idea of JavaScript executing on the server. Perhaps it is simply because JavaScript is immediately associated with web browser scripting. Other scripting lanaguges enjoy server processing success, so why not JavaScript.
Let’s track how this one goes…
Project Phobos is a lightweight, scripting-friendly, web application environment running on [...]
Jifty is Nifty
This could be huge…
Jifty
Hype can be funny
Clearly, I do not endorse making light the seriousness the plight of some friends in Israel, but this low brow to Rails’ supposed hype made me smile.
Personally, I started building a production app with Rails as a test, and the Lebanese / Israeli conflict started up. Obviously World Peace is not one of its features! [...]
Object Persistence vs. Data Access API
I look at domain classes constructs from Rails’ ActiveRecord and Django, among others, and am jealous. Although they make enough simplifying assumptions to make integration with existing database schemas a headache, their pure simplicity make it a home run for greenfield projects.
Switch to Java, and we have a simplified Java Persistence Architecture. It is simplified [...]
RESTfully Thinking
A resource can map to the empty set, which allows references to be made to aconcept before any realization of that concept exists — a notion that was foreign to most hypertext systems prior to the Web.
http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_2_1
This is an interesting concept. Through the use of status codes, I can indicate to a client the state [...]
RDF as I understand it
I know I’m stating the obvious but posting for sanity sake. The anything can be described as a URI. Any URI can be related to another URI with a predicate. So…
<http://16cards.com/person/Brandon_Smith>
<http://purl.org/relationship/father>
<http://16cards.com/person/Brooklyn_Smith>
We’re talking about a distributed relational system. How can we assert authority?
Google BigTable: A Distributed Structured Storage System
Two weeks ago at OSCON Google announced their new offering…open source code hosting. Their initial feautres, although interesting, are not yet a compelling reason to move your project from SourceForge and the like. As all “beta” software, features will expand, be refined, and improve.
There were two interesting pieces that I picked on during the presentation [...]
Atom and Optimistic Concurrency
Elias illustrates some thoughts about optimistic concurrency control and announces that Queso now implements OCC…
What does OCC as described by Google gives us? In my opinion, it takes Atom Protocol implementors (client and server) closer to a level where they can start thinking about merge procedures but they are not there yet.
Elias Torres » Blog [...]
Unintentional, unfortunate domain names
A site called ‘Who Represents‘ where you can find the name of the agent that represents a celebrity
Agylen » Unintentionally funny company URLs
Many of these in a top ten list of quite unfortunate domain names caused out loud laughter.
Framework Complexity
Is this what abstraction has truly come to?…
Incremental Operations » Java call stack – from HTTP upto JDBC as a picture
OSCON ‘06 Review Five: Funny
I had to mention something rather funny. Jason Robbins, in the middle of a jam-packed session announcing Google’s new open source project hosting offering, accidently displayed an administration screen of the web app showing his password.
“I’ll have to change that.” Is all he said.
OSCON ‘06 Review Four: Codependency in the Age of Mashups
David Sklar gave an excellent presentation about service dependency in the age of mashups. The irony of the presentation is that David’s connection to the projector kept crapping out every 15 seconds or so. A presentation on dependency when a dependency to the presentation kept failing. Wow. Sorry I had to spell that one out.
I’ve [...]
OSCON ‘06 Review Three: Dangerous Indifference
Atom and the Atom Publishing Protocol was discussed in various forms and fashions. I’ll post later about Tim Bray’s session specifically on the Atom Publishing Protocol? One session, however, not directly on Atom itself, caught my attention.
Rasmus Lerdorf of PHP and Yahoo fame gave an insightful presentation PHP. It was detailed with everything from exectuion [...]
Ignorant or Intentional: Doctor Fee Avoidance
The thing that amazed me about the medical treatment wasn’t the quality of the doctors, nor the amazing advances in medicine, but that nobody could tell me how much the procedure would cost. It was exasperating.
Get Rich Slowly » Why Don’t Doctors Know How Much Their Services Cost?
One of my favorite blogs, “Get Rich Slowly”, [...]
OSCON ‘06 Review Two: Appliances
Every MindTouch [Managed Office Server] comes with a subscription to the MindTouch “Zero-Maintenance” Service. You never have to worry about installing, configuring, backing up, upgrading, patching, or anything else, because we take care of it all for you…
MindTouch – Learn More About the Managed Office Server (MOS)
One trend I noticed at OSCON this year is [...]
JSON: Or why this love affair may soon end
JSON. It promises much. Using native browser Javascript parsing, the client can magically operate on data retrieved from the server with a trivial eval function call.
Using <script src=”…”/> to pull down data from another domain, something XMLHttpRequest cannot do.
JSON, as you all know, is an acronym for JavaScript Object Notation. Objects are not just data. [...]
Tri-XML and all those “Hidden” Conferences
How did I not know about this conference? It was right in my backyard. Someone needs to create a conference feed organized by date and by location. The big ones are easy to find and are rewarding. But it is often these smaller ones where the real issues are hammered out.
This 4th annual conference is [...]
REST vs. WSDL
Steve over at NetKernel has an interesting take on the current state of Web services (the WSDL kind). It is the latest, and certainly not the last, that is helping me to shape my thoughts around the whole REST vs. SOAP/WSDL or REST compliments SOAP/WSDL debate.
Steve’s comments are in reaction to Simon of salesforce.com and [...]
Let’s REST!
A bunch of links to RESTful resources I’ve collated here and there
Alex Barnett blog : Let’s REST!
Alex Barnett has a list of REST resources discussing the good and the bad, the how and the why. Since I have an affinity to the Atom Publishing Protocol, all of these have been read and read again. All [...]
More on Queso
put a web front-end onto [an] RDF store
~wingerz » Blog Archive » A Queso Example
Over at ~wingerz, a more thorough explanation of what technologies are involved with Queso.
RDF
Atom
JSON
XHTML
RDFa
SPARQL
Microtemplates
Scenarios are spelled out and how all these technologies interact to create a simple, yet cohesive, application. The potential of this application is by introducing semi-structured data through [...]
A Web 2.0 Server…Elias’ new project
Elias Torres has a new project brewing and a great demo. As I am greatly interested in all things Atom, thought I’d pass it along…
…if you are an Atom hacker, all you need besides your knowledge of the protocol is Vi and curl.
Elias Torres » Blog Archive » Queso – a Semantic Web/Web 2.0 server
The [...]
OSCON ‘06 Review One: Web Technologies
Ajax was big at this year’s OSCON. Whereas the phrase “Web 2.0” seemed to be accompanied by awkwardly constructed sentences, noticable hesitations, or nervous laughter, “Ajax” flowed of the tongue like sugar.
Although this is only my second OSCON in as many years, from discussion with a sample of those I met this last week, OSCON [...]
Unpackit: An offended user of Backpack
Update: It has been a few weeks. Now that the dust has settled, I’d like to note that I made an enormous mistake posting these thoughts. I am, in fact, embarassed that I even had them to begin with. I apologize to 37signals and applaud their strategy to convert freeloaders to paying customers. I am [...]
Service Provider
Why didn’t I know about this before?
http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html#Service%20Provider
A service provider identifies itself by placing a provider-configuration file in the resource directory META-INF/services.
Asynchronous ColdFusion
In a past life I was an avid ColdFusion developer from 1998 to 2004. In fact, it was the transition from ColdFusion implemented atop of J2EE that got me into Java. I had opportunity on several occations to provide feedback on Allaire and then Macromedia about features and enhancements.
One feature I suggested for the current [...]
The Boon and Bane of Folksonomy
Elias makes an interesing point about tagging and folksonomy. Typically tagging’s shortcomings can be categorized into false positives and false negatives.
The false positives are obvious. The false negatives are somewhat more subtler. Not everyone has the same folksonomy. This is both the boon and bane of folksonomy. The boon is those with similar folksonomy can [...]
OSCON is a week away
I’ll be attending OSCON next week. This will be my first conference working for IBM. It will be different attending the event from something different than an academic mindset. However, my position with IBM allows for more research and prototyping than a typical developer position.
I’d love to meet up with other OSCON attendees.
Check out my [...]
OSCON Schedule
I can’t decide between several sessions. I wish I had that thingy from Harry Potter that Hermoine uses to attend classes that overlap. Regardless, here is the tentative plan. If you have any suggestions let me know:
OSCON Google Calendar
This is it
And here we go. I have things to say…they’re going to get said. This is a blog primarily about my interests. Technology, life, and family.
Mostly about the stuff I’m currently researching and prototyping for my job with IBM. Clearly never any specifics, etc. about such projects, but enough depth and to wet your taste to [...]
Introducing My Family
Brooklyn (1), my wife, Tassi, and myself in the fall leaves of Pittsburgh.
Autumn 2005
About
Hi. I am Brandon Smith. As I travel through life, I record it here.
A little about me…
I’m a husband and father
I work at IBM
I write songs that make loved ones cry
I played bass in a previous life
I am a music snob