Entrepreneurs and their Tattoos

Are we as rebellious as we think? Do we show it? Who is inked in the silicon valley and in the entrepreneur community around the globe? What is the driver for entrepreneurs to get tattooed? How do tattoos influence our daily work with customers, employees, partners and investors? Is anybody willing to talk about their tattoos and let them be photographed? These are a couple of questions I don’t have answers to – yet.

Entrepreneurs also work when mommy is not watching

The only way to get to those answers is to ask the entrepreneurs directly. For that reason I am starting a new project – ‘Entrepreneurs and their Tattoos’ (working title). The ambition is to create a series of interviews and photographs of entrepreneurs in the SF bay area, US and anywhere else, combine them in a coffee table book and document their stories and of course – their tattoos. This is not to make money but rather to start an introspection of the entrepreneur culture to learn more about this very personal aspect of our fellow hackers, designers, visionaries and builders.

I am starting with setting up connections and preparing interview questions and interviews, as well as collecting any related material. If you know anybody who should be part of this, I would love to hear from you!

Recycling my internet trash

In order to keep the internet as trash-free as possible I consolidated three different sites into this one. My tech-blog at softwareinsane.com,  my ‘personal’ site at pstehlik.com and the rarely maintained blog about startup and entrepreneurship related topics at thinkoutsidethebubble.net are now all hosted on pstehlik.com.

I don’t like unmaintained old sites because there are too many of them on the interwebs. However, I also don’t want to destroy content I wrote and pages that seem to help some people. For that reason I imported my blogger content into this WordPress blog and my former blog-entries are permanently redirecting to this site. I hope they will prove useful every now and then.

It will be interesting to see if search-engines pick the links up accordingly. Right now I get 8-50 uniques a day on softwareinsane.com, about 2-5 a day on thinkoutsidethebubble.net and maybe 3 people a week interested in my personal site. If the math turns out to be correct there will be around 10-55 people a day on this new blog.

At the very least a consolidated blog will make maintenance easier for me. I am categorizing all my new posts so they can be found under coding, design, ops, startup and technology. My personal details are now on the about page.

Image credit wasabicube.

The influence of our environment on our work

Today an old friend of mine posted a link to the STIKNORD blog on tumblr. If you have any interest in (nordic) aesthetics, design or landscapes I highly recommend you look at it. I just went through all the posts, added some to pinterest and am reminded how much nature, culture and history influence our decisions and our work. We all are getting influenced from the beginning of our lives and express ourselves in our work after having many experiences and learning steadily throughout our days. I am all too rarely consciously using this background when making decisions or creating new things and I am thankful for projects like STIKNORD to remind me that there is a reason for every decision we make.

The first post on the STIKNORD blog:

Dear Reader

In an attempt to define the aesthetic essence of the Nordic countries and Scandinavia in particular we as Industrial Designers often find ourselves trying to define and understand the distinct feel and spirit surrounding us in our everyday lives. As Danish Designers we feel obligated to follow the traditions of former great Scandinavian designers and architects by grasping the soul of our native country and channel it through our work.

The idea behind this blog was to produce a digital mood board to be used as a part of an on going project at Kolding School of Design. By building a collection of texts and imagery dedicated to the aesthetics of the North, we want to ease the often repetitive, time and money consuming process of constructing tactile inspirational material for each and every project.

As much as we hope that you will benefit from this blog, we encourage everyone to participate in developing this collection by sending us pictures, links, sketches, texts, colours etc.

Please do so at:

stiknordblog@gmail.com

Enjoy

 

Image source: STIKNORD

A few words about perfection

I like perfection. I have the urge to take things to a level of perfection that other people don’t understand very often. And even if they understand it, most of them don’t practice this themselves. Of course you rarely get to “the full 100%”, and in most cases you shouldn’t because the last couple of percent-points are the most expensive. But working towards an adequate level of perfection is something I would recommend to everybody. An adequate level of perfection has a highly positive impact on the things you do and the bottom-line of your job, company and, may I say, life in general.

