<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0">

    <channel>
        <title>Hopelesscom</title>
        <link>http://www.hopelesscom.de</link>
        <description>what's new on hopelesscom? get it while it's hot!</description>
        <language>en-en</language>
        <copyright>Timo Zimmermann</copyright>
        <pubDate>Sun, 13 May 2012 14:04:52 GMT</pubDate>

        
            <item>
                <title>Pull Requests, Developers And Respect</title>
                <link>http://www.hopelesscom.de/2012/5/13/pull_requests,_developers_and_respect.html</link>
                <description><p>There is currently an interesting discussion going on. Linus Torvalds started 
<a href="https://github.com/torvalds/linux/pull/17#issuecomment-5654674">one on GitHub</a> stating that GitHub is doing pull requests, commit 
messages and some other things horrible wrong. As always we have two groups
that believe they are right and heavy flamewars are emerging on community sites. 
I believe they both miss the most important points.
<!--MORE--></p>

<p>It is basically unimportant who is right or what the right way to do pull
requests is or how you should write commit messages. There is a basic problem
and I have seen this for many years now.</p>

<p>Linus created Linux and Git. No matter what I think of him I acknowledge what
he did and I am thankful that he and the team around him is doing it. Without
Linux I am not sure where I would be today. It is likely the only fact why I 
still care a bit.</p>

<p>Maybe it is a hard statement that is not entirely true but from my point of
view most developers who created all the software we needed to get where we
are today, that power the internet and other things, became cranky, old, 
stubborn man. They believe they are right, they do not care about arguments 
and sadly there are always people that are behind them and take everything 
they say for granted because they accomplished something.</p>

<h3>About Kings And Kingdoms</h3>

<p>Let us get back to commit messages. There is a certain style Linus has chosen
for Linux. If you want to contribute you are supposed to use this style for
your messages. It fits his workflow and it is his project. He is the king and
if you decide to enter his kingdom you stick to his rules. It is that easy.</p>

<p>The same is true for pull requests. If you want to contribute to his project
you stick to his rules or you are just lost. No matter if you like this fact
or not as long as he invests his time to work on his project it is his
decision. There is no point in arguing. You just have no right to complain.</p>

<p>Linus, as many other developers from the 1970s to 1990s, used to work with
systems that could only display 80 chars. And since 20 years their workflow
did not change. Everything new was called stupid, useless or crap because
they did not stick to the same principle they started using decades ago.
Innovation? New ways to work? "We do not need this, what we have worked all
the years." I have no idea how you can be innovative and stubborn at the 
same time.</p>

<p>Many projects proved that GitHub works. But still Linus does not like the
way so it is bullshit and only used by idiots. He does not even consider
code from people that use another workflow. As many developers he seem
to be stuck in a time when your screen was black and your cursor green.</p>

<p>But what are the consequences? Currently none because everything is still
working as it was 20 years ago. But developers get older. If a project
should still be maintained after you retire you have to attract young
blood.</p>

<h3>There Will Be A Time When A King Has To Resign</h3>

<p>Imagine you are a young, talented developer. You worked on some projects and
have developed a certain workflow. Now you become interested in a project
and want to contribute. Of course you read the guidelines and
everything you see is stuff that sounds like it was written in the 80s.
How many do you think are still interested? They would have to change most
of the tools they started loving just to contribute. And there are, again,
two groups. Those who think potential developers are lost and those who
do not care because they stick to the "his kingdom, his rules" principle.
But even if you are a king - once in a while you should reconsider your
rules.</p>

<h3>Flowers, Love And Hugs For Everyone</h3>

<p>Beside the fact that I am a bit worried how long a project, even
as big as Linux, can survive with this kind of leadership there is something
else that is unlovely. When those old, cranky men engage in a conversion
they make statements and start calling names. They are not open for arguments
and lack courtesy. Another thing which lowers interested in an project. At
least for some people.</p>

<p>I am a friend of clear words and direct arguments. But calling someone an
idiot for something that works for him or having a totally different opinion
is something different. No matter how much you disagree you could still show
some respect. Just because you maybe accomplished more - did you ever think
that maybe you just had more time? - does not mean you have a free ticket
being a dick and win every conversion just with your name.</p>

