Where the puck is going to be

Starting a company is like trying to tell the future and then placing a massive bet on it.

Say, your random idea takes a year or two to build, and is on the market for another couple of years. Wouldn’t it be great to start with something that at least makes sense in five years time?

Predicting the future is hard. Back To The Future didn’t get much right, and just take look at Gizmodo’s collection about what people in 1899 thought the future will be:

17xpm68mhzrpfjpg

Good news is that unless you are really-really trying to form our future, you don’t need to predict very precisely: you only need to bet on a bandwagon.

You probably did well if you started any Internet company in 2000, or did anything for mobile a good five years ago. Nowadays everyone is saying cognition and IOT, and indeed, the new frontiers seem to be exactly there.

Google’s autonomous cars are already on the road, Apple’s Siri is basically an in-car OS on its own right. Uber want to kick out their taxi drivers and go with driverless cars instead. General Motors invested $500 million in Uber-competitor Lyft.

Can you see a pattern here?

Autonomous Bet - Frederique Comics

Once you have your prediction, just act on it any way you can. Not necessarily open a startup right away I mean: a friend of mine started an IOT blog a couple of years ago, just-for-fun. He wanted to learn about the industry as well as maybe identify a product idea or attract interesting people. A few years later he was famous enough to be invited to speak on conferences, and now?

His one-year-old startup just started to develop an in-car-analytics system together with BMW.

Don’t forget to place your bets today.

j j j

React JS admin interface for Django (open-sourced)

This is another for-fun project: an admin interface in React JS. The package ships with a simple API and is hosted on Github, check it out.

(Unless of course you arrived here from Github, in which case please stay here and try not to get stuck in an infinite loop.)

Django is a fantastic tool to create app backends in literally: minutes, and it even comes with a built-in admin to manage all data on the site. It’s not very pretty, but it gets the job done.

Enterprise clients usually want a better and more user friendly admin interface. Therefore more often than not we end up extending Django with another tool that incorporates all sorts of dashboards and extra features that aren’t just for manipulating the data models.

When you want to extend Django with an admin tool that actual humans can use, you have two choices: tweak the built-in one so that it becomes a little friendlier, or, create another interface from scratch.

The project I’ve created is to create a simple admin interface in a fairly extendable way:

  • It’s a separate web app that can (although doesn’t necessarily need to) be hosted on another server;
  • built on REST API calls and standard OAuth2 (both available in Django via well managed packages)
  • doesn’t even need to use Django as a backend: the login works with any OAuth2 provider, and you can write your API using your favourite framework as well.

I have yet to update the Github repository with more features, but the one already in is a good start. When I’m writing this post we are just about to release two small projects at my company that have been built on top of this React admin. I’ll report back on how those catch on, but as far as the development goes we’ve been quite happy with the setup.

We can add new features really, really quickly, the product is pretty neat, and in the long run, an automatic Django-model generator doesn’t seem to be impossible either. React JS also turned out to be quite some fun to build software with. It’s flexible enough to work together with jQuery plugins, Bootstrap, Backbone and whatever else we needed down the road.

To make this project more transportable, I used an off-site build. That means that the front-end is literally just some HTML-and-JS static files after the build, and so the hosting is a breeze. You can put it on Apache, nginx, or whatever really, you can even host it from Django’s static folder.

See the screenshots on Github, and as always, ping me on Twitter if you want to chat about this.

j j j

Motivation and chubby girls

Three newbies showed up in my boulder gym this morning. Three super-cute, 14-looking girls, a little on the chubby side. They followed the coach’s instructions, climbed some routes here and there while they took more selfies than anyone else in an entire year.

Quite a nice addition to the usual crowd too. It’s mostly extremely fit-and-pretty French and Spanish folks, and, well, me, the ageing geek locked into a prematurely hairy 16-years-old’s body. And I don’t mean the bulky teenagers that run around nowadays, I mean the weak ones in the 90s, with the apparent incapacity to gain muscle weight.

Living the Dream - Frederique Comics

Anyways, the gym has multiple rooms, some with rocks to climb and some others with pull-up bars and other means of torture. My routine is to switch rooms every 15 minutes or so, and finish in the smaller exercise hall with the flying rings. Today I had to wait a bit before entering the last session: I heard the sound of the girls rope-skipping in the exercise hall.

