HNHacker News
TopNewBestAskShowJobs

aaroniba

1,389 karma · joined March 19, 2007

I like to write computer programs.
submissionscomments
aaroniba··on Optimize for Happiness (Followup to my Startup School talk)
Are startups necessarily stressful or freedom limiting?

That's an interesting question.

In my model of human psychology, when a person is passionately driven to achieve an ambitious goal, he gets stressed out about obstacles that stand in the way. Does passion necessarily cause stress? I think so, but if you know a way to have passion without stress, please let me know.

As for being freedom-limiting, startups take a lot of time, and you generally have cofounders, investors, employees, and (hopefully) users relying on you. These external factors are big responsibilities. Does responsibility necessarily limit freedom? I think so, but I would be interested in counterexamples.

Thus, if you want to avoid stress and limits on freedom, you would have to avoid passion and responsibility. I suppose you could start something not very ambitious, that you aren't very passionate about, avoiding cofounders, investors, employees, and users. I would have a hard time calling such an endeavor a "startup".

aaroniba··on Optimize for Happiness (Followup to my Startup School talk)
I love GitHub but this post doesn't provide much coherent advice.

"Optimizing for happiness" seems like a hard idea to argue against. The author defines happiness as:

"I'm a hacker; I'm happy when I'm building things of value, not when I'm writing a business plan filled with make believe numbers."

That's a pretty narrow definition. The rest of the article implies that what the author really means by happiness is freedom and lack of stress. He writes:

"When there are fewer potentially catastrophic events on the horizon, you'll find yourself smiling a lot more often."

That's actually an argument against doing a startup at all. Startups are extremely stressful and freedom-limiting endeavors. Servers crash in the middle of the night. Smart people launch competitive products that try to kill yours. Users get pissed at you for removing their favorite feature. In my experience there are always catastrophic events on the horizon in a startup.

Personally, I try to optimize for things like excitement, challenge, personal development, impact, and fun. Raising a VC round may or may not contribute to these, depending on a lot of things.

aaroniba··on Acquisition condolences
If megacorp buys a promising startup and thwarts it, then does this also create a new opportunity to fill the space left by the startup?
aaroniba··on How I built a Real-time Collaborative Editor with Web Sockets, Node.js & Redis
Etherpad had 3 modes of transport between client and server: short-polling, long-polling, and streaming, each with varying support for different browser/OS/proxy settings. The client starts the connection with the most widely supported method (short-polling), and then attempts to "upgrade" the connection by testing out faster connection types.

I think the messages from client to server always had to do an HTTP post, so we did incur the overhead of all the HTTP headers with each post from client to server, which happened at most twice per second.

You can view the client-side JS code for handling these 3 connection types here:

http://code.google.com/p/etherpad/source/browse/trunk/infras...

I didn't write this, but that's my understanding of how it works.

You can also get around the overhead of HTTP headers by using a Flash shim, but we never got that to work well through weird proxy configurations and misbehaving ISPs.

aaroniba··on How I Cured my RSI Pain
This is exactly what I was getting at in paragraph 5 of "The Cure" section ("If you find the idea...").

The problem with stress as the root cause is that after I resolved my RSI pain, I have been through tremendously stressful situations during which I was typing a lot, but these have not triggered any RSI pain. So I think there's something more going on unconsciously, and yes I agree with you it sounds pretty far out.

As for exercise, I should have mentioned in the article that I have always exercised regularly and exercise is a big part of my life, even while I was typing a lot, so in my experience exercise (while having may other benefits) did not help my RSI pain.

aaroniba··on Forbidden Fruit - Microsoft Workers Hide Their iPhones
When I was an intern at Microsoft in 2003, I brought my PowerBook into work. Sometimes coworkers would give me shit, and I would offer to start using a windows laptop once they used MSN Search instead of Google for all their web searches.

At the time, MSN search was so bad that this proposition was ludicrous. In fact, every Office developer I knew used Google with a "site:msdn.microsoft.com" restriction to search their own API docs.

I wonder if Bing is now good enough that employees feel pressure to use it instead of Google.