<p>I have to admit that this post is highly opinionated, mixes three different
topics and sounds like I do not like Linus and Linux. Well, the first two
are right. But even if I do not advocate it, I still use it on some servers
and would love to see that it continues being a kind of viable alternative
on some systems. But things have to change.</p>

<p>The best thing I can imagine would be if developers - everyone! not just the
cranky, old, stubborn men - stop being dicks that believe their answer for
a problem is right for everyone.  Showing some respect for people that 
create things would be easy. Easier than unproductive, unnecessary flamewars.</p>
</description>
                <pubDate>2012-05-13</pubDate>
            </item>
        
            <item>
                <title>Time To Talk About Business</title>
                <link>http://www.hopelesscom.de/2012/5/10/time_to_talk_about_business.html</link>
                <description><p>I thought about this for quiet a while. The idea first came to my mind when I
was reading Hacker News, HighScalability and all those other fancy sites that
talk about the latest start ups and founders. Most of them share a one thing:
A vision. And the motivation to become one of the big players. Even more
interesting than the articles were the comments.
<!--MORE--></p>

<p>Every time you read about a founder that got "rich" "over night" you see
several comments that he does deserve it, does not deserve it and - this are
the ones I will talk about - people who also want and try to run their own 
business.</p>

<p>Most of them are young, have a solid understanding about technology and are
driven by the desire to become one of those "rockstar, ninja, ceo, bla-bitch
new startup guys". I will not write articles for those kind of people.</p>

<p>First let me say two things. I have nothing against those. If this is 
what they want I hope they will achieve it. I will continue to write about
tech, web and everything that I wrote about all the time.</p>

<p>I will write for the rest of us. People that want to be self employed, run
their own business, pay the bills and make sure they have fun while doing
this. But I will stop exactly here - no spoilers for the first post.</p>

<p>Some of you might now ask "why". Well, I have seen many people trying to do
this. And I have seen them fail badly. They listened to people that had over-
night success and tried to copy them. They listened to people that had their
prime time 30 years ago. They lacked some basic skills that could have been
easily acquired if someone had told them that they need them.</p>

<p>Being self-employed is just great. I never ever want to earn my money
another way. It is not for everyone but if someone desires to try it I can
only encourage them and from now on also - hopefully - help them.</p>

<p>Now you could possible ask yourself why I believe that I could give advices
that actually help. I am now self-employed for 9 years. I started my first
business when I was 16 and still in school. I earned money, payed bills,
always had something to eat in my fridge and have everything
you should have like an solid retirement provision, health insurance and
some other things most people do not always see as necessary in my age. </p>

<p>Fast forward. 9 years later. I founded three businesses (one was basically
a rename and specialization change, so make this two). They are profitable.
I enjoy them. And there was not one morning when I woke up and thought "oh
god what did I do, how did this all happen and do I really have to work
today?!".</p>

<p>There are people out there with more skills, more experience, more
academic degrees. They do amazing things and I believe you can learn a lot
from them. But the fact that I survived 9 years being self-employed without
losing the joy working is in my opinion a pretty good and solid point to
start giving advices to people that try to run their first business.</p>

<p>One last thing. Even if I talk from experience please do not make one
mistake. Do not take it for granted. Just because this worked for me does
not mean it will work exactly this way for you. Nor does it mean that you
should try to do everything 100% the way I tell you to. Make up your mind
if this could work for you. If you feel uncomfortable with something just
do not do it or ask how you could achieve it in a different way. If you 
are interested in the series I suggest you subscribe to the RSS feed and
stay up to date.</p>
</description>
                <pubDate>2012-05-10</pubDate>
            </item>
        
            <item>
                <title>What Is Wrong With Content Management Systems?</title>
                <link>http://www.hopelesscom.de/2012/4/30/what_is_wrong_with_content_management_systems_.html</link>
                <description><p>I am currently working on some projects and two them are kind of private or semi-private. 
My private and my business domain will receive a redesign and a Django based
backend. I thought about writing a modular content management system and provide it
as hosted option for some clients. And while working on it I noticed something that is
in my opinion wrong with most existing solutions.
<!--MORE--></p>

<p>The idea behind a content management system is that you can manage your content. 
Surprise, surprise. This includes categories, tags, a basic structure, defining the type 
of you content and much more. Let us call every piece of information you enter an object.
Depending on what your object represents you likely want to add different informations.</p>