Not much wait I mean, that’s chubby newbies skipping ropes. It takes like two minutes before they drop dead.

I was totally right, after 30 seconds the floor stopped shaking and I could start my exercise. By the time I entered the room the girls were just chatting on the floor exhausted, so the rings were free and I could start to crunch myself up.

That’s a lot of crunching. Mind you, flying rings are crazy hard to do for a person with no upper body, and that was the end of my workout too. With all the power I had left I pulled myself up, and then lifted my legs to form a perfect 90-degrees angle with my arms.

Then I’ve let my legs go down again just to pull them up once more. I aimed for five repetitions. I’ve contracted all my muscles, closed my eyes, and there they were, my legs, pointing forward again. At this point I’ve changed my mind and decided to go for three repetitions only. One last pull up then: more crunching, more pain, and the room is now totally silent.

Suspiciously silent, in fact.

My body is shaking, I’m grabbing the rings as strong as I can, and my legs are finally up again. There, I open my eyes, and see that the girls are all staring at me now.

With shiny eyes and their mouth open. I’m their hero.

I’m totally back to the gym tomorrow.

j j j

WordPress: scaling up developers

A friend of mine is scaling up her website. It’s running WordPress and has ways too many visitors for their stone-age hosting, which means the service is slow and crashes regularly.

I’m trying to help out, and there are low-hanging fruits all along the way, like moving the files and database off from the VPS and into the cloud. Eventually we are going to move the whole lot to a low-maintenance cloud host like Heroku or CloudControl, use nice caches and what not.

There is one massive bottle-neck: developers.

Technology is awesome. Today you can live in a cave and run a website with close to 100% uptime rate for buttons. No kidding, this blog, receiving about 3000 uniques every month, is running on the smallest Heroku instance – with 100% uptime for the 3rd consecutive month, according to Pingdom. Could easily handle ten times the traffic, all less than $10 per month.

Developers are the ones who are not awesome. They are many, for sure. Throw a stone any direction, and it will hit a WordPress developer.

That stone is likely to hit one who is renaming files to php.backup instead of using version control. One who is not reading Hacker News. One who has never heard of the Twelve-factor app.

It’s definitely not because the new technology is too difficult to learn. I’ve just had a 19-ys-old teammate on a London Hackathon who was writing code for Android, Pebble watch and hacked together a website in 24 hours. I’m pretty sure that, if you’re a developer reading this, you can tell the same story about yourself in your early 20s. We are curious people. I think most developers just give up trying after a while.

The friend-of-mine with the WordPress site is now working with a team of developers who look at Heroku and send me e-mails asking for the FTP password. Clearly, they need to go. Is it easy to find a better team? It is not: Linkedin makes it way too easy to copy CVs, the example codes are plugin rip-offs, and no one can pass the simplest of tech interviews.

Without developers though, any tech project manager is just the coachman who whips thin air and wonders why the carriage wouldn’t move.

(I’m helping out a few friends with their side projects these days, so you can expect more of these rant-posts popping up, haha.)

j j j

On my flight: a prisoner trying to break out

I have a lot of time on my hand to write this post now. I’ve just missed a flight, and my new ticket is for the one that departs in 3 hours only.

Not a good experience, missing a flight by the way, at least not the way I did: I went to the waiting lounge, started programming, entered the “tunnel”, and when I looked up again, all the people were gone and the departure gate’s screen was blank. The screen was blank, I’ve been running back and forth between the departure list and the gate — to slowly realise what I’ve just done.

What if…! I wish I could go back in time, just ten minutes, jump in the queue before the gate closes.

Ain’t gonna happen. What if…?

Missing a flight does actually have a remedy that works all the time: you pay some £200 for the next available plane, and off you go. Nice-and-easy, only my girlfriend is a bit pissed now.

Last week though, when a prisoner, just two rows behind me attacked another person on my flight, I couldn’t come up with a good enough solution to calm myself down.

Oh, yes, prisoner.

A prisoner, on the same flight as I am. Apparently this is something low-cost airlines do. Transport people who need that kind of special assistance.

He smashed the seat in front of him, and used the pieces to attack the person to his right. The attacker, massive fella, with the kind of look you would draw, if you had to make a cartoon about terrorists.

The crew was in panic. The woman next to me started crying. You could hear the assistance-buttons pinging all over the airplane, and the commotion in the back.

