Generating bad ideas

I’ve been generating bad business ideas for a while. Ideas that sounded kind of OK at first, but when digging a little deeper it was nothing there. On Derek Sivers’ idea multiplier, those would be at the -1 point (awful). After some time I’ve noticed that those ideas were repetitive, and I would come up with the same idea (or something extremely similar) all over again, just like it was a new idea altogether.

Lack of continuity really kills productivity

I have this tendency of working on many things at once, and as a result I don’t really finish anything, I just make small progress until I switch context to start working on something else. This really kills my productivity. It seems obvious now but when I’m working on a project and start feeling pressured by not working on a different project, it’s not so obvious that I’m not getting either of them done.

Why I built the RepX app

RepX is a simple exercise app that lets you track workout intervals. Read the full article on Medium. RepX website. RepX on the Apple App Store.

On learning to code

Last week I had started to answer questions on Quora. It’s surprisingly addictive I should say, so I kept answering a couple of questions every day. As my interests include programming and various languages, I get plenty of “How do I learn to program in X?” or “As a beginner, how to choose a project?” It’s great people are interested in learning to code, but I feel like most have the wrong motivation or they look at it the wrong way.

Chatbots and the bad form-filling experience

Things to consider if you’re thinking to build a chatbot-only service or website. Quick notice: I don’t build chatbots and don’t use too many, but I haven’t been impressed with the ones I’ve seen. In no way this is definitive advice on things to consider when building conversational interfaces, this is just my opinion on the topic. I’ve seen a few websites that welcome you with a full-screen chatbot and no option to not interact with it.

Building startups at EF6: the first half

JavaScript pixel processing

Problem: thresholding an image using a HTML5 2D canvas. It’s a really simple problem, but if implemented wrong it can lead to really bad performance. My initial idea was to make a function everyPixel(ctx, f) that applies f to every pixel of ctx. And then f would deal with all the pixel processing and drawing. Basic implementation: function everyPixel(ctx, f) { var width = ctx.canvas.width; var height = ctx.canvas.height; for (var i=0;i<width;i++) { for (var j=0;j<height;j++) { var col = ctx.

Glee, built with FlightJS

I think it’s a good practice to write three things you are grateful for every day. It keeps you focus on the positive. I have this idea from this TED talk. I did it for more than a month some time ago and I’m now restarting this habit. It happened that I’ve received a small notebook as a freebie form some event just before starting this habit thus I was OK with writing three things I was grateful for every day on paper.

Reflection on hackathons

For first, a Hackathon is a competition where hackers get together to build something cool. Lots of times designers and business people also join and the judging also takes the business side into consideration. Usually justifying how the idea is useful and/or generating revenue and showing some proof that people want it is enough. A hackathon generally takes a weekend. Some are three days, some are two days long. Almost always the venue is open overnight and sleeping is replaced by caffeine.

Install a ROM, hboot and recovery without working volume buttons on HTC Desire (Bravo)

Before you follow this article to install the ROM on your device, please note that the result will be a slow, annoying phone. My motivation for writing this article and taking this approach in the first place is that my phone does not have working volume buttons at all and it is totally possible to install a newer version of Android. My phone is a HTC Desire Bravo running Android 2.