<p>Four simple examples</p>

<ul>
<li>article: title, date, slug, content</li>
<li>image: title, date, image, comment</li>
<li>dvd: name, genre, cover</li>
<li>cd: name, artist, track list, cover, genre</li>
</ul>

<p>Now your CMS should somehow understand that you want to store three different types of 
objects with different informations. If your CMS does not know what it is storing, there 
is no way you can build a reliable search, sort or anything else based on your data.</p>

<p>Even something simple as creating your view or template would not be possible or just
do not look as nice as you want it to. If you want an article there should be some
spacing and other things to make it readable. If you display your CD you want the
track list beside your cover and so on.</p>

<p>So we need a way to let our users describe the objects and informations they want to
store. And I believe this is the point where most developers just go "meh, a general
model works somehow. It is fine".</p>

<p>Talking as Django developer you build your database model with specific field types.
You tell your CMS while developing it, not while entering your content, what you want to
store. Not the best idea. (I mention Django because it could be possible that there is
an framework that makes this a lot easier)</p>

<p>No matter how many models you build from the start there is no way you could include all
possible scenarios. So the only way to build a CMS that covers every need is to add the
possibility to create your own objects.</p>

<p>There would be an option to build a model that describes objects but this would be
a lot of work and trouble and usability would just go downhill. You would need to base
it on many ManyToMany relations. This is the point where it gets
ugly. Usability is likely going downhill, especially if you rely on Djangos admin
interface and do not want to build one yourself.</p>

<p>All systems that are capable of doing this require you to read one or two books and in the
end you will likely end paying someone who loves pain to manage everything for you. We
achieved many cool things and there is a lot of stuff possible but managing your data
still seems to be troublesome. Typo3, anyone?</p>

<p>I cannot promise that I will find an optimal way to solve this problem nor do I believe
that my solution will be the ultimate answer to all problems current systems have but
I think the first step is understanding the problem and at least trying to solve it.
Even if I fail to go the full way I should be some steps ahead of some of the most
popular blogging and content management systems out there.</p>
</description>
                <pubDate>2012-04-30</pubDate>
            </item>
        
            <item>
                <title>Code Challenge - The Ideas</title>
                <link>http://www.hopelesscom.de/2012/4/20/code_challenge_-_the_ideas.html</link>
                <description><p>If you read the <a href="http://www.hopelesscom.de/2012/4/16/code_challenge_-_the_challenge.html">post</a> about "code challenge" you know what I am talking about. If you
did not, you should now. I thought about the challenge and what I could learn and
write. It is possible that I do not really follow the <a href="http://fredboyle.com/codechallenge/">idea</a> but it should be fine.
<!--MORE--></p>

<p>Even if it is basically about learning something new just for the sake of learning I
refuse to build useless things. So it will not just be a to-do list app. Also I have
some ideas I was thinking about the last few weeks and did not find the opportunity to
fully evaluate existing solutions. Maybe I will also skip the "simple" part.</p>

<p>Let me give you a short idea what I might build in the next few weeks.</p>

<h3>Task Queue</h3>

<p>I need a simple task queue. Existing solutions look full featured with a lot of stuff
and administration overhead I do not need and want. It does not have to be high
performance or scale across thousands of servers, at least not now :&gt;</p>

<p>The implementation could be really simple. Accept socket requests - yes, there is a 
reason why I want to use sockets instead of other protocol - add stuff to a queue and
run the queue based on priority and waiting time.</p>

<p>There program will not be bound to a specific task. Instead it will just run scripts
and pass arguments. This way it will be flexible enough to be used in many different
applications / stacks / setups.</p>

<h3>Multi Server Management</h3>

<p>This could be the bigger challenge. Creating a application that lets you run remote
commands (using ssh) on many servers. But instead of just running them on a set of
servers you could predefine them in lists.</p>

<p>You could create a list for one client or for one task. Imagine you have three clients. 
Each of them has one Django application server, each of them has a PostgreSQL server, 
two of them have a mail server.</p>

<p>Now you create lists for all Django, database and mail servers and one for every client
and add functions describing what commands you want to run.</p>