The attackee, another massive guy, only extended his left arm and pushed the baddy back to his seat. The two other passengers in front jumped up immediately and joined in. They seemed to have been on our side.

At this point, we didn’t know a thing. It was just a terrorist-looking guy attacking someone during takeoff, and three people pushing him back.

Freakin’ unreal.

What’s the a chance that they do have a weapon on board?

The commotion is just behind me, I’m in the third-to-last row. I hear the big guys saying: “Everything is fine, we are controlling the situation”.

Say what?

I then see handcuffs, and the guys seem to be chaining the attacker to his seat. He is a prisoner, as it turns out, being transferred from London back to his home country.

A prisoner, being on the same flight as I am. Doesn’t sound that bad actually, if you compare it to all the other options.

The crew still seems to be at panic, the pilot announces that we will return to the airport. That’s the longest 20 minutes of landing I’ve had in my life. Please keep the guy at his seat.

As it turns out then, nothing happened. Nothing serious at all. Our hearts were jumping out for no actual reason. However, the perception was such that all of us did rethink our lives.

I, for example, will try to fly less. Much less.

j j j

Spotify or Apple Music: which subscription to cancel?

It’s been a long way for the music industry to catch up with what users need, but at last, there are plenty of really good choices. I’m listening to Apple Music’s British Talent selection right now (The Southern – Shout it!), the sun is shining bright, I have my late-morning coffee, and wonder which subscription to cancel: Spotify or Apple Music.

First world problems, you know.

Both come for £10 a month, Spotify is an awesome Swedish company, and Music’s curated playlists are just fantastic. Oh, such a hard choice this.

Apple’s service is all new, Spotify is offering all their music for free – an interesting test would be to compare which of those databases is seemingly larger. I’ll do this with a list of bands from my to-be-checked-out list: these are the songs I Shazam, get recommended to, or find in a random music store.

Ten songs on ten albums. Extremely unrepresentative.

The results are in.

The big names and new releases both Spotify and Apple Music seems to have:

  • Seb Wildblood / Foreign Parts
  • Wilco / Star Wars
  • Yo La Tengo / Stuff Like That There
  • Beck / Dreams
  • Maaskant & Adam Marshall – Outside the Cave / Vamp
  • Deradoorian / The Expanding Flower Planet
  • Shigeto / No Better Time Than Now

And some are just missing from both stores:

  • Xiu Xiu / Respectful & Clean
  • Brooklyn Funk Essentials / Funk Ain’t Ova

And the only piece that was available on Apple Music, but missing from Spotify:

  • Jean-Michel Jarre & 3D (Massive Attack) / Watching You

Apple did slightly better on this list, but only sliiightly. And the point is, almost every crazy album and song you possibly want to hear is available online.

There you go, the final result: this is a useless test, and you need to decide based on something else.

j j j

Rapid sightseeing: Amsterdam, Prague

Flying is terrible. It’s not the part when you’re actually in the air, that’s fine. Terrible is getting to and from the airport, staying in endless queues, drinking overpriced coffee in shopping-mall-like terminals with nervous people around.

Whenever I can therefore, I choose the train. And trains in Europe are awesome! They are fast, comfortable, rather spacious, have onboard wifi and power plugs. Even when the ride is 8-10 hours long, I consider it being a rather nice workday: get on board, work a good few hours, find the restaurant car, and continue after lunch. Most trains serve coffee at your seat.

Rapid Sightseeing in Prague

The best days are when I can find a ride with a connection at an unknown city. Amsterdam, Cologne, Prague, Vienna, Milan – you can actually discover quite a bit of a lot of towns in 1-2 hours, starting from (and returning to) the main train station.

My latest series in Yakuzuzu Magazine is a rapid tour guide. I write about the cities you can discover in 60 minutes: what to see? Which route to cover to see the best sights? Is it even a smart idea to try?

  • In Prague, chances are that you will get terribly lost without a good map and good sense of directions. If you succeed though, you will take amazing photos in one of the best looking medieval cities in Eeastern Europe.
  • In Amsterdam, you can get a good glimpse of the city, seeing almost all important tourist sights. Get a flat white, and have a fantastic walk around the canals and beautiful buildings!

(Photo: Unsplash.com)

j j j

jQuery EU Cookie Law popups

UPDATED: GDPR compliance with the jQuery EU Cookie Law plugin

