<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-16565506</id><updated>2011-04-21T17:33:50.938-07:00</updated><title type='text'>There's No Action!</title><subtitle type='html'>A blog by the founder of SneakyFeelings.com and 18th Street Software, LLC.  Talks about business, life, and where they intersect.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16565506.post-115346228031446602</id><published>2006-07-20T23:09:00.000-07:00</published><updated>2006-07-20T23:11:20.326-07:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;This Blog Has Moved!&lt;/h2&gt;I finally got my own domain.  Please update your bookmarks to point to &lt;a href="http://mikeomatic.net"&gt;mikeomatic.net&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-115346228031446602?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/115346228031446602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=115346228031446602' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115346228031446602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115346228031446602'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/07/this-blog-has-movedi-finally-got-my.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-115328112020364776</id><published>2006-07-18T20:34:00.001-07:00</published><updated>2006-07-18T20:53:27.790-07:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;Why Desktop Computers Aren't Going Anywhere&lt;/h2&gt;Over the past few years, the web interface for creating applications has come a long way.  With AJAX and similar technologies, we now have the ability to have the browser interact directly with the server without page reloads in a more or less standard way, a critical step in perceived performance for end users.  Applications such as Google Maps and Spreadsheets, Writely, AjaxWrite, and Meebo, among others, prove that the web applications can perform at a level comparable to disk-based counterparts.  It would seem like the late 90's vision of the Network Computer is finally upon us.  And yet it isn't.&lt;br /&gt;&lt;br /&gt;This infuriates many people in the software development world.  We deal in a world of absolutes, where there is one right answer and it is inevitable, at least to people who trouble themselves to think of such things.  Procedural languages give way to object-oriented ones.  Proprietary formats give way to open standards.  And desktop applications move to the web.  There is just something that feels right about this, like a ship emerging from a fog.  When it is in the fog it does its best to muddle its way through, but when it sees an opening filled with sunlight it suddenly knows the right way to go.&lt;br /&gt;&lt;br /&gt;There are several things which prevent this from happening on a wide scale, however, some of which are either miscalculated or underestimated by people on the front lines developing the software.&lt;br /&gt;&lt;br /&gt;Below are some of the hurdles web applications have to overcome to graduate to the next level of mainstream acceptance.&lt;br /&gt;&lt;h3&gt;Latency is Bad&lt;/h3&gt;This one we all know.  The problem with all applications delivered over a network is that the network itself is unpredictable.  While it is neat to play with Google Spreadsheets to see what the guys in Mountain View are up to, trying to do real work in it is another thing entirely.  If you lose your connection to the net because your ISP trips over your wire at the central office, you lose what you are working on.  More likely, you will deal with nagging little performance issues as your AJAX calls aren't returned in real-time, or the Flash game on another tab in your browser sucks up all your CPU cycles and makes your page slow to refresh, or any number of other things that impact your browser and make your AJAX experience less than optimal.  The web applications just don't have the same feel as desktop applications, much like Java Swing interfaces don't feel like native ones.  It's a fact of life right now.&lt;br /&gt;&lt;h3&gt;Lack of a Consistant UI and API for Dynamic Web Applications&lt;/h3&gt;This is more subtle and requires a little more explanation.  First, there is a difference between a library and an API.  A library obscures some functionality to let someone program at a higher level of abstraction.  An API defines a platform.  There are of course similarities between the two, but the bottom line is that there is not a consistant dynamic web platform that is accepted as a standard by normal users.  What we are left with instead are 299 different AJAX libraries with largely overlapping functionality and slightly different assumptions and design goals.  Building your application around one of these may help you from dealing with obnoxious things like browser detection and XMLHttpRequest object instantiation and may even give you some cool fading effects to play with, but it will most likely not make your application look like other web applications to end users or give you higher-level building blocks with which to build your applications and interfaces.&lt;br /&gt;&lt;br /&gt;A quick rant:  Developers (particularly open-source developers) believe that diversity in libraries and interfaces is a strength rather than a weakness.  I agree only in so far as the diversity eventually pushes standards into place as the stronger ideas are adopted and the weaker ones dropped.  To typical end-users (the type you need to make any type of revolution mainstream) having 10 ways to do the same thing is confusing.  Look at the window managers available for Linux as an example.  Should mainsteam users even know what a window manager is?  Are the subtle differences between Gnome and KDE worth the fact that every newby book for Linux needs to dedicate a chapter to describing X Windows and how it decouples the presentation of windows  from the lower level parts, and how you can choose between a million different interfaces despite the fact that you want the one that looks like Microsoft Windows?  This stuff is confusing to people who do it for a living, nevermind people just looking to surf the web in peace.  This same problem plagues web development, where the large number of developers and the Not-Invented-Here syndrome that they usually have leads to everyone wanting to make their own libraries rather than adopt someone elses'.  Our inability to establish de facto standards on our own is what lets certain monolithic corporations do it for us.  End rant.&lt;br /&gt;&lt;br /&gt;I believe that the YouOS project is one of the first (or at least most popular at this moment) to attempt to tackle this problem head on, and I wish them luck.  I haven't seen their code to know how it works, but their site looks impressive.  It remains to be seen whether or not higher-level development will take place on this platform beyond the widgets I have seen so far.  If they get OpenOffice running, I am there. :)&lt;br /&gt;&lt;h3&gt;The Status Quo is Comfortable&lt;/h3&gt;We are in a mature industry, and people often forget that the "Next Big Thing" doesn't occur nearly as quickly as the "Last Big Thing" in such an environment.  At this point the players are pretty well established in the computer industry, and the costs associated with the current structure are both well-known and accounted for.  While web applications are being pursued for most in-house development nowadays (replacing buggy VB applications with buggy ASP.net replacements) there is no push to also replace standbys like Word and Outlook with web-based alternatives.  The current versions work and we already paid for them.  Plus we have a help desk that knows them.  Plus we paid for training in them.  Plus we have Active Directory and group policy already set for them.  Plus the CIO wants more money in his budget to spend, not less.  And so on.&lt;br /&gt;&lt;h3&gt;Powerful Computers are Cheap&lt;/h3&gt;While this isn't necessarily something that will hold back web application development, it certainly removes some of the exigency for going in that direction.  Web application supporters often say that less sophisticated users "like my grandmother" only use a PC for limited tasks, such as email or balancing a checkbook.  Naturally, these users would flock to a cheap thin-clientesque computer running web-based applications since they are cheaper and would allow them to do everything they need.&lt;br /&gt;&lt;br /&gt;This argument is problematic because of a simple misunderstanding about human nature:  People never want to feel that they are getting ripped off.  There is a reason Starbucks charges $3.25 for a 16oz drink and only $4.25 for the 32oz.  People will pay a little bit more just to make sure that they get better value for the money.  This is exactly the situation the thin-client finds itself in.  If they are even available, the cost is only a shade below that of a full-fledged PC that comes without any of the limitations.   And this is a big if.  Most thin-client computers are only sold to corporate customers that have the ability to centralize a huge number of functionally identical machines, and even this is relatively rare.&lt;br /&gt;&lt;br /&gt;For the most part, people will keep buying the best PC they can afford when upgrade time comes around, and that will be more than capable of running mainstream desktop applications.&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;Web applications have come a long way and are often genuine works of art.  A lot of ingenuity was required in taking a platform meant to merely view static documents online and turning it into a mostly fully-functioning operating system.  That being said, we as developers must be careful not to get too far ahead of ourselves in extrapolating this growth curve.  If we want this work to result in a real desktop replacement platform, we will need the discipline to overcome the issues listed above.&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-115328112020364776?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/115328112020364776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=115328112020364776' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115328112020364776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115328112020364776'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/07/why-desktop-computers-arent-going_18.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-115090008651918097</id><published>2006-06-21T06:54:00.000-07:00</published><updated>2006-06-23T18:34:04.610-07:00</updated><title type='text'></title><content type='html'>&lt;h1&gt;IT in DC&lt;/h1&gt;&lt;br /&gt;I've lived here in the nation's capital for about 4 years now. The city has many great qualities and several not-so-great ones, so in the spirit of comraderie I'm putting together this little primer for my fellow nerds who may be considering a move to DC.&lt;br /&gt;&lt;h2&gt;Employment&lt;/h2&gt;&lt;br /&gt;The availability of jobs is one of the primary reasons people come to this area.  The federal government and military are huge employers, as are the numerous non-profits and NGOs who are located here due to the proximity to the political seat of power.  Even more substantial to the IT set are the numerous contracting companies that cater to the afformentioned organizations.&lt;br /&gt;&lt;br /&gt;If you have a college degree, pulse, and 3+ years of job experience you can find a job here in virtually no time.  The hot languages are the typical J2EE and .Net as well as either Oracle or SQL Server, depending on the shop.  Most of the places you will be working for (if you go the contractor route) are risk averse and very well funded; saving money isn't as important as using the same technology as everyone else.  Open Source is starting to show up a little, and is undoubtably incorporated in many IT systems, but it is not a primary skill that most employers demand you have.&lt;br /&gt;&lt;br /&gt;Entry level workers may have a hard time in DC due to how contracting works.  Generally all candidates are presented (read: marketed) to the organization they will be working for/at, and these organizations love things that they can quantify.  Like years of experience.  As a result, contractors aren't likely to present inexperienced candidates since they only get so many shots to fill a particular slot.  This is of course highly (over)simplified, but it is my experience. &lt;br /&gt;&lt;br /&gt;As for the work that you will be doing at your new job, it will most likely be on an internal or intranet application.  DC has a culture that is obsessed with the billable hour, and these types of projects eat them up.  The teams implementing these projects often include employees of the organization (in management/leadership/design roles) and contractors (mostly coding).  This type of arrangement doesn't usually produce the best software since the people doing the design and choosing the technologies aren't always the most technically competent, but the guy with the money writes the rulebook.&lt;br /&gt;&lt;br /&gt;There is a lot of entrepreneurial activity in DC, but most of it is around making new contracting companies rather than new product companies.  This is just due to practical reasons; with the billable hour culture there is a ton of work to go around, and those kind of companies are cheaper to start.  It is also common for people to have side gigs, although most employers are sensitive to anything that competes with them in the billable hour field and will make you sign away your life to protect themselves.  Use discretion, and do what you can to only sign agreements you can live with.  I've personally turned down offers with $30k raises attached just due to disagreements on the paperwork; stupid, maybe, but you know that when push comes to shove they will use it. (My particular case involved them assigning personal liability on me for anything that happened on the job as an employee of theirs. Not worth it)&lt;br /&gt;&lt;h2&gt;Housing&lt;/h2&gt;&lt;br /&gt;Housing in DC is expensive.  If you can afford to buy it will save you a lot on a monthly basis, but the legend it that housing prices are facing a downturn.  Due to the great Metro system, it is easy to live in the suburbs and get anywhere you need to.  If you choose to live downtown you do not need a car; I've never had one and it has been fine.&lt;br /&gt;&lt;br /&gt;Apartments, especially good ones, don't last long; this makes it difficult to line up housing ahead of time before moving here and not get fleeced.  If you can find a temporary arrangement with friends or family that will let you stay with them while you looked you will have a better chance to find a good, cheap place.  Popular venue for searches include the City Paper, Craigslist and Apartment Finder, and coworkers can also help you find openings.&lt;br /&gt;&lt;br /&gt;People differ in what they look for in an area to live.  Generally speaking, the Northwest quadrant of the city is the best crime-wise, with it getting better (and more suburban) the further north and west you go.  There are great neighborhoods in all quadrants, however, so you really need to see them up close to determine what works for you.  Dupont, Adams Morgan, and parts of Columbia Heights are good mixtures of city life and safety.  Georgetown is nice, but yuppie and expensive.  If you look outside the city, Alexandria and Arlington a popular alternatives, but also often yuppieish and pricy.  Many good values can be found in Maryland, particularly my College Park, Greenbelt, and New Carrolton. These are all more suburban, however.&lt;br /&gt;&lt;h2&gt;Culture/Nightlife&lt;/h2&gt;&lt;br /&gt;DC has a very unique character.  Unlike most cities, it has no industrial district to speak of, and is not a financial or commercial hub.  It essentially emerged fully formed as the seat of government, and the evolution since then has sprung from that.  There aren't really highrises here due to an ordinance, so there isn't the canyon effect you see in Manhatten; just a bunch of office buildings, brownstones, and appartments arranged nicely.  The original city plan and grid encompasses the Downtown area, consisting of the Capitol, White House, federal offices, Mall, monuments, and museums.  As you move away from downtown the grid gets less consistant since it was more sprawl than the original plan.&lt;br /&gt;&lt;br /&gt;Naturally the city has tons of cultural activities and is a great place to live if you are a history geek.  I think it is one of the top places to go in the country if you enjoy walking around aimlessly, although there are lots of cities aiming for that title. :)&lt;br /&gt;&lt;br /&gt;DC has significant immigrant communities, particularly Latin American and African, which is great for people who like food with a unique cultural twist.  There are also great European, Indian, and Asian restaurants if those better suit your taste.  The dcfoodies.com blog is a handy resource for finding the best places to eat.&lt;br /&gt;&lt;br /&gt;As far as nightlife goes, where you hang out is often determined by proximity.  Adams Morgan is the largest night district but there are good lounges, bar, and clubs everywhere.  If you are a geek you should have no problem finding beer.  Free beer is still rare though.&lt;br /&gt;&lt;h2&gt;Conclusion&lt;/h2&gt;&lt;br /&gt;I would recommend DC to anyone looking for a fun, low pressure lifestyle. There is a lot to do in your spare time, and the copious jobs give lots of options for career advancement at a rapid pace.  If you are looking for Silicon Valley and a fast-paced startup culture you may be disappointed, but there are plenty of opportunities available if you work hard enough.  Plus you can hang out with senators at bars.  That's got to worth something. :)&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-115090008651918097?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/115090008651918097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=115090008651918097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115090008651918097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115090008651918097'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/06/it-in-dc-ive-lived-here-in-nations.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-115073004004582651</id><published>2006-06-19T07:35:00.000-07:00</published><updated>2006-06-20T09:43:12.016-07:00</updated><title type='text'></title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;I've been reading a lot of Paul Graham recently and I've become very interested in learning Lisp as a result.   Having the ability to program at a higher level of abstraction sounds very helpful, but my concern here is in the "glue" that must be used to make Lisp work with other technologies.  I have order a book on the topic from Amazon so I am sure all questions will be answered in dead-tree format shortly.&lt;br /&gt;&lt;br /&gt;Being somewhat new to the blogosphere, I'm a still a little mystified by the power of the top handful of bloggers in a particular space. Take Mr. Graham, for instance.  There is likely a significant number of younger programmers who would only see Lisp as a relic language if not for his advocacy. If it is the tool that he claims it is I will be very grateful. &lt;br /&gt;&lt;br /&gt;I am curious to learn more about what it takes to break into the elite blogger fraternity. My suspicion is that it will take a mixture of writing/storytelling talent (thank you, Mr. Spolsky) and a degree of success in the brick and mortar world.  This latter part will help both the quantity and quality of those stories, since narratives read better than thought exercises and everyone loves a happy ending.&lt;br /&gt;&lt;br /&gt;Enough talking, time to get started. ;)&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-115073004004582651?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/115073004004582651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=115073004004582651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115073004004582651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115073004004582651'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/06/hi-everyone-ive-been-reading-lot-of.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-115055408654775799</id><published>2006-06-17T07:16:00.000-07:00</published><updated>2006-06-17T07:21:26.556-07:00</updated><title type='text'></title><content type='html'>Hey everyone,&lt;br /&gt;&lt;br /&gt;I just got a Blackberry 8700C and this is my first post from the road.  How does it look? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-115055408654775799?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/115055408654775799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=115055408654775799' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115055408654775799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/115055408654775799'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/06/hey-everyone-i-just-got-blackberry.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-114843663037486990</id><published>2006-05-23T14:53:00.000-07:00</published><updated>2006-05-28T23:07:38.116-07:00</updated><title type='text'></title><content type='html'>&lt;h2&gt;Why All Web Programming Frameworks Are Broken&lt;/h2&gt;&lt;h3&gt;(and how we can fix it)&lt;/h3&gt;Anyone who has been around the web programming world (or any programming world, really) has no doubt realized that there isn't a whole lot to what we do; basically, we create pretty forms and screens that manipulate data in some sort of database and return formatted results to the end user.  Input goes in, processing happens, and output comes out.  There are many different languages used to express this, but the underlying formula remains the same.&lt;br /&gt;&lt;br /&gt;Now, programming is a very individualist exercise.  We are generally a pretty talented group (at least in our own minds), and understanding the above formula often leads us to believe that we can somehow streamline the process so that creating a new web application takes much less code than it currently does in whatever platform we are using.  And in this we are right; everybody who does this professionally comes up with their own framework or CMS system that they think is the cat's meow and purrfectly (sorry) summarizes their view of how a web application should fit together.  Very often these systems allow us, as individuals, to spit out web applications faster.  Some of the better ones (or better marketed ones) can even help other people make applications faster, as long as they can live with the assumptions made by the original developer.&lt;br /&gt;&lt;br /&gt;That said, we have myriad application frameworks out there which promise the great MVC experience, where content is perfectly separated from the presentation, designers can be designers, coders can be coders, and the world will live in perfect harmony.  Despite 10 years of this, however, we are still stuck in a world of buggy and difficult-to-maintain code.  Systems like Fusebox, Ruby on Rails, Struts, and even .Net can all make your job a little easier if you follow their rules closely, but none are able to live up to the productivity hype which surrounds them or they would quickly jump to the front of the pack and take over the space.  Think about it.  If RoR made you 10 times as productive as .Net, would anyone still code in .Net?  These systems all provide incremental improvements at best.  The reason for this is that the problem doesn't lie in the web layer, but in the persistence/database layer.&lt;br /&gt;&lt;h3&gt;databases you say?&lt;/h3&gt;Yes, databases.&lt;br /&gt;&lt;br /&gt;I'll get right to the point; databases are great devices for storing tabular data, but they lack the crucial ability to represent state/time information in a uniform way.  This probably requires some explanation, so I will try to do that below.&lt;br /&gt;&lt;br /&gt;Relational databases handle data as rows,  a logical abstraction which is what makes them good for being able to store arbitrary objects (the classes of which are represented by tables) in a uniform way.  The problem comes in how the database can only see 3 different types of transactions on a per-row basis, the CREATE (in which the row is created), the UPDATE (any update to the row), and the DELETE (where the row is removed from the table entirely).  For the most part, decent application design rules out ever performing DELETES (except for in associational tables) because it will result in a loss of rows needed for foreign key constraints, so practically speaking there are only two DML statements ever run, and one of those is only done once.&lt;br /&gt;&lt;br /&gt;Now the database engine itself is only geared to handle these two transactions.  Columns can be declared as NOT NULL, but this is only useful for cases in which the row will ALWAYS contain data.  There is no clean way of saying (without ridiculous check constraints or trigger logic) that a field must always have a value when the row it is in reaches a certain point in its workflow.  Similarly, any attempt to validate data at the database level (always a good practice if your database supports it) will likely result in adding another ON UPDATE trigger or independent stored procedure, resulting in another complicated piece of application logic that is left to the whims of the developer coding the procedure.  Five years down the road, will anyone currently working on the project understand that STPROC_ADD_TICKNUM_U is the procedure to call that will associate a user with a problem ticket?  Maybe or maybe not.  I would guess that 50% of the applications out there are coded by one programmer who does things his or her own way, making naming conventions entirely arbitrary.  Most shops that specialize in development adopt systems to handle just this situation, but even those involve retraining yourself to think like the guy who first developed the system.&lt;br /&gt;&lt;br /&gt;Let's do a quick thought exercise to illustrate these issues.&lt;br /&gt;&lt;br /&gt;The scenario: a typical web shopping cart, with the requirement that all of the steps of the checkout save themselves to the database so that the customer can pick up the process mid-order in case they leave the site in the middle for some reason.&lt;br /&gt;&lt;br /&gt;The schema is simple (and not totally normalized):&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Table 1: orders&lt;/span&gt;&lt;br /&gt;order_id: int&lt;br /&gt;order_num: varchar(10)&lt;br /&gt;order_date: datetime&lt;br /&gt;ship_date: datetime&lt;br /&gt;status: int&lt;br /&gt;create_date: datetime&lt;br /&gt;mod_date: datetime&lt;br /&gt;bill_name: varchar(100)&lt;br /&gt;bill_address: varchar(200)&lt;br /&gt;ship_name: varchar(100)&lt;br /&gt;ship_address: varchar(200)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Table 2: order_items&lt;/span&gt;&lt;br /&gt;order_item_id: int&lt;br /&gt;item_id: int&lt;br /&gt;price: float&lt;br /&gt;&lt;br /&gt;Now the workflow.  For the orders, we need to make all of the fields except for create_date and order_id nullable, since when the user is first entering data they can enter it piecemeal.  The customer said the order_num should be sequential based on the order in which the orders were &lt;span style="font-style: italic;"&gt;completed&lt;/span&gt;, a silly restraint but one which we must  deal with anyway.  The billing address, order number, and at least one item must exist when the order reaches "ordered" status, so we need to account for that somewhere.  The ship date is only entered if the order reaches the "shipped" status.  The create_date is pretty trivial in this example since it only represents the point in time that the user pressed the checkout button the first time, and the mod_date only represents the last time somebody touched the record for any reason.  We are forced to have separate fields to account for the progression dates through the various statuses, and to update those either through some kind of application logic.&lt;br /&gt;&lt;br /&gt;Even in this trivial and everyday example, we are left with putting the bulk of our order logic within &lt;span style="font-style: italic;"&gt;application&lt;/span&gt; code, not &lt;span style="font-style: italic;"&gt;data definition&lt;/span&gt; code.   This is a critical difference, because it means the database itself has no concept of an order except for a list of possible fields it might have and therefore we can't use its powerful built-in integrity features to make sure the data stays pristine.  In place of that, we have a bunch of procedures or DML statements written by developers in whichever style they choose, which aside from being prone to error, will also be totally arbitrary and difficult for new developers to decode.&lt;br /&gt;&lt;h3&gt;a rant&lt;br /&gt;&lt;/h3&gt;I'd like to take a moment to talk about the art of software development.&lt;br /&gt;&lt;br /&gt;I must say art here, because software is unlike any other type of engineering or mathematical discipline.  It is often lamented by IT companies, project managers, and customers alike that software development projects are impossible to accurately forecast in terms of time and resources needed.&lt;br /&gt;&lt;br /&gt;This is due to the fact that regardless of language, technology stack, and even methodology, 90% of what makes a program do interesting work is arbitrary code written by a single developer.  Even if this code follows some sort of framework, this framework is only useful in doing what the designer of the framework intended for it to do.  It is doing stuff that it was &lt;span style="font-style: italic;"&gt;not&lt;/span&gt; designed to do that gets the developer paid.&lt;br /&gt;&lt;br /&gt;Taking Ruby on Rails as an example, it contains handy convenience methods and conventions for creating new rows, updating mod_date fields, and even handling row locking (provided Rails is the only thing updating the database).  But virtually every single statement you will write will involve some arbitrary WHERE clause, will need to SELECT rows using a JOIN and needing to skip the built-in functions because of the "id" column convention, or do some other cockimamy thing that the designers couldn't include in a general purpose framework.  That is before you even get to how you choose to design and allocate functions between your various model classes, what you decide to name your functions, how you choose to design your controllers, what brand of HTML you want to use in your view layer, how you use CSS, etc.&lt;br /&gt;&lt;br /&gt;The net result to all of this arbitrary code is that programming doesn't scale very well as you add more developers to it.  Every new team member must learn what was done by those who came before in terms of both functionality and coding style, and then they will usually end up adding their own twists on top of that, making the next developer even more confused.  For a project lasting a substantial period of time you must also deal with attrition as people leave the team, and then somehow regenerating their knowledge amongst new or existing staff.&lt;br /&gt;&lt;br /&gt;As a result of all this, programming productivity doesn't increase linearly as you throw more bodies at it.  If you get productivity 1.5 from 2 programmers, it may take you 7 to get to productivity 3.0.  And even that is assuming you hire good people. :)&lt;br /&gt;&lt;h3&gt;what does this have to do with web programming frameworks?&lt;/h3&gt;Good question.  Getting back to the task at hand, the issue is that most web programming frameworks base themselves on some sort of database abstraction layer.  This is usually the source of their substantial productivity claims, since it lets you (alternately)&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Do all your programming in one language!&lt;/li&gt;&lt;li&gt;Not know SQL!&lt;/li&gt;&lt;li&gt;Let the framework handle database/SQL optimization!&lt;/li&gt;&lt;li&gt;Let the framework build your database for you!&lt;/li&gt;&lt;li&gt;Update your model classes based on any schema changes you make!&lt;/li&gt;&lt;/ol&gt;While these sound nice on paper, they are often of dubious value (3, 4, 5), are a bad programming practice (1), or outright falsehoods (2).  The bigger issue, though, is that when the database doesn't let you design your schema in a way that much metadata can be extracted from it, any database abstraction layer will &lt;span style="font-style: italic;"&gt;always&lt;/span&gt; be a lowest-common-denominator abstraction.  It's &lt;span style="font-style: italic;"&gt;convenient&lt;/span&gt; to not have to manually update your classes when you add new columns to the database, but you still need to incorporate those changes into any web forms that use the new field and any functions that need to incorporate it into the workflow. This means still more arbitrary, single developer code.&lt;br /&gt;&lt;h3&gt;the solution...&lt;/h3&gt;The way to get out of this conundrum is to come up with a new version of the SQL standard that can account for status/time as a database-level entity.  We need to give rows the concept of status that is separate from a programmer-designated, arbitrary field and a batch of procedures or application language functions.&lt;br /&gt;&lt;br /&gt;One idea would be to have an&lt;br /&gt;&lt;code&gt;&lt;br /&gt;ALTER TABLE &lt;i&gt;tablename&lt;/i&gt; ADD STATUS &lt;i&gt;statusname&lt;/i&gt;  LEADS TO &lt;i&gt;subsequent_statusname1&lt;/i&gt;, &lt;i&gt;subsequent_statusname2&lt;/i&gt;, ...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;statement which can show the order in which statuses occur.  The status that has nothing leading to it will be the initial status.  Then triggers could be created on a per-status basis, and stored procedures could be defined that are tied to moves between statuses, either to a new one or back to an old one.  Also, special syntaxes can be added for NOT NULL fields to account for the status changes.&lt;br /&gt;&lt;br /&gt;Such a system, with some natural extensions, would provide a richer set of DDL-level data for the various frameworks to take into account when creating their model libraries, and some could even go to the lengths of making web pages templates based one what fields are available for editing on which statuses.  Over time we can evolve to the point where more logic is stored in the database/persistence layer where it belongs than in arbitrary language code.&lt;br /&gt;&lt;h3&gt;conclusion&lt;/h3&gt;Web development has reached a point in it is receiving diminishing returns with attempts to refine it further at the application code level.  We have long ago distilled websites into their basic elements and attempted to abstract out all that can be abstracted out, and we are left with a battery of competing standards and frameworks which differ very little from one another in anything more than syntax.  At the same time, demands for increasing productivity and faster time to market are always ringing in our ears.&lt;br /&gt;&lt;br /&gt;The only way to fix this in a fundamental way is to add metadata that is presently being defined in an ad-hoc basis by developers into the database/persistence layer.  This will accomplish the dual objectives of giving the framework developers a richer set of data with which to abstract the database, and incorporate information presently stored in crude 3rd generation languages into an elegant 4th generation language like SQL.  Database integrity will be assured, and the world will be as one.&lt;br /&gt;&lt;br /&gt;Until next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-114843663037486990?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/114843663037486990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=114843663037486990' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114843663037486990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114843663037486990'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/05/why-all-web-programming-frameworks-are.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-114842118295315417</id><published>2006-05-22T14:41:00.000-07:00</published><updated>2006-05-23T14:53:07.560-07:00</updated><title type='text'></title><content type='html'>Hi Everyone,&lt;br /&gt;&lt;br /&gt;So we've been pretty busy lately. :)&lt;br /&gt;&lt;br /&gt;JustConfirmed.com has been launched with the beautiful new interface and we are test marketing it to figure out what other features need to be added; so far we've gotten great feedback from several medical offices we've talked to, and Ian is doing a great job at looking for other niches we can fill.  StevesLeads.com is in the process of getting a facelift from Martin (a great designer I met from craigslist) and we are hoping to get to the coding of that (the backend is done, we just need the forms and presentation layer) in the not-to-distant future.  BlurbCurb is also coming along slowly, but it shouldn't take too long.  Most of the backend database-update functions are there already and the interface goes quickly when I have a chance to actually work on it. &lt;br /&gt;&lt;br /&gt;Other than that I have been doing some contract work for the past few months, and have recently made a career (day job) transition to a non-profit association downtown.  It seems like a great place so far (only been there for a day) and it is my first experience in working not as a contractor for another company or organization.  The whole attitude there is much different from what I am used to and they seem to really value their employees, something you don't see much in this day and age.  I just need to be careful that the complacency and sense of entitlement don't settle in. :)&lt;br /&gt;&lt;br /&gt;Anyway, just wanted to let you all know that I am still alive.&lt;br /&gt;&lt;br /&gt;-Mike&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-114842118295315417?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/114842118295315417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=114842118295315417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114842118295315417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114842118295315417'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/05/hi-everyone-so-weve-been-pretty-busy.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-114093260449949000</id><published>2006-02-25T20:45:00.000-08:00</published><updated>2006-02-25T21:43:24.526-08:00</updated><title type='text'></title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;I'm so excited, some of my sites finally have PageRank!  Of course, with this great position comes great responsibility.  From now on I will only link to good sites. :)&lt;br /&gt;&lt;br /&gt;Anyway, some updates.  The project with Ian, which is called JustConfirmed.com, is in the process of being redesigned by a web designer I met on CraigsList.  Once he is finished, I will implement his design across the existing pages and we will be ready to go live and start getting our first customers.  We actually have some interest already as Ian brought in some testers to demonstrate the functionality; the asked him when it will be ready, always a good sign.  Stevesleads.com now has a second developer, a friend I met through work who was interested in learning Ruby on Rails.  That site would probably be done already, but I decided it would be best to get a real professional design for that as well before putting it out for public consumption.  We'll be finishing up the functionality in the next few weeks, then recruiting a designer for that as well.&lt;br /&gt;&lt;br /&gt;I recently started working on a new site, BlurbCurb.com.  It is meant to tie together all of my different websites by giving them a common way of signing up advertisers, and will function something like AdBrite.com.  I'm also going to try to work in something for cross-promotion, so I can use my existing traffic on one site to build the others.&lt;br /&gt;&lt;br /&gt;There was an interesting article on Slashdot the other day about "the perfect job website."  That's something I've thought about a lot since it was going to be one of my next projects around the time I started &lt;a href="http://sneakyfeelings.com"&gt;SneakyFeelings.com&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Job websites (at least the major ones like Monster, Dice.com, and CareerBuilder) have basically been struck by the same problem that has been plaguing Google:  Too many middlemen.  Granted, it is different than Google, where nobody pays for listings and cheating the system has become an industry.  Job boards are populated mostly by recruiters and other staffing firms who try to recruit people for their "benches," either to be placed in slots at actual hiring companies or to be kept on the hook for anticipated future needs.  As stated in the slashdot forum, this is a source of endless frustration for job seekers who would rather speak directly with interested hiring managers. &lt;br /&gt;&lt;br /&gt;I get the impression that when these sites were first envisioned they were pictured as a way of streamlining the HR industry, uniting job seekers wih open positions and making the world a more efficient place.  Originally they may have even acheived that goal for a little while.  Then job posters realized that putting an ad up on monster resulted in 500 resumes coming your way, many of whom were woefully unqualified for the position at hand.  It was better to instead deal with staffing recruiters, who could cull through this mess and find the handful of resumes that at least matched the job requirements on paper.  The problem then was that recruiters generally have no idea of what is required to do the job, and recuit mostly based on easy-to-quantify criteria (like education/GPA, certifications, years at jobs, etc) rather than more subjective criteria, such as competence and quality of experience. &lt;br /&gt;&lt;br /&gt;One of the best job sites I found back in the day was Guru.com, because they actually had short written tests that you could complete to qualify you for the skills you said you had.  This gave potential employers a powerful tool to better qualify you outside of the resume.  I think that Guru had some problems and was eventually bought out by a competitor, who kept the brand but reoriented the site to a more short-term gig-based bidding site.  In any event, the larger sites never really found a way around this independent-qualifier problem and now still have the middlemen running the show.&lt;br /&gt;&lt;br /&gt;To make job sites better, I think they need to be made more attractive to employers.  The internet is an interactive medium, yet all of the sites basically behave like newspaper classified ads.  Instead of having a list of responsibilities and desired qualifications, why not add a short 5 question multiple-choice test on the end where the applicant would need to prove themselves a little?  Instead of going through 500 resumes, they could then focus on the 40 who answered everything correctly.  Then you could send each of those people a written essay question to see how they would solve  a particular workplace problem and receive a manageable number of essays to read through.  It would be impractical for recruiters to do this since they do not know the job well enough (usually) to craft a good series of questions and essays, so we have then achieved the goal of more direct employers, fewer recuiters, and more qualified candidates.&lt;br /&gt;&lt;br /&gt;Hopefully someone will take this up and run with it soon, or I may need to start this site once I get a few weeks free.  :)&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-114093260449949000?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/114093260449949000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=114093260449949000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114093260449949000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/114093260449949000'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/02/hi-everyone-im-so-excited-some-of-my.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113745939791420038</id><published>2006-01-16T16:00:00.000-08:00</published><updated>2006-01-16T16:56:37.953-08:00</updated><title type='text'></title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;Been a while since I posted and I don't want this blog to officially be called dead by the Blog Police. :) &lt;br /&gt;&lt;br /&gt;It's been a hectic time here at 18th Street.  We rolled out a new project recently that Ian will be heading up; I'll post the link once we are ready for public access. (and scrutiny!)  It is fully functional right now, however, and I am very excited about the possibilities there.  It is something which will appeal to both small businesses and their customers, two groups I am very interested in getting in front of! :)&lt;br /&gt;&lt;br /&gt;StevesLeads.com is also making substantial progress, although I took a few weeks off of it to hone my CSS skills while putting together the above project.  I now have a very nice design in place and am reconfiguring all of the pages to implement it across the development site.  I won't bother giving an ETA, but it will be a few weeks at least.&lt;br /&gt;&lt;br /&gt;I've been talking to my good friend, Jason of &lt;a href="http://fetchfood.com"&gt;Fetchfood.com&lt;/a&gt; fame, about starting a little venture together.  So far he has been resistant, perhaps due to his pressing FetchFood obligations, but I am confident I can wear him down eventually.  FetchFood would actually be a significant component of the plan, along with SneakyFeelings, StevesLeads, the new undisclosed project, and perhaps even BananaPanel at some point.  More on this as it develops.  I'm also going to get back into the networking thing once StevesLeads.com is done. 18th Street is really becoming something I am proud of, and I'm eager to start meeting more people I can partner with on various levels to expand our reach into some other markets as well.  I'm working with Steve (or rather, nagging him to work.  I get like that.) on developing a new monthly group up at a business club downtown that would appeal to small- to medium-sized business executives.  It's a tough thing to get off the ground logistically, but it can serve as a valuable resource to all those involved if executed correctly.&lt;br /&gt;&lt;br /&gt;In other news, a lot has been going on in the world recently.  Many of us were shocked and saddened by the medical problems faced by Ariel Sharon  in the past few weeks.  While he is a controversial figure in some circles, he is a very courageous man who is almost through a unilateral force of will changing the landscape of the Middle East.  The decisions he has made to withdraw Israeli settlements from Palestinian land did not endear him to many of his countrymen, but he knows that it is a necessary step if there is to be a decline in the tensions between Israelis and Palestinians.  It was dismaying to hear certain isolated Palestinian leaders celebrating his misfortune, and I sincerely hope they are in the minority.  In that conflict there have been many atrocities on both sides, and you could literally count back forever to determine who wronged who first; the important part now is moving on and coming up with a solution that will let the two groups live peacefully side by side.  Mr. Sharon knows this, and expended a huge amount of political capital to get it moving in the right direction.  Moreso, he is likely the only person with the credentials to pull it off, much like Richard Nixon was the only President of the United States to be able to open a dialogue with China in the 1970s.&lt;br /&gt;&lt;br /&gt;I wish him the best of luck in his recovery.  Even if he is unable to rejoin the political scene, he has provided a template that can be used by current and future Israeli leaders to forge a new relationship with the Palestinians.  I hope the Palestinians understand this and make the most of the historic opportunity.&lt;br /&gt;&lt;br /&gt;Ok, enough politics for one entry.  Til next time!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113745939791420038?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113745939791420038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113745939791420038' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113745939791420038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113745939791420038'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2006/01/hi-everyone-been-while-since-i-posted.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113489126418211755</id><published>2005-12-17T22:43:00.000-08:00</published><updated>2005-12-19T22:22:18.980-08:00</updated><title type='text'></title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;I decided to open-source BananaPanel under the GPL.&lt;br /&gt;&lt;br /&gt;I've always wanted to make an open-source project, and this was a great opportunity to do it.  Free content management systems are nothing new, but BananaPanel has an architecture that is unlike most others; you can run it as a server from one location and host your websites anywhere else in the world.  This is a big deal for developers, and here's why:&lt;br /&gt;&lt;br /&gt;Most contract IT companies who make websites for clients develop their own CMS systems and code libraries that they reuse from one project to the next.  The problem is that over time they have different versions of these things out in the wild.  When Client A from five years ago comes back with a problem, the chances that a.) the developer who made their site is still with the company and b.) that the code in that site looks anything like what the company is currently working with are both darn near zero.&lt;br /&gt;&lt;br /&gt;BananaPanel, or a system based on its architecture, can solve this problem since all of the content is hosted from a single server, as are the applications used to edit that content.  You can't have out-of-date versions of the software floating around since every user is using the most up-to-date version automatically.  Meanwhile, the customer's website itself can be hosted anywhere they want.&lt;br /&gt;&lt;br /&gt;I'll post the SourceForge links when it goes up.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update: &lt;/span&gt;Here you &lt;a href="http://sourceforge.net/projects/bananapanel/"&gt;go&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113489126418211755?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113489126418211755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113489126418211755' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113489126418211755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113489126418211755'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/12/hi-everybody-i-decided-to-open-source.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113389556154373486</id><published>2005-12-06T09:47:00.000-08:00</published><updated>2005-12-06T10:59:21.586-08:00</updated><title type='text'></title><content type='html'>Hey everybody,&lt;br /&gt;&lt;br /&gt;Still chipping away at StevesLeads.com.  I had to take on the web designer duties on that project, so it altered the timeframe a bit.  We're still hoping to finish up by the first of the year and the testing period will need to be abbreviated somewhat.  Good thing I don't make any mistakes! ;)&lt;br /&gt;&lt;br /&gt;Interesting article on MSNBC/NewsWeek.  Check it &lt;a href="http://www.msnbc.msn.com/id/10296177/site/newsweek/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It's written by the Eric Schmidt, the CEO of Google, and a professor at Berkeley, and puts into writing several important principles Google uses in its operations.  Many of them are good points, and seem very enlightened from a management perspective.&lt;br /&gt;&lt;br /&gt;I find it interesting that people who are involved with successful companies have no shortage of insight into how they got that way.  If you visit your local Borders, you will likely find lots of books with titles like "The Microsoft Way" or "The GE Way."  The idea here is that success is something that can be bottled up and sold, and a formula which can be repeated for anyone with $19.99, or $29.99 for the hardcover.  I don't mean to be unnecessarily harsh on Mr. Schmidt or any of these other people, since I understand that they are well intentioned and that they do have good stuff to say.&lt;br /&gt;&lt;br /&gt;I'm just hungry for the honest stories.  &lt;br /&gt;&lt;br /&gt;"Well, we lumbered along for 5 or 6 years with no strategic vision, just waiting for a big break to come along.  We knew we wanted to control a platform, so we started writing languages for computers we thought would be successful.  Most weren't.  We ate Ramen and slept on motel floors, but I wasn't too concerned because my family had some money and I knew I wouldn't starve.  Then my mom set up a meeting with some guys at IBM, and we sold them a bill of goods on an operating system, but were able to leverage the fact that they were under investigation by the Justice Department for anti-trust violations to get a favorable licensing agreement.  At that point other vendors started lining up to make machines compatible with IBM's, and we were in the right place at the right time to take advantage of that.  We were able to take our domination of that platform and use it to drive our competitors out of all of the important application spaces.  Then we basically sat on our hands for 15 years collecting monopoly rents and releasing incremental updates periodically at ridiculous prices."&lt;br /&gt;&lt;br /&gt;Not as flowery as talking about enlightened hiring processes and free soda machines on campus, but certainly more insightful to a would-be entrepreneur looking to make it big.  It has all of the elements:  the struggle with indecision about what direction to head in when you found the company, the lean times before your big deal comes in, using connections through family and friends to "cut in line" and get in front of the right people, the lucky break, leveraging a situation to your maximum benefit, and protecting the franchise.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;This is what business is all about!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I don't see very many articles out there that tell us about these things, probably because telling people how to exploit advantages they have over competitors doesn't sound so nice.  People in such elevated positions can afford to write their own history books where the lucky breaks and cut-throat tactics are replaced with inevitability and customer-focused solutions.  I understand why this is, but it still feels a little wrong.&lt;br /&gt;&lt;br /&gt;To be fair to Mr. Schmidt, his article seems to be aimed more towards the larger companies than the small.  Perhaps one day I will be able to read it and see that placing ping-pong tables in my offices and hiring by committee are in fact important.&lt;br /&gt;&lt;br /&gt;Personally, I'd like to hear what Scott McNealy thinks of all this.  He always has something interesting to say.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113389556154373486?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113389556154373486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113389556154373486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113389556154373486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113389556154373486'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/12/hey-everybody-still-chipping-away-at.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113278215181143583</id><published>2005-11-23T13:42:00.000-08:00</published><updated>2005-11-23T13:42:31.820-08:00</updated><title type='text'></title><content type='html'>Nevermind.  I'm back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113278215181143583?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113278215181143583/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113278215181143583' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113278215181143583'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113278215181143583'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/11/nevermind.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113276244468154085</id><published>2005-11-23T06:58:00.000-08:00</published><updated>2005-11-23T08:17:05.206-08:00</updated><title type='text'></title><content type='html'>It's official.  Google hates me.&lt;br /&gt;&lt;br /&gt;First came the rejection of my AdSense application for ClickPyramid.com.  This I can almost understand, since ClickPyramid, while being totally legitimate in every way, is not unlike several other sites of more dubious distinction.  The quoted reason for why it was rejected is that they have a ban on sites that either give dollars or "points" to people for visiting certain other websites.  My website did neither of these two things but it skirted a fine line; as Google was both the jury and the arbitrator, I decided it didn't make much sense to make a stink with the poor customer service guy and let it go.&lt;br /&gt;&lt;br /&gt;Then today a new bombshell dropped: ClickPyramid.com itself, which had been the first result when you searched for "clickpyramid", is no longer returned.  If you type in "clickpyramid.com" you can still see the little stub entry that just links to the domain, but it no longer displays the title of the homepage or the meta description like it used to.  Its identity has been erased.&lt;br /&gt;&lt;br /&gt;My guess as to why this is the case is that somebody at Google decided I was trying to game their system.  Obviously, ClickPyramid.com is meant to get people linking to it, much like every other of the thousands of directory sites on the net.  And just like the other legitimate directories, I have implemented an editorial policy where I don't allow affiliate linking sites or adult sites to utilize the system.  Even a cursory visit to ClickPyramid.com should demonstrate to users that I am not trying to scam anyone; I explicitly don't promise riches, don't use &lt;span style="font-weight:bold;"&gt;bold text&lt;/span&gt; or hyperbole, and don't ask for money or force reciprocal links on people.  It is exactly what it is advertised as, a system for bloggers, small businesses, and organizations to advertise themselves for free on the Internet.&lt;br /&gt;&lt;br /&gt;I think it's pretty dangerous that one company has so much control over the Internet.  They can make or break websites at their discretion, and that is unfair to the thousands of little guys out there trying to eek out an online living.  But this is not a simple rant about the rich getting richer and the grass suffering when elephants fight.  I have a proposal to make.&lt;br /&gt;&lt;br /&gt;One of the huge problems Google faces is that the sheer size of their index means that they must rely on automated methods for much of its upkeep; this means PageRank, link counts, and the like.  When humans do get involved with their process it is only to do the pruning of supposed charlatans like me.  They hide behind obscurity of their algorythms to deflect criticism, which leaves the have-nots in the unenviable position of having to argue with a computer if their site isn't listed where they think it should be, such as a search of its domain name.  On the other hand, there are a lot of genuine scammers out there using automated methods to try to take advantage of Google's generosity in offering traffic to relevant pages.  Google must have a weapon at their disposal to punish these people, and delisting is an obvious solution.&lt;br /&gt;&lt;br /&gt;So how can we reconcile Google's need to protect its index from scammers with its responsibility (moral, not legal) to let small guys at least be listed?  I think that they should introduce a system whereby sites that they have flagged as being potential scams recieve an automated email to a special address, such as googlecomplaint@domain.tld.  This email should then ask the site to register with Google and give relevant information about their business, country of origin, name of the owner, etc.  Then every month the site owner will be required to go to that form and fill out a captcha (those little things where you need to type in the word that appears in a picture) from a specific IP address or something like that to make sure the site continues to be listed.  It would be somewhat onerous on the site owner, but that is okay, since for many of us it would be easier to do that than to be delisted.  Once the site has a sufficient footprint online to no longer be in the delisting margins, this process would end and the site would occur in the search results just like any other regular site.&lt;br /&gt;&lt;br /&gt;If Google can set this up, it would involve no more human intervention on their end than their present system.  The PageRank system wouldn't be messed up, since the sites would still be of marginal importance.  It isn't as if Google doesn't know these sites exist, it just chooses to not display them in a meaningful way.&lt;br /&gt;&lt;br /&gt;Hopefully someone in Mountain View will read this an put it together as their personal project.  &lt;br /&gt;&lt;br /&gt;Any takers? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113276244468154085?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113276244468154085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113276244468154085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113276244468154085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113276244468154085'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/11/its-official.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113258322022027985</id><published>2005-11-21T05:42:00.000-08:00</published><updated>2005-11-21T06:27:00.236-08:00</updated><title type='text'></title><content type='html'>Hi everyone,&lt;br /&gt;&lt;br /&gt;Good meeting yesterday with Ian; we're planning a relaunch of SneakyFeelings.com in January with a renewed focus on events and singles nights.  Right now he's laying the groundwork for this, and I'm busting my butt getting StevesLeads.com finished so I can get a new source of working capital.  It's nice to have a partner!  Things happen and I'm not the one doing them. :)&lt;br /&gt;&lt;br /&gt;Speaking of SL, that's coming along nicely.  It's implemented using that "hot" new programming framework, Ruby On Rails.  As much as I love the goodness of the code, I know I would be much faster sticking with PHP rather than learning a new language and framework for the purposes of a single project.  I'm a little conflicted about it.&lt;br /&gt;&lt;br /&gt;Programmers are funny people.  Much like physicists, I think most of us (at least the ones who care about more than earning a paycheck) harbor the belief that there can be a single formula for describing anything.  The problem is in finding that formula.  There are always new languages popping up, and vendors often hail them as the one that fixes all problems.  It gets really humorous when someone changes their tune and says, "No wait.  We &lt;span style="font-style:italic;"&gt;specialize&lt;/span&gt;.  We don't solve &lt;span style="font-style:italic;"&gt;all&lt;/span&gt; problems, just the one of making websites."  This specialization is bogus, since websites are merely a presentation layer for an arbitrarily complex software system.  Sure, maybe your framework makes submitting a form look pretty, and maybe it can map a database table to a language object.  What makes an application &lt;span style="font-style:italic;"&gt;valuable&lt;/span&gt;, however, is all the hard stuff which can't be easily adapted into a paradigm.  If a developer doesn't push technology in a new direction and use the language/framework for something other than what the original creator thought it could be used for, she isn't really contributing anything to the world.  There, I said it.   &lt;br /&gt;&lt;br /&gt;It is in this category that Rails fits.  I have to say that the guys behind it do not brag and hail themselves as the be-all-end-all of development frameworks.  The computer press has done that for them.  What they have created as a very good system that makes simple sites simple to make, and harder sites moderately easier to make.  I can only say moderately since the sheer elegance of the Ruby language is offset by the fact that it is only now getting a third-party community, and many of the constructs people are used to having in an API are still being created.  In addition, most problems in the Java and PHP worlds can be solved by Googling an error message.  Ruby, as I found out this weekend, isn't there yet.  Scripting languages are notoriously difficult to troubleshoot (since so much stuff is created on the fly, and types are fluid, etc) and this lack of a web presence is challenging.  As I become more familiar with the tools available it will get easier, but still.&lt;br /&gt;&lt;br /&gt;After StevesLeads, I will jump back to PHP to knock out my next few projects.  Since my sites are all maintanence-free, the syntactic ugliness shouldn't be an issue.  Perhaps I will jump back to Ruby once 18th Street has some more mouths to feed; it seems an ideal system for a team environment.&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113258322022027985?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113258322022027985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113258322022027985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113258322022027985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113258322022027985'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/11/hi-everyone-good-meeting-yesterday.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113146360759718811</id><published>2005-11-08T06:51:00.000-08:00</published><updated>2005-11-08T07:28:41.640-08:00</updated><title type='text'></title><content type='html'>We launched a new online service yesterday, &lt;a href="http://clickpyramid.com"&gt;ClickPyramid.com&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;It's a system for small site owners (like us!) to generate traffic through network marketing.  Basically, users of the service view 5 sites and grab codes from each page that comes up.  They then enter these codes in a form, along with information about a site they would like to link to.  Then they get a URL to advertise that has a list with their site at the top position and the top 4 sites on the prior list under it.  Anyone following their link will go through the same process, moving the original person's ad to position 2.&lt;br /&gt;&lt;br /&gt;Theoretically, your ad can go through 5 generations of linking (one for each position on the list) growing exponentially in reach with each iteration.  Of course this type of growth is unlikely in the long term, but you should still see a decent traffic increase for a relatively modest amount of effort. &lt;br /&gt; &lt;br /&gt;I have no intention of making money with ClickPyramid.com, especially since Google declined my AdSense application. :)  I do hope it provides a useful tool for small developers like myself and gives small sites without an established audience their 10 seconds in the sun.&lt;br /&gt;&lt;br /&gt;My article last week about operating systems made it to Slashdot.org after I submitted it in another shameless act of self promotion.  (hey, if you don't promote yourself, who will? :)  Unfortunately, I don't think many people read it.  The article itself generated a ton of comments, but most of them substituted the word "Linux" for "Open Source" in the title and then went on to say why Linux isn't ready for the desktop.  I agree with this assessment, but my goal was to move the argument away from Unix and towards free-as-in-speech Windows clones.  I do appreciate all of the comments on the blog and the thoughtful emails I received.&lt;br /&gt;&lt;br /&gt;Not too much is going on in the computer press that I can comment on right now.  Apparently CA is selling off their Ingres unit and some people are (again) questioning the viability of open source as a business model.  This is a little wierd, since Ingres wasn't an open source project before CA made it so, and this was only after it had lost all of its market share and most of its visibility.  It isn't at all surprising that "yet another open source database" had a hard time establishing a market for itself in a very crowded space, but I think characterizing that as a failure of open source is similar to saying that Sybase declining in market share is a failure for capitalism.  Products come and go, that's the way the world works.&lt;br /&gt;&lt;br /&gt;Til next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113146360759718811?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113146360759718811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113146360759718811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113146360759718811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113146360759718811'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/11/we-launched-new-online-service.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113094921718736950</id><published>2005-11-02T07:19:00.000-08:00</published><updated>2006-07-17T19:53:17.223-07:00</updated><title type='text'></title><content type='html'>Hi everybody,&lt;br /&gt;&lt;br /&gt;Things are going well over at 18th Street.  I had a chance to meet with my good friend and soon-to-be business partner Steve Williams last night, and ate way too much Italian food.  (hmm. pizza :)  We're working on that networking site project together and everything is proceeding according to schedule.  The public launch will be sometime between mid-December and the 1st of next year, and more details will follow as that gets closer.&lt;br /&gt;&lt;br /&gt;Now for some advocacy:&lt;br /&gt;&lt;br /&gt;I was reading an article online the other day about the Linux desktop, a big area of interest for me.  For those who don't know, there are alternatives to the Microsoft platform (ie. Windows) that are available for free and include all of the software you are ever likely to need.  It's true.  Click &lt;a href="http://fedora.redhat.com/"&gt;here&lt;/a&gt;, &lt;a href="http://www.opensuse.org/"&gt;here&lt;/a&gt;, or &lt;a href="http://debian.org"&gt;here&lt;/a&gt; for some of the possibilities.&lt;br /&gt;&lt;br /&gt;Anyhow, the article was saying how the Linux desktop needs to innovate rather than simply copy whatever the current market leader (Windows) does.  You hear this complaint a lot.  Linux is part of a broader "open source" movement, and these projects are often derided for not breaking any new ground relative to commercial, "closed source" projects.  Basically, the closed source programs establish a market for a particular type of software or set of functionality, and then the open source folks come in and attempt to commoditize it through copying that functionality.  While this pattern is correct, it isn't nearly as bad as it sounds, and a similar thing happens in almost any sphere in life.  Once the first insurance agent proved you could get people to give you money upfront for potentially disasterous events that may come along in the future, you better believe that 25 million other folks started lining up around the block looking to "protect" people from all sorts of things. &lt;br /&gt;&lt;br /&gt;The problem I see is that like most developers, the author of this article has an "if we build it they will come" mentality.  This happens a lot with us programmers, since we always like hot and sexy new technologies that change the world.  The thing is that this isn't really true.  People don't choose operating systems because they are sexy.  Just ask Apple, who have had a consumer coup with their iPods and yet only modest success in getting the Mac accepted as a mainstream platform afterwards. &lt;br /&gt;&lt;br /&gt;Instead, the problem with Linux is that not enough people are getting it preinstalled on their computers.  There are many reasons for this, but I'll highlight the two I think are the most important.&lt;br /&gt;&lt;br /&gt;One, most of the top OEMs (like Dell, HP/Compaq, Gateway, etc) are scared of Microsoft, and in fact would go out of business if Microsoft got testy and took away their OEM licenses for Windows.  OEM licenses let those companies distribute Windows on new PCs for (I've heard) about $90 per copy, versus the $249 or so price it ships for.  (The numbers might be wrong, but you get the point)  In an age where PCs sell for $500, there isn't a lot of wiggle room to make up a $150 price increase, and vendors with that increase simply wouldn't be able to compete.  While it is no doubt illegal for Microsoft to explicitly say "if you ship PCs with Linux, we will yank your OEM license," the implicit threat is enough to keep Linux out of the circulars and catalogs.  A vendor could survive without Windows, but they are all profitable businesses right now and it is unlikely that they would leave that for an uncertain future.  In the rare cases that top OEMs will give you Linux on a PC, it is very often only on limited hardware choices and at a cost higher than Windows on the same machine.  Since you can get Linux for free, there is obviously something else making this so. &lt;br /&gt;&lt;br /&gt;Two, Microsoft has done an excellent job in promoting their platform and has created an entire generation of corporate IT folks who can't see any other way of computing, and see any incursion by non-Windows systems as a threat to their job security.  This is absolutely killing Linux in the corporate desktop space.  Programmers, system administrators, and other IT staff have fairly straightforward career trajectories; most learn some languages and platforms, get some certifications, and work for many happy years with those skills.  In such an environment, every IT vendor wants to be "the" platform on which technicians establish their career.  Hence all of the vendor certification programs, developer conferences, free software, and other enticements they use to lock in people to their platform.  Microsoft is a master at this, and all of these locked in techies do more to perpetuate their dominance than any advertising campaign ever could.&lt;br /&gt;&lt;br /&gt;I laud the Linux community and actually use the product myself, but I've become convinced recently that it will never be able to have a significant impact on Microsoft desktop hegemony since it can't provide a real answer to the two problems above.  I think the open source community as a whole would be well served to start supporting projects like &lt;a href="http://www.reactos.org"&gt;ReactOS&lt;/a&gt;, which is aiming to create a free implementation of Windows built entirely on open source technologies.  If that project reaches maturity, OEM vendors can have a retort to any threat Microsoft might make, and Windows platform devotees will still be able to utilize their hard-earned skills at work.  Given the reverence the community has for Unix and the Unix way of doing things, though, I'm dismayed at the likelihood of this happening.&lt;br /&gt;&lt;br /&gt;We shall see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113094921718736950?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113094921718736950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113094921718736950' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113094921718736950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113094921718736950'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/11/hi-everybody-things-are-going-well.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-113036770620536191</id><published>2005-10-26T14:45:00.000-07:00</published><updated>2005-10-26T16:01:46.226-07:00</updated><title type='text'></title><content type='html'>Hi everybody.  Quick update:&lt;br /&gt;&lt;br /&gt;SneakyFeelings.com is growing nicely.  I had to fix a bug in the location search thing a little while back. (thanks to Lrobby99 for pointing that out!)  It was returning people from all over the country no matter where you searched from.  Oops. :)  All better now.&lt;br /&gt;&lt;br /&gt;I've recently been talking to a friend of mine about going into a partnership on SneakyFeelings.  He has an background in marketing and event promotion (he used to run a nightclub in New York City), and will no doubt help tremendously in raising our profile as we take our advertising offline and into the real world.  More on this as new developments arise.&lt;br /&gt;&lt;br /&gt;Work is progressing on my next venture, a social/business networking site that I'm putting together with two partners.  While I can't elaborate in too much detail yet, I have great hopes for this project; the guys I'm working with are top-notch and we've already made several important connections that will make the roll-out go smoothly.  I'll link to it from here when it goes online.&lt;br /&gt;&lt;br /&gt;In other news:&lt;br /&gt;&lt;br /&gt;Funny article on Slashdot the other day about "splogs;" apparently lots of folks agree that it is one of the biggest threats to the internet.  One poster even went so far as to call Google "useless."  What to do about it is less clear.  I have great respect for those guys in Mountain View, but the fact of the matter is that there are lots more people who try to get rich gaming their system than there are people who can police it.  &lt;br /&gt;&lt;br /&gt;According to some reports I've read, Google makes user satisfaction their number one goal.  They would even go so far as to give up revenue if they perceive it as potentially hurting searchers.  We may be reaching the point that having the biggest index in the world shouldn't be the number one priority.  AltaVista, for instance, didn't die because their index wasn't big enough, but because they didn't return useful results to searchers, at least relative to Google.  &lt;br /&gt;&lt;br /&gt;What it comes down to is this: computer programs (like Google) take in input and try to produce useful output based on this.  For a search engine the inputs consist of search terms entered by the users, an index of pages that they have spidered from the web, the links from those pages to other pages, and perhaps a history of what users searching for similar terms have clicked on in the past.  There may be some more, but not a whole lot more; the web is a pretty basic device.  While it isn't all that difficult for a service like Google to gather data, it is challenging to use the limited inputs at their disposal to turn this data into information.  It becomes much harder when you have an active community of people trying to take advantage of the limited inputs to profit.  This wasn't a problem when Google was first created, but it has become that way now.  I'd like to see what their next move is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-113036770620536191?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/113036770620536191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=113036770620536191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113036770620536191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/113036770620536191'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/10/hi-everybody.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112976229274792562</id><published>2005-10-19T15:27:00.000-07:00</published><updated>2005-10-19T15:51:32.753-07:00</updated><title type='text'></title><content type='html'>In my quest to find new places to advertise SneakyFeelings, I've started to notice some trends on the internet that never really caught my eye before, and they are pretty troubling.&lt;br /&gt;&lt;br /&gt;Quick rewind:  Earlier this year I was shopping for a color laser printer to do the literature for my company, 18th Street Software.  A particular model (the Samsung CLP-550) seemed to be everything I wanted, but when I tried to google it to do some research I was disappointed to find that there were next to no original reviews to be found.  Those that were there were way down in the results.  Almost every site used Amazon's web services (or a similar mechanism from another content creator) to pull down their reviews and then offered a "comparison shopping" engine to let the visitor chose a place to buy the printer from.  These listings were also generated by web services most likely.  So, basically, there were hundred of sites that contributed nothing to the world but more static.&lt;br /&gt;&lt;br /&gt;Recently I found the culprit: affiliates.&lt;br /&gt;&lt;br /&gt;Basically, many websites (including most online stores) use affiliates to try to drive traffic to their sites.  They reward their affiliates with some sort of commission either for the traffic itself or for the purchase of any goods or services on the site.&lt;br /&gt;&lt;br /&gt;I think this is pretty dangerous.  It's gotten to the point where you can generate a website (or more easily still, a blog) with a few clicks of the mouse.  Much like spam, there is virtually no cost to do this.  Then you just need to sign up for affiliate accounts and go wild putting links on the site.  If you are feeling particularly plucky, you can create several of these sites and link them to one another to help search engine placement, or join a reciprocal link network to trade traffic with similar sites.  There are even people selling books to tell you exactly how to become a "rich jerk" doing this.&lt;br /&gt;&lt;br /&gt;More close to home for me, I've recently come across a dating site network that functions in just the same way.  You run a script to create your dating site, and it links right in to a ready-made database of "singles."  After that you just need to convince people to join and get your commission.  Crazy.&lt;br /&gt;&lt;br /&gt;While there is no point in trying to stem this tide (too many people make cash too easily) I'd really like to see a second internet evolve which is immune to this sort of exploitation.  Maybe a second Google will pop up one day that doesn't let so much junk through. I wonder who could do that? ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112976229274792562?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112976229274792562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112976229274792562' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112976229274792562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112976229274792562'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/10/in-my-quest-to-find-new-places-to.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112845308819053198</id><published>2005-10-04T11:43:00.000-07:00</published><updated>2005-10-06T07:24:09.756-07:00</updated><title type='text'></title><content type='html'>Well, we're a little more than a week into the SneakyFeelings.com experiment, and things are going nicely so far.&lt;br /&gt;&lt;br /&gt;After running the first ads on DCist and Wizbang, we expanded to a few more within the blogads.com network. While the sample size isn't yet large enough to draw statistically meaningful conclusions, I've noticed that the location of the spots in the blogs seems to be one of the primary factors in their success. Appearing on the top right or top left of the front page seems to be worth more than a couple thousand page views. Our ads are consistantly getting a click through of between .25 and .5%, and we've been good at shifting resources to the better-performing blogs.&lt;br /&gt;&lt;br /&gt;One surprise: in trying to reach out to female users, I purchased ads in two pop-culture related blogs. They receive an obscene number of page views, but the click-through has only been about a tenth of our average. I'm going to tweak the ads until we can get them more in line, but I get the feeling that not all page views are created equal. We will see. In brighter news, we also have another ad that is getting a 1-2% click through rate. With numbers like that (over a small sample size, granted) I can see how the early dot-commers got drunk on extrapolations. :)&lt;br /&gt;If any of my faithful reader(s) out there know of some good places to find potential female online daters, please let me know!&lt;br /&gt;&lt;br /&gt;Finally, we've taken on a mascot: that loveable toy donkey you have seen in the ads. We're still trying to name her; so far my favorite name is Dagny Lipsdonkey. We are taking nominations, though. Originally, the donkey was created for one of our "progressive dates" spots but it was so cute that she started popping up elsewhere too. She may make an appearance on the main site someday as well. I wonder if the pets.com sock puppet needs a home... :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112845308819053198?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112845308819053198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112845308819053198' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112845308819053198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112845308819053198'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/10/well-were-little-more-than-week-into.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112767572034446107</id><published>2005-09-25T11:43:00.000-07:00</published><updated>2005-09-25T12:15:20.350-07:00</updated><title type='text'></title><content type='html'>I bought the first SneakyFeelings.com ads last Friday on two separate blogs, dcist.com and wizbangblog.com.  So far, dcist.com has been the winner in terms of traffic. (3 times the visits in 1/2 the page views)  We've had 10 people sign up in about 2 days now; I think blogs are more a weekday, should-be-doing-work-instead type of thing, so next week will see more traffic.&lt;br /&gt;&lt;br /&gt;An interesting thing I've been noticing: of the 10 people to sign up so far, 3 have filled out full profiles, and two have posted a picture.  I think that many are just filling out the demographic data to get to the point where they can do a search, only to be stopped by the "subscribe" page when they click through the account setup.  SneakyFeelings is unique amongst personals sites in that you can't view the profiles without becoming a subscriber; our thinking is that the free month trial and low $5.49 subscription rate should make it pretty affordable.  We are striving to be different from the other sites that have separate "member" and "subscriber" access, since they require more oversight on the part of the site operators (thereby raising prices since they need monitors to approve profiles and prevent profile spam) and provide an bad experience for users, who can never be sure if the person they are writing to has an account that permits them to respond to emails.  Then they end up sending personal email addresses in their messages and profiles, and lose out on the security that the personals site can provide.&lt;br /&gt;&lt;br /&gt;In case you are one of those people who signed up but didn't do the PayPal thing, let me reassure you:  You will not be billed for the first month of service.  There is absolutely no risk in signing up, and you can cancel at any time on PayPal.com.  Thanks for your patronage, and best of luck finding that special someone! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112767572034446107?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112767572034446107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112767572034446107' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112767572034446107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112767572034446107'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/09/i-bought-first-sneakyfeelings.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112682255083894130</id><published>2005-09-15T14:09:00.000-07:00</published><updated>2005-09-15T15:15:50.843-07:00</updated><title type='text'></title><content type='html'>Making some last minute tweaks to the website.  Two days ago I added affiliate IDs (so we could give partners credit) and yesterday I added promo codes so that we could provide special deals for groups we are going to target.  Tonight I'm hoping work on the reference and "Send to a Friend" functions for profiles, and that will likely be finished tomorrow or Sunday.&lt;br /&gt;&lt;br /&gt;I'm heading out of town for the weekend (Rehoboth Beach, yay!) so I'm going to wait until next week for the first big push of SneakyFeelings.  I really want to be around in case it takes a dive. :)&lt;br /&gt;&lt;br /&gt;Right now I'm waiting for Demi to get here so we can grab some food.  Then it's back to coding for me and studying for her.  Footloose and fancy free indeed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112682255083894130?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112682255083894130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112682255083894130' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112682255083894130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112682255083894130'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/09/making-some-last-minute-tweaks-to.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112667459164853824</id><published>2005-09-13T21:44:00.000-07:00</published><updated>2005-09-13T22:09:51.653-07:00</updated><title type='text'></title><content type='html'>Yesterday Jason (&lt;a href="http://fetchfood.com"&gt;http://fetchfood.com&lt;/a&gt;) and I finished setting up the server, and I'm more or less satisfied it won't crash tomorrow. :)  Now it's time to promote.&lt;br /&gt;&lt;br /&gt;Dating sites are a tough industry since there is a lot of competition, and when you start out you have a traditional chicken and egg problem; you can't easily get new users when there aren't any on the site already to tempt them in.  Yet a cursory look online reveals that every dating site has many thousands, if not hundreds of thousands, of users.  How do they manage to do it?&lt;br /&gt;&lt;br /&gt;The major sites (match, yahoo, eharmony, maybe lavalife) advertise on many media, so it isn't hard to see how they have pulled it off.  There are a number of smaller sites (udate, american singles) which advertise exclusively online.  The rising trend seems to be tie-ins with existing sites. (F***edCompany.com uses such a service, and I recently saw that the Washington City Paper uses one as well)  This is generally a good idea since these sites don't need to appeal to end users directly, which is costly and something of an imperfect art.  Outside of this are the niche sites that appeal to particular demographics, such as jdate.  They are able to get good word of mouth within those communities.&lt;br /&gt;&lt;br /&gt;We certainly have some work to do to establish ourselves and overcome that initial "chicken and egg" dilemma, but we're confident that it will be done. &lt;br /&gt;&lt;br /&gt;But hey, we're just kids after all; what is there to lose? :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112667459164853824?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112667459164853824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112667459164853824' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112667459164853824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112667459164853824'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/09/yesterday-jason-httpfetchfood.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112647815797399026</id><published>2005-09-11T15:24:00.000-07:00</published><updated>2005-09-11T15:35:57.976-07:00</updated><title type='text'></title><content type='html'>Today I bought the new SneakyFeelings.com server hardware from ServerBeach.com.  They seem like a great, no-BS type of place.  In a wierd way I am comforted by the occasional awkward wording and punctuation lapses in their FAQ, since it lets me know that there are real people behind the site and not just lawyers and robots.&lt;br /&gt;&lt;br /&gt;A guy named Roger helped me out with my questions, and he helped me retrieve my friend Jason's reference ID from their database so I could use him as my reference.  (Obligitory shout out: Jason it the VEEP of &lt;a href="http://www.fetchfood.com"&gt;FetchFood.com&lt;/a&gt;, a provider of online food-ordering services for restaurants.  Check it out, and order some Chinese!)   He was very cheery and helpful, and didn't read from a script.  Highly recommended.&lt;br /&gt;&lt;br /&gt;Demi and I went back to her place to take care of her dog for a bit and get some clothes for her first day at clinicals.  We also took pictures for the website; look under the "About SneakyFeelings" link in a few days and you'll get to see what we look like.  Just promise not to laugh at my lack of photogenicosity. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112647815797399026?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112647815797399026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112647815797399026' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112647815797399026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112647815797399026'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/09/today-i-bought-new-sneakyfeelings.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16565506.post-112631878983694003</id><published>2005-09-09T17:42:00.000-07:00</published><updated>2005-09-09T19:19:49.840-07:00</updated><title type='text'></title><content type='html'>Welcome to There's No Action!&lt;br /&gt;&lt;br /&gt;So I'm working on a project right now called SneakyFeelings.com, and I wanted to have a place on the internet to talk about it and my other comings-and-goings, hence this website. This is my first foray into blogging, so you'll have to let me know how it's going! :)&lt;br /&gt;&lt;br /&gt;A little about me: My name is Mike and I live in Washington, DC. I have a little company called 18th Street Software, LLC. Our initial product was a (what else?) content management system that we implemented for a project with a local music shop. The thinking was that we could make something beautiful and scalable and then sell it a bunch of times to other people and businesses throughout the metro area. In time, our many, many users and unparalleled web services architecture would allow us to roll out value-added services that would be impossible for the competition to match. We were able to sign up several solid customers, but we found that between the marketing activities and long implementation times (people bought websites in addition to the CMS service) it was a time-consuming and ultimately unsustainable model. When you are a small company making one-off products and not catering to the very top of the market, it's difficult to grow much.&lt;br /&gt;&lt;br /&gt;Around the time I was tossing around new business plans, I met a (beautiful) girl named Demi on an anonymous dating site. She is a very hard-working nurse who also attends graduate school, cares for a sometimes-rambunctious dog, and maintains a gorgeous apartment in Alexandria. Not to gross out you kids in the audience, but it was one of those things where we knew we'd be together for a long time after the first couple dates.&lt;br /&gt;&lt;br /&gt;In talking about my business ideas, Demi was particularly interested in one for a dating site. While the details were unclear at that point, the main features were to be a very affordable price and a feedback system for people who have been on dates. So we get to work.&lt;br /&gt;&lt;br /&gt;A few months pass. I code the site at night and continue to work during the day, and Demi works and studies. She helps me get through the rough spots in the design, and provides moral support and optimism whenever I need a lift, which due to the sleep schedule is often. She also works out new marketing ideas and does the testing in what little spare time she has. I'm pretty sure she's a keeper. :)&lt;br /&gt;&lt;br /&gt;That brings us up to today. We are about a week from going live and we couldn't be more excited.  If you're reading this, we hope you will check it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16565506-112631878983694003?l=theresnoaction.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://theresnoaction.blogspot.com/feeds/112631878983694003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16565506&amp;postID=112631878983694003' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112631878983694003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16565506/posts/default/112631878983694003'/><link rel='alternate' type='text/html' href='http://theresnoaction.blogspot.com/2005/09/welcome-to-theres-no-action-so-im.html' title=''/><author><name>Mike</name><uri>http://www.blogger.com/profile/02087718772709936957</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