Let’s take the napkin in a restaurant for an example. At a fast-food burger joint the customer expects paper napkins in the to-go bag. At a restaurant the customer expects a paper or cloth napkin to be placed on the table. In the higher class restaurants the restaurant staff will place the thick-clothed napkin on your lap for you. Finding the adequate level of perfection usually boils down to: The more you or the customer pays and the more important something is the higher the expected level of perfection.

Let’s apply this to some startup related topics.

Code
The first prototype has to work but the code doesn’t have to be crazy pretty and perfect (and ‘pretty’ can mean many things). The adequate level of perfection is achieved when you can prove that the product you are building can be built and that you can use the prototype as a baseline for the real deal.
When building a high-throughput, highly secure or highly regulated system the adequate level of perfection is a very different one. The code doesn’t only have to work but also has to fulfill all the other requirements that you impose on it.
One important thing: Even though your adequate level of perfection is lower in the prototype-phase this doesn’t mean you shouldn’t look and think ahead. Usually your prototype will morph into the real product and you don’t want to rebuild everything but evolve towards your minimum viable product gracefully and with quality.

Raising Money
When pitching your product to angels or VCs the quality of your content and presentation has to meet a certain quality requirement. Adequate perfection is no less than 100% when raising money. The first impression counts and even though many VCs say “Let’s talk in half a year when you have ” – you usually don’t get a second chance. Your final pitch, your deck, the intro and your demo have to be well-groomed and excellent. You start with a lower level of perfection when working on your pitch, try out a couple of different angles and find out what resonates with your audience but once you get to your prime VC candidates you have to nail it with perfection.

Hiring
Once you are past the initial founding team of co-founders and founding engineers you have to establish a hiring process that makes sure you hire adequately perfect people. If your business is a tech-startup you should hire A-players in different forms or fashions to build the A-team. If you are looking to build a repeatable and franchiseable business then you have to define a process to hire people who can do the job and at least fulfill the requirements for the single positions (you still would want to get the real good ones though). The level of perfection here is to define a process that serves you sufficiently to identify, hire and retain the talent you need. You need to do things like engaging with the community: Host meetups, start meetups, be active in forums and user-groups, on LinkedIn go to tech-events and have your in-house recruiter/HR person be one of the first hires. She can then actively call potential employees, write them and really be an in-house head-hunter. The best people are not looking for jobs.

Job Search 
The application process has a similar perfection level as raising money. Your resume, background, publicly available information, blog etc have to be well maintained and representative of who you are and what the value is that you can add to a startup. If you are an engineer, product guy/girl, marketer or have any other profession and are looking for a job it is likely that you will send your resume out and want to be invited for interviews. But that is just the last step to get picked up by really a great company. Make sure your profile at LinkedIn is up to date. Write a blog, tweet and show that you are engaging in the community of your interest (assuming that your job will be in your area of interest). Did you present at a user-group recently? Are the video or the slides on your blog or is your last blog-entry from 3 years ago?When you are applying at your dream-company, look through your network to find out who could introduce you. Make sure that your resume is showing who you are, is error-free(!) and you send it in PDF format. Also here the first impression counts.

Working with others
The worst thing to have is a bad co-worker. No matter in which position you are in a startup, doing the best possible work – all the time – does make difference. There are so many mediocre contributors that slow down development of our ideas and companies without even knowing it. One of the patterns I have seen the most is declaring a piece of work as finished but having the wrong level of perfection. When finishing your work always ask yourself if your peers, bosses or reports will perceive your work as a positive impact on the team. Will they appreciate your work? What are you doing to positively contribute to the bottom-line? Are you giving the best you can or are just doing “the job you are asked to do”? Think about where you are in the curve of talent. And most importantly be true to yourself about how much perfection you can and want to deliver. There is only one thing worse than a bad co-worker. A bad co-worker who thinks they are doing a perfect job.

These are just a couple of examples where you can apply an adequate level of perfection. How far you go is ultimately up to you but I rarely saw anybody going the extra mile without being rewarded for it. Of course the most difficult part is to determine what level of perfection is adequate in your specific scenario.

In any case I hope you do things a bit more perfect in the future and even if it is to just raise the bar you had set yourself.

PDF render webservice in 60 lines of Groovy with Ratpack

