skysight-inc/HackerNews huggingface dataset:
"Actually I think I/O was my primary bottleneck. Once I addressed that I started hitting CPU/memory constraints on Dynos....At one point I was running 20 dynos trying to get enough CPU for worker tasks to actually keep up"

Something doesn't make sense. If you "addressed" your I/O problem, your CPUs were therefore all busy doing something much, much slower than a disk read/write, in software (which would have to be both obvious and unbelievably horrible). If that's true, something pathological was going on in your code. I'm going to assume that you would have noticed it -- swapping, for example.

So let's go back to I/O: if your database was slow, you might observe something superficially similar to what you've described: throwing lots of extra CPUs at the problem would result in lots of blocked request threads, and appear that your dynos were all pegged. The exact symptoms would depend on your database connection code, and your monitoring tools. But in no case would throwing more dynos at a slow database make sense, so I'm going to assume that you didn't do that on purpose (right?)

Given the above, I still can't meet you at the conclusion that abandoning Heroku was the magic bullet for your problems. There's not enough information, and it doesn't add up. My money is on one or more of the following: DB cache misses (i.e. not enough cache); a heavy DB write load; frequent, small writes to an indexed table; or pathological memory usage on your web nodes. And if it turns out that the cause is due to I/O, you've only bought yourself a temporary respite by moving off Heroku. Eventually, you'll get big enough that the problem will re-emerge, even though your homebuilt servers are 10% faster (or whatever).