aaroniba··on EtherPad Open Source Release
Looks like the cp failed. What operating system is this on?
aaroniba··on Polaris Opens Dog Patch Labs in Cambridge
The EtherPad team has been working in Dog Patch Labs SF for the past 3 months, and we love it. Great community of hackers and entrepreneurs, and the Polaris guys are awesome.
aaroniba··on Saving is Obsolete: Etherpad adds time slider
Thanks for the feedback, will keep that in mind for next time!
aaroniba··on Free browser-based PHP IDE
We thought seriously about turning AppJet into this, before we decided EtherPad was a better business. We even built version 1 of a virtualized php-hosting backend. In the end, we just couldn't get our hearts into it because we liked programming in JavaScript so much better than PHP.
aaroniba··on Poll: YC Startups, do you use Django, Rails, PHP or Other?
AppJet!
aaroniba··on Jeff Bezos apologizes for 1984-Kindle debacle
Conspicuously absent from this apology is the explicit promise that they won't do it again.
aaroniba··on Sell it before you build it
We're currently doing this for EtherPad. We added a "pricing" tab to our homepage, but we don't have any prices yet, just a sign up form. So far (2 weeks in), about 100 companies have signed up to hear more about our for-sale version.
aaroniba··on Using Twitter to Send Alerts When Your Site Goes Down
We send emails too, but it's also nice to get a TXT on your phone for really urgent information such as a problem with the server.
aaroniba··on The most surprising thing I've seen in 2009, courtesy of Etherpad
We're thinking of charging for having accounts.
aaroniba··on EtherPad out of private beta
Yes, exactly.
aaroniba··on EtherPad out of private beta
This probably means there's an incompatibility with your browser/ISP/firewall combination. If you click the "reconnect" button, it will submit diagnostic info to help us debug, or you can mail support @ etherpad.com for help.
aaroniba··on Try EtherPad Now With Other HN Users
I created more pads just for news.yc users here: http://etherpad.com/ep/newsyc
aaroniba··on Etherpad Shows Google Docs How It’s Done (By AppJet)
Undo works, just type control-Z (on windows) or command-Z (on a mac). It will undo only your own edits.

