Arq 5: Massively faster backup and restore for Mac and Windows - <AUTHOR> https://www.arqbackup.com/blog/arq-5-massively-faster-backup-and-restore/ <comment><USER2> Arq, (For backups to AWS - though obviously supports every cloud back end under the sun) and "Data Backup" by ProSoft engineering (For backups to USB) are my goto backup tools for day-day ensuring all my work documents are kept up to date.

Yes, I have Crashplan (for the last couple years, backblaze for the three years before that) - but the constant chewing up of CPU cycles gets annoying after a while. And both crashplan/backblaze "everything for $5" come with massive caveats (like deleting backups of Hard Drives that haven't been plugged in for 6 months - I've got Arq Backups of Hard Drives that I haven't plugged in for a couple years, safe and sound) - and I've never had an AWS backup bill in excess of $3.00, ARQ does a wicked good job of keeping your backups on a tight budget.

Also - awesome win for ARQ - when I moved to Singapore, I simply added a AWS Singapore S3 Bucket and _wowza_ \- fast backups on my gigabit ($49/month) link from MyRepublic. Really feel like I'm living in the future.

I think once I switch away from Aperture over to Photos, which presumably has a rock solid backup to iCloud photos, then simply doing a quarterly backup or so with CarbonCopyCloner + Arq to AWS + DataBackup to USB key will have my OS X backups covered.

<comment><USER3> _like deleting backups of Hard Drives that haven 't been plugged in for 6 months_

Wait - what?

If your hard disk gets lost or destroyed, how do you protect those backups?

<comment><USER4> You need to keep them connected periodically otherwise if you lose it without reconnecting... _lost_.

For backblaze it's even less time.

<comment><USER5> I believe for CrashPlan, this ONLY applies to CLOUD backups. If you backup to local media or across computers, there is no "auto-delete" timeframe.

<comment><USER6> Hello Everyone,

Wanted to jump in here to confirm.

This policy only affects devices that have not connected to CrashPlan Central in 6 months or longer. This does not affect volumes that have not connected to the device in that period of time. (i.e. an external hard drive that has not connected in 6 months.) Additionally, there is no minimum connection time for local CrashPlan backups.

It's important for CrashPlan users to consistently connect their device(s). Part of CrashPlan's ability to maintain the archive health and integrity relies upon regular connection from the device. CrashPlan is able to routinely perform maintenance on the archive by comparing checksums between both device and CrashPlan Central.

[https://support.code42.com/Administrator/3/Monitoring_And_Ma...](https://support.code42.com/Administrator/3/Monitoring_And_Managing/Archive_Maintenance)

Please let me know if I can provide additional clarity.

Best regards,

Jarrod

<comment><USER7> Is this also the case for crashplan business or PROe? (ceejay in europe).

<comment><USER6> Since the infrastructure for CrashPlan's backup engine is the same between our Business/Consumer clients, we recommend that all users routinely connect their devices to the backup destinations. That being said, this policy only affects CrashPlan for Home subscribers at this time.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Arq doesn't get the publicity it deserves. It's a reliable, provider- independent backup solution that YOU control. Data gets encrypted locally, then sent over to storage providers. When new storage providers appear, Arq implements APIs and lets you use them.

Most importantly, when restoring, you don't enter your decryption password/key into a browser window. I don't understand how online-backup companies can talk about security while requiring users to give them their passwords in order to restore data.

I've been using Arq for about two years now and I'm very happy with it. For the reference, I have previous experience with CrashPlan and Backblaze.

<comment><USER9> Can you compare CrashPlan and Arq performance please?

I use self-hosted CrashPlan for several years, it's great, but restores and thinning archives feel slow (like half a day for cca 1 TB of backups).

<comment><USER8> I had nothing but performance problems with CrashPlan, so Arq was a significant improvement. But that's setting the bar low.

</comment></comment></comment><comment><USER10> Been an Arq user for years now, and recommend it to anyone. Love being able to choose my own storage solution, control encryption keys, etc.

For Arq team (saw one or two here), is B2 on the roadmap?

<comment><USER11> Arq's author has said on Twitter that the B2 API doesn't support all commands Arq needs, so even if B2 support was planned (which it isn't) it wouldn't be possible yet: [https://twitter.com/arqbackup/status/717756616578301952](https://twitter.com/arqbackup/status/717756616578301952)

<comment><USER12> Yev from Backblaze -> We're working on a few APIs and some should be aligned with what ARQ is looking for. We're hoping that they do integrate with us, giving folks an inexpensive alternative!

</comment></comment></comment><comment><USER13> How is this, from a technical point of view, more advanced than running rsync in a regular fashion (with hardlinks to keep cheap snapshots)?

Just wondering about the technical aspects.

<comment><USER14> One differentiating factor is that rsync doesn't work with storage services like Amazon S3, Glacier, Google Drive, and the like.

<comment><USER15> which is a good thing.

if a few years ago somebody said "just copy all your private data to some place on the internet... but encrypt it first" you would take it for the crazy argument it is.

<comment><USER16> What do you think is crazy about it? If it's encrypted, it can't be read. If it's on "some place on the internet", it can only be as redundant or more redundant as any other offsite solution.

<comment><USER17> > "If it's encrypted, it can't be read. "

Yet. It can't be read yet.

<comment><USER16> Any agent capable of ever reading AES encrypted files with 256 bit keys is also an agent capable of opening your safe deposit box, requesting your tapes from a data vault provider, or coming over to your house with a rubber hose.

Short of a vulnerability in AES (in which case we have more problems than a few copies of the Anarchists Handbook in our backup files), cracking proper encryption is simply not feasible.

<comment><USER17> What about in 10 years, 20, 50?

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Mirror:

[https://gist.github.com/15dde3fb013581b6aa59bf0b0c3a701e](https://gist.github.com/15dde3fb013581b6aa59bf0b0c3a701e)

<comment><USER19> thanks

</comment></comment><comment><USER20> Given the rise of ransomware in the recent months, what protection does Arq offer against that? That thing alone would easily tip the scales for me versus the Time Machine.

I see that the AWS S3 IAM user has both read and write access, so if the ransomware authors ever bother with it, they can kill the backups.

Would that help if I setup versioning on the bucket? Will Arq be able to restore backups from the older version of data, before the attack takes place?

Any other ideas?

<comment><USER21> Bucket versioning should help with this. I don't use Arq and don't know if it supports s3 bucket versioning, so it might not be convenient but the data would still exist.

Although if an attacker has control writing to your s3 bucket, they could rack up a big bill.

<comment><USER20> There is no monetary incentive to rack up the bill, but there is an incentive to kill backups - ransom demands are a lot more persuasive when the victim has no backup.

</comment></comment></comment><comment><USER21> I would just like to point out that this is major release 5 and they're just now adding threading and consumption of filesystem events.

That's _great_ from the standpoint of launching a product. Putting off adding this complexity probably let them get to market sooner.

If I were releasing something like Arq, I would have to fight myself very, very hard to not add these to the 0.1 release. I don't know this space very well, but maybe there are several Arq-alikes who started earlier, but didn't release until later because it wasn't "done" yet, and they missed their chance.

<comment><USER2> But ARQ has always been fast, and figured out what it needed to backup pretty much instantly, and just did it's job and got out of the way - unlike things like spotlight/mdworker, or crashplan/backblaze, that are constantly thrashing my CPU and causing my fans to spin up.

From my uneducated perspective, having simple software that just _worked_ was a bonus - who knows, maybe with the addition of threading, and consumption of filesystem events, ARQ is going to become crummy, and a door will be opened for someone else to write simple backup software _without those features_ that gets the job done and doesn't bog up your computer. I guess we'll have to try Arq 5 for a few weeks to find out. Fingers Crossed.

</comment></comment><comment><USER22> I have nothing to add except that I've been a happy customer of Arq for years, and Stefan and team have provided us very helpful and personal support by email on the rare occasions when we needed it.

</comment><comment><USER23> I've been using Arq for years and absolutely love it. Worth every penny. It is extremely well-built software — it's FAST, doesn't hog resources, and feels very polished & reliable.

I like that I can backup to multiple destinations (AWS S3/Glacier, Dropbox, Google Drive, even my own server via SFTP). IMO you can never have too many backups.

I use it along with Backblaze (and will be setting up Time Machine & Super Duper or Carbon Copy Cloner this week, after putting it off forever).

Congrats to the Haystack team!

</comment><comment><USER24> Bah, I guess hosting a site at digitalocean isn't suitable for HN front page? Even WP super cache isn't saving me.

<comment><USER25> Stop using wordpress.

<comment><USER16> At a minimum, add some caching in front of WordPress. Even a 1 minute cache of pages will result in being able to host your WordPress site just about anywhere. Throw in a CDN, and you could _almost_ host it on a Raspberry Pi and throw Reddit at it.

</comment></comment></comment><comment><USER26> Awesome, can't wait to upgrade tonight! Any news on the Linux / CLI version?

<comment><USER27> PLEASE give us a Linux version!

<comment><USER27> Can I preorder or sponsor a Linux version somewhere?

<comment><USER28> +1 :)

</comment></comment></comment></comment><comment><USER29> If I understand well, Arq does not backup the whole computer. I am looking for a tool that allows for recovery of single files, but also that has a backup of the whole machine, so that if the HD crashes it is possible to rebuild it verbatim. What does HN suggest for such a tool? I used Norton Ghost for years (but it has been discontinued).

<comment><USER15> for disk deaths I'd just settle with raid. life should be simple.

<comment><USER30> Not always feasible (laptops, macs).

<comment><USER15> my netbook from 2003 accepts two ssd (Asus eeepc 1000). you should stop getting work equipment because of looks or peer pressure.

</comment></comment></comment></comment><comment><USER31> Stefan, can you disclose how many people are working on the Arq now?

For some reason I always had an impression that you were impressively managing the whole thing just by yourself.

</comment><comment><USER32> Love arq too. Rumor has it arq 5 will also stop eating up free space with its cache.noindex folder. Excited about that!

<comment><USER24> True! It uses sqlite databases (finally). (I work at Haystack Software :)

<comment><USER28> This update is great. Very happy I bought Arq :).

I was excluding cache.noindex from my other backup system (carbon copy cloner). Is it still safe to do so?

<comment><USER24> Yes

</comment></comment></comment></comment><comment><USER33> Google cache link: [https://webcache.googleusercontent.com/search?q=cache:dy3xEV...](https://webcache.googleusercontent.com/search?q=cache:dy3xEVo6yiwJ:https://www.arqbackup.com/blog/arq-5-massively- faster-backup-and-restore/)

</comment><comment><USER34> Hmm, there's nothing on the announcement about how to upgrade your existing backups?

Say you have a large backup stored on S3 or Google Drive - has anybody used this, and can tell me if it upgrades it seamlessly to take advantage of the new features (e.g. LZ4 compression), or if you need to do a fresh upgrade?

<comment><USER35> Yeah, I also curious about this one.

</comment></comment><comment><USER36> I like Arq, use it as a "real, offsite" backup complement to Time Machine. Not quite as fire-and-forget as Time Machine, but darn close!

And the format of the stored data is available, which is a nice safety feature in case of major problems.

</comment><comment><USER37> What compression was used before Arq 5? lz4 is super fast, but not particularly space-efficient compared to some slower compression algorithms. Since Arq customers are the ones paying the storage bills, this doesn't seem like an _entirely_ costless decision--Arq is now faster, but you should expect your storage bills to go up a bit due to the lower compression.

I use Borg backup with lz4 compression, so I definitely don't think this is the _wrong_ decision, just something to keep in mind (and, it does seem like something that could and maybe should be user-configurable).

<comment><USER11> Arq's data format description says that the other supported compression type is gzip, which I assume was used before: [https://www.arqbackup.com/arq_data_format.txt](https://www.arqbackup.com/arq_data_format.txt)

</comment></comment><comment><USER11> Still no support for S3's "Infrequent Access" storage class? It would be perfect for backups and is a good compromise between normal S3 and Glacier.

<comment><USER38> It does support that: [http://i.imgur.com/EC1e83h.jpg](http://i.imgur.com/EC1e83h.jpg).

<comment><USER11> Great! It should have been mentioned in the announcement because I've been waiting for this option a long time.

</comment></comment></comment><comment><USER39> Has anyone tried both this and Crashplan? My Crashplan 10-computer subscription comes up for renewal soon so I'd be interested in people's experiences of how they compare. Generally I've found Crashplan to be pretty good. I like the way it backs up in frequent small increments and I like the backup destination options (cloud, folder, other PC, etc.). Does Arq compare well?

<comment><USER40> Arq can't send backups directly to a hard drive, but it can use an SSH (SFTP) server as a destination.

[Edit: Apparently the release notes for Arq 5 says it can now back up to a local folder.]

I have never tried Crashplan though. The main reason I chose Arq instead is the impression that Arq has a better thought-out encryption scheme.

</comment></comment><comment><USER41> It appears Arq's being destroyed by HN currently -- I downloaded the trial for Mac, but when I press "Start Trial" I get "Failed to create trial - A server with the specified hostname could not be found." I'll try again tomorrow.

</comment><comment><USER42> I use Arq to backup all my stuff hourly to my NAS at home through SFTP and the NAS then backups the most important stuff to AWS daily. That works really well and keeps the cost really low because i need the NAS anyway for streaming media an such.

</comment><comment><USER43> I am a happy user of duplicity [1]. Discussed here [2]. Some comparison with Arq here [3]. It is more oriented towards servers and system administrators, but works pretty well and has a similar feature set.

[1] [http://duplicity.nongnu.org/](http://duplicity.nongnu.org/)

[2] [https://news.ycombinator.com/item?id=6712244](https://news.ycombinator.com/item?id=6712244)

[3] [https://news.ycombinator.com/item?id=6712411](https://news.ycombinator.com/item?id=6712411)

</comment><comment><USER44> The Mac version has gotten a lot of good response, so I tried installing the Windows version. It feels a bit like a beta sadly.

      - Backups to local folder do not work
      - Scheduled backups don't always run until you open the GUI
      - Open log viewer before any backups have been performed crashes the app
      - File-Exit does nothing
      - Wizard adds whole C:\ to first destination
      - Doesn't seem to backup (all) locked files

I've reported all of these, and the author seems responsive, so I hope it gets better.

</comment><comment><USER45> Awesome, got an email about an hour ago stating I received a free upgrade to 5 from my 4 license. Been using Arq for a couple years now, it's been a perfect solution for offsite backups.

<comment><USER24> We upgraded all Arq 4 purchases in the prior 90 days to Arq 5 for free. We even converted the per-computer licenses to per-user licenses, so if you bought licenses for 3 computers, you now have Arq 5 licenses for 3 users.

<comment><USER45> Fantastic!

</comment></comment></comment><comment><USER46> Off topic: Is anyone else getting an SSL error trying to connect? This page opens fine on my Mac (OS X 10.11.4, Safari 9.1) but my iPhone (iOS 9.3.1) asks me to trust the certificate (ssl376366.cloudflaressl.com)

Edit: Screenshots: [https://imgur.com/a/wdfDt](https://imgur.com/a/wdfDt)

Also, this appears to not happen on Wi-Fi. Willing to send any information I can gleam from this -- I'd be interested to know if this is a MITM attack or a mistake on CloudFlare's side.

</comment><comment><USER34> Argh, the website is down...lol:

"Error establishing a database connection"

<comment><USER47> It appears that there may be an issue with just their blog. The main site[0], and most of its links, works for me.

[0] [https://www.arqbackup.com/](https://www.arqbackup.com/)

<comment><USER48> At the moment, this site takes ~30 seconds for every single request. But at least it works at all.

</comment></comment></comment><comment><USER49> I was a user of Arq 3, but it was slow and seemed to eat up resources on my computer. I eventually turned it off, deleted the backups and deleted it. Not a great backup plan.

So I'm keen to know how much faster Arq 4 was, and in turn Arq 5. I'd be happy to try again (I think I'll have to pay full price again as I'm not an Arq 4 user) - but might wait until someone can let me know just how much faster it really is.

This whole thread has also reminded me to run my backups to local Time Machine!

</comment><comment><USER50> This sounds great. To my mind, it seems an approximation of Tarsnap but on Windows.

Is it possible to use Arq to backup to network connected disks via Windows SMB? In other words, is it necessary for me to use one of the supported cloud providers or can I just use one of my own servers as a destination? Similarly, is it possible to setup multiple redundant backup destinations (e.g., S3 and Google Drive, or S3 and my own servers)?

<comment><USER11> The release notes at [https://www.arqbackup.com/download/arq5_release_notes.html](https://www.arqbackup.com/download/arq5_release_notes.html) mention that you can now backup to a local directory or network drive. It's weird that the most interesting features were not actually mentioned in the main announcement.

<comment><USER50> Fantastic. I think I'm going to give Arq a trial and see how it works for my use-case.

</comment></comment></comment><comment><USER51> Didn't JungleDisk ([http://jungledisk.com](http://jungledisk.com)) kind of start this "backup to AWS, control your own data" movement? Does anyone use them anymore? I recall that they started as pay one price, then switched to a subscription model too...

I wound up on Crashplan, though it's not perfect either.

</comment><comment><USER52> One long standing issue I have with Arq is that there is no easy way to duplicate backup selections. I would love to be able to easily copy the selections between different destinations, or different systems that are being backed up.

Several years ago, I tried to manually edit the plist preference files, but that was painful and unsustainable hack.

</comment><comment><USER53> Thanks for the tip. I'm checking out Arq now!

FWIW I've been a big fan of Syncovery (formerly SuperFlexible File Synchronizer) for years. It's a Swiss Army Knife of backup/recovery. [https://www.syncovery.com/](https://www.syncovery.com/)

<comment><USER2> Syncovery looks pretty awesome for what it does, I just installed it to take a look, - Directory Synchronizaton - but it's achilles heel for file backups (as opposed to directory/disk cloning) - is appears to be it's lack of any type of versioning. I.E. If I make changes to a file each day, and do backups each day - no way to go back to a version of the file a couple weeks ago?

<comment><USER53> It has a versioning feature IIRC but I can't vouch for how sexy it is.

</comment></comment></comment><comment><USER54> Been using Arq since version 2 (2010) on multiple machines. Very happy with Arq and with Stefan's support. I use it with dual destinations for my offsite backup - about 9Tb. I also use it to provide family in another country with a viable offsite backup. Restores just work.

</comment><comment><USER55> Any of you know how to get your license code for an upgrade? I have the original email from when I bought Arq 4 in 2014, and it contains a license file. This is an XML with sections like 'id' and 'licenseKey' but neither of those are working.

<comment><USER40> I don't know, but why not just contact the author? He's very pleasant to deal with in my experience.

<comment><USER55> To add, they sorted it out by adding an option on the site to retrieve the license code. I've now got an Arq 5 license and lifetime upgrades.

I think that having Arq back up to spare space at a Linode VM is a great way to use it.

</comment></comment></comment><comment><USER38> As an Arq user, this makes me happy, as Arq is not exactly known for being fast.

The announcement doesn't say, but I'm hoping they have reduced the amount of space needed for the client-side cache (currently 18GB (!) on my laptop).

<comment><USER24> Yes. I just added that to the announcement post. It stores stuff in sqlite databases that are a lot smaller.

<comment><USER38> It went from 18GB to 600MB! That's awesome, thanks!

</comment></comment></comment><comment><USER34> Trying to buy my upgrade now - but it keeps telling me my Arq 4 license key is invalid.

I've tried both the licenseKey field, and the hash field from the license XML file I got when I bought Arq 4.

Has anybody else had success buying an upgrade license?

</comment><comment><USER56> Can I use Arq to backup disks connected to my airport extreme router? I don't have a desktop; will be installing it on my laptop. Can I schedule when to backup ?

</comment><comment><USER57> been a user since arq 2. It's the best.

Question to any knowledgeable folks: Why does the tool cause so much download in normal operation ? (i.e. no restoring of files)

I have about 60gb backed up at rest, and am on a backup-every-2h-cycle. I generate about 6 GB of download traffic each month. So funnily enough, the traffic costs me more than the actual storage :) mind you it's still next to nothing, but I found it just curious.

</comment><comment><USER58> I guess those people with less complicated needs could use [https://cryptomator.org/](https://cryptomator.org/) to upload the $60/year Amazon Cloud Drive.

</comment><comment><USER59> $50/year and you have to provide your own storage? Can somebody explain to me how they are competitive, i.e. in comparison with Crashplan or Backblaze?

edit: my bad, it's $50 for one time purchase, not a year.

<comment><USER60> Its $50 one time purchase for new purchase. The upgrade from Arq 4 is $25. During store checkout, you can also choose to add a "Lifetime Upgrades" at $30 which will give you free upgrades for Arq 6, 7, 8, 9, 10, 11, 12 etc.

<comment><USER61> I purchased the Lifetime Upgrades in September 2015. Now it tells me there is a $25 upgrade fee to go to version 5. I emailed support a few hours ago to confirm. If this is true, I am extremely disappointed and feel cheated. Notice on the form to buy a new license it doesn't say anything about "Lifetime Upgrades for this major version _only_ which will be obsolete in a few months". I sure hope this is just a bug that they will fix.

<comment><USER52> There is an apology for the delay on twitter. Looks like your license for Arq 5 should be coming.

[https://twitter.com/arqbackup/status/719924424263249920](https://twitter.com/arqbackup/status/719924424263249920)

<comment><USER61> Thanks! My faith in them has been restored :)

</comment></comment></comment></comment></comment><comment> yoz-y I find it a bit ironic that this particular blog has an inaccessible database at this particular time.

This being put aside I find their pricing a bit excessive in comparison to Backblaze for example.

<comment><USER62> How much data are you backing up? The compression and deduplication seem pretty good in Arq. My monthly AWS (and now Google Nearline) bill is usually around $2, so I hit the breakeven point vs the $5/month services pretty quickly.

<comment> yoz-y My current backup is around 300 Gigs. I see the big advantage of Arq (over Backblaze) is the fact that you can choose your host. However their own hosting solution for $10/mo with a 250GB data cap is quite expensive. I can see that for smaller amounts of data Arq is more interesting, especially since it also stores history (which Backblaze does not).

<comment><USER63> It's worth noting that Arq can back up to Amazon Cloud Drive, which offers unlimited storage for $59.99 a year. As soon as they offered that I switched from Glacier storage; Cloud Driver is faster, cheaper and less fiddly.

<comment><USER64> the pricing is great for the US... not so good for the rest of the world (for example: [https://www.amazon.co.uk/clouddrive/pricing?ref_=cd_home_pla...](https://www.amazon.co.uk/clouddrive/pricing?ref_=cd_home_plans_pricing))

<comment><USER40> That's weird. I live in Sweden and I was able to sign up for the $59.99 unlimited plan just by surfing to [https://www.amazon.com/clouddrive/home](https://www.amazon.com/clouddrive/home)

</comment></comment></comment></comment></comment></comment><comment><USER65> This. Looks. Awesome.

</comment><comment><USER66> "Error establishing a database connection"

<comment><USER24> Fixed now. Sorry. The load from HN was too much for a while.

<comment><USER58> Can't start a trial account.

Failed to activate. The remote name could not be resolved. store.arqbackup.com</comment></comment></comment>


Six Reasons for Sudden Drop in Math Grade - <AUTHOR> http://parents.sabioacademy.com/2011/09/30/six-reasons-for-math-grade/

<comment><USER2> > The transition into geometry is particularly difficult for some. In the > United States, the typical high school curriculum suspends algebra after one > year to teach geometry, then resume algebra again, calling it algebra 2. > Thus geometry starts and ends abruptly. In my opinion, this is not the best > arrangement, but that's what the higher educational power of the United > States decided, and I only work here.

I took algebra 1 in 7th grade and geometry in 8th grade, I don't really remember anything from either class, not even the teachers really. Though admittedly I don't remember much from my other classes at the time either, the two most influential I think were a typing class that forced me (by punishing non-two-handers) to go from 30-40wpm with 'finger pecking' to 80-100wpm using both hands, and a nicely rigorous 8th grade English class.

Regarding the problem of arithmetic inability, I don't think it's that much a problem. The real problem is teachers thinking students should be just as proficient in the same areas as they were, learning the same things as they did, and that's where public math education fails the most. "I agree that the problem lies with the other people more than with the students. The most profound engine of civilization is the inability of a larger and larger fraction of the population to do the basic things needed to survive. Many people fail to realize this." <http://www.theodoregray.com/BrainRot/>

I'm also disgusted with the way probability is presented, both here and in most classes.

I thought his last point about abstraction was made weakly, especially when he writes things like this: "Calculators become useless at this stage." Clearly someone's never used a TI-89. (But you don't even need that amount of power most of the time.)

Then stuff like: "This is the point at which studying by memorization fails." When in fact most calculus classes go about memorizing a bunch of derivative and antiderivative identities, formulas for Taylor polynomials, etc. There is very little abstraction in high school/freshman Calculus, and from my own experience and the experience of several teachers I've had people are usually only weak in Calculus if they're already weak in Algebra. (Which feeds nicely into his point about Foundations.)

The point that he hints at with the issue of infinities is better expressed with the issue of implication, both logical and probabilistic. Even if you can't actually add up all those fractions, following the math rules deductively leads to the implication that they do without having to go out and check. I think this problem can more easily be solved in the sciences, but that's another can of worms.

<comment><USER3> How can more maths be applied to the everyday lives of people? I think it can be, but I struggle to come up with examples.

For starters, I think we have to do some maths ourselves, like evaluating investments. No outsiders can be trusted to make the best decisions for us.

Maybe if the "collect data about yourself" movement takes off, there will be more opportunities to optimize our own lives with maths :-/

<comment><USER4> I think there's a problem with thinking about it as just "maths". Of _course_ ordinary people aren't going to need multivariate calculus every other day of the week, and some topics are deservedly esoteric.

Arithmetic is used by everyone every day. Statistics is used by a lot of people too. Computer science is an oddly named branch of mathematics.

"Mathematics" is a very broad field, although the term is easily misunderstood. It's very easy to think of real-world applications for game theory, graph theory and cryptography. For instance, considering everyone's position in a business deal, or fuzzy optimisation of critical paths when you cook dinner.

<comment><USER5> If probability and statistics replaced calculus as the high school capstone class, this country would be a much better place.

</comment></comment></comment></comment><comment><USER6> Classroom setting is really not the best setting for studying math. Studying new materials in math needs complete concentration, a 2-3 minutes mind- wondering can cost your the entire period, since new concepts/abstractions in math build on top of each other.

It's very difficult to concentrate for a 40 min period, especially considering students just came from other classes that could be just as mentally challenging.

I think Khan academy does a good job at this. A 15-minute long video is a much more consumable chunk of knowledge.

</comment><comment><USER7> I think the drop in math grade[sic] is tied to our inability to compose simple sentences.

<comment><USER8> "Six Reasons for Sudden Drop in [My Son's] Math Grade".</comment></comment>


1 Nov 5-8am UTC DigitalOcean NYC2 network maintenance - <AUTHOR>

<comment><AUTHOR> Here is what they sent at 2:30am UTC:

</comment><comment></comment><comment></comment><comment>====

Start: Friday 01 November, 05:00 UTC End: Friday 01 November, 08:00 UTC

We will reconfigure our peer Edge routers and return NLayer back to service after repairs.

Expected Impact: 5-10 Minutes of Network Disconnect

During this maintenance we will be forced to disconnect the network for 5-10 minutes as we reconfigure the equipment to properly support the configuration. We have been working closely with Juniper to determine the best course of action that creates minimal impact on the network. During tonight's maintenance we will need to disconnect the network to perform the necessary steps.

If the maintenance goes according to plan this will restore full redundancy to the Edge routers and allow us to continue to expand capacity and provide reliable service to our customers. We will provide a full update to our original postmortem after this maintenance is complete.

We expect 1 more maintenance window during the weekend to complete all of the necessary changes and restore the NY2 network to 100% service. We understand how important network connectivity is to public cloud services and are doing absolutely everything possible to ensure that going forward our customers experience the least amount of interruptions possible.

Thank you for your patience as we finalize these changes,

DigitalOcean Networking Team

</comment><comment></comment><comment></comment><comment>====

</comment><comment><AUTHOR> My servers has been disconnected 2 times already totalling to 30 min of network downtime.</comment>


Separating Data from Puppet Code - <AUTHOR> http://puppetlabs.com/blog/the-problem-with-separating-data-from-puppet-code/_content=separatingdataandcode

<comment><USER2> working link: [http://puppetlabs.com/blog/the-problem-with-separating- data-...](http://puppetlabs.com/blog/the-problem-with-separating-data-from- puppet-code/)</comment>


Discovering Martians Could Be Disappointing - <AUTHOR> http://nautil.us/issue/25/water/why-discovering-martians-could-be-disappointing

<comment><USER2> It's odd, I see a clickbait headline like "why (this and that)...", I start reading and expect an answer to the question right away. If there isn't one in the first three sentences, I scroll down and see 'this shit is long', and I'm not so interested in finding the answer.

Point is, the title will get me to click on the article, but it's probably very detrimental to my desire to actually read it.

<comment><USER3> Maybe you're addicted to random payouts. 1% of the time it is worth it. For example, District 9 could have the exact same title, but that's highly entertaining.

<comment><USER2> point is, if you ask me to read a novel, don't give it heading that makes me expect to read three paragraphs.

</comment></comment></comment><comment><USER4> The main disappointment would be that it would make us more likely to disappear as a civilization, since life is then less likely to act as the great filter [https://en.wikipedia.org/wiki/Great_Filter](https://en.wikipedia.org/wiki/Great_Filter)

</comment><comment><USER5> I wonder what finding life away from Earth would do to the creationism crowd.

<comment><USER6> Probably not much?

I mean, I guess it would depend on the specifics of the life in question, but it does not seem to inherently contradict anything, from any thing that immediately comes to mind.p

(Speaking as a creationist)

<comment><USER7> I would expect absolutely no change at all. If you're able to ignore science, then why believe that a robot is actually on Mars anyway. Why believe that the magic box that you connect to the computer exists at all. If you're going to ignore science, then why would you try to rationalize at all. It's not like we put the smart kids in computers, engineering, physics, maths, chemistry, and physics; but then put the 'special' kids in paleontology. To believe a book over hard science because you were told to demonstrates a lack of critical thinking and a propensity to self delusion. I would expect a headline in a Christian blog to be "Scientists fake Mars life" or some other such nonsense.

<comment><USER8> > I would expect absolutely no change at all. If you're able to ignore > science, then why believe that a robot is actually on Mars anyway.

You don't need to go that far. I don't think many creationists question whether we have a robot on Mars, or many other scientific claims that don't involve the distant past. I see no reason why extraterrestrial life has any incompatibilities with creationism, apart from the already-existing incompatibilities between scientific consensus and creationism (namely, the age of the Earth and evolution by natural selection).

<comment><USER9> God created life on Mars for Reasons.

Seems like a pretty simple thing to reconcile.</comment></comment></comment></comment></comment>


Engadget:  the iPhone photos are fake - <AUTHOR> http://www.engadget.com/2008/06/07/loads-of-fake-apple-shots-hit-the-web-3g-iphone-pre-wwdc-editio/ <comment><USER2> not hacker news

<comment><USER3> kinda agree, but a lot of us are intersted on mobile development, and iPhone is the big elephant.</comment></comment>


Why some experts think driving with two feet could be safer than one - <AUTHOR> http://www.vox.com/2015/7/1/8877583/two-foot-driving-pedal-error <comment><USER2> I was hoping this article was going to argue that driving a manual transition is safer than an automatic. Unfortunately I was disappointed.

>Nowadays, though, more than 96 percent of cars sold in the US are automatic, and the remainder are disproportionately sports cars.</comment>


Ask HN: How to write a business plan for an Internet startup? - <AUTHOR> I've been approached by some investors who want to invest in my startup. They've asked me to put together a business plan - listing costs/revenue etc. Do I include my salary costs in this or do I assume that I won't be taking a salary? Any feedback/reading material will help! <comment><USER2> I've written more business plans than I care to think about. This is my experience:

1) A business plan is a marketing document. Usually you are using it to sell your business to banks, investors or partners. You have to think of your audience when you write it. An investor likes to see projected revenues that are high and don't mind that there's a risk - banks are the other way around.

2) Don't use business plans as a plan of how to run your company, write a one page strategy note instead. I have never seen a businessplan that was followed 100% and turned into a successful business. Everything changes fast in a startup, and you have to adapt accordingly.

3) Make sure you don't write something in your businessplan you can't honor. Investors and banks will look at it and blame you if they invested money and you don't live up to what you have written. Make sure to have escape routes. (If this and this market condition is true we will do such and such, if it isn't we can't do jack shit, we expect to do such and such but require this or that to reach these lofty goals) This will give you leverage and deniability in later negotiations.

4) Make sure you use a lot of sources to underpin and validate your assumptions (Gartner projects that within the next five years this trend will do something, making it inevitable that we will make loads of money since we're currently the only ones in this business) This will lend you credibility.

5) Make good budgets, and talk about your assumptions in the business plan. Budgets are the first thing investors look at. Particularly the assumptions behind the numbers.

6) Beware of investors that think everything in your business plan is a road map that simply needs to be followed in order to attain fame, glory and fuck- you money: They don't know what they're talking about.

<comment><USER3> I don't like your statement about a business plan not being a plan to run your company, that is exactly what it should be. Though maybe your 1 page strategy document is your real business plan. The business plan is just a name though, you should have 2 sets of books/plans: 1) Internal accounting that is very pessimistic and realistic and assumes the worst case scenario and prepares for it. 2) External accounting that is incredibly optimistic and assumes every possible best break will happen 100% of the time.

<comment><USER4> I'm not sure if this is what you were saying, but you should NEVER have 2 sets of actual accounting books. The numbers are the numbers, the truth is the truth.

You can create and present a document that shows your _expectations_ and _assumptions_ , but you can't say you made X amount of sales and Y amount of profit when the real numbers are different.

In reality though, the data you show and present should be realistic and perhaps slightly cautious. This is what you are going to be measured against. Being "incredibly optimistic" when you do not believe this to be true is really kind of fraudulent.

Set expectations for what can reasonably happen with the resources/constraints you are working with. Internally, manage your capital as if it were your last dollar. If you do not meet the expectations set, determine why.

<comment><USER3> What if you rebate the cost of your software to customers for a trial period? Do you think that counts as revenue or as nill?

What if you prepay for a year of office space before the end of your fiscal year to show no profit in a year? Did you make a profit or not? These are different ways to interpret the same numbers.

<comment><USER4> Try (as much as possible) to stick to GAAP standards and you'll be fine.

Choosing how/when you depreciate certain assets, or if you use a FIFO or LIFO inventory process is all well and good. But you would still have 1 single set of accounting books/data.

I never enjoyed the accounting part of the companies I've started, but I've learned there are things you _could_ do, things you _should_ do and things that you _shouldn't_ do. There is not a whole lot of room for interpretation, especially if you want to try to raise money or sell the company at any point.

</comment></comment></comment></comment></comment><comment><USER5> While I realize much of the capitalist world still operates this way, I'd be hesitant about anyone who asked for a business plan. While a business plan isn't entirely a waste of time, there's just so much of it dedicated to pulling meaningless numbers out of your ass as to be an exercise in futility, and it gives them something to be pissed at you about later if you miss your fictional quotas.

And if I even heard the phrase "pro forma" I'd run.

<comment><USER6> +1

We talked to about 20 investing entities (maybe 5 or 6 VC firms, a mess of angels, and a few angel groups). Exactly _1_ asked for a business plan and they were the lowest quality entity with the least success/experience.

Fred Wilson (one of the top consumer VCs in the world) said that 17 out of 26 of his "successful" investments (with exits) utterly changed their business model between investment and exit. In other words, a business plan has a roughly 60% chance of being obsolete.

Planning is good. You should rough out some numbers. Build a spreadsheet or two. If it's ad supported, get a sense of CPMs in your market and try to figure out how many ad views you'd need to support a real business. If it's a B2B offering, rough out what you can charge, investigate low cost distribution angles (SEO, SEM, etc). In short, prove to yourself (and others) that your business has some legs to stand on.

Write this down in an executive summary and be able to talk about it in some more detail... But writing a formal business plan? Chances are you don't know what business you're really in yet. And if you think you do, there are pretty good odds that you're wrong.

Of course, if you have a mature startup (a year or two old, a pile of customers), then some more structured planning might be appropriate.

<comment><USER7> What are the top 3 things you'd want to have handy in Excel when you sat down to a second meeting with a strong-sounding investor, webwright?

<comment><USER6> I didn't have any spreadsheets handy, but I think the best spreadsheet you could have would be growth/traction data rather than prognostication. Without _some_ traction (or a gold plated team), I think fundraising for web startups is a waste of time for the most part. I think the data you should have at your fingertips varies wildly based on what biz you're in and how mature your business is, but off the cuff, I think you should be able to answer (with some supporting wag numbers):

\- How are you going to make money? What if that revenue model doesn't bear fruit... any other ideas?

\- How are you going to reach your customers? How much will it cost to reach your customers?

\- Roughly, how big is your market? Is there a lot of demand?

\- How big a team do you need to test your initial theories and roughly how expensive is that going to be?

\- Are there any other significant expenses aside from people?

\- How many sales/pageviews/whatever would it take for you to be cash flow positive?

I don't good investors ask these questions to test your planning powers... I think they ask them to test how smart you are and how much you've thought about this stuff.

<comment><USER8> You do realize that these answers you suggest people should have amount to a business plan?

<comment><USER6> No, I don't realize that. Go read a book on writing a business plan. :-) Seriously, though-- there's a lot more to a formal biz plan than that.

Being able to toss out some ideas on distribution/marketing is different than having a 2 page section on marketing. Being able to say that you need two more devs to build what you think you need to build in the next 12 months is different from having a 4-stage hiring plan with assorted milestones. Tossing out some ways you could make money is different than a 5-year revenue projection.

I don't think those questions aren't asked because you should have a confident answer to any/all of them. They are asked to confirm that actually think about the issues in question.

It's like agile development vs. waterfall development, IMO.

<comment><USER8> It's only on YC News that business plans are so black and white. The is no international standard on what sections, how many pages, or how many years into the future a business plan must be.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> I just took a 10 week entrepreneur course called FastTrac, there are many local versions of the course throughout the US. I took a version in NYC. The course met once a week for 3 hours and was a great networking and social gathering. It was taught by a Professor at Fordham University who has his own startup company and used to be a VC.

The goal of the course was to teach you how to run a business and complete a working business plan after 10 weeks. Each class had a guest speaker and round table discussions. They focused on a different topic every week: market research, sales, accounting, legal needs, financial projections. I highly recommend the course if you want a crash course in how to write a business plan.

</comment><comment><USER9> A related question, how much is a reasonable salary for a startup founder? Do investors usually assume the founders will be living in squalor, eating noodles and paying themselves nothing until profitability, or are investors usually open to founders that have existing financial commitments - family, mortgage etc.

Probably varies massively, but I've often assumed that investment often requires you don't take a salary, or very much at all anyway.

<comment><USER10> Austin Hill @ StartupEmpire in Toronto suggested that a reasonable VC-funded startup salary is based on needs rather than competitive salary. E.g. living expenses + a little, which means more $ for a CEO with a family & mortgage and less for a 22-year-old. He pointed out that you don't want to starve the CEO or force them to live in squalor because it's just not productive, e.g. the CEO needs to be able to rest well and stay healthy. Some VCs also tossed out $90k-$150k as reasonable salary once the company is able to self-fund that.

</comment></comment><comment> puzzle-out Your in an interesting, slightly unusual position here. That is, the investors have approached you, rather than vice versea. Business plans are normally written for a more general audience - I would find out more about these guys' other investments and see what makes them tick, and weight the business plan towards those interests. This may sound a little manipulative, but as some of the other posts have pointed out, a business plan is a fundamentally an investment-raising document, and in the medium term often has little relevance for the running of the company. But of course you should take a salary, it would seem unprofessional not to.

</comment><comment><USER11> I wonder if Chad and Steve from YouTube had a business plan, or Craig Newmark, or Steve Jobs ?

Don't write a business plan.

Instead spend the time you would have spent on the plan putting together a kickass demo, or working on the product.

Having been approached, you're operating from a position of strength already. You should work that to your advantage - if you don't need the money then you can afford to negotiate more on your own terms.

If some documentation is required put together a Powerpoint of 5-10 slides explaining:

\- Your product, and why it is unique (and defensible to competition)

\- Your team's credentials and experience

\- Your market, it's size

\- Your competitors (including SWOT analysis)

\- Your funding requirements (including salary)

\- Your best and worst case scenarios for growth

<comment><USER12> Chad said at a dinner that when he and Steve made the rounds on Sand Hill road, they had a working product, and users to prove their idea was good. They didn't bring a business plan or any fancy presentations.

<comment><USER13> hmm...I'm not sure Chad Hurley's case is a good example because he had some excellent connections. His father-in-law is Jim Clark of Netscape/SGI fame. I'm sure that helped open doors, and let them be taken more seriously.

</comment></comment></comment><comment><USER14> Good business plans are tough. I was taught at Northwestern by a very successful entrepreneur how to build the presentation, business plan, and financial model.

You need to cover the basics. Here's what my last one covered:

\- Executive Summary

\- Project Information

\- Company Description

\- Market and Industry Analysis

\- Marketing and Sales

\- Operations

\- Management

\- Capitalization and Structure

\- Development and Milestones

\- Financial Projections and Models

\- Summary and Conclusion

It's no easy matter. This was a 30 page plan. I'd love to talk about the breakdown via IM or skype; it's just too much information to put into one comment.

<comment><USER7> Has a 30 page business plan ever directly helped a company you worked on? I'm not challenging you, I'm genuinely interested.

<comment><USER14> It helps get money, period. I organize things via basecamp and wikis, not by a business plan.

Business plans are a VC marketing tool for me.

</comment></comment></comment><comment><USER15> TicketStumbler is my third business and the closest thing I've ever done to a business plan is the YC application form. Know what problem you're solving, why you're solving it, who has this problem, how you're going to solve it and (maybe) monetization options.

I think a business plan could be important if you're looking to take gobs of money, but your query makes it sound like the investors are angels. Maybe providing more details would help everyone provide further feedback?

</comment><comment><USER16> John Nesheim sells an Excel spreadsheet ($25) for creating financial projections. My background doesn't include accounting so it was a big help, factoring in many things I wouldn't have thought to put in our plan. I used it successfully to raise my first round of funding.

<http://www.nesheimgroup.com/quickup_model>

(The financial projections are just one component of your business plan, of course.)

</comment><comment><USER17> I think that depends on if you need the salary for the timeframe in your plan. The investors want to make sure you'll be around to see the startup succeed so unless you're independently wealthy (or at least have enough to cover yourself for a few years) I'd include it.

</comment><comment><USER18> Your salary should be basic, covering your costs and giving you a bit of spending money. This assumes you're working full time for the startup. Remember that the bigger picture is equity.

Some good tips here: <http://blog.guykawasaki.com/2007/07/how-to- write-a-.html>

Whatever you do don't spend a month writing a 60 page document. Keep it short and sweet. Use lots of bullet points / bold highlighting to ease readability. No complex multi-idea paragraphs. And most of all, just answer the key questions.

Good luck.

<comment><USER7> Do we believe Kawasaki on this one? He says, paraphrasing, "a pitch is a great communication tool, but no substitute for a plan", which he says you should write in 12 point type for people over 50. I feel like webwright at least would contradict this advice.

</comment></comment><comment><USER19> Business plan is the biggest piece of bull crap. You should know your business or do whatever it takes to learn it and persist - that is the only thing that is required and a smart investor will get that and ask the right questions.

Still, write it if you think that it will get you the money and then promptly discard it, or better still ask them to write it - obviously if they understand enough they should rely on their numbers more than anyone elses.

If they say that your business plan is not good enough, ask them to shove it up their sorry ass.

</comment><comment><USER20> I'd start by getting the budget and forecast together, and then write the executive review. Get some feedback on it, and then pass it to the investors.

Go from there. You'll get an idea from the feedback and from what the investors say to know if you should proceed writing the entire plan, maybe they will find some holes in it, etc. etc. Then if they still want the full plan in writing, go write it. You'll probably learn a ton just in the process of writing the executive review.

</comment><comment><USER21> I'll second mattmaroon's comments and say that you're probably barking up the wrong tree. You should try to self-finance or go after love-money (family and friends) first. Once you have traction and revenue a commercial or short-form business plan might make more sense - until then it's all wishful thinking.

With that said I have found SWOT (Strengths, Weaknesses, Opportunities, Threats) analysis to be a useful tool...

Cheers

</comment><comment><AUTHOR> To clarify, I work for a software consulting company. The potential investors would be the directors of this company. They themselves, have sold a startup for millions... What would u do?

</comment><comment><USER22> Is your website <http://www.sendible.com/> (your first HN submission and the only one that isn't a question)?

</comment><comment><USER23> > I've been approached by some investors who want to invest in my startup. > They've asked me to put together a business plan - listing costs/revenue > etc.

Are said investors paying enough for what they want? Or, would you be better off doing something else?

I'm assuming that you have enough of a plan to run your biz and enough accounting to know what's happened in the past.

If that information is not what they want (and "not what they want" includes "we need it in a different format") or they don't understand what you've got (assuming that you're willing to share a redacted version), why do you want them as investors?

</comment><comment><USER7> Instead of writing a full-on business plan, which is a huge waste of time, consider coming back to them with a set of spreadsheets. I've had to do business planning work for products I managed, and what the CEOs wanted was Excel. You might look _more_ professional for not coming to them with a three- ring binder.

With that said, and with the _huge_ caveat that while I've done this before, my advice might not be the current hotness:

(.) You need a table for revenue growth, quarter by quarter, in your case probably based on users and conversion rate scenarios.

(.) You might consider a seperate table for pricing; of all the things you write in the plan, pricing is the most likely to change, but do a couple scenarios, keep conversion/close rate in mind.

(.) If it makes sense for your product, segment the market and get that in a table; you might do, "home office", "small business", "enterprise", and have a pricing/phase-1/phase-2 revenue scenario for each model customer based on your pricing. Include a SWAG total addressable market size (there are, say, 2000-4000 "enterprises" to sell to).

(.) You can do a schedule table, quarter by quarter, and use it to set a conversion rate for each market segment, to chart featuresets in your product, when they'll be released, and what releasing them will do to your cash flow.

(.) If you have significant marketing expenses, break them down into line items quarter by quarter, showing some things kicking in later. You can break this down by outreach mechanism (direct mail, blogging, AdWords, research).

(.) You need a table for headcount; we just SWAG a common (somewhat lowball) fully loaded cost for everyone from management to QA; remember fully loaded adds (say) 30% for taxes, health insurance, and equipment/office/overhead.

(.) You need a table for all your expenses, quarter by quarter, which should include headcount, a line item for hosting/bandwidth/server/etc, marketing,

(.) I'm probably missing something, but with all that, you should be able to do a final seperate sheet, call it "use of proceeds", broken down by engineering, opex (hosting etc), sales, and administrative costs, quarter by quarter, against revenue.

Of all the things you "plan" now, pricing is the most likely to change, so don't get too hung up.

Lowball your headcount. Don't include anything you could reasonably outsource (like accounting, HR, graphic design).

Do you want to take a salary? What I think is, lots and lots of people pitch investors saying they'll forego salary; it's a cliche. You might look more serious if you're up front.

This is all going to sound over the top, and that's because it is, but on the other hand you're not going to _do_ any of these things (price a product, figure out how many people to hire next month, allocate dollars to anything but AdWords) without these spreadsheets. A bunch of this stuff is optional (don't do a marketing plan if your marketing plan isn't crucial; maybe don't do a product schedule if long term product vision isn't a huge part of your pitch --- the schedule will embarass you 2 months from now).

</comment><comment><USER24> Business Plan Pro is AMAZING :-)</comment>


Deadlocked - <AUTHOR> http://www.codinghorror.com/blog/archives/001166.html

<comment><USER2> I don't know exactly what Joel and Jeff are doing so I feel bad criticizing but...

Avoiding deadlocks, starvation, race conditions, etc is difficult. But a good hacker should be able to think his or her way through. A piece of paper helps. Eventually you should be able to convince yourself you've got the right solution and then just make sure you're using the right tools, like PostreSQL and FreeBSD ;-)

This whole no lock is no problem, the server we're using is too aggressive in locking, seems like a bit of voodoo programming.

</comment><comment><USER3> What does it say that people like Atwood, who presumably would have no difficulty writing threadsafe synchronization code in a typical application, are stumped when trying to do the same thing in a database? Database server synchronization primitives are just awful, sorry. They're completely opaque, highly implementation-dependent, and the only way to see the innards and optimize what's _really_ happening is to become an expert at the database implementation level.

</comment><comment><USER4> Not once does he even mention looking at the query plan. SQL server will tell you exeactly what it's doing to run a query, and from that you can tell what's blocking.

My guess is the update is trying to update an index the select wants to use. Updates that span two pages can give rise to deadlocks like this, where the select has a read lock on one page, and the update has an x-lock on the other.

None of this is magical.

</comment><comment><USER5> If I read this correctly, does this article say that an Update statement is blocking selects? Does SQL Server really work like this?

My expertise is in Oracle - readers don't block writers and writers don't block readers. Infact writers don't block other writers unless they are updating the same row. I think MySQL works the same way as Oracle in this regard.

I find it hard to imagine building a performing web application on top on a database in which writers block readers!

<comment><USER6> SQL server now has row versioning like Oracle, so that writes won't block reads, and you don't have to read dirty data (you just read data how it was before the write started). I think this is not turned on by default because it has a performance hit. Also I can't remember if it's new to 2005 or 2008 versions and can't be bothered to look it up.

<comment><USER7> It's new to 2005, and though it's not turned on by default, it damn well should be as it is in Oracle and Postgres. Multi version concurrency control (i.e. writers not blocking readers) is old hat in the db field. Prior to 05, you just liberally sprinkled (nolock) on your selects and accepted that you may get a dirty read but that it was better than the db falling over with over aggressive locking.

<comment><USER5> Its even turned on in MySQL if you are using innodb tables too!

</comment></comment></comment></comment><comment><USER8> Why didn't he put that on stackoverflow?

</comment><comment><USER9> Not sure if that's the case or not, but while he complains about SQL Server's default locking strategies, it doesn't seem like he has tried running his queries using any non-default ones.

In the end he goes with read comitted snapshot isolation level which I agree sounds like overkill and an unnecessary load on tempdb, but from reading his post, it seems he has honestly never heard of the SQL Server way of doing things trough setting and using regular transaction isolation levels, as opposed to the no lock hint he for MySQL and Oracle.

I might be wrong, but to me this honestly seems like a case of not knowing your tool and how to use it properly.</comment>


Harmful Gotos, Premature Optimizations, and Programming Myths - <AUTHOR> http://videlalvaro.github.io/2015/02/programming-myths.html? <comment><USER2> Once I had to port a large legacy FORTRAN program to a Unix box. It was structured entirely with goto, no procedures, functions, or control structures - just thousands of lines of code with gotos. It was doing some complicated iterative engineering calculations, goto loops inside of goto loops, gotos jumping outside of the loops, jumping back in, etc. It was obvious somebody kept tinkering with it over the years, adding new gotos to make some new features work.

Very hard to analyze what was going on, very hard to refactor, very hard to reason about this program.

I was able to break out some parts into functions, and turn some gotos into loops, but for the most part it resisted my efforts.

This is what Dijkstra was complaining about - programs that resisted proofs because they were hard or impossible to decompose. He was not pedantic about goto.

You shouldn't worry about a goto here and there when it makes sense.

<comment><USER3> _Once I had to port a large legacy FORTRAN program to a Unix box. It was structured entirely with goto, no procedures, functions, or control structures - just thousands of lines of code with gotos._

I had to do something like that once. I printed out the program on fanfold paper, took over a conference room with a long table, and traced out the control flow with colored markers. I was able to fix the program. That was not fun.

I have never coded a goto in any language since the days of FORTRAN and assembler. If I need to bail out of the middle of something, I'll use a break or a return, even if this requires encapsulating a loop in a function.

Note that languages with nested functions facilitate programming without "goto". When you need to encapsulate something which may require a bailout, it's easier.

Rust does nested functions well. The compiler can tell whether a nested function references an outer scope and thus needs to be a closure. If the function doesn't, an ordinary function is generated.

<comment><USER4> The trouble comes when you need to clean up resources while bailing out. Exception handlers and RAII are great for this, but when you don't have such features available, goto is pretty handy:

[https://github.com/kstenerud/KSCrash/blob/master/Source/KSCr...](https://github.com/kstenerud/KSCrash/blob/master/Source/KSCrash/Recording/Sentry/KSCrashSentry_MachException.c#L340)

If I ever had to add more resources or steps into the mix here, I'd be in a world of hurt pretty quick if I were using a complicated nest of breaks and if-else. One could forcefully encapsulate each step into a separate function, but then you start to trend towards a forest of tiny little trees that you're not even sure what to name anymore, and the overall structure of the function and what it's doing become muddled.

<comment><USER3> It's hard to do right. RAII handles initialization fine, but error handling in the destructors is hard. Raising an exception in a destructor seldom ends well. Go's "defer" has the same problem - what do you do if there's an error in a deferred call? Most languages with exceptions have problems in this area.

Python's "with" clause seems to be the best solution so far. The "with" clause calls __enter__ at the start and __exit__ at the end. The __exit__ gets called no matter how you leave the "with" clause. This includes exceptions and returns. Importantly, there are parameters to __exit__ which provide information about what's going on when an __exit__ is executed because of an exception. Exceptions in __exit__ can be handled and passed on, even for nested "with" clauses. Writing a proper __exit__ is a bit tricky, but that's typically done only for standard resources such as files, connections, and locks.

So nested error handling via exceptions can work well if the scoped open mechanism ("with") and the exception mechanism play well together. It took a decade to get that retrofitted into Python, but in the end, it worked well.

Rust's error types are sound, but result in rather bulky code. I've written on this before.

</comment></comment></comment></comment><comment><USER5> The author would have done much better if, rather than poking sticks at those who wish to forbid gotos, and posting vague and generic quotes about memes and cargo-cults, they had provided several examples of code wherein the use of gotos was a decided improvement, in terms of speed and clarity, over the best that could be done without it. Anyone who has read code that has been twisted out of shape, or entagled with unecessary "done" flags and the like, and who can be improved with such remonstrations, will recognize the virtue in this point of view.

<comment><USER6> > _The author would have done much better if, rather than poking sticks at > those who wish to forbid gotos, and posting vague and generic quotes about > memes and cargo-cults, they had provided several examples of code wherein > the use of gotos was a decided improvement, in terms of speed and clarity, > over the best that could be done without it._

He would have only done better by doing that if his goal was to merely educate people that goto can be good too.

Which is very far from being his goal.

<comment><USER7> Would you think [http://bit.ly/recurse-iterate](http://bit.ly/recurse-iterate) does an okay job of working toward that goal?

</comment></comment></comment><comment><USER8> There was a similar blog post a while back about the standard deviation in statistics. About how when the SD was discovered, the original paper was full of disclaimers that the SD should only be used by statisticians working with perfect distributions. The squaring would amplify the natural outliers present in real-world data and make the SD too dangerous to trust. And yet we use the SD for everything, even though the original reason for it (a computation shortcut to save hand-labor) is pretty much meaningless.

I have a copy of the original paper but the paper lacks the historical perspective of the post. I've never been able to find that blog post again. Does anyone remember what I'm talking about?

<comment><USER9> I kind of remember SD being used because it has the same units as the samples in the distribution.

<comment><USER8> Nope. The alternative (mean average distribution) also has the same units. The problem with the MAD was that it used an absolute value and so introduced a discontinuity. If you are a mathematician working with a system of equations, each discontinuity doubles the size of the system when taking integrals/derivatives. The SD was a clever hack to hide the discontinuity. It makes the mathematician's job of juggling equations much easier by changing the workload from O(n^2) to O(n). If you are not doing calculus on the system then the SD has much less utility. Negative utility even, because the square/square-root hack used by the SD is identical to the MAD only for perfectly normal distributions. For real-world distributions it tends to give wrong results.

</comment></comment></comment><comment><USER4> I've always stuck to my guns with goto, and will continue to do so. Any sufficiently large C codebase will have some areas where goto makes the code cleaner, less error prone, and easier to refactor (most commonly in error handling code).

<comment><USER10> goto is merely a tool that got a bad rap simply because it has its roots in basic assembler, back before structured programming was a thing. I agree with you regarding its use, but I'm still surprised by just how many seemingly educated programmers jump onto the "never use goto" cargo cult because of a paper title that they misattribute to Djikstra.

Ironically, from the code I've seen, I don't think I've ever seen anyone actually _misuse_ goto, probably because the people who use it actually know what they're doing. That's just anecdotal on my part, but still.

<comment><USER11> > I don't think I've ever seen anyone actually misuse goto

I've lived through the 80's, when 8-bit Microsoft BASIC was a popular programming language. Misuse of GOTO's was quite common, albeit unavoidable.

<comment><USER12> If it was unavoidable, what made it "misuse"?

<comment><USER13> Worse case, imagine a GOTO at the end of each line of code.

There was no lexical scoping in BASIC [1] (and all variables were global but that's another topic) so one could literally GOTO any point in the program.

[1] I'm talking about the BASIC one found on most 80s home computers at the time.

</comment></comment></comment></comment></comment><comment><USER14> I grew up coding in line-numbered, Disk Extended Color BASIC on a Tandy Color Computer 3 for a number of years, before graduating to QBasic.

The thing I look back on about "goto" and "gosub" is that, within the confines of what those simple control structures offered, much of my code wasn't actually _structured_ that differently from what I would go on to write in more procedural languages down the road.

If you factored out most of my programs into pseudocode (allowing for limitations like global-only scope); the result would pretty much look like any QB or C program seeking to tackle the same problems, with main loops, clear procedural calls, etc. It was even idiomatic in those days to reserve a var or even a point in memory to take that gosub's "arguments".

The result of which is that when I did move up to QBasic, it was a pretty simple, easy transition, because it basically just allowed for a cleaner way of writing in the style I was already hacking together with DECB's primitive tools.

Good programming patterns emerge because they're the most efficient way of doing things. Goto is just another tool to do what a body needs to do.

<comment><USER15> I don't think BASIC is even capable of expressing what programmers do these days. Maybe top-level app cut-and-paste logic. But not anything complex like libraries and data structures etc.

<comment><USER6> Have you looked at modern BASICs?

</comment></comment></comment><comment><USER16> Wow, the comments on this post really do sum up his points in this article. The whole article isn't about goto at all, but about programming myths and how they perpetuate and how HN is just allowing us to be more lazy by only reading the titles to posts. Why is nobody discussing the actual intent behind this article, which is how myths and, slightly related, programming myths begin and propagate throughout our education and culture.

Instead, ITT, gotos are bad and here's why, gotos are ok and here's why, gotos are good and here's why.

</comment><comment><USER17> Suddenly, I feel like I should spend a heck of a lot more time reading classic papers, books etc.

</comment><comment><USER18> This was a fun read, though I am unsure of what the conclusion really is. Even Knuth ended by going on about how he probably wouldn't use goto statements. He just likes building a foundation of really fast/efficient techniques.

So sure, many of these things are mythical in scope and lore. But... the gist of many of them are not so misunderstood as to be wrong.

<comment><USER19> I guess the point is that discussions like the linked github issue ([https://github.com/igorw/retry/issues/3](https://github.com/igorw/retry/issues/3)) should be over after 2 comments, not after a 196 comment flamewar. If we criticise some programming technique we should first ask ourselves if that technique is actually harmful in that context.

And then there's of course the greater narrative about the state of the industry, people chasing easy mantras instead of computer science, programmers ignorant of programming history, cargo cult programming etc.

</comment></comment><comment><USER20> a good discussion on "goto considered harmful" here: [http://stackoverflow.com/questions/46586/goto-still- consider...](http://stackoverflow.com/questions/46586/goto-still-considered- harmful)

in short, it's not a golden rule that some people seem to think it is.

</comment><comment><USER21> I'm curious about the statement: "For example, more often than not we see blog posts by people claiming to have beaten the CAP Theorem. A mathematical theorem…"

I've never seen any actual mathematical proof of CAP - only a great deal of ( mostly well founded ) engineering conjecture.

Has anyone actually produced any mathematical proof of CAP?

<comment><USER22> _Has anyone actually produced any mathematical proof of CAP?_

Great question!

This presentation, linked by the article, explains the misunderstanding: [https://www.youtube.com/watch?v=Wp08EmQtP44#t=1273](https://www.youtube.com/watch?v=Wp08EmQtP44#t=1273)

The paper you are looking for is this: [http://dl.acm.org/citation.cfm?id=564601](http://dl.acm.org/citation.cfm?id=564601)

Also available here: [http://webpages.cs.luc.edu/~pld/353/gilbert_lynch_brewer_pro...](http://webpages.cs.luc.edu/~pld/353/gilbert_lynch_brewer_proof.pdf)

</comment></comment><comment><USER23> I have cited Dijkstra's paper several times of late. Usually, it's because of asynchronous callbacks and the new paradigm of nesting callbacks many, many layers deep until state, thread-safety, and side effects become almost unmaintainable.

Many believe the problems are solved when nesting is concealed using named functions. It alleviates deep indenting, but it may make the code jump around while still dealing with shared state, propagating errors, and threading issues.

I have argued that callbacks are becoming the new GOTO statement-- useful in some contexts, but frequently overused in ways that were never intended. The result is "spaghetti code" that is difficult to follow and maintain. This paradigm has led to the popularization of the term "callback hell."

</comment><comment><USER24> I think there are extremely few cases when goto is justified in C++. Unlike C, C++ provides plenty of mechanisms to cleanup when exiting a function early. And as for breaking out of multiple loops, a "done" variable is not that bad.

</comment><comment><USER25> Also the premature optimisation quote is not taken out of context, unless he doesn't think "premature" means the same as everyone else.

<comment><USER26> It's the extreme that people take that quote to that causes the problem. He explicitly mentions library development as a place that you always want to optimize, because libraries are often used in inner loops.

When developers totally ignore optimal code practices, bad things can happen. Things like 25000 (!) string allocations for _each character typed_ in the Chrome "omnibox". [1] That's not likely one small bit of code with a few std::string's being allocated, but probably dozens or hundreds of (albeit minor) fixes spread throughout the code.

It is absolutely worthwhile to code optimally as a habit, when the optimal coding practice isn't significantly harder to implement or understand than the suboptimal practice. (In the above case, having a "pass all strings as const references" would have likely prevented most of the allocations.)

Similarly, the way you architect a product can strongly influence how easily it can be optimized. I've cut processing time down from 10's of minutes to under a second on some tasks, just by improving how the code was written -- and that approach means that when I write servers, I can handle all the likely traffic I'll ever see on a handful of servers instead of having to create additional layers of complexity to handle dozens of servers working in parallel.

So I disagree that "premature" optimization is a bad thing, by the typical definition of "premature."

[1] [https://groups.google.com/a/chromium.org/forum/#!msg/chromiu...](https://groups.google.com/a/chromium.org/forum/#!msg/chromium- dev/EUqoIz2iFU4/kPZ5ZK0K3gEJ)

<comment><USER27> I think the point is that you can optimize while writing code, but be leery of optimizing while _designing_. To a greater or lesser degree depending on the person, task or goal, designing and coding may end up being close to the same thing, which confuses the issue.

In real terms, writing perfomant code is good, but packing data structures in interesting ways and optimizing in other manners when you aren't even sure you know all the data you need to store yet is often counter-productive.

<comment><USER26> I think optimizing while designing is totally appropriate. In fact you can make some of the most powerful optimizations at the design stage, with almost no additional effort required.

Should you go down a rabbit hole, spending hours optimizing something because you think it might help? No, of course not. To my reading, __that __is what the warning is about.

But when you're designing a system, especially one that you _know_ needs to be fast, should your design be optimized from the ground up? Yes, in some cases at least. [1]

When I code, I choose to use languages (C++, Go, LuaJIT, JavaScript/Node) that allow me to write code that ends up faster. Some people will cite "premature optimization" based solely on that decision, and they'll write their code in Python, or PHP, or Perl, or Ruby. [2] Since my servers will handle 3000 user interactions per second with no caching, I still contend that this is an appropriate stage for optimization.

I've seen projects _fail_ because the server requirements were too high: 100 concurrent users per Python-based server on a free-to-play game meant that if the app took off, it would be losing money because of the costs of running hundreds of servers. You can't just "optimize" the app if the problem is you need to rewrite it in a completely different language. Computer time in the cloud may seem cheaper than programmer time, but in practice if you pay the programmers up front to do it _right_ , you can cut ongoing operating costs _indefinitely_. And sometimes that can mean the difference between a project that succeeds and one that fails.

[1] [http://gamesfromwithin.com/data-oriented- design](http://gamesfromwithin.com/data-oriented-design)

[2] It looks like at least Ruby has a server that uses a similar strategy to Node or Nginx+LuaJIT: [http://www.akitaonrails.com/2014/10/19/the-new-kid-on- the-bl...](http://www.akitaonrails.com/2014/10/19/the-new-kid-on-the-block- for-ruby-servers-raptor) \-- but Ruby and Rails are ugly for a million other reasons, in addition to being slow, so I still would shun it.

<comment><USER27> I would contend that in the successful cases where you are optimizing from the beginning, you are actually doing a two stage process, one design stage where you figure out what you need, and another where you figure out how to do that efficiently and fast. To some degree, it's semantics (when is optimization _not_ design related?), but my point was that optimization before nailing down the requirements for that component is what leads to problems. I think that's the _premature_ in _premature optimization_ , when you spend time optimizing something you aren't sure will even survive a later point in the design stage.

<comment><USER26> > I think that's the premature in premature optimization, when you spend time > optimizing something you aren't sure will even survive a later point in the > design stage.

That's true enough, though it doesn't seem to be the original point, since the context refers to optimizing parts of the code that aren't taking most of the time.

Which _is_ a danger, but I think the danger is in wasting time on such optimizations, either up front or through increased complexity.

</comment></comment></comment></comment></comment></comment><comment><USER28> Rules are meant to be broken. Once you have sufficiently understand the reasoning behind the rules, feel free to break them when appropriate. People being dogmatic about some rules just see all problems as the same nail that can be hammered by a single hammer. It's intellectually lazy to not analyze the problem within the present context and to see how the rules are applied or not applied.

</comment><comment><USER7> Oh, this is a timely discussion. I just wrote an article on this topic: [http://bit.ly/recurse-iterate](http://bit.ly/recurse-iterate). What I thought was good about go to statement was that it helps us understand how recursion works and how one can eliminate it in favor of iteration.

</comment><comment><USER29> To decide whether to optimise/not optimise or use goto/avoid goto you need some amount of experience. Thus, people with no such experience resort to the rules of thumb (don't optimise, don't use gotos). From there it's a little step to trying to impose the rule dogmatically on the others.

</comment><comment><USER30> Hopefully the article doesn't fall prey to exactly what it discusses.

</comment><comment><USER31> I feel the same with syntactic sugar. Every feature added to a programming language it's a new source of potential errors. I prefer write two lines of nice code, than one line of magic tricks.

</comment><comment><USER32> I don't think using goto decides if a person is a good programmer or not. Goto statements make a lot more sense at times and they are alot of times faster than alternatives.

</comment><comment><USER33> I wouldn't implement goto in a new programming language. Not because it's never useful, but because it's only very rarely needed, and it's very existence means that it's easy to misuse it. Programming languages should be minimalistic and rarely needed features should be cut away. I've read similar reasoning from Eric Lippert when he was still designing C# features (which is not the best example, as C# is rather bloated).

Of course, the "should we use goto" question is different from "should we implement goto in new programming languages".

<comment><USER4> `it's very existence means that it's easy to misuse it`

However, few people actually do: [https://peerj.com/preprints/826v1](https://peerj.com/preprints/826v1)

<comment><USER33> In C at least. Anyway, that's probably due to the significant amount of discussion about goto. Perhaps "ironically" goto is a good feature only because it's criticized enough so that it's typically used correctly?

<comment><USER34> > Perhaps "ironically" _goto is a good feature_ only because it's criticized > enough so that it's typically used correctly?

there are no good/bad features, there are only good/bad programmers.

</comment></comment></comment></comment><comment><USER25> Author states that Big O notation is to measure algorithmic complexity, that's simply not right. It is to measure runtime - a completely different metric.

<comment><USER35> The article states that Big O notation is used to analyse algorithm complexity and that's correct - it's to analyse the time complexity of an algorithm.

<comment><USER36> It can also be used to analyze space complexity. So generically saying "complexity" is also correct.</comment></comment></comment>


Ask HN: What should I read after "Gödel, Escher, Bach"? - <AUTHOR>

There are tons of book recommendation lists all over the place, but I can't seem to find anything quite like GEB. I read in bed and don't really want a book about math, a programming language, or development methodology—I love such books, but they're generally designed to be followed along with like a textbook.
I don't want something extremely challenging intellectually—what I want is something intellectually expanding that can be read in huge chunks (similar to fiction, although I'm generally not into fiction). That's exactly what I loved GEB for.
Have you read any other Hofstadter books? I know he says that subsequent books of his express the themes of GEB even better than GEB itself did, but I'm afraid they might end up being repetitive.
I've sought out books about the subjects I love: decidability, completeness, theory of computation, statistics, automata theory, language/compiler design, etc. but they've all been too rigorous to read before sleep. For those of you that loved GEB, what else do you love? <comment><USER2> I just came across Hofstadter's "I am a Strange Loop" ( <http://en.wikipedia.org/wiki/I_Am_a_Strange_Loop> ) in the library for the first time today. I personally care about his ideas of strange loops very much, but since it's his attempt (20 years later) to clarify and expand his central theme in GEB, it should be appealing to people who liked his writing there.

(Note: I haven't actually read it, just got to flip through sections for a few minutes. It seems to be a nice mix of Hofstadter's personal stories and ideas, and I liked the writing, so I intend to read it soon.)

An for "similar to fiction, although I'm generally not into fiction" have you looked into narratives of science? They can be written with the fun aspects of historical fiction, but you come out with knowledge about real events. My favorite that comes to mind is "The Measure of All Things" about the history of the meter: [http://www.amazon.com/Measure-All-Things-Seven-Year- Transfor...](http://www.amazon.com/Measure-All-Things-Seven-Year- Transformed/dp/074321675X)

<comment><AUTHOR> The new foreword by Hofstadter in GEB made "I Am a Strange Loop" sound very appealing. That foreword almost seemed like an admonition to _not_ read GEB and instead check out his later books.

I was not aware of this subgenre. I will certainly look into it. Thanks.

</comment></comment><comment><USER3> "Metamagical Themas" by Hofstadter is a great follow up. Also, for intellectially expanding + can be read in huge chunks: try "Permutation City" and other Greg Egan sci-fi.

</comment><comment><USER4> 'The lifebox, the seashell and the soul' by Rudy Rucker.

<http://www.rudyrucker.com/lifebox/>

It has the same sort of feel as GEB, he riffs about cellular automata etc, its not too demanding while still giving enough to meditate on for a few days.

<comment><AUTHOR> Bingo. I'm diving into the book sample and already enjoying it. Thanks.

</comment></comment><comment><USER5> Not exactly related but my current pile includes Carl Sagan's Cosmos which I recommend.

</comment><comment><USER6> Well, I never read Gödel, Escher, Bach, but Metamagical Themas by the same author had some interesting ideas.</comment>


Show HN: Setup a plug and play back end for your next app - <AUTHOR> https://heroku.com/deploy?template=https://github.com/DevlessTeam/DV-PHP-CORE/tree/heroku2 <comment><USER2> I think the page should tell us a little more about what it is doing before it asks us to sign up.</comment>


Dan Goodin chat with Veeam on MS patch delay and my comments - <AUTHOR> https://arstechnica.com/security/2017/03/microsofts-silence-over-unprecedented-patch-delay-doesnt-smell-right/?comments=1&post=33006753#comment-33006753 <comment><AUTHOR> Forum post I am referring to is [https://forums.veeam.com/veeam-backup- replication-f2/after-t...](https://forums.veeam.com/veeam-backup- replication-f2/after-the-refs-4k-horror-story-new-problem-t40720-15.html)

Post by Mary Jo Foley mentioning build problem: [http://www.zdnet.com/article/microsoft-delays-its-usual- patc...](http://www.zdnet.com/article/microsoft-delays-its-usual-patch- tuesday-updates/) [http://www.zdnet.com/article/microsoft-to-delay-its- february...](http://www.zdnet.com/article/microsoft-to-delay-its-february- patches-to-march-14/)</comment>


Show HN: Objective-C, a new beginning (new compiler, new runtime) - <AUTHOR> https://mulle-objc.github.io/ <comment><USER2> I really love Objective-C, I hope it will never die :) thanks

<comment><AUTHOR> This project hopes to improve ObjC's shot at immortality :)</comment></comment>


Closos: Imaginary Lisp OS - <AUTHOR> http://bywicket.com/users/mikel/weblog/fbc2a/Closos.html

<comment><USER2> It's a wonderful idea.

If the MIT folks decided, today, to build a Lisp Machine, what would it look like? What would future LMI and Symbolics turn into? How would that affect the way we work?

And, while I am at it, what would a Debian GNU/Plan9 or a Ubuntu Plan9 look like?

Would it be more successful if it looked more like a traditional Unix desktop and exposed its sophisticated internals only to the power-user?

<comment><USER3> A lot of applications today end up running on top of at least two layers of virtualization - VMWare ESX/HyperV providing guest operating system instances that then run the application based on something like the JVM or CLR.

I've wondered whether these two virtualization layers could be combined so that you end up with a hardware-abstracton VM sitting right on top of the metal and then you write the bulk of your OS on top of that (which could then be based on something far removed from the hardware, like your CLOSOS).

NB I'm a huge fan of CLOS - but factoring in security to a shared CLOS like environment would presumably be a nightmare. Maybe each OS level application could morph into something more like a guest OS in a virtualized environment...

</comment></comment><comment><USER4> I think the concept of a lisp OS is a type error. Lisp has interpreters and runtime systems, that run on operating systems. However, Plan 9 suggests ways those interpreters could be better structured.

The core features of Plan 9 are that programs interact with their environment by naming things, that names refer to whatever programs or their interpreters mount on them, and that interpreters have a protocol to pass the buck to another progam when they don't know what a name means. To me, those ideas suggest a sequence of titles such as "Mount: the ultimate module system" and "Mount by wire protocol: the ultimate foreign function interface". I don't know what papers would have those titles.

The idea would be to decouple lisp interpreters and dialects from lisp libraries. If you could mount any functions that your favorite interpreter lacked, then diversity would cause smaller problems. You could write a single Apache plugin in C that spoke the apply protocol, and suddenly every lisp would support the mechanics of HTTP. Or, the web parts of your program could run in Arc on a PC, and mount procedures written in common lisp and running on a supercomputer for the number crunching. The various lisps might have enough in common to make those things work.

</comment><comment><USER5> Isn't there already a "lisp OS" called emacs?

 _ducks flying debris_

<comment><USER2> I guess one could write an acme mode for emacs ;-)

</comment></comment><comment><USER6> "One lesson of Plan 9 is that the right organizing metaphor is extremely powerful."

This sounds like a fundamental idea. Can anyone offer some more real life examples?</comment>


Cybersecurity Researcher Hailed as Hero Is Accused of Creating Malware - <AUTHOR> https://www.nytimes.com/2017/08/03/technology/cybersecurity-researcher-hailed-as-hero-is-accused-of-creating-malware.html <comment><AUTHOR> Other discussion: [https://news.ycombinator.com/item?id=14922563](https://news.ycombinator.com/item?id=14922563)</comment>


How Buffet accumulated his wealth without deep knowledge of math or Fin Engi? - <AUTHOR>

Hello , I am learning more about Buffet and how he accumulated his wealth.  Does anyone have insight on how managed to do it without deep Maths knowledge or without machine learning or finance engineering ? <comment><USER2> The short answer is that Warren Buffett combined quantitative aspects of investing (ie., Ben Graham) with qualitative aspects of investing (ie., Philip Fisher).

To get a better idea of these two approaches: Read Ben Graham's book: [http://www.amazon.com/Intelligent-Investor-Definitive- Invest...](http://www.amazon.com/Intelligent-Investor-Definitive-Investing- Practical/dp/0060555661)

and Read Philip Fisher's book: [http://www.amazon.com/Common-Stocks-Uncommon- Profits-Writing...](http://www.amazon.com/Common-Stocks-Uncommon-Profits- Writings/dp/0471445509)

Both are good reads.

</comment><comment><USER3> If I recall correctly Buffet studies Economics at the University of Chicago. His knowledge of math may be much deeper than you expect.

</comment><comment><USER4> I think whole cost of capital think is pretty wack. Finance is a lot of funny math.

</comment><comment><USER5> i heard only that he took advantage of families struck with unexpected inheritance taxes. All this other stuff is wicked interesting. Great post!

</comment><comment><USER6> Hello I have been here trying to get this but I could'nt if any one here know it how to buffet his wealth let me no</comment>


Jeff Bezos Interview with Walter Isaacson [video] - <AUTHOR> https://thescene.com/watch/vanityfair/the-new-establishment-summit-the-power-of-jeff-bezos <comment><USER2> Jeff Bezos is a great conversationalist, this was a joy to listen to. Not to mention Walter Isaacson is a great interviewer, very comfortable, asks good questions.

</comment><comment><USER3> Thirty-three minutes in, he comments about how he would have handled the Donald Trump/Peter Thiel noise that's been going around HN.

<comment><USER4> It almost sounds like Zuckerberg came to him for advice and Z took it.

</comment></comment><comment><USER5> The Scene also has a bunch of other interviews (for instance with Eddie Cue, Priscilla Chan,etc) in the series that are very interesting too. Check them out on the right hand film strip

<comment><USER6> Sorry this comment does not have a ton of content but I cant find a posting date on the video, are these new?

<comment><USER7> The page source has a meta tag with the upload date:

        <meta content='2016-10-14T21:09:46+00:00' itemprop='uploadDate'></comment></comment></comment>


Deploy your site without downtime using a web proxy written in node.js - <AUTHOR> http://pgrs.net/2010/2/1/web-proxy-in-node-js-for-high-availability

<comment><USER2> If you're using Varnish for caching then it's also possible to serve 'stale' cache entries whilst the upgrade is being done.

I have a few customers that use this when doing schema changes. Obviously, this relies on cached data being useful for your site, but for many applications a stale cache is massively preferable to an error message.

<http://varnish-cache.org/wiki/VCLExampleGrace></comment>