I made my own clear plastic tooth aligners and they worked - <AUTHOR> http://amosdudley.com/weblog/Ortho <comment><USER2> Not to be a downer, but was any thought given to the safety of the plastic(s) used?

This is something that's in your mouth a lot and constantly exposed to saliva.

The _Dimension 1200es_ mentioned doesn't appear to be specific to medical applications.[0] The product page lists the only compatible thermoplastic being _ABSplus-P430_. The MSDS for that basically says the stuff is dangerous in molten form, and beyond that there's very little data.[1] The same company makes "Dental and Bio-Compatible" materials for use with their other products, and these appear to have considerably more safety data.[2]

> _The aligner steps have been printed, in addition to a "riser" that I added > in order to make sure the vacuum forming plastic (sourced from ebay) ..._

As another commenter pointed out, the vacuum forming plastic is probably the primary concern because the 3D printer was just used to create the molds. The specific type of vacuum plastic isn't mentioned.

Regardless, very neat project.

[0] [http://www.stratasys.com/3d-printers/design- series/dimension...](http://www.stratasys.com/3d-printers/design- series/dimension-1200es)

[1] [http://www.stratasys.com/~/media/Main/Files/SDS/P430_ABS_M30...](http://www.stratasys.com/~/media/Main/Files/SDS/P430_ABS_M30_ABS_Model/SDS- EU-P430-US-English.pdf?la=en)

[2] [http://www.stratasys.com/materials/material-safety-data- shee...](http://www.stratasys.com/materials/material-safety-data- sheets/polyjet/dental-and-bio-compatible-materials)

<comment><AUTHOR> I used Keystone PROFORM .030" Retainer Material. Keystone is a dental supplier, so I trust the plastic is biologically inert.

<comment><USER3> This whole issue should be mentioned in the article, just in case anybody ignorant wants to do this with unsuitable materials.

<comment><AUTHOR> Good point. I'll add some info about this.

</comment></comment></comment></comment><comment><USER4> Awesome work!

The animation definitely seems the most difficult (and subjective), but also the most cool! Body hacking via computed geometry!

Invisalign (align technology) uses almost the same workflow. Market cap $5.89B.

If you could move the workflow over to something based on WebGL / three.js - you could make this accessible to dentists in developing countries. Could be an awesome open source project.

I think "allowing" it to be used in the US would open yourself up to too much liability though :(

<comment><USER5> Invisalign seems to be mostly used for cosmetic fixes. That doesn't seem too compelling for a dentist in a developing country.

<comment><USER6> People in developing countries need and want to look good just like everybody else. "Developing country" is pretty much the whole world, except Western Europe, North America, Japan, and Australia / NZ.

<comment><USER7> Do you imagine people in countries east of Austria as ugly bunch with crooked teeth, because we're developing and never heard of cosmetic dentistry?

<comment><USER8> Actually, the usual place to stereotype as having crooked teeth is the UK, which is firmly in the "developed" group of countries.

To answer your question, no, "crooked teeth" isn't in the usual list of stereotypes people have about Eastern Europeans.

<comment><USER9> IMHO in the UK teeth straighting is perceived as extremely vain. So in the UK straighting teeth is more a taboo than not.

<comment><USER10> Huh? Orthodontics are free in the UK up til 19, and it's very normal to have braces.

Maybe amongst an older generation who'd have to go out their way to pay for straightening.

<comment><USER9> Again I show I have been away from home to long.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> It is smart that you designed the retainers based on maximum tolerance of tooth movement quoting from a textbook. I suggest you take X ray to make sure no root resorption have occurred. Also for those who want to imitate, measure the length of teeth and compare with the arch length to make sure the teeth can actually "fit" into the arch. I am a dental student.

<comment><USER12> By "length of teeth", do you mean their width measured along the arch of teeth, or vertically?

<comment><USER11> In this case: the width. aka the "mesial-distal" length.

</comment></comment></comment><comment><USER13> Now _that_ is awesome--those things aren't cheap.

I'm going to send this to my dentist (who's cool enough to appreciate it).

<comment><USER14> It has not once in my life occurred to me to email my dentist.

<comment><USER13> I know--mine _texted_ me the night after my filling, to see how it was coming along.

She does that for everybody, along with a number of other practices that do her and (would) her profession great credit.

<comment><USER15> Are you in SF? If so, who is it - I am looking for one :) thx.

<comment><USER13> Nah, but I found her on Yelp.

</comment></comment></comment></comment></comment><comment><USER16> This is really amazing, man. It's honestly the first 3D printing application I've seen that I can see quickly improving thousands of lives. Just to think of all the people who right now can't afford this procedure, that soon will be able to... it's just really wonderful.

<comment><USER17> Next I need someone to do orthopedic shoe inserts. Mine cost $600 and only fit my running shoes.

<comment><USER18> I'm a physician, and I used to get custom made ones, until I found these for around $45 in the US: [https://www.drscholls.com/productsandbrands/customfitorthoti...](https://www.drscholls.com/productsandbrands/customfitorthotics/)

<comment><USER19> I was having foot pain a few years ago and decided to give those a try before shelling out to see a podiatrist/get custom orthotics. My foot pain was gone within a week and only came back on one occasion; when I bought new shoes and forgot to put them in the new pair.

Still, I've wondered if I'm missing out by not getting custom inserts. It sounds like (at least in your case) there was no major difference?

</comment></comment></comment></comment><comment><USER20> He scans his teeth, animates how he wants them to move in blender, and then 3D prints each frame. That is absolutely brilliant.

</comment><comment><USER21> It looks like the author took into account the safety of the plastic in creating these, which is a good thing. Maybe more so than dentists. You know "silver" fillings aka dental amalgum? They are 50% mercury by weight and are still being used. Supposedly safe because it is inhalation of mercury that is poisonous. Removal of those fillings with a drill can be dangerous. When some guy told me about this and was talking about it being the next asbestos/mesothelioma, I was thinking "sure! That sounds like conspiracy crap!" Then I looked it up on the FDA site like he suggested:

[http://www.fda.gov/MedicalDevices/ProductsandMedicalProcedur...](http://www.fda.gov/MedicalDevices/ProductsandMedicalProcedures/DentalProducts/DentalAmalgam/ucm171094.htm)

Anti-vaxxers are idiots and it is obvious that vaccines don't cause autism (original study was a fraud). The health benefit of vaccines is as undeniable as the lack of correlation to autism.

That said, dental amalgum is a chunk of mercury in your mouth. FDA says it is safe for people over 6yrs old, but I personally will stay away from it for any future dental work.

<comment><USER22> The thing about the mercury amalgam fillings is: why even bother any more? Modern resin fillings are mercury-free, plus they look far better and are nearly indistinguishable from real tooth. They're stronger too: I have a resin "filling" that's actually filling in a chip on one of my front teeth, meaning this filling is actually shaped into a sharp biting edge. It's been there for a year now and works fine. You can't make tooth repairs like that with amalgam.

Amalgam is just plain obsolete, regardless of how safe it may or may not be. So why anyone still uses it, I have no idea; I can only guess they're cheaper than the resin fillings, so they're used for low-income patients, or by shitty (or old-timer) dentists trying to improve their bottom line.

<comment><USER23> Price, yes. I got mine when I was a student and had no cash; I had a hole in my tooth and had to get it filled for the lowest cost I could.

If I have to get more... It'll be resin. The amalgam ones I've got have lasted a long time though, and I don't seem to have any new holes now that I've quit drinking so much soda every day :)

</comment></comment></comment><comment><USER24> This is just amazing. I was waiting for how it might go horribly wrong, but the guy's mouth looks great.

<comment><USER25> Looks like quite a bit of an overbite, though.

</comment></comment><comment><USER26> There is an important issue missing in the article (beyond the warning notice): the occlusion. The modification of the dental structure requires a whole functional analysis that goes beyond the teeth.

Anyway, the future is promising and the issues could be solved taking into account all the factors.

<comment><USER27> Would you please elaborate more in layman's terms?

<comment><USER26> Your occlusion/teeth position is not arbitrary and it impacts other parts of the system like the maxilla, the mandible, and even your tongue. Changing it only based on aesthetics can unbalance the forces that you were applying before the treatment and other issues can appear.

This doesn't mean that every dentist really cares about this issue but you should search for a professional who cares about this.

</comment></comment></comment><comment><USER28> I came across an article here on HN about mail-order Invisalign companies at a fraction of the price. I'm about half way through and very happy with the progress so far. Just thought I'd give a heads-up if anyone is interested

<comment><USER29> Link?

<comment><USER28> This was the article: [http://mobile.nytimes.com/blogs/well/2015/02/01/a-trip- to-th...](http://mobile.nytimes.com/blogs/well/2015/02/01/a-trip-to-the-mail- box-not-the-orthodontist/?referer=)

I went with smilecareclub. They're pretty hands-off but it gets the job done and is a good value

<comment><USER30> I wonder how this works, they added brackets on my teeth that act as anchors. Definitely worth the try, I believe that I paid 3k for my treatments, this is ~600. Amazing

<comment><USER28> They do not add brackets / anchors but they do use a straight-across aligned as opposed to a more trimmed "scalloped" aligner. The straight across gets a bit more turning force because it goes higher up and covers a bit of your gums. I'm no expert so I don't know if that's the whole story. They definitely filter out people with more complicated alignment issues so that could play a role as well.

</comment></comment></comment></comment></comment><comment><USER31> The work he did with the impressions, to me, suggests he has experience as / knows someone who is a dental technician. If he didn't, wow, he independently figured out some of their key techniques.

My grandfather used to make dentures, and that casting in the 4th photo looks exactly like the impressions my GF would make. They also used these hinges so they could mate the upper to the lower, so they could adjust any collisions that occurred while opening and closing the mouth.

<comment><AUTHOR> Nope, no prior experience. It's quite easy, if you have an impression tray (I had to mock it up in 3d and print one). The instructions for alginate are right on the bag.

The rest was just reading freely available docs on how to make castings.

<comment><USER32> Hey! Recent NJIT alumn - great to see something so creative like this come from my home turf. Really impressive work!

<comment><AUTHOR> COAD?

</comment></comment></comment></comment><comment><USER33> Having recently done invisalign, I think this is brilliant, but I would have had a really hard time sticking with it through the pain. I would worry too much that I was doing damage. My case was quite a bit more severe, however, so maybe it's less of a big deal if the movements are minor.

</comment><comment><USER34> This also seems to have whitened his teeth at the same time ;), typical "before, after".

But on a serious note, I had braces, after the were remove a wire was placed behind my teeth to keep them in place. It didn't stick to one of my ceramic teeth I had from an accident in my youth. The wire was removed and after some months my front two teeth were as far apart as ever. Ok, the overbite didn't return but things will move back at least to some degree over time.

As mentioned before, I myself would never just put any plastic material in my mouth with all the bad things known about plasticisers, bpa/bps, etc.

<comment><AUTHOR> I've been using 30% Carbamide Peroxide whitening gel in the trays for about 30 minutes a day. So yes, they are whiter.

<comment><USER35> Could you share a link if it can be bought online?

</comment></comment></comment><comment><USER36> Another option....have a dentist bind composite material to the couple teeth out of alignment.

Had two teeth done for under $500 10 years ago.

It's a stop gap until braces are an option financially.

</comment><comment><USER29> Now THIS is a hack.

</comment><comment><USER37> How soon before the FDA says this is illegal or the medical industrial complex lobbies congress to make this illegal?

<comment><USER38> It seems likely that there would already be FDA regulation in the U.S. if you marketed this to another person, plus unauthorized practice of dentistry considerations if you didn't have the relevant professional training and licensing. But my impression is that these regulations don't apply to medical devices that you make and use yourself on your own body.

</comment></comment><comment><USER39> This is cool but I can't say I agree with actually doing it. Just because you _can_ do something doesn't mean you _should_ , particularly in matters of health. If you don't have the requisite experience and knowledge and training, it seems risky to go about something like this on your own.

<comment><USER40> No more risky than changing your car's brake fluid (risk of death if you do it wrong). A lot of services that we have been conditioned into thinking need to be administered by specialized professionals with N years of expensive schooling, can probably be DYI'ed with access to the right equipment / tools.

</comment></comment><comment><USER35> Kudos to him for doing this, but I am slightly concerned that he has introduced overbite [1] in his jaws looking at the before and after pictures :(

[1] [https://en.wikipedia.org/wiki/Overbite](https://en.wikipedia.org/wiki/Overbite)

</comment><comment><USER41> I love this project - well done, and the result speaks for itself! It's unfortunate that you were forced to go this somewhat dangerous route due to money. In some countries dental care like that would be paid for by the health insurance.

</comment><comment><USER42> Made my own as well when I was interning at an othodontist.

There is not really much tech required. You can simply cut apart the gypsum model tooth by tooth and align it perfectly with wax and add space for you gum. Finally create a mold and use medical grade silicone to make the tooth straightener.

Silicone also allows for more movement and gives you control of upper and lower teeth in relation to each other.

While this is not rocket science there are considerations about jaw alignment that would be difficult for the amature to get right the first time around in any but simple misalignments.

</comment><comment><USER43> This is definitely for the brave, not me.

Not sure what I would do if we didn't have a dental school.

When I go there I am always surprised to find people who actually have insurance who still go there despite all the hassle.

</comment><comment><USER44> I'm not trying to downplay how much the hacker/geek in me loves this, however, as a former* dental student, I would highly suggest _not_ trying to pull this off on your own.

First, teeth and their movement is more complicated than it might first seem. You have to think about the entire masticatory apparatus, for example:

• There's more root than crown, how does the root move in relation to the tooth? Root resorption is a common problem in orthodontic treatment.

• Is there / will there be enough bone surrounding the tooth to support the intended movement?

• How will the patient's occlusion (how the teeth fit together) be affected? Part of the Invisalign process is to take a bite registration that shows the upper and lower teeth in relation to each other. This is important, and ignoring it can potentially lead to other complications:

\- stress fractures

\- supraeruption of opposite tooth

\- TMJ pain

• Does the patient display any parafunctional habits that will affect the new tooth positions? For example, do they grind, clench, or have abnormal chewing patterns?

• Many Invisalign techniques require the placement of anchors, holds, and various other structures attached to the teeth themselves. They allow for more complex movement than the insert itself would be able to provide.

• Adjustments are often required mid-treatment. Not everybody's anatomy and biology is exactly the same, so you have to adjust accordingly.

Now, does every general dentist take this into account 100% of the time? No, but they're at least trained to recognize these situations and compensate for them.

That said, many simple patients don't require any more thought than the OP put in. It's a good thing he looked in a text book and realized that there's a limit to how much you should try to move a tooth at each step before you're likely to run into problems. And if you do run into problems — do you think a professional is going to come anywhere near your case?

A few issues I have with his technique:

• Unless he poured his stone model immediately after taking the impression, it's likely there was a decent loss in accuracy. Alginate is very dimensionally precise, but only for about 30 minutes. The material that most dentists use, PVS, is dimensionally stable for much, much longer (not to mention digital "impressions").

• Vertical resolution of the 3D print _does_ matter. You might be moving teeth in only two dimensions, you're applying it over three dimensions.

Again, I think it is awesome that someone gave this a shot, and did a fairly good job as well. I'm all for driving the cost of these types of treatments down, as well as promoting a more hacky/open approach to various treatments. Just know there's more than meets the eye.

* I decided to go back to tech, there's too little collaboration in dentistry for me to make a career out of it.

</comment><comment><USER45> Wow this is awesome! Thank you for sharing. Retainers post Invisalign cost between $400-900 for 1 set - total ripoff. This looks like a far cheaper alternative.

</comment><comment><USER46> Awesome stuff Amos! It's always nice to see creativity and persistence rewarded with successful results. I really enjoy reading these types of posts on HN.

</comment><comment><USER47> slightly off topic: how is diy tooth alignment going to affect criminal investigations? on all those crime shows on tv (csi, navy cis, ...) they use dental records to identify otherwise unidentifyable bodies. is this method even used in real life and how would they find any records of your teeth if you fixed them yourself?

</comment><comment><USER48> This is awesome! Definitely not the safest thing to do, but I'm glad that they worked.

</comment><comment><USER49> Cool, that's an idea I'd had in the back of my head for some time too. Good to see someone's gone ahead and done it, and proven the concept. :D

</comment><comment><USER50> Interesting article. Waterpik is a related product (as in, for teeth and gums) that a dentist recommended. Anyone have experience using it - pros, cons?

<comment><USER51> I think Waterpiks are better for dental health than toothbrushes and floss combined (although I use 'em all). They're basically small-scale pressure washers that obliterate bacterial biofilms, which are the real cause of tooth decay and gum disease and bad breath. Your mouth feels a different kind of clean after 2 minutes with one of these things.

<comment><USER50> Didn't know about biofilms (bacterial or other) earlier. The basic idea is intuitive (which is why I gargle with salt water regularly), but googled biofilm now and found a lot of info - it is complex. Thanks for mentioning it!

Saw this:

[https://en.wikipedia.org/wiki/Biofilm#Biofilms_and_infectiou...](https://en.wikipedia.org/wiki/Biofilm#Biofilms_and_infectious_diseases)

[https://en.wikipedia.org/wiki/Biofilm#Dental_plaque](https://en.wikipedia.org/wiki/Biofilm#Dental_plaque)

The article says:

"Biofilms have been found to be involved in a wide variety of microbial infections in the body, by one estimate 80% of all infections"

</comment></comment></comment><comment><USER52> Is it me or did it whiten your teeth. I noticed a big difference in upper plaque between the before and after picture.

</comment><comment><USER53> This is awesome! Thanks for the detailed description.

</comment><comment><USER54> Are you considering starting a business out of this?

<comment><AUTHOR> Definitely not, because of liability, and the fact that I have no interest in other people's teeth.

I'm happy to leave it as a piece on my portfolio :)

<comment><USER55> But it would be great to build open source software that does this at a pushbutton.

</comment></comment></comment><comment><USER56> this is pretty amazing and daring.

I guess this would work better with those with gaps or very mildly crowded teeth.

Often crowded teeth result in pulling teeth to make room.

</comment><comment><USER57> Considering opportunity cost of the 100+ hours that probably went into this it would be cheaper to go to a dentist.

He might be able to come up with a better or cheaper method then the currently industry standard though ...

</comment><comment><USER58> Can you chew food with the aligner on?

<comment><AUTHOR> Food finds its way up between the aligner and the teeth, and it's very unpleasant. Not recommended.

Drinking is not a problem though.

<comment><USER35> Most orthodontists will say anything except water is a no-no - coffee and tea will stain your aligners, and they almost always permeate the aligners into your teeth, causing decay until the next brushing. Juice is even more harmful with the sugar and fibre. Also, hot beverages can deform the aligners. I know cases of people who tried having drinks with straws, and realized it wasn't a viable solution. The drink still ends up permeating the aligners.

</comment></comment></comment><comment><USER59> Nice work. I have braces so...

</comment><comment><USER60> Very very awesome job :-)

</comment><comment><USER61> Direct leak into your gums..

</comment><comment><USER62> Orthodontics is a field known for its protectionism. It'd be pretty foolish but I wouldn't be surprised if you receive a cease and desist.</comment>


Traction Engines – 150th Anniversary Road Run [video] - <AUTHOR> https://www.youtube.com/watch?v=IidrpZv1Y58 <comment><USER2> One of my best mates took this video. He'll be well chuffed to know this has been posted here.</comment>


AT&T Is A Big, Steaming Heap Of Failure - <AUTHOR> http://www.techcrunch.com/2009/07/18/att-is-a-big-steaming-heap-of-failure/ <comment><USER3> I loathe AT&T. It mistreats employees and customers. It overcharges and delivers astonishingly poor service. It makes regular billing "mistakes". It willingly, almost gleefully, assists in the violation of its customers rights and privacy. It is a paragon of inefficiency. It fights against progress to keep its anachronistic business model relevant. It uses the legal system as a club. And it ensures that any actions brought against it can at best be Pyrrhic victories.

In short, it is truly every bad thing Microsoft has ever been alleged to be and worse. I don't own an iPhone solely because I want _less_ to do with AT&T than I do now.

<comment> tsetse-fly Most of what you're saying also applies to the other carriers in the US.

Verizon has a history of crippling its phones. Sprint has horrible customer service. T-Mobile has very little coverage. There are no good carriers.

<comment><USER4> I'll take a crippled phone any day over the other complaints (and if my Tour is crippled it's subtle enough that I haven't seen it). There are no perfect carriers but there are less-bad ones.

<comment><USER5> Any complaints about the Tour? I'm thinking of getting the Tour on Verizon (and an iPod Touch for 'iPhone' apps and wifi.)

<comment><USER4> Well its my first blackberry and I've only had a week or so to get used to the platform so YMMV of course.

tl;dr: It's great at its core competencies: voice and email are great. Everything else is a bit unfinished.

The bottom line is that so far it's good enough for what I use it for. I'm still crap at the keyboard but getting better, the EVDO is fast enough but not spectacular, the roller ball works well almost all of the time but the horizontal sensitivity seems a bit wonky sometimes, I haven't figured out why yet. (There's no way I'm that bad at brickbreaker so I choose to blame RIM)

Email integration is about 8/10, I push email from my gmail account and Exchange at work to it and that workflow is very well executed. However, reading mail on Gmail or Outlook doesn't mark the messages read on the blackberry. It's possible I'm doing something wrong here and I'm not on a BES but it hasn't annoyed me enough yet to really dig for a solution. Also Gmail IMAP sync doesn't respect your filters/tags so if you get new mail it all hits your blackberry. I ended up unsubscribing to a few mailing lists that I never really read anyway because they were just too high traffic to be buzzing me all the time.

There seems to be a bit of a compatibility issue with the Tour and the Storm, most apps that require unrestricted TCP access don't seem to work [1]. I can't get jmirc, midpssh etc to connect, they just die with "Invalid URL parameter." It'll be fixed at some point I'm sure but for now there's nothing app-wise that's useful to me. Viigo is acceptable as a podcast client but not much else. Google Voice client is alright, doesn't integrate as well as I'd like but it's workable. AIM works well, Flickr works well. The apps in the app store are great if you're obsessed about a) the weather b) financial news c) sports scores or d) playing card games, outside of that there's not much there. Then again every "must have app" my iPhone friends show me has me rolling my eyes so I suppose I'm just not the target market.

The voice quality is top notch. I was on a four hour conference call last night and I set the speakerphone up and forgot about it, no issues either hearing or being heard. That took my battery life down from full to about half. The camera is frankly barely adequate. Plenty of pixels but too much grain. [2]

All that said I'm buying my wife one to replace her free-and-worth-every-penny phone in a few weeks so it's safe to say I'm pleased with it. The warts just aren't in places I care about.

[1] <http://forums.crackberry.com/f35/tour-9630-irc-266165/> [2] <http://www.flickr.com/photos/skorgu/3737195762/>

<comment><USER5> Thank you for taking the time to respond. That helped me immensely.

<comment><USER4> Any time.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> How about one of us create a landing page with a bullet lists of AT&T complaints? I don't care enough but we could all link to the page at the bottom of our websites just with the word ATT[1] and soon enough when people search for AT&T's corporate page, they will find a list of complaints. People will take note and thus AT&T will be forced to take note as well. On top of that:

       - Update your twitter with your AT&T complaint
       and give it the hashtag #ATT.
       - Contact The Consumerist Blog, try to
       get their awareness (is anyone connected to them?).
       - Any other ideas?

Let's start a movement.

Stop complaining and start acting.

I already did my part, I'm no longer an ATT customer.

\---

[1] Based on <http://www.google.com/trends?q=AT%26T%2C+AT+and+T%2C+ATT>

</comment><comment><USER7> I'm not seeing Siegler acknowledge whether or not he had enabled TechCrunch's "safe" AT&T tethering hack, which is notorious for messing up voicemail. This despite multiple commenters asking him.

(I think TC readers may have another nasty surprise waiting when AT&T finally gets to running 'awk' on the logfiles those tethering sessions land in.)

<comment> tsetse-fly Can anyone that hasn't enabled tethering confirm that their visual voicemail hasn't been working?

There were a slew of people on the MacRumors forums that were tethering and didn't realize that their visual voicemail had been broken for days.

<comment><USER8> FWIW, I've been using the tethering hack from <http://help.benm.at> on an iPhone 3GS and visual voicemail has been working just fine.

<comment><USER9> try setting your greeting

<comment><USER8> Works great. No problem.

</comment></comment></comment></comment></comment><comment><USER10> Apple should seriously consider buying Sprint. When they first struck a deal with Cingular one of my first thoughts was they were picking a carrier that was within their reach to purchase down the road. Obviously AT&T had the same idea though. Given Apple's position in mobile electronics it would make a lot of sense to own their own data network. EVDO data in every device. iTunes Store over EVDO on every iPod. Extremely aggressive first party iPhone pricing on Sprint (while still selling a GSM model at a higher cost) They could really shake things up if they wanted to.

<comment><USER11> Apple would enjoy many benefits from buying a telecom company, but there's one factor that would almost certainly prevent it: anything bad the telecom did would then be blamed by the public (even if completely irrationally) on Apple. Apple makes most of their money from being the "sexy consumer electronics company", and no matter how you try to spin a telecom, you can't make it _sexy_. The only way Apple could _successfully_ buy out a telecom would involve replacing the entire culture of the telecom with Apple's own dedication-to-snobby-perfection culture, which itself would involve replacing most of the employees and management with Apple's own. They'd have no one left to make computers!

<comment><USER12> While Apple has the iPhone, they're not a telecom company. Few companies do well when they start to stray outside of their core competencies. Think Time Warner.

</comment></comment></comment><comment><USER13> What I get out of this is that it's best to avoid doing business with Apple's customers. (Nobody has ever filed a class-action lawsuit against Dell for using 6-bit LCDs instead of 8-bit LCDs.)

They are much more demanding than the average customer -- Apple makes AT&T provide special exclusive features, and then their customers hold them to higher standards. "There isn't enough bandwidth." "Torrents download too slowly!" "Everything is too expensive."

Not to sound like an AT&T fanboi, but the other providers are just as bad. The pricing is the same, you get locked in, and the bandwidth isn't even as good. (At least AT&T lets me use any GSM phone. Try that with Verizon.) The US just doesn't have the infrastructure to provide exceptional cell-phone service (like, say, Japan does; with millions of people in a very tiny space). With people constantly demanding more bandwidth for less money, I can't imagine there is much room in the budget to upgrade the 3G network in the middle of nowhere. Sorry, it's the reality of living so spread apart.

<comment><USER14> No this isn't about picky Apple fans. AT&T is truly shitty. I also switched from Verizon to AT&T for the iPhone and I loathe every minute I have to spend on AT&T's shitty network. Here in Chicago I drop every other call on average, and the ones that manage to stay up are usually full of garbled noise. No signal inside buildings that I used to get full strength on Verizon.

Still no MMS even though their other phones have had the feature for ages. God forbid you want to use the network in a crowded venue - Solider Field, Wrigley, Lollapalooza, network is shit anytime there are more than 5000 people nearby. Simply unacceptable service in a city this size.

<comment><USER13> I live downtown and have AT&T. I've never had a problem.

Maybe it's just the iPhone that sucks?

</comment></comment></comment><comment><USER15> honestly, this is the BEST TC post I have read in a long while. Extremely well written / crafted and contains serious, sensible points.

 _I'm so pissed off that I kind of want to call AT &T and demand that they call each of the people I missed calls from and personally apologize. Instead, I'm writing them this very public condemnation._

I would do the former. I really would. Here in the UK phone companies have such a monopoly amongst themselves.

As a consumer I feel regularly screwed. At the moment I am stuck with a shit 18 month old phone because it is out of warranty and upgrading to a newer model (despite being a 10 yr long customer of my current company!) is too expensive outside of the limited free upgrade time.

I sympathize heavily. No one hacks together a phone startup because it is such a closed business. Look how much awesome stuff developed when starting up on the web becomes easy - I hope mobile networks go the same way.

<comment><USER13> _At the moment I am stuck with a shit 18 month old phone because it is out of warranty and upgrading to a newer model (despite being a 10 yr long customer of my current company!) is too expensive outside of the limited free upgrade time._

This may surprise you, but that's actually how much a phone costs. Turns out we haven't quite gotten them to grow on trees yet.

I can't think of any industry (other than video gaming) where someone gives you something for free so you'll use their service; count the one free phone every 2 years as a blessing. If you want the latest-and-greatest, you have to buy it, just like with everything else.

<comment><USER15> To be 100% fair I have more than paid for my phone since signing the contract :) I rang them up wanting a new phone and asking if they could do me a deal if I agreed to a higher monthly fee and a full 24 month contract (the phone aimed at being an Iphone).

When I first rang them last month there was 6 months left on the contract and they were quite happy to do this - except they wanted the full 6 months paid off first! That's more than the phones original value. I offered to pay the value of the phone (seeing as they get my custom for 24 months locked in - <USER2> I am a 10yr customer). not interested.

I agree - trying to get something for nothing is silly :) but I think I deserve some reward for my loyalty? Especially as I will actually be paying for the phone AND increasing my contract amount (and locking in for 24 months - which really means forever as it's an Iphone :))

</comment></comment></comment><comment><USER16> so at&t can pay a ton of money to upgrade its network (which apparently isn't going to be that much faster) and then lose the exclusive contract with apple, in the process losing lots of customers and no longer gaining new customers when apple releases new iphones.

or, it can not upgrade its network and just pay apple a much smaller amount to keep them locked into at&t, keeping all of its locked-in customers while increasing their prices, and continue to get new customers every time apple comes out with a new iphone. apple gets to sell more phones while pointing the finger at at&t for any network problems.

i wonder which one they'll do...

<comment><USER17> How do you figure that "and pay apple a much smaller amount to..." bit? If it's in Apple's best interests to leave, then they will. I certainly don't think that Apple will collude with AT&T to perpetuate shitty service.

</comment></comment><comment><USER18> Wow, I just checked the voicemail on my iPhone and I had 12 (!) voicemails queued up with no indications that I had waiting messages.

AT&T service has been horrible since I got my iPhone (~ 1 year). I kept a blackberry on Verizon, which is my primary "phone" (the iPhone has been more for email/web). However, I have a VoIP # as my primary phone that rings my desk, vzw phone and att phone all at once. Apparently a good number of calls ended up in my att mailbox, with no indications.

</comment><comment><USER19> I totally agree that my new iPhone is basically an iPod touch. I get no AT&T signal at my house and marginal signal elsewhere. And it looks like I don't even get voicemails reliably. I should cancel my AT&T contract (there is a 30 day grace period) and get an iPod touch instead. There is no phone in the iPhone thanks to AT&T.

</comment><comment><USER20> I "cancelled" my AT&T account a few months ago. Somehow the account is still open, but accumulating monthly negative charges (credit.) No script from their customer support can resolve this issue. Technical glitches can be fascinating and this company has no shortage in my experiences with them.

<comment><USER21> Complain to the FCC.

<http://esupport.fcc.gov/complaints.htm>

Just be sure to reply to every piece of mail that you get from the FCC and AT&T on time.</comment></comment>


Caltech study: how a simple design trick affects consumer choices - <AUTHOR> http://blog.eyequant.com/2012/07/25/study-what-you-see-is-what-you-buy-how-a-simple-design-trick-affects-consumer-choices/

<comment><USER2> > _Caltech study_

No link to aforementioned study though. Hm.

<comment><USER3> It's here: "Relative visual saliency differences induce sizable bias in consumer choice" Milica Milosavljevica, Vidhya Navalpakkama, Christof Kocha, Antonio Rangela, [http://www.sciencedirect.com/science/article/pii/S1057740811...](http://www.sciencedirect.com/science/article/pii/S1057740811001033)

It's also behind a paywall. Insert the normal line of commentary about paywall science.

<comment><USER4> Here you go <http://www.stanford.edu/~mmilosav/jcp_mili.pdf>

</comment></comment></comment><comment><USER5> There's certainly some self-promotion near the end but I think that technology is pretty damn cool. You can upload a screenshot of your website and eyequant will give you a heatmap of where a visitor's attention will be with 90% accuracy.

I'm both excited and scared to think of what technology (and marketing!!) will be like in a decade or two from now...

</comment><comment><USER6> Described design hack in action -- <http://xkcd.com/993/>

<comment><USER7> They did just this in Canada with "No Name" brand:

[https://encrypted.google.com/search?q=noname+brand&tbm=i...](https://encrypted.google.com/search?q=noname+brand&tbm=isch)

</comment></comment><comment><USER8> Another simple design trick is to have your main call to action at the end of a blog post be a valid link and not: EyeQuant! (which 404s!) ;-)

</comment><comment><USER9> I wonder if EyeQuant used their own product on the EyeQuant site. Perhaps the layout is intentionally busy, but there's so much going on that I feel a bit overwhelmed.</comment>


It's time to end China's 'United Front' operations inside the United States - <AUTHOR> https://www.washingtonpost.com/opinions/2020/06/10/its-time-end-chinas-united-front-operations-inside-united-states/ <comment><USER2> While it seems reasonable to try to stop the Chinese government from unduly influencing US institutions, I am sincerely worried this is just going to turn into a witch hunt against Chinese nationals in the US on student and work visas.

<comment><USER3> Correct me if I'm wrong, but given that we as an American institution have some witch hunts in our past, we ought to be able to carry those lessons forward and integrate them into a framework which minimizes chances of becoming a witch hunt.

Additionally, given the parameters listed in the article: The sanctions approach won't touch Chinese students or workers who are in the US on visas. Even the moves against Confucius Institutes don't touch individual students. It seems like a good start if the idea is to avoid individual false-positives and also blunt the Magic Weapons philosophy.

<comment><USER2> The policies proposed in this editorial seem pretty tame, but they aren't all the policies being put forward on this issue.

A recent executive order does target individual students who come from universities with military ties, even though many of these schools have mostly civilian students.

The recent prosecutions of scientists who failed to disclose Chinese funding on grant applications did uncover some real malfeasance but could easily turn into a witch hunt as well.

</comment></comment></comment><comment><USER4> As a non-american it's weird/funny/interesting/infuriating/typical to watch Americans get very upset and paranoid about Russians or Chinese actors doing the things that American actors do, and have done for decades now, in my country, and many others, all the time.

I know the spin is for an American audience, but it does occur to y'all how funny it sounds outside your country right?

<comment><USER5> Lets not equate what the Russians and the Chinese are doing with what the US does. Yes, the CIA did horrible things, but that is now a long time ago. Russians are still poisoning their defectors, the Chinese are running concentration camps today. That's all of a very different order, not to say for a very different purpose, however misguided.

<comment><USER6> The US has concentration camps today. Source: [https://www.theatlantic.com/ideas/archive/2019/07/border- fac...](https://www.theatlantic.com/ideas/archive/2019/07/border- facilities/593239/)

The CIA still drone strikes weddings. Source: [https://www.newsweek.com/wedding-became-funeral-us-still- sil...](https://www.newsweek.com/wedding-became-funeral-us-still-silent-one- year-deadly-yemen-drone-strike-291403)

These things are still happening.

<comment><USER5> While awful in their own right, it's important to understand the difference in both scale and reason between such border camps and e.g. Uyghur camps.

</comment></comment></comment></comment><comment><USER7> Back in 2015, _Harper 's_ warned of the insidious influence of the CCP, via the American corporations that do business in China.

[https://archive.harpers.org/2015/11/pdf/HarpersMagazine-2015...](https://archive.harpers.org/2015/11/pdf/HarpersMagazine-2015-11-0085712.pdf)

</comment><comment><USER8> For anyone else that couldn't read it:

[http://archive.is/zboZv](http://archive.is/zboZv)

</comment><comment><USER9> The title calls for an end to China's United Front operations; the article doesn't say how it will achieve this other than requiring Confucius institutes to register as foreign agents. I guess one benefit of fighting against a covert operations is that you don't have to be specific. Or is the idea to inoculate Americans against Chinese influence by equating all such influences with the United Front?

Might I suggest we look at the lesson of history and issue another execute order like the one made by Truman[1]?

[1][https://en.wikipedia.org/wiki/Executive_Order_9835](https://en.wikipedia.org/wiki/Executive_Order_9835)

<comment><USER10> The idea is to identify which messages have been paid for by the Chinese government. Most Americans recognize that the CCP is not a reliable source, but they don't always realize that listening to e.g. their campus's Confucius Institute means listening to the CCP.

</comment></comment><comment><USER11> half a dozen paragraphs and I still can't tell what this "United Front" does. The closest thing to a concrete example is:

> oversee United Front work by throwing money at foreign institutions that are > willing to toe Beijing's political line, including U.S. think tanks and even > media organizations.

So a lobbyist group but with less influence?

<comment><USER12> It's a bunch of smaller efforts all working towards a single goal. (think lots of little foundations and lobbyist groups)

This report goes into a lot more detail [https://www.hoover.org/sites/default/files/research/docs/dia...](https://www.hoover.org/sites/default/files/research/docs/diamond- schell_corrected-april2020finalfile.pdf)

</comment></comment><comment><USER13> >the CCP's United Front effort is unique because it is more organized, more expansive and more insidious than our government or nation has realized.

If it's so expansive, give us some real examples! Saying something like this while giving nothing but unspecific references to a wide-ranging communist plot (a claim Americans are right to be suspicious of, given the history of such claims about the soviets) and a reference to the Confucius Institutes that anyone reading an article like this will be familiar with just makes the author sound like a political hack with nothing useful to say on the topic of Chinese propaganda. Maybe that's not true of the author, but it is true of this particular article.

</comment><comment><USER14> Republican worries about repression in China. Perfectly ok with repression in Russia and the ties between this administration and Russian political operative? Wow. Mind blown.

</comment><comment><USER15> Why is the article flagged? I've seen this happen to a few posts about China lately. Its starting to hurt the discourse on HN, its unhealthy for the forum.

<comment><AUTHOR> Do they give a reason for flagging? Seems like there's a bias in play.

<comment><USER16> A post becomes [flagged] when enough users flag it, moderators can only unflag.

<comment><USER15> Yeah but it seems like a lot of "users" flag everything about china lately.

</comment></comment></comment></comment><comment><USER17> I think it is unquestionable that China is the United State's primary competition, and national security adversary. As such, if that is the case, then we must take steps to protect America from influence and infiltration from China. If we as a democracy are willing to engage in foreign influence, I believe firmly a communist government will do it ten times more.

</comment><comment><USER18> Just an observation, it seems HN is more interested in topics semi-related to China than BLM or policing reform. I wonder if this reflects something about HN readers.

<comment><USER19> I'd be cautious about drawing conclusions from what you happen to notice. People's general conceptions of HN are mostly drawn from things they saw that they disagreed with. There have been plenty of BLM-related threads also, and I'm sure there will be more.

[https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...](https://hn.algolia.com/?dateRange=all&page=0&prefix=true&query=by%3Adang%20notice%20dislike&sort=byDate&type=comment)

<comment><USER18> Ok, I guess it is my bias.

</comment></comment></comment><comment><USER15> Now even the left are turning against china. Theres hope

<comment><USER4> Which version of "the left" was ever not against China? There aren't that many actual Tankies outside of twitter/reddit.

<comment><USER20> Um, would you care to define "Tankies", for those of us not in the know?

And the left, such as we have in the US, may not have been pro-China, but who on the left was _against_ China?

<comment><USER4> Oh, tankie is a pejorative term for authoritarian "communists". The vast majority of leftists, at this point in time, are very anti-authoritarian.

Everyone on the left hates China except the tiny percentage of tankies. And I'm using "left" in the political science meaning, so your Democrats are centrists in that model.

How on earth did you get the idea that any leftists weren't against a very authoritarian state-capitalist form of government?

<comment><USER20> Is Bernie still a centrist in your model? I would regard him as rather left, at least in the US context.

Is Antifa centrist?

And yet I don't hear either Bernie or Antifa railing against China. (Maybe Bernie does - I didn't follow him that closely - but he was getting a fair amount of press, and I didn't notice much on China one way or the other. He was more focused on domestic policy than international. And Antifa also is primarily focused on domestic issues. So maybe it's not surprising. Still, they seem to be ignoring China rather than opposing it.)

<comment><USER16> Just a clarification, antifa is just anti-fascist, and aren't organized at a national or regional level.</comment></comment></comment></comment></comment></comment>


Varnish Cache and Brotli compression - <AUTHOR> https://info.varnish-software.com/blog/varnish-cache-brotli-compression <comment><USER2> If it can do gzip, it should be able to do brotli as the HTTP-header "handshake" for both is identical, just use "br" instead of "gzip".

I've been seeing a lot of threads about Brotli lately and having experimented with it thoroughly at work (large social network let's say) and having ramped it up to 100% on production, I would say the benefit over Gzip is marginal and often not worth the increase in latency due to the compression taking longer offsetting your benefits. Of course you can compress once and cache but then there is the cost of storing multiple compressed copies.

SDCH is honestly a lot more promising and we are seeing notable improvements in page load times, on both dynamic and static content. That's ramped at around 10% in production and if things go as expected we will be at a 100% in production rather soon, and write a blog post on it. So far we are seeing 10% improvement in page load times in the United States, and 30% in India, Bangladesh, Vietnam etc. and compressing the content about 50% more compared to just gzip when we are using sdch+gzip. This is all achieved with a dictionary smaller than 700kB.

<comment><USER3> For every gzip setting, it should be possible to find a brotli setting that is both faster and more dense than your chosen gzip setting, i.e., better in every major aspect: computational resource cost, latency in computation and user observed latency.

If you want to try SDCH and already have brotli, why not brotli+SDCH (brotli sandwich) instead of gzip+SDCH?

Also [https://twitter.com/ericlaw/status/690761954915328000](https://twitter.com/ericlaw/status/690761954915328000) is an interesting observation

<comment><USER2> We perform SDCH and Brotli on the reverse proxy that's in front of our "front- end" origins. Since some clients at that level need to be able to perform transformations they can only perform on either non-encoded or gzip-encoded responses, we can't have Brotli happen before then. At that point we can either take the cost of inflating the gzipped response and then doing Brotli or just sending it away gzipped. That's why we have a higher threshold for the benefits we would need to get from Brotli before using it more broadly.

We are compressing our SDCH dictionaries with "br" as well. Brotli is great for static content if you know that the user agent that would frequently request that resource supports it. We also have our internal "massively" multi-threaded dictionary generator that we will want to open-source with our plugin.

And we have indeed experimented with all those combinations. Here are some results:

        Using the dictionary generated on <Some popular page>:
        Dictionary generation parameters: [128 iterations per pair]
                                                       [12 threads]

                   sdch+brotli vs. identity              92.9072%
                     sdch+gzip vs. identity              92.7303%
                        brotli vs. identity              80.0409%
                       sdch+brotli vs. gzip              72.0629%
                         sdch+gzip vs. gzip              71.3661%
                     sdch+brotli vs. brotli              64.4635%
                            brotli vs. gzip              21.3848%
                  sdch+brotli vs. sdch+gzip              2.43356%

        Using the dictionary generated on <Some popular page>:
        Dictionary generation parameters: [1024 iterations per pair]  <-- more
                                                        [12 threads]      iter

                   sdch+brotli vs. identity              94.2345%
                     sdch+gzip vs. identity              94.2343%
                        brotli vs. identity              80.0487%
                       sdch+brotli vs. gzip              77.2907%
                         sdch+gzip vs. gzip              77.2898%
                     sdch+brotli vs. brotli              71.1021%
                            brotli vs. gzip              21.4154%
                  sdch+brotli vs. sdch+gzip           0.00399263%  <-----

High iteration SDCH dictionary generation eats Brotli's lunch.</comment></comment></comment>


If you're seeing ads on Wikipedia, your computer probably has malware - <AUTHOR> http://blog.wikimedia.org/2012/05/14/ads-on-wikipedia-your-computer-infected-malware/

<comment><USER2> A commentor on that page notes that it might not be malware, just an evil ISP. If that notion comforts you at all.

</comment><comment><USER3> Or you're using a Chrome extension that serves ads. I flipped out the other day because I thought someone had hacked our application and decided all they'd do is serve ads. Bad behavior on the part of Chrome extensions.

<comment><USER4> I'd like to hear more about your experience. Was it a previously straight- laced extension that, upon acquiring a decent user base, then decided to update with ad injections? What function did the extension serve? If it did start serving ads after an update, did the update also ask for additional permissions, or did it zealously ask for more than it needed originally, if its function did not legitimately call for that sort of access?

<comment><USER5> I had installed a Safari extension that was designed to let me auto-reload a tab on a sechedule. I never really used it. I can't think of the name.

One day it updated itself and started replacing IAB sized HTML containers with ads. I only noticed because I was doing testing with Safari and the player I expected to be loading was being replaced by an ad.

<comment><USER6> I'd be completely comfortable with calling that malware.

</comment></comment></comment></comment><comment><USER7> I noticed this same thing when viewing YouTube on my daughter's laptop. Oddly spammy ads where there normally were no ads.

I guess the new model for adware/malware is to try to integrate so seamlessly that a normal person doesn't even realize they are seeing someone else's ads.

<comment><USER8> Doesn't this sort of parallel real-world infections? Something too obviously virulent in real life will kill the host before it gets to reproduce; so it makes sense to be as innocuous as possible while still reproducing/bringing profit.

</comment></comment><comment><USER9> The worst are the adds with a picture of some guy called Jimmy and another one with long hair. Both asking for money. It takes up the whole top of the page.

<comment><USER10> Would you prefer it if wikipedia just ran a line of ads all the time?

This is a serious question. It's open to others to.

<comment><USER11> I think the real answer is it doesn't really matter. Especially for those of us with adblock.

<comment><USER12> I agree and hence if it means more profit for Wikimedia organization, from people who do not use or do not know about adblock, then it is definitely a better choice than the current donation model.

</comment></comment></comment></comment><comment> throwaway63-90 Read the NYTimes blog post.

"Revenue eXtraction Gateway" (RG)

They tried calling the RG helpdesk, and the RG people hung up.

Classic.

Encrypting all internet traffic would put a swift end to this problem.

</comment><comment><USER13> For what it's worth, I don't think it's strictly fair to call all plugins that inject ads onto pages "malware."

If the app -- suppose it's a toolbar or something -- gives the user valuable (to them) functionality, and it was installed legitimately, I think it's perfectly acceptable to monetize that way.

So the measure of the malware should be based on the app itself, and how it got onto the computer, and not the apps monetization.

While I can sympathize with site owners who could have their reputations tarnished by users seeing ads and assuming they came from the website, I also feel that if I, as a user, want an app and "pay" for it by accepting ads injected into my browsing activity, that strikes me as something I should be allowed to do.

<comment><USER14> > For what it's worth, I don't think it's strictly fair to call all plugins > that inject ads onto pages "malware."

Quite a bit of malware runs with user "consent", and purports to provide some value to the user. However, "malware" does often has the connotation of something that exploited a security vulnerability to end up on the system, hence terms like "adware" to cover software that introduces advertisements and often gets installed along with some other software package the user actually wanted. And given the extensive tracking associated with most advertising, pretty much any adware will also qualify as spyware, though not to the same degree as software like keyloggers and similar.

Some people have also introduced broader terms like "badware" to encompass many different categories (<https://stopbadware.org/>), but that term hasn't caught on nearly as much as "malware", "spyware", and "adware".

If a user truly did intentionally install a piece of software that explicitly said it would add advertising to arbitrary websites, and the software installed with the full knowledge and consent of the user, then by all means let the user annoy themselves. But for every user somehow simultaneously knowledgeable enough to figure that out and yet not knowledgeable enough to avoid it, there exist several million users with unwanted adware, spyware, and malware on their systems.

(And in many cases, such a "choice" affects more than just that one user; most spam comes from infected systems, for instance, since that has a lot more "value" than just spamming the user of the infected system.)

<comment><USER13> > Quite a bit of malware runs with user "consent", and purports to provide > some value to the user.

You're right, but merely injecting ads on a page doesn't malware make. Period.

<comment><USER15> Sure it does. Malware, from wikipedia: "Malware is a general term used to describe any kind of software or code specifically designed to exploit a computer, or the data it contains, without consent."

User consent is typically given to yield some kind of functionality _not_ to inject ads on pages the functionality is just bait.

That's just misdirection, it's not even clever it is simply bad. And whether we're talking about data in transit or stored on the computer is bickering over details.

<comment><USER13> By that definition, websites that advertise are themselves malware.

If I make a toolbar that, I dunno, provides human-edited translations of Wikipedia articles that's active when you're on Wikipedia.com, and I monetize that by putting ads on the page, and a user downloaded and installed the app (as opposed to me paying to bundle it with another app) that is _not_ malware.

Look, to the generally-non-technical audience that the original Wikipedia article had to write for, I think it's fair to cast a wide net and name all offending apps malware.

But here, amongst professionals in this industry, it's absurd to me to not see the nuance.

<comment><USER14> > If I make a toolbar that, I dunno, provides human-edited translations of > Wikipedia articles that's active when you're on Wikipedia.com, and I > monetize that by putting ads on the page, and a user downloaded and > installed the app (as opposed to me paying to bundle it with another app) > that is not malware.

I agree that in that particular case it wouldn't necessarily qualify as malware, if you've made it clear to the user what you're doing. I would certainly call it adware, though.

And as you suggest, if you snuck it in along with some other application where the user didn't necessarily give clear and well-informed consent to install it, then I would absolutely call _that_ malware.</comment></comment></comment></comment></comment></comment>


I'm Not an Asshole. I'm an Introvert - <AUTHOR> http://www.newyorker.com/humor/daily-shouts/im-not-an-asshole-im-an-introvert <comment><USER2> You're probably perceived as an asshole because you are doing a job that you genuinely don't like. Introverts mostly take jobs that don't involve public speaking because it gives them no enjoyment.</comment>


How Candy and Halloween Became Best Friends - <AUTHOR> http://www.theatlantic.com/food/print/2010/10/how-candy-and-halloween-became-best-friends/64895/ <comment><USER2> To sum up a needlessly long piece: manufactured candy became an institution in the 1970s amid fears of homemade sweets being unsafe.

In Romania we have a night for carolers in early December. It's a similar idea to trick-or-trearing on Halloween. I'm not sure what it's like now, but nuts, fruit and coins were still common when I was growing up there in the late 80s.

<comment><USER3> Did the candy companies secretly own stock in the poison, razor blade & stick- pin companies? That could actually be a fun parallel universe conspiracy theory story for the Onion.

</comment></comment><comment><USER4> If you're curious about 'Candy Day' (as I was), see <http://en.wikipedia.org/wiki/Sweetest_Day>

"...declaration of a Candy Day throughout the United States by candy manufacturers on October 8, 1922."

</comment><comment><USER5> Similar story for Valentine's Day in Japan:

<http://en.wikipedia.org/wiki/Valentines_Day#Japan>

</comment><comment><USER6> I'd like sources. This article, while believable and fascinating, provided no evidence of its claims.

(Which is about what it aimed to accomplish.)

<comment><USER7> Did it actually make any claims?

It seemed to me that it answered the question "When?" and completely sidestepped "How?", in any real terms.

</comment></comment><comment><USER8> This isn't that useful an article without explaining how trick-or-treating started.</comment>


Introduction to MessagePack-RPC - <AUTHOR> http://msgpack.wordpress.com/2010/05/04/introduction-to-messagepack-rpc/

<comment><USER2> From TFA:

> Google's protocol buffer, Facebook's thrift, Apache avro, etc. Why another > one?

I wonder why ASN.1 is never included in lists like this. Is it that old, or that cryptic, or ...?</comment>


IAM Is The Real Cloud Lock-In - <AUTHOR> https://forrestbrazeal.com/2019/02/18/cloud-irregular-iam-is-the-real-cloud-lock-in/ <comment><USER2> The only people worried about vendor lock-in are people who have practically nothing of value to be locked-in. "Lambda is horrible for lock-in, once you're hitting billions of invocations a month you're going to wish you could cost optimize by shopping around with other providers! I've got my personal website hosted there, it gets a dozen hits a month, sure glad I'm inside the free tier."

I've heard CTOs/CIOs of large companies express concern over it, but at the end of the day they'll sign that $100M contract with Amazon or Azure. It doesn't actually matter. Its a _concern_ , but its not going to stop the sale or development.

Today, if you're not locked in, you're leaving business value on the table. I hope that changes in the future, and maybe Kube will be the standard platform we've needed to push it forward (for example, I wish I could tell kube "give me a queue with FIFO and exactly once delivery", it knows what cloud provider you're on, if you're on AWS it provisions an SQS queue, if you're on GCloud it errors because they don't have one of those yet, and in either case I communicate with it from the app using a standard Kube API, not the aws-sdk).

But for now, lean in. Don't fight the lock-in; every minute you spend fighting it is a minute that you should be spending fighting your competition.

<comment><USER3> Vendor lock-in isn't something anyone, especially at C-level should be ignoring. Yes, there are things to be gained and money to be made,but one should always have some sort of alternative,just in case. I happen to be in a business,which 100% relies on one vendor,which keeps hiking up prices every year way above inflation.

<comment><USER4> There are loads of orgs trying to get off Oracle as we speak.

<comment><USER5> Lots of people were already trying ten years ago, and had wanted to try it twenty years ago!

<comment><USER6> Is "migrating from Oracle" the Enterprise equivalent of nuclear fusion? We're always 20 years away from production nuclear fusion, Enterprises are always a few quarters away from migrating out of Oracle %list_your_appliance_here%?

</comment></comment></comment></comment></comment><comment><USER7> It's a back and forth. You get excited about building lambda functions and are surprised at how easy they are, and how much autonomy you have as a developer. Then, you try to deploy them, and realize you have to file 14 tickets to get the correct IAM settings setup for your production function. No one knows all the permissions you need, and the only way to understand is to try one, see if it works, and what other services you need access to. And, it'll kill all sense of autonomy you had a few hours prior.

<comment><USER8> I wish people would speak about this problem more. I can't tell you how many times I need reiterate certain things with our DevOps team to get the proper permissions because I can't seem to get it right the first time.

<comment><USER9> So you didn't test it in a dev account first?

<comment><USER7> If the dev account role has different permissions, it doesn't matter. Of course (s)he tested it first in a dev account. The point is the context around roles matters much more than the code that runs inside it, a critical flaw of AWS. Fairly, this problem is definitely not just limited to AWS but I find their implementation particularly poor.

<comment><USER9> That's still the issue.

You should have a custom role for each set of lambdas that make up a service. Your role and your lambdas should be in the same CF template that can be deployed together. Security best practices is for the role to have the least amount of privileges the lambda needs. Not just one generic "lambda role".

Whoever is responsible for production deployment could audit the role's permissions and the definitions would be in source control.

</comment></comment></comment></comment></comment><comment><USER10> > I'm referring, of course, to AWS IAM, which absolutely is the worst form of > cloud lock-in that currently exists, at least relative to the zero people > who seem to be talking about it.

I assume people don't talk about it because it's not trivially solvable. While we can have many abstractions out there, abstracting IAM across providers is very difficult because while you could get roles and users/members/policies abstracted, you couldn't get resources and permissions abstracted. They are too bespoke. The best you could hope for is a common API, but you'll still be provider-specific in everything you pass.

</comment><comment><USER11> Alternately, IAM brings AWS customers a lot of value.

Do you think the average enterprise could develop a unified system for access control to cloud resources that would have a prayer of being secure? Would the average enterprise be able to develop such a system (secure or not) that wouldn't bring work to halt?

<comment><USER12> The author says as much. The title is clickbait, but the article basically says you're locked into AWS no matter what, and arguing over stuff like Lambda lock-in is pointless considering the other avenues AWS already has you on (like IAM).

</comment></comment><comment><USER13> I'm not worried about AWS IAM. I'd love for my problem to be that small.

I'd like to get off Azure SSO.

</comment><comment><USER14> like MS/Azure Active Directory.

<comment><USER15> Did you even read the article?

<comment><USER16> Please don't ask that. It's in the HN guidelines:

 _> Please don't insinuate that someone hasn't read an article. "Did you even read the article? It mentions that" can be shortened to "The article mentions that."_

– [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER17> That comparison isn't something the article mentions; it _is_ the article.

</comment></comment></comment></comment><comment><USER18> Might be nice if the author understood the difference between the CEO and CTO before he went off insulting their positioning.</comment>


Ask HN: How would you build a Hacker News Summarizer? - <AUTHOR> I love reading the comments in Hacker News probably even more than the articles themselves, but these days they can be really unwieldy:   hundreds of comments, many layers deep, often digressing wildly from the original subject.
It would be great to have some kind of NLP system which could read the comments and produce an interactive digest, so that you could dive down into the bits that were interesting.
Anyone have any idea whether something like this exists, or how achievable it would be to build? <comment><USER2> Here's a wild guess: train a model to predict average comment karma and replies given a comment's depth in a given thread.

The select the top 3 comments, plus any sub-comment with a combination of karma and replies higher than 1 or 2 standard deviations.

You could do some fancy text analysis, but seeing as you already have humans doing that (which is where karma comes from), I doubt you could improve that much.</comment>


Announcing TypeScript 3.9 - <AUTHOR> https://devblogs.microsoft.com/typescript/announcing-typescript-3-9/ <comment><USER2> I like typescript as it fixes a lot of JS quirks - that's good when you have to write code transpiled to JS.

However coming from languages where types are a first element of the language (c++, rust, go...), I often miss a lot of features in typescript (e.g. type conversion overload, generic specialization, etc...)

I know that by design Typescript doesn't want those features and I understand the rationale behind it. I'm just wondering if I'm the only one in that case and if someone would know a language transpiling (not compiling) to JS more appropriate to my tastes (and hence with different goals).

<comment><USER3> What you're looking for is Dart. I've really, really enjoyed using it so far. Can be be aot compiled as well.

<comment><USER4> Dart is much closer to TypeScript than C++/Rust in terms of static typing, it just fixes some of the JS painpoints because it's not designed to be a 1:1 mapping to JS.

</comment></comment></comment><comment><USER5> Any pro typescripter have any tips for how best use it in existing Node/React codebase?

This article mentions material-ui and styled-components. My experience with typescript has been cumbersome with these libraries. A lot of time is spent figuring out what "types" to return. I find this very difficult in most cases and not fun at all.

I figure there must be something wrong in my approach or in my ts config (no explicit any).

In short. How to best handle styled-components/material-ui/other library in ts environment? Or is typescript just to much overhead in these usecases?

<comment><USER6> > I figure there must be something wrong in my approach or in my ts config (no > explicit any).

This is a heretic/unpopular opinion, but I think especially for existing JS/React projects, the laxest possible TS setting is the way to go.

You should be able to get to no type errors in your existing JS project with not too many changes. In these contexts (existing projects) I like to think of TS as more editor experience support than seperate language. Modern React is very friendly to TS automatic type inference, so IMHO you should be getting decent benefits from typescript without annotating anything at all. And instead of fixing complicated type errors for no real gain, just // @ts-ignore and move on.

I don't know what your specific issue is with styled-components. Should work pretty much out of the box? My suggestion would be to use CSS objects over string literals because that way you get typechecking for your CSS.

<comment><USER7> > This is a heretic/unpopular opinion, but I think especially for existing > JS/React projects, the laxest possible TS setting is the way to go.

Not sure why you think it's "heretic/unpopular", but I think it's the only reasonable way to incrementally migrate an existing codebase to TypeScript.

<comment><USER6> i've read things to the effect of "if you don't use noImplicitAny and strictNullChecks you don't understand typescript" a bunch but I'm glad to see the other approach is popular as well.

</comment></comment></comment></comment><comment><USER8> Does anybody here know where to go to have conversations with the TypeScript team about adding browser features to better support TypeScript?

A lot was happening back in 2018. A Googler put together a proposal to add ignorable "pluggable" type annotations to JavaScript, which would allow browsers to run TypeScript directly without transpilation (and without type checking). [https://github.com/samuelgoto/proposal-pluggable- types](https://github.com/samuelgoto/proposal-pluggable-types)

And a member of the TypeScript team at Microsoft put together a proposal to add enums to JS. [https://github.com/rbuckton/proposal- enum](https://github.com/rbuckton/proposal-enum)

Neither one of these seem to be active. What happened? What would it be like to get these landed?

<comment><USER9> TypeScript already supports writing type defs as comments in JS files. You get the static checking benefits of TypeScript and can run your code in a browser.

It also has enum support. If someone wants to add enums to EcmaScript, it has nothing to do with TypeScript or their team.

<comment><USER10> yup, via JSDoc.

</comment></comment></comment><comment><USER11> The biggest thing killing me right now with TypeScript is more of a general ecosystem issue. That issue being how TypeScript interacts with the concept of "workspaces" and Yarn's Plug'N'Play system. I use TypeScript with ts-node pretty heavily. I'm also trying to use a shared source package outside the root workspace file hierarchy :/

</comment><comment><USER12> > @ts-expect-error

I glad to see this. One of the most painful moment was when writing tests in TS. You will have to deal with countless type errors.

Although @ts-expect-error will partially solve the problem, what I have learned is don't write tests in TS - you should test it in the real runtime environment where there is no type checking.

</comment><comment><USER13> Half of the changes are due to the language server implementing refactoring and other similar stuff.

This shows clearly why the language server protocol is such a bad design decision and so broken — every language has to implement it itself, and there are no shared features or functionality across languages.

Coming from IDEA, where the exact same refactoring functionality and features work no matter if using typescript, kotlin, Rust, C#, golang or dart, _exactly_ identical in all ways, this has been a huge issue for myself.

Languages Servers should just expose a clean standardized AST format, representing standardized nodes, and this should in turn allow the IDE to act upon this (which would immediately be represented in changed source).

<comment><USER14> I feel like this is wishful thinking. There is no way you can abstract away so many differences between languages for this to work effectively (or anywhere near as good as a tailor fitted refactoring engine to specific languages)

IDEA does a lot of language specific stuff, it just unifies the UX. Which is what language servers aim anyway.

BTW, I'm a long term user of powerline-go. Fantastic piece of software!

<comment><USER13> > IDEA does a lot of language specific stuff, it just unifies the UX. Which is > what language servers aim anyway.

Yeah, but with IDEA I have the exact same functionality for Rust, Typescript or Java, while the language servers will never agree on the exact same functions being called the same and doing exactly the same. It means relearning your editor every time you switch your language.

I realize I'm probably in the minority as a person who writes basically every project in another language, whichever happens to work best for the project, while most others probably use only a few languages for most of their career, but it's still annoying.

</comment></comment></comment><comment><USER15> Mixing commonjs requires and imports is nice.

</comment><comment><USER16> IMO, until TypeScript gets the following features, it's not worth using:

\- Native TypeScript runtime interpreter in Deno (TypeScript alternative to Node.js).

\- Native TypeScript runtime interpreter in all major browsers.

\- At least 20% performance improvement over plain JavaScript.

The build step has to go away because:

\- Source maps are unreliable, bulky, slow and add too much complexity for some environments; many environments fail at using them correctly and this can make it difficult to debug code. Being forced to debug ugly transpiled JavaScript is unacceptable and should never happen.

\- It's slow to work with. TypeScript often claims to be 'scalable' but reality is that large projects often take multiple minutes to build for every change. There are no good incremental build solutions which also do proper type checking. There is no runtime type checking.

Native browser support is also essential. The bundling step makes in infeasible to freely mix and match modules written in the two languages in a way which is debuggable.

Microsoft should look into Adobe Flash's ActionScript 3 migration from ActionScript 2 for inspiration (both based on ECMAScript spec BTW, just like JavaScript/TypeScript). I remember ActionScript 3 clearly because it was able to deliver a 40% speedup AND runtime type checking...

In spite of these huge benefits, I remember that some developers were still hesitant to switch to ActionScript 3! This new generation of developers has clearly lost its ability for critical thinking - I find the current complete lack of resistance to TS is very strange.

There are a lot more reasons to resist JS to TS migration compared to AS2 to AS3 migration.

I remember in AS2, most people were not declaring types in their code (even though there was support for compile-time type checking). Only in AS3 people started adding Type annotations to their code.

<comment><USER17> > IMO, until TypeScript gets the following features, it's absolutely not worth > using

That doesn't make sense. Browsers are unlikely to add native typescript support in the foreseeable future; whereas meanwhile typescript offers huge benefits compared to untyped javascript when it comes to large codebases and refactorings.

<comment><USER16> >> that doesn't make sense. Browsers are unlikely to add native typescript support in the foreseeable future;

It's not my fault that browsers are not going to do it. It doesn't change the fact that it is necessary and that TS is useless without it (the cons outweigh the pros).

>> huge benefits compared to untyped javascript when it comes to large codebases and refactorings

I've provided you at least 1 robust argument why this is not the case. You've provided 0.

I can provide another argument against this:

TypeScript only protects the code from compile time type mismatches, it does not prevent every other possible kind of error; it does not even protect the code from runtime type mismatches (for example from JSON objects passed in an HTTP or RPC request).

It also does not protect from race conditions, memory leaks, issues with multiple sources of truth, unexpected asynchronous state mutations, poor choice of abstractions, poor encapsulation of state changes, poorly handled runtime exceptions, poorly handled runtime schema validation errors, bidirectional data flow issues (which lead to glitchy state changes and infinite loops), poor choice of ADTs which lead to inefficient code, poor choice of libraries for the use case, misuse of common programming patterns, and any other major logic errors... At best, it projects code from only 5% of all possible bugs; typically the simplest, most obvious kinds of bugs. Please think about this objectively. TS adds value, but very little value and also it takes away value in other ways.

For the really difficult runtime bugs which take serious debug time, it adds no value; it makes debugging harder because of its reliance on source mapping.

And by the way, instead of down-voting, please try to convince me otherwise because I'm really suffering with the new TS-first reality (I'm on the losing side). I really do want to see the light but I'm not seeing it at all.

I'm seeing masses of people running towards a cliff. I know there is a cliff there because I pulled myself out of it (learned the hard way) and have been walking in the opposite direction for the past few years and I don't see why I should go back there simply because that's the direction where all the cool people are heading.

<comment><USER17> > I've provided you at least 1 robust argument why this is not the case. > You've provided 0.

I can share anecdotal data about my own experience while refactoring: I do rely on the type checker (be it Flow or TypeScript) to alert me when my code changes have introduced type errors. Every time I run the type checker I realise that it would have taken me ages to read through my code and hunt down the type mismatches that might have been introduced.

I can also point you to the famous AirBnB's slide, which says that they estimate that around 40% of their bugs can be prevented with TypeScript [0]

> TypeScript ... does not

Sure. It's not perfect. It's not Haskell, or PureScript, or Scala, or OCaml. But it does protect you from some of the errors. Protection from some of the errors is better than no protection at all, that's my opinion.

As a bonus point, type annotations serve as a living documentation of your code.

> instead of down-voting, please try to convince me otherwise

I did not downvote your post. I do not downvote other people's posts.

[0] - [https://twitter.com/remohjansen/status/1093815648566894594?l...](https://twitter.com/remohjansen/status/1093815648566894594?lang=en)

<comment><USER16> >> I can share anecdotal data about my own experience while refactoring

I totally understand what you're talking about here. I know that TS feeling of being able to just tell the IDE to rename that variable or type anywhere and have that change automatically applied everywhere in the whole codebase. That said, my anecdotal data (having gone back and forth between first AS2 and AS3 for several years and then later between JS and TS multiple times over many years) is that good tests (especially integration tests) even with modest coverage are equally good at finding these sorts of bugs. If I forgot to rename a variable, my tests will fail straight away.

Also, usually I try to keep my classes and functions localized with well defined responsibilities so that any specific kind of data does not need to traverse too many different files; that makes refactoring a lot easier. IMO, not using TS puts more pressure on me to design code in this way and this design approach yields many other benefits.

It takes encapsulation to another level. For example, I don't even believe in the idea of 'cross-cutting concerns' anymore (which is central to the Dependency Injection pattern). For me, the idea of cross-cutting concerns implies a violation of the separation of concern principle (a violation of the cross-cutting kind to be exact). There are almost always ways to avoid these in your code and doing so is always worth it if the programming environment allows it.

>> I can also point you to the famous AirBnB's slide, which says that they estimate that around 40% of their bugs can be prevented with TypeScript

I did read that article when it came out but my point of view on this is that if mostly the same developers rewrite a project (even if they did so in the same language), I would expect at least 40% to 50% fewer bugs. I don't think TypeScript should get the credit there. The reality is that people learn from their mistakes so if they rewrite something, it's going to be better the next time round.</comment></comment></comment></comment></comment>


A gentle reminder that RAID doesn't make offsite backups - <AUTHOR> http://journalspace.com/this_is_the_way_the_world_ends/not_with_a_bang_but_a_whimper.html

<comment><USER2> It is astonishing that a site with years worth of User-generated content didn't have any sort of backup plan. Or just years worth of data in general!

RAID isn't a backup solution, _period_.

</comment><comment><USER3> And no wayback machine either, ouch:

<http://web.archive.org/web/*/http://journalspace.com>

 _"We're sorry, access to<http://journalspace.com> has been blocked by the site owner via robots.txt."_

<comment><USER4> Their robots.txt shows they allowed Google (at an extreme 3-minutes-between- fetches crawl-delay), but no other search engines, nor the Internet Archive.

Otherwise, a tool like 'Warrick' might get back a significant portion of the content -- especially any that was old and well-inlinked. As it stands, maybe they can scrape a little from Google's cache.

Warrick: <http://warrick.cs.odu.edu/>

</comment></comment><comment><USER5> The warning about RAID is well-founded, but I'm finding it hard to imagine what sort of backup plan could defeat deliberate sabotage by a former insider. I keep coming up with ideas, and immediately thinking of problems with them. Short of visually examining a substantial number of backed-up files to confirm they contain genuine and correct data ... but then wouldn't it be possible, with enough effort, to create data that looked superficially valid but was in fact, on much closer inspection, mixed up beyond usefulness?

RAID isn't a guard against filesystem bugs, carelessness, or extreme physical server damage, but it seems to me this is more of a warning against bad blood.

<comment><USER6> If they had been backing their stuff up to AmazonS3, or just dragging a USB disk into the datacenter every month, they would have a copy of the data. And more than likely, if they used the S3 option, they'd have a copy current from the night before.

Somebody has to eat the broccoli and do the shit work of making sure that the data is backed up; if you can't do that or you hand off the job to the sort of person who is going to sabotage your company because they don't feel appreciated... you aren't a startup, you're a hobby.

<comment><USER5> The suspected culprit was the chief IT person at the company, and I think we're being led to believe he was both clever and motivated. USB disks would likely contain garbage data N days before the culmination of the sabotage, where N is whatever it takes to make sure the full rotation schedule gets ruined.

On the other hand, it probably isn't a coincidence that this happened to someone who had no backups at all.

<comment><USER7> At a high level the way to defeat this kind of attack is to require more people to be involved. Large conspiracies most often fail.

In this case that could mean having 3 USB disks, each with their own 'owner'. The owner of each disk would be responsible for making the backups and storing them in a place only they can access.

This is also lesson on how to let someone go. They say it's possible that a former employee may have done the deed. When letting someone go on bad (and even good) terms you need to have IT disable all of their accounts as soon as possible, preferably while they are in-process of being fired.

</comment></comment></comment></comment><comment><USER8> Not even a dev server or QA server with some version of the database? Not even a one-off manual backup from ages ago? _nothing_?

Pretty amazing.

<comment><USER9> Come to think of it I find this pretty much impossible to believe. Unless the data set was many, many terabytes of data, surely there would be some sort of copy of the database somewhere? Even the schema with some reference data...

<comment><USER2> That's entirely possible, but if the data is years old or simply reference data, what's the point? They just lost years worth of peoples' blogs (or whatever). That isn't really something that can be recovered from. Would you go back? Would you recommend it to a friend?

<comment><USER9> If I owned JournalSpace and only had a schema left, I'd want to give it another go, done properly. You still have the name, pagerank, domain name etc. Sure, your name is (rightly) dirt for a while but I'd still want to give it a go...

</comment></comment></comment></comment><comment><USER8> Or on-site backups, for that matter.

<comment><USER10> I am absolutely certain, having been in a similar situation, that the sysadmins kept saying "we need this" and the accountants kept saying "no". I am also certain that the business will blame the sysadmins for not "selling" it to them.

<comment><USER8> Sure, I've been in similar situations too... but if it means buying a USB hard drive on the office supply budget and running manual backups to that, so be it.

</comment></comment></comment><comment><USER11> "Real men don't take backups, but they cry a lot."

That said, it's really hard to do backups of lots of data.

<comment><USER12> If you can fit all of your data on one large drive, then it's not hard to do a backup.

<comment><USER13> that's not true. transferring a large amount of data in a consistent manner can be difficult. dumping your database without taking down your live site (or seriously impacting performance) can also be difficult without a dedicated backup slave. and the same can hold for any storage solution where you are short on IOs, no matter if the data fits on a drive or not.

<comment><USER8> I dunno, dude. This doesn't seem like a high that requires extremely high availability.

And anyway, if they can deal with rebuilding a RAID after a failed drive then (by definition) the site can deal with copying all the data off the drive. Heck, you could periodically yank a drive our of the RAID and replace it with a fresh one, and you'd have a backup.

<comment><USER7> Just yanking RAID drives isn't a way to guarantee DB consistency, especially if it's RAID5.

Database backups almost universally have to be made by the database system. This is no excuse for lacking a backup system; backing up databases is a solved problem.

<comment><USER8> Seems pretty clear that it's RAID 1 (mirroring). And isn't that exactly what RAID guarantees in a mirroring setup? That the two drives will have the same bits?

<comment><USER7> Even RAID1 doesn't guarantee this'll work. There are many ways simply disconnecting the secondary drive while cause problems:

1) The app may be in the middle of a series of DB commands that all need to complete with success before the DB is consistent at the app layer.

2) The DB is in the process of writing out some table rows and hasn't finished.

3) The DB has written some temporary locks to portions of the database that need to be released.

4) The OS hasn't committed writes from the DB to disk

5) The disk hasn't committed writes from the os to platter yet.

Your best bet of this working is to cleanly shut down your app, then cleanly shut down your DB and run an fs sync. After all that it might be ok to yank the drive.

Just yanking a RAID1 drive may work sometimes, but I wouldn't count on it. Especially when every DB system I know of has some sort of backup/dump mechanism. As someone else mentioned, RAID is great for providing high availability, but it does not provide disaster recovery.

<comment><USER10> With any sane storage subsystem you can un-mirror and re-silver hot. Lots of people used to back up Oracle like this (using a 3 way mirror), so you'd only be in hotbackup mode for a minute. This was before RMAN.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> That's what you get for shouting at those disks. Oh, different story. Sorry. :)

</comment><comment><USER15> Speaking of off-site backups, I have recently discovered <http://www.jungledisk.com/homeserver/index.aspx>

It backs up your stuff to S3, and it can work on your Mac/PC, or on Windows Home Server. Have't tied it yet, but looks pretty neat.

Also, new NAS from HP has built-in S3 backup: [http://www.engadget.com/2008/12/29/hp-mediasmart-server- ex48...](http://www.engadget.com/2008/12/29/hp-mediasmart-server-ex487-gets- hands-on-love-and-full-blown-rev/)

<comment><USER14> I agree. JungleDisk is an easy to use program that allows you to back up on S3, and it works with GNU/Linux as well. For $20, you get unlimited free updates, unlimited installations tied to the same S3 account, and all three versions (Mac, Windows, Linux). Amazon S3 is pricey, but this program looks like a great deal. Other recommended services are Dropbox and CrashPlan.

<comment><USER16> I love Dropbox and I am a recent convert to it, thanks to someone remarking about it in a HN thread a few weeks ago. I now have my critical (encrypted) accounts & passwords file in Dropbox on computers both at home and work. I like that it's cross-platform too. I haven't heard about CrashPlan before, so I am going to Google it now. Thanks.

</comment></comment></comment><comment><USER17> A reminder also to keep a local copy of your blog, or whatever, that, for all you know, is hosted like this.

<comment><USER18> It's a good thing that stuff like this doesn't happen too often, or people would be more wary of trusting all their data to web services.

I mean, we _assume_ Google has a really amazing backup strategy for Gmail. We _hope_ they do, because, jesus, I have a lot of irreplaceable information in there. But we don't actually know.

Hmmm... does Gmail have an "export all" feature...?

<comment><USER19> pop3 + fetchmail + crontab makes me feel a whole lot better

<comment><USER20> Sadly it doesn't work for chat... I use a lot of gmail chat, and there is no known way to download a chat archive or anything such.

</comment></comment></comment></comment><comment><USER21> I can't believe that they didn't have _any_ backups. It's not hard to do.

My operation is way smaller, and I have a cron script that runs once a week to dump the database, zip it, and then transfer it to a backup server.

This is one the first things that I set up. It really should be the first thing any company with user-generated content to do.

<comment><USER22> After building the app, of course. Without the app, there's no data to back up. Point taken, though.

<comment><USER10> You'd have a backup strategy in place for your source control system, right? Even if it's just tarring it and scp'ing it somewhere in a cron job.

</comment></comment></comment><comment><USER23> I'd say they deserved to go out of business.

<comment><USER14> I hate to be judgmental. We are humans, we all make mistakes. But it's my understanding that they were operating for several years and hosting the data for many people. Carrying on without a backup plan and hoping for the best was very irresponsible and I agree with you that they, sadly, deserved to go out of business.

<comment><USER16> The only good thing to come out of this is that everyone involved (sysadmins and management) now is (or should be) a devout believer in making routine backups. It's a hard way to learn a lesson, but they're not the first nor will they be the last to learn the hard way.

</comment></comment></comment><comment><USER24> raid 1 mirroring is pretty much only used to prevent downtime. So if your hard drive physically screws up, you still have all the boot sectors intact on the other drive so even a restart wouldn't kill you. I only use mirroring on disks with spinning platters, for solid state I just ignore mirroring. Solid state can go bad, but not as easily as magnetic metal spinning at 7200 times a minute.

<comment><USER5> That should say "dramatically reduce downtime". A small number times a small number is still not zero, and it is possible, though highly unlikely, to suffer a second drive failure while operating in degraded mode. My understanding is that's not what happened in this case, though.

<comment><USER25> It's actually very common for both drives to fail at once. Examples:

\- case fans fail, everything overheats

\- room AC fails, everything overheats

\- power supply goes haywire, toasts drive electronics

\- box falls off the shelf, drives crash

\- fire or smoke damages drives

\- roof leaks, drips onto drives

\- one drive fails but nobody notices for a month until the next drive fails

\- burglars steal box

No, not all these have happened to me.

</comment></comment></comment><comment><USER20> ...'gentle'?

</comment><comment><USER26> There's mention of a staff, but I can't imagine how they survived based on the traffic estimates I've seen for their site (14,000 visitors a month per Slashdot). Does anyone know more about their business model?

</comment><comment><USER27> doesn't the "automatically copied to both drives" mean they're running a Raid 1?

The problem seems obscure...what kind of software bug overwrites all data on disk?

<comment><USER6>
        dd if=/dev/random of=/dev/sda1

</comment></comment><comment><USER28> Especially one that only contains two drives...</comment>