<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>This is the blog for Lemur-Labs.  The creators the the little masterpiece we like to call ParkR

This is our little corner of the net where we tell you what we are cooking up, status updates, and possibly the occasional recipe…</description><title>Lemur-Labs</title><generator>Tumblr (3.0; @parkr)</generator><link>http://blog.lemur-labs.com/</link><item><title>Blame the administration...</title><description>&lt;p&gt;What is the defining characteristic of a start-up?  It’s right there in the name.  It is starting up.  It starts up small, and then grows externally (users) and eventually internally (staff and infrastructure). All companies exist in one of four states.  The state diagram is pretty simple:&lt;/p&gt;&lt;img src="http://lemur-labs.com/images/SucceedFail.jpg" height="376" width="246"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Notice that there is no Succeeded.  Be sure to see that you can go straight to failing. Also notice that there is one good spot on the board.  The only times you are not in transition are before you start and after you fail.  All the other times you are trying to be in the sweet spot.  This isn’t an easy board game.&lt;br/&gt;&lt;br/&gt;And let us depress you further.  Here is the prediction: You will fail.  We all fail.  Every time.  Until we don’t.  If you are lucky you will fail the first few times you try.  Get to learn that taste in your mouth.  Now spit it out, and get going again. &lt;br/&gt;&lt;br/&gt;So you ask, are we going to fail? Probably. But we have been around the block a few times.  We will hit one of these time.  Maybe with &lt;a href="http://lemur-labs.com/parkr"&gt;Parkr&lt;/a&gt;, maybe with the next.  The point is we will be ready for it. You grab the poll, mount the carousel horse, ride it up and down, try for the brass ring, and sooner or later the music stops and it is all over. Hey look, We made a metaphor!&lt;br/&gt;&lt;br/&gt;Where were we going with all of this?  Simple.  When you are starting up, it is a frantic scramble.  Everyone it pitching in, and you are short of the necessities.  Silly things like supplies, equipment, infrastructure, and staff. And dollars to yummy yummy donuts, one of the staff positions you are saving &lt;i&gt;“for when we make it”&lt;/i&gt; is a DBA.&lt;br/&gt;&lt;br/&gt;And you are right.  You should wait before you hire one full time, but you should make sure you are friends with a good one.  Someone you can call when things aren’t working right, or performance has fallen though the floor.  Someone you can spiff, or buy a meal, in exchange for a little help.&lt;br/&gt;&lt;br/&gt;Why? Because the #2 reason (in our humble experience), that web apps underperform is because the app is IO bound.  Typically that means the database.  In case you are wondering about reason #1, you screwed up in your code.  You optimized the wrong thing, or didn’t optimize at all.  Or the code is doing stupid things, like not caching enough, or caching too much, etc.  Don’t worry we all make these mistakes the first 30-200 times we try.&lt;br/&gt;&lt;br/&gt;Now if it is the database, what is your first move.  Well if you are like far too many engineers we have experienced, your first move will be to de-normalize the data.  Resist this impulse with every fiber of your being.  It is true that sometimes it is appropriate to de-normalize.  However unless you are doing data warehousing, you can also go a decade or more before you run across a legitimate case.&lt;br/&gt;&lt;br/&gt;More than likely it is &lt;b&gt;THE&lt;/b&gt; database and not &lt;b&gt;YOUR&lt;/b&gt; database that is the issue. It needs to be tuned.  Also more than likely, you don’t know enough to get beyond the basics.  That is OK, you are an engineer not a DBA.  That is why you need to have one you can call, until you can hire a good one.&lt;br/&gt;&lt;br/&gt;A good DBA is worth [gender neutral pronoun] weight in [valuable substance].  You need one you can communicate with.  There are some utterly brilliant DBAs that you wouldn’t trust to tie their own shoes.  While you can feel them practically vibrate with intelligence and knowledge, they are better off inside their silo with someone else to act as the intermediary.  There are plenty of great normalish admins out there.  Find one, or better yet a couple.  Get to know them, treat them with respect.  And &lt;b&gt;WHEN&lt;/b&gt; your danglies are in the fire, you have someone to call.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/25357521</link><guid>http://blog.lemur-labs.com/post/25357521</guid><pubDate>Sat, 02 Feb 2008 19:25:00 -0500</pubDate></item><item><title>Woo to the Hoo</title><description>&lt;p&gt;Version 0.2 or &lt;a href="http://lemur-labs.com/parkr"&gt;Parkr&lt;/a&gt; has been deployed and is now live.  We are seeing an odd little error message in the forms (and are looking into it).  To the user three major changes are evident:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;You now use your &lt;a href="http://blog.lemur-labs.com/post/24680440"&gt;email address as your login&lt;/a&gt; and not your shortname &lt;/li&gt;&lt;li&gt;You can now get and update your location via &lt;a href="http://lemur-labs.com/parkr/?wicket:bookmarkablePage=%3Acom.lemurlabs.parkr.pages.Help"&gt;SMS&lt;/a&gt;&lt;/li&gt;&lt;li&gt;There is now a public page where you can share your location with your friends (if you have any), loved ones (if you have any), and/or stalkers (well of course you have those).  This is an opt-in feature and only turn it on if you are comfortable with the feature.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;As we desent back into the code mines, remember that you will have to resign up with the invite-code you used the last time.  There will be another update soon, but this should be enough to keep ya busy… &lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24917879</link><guid>http://blog.lemur-labs.com/post/24917879</guid><pubDate>Mon, 28 Jan 2008 18:35:28 -0500</pubDate></item><item><title>FYI</title><description>&lt;p&gt;No metaphore laden goodness.  No sage advice.  No creative mispellings.  Just a note to say that the service will be coming up and down over the next few hours.  We will post when the new release is up and testing is done. &lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24894566</link><guid>http://blog.lemur-labs.com/post/24894566</guid><pubDate>Mon, 28 Jan 2008 12:50:36 -0500</pubDate></item><item><title>Who Are You?</title><description>&lt;p&gt;It is quite possible that half of the reason that people watch the&lt;br/&gt;various editions of &lt;a href="http://www.imdb.com/title/tt0247082/"&gt;CSI&lt;/a&gt; can be attributed to the brilliant choice to play &lt;a href="http://www.thewho.com/"&gt;The Who&lt;/a&gt; during the opening.  The selection of “&lt;a href="http://www.thewho.com/index.php?module=discography&amp;discography_item_id=70&amp;discography_tag=albums"&gt;&lt;i&gt;Who Are You?&lt;/i&gt;&lt;/a&gt;” is especially brilliant. It speaks directly to the core of any criminal investigation: establishing identity.&lt;br/&gt;&lt;br/&gt;Did you catch the segue? Did you see how now I can transition to one of the other meaning of identity.  Oh my, we do sometimes think of ourselves as the bee’s knees (if not the actual cat’s pajamas).&lt;br/&gt;&lt;br/&gt;It has been traditional for sites to ask you to give them at least two bits of information&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Your email address&lt;/li&gt;&lt;li&gt;A username to identify you&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;And what happens? We almost always use the same email address and the same username.  Except when the username is taken.  So then you have to break out the common variations of your username or email name.&lt;br/&gt;&lt;br/&gt;Why do we need usernames at all?  Our email address is unique.  We are the only one who can have it.  What most sites call a username is better called the short name.  It is just used to identify yourself to other users on the site.  If you look at &lt;a href="http://myspace.com"&gt;MySpace&lt;/a&gt; there isn’t even a requirement that the short name even be unique.&lt;br/&gt;&lt;br/&gt;We will admit that when we started coding ParkR we fell into the classic model of username and email, and forcing people to user their username.  Our good friend &lt;a href="http://www.ordersomewherechaos.com/"&gt;Ross Olson&lt;/a&gt;, was kind enough to gently remind us, we were idiots and act as a sounding board for how to do it correctly.&lt;br/&gt;&lt;br/&gt;So starting with version 0.2 of ParkR, when an account is created we give the user the option of picking their short name (which must be unique). If they don’t provide one, then the system will attempt to create one for the user (based on the portion of their email address before the at sign).&lt;br/&gt;&lt;br/&gt;This means that those of you who have accounts on the system, will have to change how you log in.  That is ok, because all the data is going to be wiped between versions.  This is beta software, live with it.&lt;/p&gt;&lt;p&gt;PS: The thinking above is hardly new, or in front of the curve.  Nor it is original, Ross pointed us to Jared Spool’s &lt;a href="http://www.uie.com/brainsparks/2008/01/04/uietips-article-account-sign-in-8-design-mistakes-to-avoid/"&gt;excellent essay&lt;/a&gt;. Be sure to read both parts…&lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24680440</link><guid>http://blog.lemur-labs.com/post/24680440</guid><pubDate>Fri, 25 Jan 2008 18:32:00 -0500</pubDate></item><item><title>Teething pain</title><description>&lt;p&gt;Version 0.1 of &lt;a href="http://lemur-labs.com/parkr/"&gt;ParkR&lt;/a&gt; has very quietly gone live.  Not without a little teething pain.  It was supposed to launch on parker.lemur-labs.com, but a strange little Proxy issue is preventing that at the moment. We have every confidence that we will resolve it soon, but for the moment it has bested us.  And so we compromise.&lt;/p&gt;&lt;p&gt;Why are we even telling you this?  Is it a good idea to point out where we are less than perfect, or quite possibly dumb.  We think so. &lt;i&gt;&lt;a href="http://www.cluetrain.com/"&gt;The Cluetrain Manifesto&lt;/a&gt;&lt;/i&gt; starts with the words &lt;i&gt;“&lt;/i&gt;&lt;i&gt;These markets are conversations. Their members communicate in     language that is natural, open, honest, direct, funny and     often shocking.”&lt;/i&gt; So in that light we want to be open and honest with you.  &lt;/p&gt;&lt;p&gt;It isn’t like we can really pull the wool over your eyes.  Eventually everyone gets caught.  In the off chance we become &lt;a href="http://digg.com"&gt;Digg&lt;/a&gt; worthy, we fully expect that every nit worth picking will be raked over the coals (if you will be so kind to let us mix a metaphor).  &lt;/p&gt;&lt;p&gt;Hell the text of the ParkR &lt;a href="http://lemur-labs.com/parkr/AboutUs.html"&gt;About Us&lt;/a&gt; page is so full of hyperbole and balderdash that we hope (god do we hope) that it is clear that we aren’t taking ourselves seriously.  Neither should you.  ParkR is a small app, and it would not be hard for a motivated person to clone (and likely improve) what we are doing. &lt;/p&gt;&lt;p&gt;But that is OK.  Every app you launch, every site you create; is an &lt;i&gt;opportunity&lt;/i&gt;, as the &lt;a href="http://en.wikipedia.org/wiki/Pollyanna_principle"&gt;Polyannas&lt;/a&gt; of the world like to point out.  We made ParkR for a number of reasons: as a way of getting back in the game, as a way to test out technologies that will be used in a more complicated project, and because it is actually useful.&lt;/p&gt;&lt;p&gt;And every one of those reasons is more than enough… &lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24615084</link><guid>http://blog.lemur-labs.com/post/24615084</guid><pubDate>Fri, 25 Jan 2008 01:18:14 -0500</pubDate></item><item><title>Small pieces, loosly coupled</title><description>&lt;p&gt;At &lt;a href="http://Lemur-Labs.com"&gt;Lemur-Labs&lt;/a&gt;, we believe that the future of software on the net is best described by the ideal of “&lt;a href="http://www.smallpieces.com/"&gt;Small Pieces, Losely Coupled&lt;/a&gt;.”  As such here is some of the services we use:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;We host our servers at &lt;a href="http://serverbeach.com/"&gt;ServerBeach&lt;/a&gt; provides our severs &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/a/"&gt;Googe Apps&lt;/a&gt; provides our email, calendar, spreadsheets, and wordprosser &lt;/li&gt;&lt;li&gt;We receive SMS though &lt;a href="http://www.textmarks.com/"&gt;TextMarks&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We send SMS via &lt;a href="http://www.clickatell.com"&gt;Clickatell&lt;/a&gt;&lt;/li&gt;&lt;li&gt;We use &lt;a href="http://www.tumblr.com"&gt;Tumblr&lt;/a&gt; for our blog &lt;/li&gt;&lt;li&gt;We &lt;a href="http://www.davidco.com/"&gt;Get Things Done&lt;/a&gt; with the help of &lt;a href="http://www.rememberthemilk.com/"&gt;Remember The Milk&lt;/a&gt; (though there is some irony that the person writing this is lactose intolerant).&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;On our server we have:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt; as our operating system&lt;/li&gt;&lt;li&gt;&lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; and &lt;a href="http://tomcat.apache.org/"&gt;Tomcat&lt;/a&gt; for web and application serving&lt;/li&gt;&lt;li&gt;&lt;a href="http://wicket.apache.org/"&gt;Wicket&lt;/a&gt; as our web framework&lt;/li&gt;&lt;li&gt;A home cooked lightweight persistance layer (whice we plan on making open source)&lt;/li&gt;&lt;li&gt;&lt;a href="http://mysql.com/"&gt;MySql&lt;/a&gt; for our database &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.projectpier.org/"&gt;Project Pier&lt;/a&gt; is used for project managemnt, issue tracking, etc  &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In the future we may:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Move our database to Amazon’s &lt;a href="http://www.amazon.com/b?ie=UTF8&amp;node=342335011"&gt;SimpleDB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Put some of our static content on Amazon’s &lt;a href="http://www.amazon.com/gp/browse.html?node=16427261"&gt;S3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;As we grow, we may move our hosting to a grid server, or to Amazon’s &lt;a href="http://www.amazon.com/b/ref=amb_link_5164072_1?ie=UTF8&amp;node=201590011&amp;pf_rd_m=ATVPDKIKX0DER&amp;pf_rd_s=auto-sparkle&amp;pf_rd_r=1HXJ9JBTKTZ0FT5VC8BW&amp;pf_rd_t=301&amp;pf_rd_p=299027501&amp;pf_rd_i=EC2"&gt;EC2&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;What is most amazing is just how many of the things listed above are free (as in beer and/or speech).  For what remains it is amazingly affordable for what you get.  It is a bit trite to say we live in a new age, but, my oh my, are the barriers to entry getting lowered.&lt;/p&gt;&lt;p&gt;The point in seperating out these components is flexibility and reliability.  If you write your code correctly (IMHO) then you provide clear separation and abstraction between your layers.  This allows you to change your persistence layer (as an example) from an internal to an external service with relative ease. &lt;/p&gt;&lt;p&gt;Success is the worst enemy of a startup, as counter intuitive as that may sound.  Scaling software is hard.  We are almost certain (despite years of experience) to slip up along the way.  Hopefully by spreading out our components we make it easier to scale up our services.  When you decouple you make blogging, etc someone else’s problem, and more importantly the problem of someone who has more expertise in that  area.  &lt;/p&gt;&lt;p&gt;Now the darkside of decoupling is that you are relying on other people to do their job correctly.  If they go out of business, or change their business model, or whatever; you may find yourself high and dry.  It is important to make sure you have backups of any data stored on other servers, and have a second source of that service you are ready to use.   This is a subject worthy of a post of its own.  &lt;/p&gt;&lt;p&gt;PS: If you are looking for a free hosted application server, take a look at the subtly amazing &lt;a href="http://appjet.com"&gt;AppJet&lt;/a&gt;.  While we at LL really like Java, we have a soft spot for scripting languages.  AppJet is a JavaScript base application framework, and they offer free accounts. &lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24575677</link><guid>http://blog.lemur-labs.com/post/24575677</guid><pubDate>Thu, 24 Jan 2008 14:59:00 -0500</pubDate></item><item><title>First Post!</title><description>&lt;p&gt;So this is the obligitory test post.  Every new corporate blog does one and talks about the great things to come.  It is almost a law, but at least we can put our own spin on it:&lt;/p&gt;&lt;p&gt;We are not exactly a corporation (yet).  We aren’t paticularly professional — though don’t think for a minute we don’t care about what we do, or about you for that matter.  We aren’t exactly a we (yet).  &lt;/p&gt;&lt;p&gt;Lemur-Labs was started by the same god amongst dogs (Pocket-Monkey. The name was originally a very geeky joke (lemurs and monkeys are siblings on the evolutionary tree, dontcha know.  Hey we warned you it was geeky).  Now that the ties to Pocket-Monkey are more or less cut (it is now in the very capable hands of &lt;a href="http://crowdersoftware.com/"&gt;Mr. T.J. Crowder&lt;/a&gt;), kept the name because:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;We like &lt;a href="http://www.lemurs.us/index.html"&gt;Lemurs&lt;/a&gt;!  I mean &lt;a href="http://news.nationalgeographic.com/news/bigphotos/22466598.html"&gt;what’s not to love&lt;/a&gt;?&lt;/li&gt;&lt;li&gt;We have been compared to &lt;a href="http://wrathchild.us/2007/10/26/truth-in-comics-drunken-lemurs/"&gt;drunken lemurs&lt;/a&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;So there you go.  Everything is still being pieced together.  Soon something small, but cool is going to be launched.  Hopefully it will take off, but it may well not.  We are probably going to launch other products under the Lemur-Labs brand.  Of course just like the &lt;a href="http://www.electricscotland.com/burns/mouse.html"&gt;best laid plans of mice and men&lt;/a&gt; and good intentions… &lt;/p&gt;&lt;p&gt;All we ask is that you keep tabs on us and check out what we make.  We think you are going to like them.&lt;br/&gt;&lt;/p&gt;</description><link>http://blog.lemur-labs.com/post/24405349</link><guid>http://blog.lemur-labs.com/post/24405349</guid><pubDate>Tue, 22 Jan 2008 20:07:26 -0500</pubDate></item></channel></rss>
