June 19th, 2008
Thanks, everyone, for your feedback about the Desktop Analytics software.
I’ve made the following platform choices:
Initially, the embeddable client library will strictly provide a C interface for Windows. In future versions, I’ll also provide wrappers in popular high-level languages, starting with C# and Java. At some point, the library will also be available for Linux and Mac OS X.
The server will be developed as a standalone Java server (i.e., without requiring Tomcat or JBoss or anything like that) with a MySQL backend. Future versions will enable more database choices (probably starting with SQL Server), though I won’t develop a non-Java version.
In a subsequent version, I’ll also release a “reflector” module in PHP/MySQL. The reflector will be a dumb server component that listens for events from the embedded client library and stuffs them into a database. Periodically, it will connect to the main server and send a batch of data. The purpose of the reflector module will be for developers who don’t want their users to see an outgoing HTTP request to an unfamiliar domain, but who don’t want to actually host the main server themselves. At some point, the reflector will probably also serve as a load-balancer and/or a failover mechanism.
The reporting client, with all the fancy charts, will be developed in C# using the .Net 3.5 framework, for maximum WPF goodness.
Thanks again for your help in choosing platforms!
Posted in software, 30daysprint | 3 Comments »
June 15th, 2008
I know not everyone is interested in getting a truckload of business intelligence about the users of their software. But for those of you who think the Desktop Analytics project is pretty cool, tell me a little bit about your development platforms.
Do you use Java or .Net to develop your desktop software? Or are you maybe using C++ with MFC or WxWidgets? Anyone selling desktop software built with Ruby or Python?
Do you have a server? Is it Windows or Linux? Do you have your own server, or do you use a VPS account? Or just a shared web server, with PHP/MySQL? Do you have permission to install your own software into your server environment? Are you already running a Java app server? Tomcat, or something else?
Whatever platforms people seem interested in are the ones I’ll focus on in my development, so express you preferences here!
Posted in software, 30daysprint | 10 Comments »
June 13th, 2008
I’d like to solicit some feedback on a GUI mockup I’ve put together, for the deskop analytics project (click to enlarge):