As I wanted to give Ratpack (Sinatra for Groovy) a try, I just wrote a PDF rendering web-service – in about 60 lines of code.  It is called pdfRat, is self running and immediately usable via browser or any other HTTP client you may use.  You can find pdfRat on github.

Ratpack uses jetty to run the app and is completely self-contained.  To have the PDF rendering web-service up and running in about a minute, clone it from github and run gradle run from the main directory.

The only local dependency is gradle 1.0-m4.  All code-dependencies are in the repo or resolved for you by gradle.  Open http://localhost:5000 in your browser after starting the app to see details on how to use it.

Overall it took me about 2 hours to get this working, having never used the gradle application plugin or Ratpack before.  The biggest effort was to find the best way to have a ‘clone and run’ experience (ended up with application plugin), writing the README.md (github markup…) and cleaning up the code at the end.

I hope it will be as easy to create a gradle target to create a deployable war file for this app so you could run it in any container.  But that is a task for a different time.

Picture credit: etsy

Chromebook Day 4

To keep logging the experiences with my Chromebook, here comes my report after four days.

Over the weekend we went to Uncle Tom’s cabinin El Dorado County. There is essentially no wireless coverage and with that the Chromebook was of no use for me until we got back on Sunday.

Battery life and case

The battery life is good. I can easily go a full day worth of work without charging – switching between Chromebook and MacBook. After working on my MacBook Pro for a couple of hours on Sunday, replacing the sharp edges of the MacBook with the Chromebook was a real treat for my wrists and I still like the keyboard even though the ALT and CTRL keys are swapped from what I am used to on my mac – I hardly have any issues using both machines on the same day for an extended period of time.

Great display

I sat on the front porch for about an hour and a half doing Google docs, e-mails and some research in the bright San Francisco Mission sun without a problem. The Chromebook display is really great for working outside and keeps a good contrast even in bright daylight. The fact that it has a non-glossy display by default helps as well.

Weight

After working for some time now with the Chromebook my initial thoughts on the weight solidified – it is heavier than it looks like but still light enough to not make it a problem.

Browser only?

On my ‘normal’ computer I get easily distracted by Skype messages popping up, e-mail alerts or scrolling server logs or scripts that completed running. It seems that I am more focused on the Chromebook and am able to dedicate more time to the task at hand. Probably this is supported by the fact that I am using the Chromebook only ‘off hours’ and on the weekend until now but still, it feels like I have more focus.

Summary

All in all I like the Chromebook more than on day one and can see that it might earn a place in my day-to-day life when I need to focus on writing e-mails doing research or preparing documents. We will see what happens when I try using it during office hours.

Chromebook Day 1

Today, I received my Chromebook, as promised at Google I/O 2011. I acquired so many gadgets and tools over the years which I didn’t actively use for more than a month, and I am going to write down my experience with the Chromebook to document why new technology fails or succeeds for me – of course I hope it will be the latter.
So, straight to it.

Packaging

The packaging was fine. It is a Samsung netbook with Chromium OS. That being said, the hardware is standard Samsung quality and I don’t have anything bad to say about it yet. Display is fine, it has an SD slot and the keyboard is VERY straight forward (which I like). No fn keys, no Windows or option/Apple key (go figure) in a standard qwerty layout without numblock. It has a ‘Magnify Glass’ Key, which i didn’t press a single time yet.

Startup

The startup of the OS reminded me a bit of the process of starting google TV (which I hated). Not quiet as bad, but still mandatory updates that take a long time and the wifi setting was not saved – I had to select wifi and enter password a couple of times.

UI

I personally dislike the mix of clicking and gestures on a trackpad and rather have full gesture and ability touch only. The Chromebook has a trackpad with one physical click area in the lower part. Right-click is done by placing both fingers on the trackpad and clicking. Scrolling with two fingers. No pinch-zoom. The physical click just is too much effort for me and I have to coordinate more than I like to achieve a successful right-click.
The keyboard types OK for my taste and the keys are very much like my MacBook Pro in terms of size and behavior, which I am used to.
As I am writing this while sitting in our bedroom in the evening, I just got a comment from my wife that I am ‘clicking too loud’ (trackpad), which doesn’t happen with iPad or MacBook. Another minus point for the clicking trackpad.

Use-Cases

