A Work In Progress

Notes from the desk of the owner. This, like the projects at druware.com remains a work in progress.

Not politically minded but…

As should be obvious at this point, I am a small business person. I own small businesses, I cater to them, and prefer to patronize them. I also find myself increasingly motivated to speak out against the way small business is being treated. This is a difficult thing for me to do, largely because I am not strongly politically motivated or inclined. Politics is a conversation I would prefer to skip altogether. Unfortunately, politics as usual has become a severe detriment to the quality of life of the small business owner.

As I see it, we have two problems. The smaller of the two is the assumption that ‘owning a business’ translates to ‘being “rich”’. It doesn’t. Most small business owners are struggling to make ends meet even harder than the typical union laborer. Sure in good months the income is better, but in the lean months, well, Top Ramen is sometimes all the budget will allow, and even that can be tight. I have been there. As a business owner, I know that possibility is always right around the corner if I screw up. There is no bailout money for me. By the numbers, for small businesses, failure is far more likely than success, and those failures have huge personal costs.

But that is not the bigger problem.

The real problem is that this country used to be run by the entrepreneurs. Somewhere along the way, we lost track and we turned the reigns over to the worst possible groups of people to run this country. We gave all the power to the lawyers and the penny pinching accountants. Neither of these groups are suited leading a country built on the shoulders of the small business. The problems they are causing are as broad in spectrum as they are narrow in focus.

In short, we as a country have lost our way. We have made it attractive to follow. True entrepreneurs have become the exception, and more importantly, the costs of doing business have become increasingly problematic.

What do I mean by this? well, the issues cross a broad number of spectrums, but let’s examine a few of the more egregious areas.

Wall Street (The Accountants)

Wall Street has become a major focus of the nation over the last year courtesy of the Occupy movements, but really, the wall street problem extends far beyond the targets, and the proposed ‘solutions’ of the occupy protesters amount to little more than welfare. They are not wrong about wall street being the problem, but they are wrong about the solutions.

The core problem here is the inordinate amount of power that wall street wields over publicly traded companies. The power they have over the flow of money is such that companies are no longer making good decisions about the ‘long term’ if there is a risk of ‘short term’ negativity on wall street. That short term impact prevents many companies from being able to secure or manage the money required to make good long term decisions. Only the rare company is willing to thumb their nose at wall street and make sound long term decisions. In most of those instances, they are companies that are already cash rich and can make those long term investments, or take those losses because they are not beholden to wall streets good graces to secure the financing to make them happen.

Look no further than the impressions people have of companies based upon words like ‘market cap’ and ‘stock price’, or ‘earnings per share’.

There are other examples, but really it all boils down to this. Once a company has grown to a point where it goes public, every decision it makes is now at the mercy of the wall street analysts. They like to use the words ‘investors’. Investor implies an investment into a company for the betterment of the company, and long term financial gains. Wall Street is not about investment, it is the equivalent of ‘flipping’. It is about short term profit, to hell with anyone that gets hurt in the process. There is no more destructive force in business than watching companies try to please wall street in the short term. Still have doubts, dig into the causes behind the DotCom bubble or even the banking crisis that we are still trying to recover from.

Washington (The Lawyers)

Then there is the other group, the lawyers. The lawyers have become a self perpetuating disease in this country. They are systematically destroying everything that this country was built on. Between the nanny state, lobbyist funded special interest lawmaking, patent abuse, copyright abuse and general mismanagement of of lawyer dominated government it is a marvel that anything gets done. This hasn’t even touched on the other gorilla in the room, which is tax law.

The nanny state really does not need much discussion, I think it is self evident. The government has intruded itself into more and more of our lives, and yet everytime some group of people gets upset over choices others are making, they go charging the government with ‘fixing it’. Abortion? really? I am free to believe that the tooth fairy is not only real, but the supreme deity but I am obligated to honor the religious right’s beliefs of when ‘life’ begins? don’t get me wrong, I disapprove of abortion, but it is not my place to judge another over the choice. It is no more my right to judge you for your religion or lack thereof. The government we have elected has no business involving themselves in the debate either. It is generally accepted that the parents of children have the right to make life or death decisions regarding minors in their care, yet when it comes to the unborn child, those rights are abrogated.

How many billions of dollars have been spent by the government on this nanny state issue alone? I do not want to think about it.