We haven't figured out a way to let people undo other users' edits. (We can perform the manipulation on the document, we just haven't figured out a sensible UI for it).

aaroniba··on Etherpad Shows Google Docs How It’s Done (By AppJet)
People have asked us for a way to try it out with other people, so here's a set of pads for news.yc readers to play with:

http://etherpad.com/ep/newsyc

For the curious, I added this URL to our running web server in 5 minutes with 12 lines of JavaScript:

  function render_newsyc_get() {
    function countUsers(p) {
       return getCollab().getDocument(p).getNumConnectedUsers();
     }
     var body = BODY({style: 'padding: 20px; font-family: monospace;'});
     body.push(H3("Welcome news.ycombinator readers! ",
   	       "Join us in an EtherPad of your choosing:"));
     pads.forEach(function(p) {
       body.push(A({href: p}, p), '   ('+countUsers(p)+' users)', BR());
     });
     response.write(HTML(body));
  }
Just a taste of the AppJet Web Platform. (A separate 1-time script generated the array "pads").
aaroniba··on AppJet now lets you host your own apps
I actually agree with your assessment that AppJet seems limited as compared to renting your own server or part of a server, for general development. The original idea of AppJet was for it to be a place for simple 1-page apps -- apps where the effort required to set up hosting greatly exceeded the effort to code the app.

A natural extension of this was to write a guide to teach people how to program. AppJet is still the only place I know of where you can learn to program and actually build an app that you can share with friends via a URL, all without downloading any software or configuring a development environment.

Now we are working on addressing all the limitations of AppJet as compared to having your own server, and therefore make it a platform that you'd use for more "serious" apps, not just 1-pagers. Hopefully when we release the next version, you'll give us another look and decide we compare favorably to the alternatives for general development.

aaroniba··on AppJet now lets you host your own apps
As the CEO of AppJet, I can tell you authoritatively that this is exactly the direction we are heading in.
aaroniba··on AppJet now lets you host your own apps
The whole point of our releasing appjet-in-a-jar is that if we go bankrupt, you can still host your app yourself.

We'll definitely charge money at some point, but right now we're focused on improving the platform for developers. Also, we have a spiffy virtualization engine for hosting apps that allows us to do it at negligible cost. So it costs us next to nothing to host our current load of 2,249 apps and ~3M combined monthly pageviews.

aaroniba··on Donkey Kong source code found, original developer comments
From MAIN.PRN:

  ; Prizes
  ; These are shoved into players; left-bottom justified in 8x8
  ; There's some confusion as to what to call the damn things....so I'm
  ; gonna do what I like, here...
  ...
  ; The "Birthday Cake" [I think...]
  ...
  ; The Purse ["...omigosh...that's not a /Birthday Cake/???"]
aaroniba··on Anybody here regularly lift weights?
> Body building and power lifting routines involve rest between sets.

I thought this whole thread was about bodybuilding. That would be the target market for the app that was posted. I claimed that a logbook is useful for bodybuilders.

Originally I thought you were saying that logbooks were bad for bodybuilders, but now I suppose you are saying that bodybuilding in general is a bad activity. That's a whole different debate. Personally I like the appearance of a lean, muscular, and proportional physique, which is what bodybuilding is all about (not that I've attained this yet, but it's a goal).

> They're also slow and have diminished hand speed and explosive power

Bodybuilding won't slow you down, but it's not the optimal way to develop speed, since it develops slow-twitch muscles more than fast-twitch ones.

I don't understand at all your advocating "brief and intense" routines as an alternative to bodybuilding. Most bodybuilding routines are brief and intense sets, with some rest in between.

aaroniba··on Anybody here regularly lift weights?
Genetics has a huge influence over your physique. For example, if you take a random sample of people who do not exercise regularly, there will be a wide variation in their bicep sizes.

Genetics also controls things like metabolism and how well you respond to weight training, so you need to adjust your diet accordingly. I do agree with you that motivation and a good routine can create superior results in anyone. I was just pointing out that some people will have to work harder than others, diet harder, or eat more, or whatever.

aaroniba··on Anybody here regularly lift weights?
Without some kind of logbook, how do you even evaluate how well you're doing?

In my experience, most successful bodybuilders take a scientific approach to their training. The main variables that affect physique are genetics, diet, and routine. Different diets and routines work for different people, so to achieve the best results it's important to experiment. A log book gives you data to learn how to improve your routine.

Even your point on the importance of varying routines is best achieved by using a log book. Try a steady routine for 3 months and measure your gains. Then try "dramatically varying" your routine for 3 months and measure your gains. Now you have data to support your own optimal workout plan.

Finally, to your point about picking up the pace: most routines involve rest between sets, so if you log while resting then it doesn't slow you down.

aaroniba··on Anybody here regularly lift weights?
I think the user interface for data entry is the key problem in using software to track gym workouts. I lift 4x per week and have tried various workout logging software, but have yet to find anything that works better than a simple notebook and pen.

A typical session's data includes 6 exercises, 4 sets each, weight and rep count for each set, so 48 numbers altogether, all related to each other in different ways. Plus I like to keep notes in the margin like "grip the bar wider" or "slower negative movement".

If you can create an iphone app with a user interface that makes it really really easy to enter workout data, then I think you would find a large market. I payed for gyminee.com because I thought it might deliver this, but the data entry was still too annoying. The built-in Notes program on the iphone was actually better.

Also, as other people have mentioned, "overtraining" has negative connotations, so I'm curious why you picked this name.

Best of luck. I think this is something people want.

aaroniba··on Is AppJet the next big web framework?
The short answer is that we see problems with all the existing ones, and we think we can do better. The longer answer will be the subject of blog posts as we roll out milestones along the way.
aaroniba··on Is AppJet the next big web framework?
We do think AppJet will be the platform/framework of the future, but in the present it's a little early to compare the AppJet Framework with PHP, RoR, Django, etc.

AppJet was designed to be easy and make it possible to write cool little web apps with a small amount of code and a small amount of knowledge. From this perspective, it becomes obvious why we chose JavaScript as the server language: it reduces the number of languages you need to learn by a factor of 2.

I think it's succeeding at what it does. There are lots of cool apps in the app directory, and most are <500 lines of code in a single file. Many of these apps are written by high school students who learned programming with AppJet. Some of my favorite include {pxl,outliner,files,wikijet,agglodex,dict,livescore}.appjet.net.

We are working on improving the AppJet Framework to be good for large apps. We're also working a lot on our platform. (mrtron makes a good point about platform vs. framework elsewhere in this thread). One day, we'll tell the hacker news community that we think AppJet is a suitable replacement for PHP, Django, RoR, or whatever you're building your startup on. But we're not there yet.

In the meantime, if you want to hack up a simple database-backed web app without worrying about hosting or setting up SQL or anything, AppJet is your platform. Or if you want to learn programming with a platform that will let you do a lot knowing only a little, AppJet is your platform.

← PreviousPage 2 of 3Next →