HNHacker News
TopNewBestAskShowJobs

amix

3,317 karma · joined August 22, 2007

Remote-first and async-first Founder/CEO of Doist.com (the company behind Todoist and Twist).

Twitter: https://twitter.com/amix3k

submissionscomments
amix··on Who Works With ‘Creative Coders?’
Great comment! I did not watch that talk. But I did watch another talk by John Cleese on how to become more creative ( https://www.youtube.com/watch?v=kH8uYDJlwog - only 10 min). It's a very recommended watch as well. I especially like this quote:

If you're racing around all day, ticking things off on lists, looking at your watch, making phone calls, and generally just keeping all the balls in the air, you are not going to have any creative ideas. - John Cleese

A year or two ago I also did a presentation on how to become a more creative programmer where this quote is also included, the slides can be seen here http://amix.dk/blog/post/19599

amix··on Rsvp.js
Deferred pattern isn't from jQuery. It's from Twisted and the first JavaScript library to use it was MochiKit. A nitpick I know, but I think it's good to know where things really come from ;-)
amix··on Kathy Sierra On The Primer On Sexism Discussion
I also found Kathy's blog very insightful and it's a great tragedy that she stopped writing.

An eye-opener for me was her "Is Twitter TOO good?" post: http://headrush.typepad.com/creating_passionate_users/2007/0...

For me, this opened up how I thought about products, especially in terms of psychology. I can't really remember when I have read that insightful posts from anybody else (and Kathy had a ton of them).

amix··on How I’m Making Five-Figures A Month Off Bootstrapped Products
Let me present another view why I dislike this kind of selling. I think this author sells a story of how they got rich and how you also can get rich (and how you can do this easily) It's a common scheme and I think the only people that are getting rich by this are the people that are selling this kind of knowledge.

The problem (at least based on my experience) is that building anything successful takes a huge amounts of dedication and effort -- there's also a large margin for failure. It's simply not something that's easy to reproduce and you probably won't make five-figures a month by selling things to a mailing list. Or create a 30x500 product and instantly be your own boss. And sure, there are some that are going to succeed at this (and great for them!), but presenting this like anybody will get rich by just following a scheme rings off alarm clocks, especially when this kind of knowledge is sold at a high cost.

amix··on The software development final exam: Algorithms and Data Structures
While I can answer some of these questions (and could answer them all a few years ago while attending university) this kind of knowledge is simply not something that I use on a daily basis. I also doubt that many others developers use it unless they have very specialized jobs.

These kind of questions should not be the only basis of the software development final exam. In software development problem solving, communication with others, knowledge of the tools etc. are much more important than knowing random knowledge about algorithms. And these skills are much harder to test than asking the worst-case run time of quicksort.

amix··on Patio11 launches his lifecycle emails course
This has nothing to do if I can afford this or not. Imagine if you had to pay $250 every time somebody had some knowledge to tell you, would this be a great community that encouraged learning to build the best stuff we can build? Probably not.

I am sure that many of us has shared a ton of knowledge/code/whatever that has been far more worth than $250 (I know I have), but there is no need to sell this and monetize this, especially not here on HN.

amix··on Patio11 launches his lifecycle emails course
Sorry for not being an ass kisser, but I think this is way too overpriced and I would not like to see HN turn into a marketplace. Imagine if every HN contributor started selling their knowledge this way - - it would be a bad community where everything was behind paid walls. And yes, I do know that Patrick has contributed a lot to HN, but so has thousands of others, and I am sure he has learnt a ton here as well. There's no need to monetize this or to encourage monetization of this kind of knowledge.
amix··on Twitter responds to IFFFT
My guess is that they want full control. If you look at Apple it is clear that there are huge advantages in having this control. Not only is it possible to build a better and more streamlined experience, it's also much easier to monetize a Twitter that they fully control.
amix··on Full quote of what Mark Zuckerberg actually said about HTML5
I can't believe this biased and unintelligent rant is being upvoted. HTML5 does not suck because of JavaScript, or because of using greedy algorithms, or because people allocate too much memory. It sucks because browser support isn't there and Apple/Google/MS does not give a damn about HTML5. And if you think about it, it makes sense, it's much better for Apple/Google/MS that developers develop exclusively for their platforms and not for HTML5 (a platform that could be run on any OS).

What we need is an independent browser vendor (Opera, Mozilla) to do an amazing HTML5 experience.

amix··on GoDaddy's DNS Service is Down
Does anybody have a guide on how to migrate away from GoDaddy without downtime? And what would you recommend instead? We currently host a bunch of domains and use their DNS servers.
amix··on Show HN: Pup, real-time app metrics with Statsd
This seems to be basically a collector that sends data to Datalog (a NON open-source service that costs $15/host/month). I recommend setting up Grahite+statsd (it's truly amazing and open-source realtime metrics setup).
amix··on Y Combinator's First Batch: Where Are They Now?
One of the missing people that this article does not mention is Simon Carstensen, a danish dude that was a co-founder of Infogami. I met Simon in an university class and I knew him for some time before I knew he was part of Y Combinator's first batch :-) Simon traveled back to Denmark after his round finished.
amix··on Why Rails 4 Live Streaming is a Big Deal
Having blocking computation is much better than having blocking IO - - especially, since most web applications spend most of their time waiting for the database/caching layer. And blocking computation can be solved in node using the clusters feature.
amix··on Why Rails 4 Live Streaming is a Big Deal
Rails is turning into a framework that includes everything, including the kitchen sink. Personally, I prefer to use the best tool for the job and node.js seems to be a much saner choice when doing realtime communication, since everything in node.js is non-blocking. There are so many ways to shoot yourself in the foot if you develop large realtime systems in Ruby (or any other language that includes a lot of blocking libraries).
amix··on [dead]
The HTML5 features we use are local storage and offline support. The most interesting thing about implementation is that we use a queue to do all the updates (this queue is stored in local storage along with all the other data). We also have a special sync API that manages stuff like temporary ids, duplication protection, fetching only new data etc. This API can be seen here: http://todoist.com/API/help/sync

I am currently doing a big technical blog post about the challenges and our experience of doing a HTML5 web-app. But you are very welcome to ask any questions here!

I have not read about anybody doing something similar at a large scale - so please shoot me a message if you have done something similar, my email is in my HN profile.

amix··on The first open company
Ok, thanks for the clarification. I had read cooperative as a corporation (or understood it like that).
amix··on The first open company
I like the idea behind Gittip, but I think this is bullshit: "company are developed for the benefit of society as a whole, and not just the mutual benefit of the members of the cooperative" Most companies are developed for the society and for people and most advances in human history have been done by for-profit organizations. Even the ideas in capitalism (as stated in e.g. Wealth of Nations) are grounded in benefits for the society and for the people.
amix··on The Crazy World of Code
Hey Jason. The general problem is hiring people when you use a lot of internal tools - - as some of them are made in a haste and are hackish, and most of them don't really have good documentation. But maybe you have a point and the first step could be to clean the tools up and write some internal documentation for them.
amix··on Luis von Ahn (creator of CAPTCHA and Duolingo) Reddit AMA
I am currently using Duolingo to learn Spanish and I find it quite amazing. It offers a great interface and I love the gaming elements. It's by far one of the best web applications I have used in a long time. So kudos to Luis von Ahn and the team!

I recommend watching his TedX talk (the mind boggling thing from the presentation is: English Wikipedia could be translated in 80 hours if 1 million people used Duolingo!) http://www.youtube.com/watch?v=cQl6jUjFjp4

amix··on The Crazy World of Code
I do this as well - - everything from the JavaScript framework, to the ORM, to the web-framework is built or assembled by me. I even use my own special databases built on top of Tokyo Tyrant and Redis. It's basically my world where I know every part of the system. This makes me super productive and I can change anything. It's also a great learning experience. This said there is a huge problem with this approach and it's scaling your development team... It's hard for people to figure out how stuff works in an environment where nothing is standard.

My plan to solve this is to open-source my tools/libraries and switch to Flask, so at least some of the stack is familiar. Open-sourcing these tools will force me to isolate them, clean them up and write some documentation - - it can benefit other people and maybe open a pool of developers that know the tools better.

amix··on Got 15 minutes and want to learn Git?
I haven't read any books or longer tutorials on Git. I find it easy to use and if I run into trouble I just Google after help (which happens a few times a week). Throughout the day I mostly use 9 Git commands. Here are the top 9 commands I use:

    git checkout X
    git checkout -b new-branch
    git commit
    git add; git mv; git rm; 
    git pull --rebase
    git rebase origin/master
    git push origin X
I have used this for a long time without running into huge amounts of trouble (and if I need to revert back to a specific or do anything special I can always consult Google). The bottom line is: For simple cases Git is really simple to use and to learn. You don't need to become a Git master to use Git.

The problem is that people introduce the powerful features of Git that only a few percentage of people will ever use.

amix··on MVC, MOVE - Or Simply A State Machine?
I think it's strange that people discuss "MVC" without specifying which MVC they talk about - - because most of MVC patterns are VERY different and used in very different contexts (e.g. Rails and Smalltalk). About a year ago I did a blog post about the history and usage of MVC* and for me it does not make sense to talk about MVC as a general pattern, because the implementations, contexts and ideas are very different from one MVC to another. If you want to discuss MVC please specify which MVC pattern you talk about.

Regarding this article I think it would be much better if the author provided some code for his "state machine" idea. Currently it's just a blurb of text and it's hard to imagine how his ideas would work in practice.

One framework I enjoy and use is Lamson - - Zed Shaw's mail server framework. It uses a state machine abstraction and it works quite well. This said, I think mail server processing is very suited for the state machine abstraction - - I am unsure how suited UI is, since it's a lot more complex than processing email.

* http://amix.dk/blog/post/19615

amix··on Flask 0.9 codename Campari released today
While Flask started as a joke I am happy to see it evolve! For me it's by far the most focused and polished framework for Python!
amix··on Flask 0.9 codename Campari released today
You should have gone with Fernet Branca - it's great with Cola ;-)
amix··on Lazy people innovate
One of my computer scientist professors once said: "A good computer scientist solves problems. A great computer scientist creates tools that solve problems."
amix··on Start-Up Chile is OK. Nothing more.
I don't agree with her list of companies that should apply to Startup Chile. For example, Startup Chile is great for bootstrapping companies. You get 6 months and $40.000 USD to test out your idea. You visit an amazing country and another culture. You can learn another language. Startup Chile is a great choice for people that are ready to make the jump from a boring job to starting their own thing.

And even if you are experienced doing startups it's still awesome to visit another culture and see how things work in another place. Maybe you won't like it that much, but at least you experienced it.

What Startup Chile isn't good at is creating companies that need VC funding or Silicon Valley connections. If your startup needs these things then don't look for it in Chile or anywhere else... because you won't find it here or anywhere else.

amix··on Start-Up Chile is OK. Nothing more.
I had my laptop stolen at the Startup Chile office and the Startup Chile team helped me get it back because of surveillance cameras. I am the only person this has happened to (at least from what I know). I think you can get things stolen in any co-work environment and there is no way Startup Chile can control this (other than doing what they already do).

If you are uncomfortable with the security aspect you can get an office for around $600/month (I am currently sharing an office with an Argentinean company and we split things $300/month). Our office is rather large (it's 3 offices, one bathroom and one kitchen).

amix··on Show HN: Avatars.io - simple API for integrating avatars into your app or site
Shouldn't this be a library that we can run on our own servers? I simply don't understand the recent influx of things that should be libraries.

I think building our infrastructure around free things that can be taken down at anytime is the wrong way to go. This "API services" should not be encouraged. Give us the source and let us run it on our own servers, let us modify it the way we see fit... This is what should be encouraged. "API library services" is just a lame way to get people locked down to a set of APIs that they have no control over.

amix··on Node.js v0.8.0 [stable] is out
Does anybody know which optimization was added to V8 to improve the throughput by so much?
amix··on Scaling a Lean Startup, The Story So Far.
Having scaled a site to millions of users and billions of data items I think the strategy of extinguishing fires as they arise is the wrong strategy. It will lead to lots of stress, lots of sleepless nights and lots of unneeded bugs. I know, because we used this strategy and I would not recommend it. There's a better way that's less stressful and better for your health.

It's the idea of being proactive and reactive - - and as a good developer you should master both and be able to switch between these states.

For example, backups and anticipations of future load should be proactive. If your load is close to maxing out today then don't wait till your web site is down before you begin optimizations. Know everything about your systems so you can take an educated guess of how many more users you can handle. Think about which strategies you can apply if you want to scale 10x, 100x, 1000x of your current load.

Reactive programming is great when you are exploring new territory and are unsure how many would use something. This is the state where you don't think about scaling to millions of users. This said, as a good developer always keep in mind how something can be scaled or how fast something is.

In other words: it's about finding balance between the proactive state and the reactive state. Don't optimize prematurely, but don't optimize when everything is burning down either. You have lots of data so use this to your advantage and make educated guess about your way of scaling.

← PreviousPage 5 of 18Next →