The EU Cookie Law does actually seem to apply to most of our websites — we are based in the UK and are using Google Analytics, so there is no way out. Useless as it might be the e-Privacy Directive, the worst part is the scam-like pages that offer “solutions”. Instead, I just went ahead and created a plugin that can be installed by adding 4 lines of code.

An easy-to-install jQuery plugin to create EU Cookie Law popups.

Supports multiple layouts out of the box. Works well with Bootstrap 3. Easy to customize markup and CSS.

This is the demo page. For the code, install instructions and to see how amazingly free it is, go to Github.

Get started

To get started, first include jQuery and import the plugin’s files:

<script src=”js/jquery-2.1.3.min.js”></script>
<link rel=”stylesheet” type=”text/css” href=”css/jquery-eu-cookie-law-popup.css”/>
<script src=”js/jquery-eu-cookie-law-popup.js”></script>

(Mind you, you need to run the code on a webserver to be able to set cookies.)

Simple popup

In its simplest form, you can add an EU Cookie Law popup by simply adding the “eupopup” classes to any HTML tag.
<body class=”eupopup eupopup-top”>

You can also choose from these layouts:

jQuery EU Cookie Law popups (demo)

  • Top of the page (“eupopup”, or “eupopup eupopup-top”)
  • Fixed banner on top (“eupopup eupopup-fixedtop”)
  • Fixed to bottom (“eupopup eupopup-bottom”)
  • Fixed window, to bottom left (“eupopup eupopup-bottomleft”)
  • Fixed window, bottom right (“eupopup eupopup-bottomright”)
  • Inline (“eupopup eupopup-block”)

And these colours or styles:

jQuery EU Cookie Law popups (demo)

  • White text on dark background (“eupopup-color-default”)
  • Dark text on light background (“eupopup-color-inverse”)
  • Compact (“eupopup-style-compact”)

Custom HTML

To use a custom HTML markup, you can either add it as a Javascript parameter (read about it later), or by adding a DIV with the classname “eupopup-markup”.
<div class=”eupopup eupopup-container eupopup-container-block”>
  <div class=”eupopup-markup”>
    <div class=”eupopup-head”>This website is using cookies</div>
    <div class=”eupopup-body”>We use cookies to ensure that we give you the best experience on our website. If you continue using the site, we\’ll assume that you are happy to receive all cookies on this website.</div>
    <div class=”eupopup-buttons”>
      <a href=”#” class=”eupopup-button eupopup-button_1″>Continue</a>
      <a href=”http://www.wimagguc.com/?cookie-policy” target=”_blank” class=”eupopup-button eupopup-button_2″>Learn more</a>
    </div>
    <div class=”clearfix”></div>
    <a href=”#” class=”eupopup-closebutton”>x</a>
  </div>
</div>

Parameters

The script takes quite a few parameters. The suggested method to override these is from the init method (find the out-of-the-box one in the jquery-eu-cookie-law-popup.js):
$(document).euCookieLawPopup().init({
  cookiePolicyUrl : ‘http://www.wimagguc.com/?cookie-policy’,
  popupPosition : ‘top’,
  colorStyle : ‘default’,
  compactStyle : false,
  popupTitle : ‘This website is using cookies’,
  popupText : ‘We use cookies to ensure that we give you the best experience on our website. If you continue without changing your settings, we\’ll assume that you are happy to receive all cookies on this website.’,
  buttonContinueTitle : ‘Continue’,
  buttonLearnmoreTitle : ‘Learn more’,
  buttonLearnmoreOpenInNewWindow : true,
  agreementExpiresInDays : 30,
  autoAcceptCookiePolicy : false,
  htmlMarkup : null
});

Events

If you need to be notified about the consent somewhere in your code (for example, to enable the cookies in other parts of your software), you can listen to the ‘user_cookie_consent_changed’ event.
$(document).bind(“user_cookie_consent_changed”, function(event, object) {
  // true or false
  console.log(“User consent: ” + $(object).attr(‘consent’) );
});

As seen on

j j j

This is how I pitch (and why)

There is the promise of the Internet that if you sell online, you never, ever have to see the person you are selling to.

Now that might be true, but then I just have no idea how it works.

If you read this blog for some time already, you know that I’m building a number of products on the side. This is a fun hobby and an extremely convenient position to be in: it’s not like we need to bring on any customers for these projects.