But this leads right into the next part of the lawyer problem; the special interests. The last several years have established that there is no power greater than that of the special interests in the US. Why are gas alternatives so slow to become viable? because we have had massive investment dollars by the special interests lobbyist to prevent them or slow them down, or to subsidize the worst alternatives. All the while we have lobbyists throwing money at other lawyers and politicians to prevent other alternatives because they aren’t ‘green’ enough. This is not about single industries either. Look at copyright law. Who is funding legislation like the DMCA, COPA, and SOPA? Following the money trail and the advocates and it sure looks like the MPAA and RIAA. Both entities that serve to make the most money by leveraging overreaching laws that are built to compromise basic tenants of ‘fair-use’ and what constitutes ‘ownership’.

Of course, that leads us to patent and copyright abuse. Guess who is making the money there ? the lawyers. If you have ever filed a patent, or been involved in a dispute involving either, you quickly understand the most fundamental principal of modern law. It doesn’t matter who wins or loses in a lawsuit, the only people that profit from a lawsuit is the lawyers. Patents haven’t been used to protect the entrepreneur in years. They have evolved to do one thing, make lawyers rich, and the murky precept of Intellectual Property’ is an extension of that.

So here we go again, ramping up for another big election year. Look at our most likely options for president.

1. A physician that has been a politician for 35 years.
2. A lawyer that has been a politician for 15 years
3. An “investment” businessman turned politician for 10 years
4. A history & geography professor that was denied tenure at a small college in GA that has been in politics for 35 years

Personally, I see nothing that promising in any of the options. None of the options have articulated anything that says that they even grasp the real problems we face. Our problems can’t be fixed with rhetoric. They are going to require an enormous amount of discomfort for a huge cross section of people in this country. It means deep cultural changes in addition to political changes. Electing a president isn’t enough. It means getting involved in changing the culture at a grass roots level.

It means getting back to our roots; Encouraging the entrepreneur; Building the small business; relearning how to be the best at manufacturing, distribution, logistics and innovation.

Stop following. Stop letting Wall Street dictating how businesses are run. Stop protecting big companies behind the legal walls of bogus patents and overreaching copyright laws. Remember the Liaise Faire concepts that helped Henry Ford, John D. Rockefeller, Sam Walton, Steve Jobs, Steve Wozniack, Paul Allen and Bill Gates build their businesses. Few of these could succeed in the hostile to non-venture funded startups and lawyer funded patent warfare.

63 degrees and not outside…

The cruelty of working for a living. A prettier fall friday would be hard to find right now. Too bad we are stuck in here working on ODBCKit!

TinyFugue on Haiku

Haiku is, in many ways one of the most interesting Open Source projects on the internet today.  It is an Open Source reimplementation of many of the great ideas pioneered in the now defunct BeOS.  With a rich GUI and POSIX/Unix like underpinnings, it has a lot to offer in a neat, single user operating system.  

It make no pretentions about being multi-user, or heavily ‘secured’.  What it is, is easy to use and blazingly fast.  For many users, it already does everything they really need.  For hobbyist or enthusiast computer folks, it is the equivalent of fresh powder on a new mountain to a snow skier.  A playground that offers enormous potential and a great place to learn, leverage and use skills that make us better techies.

I loved the BeOS when it was getting stated, and was very dissappointed when it found itself pinched between hardware vendors and the might of the Microsoft Monopoly.  Because of that, I have tracked Haiku since it’s inception as OpenBEOS, and through the various releases.  

Now in it’s Alpha3 release, Haiku has reached a maturity level that you no longer have to be a geek to do useful things with it.

Sometimes, it helps to be a geek though :).

While Haiku remains on the fringe of the tech world, it might be fun for other nerds like me to play with.  One of the things I do to entertain myself is to play old text based online games, MUD’s, MUSH’es and others.  My tool of choice has always been TinyFugue, and it is almost always one of the first things I build and install on a new platform.  

Well, today I brought up an old Dell laptop to be my Haiku playground.  What did I do next?  TinyFugue!

How did I get there? well, I downloaded the latest.  unzipped it, and typed ./configure.   The next step, the make part had issues.  Basically, it fails to link because it doesn’t get the right network library.  So we open the Makefile in ./src and add the missing element:

LIBS       = -lz -lncurses  -lssl -lcrypto -lnetwork

adding -lnetwork to the LIBS line is what we need.  Save the Makefile file, go back to terminal, make, and make install, and you will be up and running.   
Have fun and enjoy your mudding :-)

The HP webOS touchPad - part 1