<p>If you want to update all servers you just run <code>app all update``. If you want to get
statistics how your database servers perform you run</code>app database status```. </p>

<p>Pretty easy and I believe it is possible with existing tools. Not sure if I should go for
this one or the task queue.</p>

<h3>Language</h3>

<p>Implementing both ideas in Python would be easy (read: make the app do what I have in my 
mind) - this means that I already have a basic idea how I will design those applications.</p>

<p>The last time I used Ruby was the time Rails 2 was new, hot stuff. So I basically have to
learn the language again. Should be done in one or two days and after that the hacking
can begin.</p>

<p>On the other hand I was looking for a reason to play around with node.js. I do not really
like JavaScript as a language, but I see the strengths in node.js. It does not matter if I
learn a framework or get used to Ruby - it should take the same amount of time.</p>

<p>It is possible that I will use what I write. In a normal situation I would go for Python,
especially since I do not like mixed language projects or stacks. I know I cannot
prevent it but I can try to use as less languages / frameworks as possible as long as it 
is viable. </p>

<p>Using Ruby would mean using a well established language that proved what it
can do. </p>

<p>Using node.js would mean using a new language that could just blow up and
everything would be gone. But node.js is new, it is interesting and it is currently
showing that it can work.</p>

<p>I am not really sure which I will pick. But as always I will keep you updated.</p>
</description>
                <pubDate>2012-04-20</pubDate>
            </item>
        
            <item>
                <title>Is RSS Dead?</title>
                <link>http://www.hopelesscom.de/2012/4/19/is_rss_dead_.html</link>
                <description><p>I came across an <a href="http://stage.vambenepe.com/archives/1932">interesting article</a> indicating that RSS has some major problems. 
Do not get confused by the title, it is a bit exaggerating and, as most headlines,
just tries to catch as many readers as possible. And "war" against something IT related,
most people heard of but have no idea what it is doing, is always a good start.
<!--MORE--></p>

<p>I have to admit I would not care much if RSS would just be gone. I use
my iPad to read some feeds every morning while drinking my coffee. Now my coffee is
something you would have to rip out of my cold, dead hands but everything else is
optional as long as I have a quiet environment.</p>

<p>Back when I started adding blogs to my feed reader it was the easiest way to stay
up to date what interesting people had to say and what was going on in the world wide
web. But today I get most of this thru Twitter and Facebook. Actually there is a
Twitter account for every blog and most sites I read. Let us break it down to the basics.</p>

<ul>
<li>news sites</li>
<li>blogs</li>
<li>web comics</li>
</ul>

<p>Most news sites have a Twitter account. Some do not have one, at least I believe they
do not have one, but there is no reason to check them on a regular basis. I do not need
World of Warcraft news all the day. If I read a blog and think it could be valuable to
follow I add the author on Twitter. Webcomics? Essential - but see news sites.</p>

<p>I see the advantages of RSS but for me it would be okay if it just goes away. One 
application less to take care of. The only thing that could save RSS is comfort. But
there is an easy way to test it. From Saturday I will use my iPad (the only device
I use for reading RSS feeds) without RSS reader. I'll just throw all the links as
bookmark in Safari and make a new list on Twitter. I target Saturday and not tomorrow
since I will not have enough time to prepare everything today. Give me seven days and
watch out for my report about a life without RSS.</p>
</description>
                <pubDate>2012-04-19</pubDate>
            </item>
        
            <item>
                <title>Code Challenge - The Challenge</title>
                <link>http://www.hopelesscom.de/2012/4/16/code_challenge_-_the_challenge.html</link>
                <description><p>I believe that learning new skills is essential. No matter if it is in your job, your
private life, just for fun without any reason - not learning new tricks means you stand 
still, do not improve, do not get better, nothing. Is there anything that sucks more?
<!--MORE--></p>

<p>There is currently a <a href="http://fredboyle.com/codechallenge/">code challenge</a>. The idea is that you use a new language or
toolkit and create something. Even if it is simple, even if it has no real use, just
for the sake of learning. Great, isn't it?</p>

<p>There are several things I consider. First and most important would be the framework and
language. Since "casually messed around with" is included I have some choices.</p>

<p>I consider <a href="http://www.meteor.com/">Meteor</a> or <a href="http://nodejs.org/">node.js</a>. Something new, JavaScript based. I could, just
one time, be on the hip site of technology,... Just polishing my Ruby skills would
be boring.</p>

<p>On the other hand something Cocoa based would be another good idea. I will have to write
a lot more code on Objective-C and Cocoa the next few months, so why not using the code
challenge to improve my skills?</p>

<p>No matter what I will use or what I will build I will keep you updated.</p>
</description>
                <pubDate>2012-04-16</pubDate>
            </item>
        
            <item>
                <title>Meteor Is Just A Toy</title>
                <link>http://www.hopelesscom.de/2012/4/11/meteor_is_just_a_toy.html</link>
                <description><p>I was always a bit skeptical about <a href="http://www.nodejs.org/">node.js</a>. Using JavaScript for
something else than frontend magic looked insane. Projects building 
awesome products emerged. I still was skeptical. Now they released
<a href="http://www.meteor.com/">Meteor</a>, a framework on top of node.js with even more JavaScript.
<!--MORE--></p>

<p>And I am skeptical again. Some people, most of them with good
judgement who already proved that they know what it means to write
backends, tweeted that Meteor will be the last bit that was necessary
to make sure JavaScript will win the game. But let us start from the
beginning.</p>

<h3>JavaScript</h3>

<p>I use it. It works. That is nearly all I have to say. It looks ugly,
feels wrong but thanks to some third party libraries it is at a point
that I can justify using it.</p>

<p>On the frontend there is just no real alternative. Since most browsers
fully support it, at least if you follow some basic rules, there is no
real reason for not using it.</p>

<h3>Node.js</h3>

<p>On the backend it is something different. Much more code and more
complexity. Comparing Ruby or Python to JavaScript is hard since they
have some major differences but a short conclusion: Ruby and Python
are languages I take serious, that have all features that are needed
and that are clear, structured, documented and mature.</p>

<p>I tried node.js. I wrote two applications and I have a basic feeling
how it works and what you can do with it. Language aside, node.js is
not bad. You can do some cool stuff and it looks stable enough. Some
companies even proved that it is production ready.</p>

<h2>Meteor</h2>

<p>If you do not know Meteor just watch their presentation. It is build
by people that really know what they are doing so you should take
it serious. I try to simplify it: You write Meteor code, it runs on
top of node.js and you have JavaScript everywhere. If this thought
lets you tremble in fear stop reading this post and ignore everything
that is related to Meteor.</p>

<p>Since it is new and no one has some real experience we should look at
everything we have. I tried those demo applications and looked at
the code but did not write something by myself. The basic trick is that
you get real time, synchronized updates for everyone and everything for
free. I click on a button and you see a counter go up or something is
added to a table.</p>

<p>If you ever wrote something like this by yourself you know how
painful it is and that every bit of code that takes away some work
from you is a present you should accept.</p>

<p>But this is the point where my critique starts. Beside realtime stuff
and integrated deployment tools there is nothing new. If you do not
need this it is likely that you find yourself writing node.js applications.
Another framework, another toolchain, another library just means
another layer of potential problems.</p>

<p>And even if I think their demo is pretty cool: not every application
needs real time communication. Really, even if it is the new joker in
web development bullshit-marketing-bingo you use to win.</p>

<p>Another thing I find a bit troublesome is that they currently expose
the whole database to the frontend. I believe I do not have to say
much more about this, especially after you have read the next point.</p>

<p>There is currently no authorization or authentification system. It
is planed but not implemented. So you basically expose your whole
database to every client without any way to add some security.
Since they already announced that this will change you should not
take this too serious.</p>

<p>And last but not least they are not really near 1.0. And they
announced that the API will change. So you can build an application
that will work with the current version of Meteor. After they release
an update you want or need you likely find yourself rewriting some
parts of your application instead of implementing new features.</p>

<h2>Just A Toy</h2>

<p>In its current state Meteor is just a toy. I do not see it being used
in a real world application. Not yet. It lacks some basic functionality
you (IMHO) just need. But when it is mature and fixed most of the stuff
they are already working on we will have to take a serious look for
some projects.</p>

<p>Maybe we will see JavaScript succeed on the server. Maybe node.js will
grow and pull in more developers from Python and Ruby. If JavaScript
succeeds Meteor will likely play a role in it.</p>
</description>
                <pubDate>2012-04-11</pubDate>
            </item>
        
            <item>
                <title>Facebook And Instagram, Sitting In A Tree</title>
                <link>http://www.hopelesscom.de/2012/4/10/facebook_and_instagram,_sitting_in_a_tree.html</link>
                <description><p>It is all over the news - Instagram was bought by Facebook for 1 Billion
Dollars. That are a lot of zeros. And for every one of them I have seen
at least 10 people predicting that Instagram will die and that they have
to use something else.
<!--MORE--></p>

<p>There are several reasons behind this and I believe that nearly all of 
them are just
from the experience people have with services that were bought. Let us
take a short look what could happen and why it is possible that it just
does not matter in this special case where Google is not involved.</p>

<h3>Talent Acquisition</h3>

<p>When Twitter took over Posterous they stated that they were interested
in the talent of the employees. In this case I have to admit I also
believe that Posterous will be in trouble. If Twitter wants talent they
want it for Twitter, not for another product. Not as long as they are
not planning to extend Twitter into the region Posterous covers.</p>

<p>Instagram and Facebook work on completely different software stacks.
Of course they learned a lot of stuff scaling Instagram and they have
experience in a field and size most people do not but I believe Facebook
would also find other people, with more knowledge of their stack, for
far less money.</p>

<h3>Buy And Die</h3>

<p>I think we have seen this happen. Not only thanks to Google but other
companies as well. They buy a hot start up and it just dies because they
do not really have interest in the company or product, they just wanted
to kill a competitor that was better and ahead in the field they try
to conquer.</p>

<p>From my point of view Facebook and Instagram have a complete different
target audience. You upload nearly everything you see to Instagram while
you put personal content on Facebook. Of course you can also upload
everything to Facebook - and if there is no Instagram it would be an
option. But most people will not do this because they want to separate
their personal and "all day" content.</p>

<h3>Typical Scenarios</h3>

<p>I do not believe that this is one of those typical scenarios. There is too
much money involved for this to just kill a competitor or buy some people
that know how to scale a site.</p>

<p>According to interviews and press releases they plan to continue working
on Instagram. They try to keep it a separate service with a better
integration in various - not just Facebook - social networks. I love the
idea. I can understand that people do not really believe it. History showed
that other companies that release this information just plainly lie or
do not know what they are talking about since they were likely drunk while
writing the press release.</p>

<p>Facebook could be different. They know the value of ideas and start ups
and they also have lived it. They have a lot more experience than most
people that dominate boards. Of course I could be wrong, time will show.</p>

<h2>Privacy</h2>

<p>Beside the typical complains that Instagram will go the way of a typical
free as in beer start up there are privacy concerns now that Facebook
bought them. The "big blue guys" are not well known for their ability
to care about user data protection.</p>

<p>Before I say something to this point let me make three things clear.</p>

<ul>
<li>if your data is sensitive and you do not want that other people can
see it just do not upload it - obvious, isn't it?</li>
<li>ask yourself what Facebook would gain from photos of coffee and cars</li>
<li>just because Facebook fucked up does not mean they are evil</li>
</ul>

<p>Of course it is easy to flame Facebook, especially on your Google+ wall
(maybe you notice something?), but taking a look behind everything that
happened and understanding that they fucked up and tried to solve it
is a little bit harder.</p>

<p>Beside that they do not really gain anything from the typical Instagram
user and Instagram is just nothing I can connect with sensitive
informations. But maybe I am using it wrong,...</p>

<h3>What To Do?</h3>

<p>Well pretty easy. If you hate Facebook just use something else. If you
do not hate Facebook and do not plan on posting your newest work 
contracts continue using Instagram.</p>

<p>I was joking around that I could now write my own solution. This could
be possible since I am working on a new CMS for hopelesscom. But time will 
show, currently I am still a happy Instagram and Facebook user.</p>
</description>
                <pubDate>2012-04-10</pubDate>
            </item>
        
            <item>
                <title>When People Tell You Your Idea Sucks Ignore Them</title>
                <link>http://www.hopelesscom.de/2012/3/31/when_people_tell_you_your_idea_sucks_ignore_them.html</link>
                <description><p>One of the most common advices you receive is that you should carefully 
evaluate your idea before you start working on it. Sometimes you would
be better off ignoring those suggestions. Let me tell you why.
<!--MORE--></p>

<p>We live in 2012. New ideas and start ups pop up every day, every hour,
eventually every minute. Some of them have potential, some of them are
just plain stupid and some of them are great from the beginning. More
and more people start a business with a crazy idea or just a dead simple
one where most people ask themselves why they did not come up with that.</p>

<p>One thing nearly all founders, entrepreneurs, small, medium, non business
owners have in common is that they will start blogging at some point 
giving advices how everyone with an idea can start a successful business.
There is an advice I read fairly often and just hate. "Evaluate your idea
really carefully."</p>

<p>Before I start just let me say one thing: If you cannot afford food, do not
know how to pay your rent and are nearly dead since you cannot buy flu
medicine since five months I suggest you listen to them. For the rest of
you consider the following points.</p>

<h3>Even If You Fail Badly You Will Win</h3>

<p>In the end you created something. You definitely gained some new skills and
learned a lot of different things. If you did not I can tell you what
and when your business went downhill.</p>

<p>Even if you fail, you are in a better position for another company or
your next job. Learning new skills is always winning.</p>

<h3>Make Noise</h3>

<p>Imagine you start a website that lets people compare other people with
cows. Of course you are posting it to all relevant sites and wait for the
big boom. But nothing happens. Some people click on your link, some 
upload a picture or two but no one really cares. You failed, right?</p>

<p>You have proven that you are able to build something like PeopleCowCompare.
Back when Zuckerberg started working on Facebook he once had a similar idea.
If he would have been looking for a co-founder or some engenier to help
him grow the company would he contact people who created PaintMyPony or
PeopleCowCompare? (year I know that the example sucks, if you have a
better one feel free to add it in the comments)</p>

<p>The only thing you have to remember is that you have to make enough
noise and make sure people remember your site or idea. Even if it sucks and
no one is using it, they have to remember it.</p>

<h3>Evolution</h3>

<p>Once upon a time someone wanted to build a dating site. Instead of yet
another useless site they got YouTube. End of the story.</p>

<p>You never know what evolves from your initial idea. And you cannot plan
or draft it on your white board and present every possible option to
everyone you are asking. Sometimes stuff just happens. </p>

<p>From my point of view there was no need for a dating site and I would have
told them that their idea sucks and to invest time and money in something
different. I could have killed YouTube if they would have asked me.</p>

<h2>If You Love Your Idea - Do It</h2>

<p>It is really that easy. If you can afford it and love your idea just start
working on your project or business. What can you lose? Some weekends?
$20 for a server and a domain? Maybe $30 because you tried to get
some hits with adwords? Mankind will end!</p>

<p>The most important thing is that you believe your idea is worth the time
you will invest. If you are wrong, just be happy that you have actually build
something instead of whining how bad every new idea is. Criticizing ideas
and projects is way easier than creating stuff - that is the reason why
most people prefer to do the one over the other.</p>

<p>You gained new skills, you eventually created new opportunities, you added
something to your CV. Just be happy and go on. World will not end, people
do not think you are an idiot or loser and terrorists will not win just
because you are one of the people that tried something and did not
(immediately) succeed.</p>
</description>
                <pubDate>2012-03-31</pubDate>
            </item>
        
            <item>
                <title>Why You Should Ignore (Most) Posts About Go</title>
                <link>http://www.hopelesscom.de/2012/3/20/why_you_should_ignore__most__posts_about_go.html</link>
                <description><p>A friend told me that it is always a good idea to start a post with some 
assumptions and a clear, hard statement and elaborate your point of view
in the following text. I think I will try this. You have to live under a 
rock to not notice that Go version 1.0 is near. And to complete his
advice: You should just ignore everyone talking about it.
<!--MORE--></p>

<p>Now this is a hard statement and I have to watch what I am typing to not
start talking about Go but I think I will manage this somehow. So what
is it I am trying to communicate with this article? There is a basic
problem with most people writing about new packages, frameworks and
languages.</p>

<h3>Go - Where Should I Go?</h3>

<p>Go is a new language and as always there is a lot of hype. It was created
by some guys and girls at Google and is, without going into much details,
a mix of Java, C(++) and other prominent languages with all the advantages
and disadvantages.</p>

<p>If you have browsed Hacker News, reddit or just opened your feed reader the
last few days it is likely that you have read everything from "Go will 
change everything", to "Go is interesting because" and "Go is already dead,
ignore it".</p>

<p>The biggest question is, as always when we discuss a programming or 
scripting language, if it would be the right choice for you and your
project.</p>

<h2>How To Choose A Language</h2>

<p>If there is no one telling you what you have to use or if you do not have to
work on an existing system or piece of code you can freely choose what you
prefer. The basic questions are:</p>

<ul>
<li>are you familiar with the language</li>
<li>does it cover your needs</li>
<li>does it fit your project</li>
<li>would you gain advantages using something else</li>
</ul>

<p>I try to elaborate those four points with an easy example. I am currently
working on a content management system that covers some really specific 
needs and it would be a pain to customize an existing solution.</p>

<h3>Choose Wisely, You Will Be Stuck With Your Decision</h3>

<p>Learning a new language for just one project could be an option. If you have
to write a server or process real time informations C(++) could be one of the
only options you have. If you once understood the basics of programming you
can learn most languages in a short amount of time. You will not be able to
deliver the same amount of quality in the same amount of time as someone 
using the language everyday but you will be able to deliver.</p>

<p>If your project is not one of those edge scenarios that just screams for a
specific language you are nearly free in your choice. I could have gone
with PHP, Perl, Python or Ruby. Maybe Java.</p>

<p>Programming should be fun. If you do not like the language every minute will
be a pain and earning money with being in pain for weeks or months is not the
most fun thing to do.</p>

<p>Beside fun it should also be a language that does not get in your way. If your
host only supports Python and Ruby you there is no reason to complain that you
cannot use Perl.</p>

<p>Writing a content management system just screams "framework". There are a lot of
options for every language and they all have their advantages and
disadvantages. If there would only be frameworks in two out of four languages
and the framework would minimize your development time by the factor five
you would be an idiot no using it.</p>

<p>But what if there would only be a framework in one of those and you
would not know the language? It would be a good idea to learn a new one.</p>

<h3>Learning Is An Investment In Yourself</h3>

<p>I mentioned two things in the last paragraph. Even if I do not talk about
everything the most important stuff is mentioned. </p>

<ul>
<li>you can learn a new language in a short amount of time</li>
<li>there maybe advantages in one language over another</li>
</ul>

<p>If you think Go could be fun for you - not in the Java and PHP way where you
could stick needles in your eyes and laugh - learn it. Take a weekend or
two or three quiet mornings and read the documentation. Read some blogs what
people already did and watch the packages. If you believe you could like it
and if you find a project that could be realized in it do it.</p>

<p>If you think that Go is not for you that is also okay. Just because some 
people advocate it and Google wrote it does not mean it is right for you,
for me, for anyone or any project.</p>

<h2>When You Write About A Language Provide Value</h2>

<p>The blogsphere wears a new black every week. But no matter what, it always
comes down to the same basic things. Choose what works for you and your
project. Use what is fun to use. Learn new things. </p>

<p>The only thing I ask you is to stop with those "Go is $foo" posts when you never used it.</p>

<p>It does not matter, it is just a waste of time and traffic. If you really want to post 
something useful and advocate or flame a language provide examples. 
With those it is possible for people to build an opinion. There will be 
something called value in your post.</p>

<p>And this should be the only kind of posts about a new language like Go. 
Discuss why people should use or not use it from your point of view and
provide examples.</p>

<p>Someone told me that Django sucks because you design your database layout in
Python. He showed me a project he was working on, with all those fields and
relations and possibilities he has to check. He loved SQL. He never wanted
to use something like an ORM. But you know what? I hate SQL. I love ORMs.</p>

<p>He showed me why he does not like something and thanks to him I found a reason
to give something I never considered using a fair chance. Some years later
I use Django on a regular basis.</p>

<p>If he would just have told me that the Django ORM is horrible and that you
would be faster using plain SQL statements and if I would just have believed
him because other people also agreed I would maybe never have tried Django.</p>

<p>People searching the net for informations usually do this to build an opinion.
Instead of shoving yours up their... noses... give them examples why you
think the way you do and let them build their own opinion.</p>
</description>
                <pubDate>2012-03-20</pubDate>
            </item>
        
    </channel>

</rss>