Without any additional commentary on my part, what do you think of that design? I’ll answer questions in the comments section.
Posted in software, 30daysprint | 13 Comments »
June 2nd, 2008
First of all, let’s start by assuming that you love hilarious tee-shirts.
Something, perhaps, to express your knowledge of contemporary video-game pop culture, while simultaneously making an ironic commentary about being a complete social misfit. Not just a run-of-the-mill computer nerd. But maybe a former a member of an actual high school band. Brass section.
Maybe something like this…
Read the rest of this entry »
Posted in software, 30daysprint | 16 Comments »
June 1st, 2008
A handful of steadfast readers out there may remember that, a few years back, I challenged myself with developing a list of 30 unique business ideas in 30 days, with the goal of launching a product and building a business.
During that time, I did a lot of blogging (sometimes as late as 3am, to write a blog entry while on vacation, after everyone else had fallen asleep). The whole endeavor really got me into a mindset of wide-open possibilities, to the point where it was hard to stop thinking of new ideas and actually focus on just one.
(I’m going to make a bold statement: The people who complain about a lack of software ideas have never really spent a significant chunk of time going through a methodical brainstorming process.)
Now, after two years, I’m finally making good on the implied promise of that brainstorming month.
At the end of June, I’m going to release a new product.
Later this afternoon, I’m going to write my first line of code.
Read the rest of this entry »
Posted in software, 30daysprint | 1 Comment »
December 10th, 2007
So, I finally bit the bullet and started my own company. I’ve been a free-agent for about three weeks now, and I love it.
Hooray for me!!
The new company is called Wry Research, and at least at first, I’m mostly just doing AI research consulting for a couple of clients. I’m trying to also fit in some original product development, when I have spare time. But I don’t have a whole hell of a lot of spare time, so I’m mostly just consulting right now.
But life is very good, and I’m enjoying the freedom and flexibility of being a solo software developer.
In the near future, I’ll talk about some of the work I’m doing as a consultant. I’ll also talk a little bit about a really cool research project that I’m doing, in conjunction with the Columbia Medical School Neurovascular Research Lab. Depending on the success of the research, it could lead me to developing a very cool product/service for the medical research community.
I’ll keep ya posted :)
Posted in software, biz | 9 Comments »
August 7th, 2007
Last week, the Eternity II puzzle (which I’ve talked about here and here) went on sale. I can finally wipe up the drool-puddle-of-anticipation that’s been forming on my desk and get to work cracking this nut.
Unfortunately for those of us in the United States, the puzzle is not available here, and there are very few online retailers willing to ship the puzzle to the USA.
But I did track down the puzzle at Hamley’s and placed my order. Their online shopping cart is a little bit crappy (it got confused verifying my non-European billing address), so I had to call them on the phone ( (+44) 800 2802 444) and a very friendly girl with an Irish accent took my order.
I placed the order at noon last Wednesday, and the package was delivered (in Boston, MA) by about 2:00 pm on Friday.
Holy crap.
At first, I thought they must have used an American order-fulfillment location, but the package had international shipping stickers and a return address in the UK, so it seems to be an actual international delivery. Fulfilled in just two days. I’m very very impressed. I had no idea that it was even possible to ship something overseas so quickly.
The puzzle cost £35, plus another £25 for shipping. With today’s lousy exchange rates and the weak dollar, that’s a total of $120. Unfortunately, when I win the $2 million prize, that means I’ll really only be netting $119,999,880.
Bummer.
Anyhow, if any of you American algorithm enthusiasts have been sulking because you can’t get Eternity II here, sulk no more!!
Posted in eternityii | 13 Comments »
June 4th, 2007
I was browsing around tonight, as I sometimes do, looking for interesting CS research publications, and I stumbled upon this little tidbit:
Jigsaw Puzzles, Edge Matching, and Polyomino Packing: Connections and Complexity
For those of you share my fascination with the Eternity II Puzzle, you’ll definitely be interested in reading this paper. In it, the author talks about the various degrees of complexity of jigsaw puzzles, polyomino packing puzzles (Eternity), and edge-matching puzzles (Eternity II).
I don’t mean to spoil the punchline or anything, but they’re all NP-complete, meaning the most successful algorithms will involve optimization, approximation, partial solutions, and problem decomposition.
Interestingly, the author also provides a proof that all three types of puzzles are trivially transformable into one another. In other words, a polyomino packing puzzle like Eternity could be logically transformed into an edge-matching puzzle like Eternity II, and the two puzzles would share the same locus of possible solutions.
Hopefully, that helps at least one of us get a little closer to the big $2 million bounty!!
Posted in software | 2 Comments »
May 2nd, 2007
The last few years have been an exciting time in the Enterprise Java world. We’ve seen a proliferation of lightweight application frameworks that vastly simplify the wiring of applications without introducing dreaded dependencies into our precious class hierarchies.
But these frameworks still fall short of the mark. Every time you use an import statement or define a new class, you place a burden on the consumers of your application. Import statements create dependencies on other classes in your project. The existence of specific methods and (even worse) classes, constrain the functionality of your application to the features defined at compile-time by your developers.
Based on these unacceptable constraints, I’ve been working hard on a new “Elimination of Code” framework (EoC), and I’m proud today to announce the availability of the Sproiiiing framework!!!
Read the rest of this entry »
Posted in software, humor | 15 Comments »
March 30th, 2007
It’s official.
I’ve been in Boston for three and a half days now. I’ve found an apartment. I’ve opened a bank account. I start my new job on Monday.
Holy crap. Boston is a very cool city. Very cool.
I’ll tell you more about it later.
For those of you who have sent me email over the last few weeks, sorry I haven’t responded. I’ve been up to my eyeballs in packing boxes. I’ll reply soon.
Posted in personal | 5 Comments »