Although many of them require quite some amounts of work and resources, and they tend to reach a point where I’m not that comfortable throwing everything out the window either.

Then, some of those projects I create together with others. There, responsibility is the bitch: when you’re playing with someone else’s time, suddenly a whole lot of girlfriends (including your own) will start hating you.

And there always comes a point where I have to do something highly uncomfortable. Get feedback. Talk to lawyers. Reach out to magazines. Talk in public.

As luck would have it, I got a demo spot on the last Berlin Tech Meetup to introduce Appwoodoo (the service you haven’t heard much about for the last two years, but we suddenly received some real attention).

Talking in front of so many people is scary.

This is how it looks like, a slice of the 235 people in front of you. (Photo by the organiser Gabriel Matuschka. My hands were rather busy pointing towards each and every direction. And shaking like hell.)

Appwoodoo on the Berlin Tech Meetup

To assemble the slides is not more than a day really, but that’s the easy part: you will see how simple they are once I find a way to upload them to SlideShare. (I’m not saying I did it all alone though: all my friends and even the Pitch Doctor helped me out.)

The hard part is, to talk. Once or twice I’ve been on radio shows, and I’m always astonished by how many things the presenters do there in real time. Taking care of each guest’s sound levels, fading out the music, queuing the new song in, reading comments on Facebook, Twitter and what not, and, by the way, following the programme, talk and actively engage the listeners.

It’s much less work to just, sort of, walk about on the stage, talk to the microphone and point towards the presentation, I know. But then it does feel a lot. Look how busy I am there.

Appwoodoo on the Berlin Tech Meetup

Ok, looking at it now, I don’t look that extremely busy. But my brain is running on full power, believe me.

A great shock, and I will want do it again. As many times as possible.

First, everyone says these things get easier with practise.

Second, people loved what I was talking about. I mean, really, some folks did actually sign up to the service while I was introducing it.

And lastly, it sort of feels like runner’s high. Once you get to the point where you can’t breathe any more and are just about to spit your lungs out, it kicks in and you feel like you could just run, run forever and more.

Can’t wait to be shit-scared again.

j j j

IBM is not Nerdwana

So when I get offered a $2000 visitor pass for a tech conference plus a flight ticket and accommodation in Las Vegas, then I say yes and start packing my bags. Even if IBM Interconnect does not particularly sound fun, and even if I could point out almost infinite number of better things to spend that money on.

Buy me $3500 worth of Red Bull, and I’ll rewrite for you Facebook in Brainfuck tonight.

In university times, IBM used to be the place where you send your resume only if you don’t consider technology being especially important. Their products are as uncool as Windows XP was for OS – but where Microsoft developers are crazy awesome hackers, IBM seems to exclusively hire sales people. Hackers don’t like that sort of thing very much.

And now, the Big Blue gives the world Watson. The one-stop shop for artificial intelligence. That is a solid, fun, innovative thing to do, and mind you: it’s not a startup building AI-as-a-service first, but people from the Dilbert strips.

I’m here with one of the first startups that can get their hands on Watson, so I’m very excited to visit all workshops and see what is there to learn.

There are many versions of the system for example, but I can break it down to two main ones.

There is the Watson that is on TV and in press releases and does all the cool stuff. And there is the one that you are being given access to, which is basically Elastic Search with a fancy, overpriced API. (That is, for now, of course, because the product is meant to evolve in the future.)

I’m not supposed to disclose any details, but the startup I’m supporting has seen marketing potential in partnering with IBM, therefore the Big Blue’s technology has to be interesting for us. It is actually, as far as it can get, but is it something to wow on in 2015, that they’ve discovered Cloud Foundry and a bunch of open source code, than went on to copy Heroku?

It isn’t of course, but it isn’t even relevant. Technology alone is not worth a thing. Even further, innovation alone is not worth a thing. Otherwise the Big Blue would have gone out of business a long time ago. And business is something they are very much in.

“I don’t get why we have to give away stuff for free, but if the world wants that, I’m fine with offering Bluemix for a month at no cost.” — says an IBM-mer in suits.

And as low of a respect I have for developers who are wearing ties and aren’t interested in working with the latest tech, I have to admit, there is something to learn from IBM here.

Business. Whatever you create, invent, play with and work on: don’t forget to find someone who sells it for you.

j j j