Most of the early reviews of the touchPad have been less than stellar. This is a little unfortunate. The platform really some excellent features and foundations to make it a device well suited to most users. Speaking as someone that has used an iPad since they first shipped, the touchPad is a very good first gen device. In spots, it outshines iOS4, and for an initial catalog of apps, it is well positioned.
Are there weak spots? Of course there are, but it is way too early to write off this platform. Unfortunately, that seems to be exactly what the early reviews want to do. The problem is that the early reviews are wrong. In the rush to get something out there, the reviewers are writing about first impressions and not giving enough time to the platform.
Using an iPad side by side with the touchPad for the last week or so, in addition to several weeks with the emulator, the platform is really quite good. Better in many respects than iOS. Reading the early reviews, the common thread is that the hardware ‘feels’ cheaper than the iPad and that the software is occasionally ‘laggy’.
First, addressing the hardware, is the double edged sword. If HP had chosen to build a product that was too like the iPad, they failed to innovate. Now they have the opposite problem. It is too different. The touchPad hardware itself does come up short when directly compared to the iPad2, but not when put up against the iPad1 or other tablet offerings.
The plastic back casing is pretty but doesn’t have the same feel as the iPad aluminum back. The screen lacks the anti-fingerprint coating that the iPad has. Other than those two items, the physical hardware is very very similar to the iPad1, while the guts are more like iPad2. The differences are more important than the similarities. HP has taken a bold path by choosing to be different. The early returns are that different is not altogether good. I happen to really like feel of the hardware. But I seem to be in the minority.
The software is second issue. Having spent a year with an iPad, going in to the touchPad, I had a baseline, but also a good set of frustrations with the iPad. I have lost count of the times that safari or mail have crashed on the ipad. How many times have I had to restart because apps would fail to start. Yes the iPad is good, but it is not perfect.
This is where the current reviews fail. The touchPad has it’s issues too.  They are different issues.  Over the next few posts we will look at the platforms with an eye towards where and how they compare directly.

PostgreSQL on Demand and enQuery

Last week I spent the entire week on the road for the annual user group meeting of my customers at the job the ultimately supports all of this.  This is a huge event every year in the scope of that other business.  Bring together roughly a 100 of our key users into a single room for 3 days of training, discussion and feedback. 

This year we did the event in San Antonio, TX at the Embassy Suites on the Riverwalk.  This is the 5th year in a row we have used an Embassy Suites, and this was our first time in San Antonio.  Typical of these events, there are always behind the scenes issues, but they were minimal these year, and when they happened the hotel was excellent about dealing with them.  This particular Embassy Suites is a new one, and for a new facility, they did a great job of dealing with things.

I on the other hand didn’t.  Between the chaos leading up to the event and the crunched time during the week, I did not get a single moment during the last week to even think about either PG On Demand or enQuery.  Last night was literally the first time I have looked at either in nearly 2 weeks.

Needless to say, not much progress in the last couple of weeks.  Fortunately, the progress leading up to that was pretty significant, so I am expecting to show the first screenshots of PostgreSQL on Demand in the next week with enQuery a couple of days later.

Why are these two tied together like this?  well, they share a fair bit of code, and that bit of code grows each day.  

The big accomplishment in the last bit of work was the migration from categories to a subclass for syntax highlighting and the completion of the automatic and seamless initialization of the database when the data files are not found.  In addition was the addition of the Mac App Store code since both applications are intended to be Mac App Store exclusive at launch.

Next on the agenda is getting PG on Demand into a usable status.  Given another week or so, PG O n Demand should be ready for a limited alpha deployment.

Revolving Tumblr Themes

If you are reading this via the druware.tumblr.com url, then you have probably noticed that I have been changing themes a bunch. I have been trying to find something I like while also retaining usability on the iPad. That effort has not gone very well and may ultimately doom my efforts to use Tumblr. So many of the themes just don’t work well on the iPad. If I cannot find something that suites, I may create my own. I have set a deadline of March 1 to find something I like. If I don’t by then I have a week to create it or move back to my custom internal solution.

enQuery the bigger plan

Anyone that has been following my Twitter account has probably figured out that between the day job and the work on enQuery I have been pretty much swamped.  That means some of the other work has been let to slide, specifically the PostgreSQL work and the work on FiSQL.  Part of the reason is that the long term value of enQuery on it’s own is huge for us, but the value it brings to both of those projects is also significant. 

In order to clarify that, I have to out more of the enQuery vision than I have up to this point.  So here it goes.

The grand vision for enQuery is that is a platform of data tools that are built to enable data access at the user level.  How does this all work?  At the core, enQuery is a suite of plugins that manage the data access that are shared between 5 major tools, enQuery, enQuery:ReportWriter, enQuery:Reports, enQuery:FormWriter and enQuery:Forms. 

enQuery is the ad-hoc query tool.  Useful for developers, DBAs and users alike to quickly write SQL, execute it, see the results and export the results into usable formats like CSV, Numbers, XML and HTML.  This is the part that we are the most focused on, because everything else builds on it.

