How quitting my corporate job for my startup dream f*cked my life up

Doing a startup was a long journey and I was putting myself under so much pressure by giving such a f*ck about what other people think.

Day by day, I was getting lonelier and more depressive as I avoided social occasions. My startup progress was not as fast as my social circle imagined it to be and I was fed up with telling people it took years for startups like Facebook and Twitter to arrive at where they are now.

There are five things I wish I had asked myself before starting this painful journey. Five questions I believe every future entrepreneur should ask himself before taking the first step to entrepreneurship

It’s not all candy an puppies in startup-land.

How quitting my corporate job for my startup dream f*cked my life up →

Elsewhere , , Leave a comment

Change cPanel Document Root

Recently I needed to change the document root (viz. the public_html folder) of a specific account on a WHM/cPanel server. Here’s how (root access required):

  1. Edit /var/cpanel/userdata/USERNAME/DOMAIN.COM
  2. Change the line documentroot: /home/USERNAME/public_html to reflect your needs
  3. Rebuild the Apache config files by executing /scripts/rebuildhttpdconf
  4. Restart the Apache service using service httpd restart
Elsewhere Leave a comment

Building a Device Lab

Collection of slidedecks to building your own device lab (only the first one in the series embedded, click through below to see all others):

We cover how to build a device lab as a product for your coworkers to test their work on a spectrum of operating systems and versions. We also cover how to choose devices, organization and cabling, power supply troubleshooting, and tips for getting your users to use the lab considerately.

Videos also available

Building a Device Lab →

Elsewhere , , Leave a comment

Chartist – Simple responsive charts


/* Add a basic data series with six labels and values */
var data = {
  labels: ['1', '2', '3', '4', '5', '6'],
  series: [{
      data: [1, 2, 3, 5, 8, 13]

/* Set some base options (settings will override the default settings in Chartist.js *see default settings*). We are adding a basic label interpolation function for the xAxis labels. */
var options = {
  axisX: {
    labelInterpolationFnc: function(value) {
      return 'Calendar Week ' + value;

/* Now we can specify multiple responsive settings that will override the base settings based on order and if the media queries match. In this example we are changing the visibility of dots and lines as well as use different label interpolations for space reasons. */
var responsiveOptions = [
  ['screen and (min-width: 641px) and (max-width: 1024px)', {
    showPoint: false,
    axisX: {
      labelInterpolationFnc: function(value) {
        return 'Week ' + value;
  ['screen and (max-width: 640px)', {
    showLine: false,
    axisX: {
      labelInterpolationFnc: function(value) {
        return 'W' + value;

/* Initialize the chart with the above settings */
Chartist.Line('#my-chart', data, options, responsiveOptions);

Chartist – Simple responsive charts →

Elsewhere , , , Leave a comment

Tabletop Whale

Tabletop Whale is a tiny blog run by a designer in Seattle. It’s updated every two to three weeks with a science themed infographic, chart, or illustration.

Tabletop Whale →

Elsewhere , , , Leave a comment

Technical debt 101

Every time you don’t write software based on the best possible practices and understanding of the business domain, you incur it in a technical debt. This debt keeps increasing over time, just like an interest, because whoever has to change something has to deal with the imperfect concepts you codified on the first occasion. If you ignore it long enough, you can go technically bankrupt, where the codified concepts do not reflect anymore the domain you’re working on.

Technical debt 101 →

Elsewhere , , Leave a comment

When the “Casual” Workplace Is Confusing

Anna Lewis, Senior Recruiter at Viget:

Casualness at the office starts with what we wear. The casual dress code common to start-ups and creative agencies—T-shirts, jeans, etc—seems to defy the very term “code”. When it’s time for a client meeting or a presentation, we start looking positively “nice” or “dressy” and, mysteriously, we all seem to know what those vague terms mean. Understandably, the subtleties of these choices are hard for young people to pick up on because they require experience over time, which is exactly what they don’t have. If they sometimes dress too casually, it’s more often for fear of seeming ludicrously buttoned-up rather than from a lack of concern altogether.

For most of us, building a career means we must learn to strike a balance between “professionalism” and “authenticity” on a daily basis. There are times when we need to prioritize a more professional mode, and that means feeling less “authentically” ourselves. And there are other times when we need to prioritize “authenticity” at the cost of professionalism. Striking this balance takes a certain measure of experience and good judgement, which is why it’s understandably confusing at first.

When the “Casual” Workplace Is Confusing →

Elsewhere , Leave a comment

Mining Bitcoin with pencil and paper: 0.67 hashes per day


It turns out that the SHA-256 algorithm used for mining is pretty simple and can in fact be done by hand. Not surprisingly, the process is extremely slow compared to hardware mining and is entirely impractical. But performing the algorithm manually is a good way to understand exactly how it works.

Mining Bitcoin with pencil and paper: 0.67 hashes per day →

(via Kottke)

Elsewhere , Leave a comment

Drone Racing, Star Wars style


Elsewhere , , Leave a comment

Debugging iOS Safari and UIWebViews using Chrome DevTools


The ios_webkit_debug_proxy allows developers to inspect MobileSafari and UIWebViews on real and simulated iOS devices via the DevTools UI and WebKit Remote Debugging Protocol. DevTools requests are translated into Apple’s Remote Web Inspector service calls.

The proxy detects when iOS devices are attached/removed and provides the current device list on http://localhost:9221. A developer can click on a device’s link (e.g. http://localhost:9222) to list that device’s open tabs, then click on a tab link (e.g. http://localhost:9222/devtools/page/1) to inspect that tab in their browser’s DevTools UI.

iOS WebKit Debug Proxy →
How to investigate IOS Safari crashes using Chrome →

Elsewhere , , , , Leave a comment