I am very much about determining practical use-cases for the hardware (and software) I own. I am typing this blog-post on the Chromebook; so there is the first use case. However, as I own a MacBook, I would usually use that for writing. The MacBook also has a back-lit keyboard, which makes it easier to type at night if you need to watch your fingers every now and then.
I was browsing the web during dinner to find the best places to go on our upcoming trip to Hawaii. Second use-case for me. But also here, I would usually use the MacBook or iPad for that. In the office I wanted to use the Chromebook to display our server monitoring dashboards and graphs, which didn’t work out for long because the display goes dark after some time, even when plugged in, and I didn’t find a way to change it.
Overall I don’t see the best way to use my new Chromebook yet but rather see it somewhere between iPad and Laptop – where I am not sure if I want a third device (fourth, if you count my phone) that I have to deal with on a daily basis.

We will see how the usage might change in the next weeks. For now, I am planning on using the Chromebook for as many things as possible to find my comfort zone, or to determine quickly that there is no practical use for me to have this brand new and hyped piece of Internet-enabled hardware.

gelf4j v0.85 released

I just pushed gelf4j version 0.85.  It is a small feature release adding the logging of stack traces of exceptions to the open source log management application Graylog2.  In older versions the logging of stack traces was not implemented really well and would just log your exception’s message instead.

You can configure the behavior with a new parameter ‘logStackTraceFromMessage‘ that you can set to true/false in your log4j configuration to determine how your exceptions are logged when logging them via log.error(myException).  If set to false it will only log the toString() representation of the exception. If set to true it will log the full stacktrace.

Logging via log.error(“My error message”, myException) will ALWAYS log your stacktrace – just as other log4j appenders do as well.

Personally, I would recommend to always log the full stacktrace… why else would log the exception anyways.  However to preserve ‘backwards compatibility’ the default of ‘logStackTraceFromMessage’ is to false and you should change that to true in your log4j config. I will probably change the default in a future release.

You can find the distributable on the download page.

Fork it on github if you like or let me know what you think of the changes.

Public Graylog2 Instance Upgrade to 0.9.5

Yay! The public graylog2 instance (user admin, password graylog2) is now on version 0.9.5! The graylog2 team released the new version 0.9.5 of our beloved open source log management solution a couple of weeks ago.
Due to many new additions and rewrites in this version I waited a bit for the dust to settle before going to upgrade the public instance. Today Lennart published a couple more fixes in 0.9.5p2 for the web-inteface, which prompted me to push the new version out.
The biggest change on the deployment side is the removed dependency of MySQL. All data, including accounts, stream config etc is now held in MongoDB. A great addition are the log forwarders as well but they are not active on the public instance.

If you want to know more about the setup and how to send test-messages to the instance, see my initial release post or the official graylog2 website.
Happy logging!

If you find this post interesting I bet you will love other technologies that we are using at Taulia. We are hiring – so make sure to check out our open positions!

T1000 Gathering – How to prevent Skynet from killing our internet

Today (April 21st 2011) Amazon Web Services is experiencing a prolonged outage that affects many internet startups and services.  Skynet became self-aware and the machines are trying to destroy our favorite internet services and beloved websites. Well almost…

In any case, this outage is another indicator that ‘simple infrastructure’ and large centralized services can be a hazard to our internet ecosystem and a potential single point of failure. We have to take better care of building robust and ‘unfailable’ software, bringing them into the startup world and build services that we rely on in the future.

We having a casual meetup/tweetup on Monday May 9th 2011 at 5.30pm to get a discussion started about what we can do to prevent the internet from becoming more and more vulnerable to single points of failure and how we can weave new paradigms and behavior into the startup world that aim for more security and availability – without sacrificing speed and agility.

After the meetup – around 7.30pm – we will try to screen Terminator (yay!) and let our minds wander what will happen if we don’t take things into our own hands.

Location is at Taulia HQ at 100 Pine Street, Suite 1750 (http://bit.ly/eCC1Ri) in downtown San Francisco.

Would love to see you there and being part of the discussion. It is the Google I/O week btw, so some friends from overseas are in town!
Let us know if you are coming at http://bit.ly/t1000gather or ping me on twitter (@pstehlik).

Page 1 of 612345»...Last »