enQuery:ReportWriter takes the enQuery concepts and goes a step further.  I provides a graphical tool for laying out reports and the parameters that are needed to run them.  The native format is a custom XML schema that defines the report, queries and output, and while ReportWriter can also run the reports, the prepared reports are set up so that anyone can then run the reports that have been created using the execute only enQuery:Reports.

enQuery:Reports is just that, a runner.  It takes reports that are created from ReportWriter (or the basic exported reports from enQuery) and runs them on demand to output the results to PDF or HTML.

enQuery:FormWriter and enQuery:Forms work in the same manner, but instead of getting data out, these are all about putting data in.  One tool for creation, the other for usage.  The whole thing is created and wired together using an Automator style workflow.  We have been working with some proof of concept ideas for having a small ‘Forms Server’ process that runs on a Mac web server that will allow Forms to be served and processed via a web browser as well.

None of this is possible until enQuery is pretty solid, and it is coming along nicely, but if you think about all that is possible with it, all of the sudden it is easy to understand why the focus has shifted so much in the last few months.  It doesn’t help that the day job is consuming massive hours as well, but as always, we want to keep our customers and partners in the loop.

It's an honor thing.

rssProxy, FCGI Web Template and Sundry Details

Despite that fact that I prefer to native code to web applications, I have done more than my fair share or web development in the last 10 years.  From basic HTML in the early days, to VBScript and bash CGI scripts, then to Perl and on through ASP, ASP.NET, Java Server Pages and even WebObjects, the one constant I have found is that every single server platform is about compromise.  They all have issues.  As time has gone on, the tools haven’t improved much, they’ve just changed.  

Meanwhile the client side tools for web development have improved by leaps and bounds. CSS, HTML and JavaScript have taken a platform that was little more than a glorified teletype and turned it into a rich application platform.  It is not perfect, but it has become a truly powerful environment, rich enough that entire platforms are now delivered using these technologies.  Look at what HP/Palm has done with WebOS.   Look at what is possible on iOS devices all in web based technologies.  

Yes, there is a huge potential in the modern web.  

One of the big things that is annoying is that in order to improve security, JavaScript is largely limited to only fetching data from the same site as the page it is requested from. Meaning that if your web page is hosted on http://www.foo.com your javascript AJAX requests can only reliably get data from http://www.foo.com.   In most cases this is fine, but say you want to integrate an RSS feed from Tumblr into your site.  Things get a little more complex then.  There are a couple of client side hacks that will usually work, but they really aren’t optimal.  For my uses, a server side proxy made more sense, and as such rssProxy was born.

rssProxy - ( download )

rssProxy is a small little CGI program for Mac OS X servers that does just that. It lives on the server and is called from web clients to proxy external data to the browser.  Usage is simple, copy the rssProxy executable into the /Library/WebServer/CGI-Executables folder and then request your URL from JavaScript using something like http://www.druware.com/cgi-bin/rssProxy?url=http://druware.tumblr.com/rss and the proxy opens a connection and fetches the remote url and forwards it back to the client.  The code to do this is really quite simple:

rssProxy Source

However, it uses a template that I have in place for a few other projects.  Now, this is not complete, and I expect to improve it over time, but it is a solution to a problem.  I really like Objective-C and the Cocoa foundation provides such a comprehensive toolkit that reimplementing the wheel for many of the features seems wasteful. So what I built was a template that is just that, a Cocoa enabled FCGI program.  

FCGI Web Template - ( download )

So about that web template.  Though I feel that it is incomplete, I thought I would make it available for other people to comment on, and use if they wish.  The template consists of 3 classes, OWWebServer, OWWebRequest and OWWebResponse.  They are for the most part simple classes to just isolate much of the boilerplate code so that the developer can quickly get to the meat of the work.  In the above case, writing the 11 lines of code to get what we wanted.

The benefit of this approach is that it is quick to develop but also quite fast in implementation.

Sundry Details

Both of these projects are being made available under a BSD License and are free for use in a commercial setting.  I would love to know if you are using them, and if there are enhancements that are needed, I am available for contract work to do so.

I do a lot of OSS work, and though I have always maintained that people will donate to projects they use, the donations versus downloads (and support emails) number has always been interesting to me.  In shareware it would be referred to as a conversion rate.  Over the last 6 years of my open source efforts, the conversion rate on donations is less than 0.5%.  

With that in mind, I am moving more of my focus to the straight up for profit ventures.  The community may well appreciate the OSS work, but appreciate is not generating an income that I need to invest the time into some of these projects that is needed to make them more than hobbies. 

Now Displaying Directly in Druware.com

Made a slight change to the site today to allow the Tumblr.com based blog to be viewed directly from the druware.com website.