EDIT: Aha! Your comment in another thread actually explains your problem: you were swapping your web nodes by using more than 500MB RAM (http://news.ycombinator.com/item?id=4458657).
You're right. How dare we have fun on the internet!?
As an American living in the UK, I look forward to this as well.

ps- You can get NFL Gamepass (it's basically a web-streaming version of NFL Ticket) for $150/season if you have a UK IP address. Only problem is that it blacks out one of the games (whichever Sky sports is covering) but otherwise HD streaming video and can switch to every game live. It's a sportsman dream.
Construction workers get outdoors, but I bet plenty would love the sortware developer life. Your kids will have cellular connections and all day batteries, so they won't be chained to a desk.
Well, it was noticeable. In the second quarter 2011 result Nokia reported a payment of 430 million Euros from Apple. The exchange rate was around 1.45 at that time, so that means 620 million Dollars were paid. Also Deutsche Bank analysts assumed an ongoing royalty of 1% from Apple. Which would mean Nokia gets every quarter another $200 million. But I am too lazy too check that up.
Four paragraphs but not a single thing to really address the core, specific complaint about you carrying too many info products. Instead, you almost sound ignorant of the core complaint when you say that Tommy's blog post is an indicator of your new vision. The average customer here in this thread is not like Tommy; it's the guy looking to buy stuff from you. You do nothing to address their complaint.

Is your new vision only focused on people who create products? If not, what changes can we expect as buyers? Will you please address that? Thank you!

I think you guys have the right intention but honestly you are going overboard with being nice at the expense of delivering nice products.
What's worse is when you have enough tabs open, they start becoming hidden under the open-new-tab button on the right. This has been a bug for a long time. I suspect it's gotten tied up with the furor over the removal of the side/vertical tabs, which have been hacked in via addons since. What's sad is that Firefox already has an elegant solution -- maintain a minimum useful tab width and enable horizontal scrolling of the tab row when the mouse is over it.
This will always be tricky because even Toyota a couple of years ago had trouble defending against alleged bugs that turned out to be completely untrue.

The silly conspiracy theorist in me wonders if the excessive media focus on Toyota had anything to do with the government's Detroit bailout. Probably not, but if I were writing a conspiracy novel, it'd be an easy plot point to add.
I like how Marco spins this, how he's just casually reviewing his logs at the end of the day, sees a couple of numbers out of place, spins through a Sherlockian series of deductions and has a sudden moment of clarity about Apple's hardware plans. And he's right, of course.
Woodshop is mostly gone. And it's kind of a shame. But we have Chinese factories to make all our wood stuff now.
> red-black trees...are often a better option than hash tables

Why is this?

Trees have O(n*log(n)) element lookup time as opposed to O(1) for hashtable (assuming table size is allocated appropriately or grows with the data, and you have an effective hash function). If data structure accesses are on the hot path, a hash table is much faster.

Many times, when you need ordered data, you can actually get away with using either a heap or a sorted list, rather than a red-black tree. Both of these are much easier to implement than red-black trees, and have the advantage of no extra per-node storage for child pointers. Which can make a real difference in memory usage if your objects are very small, and a real time difference if it means the difference between CPU cache/main memory or main memory/swap.

Red-black trees can be good if you can easily write a comparator for your objects but not a hash, really need capabilities like quickly determining subranges, aren't on a performance-critical path, or aren't concerned about CPU efficiency because the available hardware greatly exceeds your problem's requirements.

As with most data structure questions, there are no hard-and-fast rules; the data structure you choose is going to depend on your particular situation. I personally probably use each of the four solutions I mentioned (hashtable, red-black tree, heap, sorted list) less than fifty percent of the time.
You may be missing a large cohort who found school math boring, but have an aptitude.
What would there be to blog about if he did that? Blogging is a sign of intelligence, and if you just do something simple and don't tell anyone, how smart are you really?

I use an even more failsafe technique: typing the word "git" correctly each time.
Installing mod_geoip for Apache2 On Debian Squeeze
You want to hurt the innocent to build awareness for your cause? In America, we call that terrorism!

But then again, we call everything terrorism.
eg. http://didthis.com/flow
That's not actually true. Russians were first.

We were probably the first to produce some crude kind of brandy ("winiak" in Polish).

It's actually funny that our most successfully exported vodka is Zubrowka. It's not considered that great here. I guess it's the novelty factor.
1. Traction
2. Team
3. Product
4. Social Proof
5. Pitch/Presentation

Unless #1 (traction) implies some sort of revenue, this list is absolutely bullshit. Sure, if the goal is to enter the ponzi-scheme-esque world of VC rounds then I suppose it's acceptable to avoid actual profitability in the effort to grow the userbase.

But if you actually plan to run a big boy business, it's probably a good idea to put revenue above all other items in the list.
I doubt my daughter will miss driving in the slightest.

I don't think anybody will miss driving in traffic, but until there's some other way to experience the combined sense of control, shifting G-forces, and the world streaming by, manual driving on sparsely populated roads will always be desirable.
I presume Safari was the same as Chrome?
I see commenters here are misreading the word "Predicting" as "Announcing".
I just tried the same and had a very hard time typing gti. I had to slow down to get it; if I try to type it as quickly as possible I end up with either "git" or "gir". The parallization between hands just makes it too easy to type correctly. While your left pointer finger is making that long move from g to t, your right middle finger is already done pressing i.

I never type "sl" either.
http://didthis.com available on Android with "how much" input. You can export all your data (csv). https://play.google.com/store/apps/details?id=com.bliss.andr...
Cabbage - get the maximum out of emacs
"Predicting the “iPad Mini” internals"
Why? you don't have any other work to do.

Kidding :D

But i'm sick of people going crazy after Rumors of any i<Whatever> device.
Not having something specific in mind to learn is different from not knowing what computers do.
Yet his creation succeeded spectacularly.
or you could overcharge them, say $60/mo, then say to get the 30 back they have to come in daily.
Isn't it this line of thinking which caused our current international financial woes?
Which channel are you on? I'm running the latest beta and it works fine for me. If you're on stable then I can see how it would be causing you some issues, especially if you have FireBug installed.
Looks quite useful, though I didn't see a way to customise the view port dimensions - it appears to lack common phone screen resolutions.
I like Go, but this is total nonsense. It does help that you can embed values in a struct, rather than using pointers. But marking everything that looks like a pointer is not efficient. Not having generations does not help.

Go is still very young, a better GC will come, just give it time. In the meanwhile, let's not pretend that the current sub-par generator is as performant as that of modern JVMs.
Oops .. sorry about that - and thanks for following up with the correction. Did you try LOAD81? I really love it as a way of getting started with Lua hacking, and I'd love to hear others experiences too ..
Intel Is Ready For Merging Cilk Plus Into GCC
Chinese dissident jailed on Yahoo evidence freed
Well, to a point. But be careful, it may come over as false modesty or as an attempt to deflect possibly justified criticism from the other party.
>you can do anything you can do in C

This is true only for very limited meanings of "anything"; if your point was that you had direct control of memory layout and you can use CGO for those things that C offers but go does not. For instance, the volatile keyword..
pmarca answered this question years back. the only thing that matters is the product-market fit. it doesnt matter if you have a team of non-social robots with no pitch.

http://pmarca-archive.posterous.com/the-pmarca-guide-to-star...
I agree with his hardware analysis, but IMO the big question is pricing.

If Apple prices an iPad Mini (wifi) at $299, there is still a reason for a person with no devices to consider a Nexus7 over an iPad Mini.

If the iPad Mini is $199 (or less), it probably kills the market for the Nexus 7 for device-naive users; Android people (or Apple haters) might still go with a Nexus 7, but in general the iTunes ecosystem is stronger, so it's better (on top of the hardware likely being better, if for no other reason than being newer rev -- and Apple Stores, better marketing, etc. would make it a slam dunk).

$249 iPad vs. $199 Nexus might be parity, but IMO it makes more sense for Apple to go $199 wifi and $249 and $299 products with more flash, 3G/LTE, etc.

The real risk is iPad Mini vs. iPad 3 sales cannibalization. I think there are enough women (who carry 7"-compatible purses) who would go for an iPad Mini at the same price as a regular iPad, so that would support pricing the iPad Mini at $299-399.
Q: When not to use Regexp? A: HTML parsing
Mástil de radio en la Hainbuchenstraße en Lohra se ha caido
Apple loses patent claim against Samsung in Tokyo court
Why Yahoo is the coolest start-up in the valley
Paraphrasing from the video: "Here's a company which has money - lots of it … untapped, world changing opportunities … and you can be part of learning how to design culture at the same time".
it's a neat take, but do we really need another colour app?
Left middle on T, on a querty-based keyboard? And you've never broken anything? :-)

[1] has what seems to be the classic way, with t and even r being typed my the index finger.

[1] http://www.powertyping.com/qwerty.html
I'm very interested to know more about your use of racket in production. Could you share your experience?
It would take me more than one blog post to describe the architecture that powers Sentry, the various areas that have and can have bottlenecks (some more obvious than others).

More importantly, this a few months ago I made the switch, and I don't remember the specifics of the order of events. I can assure you though that I know a little something about a little something, and I wasnt imagining problems.

(Replied to the wrong post originally, I fail at HN)

http://news.ycombinator.com/item?id=4458643
Richard Stallman: The Best Way to Learn Programming
0. What's "intusive" mean? Typo?

1. Linked lists require extra per-node memory for pointers. Plain lists (vectors in C++) don't.

2. Linked lists have poor cache locality. Each item is in a different place.

3. Using Person* instead of Person for the list objects results in twice the number of objects. In C++ you have this choice; in many higher-level languages like Java, you don't; generic linked lists only support double-object way. (You could of course manually add pointer fields to your objects to obtain a single-object solution, but this defeats the purpose of write-once-run-with-any-element-type idea of a reusable container data structure library.)

4. You often only care about adding and removing from one or both ends. A vector or deque has O(1) removal in this case as well (assuming it's allocated with adequate space, or you don't care about transient CPU spikes due to reallocations early in your program's run, before it reaches its max size).

5. Large numbers of objects are more stressful on memory allocators and garbage collectors.
The blog post doesn't explicitly mention the performance problems that you are now saying prompted your move.

Then you go on to say it was simple and talk about how much cheaper it is.

I feel like I was replying to what you said in the first instance, not the more interesting underlying cause.

Did you talk to Heroku about your performance problems? I'd be interested to see how much leeway they would grant.

Edit: for people wondering why the comment was deleted, I think because zeeg accidentally replied to me instead of a different poster; nothing silly going on.
> one on colon cleansing and three on flower related themes

Good to know, I haven't used digg in a very long time so I thought my account had been taken over by viral cat product marketers.
Tim Pope tried to implement interesting plugin for Vim. [1] It basically replaces frequently mistyped words with correct ones. I wouldn't support this method, but it is interesting how frequently I type some words wrong ('fucntion', for example). Instead, you should definitely try proper fingering.

As a pro piano, saxophone and guitar player, I'm prepping a rather lengthy blog post about proper fingering when typing, and the inadequacy of standard keyboard layouts, in particular, wrong placement of modifier keys as pivot points.

[1] http://www.vim.org/scripts/script.php?script_id=1545
This is where Marco talks about the new Dock connector: http://www.marco.org/2012/08/15/the-foolproof-dock-connector
Top review on iTunes is a 5 star praise from Evan Williams. It has a clear disclaimer at the top, but I can't decide if I think it's cool or cheesy for a well known investor to do that.
Chrome on Linux (with 16GB RAM) - works fine.

Chrome on Android 4.0 (Galaxy Tab): Takes about 30 seconds and then I just get some text and a picture of the car. Chose 'Request Desktop Site' and it is fairly close to desktop experience. Sometimes you get bits of white page as it brings the images in.

Builtin browser on Android 4.1 (not Chrome): I had to request desktop site again. Almost usable. There are always images displayed, but drawing after using your finger may take a second or two.

Safari iPod Touch 4G iOS 5.1 - sporadically somewhat usable for one touch interaction.
Learn python instead of java
And we, the English, thank you for putting the indicator stalk on the right of the steering wheel. Seriously; that's a major factor in me buying a car.
if it was a 95/5% split, that might be a fair (and terrifying) thing to say.
Run DNSMasq locally (as in, same datacenter as the computers that will be using it) and tell it to cache. It's dead-simple to set up. Then point your computers to resolve using it.

You can even add to /etc/hosts and the computers using it as their DNS will resolve it. Depending on how much control you have, DNSMasq will also function as a DHCP server and TFTP server from which you can netboot other servers and do such nifty thing as automatic reinstalls. Useful if you have a separate, internal network and want to set internal IPs, too.
Have you heard of the vampire squid?
For me I always mistype 'master' as 'amster'. In my mind, I've invented a friendly little mascot, the Git Hamster.
Meh, it should be a web app anyway.
Pat (formerly pat.go) - A Sinatra style pattern muxer for Go's net/http library
I talked to them (the people I knew) some, but it was mostly characteristics of the app.

So various events were like this:

* Perf problem w/ the code (e.g. didnt handle this kind of spike)

* Perf problem with service (e.g. had $200 db instead of $400)

* Couldnt max cpu due to lack of memory

* Couldnt max cpu due to IO issues (db)

* Couldnt maintain a reasonable queue (had to use RedisToGo which is far from cheap)

The biggest one I couldnt get around was my queue workers required too much memory to operate (likely because of them dealing with larger JSON loads). Too much was like 600mb (or something along those lines) total on the Dyno (not just from the process). I routinely saw in the Heroku logs "using 200% of memory" etc, and thats when things would start going down hill.

Things could have been a lot better if I had more insights into the capacity/usage on Dynos (without something like NewRelic, which doesnt give it well enough)

A great analogy for me is this:

If SQL isnt scaling there are several options:

1. Stop using it (switch to another DB)

2. Shard it

3. Buy better hardware

Guess which one we always go to first? :)
You might be right, we'll have to see. Apple's marketing is strong. But at the same price I personally would go with the 1280 x 800 Nexus over a 1024 × 768 iPad mini.
Would either side of the "national drone debate" (if there is such a thing) object to this app?

Those opposed to it would like to know what's happening.

Those in favor would like to see how effective it is.

I can't see either side objecting, so I agree with you that it's probably the fact that it's about death that is the reason they were rejected.
I believe that. San Fransisco is an amazing place full of amazing people.

Unfortunately over here in Australia, I suspect it is just the general state of any industry involving customer service.

When going to many of the restaurants in Sydney it is extremely rare to experience the kind of customer service which you take for granted over there. We don't do tipping, so that probably explains that.

There are no shortage of apple geeks in Sydney. Theres two Apple Stores in Sydney now as a matter of fact - both on George St (the main street that goes through the Sydney CBD)!

Sydney is a lot like SFO was to me in the sense that its impossible to go out in public for more than a couple of minutes without seeing somebody using an apple product!

For whatever reason though, it seems that Apple Australia keeps hiring the people who really don't show a great deal of passion in Apple at all (or people for that matter)

I'm sure theres plenty of good people working at the Apple stores around Australia, unfortunately I always seem to get the opposite, perhaps I'm just extremely unlucky, but I feel its gone well past that point now.
Adobe Flash Player is Back on Google Play Store UK
I've heard developers echo your sentiment right up until it was their app that was rejected. Pride cometh before a fall.
Github Mascot
Circle - Continuous Integration made easy
Participation in YC doesn’t guarantee funding success — about 12 of the 63 startups in the summer 2011 batch either didn’t try to raise funding or didn’t succeed

There's a huge difference between not trying to raise and not succeeding. If on these 12 startups only one really tried to raise funding and failed it really shows a different situation doesn't it? Of course if some startups do not raise because they already think they'd fail it's also another point and it would be nice to have more details on this point!
"indent" the program (for C) has been around for a while.

The other nice thing about automated formatting is that everyone can edit code in their preferred format, as long as they convert it back before checking in (for readable diffs)
It doesn't affect it in any way: http://facebook.stackoverflow.com/a/12203207/214773
Being a slow typer, I couldn't get bothered. I have about 30 alias in my bash_profile for git. These are the ones I use most:

alias ga='git add'
alias gs='git status'
alias gc='git commit'
alias gls='git ls-files' #lists all tracked files!
alias gg='git add -u; git commit -a -m "lazy commit"' # stage and commit everything tracked. So lazy ...

The latter I only use for committing non-code. Like my notes in org-mode.

I also found it very convenient to have

alias eb='emacs ~/.bash_profile'

makes me edit my dash_profile almost every day.
in fact, asp.net mvc is more of a MVVMC framework, so it's used server side as well.
Mitt Romney Tells 533 lies in 30 weeks
Here's a graphical illustration of why it'll probably be priced lower than $299, whether at $249 or $199:

http://www.iamconcise.com/main/the-reason-for-the-ipad-mini....

Apple has an excellent track record of not leaving price umbrellas under their products (even if it means releasing something super minimal, like a Mac Mini or iPod shuffle) nor do they usually create multiple products at the same price that cannibalize each other.

The second rule isn't as strong because it isn't nearly as big a problem as price umbrellas. They've often said (correctly) that if anyone's going to cannibalize their products it might as well be them, e.g. iPod sales declining because of the iPhone taking off.
If the iPod line is any indicator (or some moves with the iPhone), then Apple is not really that concerned with sales cannibalization as long as you buy an Apple product. $249 would be interesting, but $199 would mimic the moves made in the iPod line. I would expect a $199 iPad mini ends the iPod touch line.

I think the 7" biggest potential is school age children. It is a good size and breaking the $200 barrier makes it particularly attractive to schools.
'Because Apple made the iPhone and they own the iOS store and they decided they could make more money with it this way.'

That's a statement of fact, but does not answer the question of why.
Australian retailing oligopolist thinks Internet is "spin and bullshit"
It serves the same purpose that sl serves. A minor somewhat amusing annoyance that gets tiresome over time, forcing you to drop the bad habit.

Aliasing it to 'sleep 2 ; git' would do the same thing, but would lack the embarrassment and amusement that the animation gives.

Of course mostly that is just an excuse. "Because it is fun" is really the only reason that there needs to be.
> The real risk is iPad Mini vs. iPad 3 sales cannibalization.

If there's a market for a 7" tablet that's a risk to iPad 3, then Apple would rather capture that market, even at the risk of cannibalization. They're the same company that cannibalized their own iPod line with iPhone.
Thanks, this makes more sense to me.

Looks like I misread your purpose.