Confessions of a terrible programmer - <AUTHOR> http://blog.kickin-the-darkness.com/2007/09/confessions-of-terrible-programmer.html

<comment><USER3> _Humility is certainly something to strive for, however I disagree that you should envision yourself as a "terrible" programmer._

One thing I've learned the hard way is that self-deprecation only works in British comedy. In the USA most people don't get it and it not only damages your career but your dating and social life, too.

<comment><USER4> This is an interesting and apparently culture-dependent difference. Can you elaborate a bit on this, please?

How it works, and why is it like that? What's the mentality behind people's minds there? Does it hold for everyone, just geeks or everyone but geeks?

What do you have to say in order to look good? How truthful -- I mostly agree with the article -- can you stay while still keeping other people thinking you're good?

<comment><USER5> Think of it as analogous to bling. If you wear lots of gold, drive a sports car, etc, you're showing you've got enough cash to blow it on non-essentials. If you're self-deprecating, you show that you have enough status to waste it by downplaying your achievements.

<comment><USER4> Sorry, I should have been more explicit; I meant the other way around.

The self-deprecating dynamics I get, the U.S. version I don't -- probably just because of that :-) I would still appreciate thoughts on why and how?

</comment></comment></comment></comment><comment><USER6> I enjoyed this article. Humility is certainly something to strive for, however I disagree that you should envision yourself as a "terrible" programmer. Just approach each problem as a student, not an expert.

I doubt Wayne Gretzky skated down the ice thinking "I'm a terrible hockey player", but I do know that he was a student of the game and as a result, one of the hardest working players both on and off the ice - with the results to prove it.

<comment><AUTHOR> Not just humility: the author goes on to explain all his practices to defend himself from himself. These attracted my attention, for no programmer I know enjoys them:

3) Be a testing masochist, i.e., I ruthlessly try to break my own code.

4) Have other programmers inspect my code.

The author goes on to explain how he approached fixing a broken program: to stop catching errors and letting it crash. Which meant getting stack traces and fixing them on the spot. Combined with his aggressive use of assertions, no wonder he fixed it.

<comment><USER7> _These attracted my attention, for no programmer I know enjoys them..._

Really?

Maybe I have competitive split personalties, but testing my code is a lot of times more fun than writing it. And at least for junior developers, getting feedback from those with more experience is probably the most valuable part of a job.

It kind of blows my mind to hear that some programmers commit code they haven't thoroughly tested, or avoid showing their code to other people...

</comment></comment></comment><comment><USER8> To me, the author is like someone who will never really learn to swim well because he can't let go of swimming aids. Dependence on crutches like compile time checking and programming assertions might let you fake it, but there are more productive ways (and languages) to write working code.

1\. Compile time checking can't catch most non-trivial bugs. Even if you swear by it, given the advances in Java IDEs, I would have to be quite lazy (or careless) to write Java code that doesn't compile.

2\. Programming assertions - really? That's what unit testing is for. I like his point about being a testing masochist, but it doesn't sound like he's going about it the right way.

3\. Having other programmers inspect your code can be helpful, but to me it's a luxury that you often can't afford.

 _"If I could bring this kind of a system to fruition, meeting all its requirements and budget and schedule constraints, just by conscientiously applying a slew of techniques for uncovering my programming failings before they got into the final product, then I knew that I would be able to fake it for the rest of my career."_

The author claims his techniques have allowed him to create a good end- product, but at what cost? I could 'fake it' for the rest of my career, or I could invest more effort in learning how to write better code faster in the first place.

<comment><USER9> That's what unit testing is for? True, and do you understand the trade-offs? Unit testing is far more time consuming than assertions. Moreover, you're forced to write artificially short routines, routines of a length that research has shown to have a higher defect ratio. For myself, I've not yet been convinced that the costs/benefits of unit testing surpass the costs/benefits of assertions, at least when you're a small team working on end user software.

<comment><USER10> "Moreover, you're forced to write artificially short routines, routines of a length that research has shown to have a higher defect ratio" [citation needed] So far I've only seen advice to write shorter routines.

<comment><USER11> Indeed, I don't see how smaller, more manageable pieces would be more likely to be defective.

<comment><USER12> Somebody posted a study which showed, IIRC, that ~150 lines was the optimum length for subroutines. I really should bookmark these things...

EDIT: Hooray for searchyc:

<http://news.ycombinator.com/item?id=509978>

<comment><USER13> If you upmodded it, it's bookmarked under the "saved" section of your profile.

</comment></comment></comment></comment></comment></comment><comment><USER14> _If I can't use Ada, well, then Java is the next best choice, since it's got a lot of the same built-in bug detection capabilities._

Seriously? Java has less runtime checking than Perl, and its compile-time type checking prevents only the most trivial errors. If you want to talk about bad type systems, look no further than Java. (Of course, the same could be said about C++ and C too. There is even less of a type system there.)

<comment><USER15> The same could be said about C++. C is a weakly typed language and was designed to be so, so it's type system cannot really be said to be 'bad'.

<comment><USER14> Yes, good point. But a lot of people cite C as "the" strongly and statically typed language, and that's just wrong. ("But omg, you have to say 'int i' instead of 'var i'. Clearly this is strong typing!")

<comment><USER16> C has no types, as a quick (int*)&var will show.

<comment><USER17> Unfortunately, this is not true in the case of type punning. C used to be the language you used when you wanted to access bits. Now with C99 you cannot * (int16* )((int32* )x).

NB, all compilers make exceptions for unions, but the type punning rule stands, and at work we've actually seen code like the above (for a dynamic typing system) compile to NULL instead of the appropriate reference with GCC. Grrrrrrr.

</comment></comment></comment></comment></comment><comment><USER18> This attitude just wouldn't work for me - if I didn't feel like a great programmer and I didn't enjoy coding/designing/testing/releasing so much I would change my job.

Relying on tools and techniques may help me coast through my career - <USER2> where's the fun in that? Tools and techniques are all well and good, but they can't become the crutch you lean on.

And please, please - do try more languages than just Java/C/C++/Ada.

I program in C/C++ with a team of very talented developers. None of us are humble, all of us believe we can be the best and we have a lot of fun. Plus our product is great!

<comment><USER19> Well, I view it as a little different than _feeling_ like a bad programmer. Basically-- you get to a point when you realize "The most important trick to being an amazing developer is always sincerely doubting, checking, and double- checking that fact." I feel sorry for developers who believe they're amazing without that-- they won't truly be good until that feeling dulls somewhat and they start verifying their code by habit as if they were newbie developers.

In my case, I view it more like how Socrates does: "One thing only I know, and that is that I know nothing."

Design and implement as brilliantly as one can, but then use all the tools available to protect oneself from the possible dumbass mistakes that humans inevitably make.

<comment><USER18> It's more fundamental than that - if you don't feel like a great programmer then the techniques described (static checking, unit testing, code reviews) become what you _depend_ upon rather than just tools of your job.

For instance, code reviews are __great __\- but maybe you can't use them in your one-person startup. That shouldn't stop you from _still writing great code_! It may be harder - yes, but you have to have the confidence that you can do it.

I mean consider the author's dependence on static checking. There are a lot of wonderful dynamic languages available (and a lot of great programmers in those languages too!). The author - because of his philosophy of being a "terrible programmer" is simply going to miss out on whole genres of languages and techniques.

IMHO great programmers have confidence in themselves - just as in any other field. Tools and techniques are really secondary.

EDIT: Grammar.

</comment></comment></comment><comment><USER20> Ok I admit that when I used BASIC back in 1979, I put GOTOs in my code.

<comment><USER21> So what?

GOTO isn't evil, it just has no meaningful context without a comment or convention. All the classic 'structured programming' control structures are nothing but simple conjugations of conditional GOTOs -- what they provide is idiomatic context.

<comment><USER22> E.g.:

      clisp> (macroexpand '(dotimes (i n) blah blah blah))

      (BLOCK NIL
        (LET ((I 0) (#:COUNT-2814 N))
          (TAGBODY
            #:LOOP-2815
            (IF (>= I #:COUNT-2814)
                (GO #:END-2816))
            BLAH BLAH BLAH
            (PSETQ I (1+ I))
            (GO #:LOOP-2815)
            #:END-2816
            (RETURN-FROM NIL (PROGN NIL)))))

(goto in Common Lisp is (go ...) )

</comment></comment></comment><comment><USER4> There's the thing between how good you think you are and how good you are when compared to others.

To be honest if you're any smart you will, no matter what, eventually realise that you're actually pretty bad. There's so much you don't know yet and lots and lots of things that bug you because you know you could have done better! This will keep you on toes which in turn makes you better than others. Conversely, it'll be quite a shock to a smart person to realise that others really aren't that smart, far from it.

This phenomenon has actually been studied: after doing some tests good students tend to think they did bad and assume that everyone else is at least on the same level, while bad students tend to think that they're actually pretty good and then assume that most other people must have done it worse.

</comment><comment><USER23> As long as we're talking about programming and (teehee) ego-dissolution: "There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence." - Jeremy S. Anderson

<comment><USER24> I enjoy the line and, living next door to Bezerkley, I take the point, but LSD was invented in Switzerland (by Albert Hofmann) and Unix came out of New Jersey.

</comment></comment><comment><USER25> I didn't understand object oriented programming until I understood the limits of my brain.

<comment><USER26> I only started understanding it when I realised that it wasn't that important.

I think many young programmers are mystified by OOP because they feel as if it's a magic bullet that's supposed to solve all of their problems. When you start out trying to understand OOP you can't figure out how it's going to solve those problems...

IMHO OOP has its place, I use it daily, but it's hardly ever my first approach when trying to solve a problem.</comment></comment>


Angular 2 and the future of HTML5 apps - <AUTHOR> https://www.oreilly.com/ideas/angular-2-and-the-future-of-html5-apps <comment><USER2> Link to video so you don't have to login to O'Reilly

[https://www.youtube.com/watch?v=EKCA8JZAPYM](https://www.youtube.com/watch?v=EKCA8JZAPYM)

<comment><USER3> That's only a 3-minute YouTube excerpt. You'll have to hit the link above to see the entire 18-minute talk.</comment></comment>


Auction ending on last "Make something people want" poster to benefit Watsi  - <AUTHOR> http://www.ebay.com/itm/Make-Something-People-Want-Limited-Edition-Y-Combinator-Watsi-Poster-Framed-/221231979242? <comment><USER2> Cool way to leverage the YC connection.

I worked on the tech side of a big nonprofit for over a year and my first thought is, have you looked at how you can leverage self-organized events and fundraising around your cause?

I've seen it allow a nonprofit with minimal staff grow and scale faster than they ever could with traditional methods. I assume you have something in the works, but I'd be curious to hear what you are working on.

</comment><comment><USER3> I can attest to the quality of this print, I got mine a while back and it is quite nice. Still looking for a frame like the one in the photos though.

<comment><AUTHOR> We are recommending this one: <http://fab.com/inspiration/photo-frame- white-18x24>

It's cheap and looks great around the poster.

Although for some reason Fab took the BUY link down. But they'll probably put it back up again soon.

</comment></comment><comment><USER4> What's the background here?

<comment><AUTHOR> We made a limited-edition set of 400 posters and sold them on www.alvybrooks.com in late April. They sold out in less than 24 hours. The very last poster is being auctioned so we can raise even more money for Watsi.</comment></comment>


$1,499 floating tent that lets you wake up on the water continues to sell out - <AUTHOR> https://www.cnbc.com/2018/02/22/floating-1499-smithfly-shoal-tent-lets-you-wake-up-on-the-water.html <comment><USER2> Maybe I'm over thinking this but wouldn't a pontoon raft be safer and last longer?Withe price of palettes and plastic barrel you make one for about $500 and then just put a cheap tent on. To each their own tent for $100.

<comment><USER3> Had a friend who, in a drunken spree, constructed a pontoon raft out of palettes and plastic barrels. Sitting on that thing was the focal point of like 2 summers. Definitely recommend!

</comment></comment><comment><USER4> In Asheville, the cool thing to do is to put a King-sized inflatable bed on the river and fall asleep with a mosquito net cover.</comment>


Android developer, looking for internship - <AUTHOR> I am new to Hacker News, so I am not sure if this is a good way to go with things, but I am a student from the University of Waterloo, 4th year in Computer Engineering. I have done 3 software development internships so far, and 3 other internships related to technology as well. I am currently in love with Android development and working as a freelancer. I have competed in hackathons, and an Android app my team made ended up being in the top 6.
I have an internship coming up this September that should last for 4 months. September - December. I am looking for a great team that can teach me a lot as I near graduation!! I am interested in a growing company that stays on top of technologies.
My LinkedIn profile is more detailed https://www.linkedin.com/in/dougouk/
Thank you! <comment><USER2> Hi there,

I posted a thread about an hour ago about volunteers needed for a Hackathon my organisation is running this upcoming November.

I'm not sure if you'd be interested in this type of thing, but if so please let me know.</comment>


Bent horizon photos - <AUTHOR> http://www.atlasobscura.com/articles/aydin-buyuktas-photos-flatland <comment><USER2> I've always thought racing games should take this perspective, which would fix the problem that (in first person view) your most important information (how does the road ahead curve?) is concentrated in a small part of your screen and hard to see. This would combine the utility of a minimap of the road ahead and the nice overview you get going downhill in a single view.

I've already made 2 prototypes of it (a race-track on the inside of a sphere), but as always, didn't get very far. There's probably a more optimal projection to be found than a sphere, but it's an easy start.

<comment><USER3> Clever idea, would probably work well for an arcade style game if you're set on a first person view. For a "driving simulator" type (Forza, for example) game, first person is used for a more authentic experience, in which case, you may as well turn the minimap off anyway and learn the course the way you would in real life.

</comment></comment><comment><USER4> "Here & There" is a street map taking a similar approach: [http://berglondon.com/products/hat/](http://berglondon.com/products/hat/)

</comment><comment><USER5> [http://www.aydinbuyuktas.com/](http://www.aydinbuyuktas.com/)

<comment><USER6> The Parallel Universe II images under the Portfolio menu make me feel nauseous.

</comment></comment><comment><USER7> I saw these the other day and wondered—could you make these programmatically with a drone? Have it lift off, tilt downwards, and stitch them together...

<comment><USER8> I get the sense that that's exactly how these were created. The transition from ground view to aerial view gives no hint of a full-sized aircraft's ideal lift-off point.

These are probably all hand-stitched though, with photo manipulation tools, and not programmatically generated, since it seems to be a one-off project inspired by the surrounding environment and terrain. It's likely possible to program a utility that creates these, as a follow-up phase to the general concept.

<comment><USER6> From the article: _Using his skills in 3-D animation and visual effects to assemble multiple overhead shots into seamless photographs_

<comment><USER9> The foreground shots are not overhead shots, which is why a drone seems the most (if not only) plausible source for the raw images.

</comment></comment></comment></comment><comment><USER10> I had some tears ago the idea of using this proyection for navigation maps in cars. This was when inception came out of course. The idea was adding a new kind of display for your TomTom in your car windshield. Obviously you need a very powerful hud-augmented reality generator to display a map like this in your windshield and don't have the image block your actual road view. Way too out of current technology and my capabilities. We'll have to wait some more years for something like this.

</comment><comment><USER11> Reminds me of that city-bending scene from Inception

[https://youtu.be/dG22TcpjRnY](https://youtu.be/dG22TcpjRnY)

<comment><USER12> To me it looks like what a person living inside a Standford Torus would see:

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

<comment><USER13> There was a really cool Standford Torus in Elysium.

[http://i.imgur.com/YbPQn56.jpg](http://i.imgur.com/YbPQn56.jpg)

</comment></comment></comment><comment><USER14> Could creating automated software for this be a potential computer science master thesis? I know this would be alright for a bachelor and probably not substantial enough for a PhD thesis. But I'm wondering if it is academic enough for a master thesis.

I might consider to switch, since what I'm doing now is not a project I believe in and I'm only doing it to get the paper.

<comment><USER15> As a student, I would find that an interesting thesis. As your advisor I guess.

I'm working on a generalization of this concept to rendering, but I'm not sure I would publish the results or just write informally about it. The idea is to generalize light rays to depend on the geometry of the scene, allowing them to bend to reach more interesting parts (behind objects or the horizon) as a global function of the scene configuration.

<comment><USER16> Sounds really interesting - post it on HN whenever you publish?

I like the idea of VR/AR user interfaces where light rays bend interactively according to controller/gaze position. So for example by looking at the edge of an object the light rays bend so you see behind it. Or by looking off into the horizon the entire landscape folds over like in these photos. Possibly vomit-inducing and useless, but I still want to try it.

</comment></comment></comment><comment><USER17> I don't understand why, but these pictures make me uncomfortable.

<comment><USER18> Because of our brains' instinctive perception of _the trap_ , maybe.

We automaticly find ourselves wandering around the surroundings pictured in these works, but we can't really _wander_ , because it's like a hamster wheel (or let it be a hamster _cylinder_ ) - there is no _horizon_ , so it restricts our ability to dream about & expand the fantasy world. No freedom for our imaginations there.

Thus, it's actually a good thing to feel uncomfortable. It tells about our _eagerness_ for both physical & imaginative _freedom_ , IMHO.

</comment></comment><comment><USER19> This would be great for a live map view of a GPS navigation device.

</comment><comment><USER20> I would totally buy a 40x15 print of these to hang in my house.

</comment><comment><USER21> What if you bend them the other way? Oh, nm.</comment>


US Leads All Developed Nations on Teenage Pregnancy - <AUTHOR> https://kyso.io/helenadomo/adolescent-pregnancy-world <comment><USER2> Do you think maybe this has something to do with lack of mandated sexual education (other than thumping on abstinence)?

There's also Colordo's experience with IUDs: [https://www.denverpost.com/2017/11/30/colorado-teen- pregnanc...](https://www.denverpost.com/2017/11/30/colorado-teen-pregnancy- abortion-rates-drop-free-low-cost-iud/)

This is the kind of birth control that we as a people seem to want to ban, though: [https://bust.com/feminism/14138-colorado-is-shutting-down- aw...](https://bust.com/feminism/14138-colorado-is-shutting-down-award- winning-iud-program-for-a-really-stupid-reason.html)

<comment><AUTHOR> I think that sexual education is super important at early ages, it should be a mandatory class in all schools, at least people should know what is sex, how to prevent unwanted pregnancy, which one are the contraception methods, sexually transmitted diseases, etc.

But also, there has to be easy access to economic and effective contraception methods

</comment></comment><comment><AUTHOR> Also, 19% of pregnancies (excluding miscarriages) in 2014 ended in abortion. Approximately 926,200 abortions were performed in 2014, down 12% from 1.06 million in 2011.</comment>


New MongoDB alerts and advisories page - <AUTHOR> http://alerts.mongodb.org/

<comment><USER2> I read recently that mongo has a global lock on write. That was news to me, does anyone have more info?

<comment><AUTHOR> Currently, there is a global read/write lock. MongoDB does extensive yielding and tracking of on vs. off disk to mitigate the effects of this. In subsequent versions (2.2) , we'll be lowering the scope of this lock as well.

<comment><USER3> So only one read at a time?

<comment><USER4> You can read concurrently, but the write lock will block read locks.

[http://www.mongodb.org/display/DOCS/How+does+concurrency+wor...](http://www.mongodb.org/display/DOCS/How+does+concurrency+work)

<comment><USER5> If you have a lot of writes, this is a KILLER. You need to be very careful here.

Note, even with Read-Slaves, you are STILL blocked, since each write replicates to each Read-Slave, and counts as a blocking-write on that slave while it replicates in.

We dramatically increased application performance when we refactored to remove a lot of little writes for things like caching, and moved them to memcache.

<comment><USER2> Does this make mongo a bad choice for storing real time statistics?

<comment><USER6> You always have to benchmark for your own use-case.

This is even more true for mongo than for other databases because mongo doesn't degrade very well; when you overload it with writes it will effectively grind to a halt.

This is documented e.g. in the clustrix benchmark: [http://sergei.clustrix.com/2011/01/mongodb-vs-clustrix- compa...](http://sergei.clustrix.com/2011/01/mongodb-vs-clustrix-comparison- part-1.html)

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Is this page new as of this past week [edit: its new as of today]? Either way, every large software project should always try to have some standard page for this sort of information, so kudos to them for now having one (and its a visible link on the homepage too).

<comment><USER8> it's new.</comment></comment>


Broadcom: Stack buffer overflow when parsing CCKM reassociation response - <AUTHOR> https://bugs.chromium.org/p/project-zero/issues/detail?id=1051 <comment><AUTHOR> I'm wondering if this is the bug referenced in iOS 10.3.1 - [https://support.apple.com/en-us/HT207688](https://support.apple.com/en- us/HT207688)

I also wonder if this affects MacBooks? Some of them, at the very least, ship with "Card: AirPort Extreme, Firmware version: Broadcom BCM43xx" according to System Information.

Edit: Also, speculating on the impact. Is it possible that an attacker can construct a device that can spam unauthenticated wifi frames that will be interpreted by devices in the pockets of passersby, triggering a buffer overflow, gaining RCE in the wifi chip, and then use DMA or somesuch to read out all main system memory, or maybe even write an RCE shellcode to the main operating system? Sounds pretty deadly if your device can get rooted automatically just by being nearby another device. Glad this was found by Google Project Zero and responsibly disclosed, hopefully the bad guys haven't found anything similar :O :)</comment>


Basic Category Theory (textbook) - <AUTHOR> https://arxiv.org/abs/1612.09375 <comment><AUTHOR> From the introduction:

 _This is not a sophisticated text. In writing it, I have assumed no more mathematical knowledge than might be acquired from an undergraduate degree at an ordinary British university, and I have not assumed that you are used to learning mathematics by reading a book rather than attending lectures._

 _... the list of topics covered is deliberately short, omitting all but the most fundamental parts of category theory._

 _... Each new concept is illustrated with a generous supply of examples, but it is not necessary to understand them all. In courses I have taught based on earlier versions of this text, probably no student has had the background to understand every example. All that matters is to understand enough examples that you can connect the new concepts with mathematics that you already know._

</comment><comment><USER2> also at [https://news.ycombinator.com/item?id=13305435](https://news.ycombinator.com/item?id=13305435) (56 comments so far)

<comment><USER3> Indeed. This submission is a dupe of the one you link to.</comment></comment>


Who is paid for working on their passion project and whats it worth? - <AUTHOR>

During my first internship working on a niche B2B product I asked the senior developers if they envisioned themselves working on this project when they got their first job.
They answered that when they started work they had aspirations to be on projects that they were personally interested in or develop things that would have a profound effect on the public.
Then they went on to say that you get over it quickly, programming is programming and you only hope to get to solve interesting tech problems even if they are on boring products and ultimately the pay check is king.
This bugs me and even with my own side projects, I find losing 60 hours a week to something I am not passionate about disheartening.
My question is: what are you will to trade to get a job working on a project you like? <comment><USER2> Cal Newport has a lot of really good things to say on this subject. I would strongly encourage you to read some his thoughts:

[http://calnewport.com/blog/2010/10/16/the-passion-trap- how-t...](http://calnewport.com/blog/2010/10/16/the-passion-trap-how-the- search-for-your-lifes-work-is-making-your-working-life-miserable/)

[http://calnewport.com/blog/2011/02/14/zen-and-the-art-of- inv...](http://calnewport.com/blog/2011/02/14/zen-and-the-art-of-investment- banking-when-working-right-is-more-important-than-finding-the-right-work/)

And especially: [http://calnewport.com/blog/2010/11/12/the-pre-med-and-ira- gl...](http://calnewport.com/blog/2010/11/12/the-pre-med-and-ira-glass- complicated-career-advice-from-compelling-people/) (And within this article, especially the 2 paragraphs starting at "This advice is less sexy than the popular notion that with a little self-reflection you can identify your dream job right away.")

There are probably no legitimate get-rich-quick schemes, and there are probably no legitimate get-perfectly-fulfilling-work-quick schemes either.

</comment><comment><USER3> Here's a better question: what will you do when the project that you liked when you joined has changed?

New management doesn't see things they way the old did; the project has morphed into something completely different; the users decided they didn't need something quite so world-changing; all the fun stuff is done and only the boring tedious last 5% (that now takes 95% of the time...) is left to do.

How will you respond to that?</comment>


State Incentives Bringing SpaceX Commercial Launch Facility to Texas - <AUTHOR> http://governor.state.tx.us/news/press-release/20001/

<comment><USER2> I lived in Cameron County 11 years ago. One of the poorest counties in the USA. The joke down there is, "I love living here because it is so close to the United States!"

Most people in the USA don't realize how far south texas goes. This place is 6 hours south of Houston and 4 hours south of San Antonio. Nice to see this investment made! Excited to go back and visit.

<comment><USER3> I like taking virtual tours of remote locales using Google Street View. Here is a lovely neighborhood in Edinburg, TX, at the southern tip of the state: [http://bit.ly/1y09dGC](http://bit.ly/1y09dGC)

<comment><USER4> Reminds me of some neighborhoods in inland California.

</comment></comment></comment><comment><USER5> Speaking of SpaceX, T-15min to Asiasat-8 launch now: [http://www.spacex.com/webcast/](http://www.spacex.com/webcast/)

<comment><USER6> Looks like the launch was aborted at T-0:12.

<comment><USER7> They actually called it at T-0:46, just didn't update the counter.

</comment></comment></comment><comment><USER8> $15.3 million for 300 jobs. That's $51,100 per job. Not counting what no doubt are significant tax incentives as well.

Free markets are awesome eh? ;-)

<comment><USER9> I recently read about a study of these sorts of programs in the US and it concluded that the average price to get jobs to your State is $100,000 pr job.

<comment><USER10> Did the study conclude these deals are a cost to the states that provide them? I guess what I mean is are these tax incentives a net negative over 20 years?

<comment><USER8> Yes, over 20 years they probably are a net positive for the states (though perhaps not always in _direct_ revenue for the employers). However, that's looking at the deal in isolation, rather than the the impact this has on the market as a whole. It becomes a huge competitive advantage for larger, national & international companies, not to mention a huge distortion on the market and in the end substantially cuts down state revenues (the company was going to set up shop _somewhere_ even if they weren't offered a cent).

<comment><USER10> I guess I'm not so sure it's a negative for the market as a whole. It allows for some sort of company-buying-market where a non-attractive-location-state can really pull in valuable employers which they otherwise they would not have.

<comment><USER8> You mean if we can funnel tax friction on local businesses to distort the market enough so that the national & international employers they compete with have reduced friction if they make otherwise suboptimal decisions for locating parts of their business, everyone wins? ;-)

In isolation maybe, but in aggregate it means national & international employers have an additional advantage over local employers, state coffers are thinner, and far more jobs lack long term prospects (because hey, if it only made sense to set up shop when there was a big windfall attached to it, sooner or later it makes sense to go after another windfall somewhere else and shut down what you are doing there).

<comment><USER10> Haha yeah pretty much your first paragraph sums up what I was thinking. I wouldn't word it so drastically, but I like the point you make at the end: if there's no real investment by business in the community, then why not just relocate when the conditions are optimal? (e.g. another tax break)

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> > offering $2.3 million ... also offering $13 million

$15.3 million seems like a paltry incentive compared to what I _perceive_ the cost of a launch facility to be. Can someone in the know clarify how generous these grants are, especially relative to the cost of a launch facility?

<comment><USER12> The article says "this facility will create 300 jobs and pump $85 million in capital investment into the local economy." I suspect that means the launch site will cost $85 million to build.

<comment><USER11> Yes I read that, but I imagine that means that the total cost is at least $85 million. R&D and components done/made elsewhere aren't going to be figured in to that $85 million.

</comment></comment></comment><comment><USER13> I seem to recall reading that it is advantageous to launch a rocket closer to the equator, and Cameron County is at the southern tip of Texas. Wouldn't it seem more likely that location played a bigger role in SpaceX choosing Texas than the incentives?

<comment><USER12> Florida and Puerto Rico, alternatives considered by SpaceX, have locations even closer to the equator than Texas. And non-US locations have options far closer to the equator. Being southern is good, but other factors are important too.

<comment><USER14> Florida is closer, but the possible launch sites are not. Still, both those sites and the Texas site are far enough south that, as you say, going further south doesn't buy much.

</comment></comment></comment><comment><USER15> Surprised Musk did this after Texas kind of fucked him over by banning direct sales of Tesla motors.

Good to know he doesn't hold grudges at least.

<comment><USER16> Texas is right-to-work state. Musk is a smart guy.

<comment><USER17> You should pay a visit to SpaceX company. Union/non-union is a non-issue.

Edit: Come to think of it, Elon would be very very happy if rocket manufacturers really had to deal with union the way car/plane makers do. That would mean rocketing across space is really like getting on a jet liner. But we all know that's many years away.

So yeah, union/non-union is a non-issue for SpaceX.

<comment><USER18> Union/non-union may not seem like an issue inside SpaceX, but the view from other workers in the industry may not match that. Last month, I was at a 4th of July party which happened to be mostly space workers, and when I brought up the subject of SpaceX the consensus was, 'Cool company. I'd totally work there if the salaries weren't so low.' It surprised me, since I tend to associate up-and-coming companies with money from the Valley with higher salaries.

There are definitely unions in the aerospace industry. My uncle was involved with a strike at United Launch Alliance a few years ago. It's actually the only time I can remember any member of my family going on a picket line.

<comment><USER19> You definitely don't work at SpaceX for the money. Their salaries are below market rate, the hours are brutal, but you're bootstrapping planetary travel. Just depends on what your motivations as a person are.

Disclaimer: I applied for a low-paying SpaceX IT position in Cape Canaveral, because Mars.

</comment></comment></comment></comment></comment><comment><USER20> Not being a rocket scientist, I am unfamiliar with some details. Aren't there only a very small number of launch sites even viable for consideration in the US for this kind of activity? Something about being close to the equator, and not landing your rocket on a major city. So, South Texas and... ummm...

<comment><USER12> Yes. To save fuel, many rockets are launched west to east (they get a headstart from the Earth's rotation). Launching close to the equator helps the most, because rockets get the biggest headstart. To minimize risk to people, launch sites are in locations that have low-population corridors for long distances to their east. Texas and Florida are both southern, with ocean to their east, so they make ideal launch sites for the United States.

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

For polar orbits, there is a spaceport in Southern California that launches north to south (so that its flights also go over ocean).

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

Interestingly, you might think that launching from high elevation helps (starting at Mr Everest would give you a headstart), but the benefit is small, a fraction of a percent.

<comment><USER21> The velocity boost for launching from nearer the equator is only part of the advantage. Another major factor is that many of the most expensive commercial payloads (such as major geosynchronous comsats) need to end up in equatorial orbits. The latitude of the launch site is also the minimum inclination of the initial orbit the launch vehicle can provide. At the equator you can launch into any orbital inclination. At the North Pole you can only launch into polar orbits. At 45 deg. latitude you can only launch into orbital inclinations of 45 to 90 deg. The higher the initial orbital inclination the more work you'll have to do (the more delta V you'll have to apply) in a plane change burn in order to get into an equatorial orbit.

<comment><USER22> Bonus points if you didn't learn that from playing KSP.

</comment></comment></comment></comment><comment><USER23> I've always thought the goal was to launch from south Texas and to land the 1st stage in Florida. I don't know if that's too far, or not far enough. Maybe second stage? Although the second stage is a lot higher and faster at the end of it's burn.

<comment><USER22> The actual goal stated by SpaceX has always been to land the first stage at the facility it launched from. Bear in mind the first stage doesn't actually travel all that far down range comparatively speaking. It's primary job is to get the second stage up out of as much atmosphere as possible.

</comment></comment><comment><USER24> Yay! I sure hope this brings back a space themed license plate in the years to come.

<comment><USER25> Recharging a SpaceX licence plated Tesla with Solar City PV installation. Only thing missing is a Blow-up Musk doll for the passenger side?</comment></comment>


How Islamic law held back the Middle East - <AUTHOR> http://www.economist.com/node/18008627

<comment><AUTHOR> It's interesting that the author of the reviewed book believes corporations to be a significant differentiator of the Western economies and their success. Recently the limited liability enjoyed by companies, their executives and directors has been somewhat reduced by the courts. Executives and directors have been held personally liable for some of the more egregious acts of corporate mismanagement in the past ten years.

I guess this just shows that capitalism is not a panacea but a balancing act -- one where the rights of the corporation have to be balanced against those of wider society. The Middle East needs to strike its own balance here too, but one that is far more on the side of freedom than it is now.</comment>


How to Tell if Your Cofounder is a Catastrophe Waiting to Happen - <AUTHOR> http://www.techvibes.com/blog/traits-of-the-wicked-cofounder-2012-11-15

<comment><USER2> I doubt that there is any such thing as a perfect cofounder (I am almost certainly not such a beast myself). The challenge must therefore be to make the best of what you get. Value your team members for what they are good at and try and make up for what they are bad at.

</comment><comment><USER3> This is basically the Narcissistic Personality Disorder (NPD) checklist. Other than that, I wholeheartedly agree.</comment>


Gnome 3.6 first impressions | Simply Beautiful  - <AUTHOR> http://worldofgnome.org/gnome-3-6-first-impressions-simply-beautiful/

<comment><USER2> One thing that bothers me a lot in Linux is font rendering. The default settings in Fedora show a "compressed" font, which makes every label looks horrible, thus Gnome looks horrible.

Apart from that, Gnome 3.6 has some interesting new things, but not enough to make it "beautiful".

</comment><comment><USER3> Beauty is in the eye of the beholder I guess. I mean, take a look this screenshot:

[http://worldofgnome.org/uploads/2012/08/app- overview-700x400...](http://worldofgnome.org/uploads/2012/08/app- overview-700x400.png)

How can you take that serious? I call that a waste of precious screen real estate. A desktop workstation is not a freaking tablet...

<comment><USER4> This view is not shown all the time, so nothing is wasted. And 28 + 6 icons is a lot. I don't see why it should be necessary to fit more icons on the screen by making them smaller.

<comment><USER3> The point I'm trying to make. Maybe it shouldn't be organised like that in the first place.

</comment></comment></comment><comment><USER5> Not a really good review. There is very little informaiton presented on the changes, just a few pictures with detailed comments like, "I can say that is prettier. Much prettier". The under the hood section is also lacking with no real discussion of what changes went on under the hood on this release.

</comment><comment><USER6> To the unschooled eye that hasn't seen Gnome since 3.0, this looks just as ugly as it did when it was released.

</comment><comment><USER7> After seeing the GDM screenshot I'm actually glad that the CDE sources were released.

</comment><comment><USER8> worldofgnome.org... This must be an objective view of Gnome</comment>


Show HN: Mesh IDE – a code editor that feels like a spreadsheet - <AUTHOR> https://github.com/chrispsn/mesh <comment><USER2> This is along the right lines. Whoever cracks end-user programming will be someone who embraces lists, and is willing throw away the vast vast majority of modern programming language-y control structures.

Lists of strings + function calls + function definitions, that gets you pretty far. Anything that tries to reach much beyond that will fail. Function definitions are probably just lists of strings. Deeply nested statements are probably counterproductive.

I think even IF statements are probably not necessary. Comparison operators plus function calls get you conditionals and so much more.

<comment><USER3> > someone who embraces lists

> Lists of strings + function calls + function definitions

Cue LISPers in 3, 2, 1...

<comment><USER2> Lisp does way more than that. Far too much to be a plausible EUP design. The work in the Lisp community is mostly about using Lisp to make complicated generic control structures, but none of that is needed for EUP. The thing missing for EUP is a human relevant stdlib and you don't need anything fancy for that. Again literally just lists of strings, function calls, and comparators.

<comment><USER4> Isn't this just another species of the same fallacy: that programming is just a special case of natural language use -- and to get all the non-programmers in on it, we just need to make a more humany language?

This isn't true. Programming is the expression of your understanding of a problem in a totally novel medium, as with painting or mathematics. I dont think there's "End User Math" for describing the problems of daily life. The ability to express oneself in a target domain totally unlike the original requires a skill set of translation and expression that isn't reducible to "making the tool better".

The thing stopping people building their own houses isn't the hammer. Painting their own landscapes the paint. Formalizing their motion through their house, the symbols of math.

These are the smallest barriers to understanding. The appear significant, to you, who has already acquired (to a great degree) the skill of programming. The painter who is very practiced may well think that the ultimate problem preventing the masses from painting is how "thick the oil gets sometimes". Since that is his preoccupation.

<comment><USER5> I agree with you that programming is a skill that has to be learned, and that not possessing this skill is a greater barrier than the tooling.

However, I think that a lot of problems currently dealt with by programmers do not actually require programming skill, and could be solved by the end-user if they had a better interface available.

I think something similar has already happened with the standard libraries and package ecosystems of modern languages. You no longer need the skill necessary to write a performant hash table, or XML parser, or HTTP client; if you want to quickly throw something together, you just import what you need and then add glue as necessary.

So in a way, a "human relevant stdlib" could actually provide lots of people with the tools to do things that are currently "programming", but that aren't actually inherently complex. I'm not really sure what should and could be in such a toolbox, but trying to make programming more accessible seems like a good way to find out.

<comment><USER4> Well it seems like you've just described turning the 70s cohort of C programmers into 2000s cohort of PHP programmers.

It's a programmer group -> programmer group transformation.

Solving problems, as programmers do, is just going to create groups of programmers.

Programmer's can design interfaces, specailized to a problem, that may give the end user some flexibility in that problem.

However I fear that this perspective of yours is the same one which recurs at a certain level of mastery over a particular skill: to now no longer be consciously aware of all the things you need to know, and therefore to assume your highly adapted and sophisticated behaviour is not something that this been trained into you; that is essential and natural to the things you're doing.

The professional plumber may as well be saying, "surely there is some sort of end-user plumbing system for these 'simple' tasks could". It probably seems to him that turning a bolt with the right spanner in the right place is as easy as breathing, but it is not. He just does it now with a similar reflex.

<comment><USER5> > Programmer's can design interfaces, specailized to a problem, that may give > the end user some flexibility in that problem.

Yes, that's what I'm talking about.

For example, moving all photos within a certain date range into a different folder could be done using a quick shell script. Only a programmer could do that, right? But then if you give an ordinary user a file manager where they can switch to a tabular view, click on the _Date_ column to sort the files and then do a range selection, they can suddenly do it, without any programming ability.

There is a spectrum of kinds of tools, from a single button that says "Do it", to a simple form where you fill in some details and then click "Do it", to a toolbox where you can perform various actions in sequence, combining them freely to get to your goal (the file manager example), to a general-purpose programming language.

Along this spectrum, the increasing number of options makes the tool more powerful, but it also becomes more difficult to use, because the user has to make more decisions to arrive at their goal. Making the right decisions requires having a mental model of the _effect_ these decisions have, and in the case of programming languages, this mental model is essentially equivalent to "programming skill".

However, not all problems that currently require a programmer to solve are really so hard, and it might be possible for an expert user with the right toolbox to do it just as well.

> However I fear that this perspective of yours is the same one which recurs > at a certain level of mastery over a particular skill: to now no longer be > consciously aware of all the things you need to know, and therefore to > assume your highly adapted and sophisticated behaviour is not something that > this been trained into you;

While I am not usually consciously aware of everything I know, I _am_ aware that it required training to get where I am and that not everyone has this training or will ever have it.

For example, I know that there are people, generally quite adept at using computers, who would be unable to complete the file manager example I gave above; either because they don't know how to do one of the steps, or else because they could not mentally connect them to get from what they have to what they want.

However, I am fairly sure that there are more people who could do _that_ than those who could write a program to achieve the same effect; that is what counts in my book. If you can move a problem from requiring an expert tool _maker_ to only requiring an expert tool _user_ , you should do it.

Regarding your plumber example: there is an "end-user plumbing system" that allows you to get running water and regulate its temperature by turning the right knobs, and everyone can learn to use it, no plumbing experience required.

Sometimes, not _always_ , but _sometimes_ , programming is like that.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I'd like to see this self-contained. It looks like if I want to share a mesh with someone, I need them to be familiar with developer build processes (needing npm or yarn, etc; and including having Electron installed? not sure yet, since I haven't been able to try it out and poke at it yet—my case in point, really)

I'd rather be able to send anyone my-data.mesh.html, they double click it, it opens in their browser, they can modify it at will, and there's a button that's functionally equivalent to a Save button to let them overwrite the orginal file. (Like a quine on steroids. Think TiddlyWiki.) This can be done, the only problem is that you don't get the typical Ctrl+S workflow—you use the in-page button instead, and it wouldn't let you get around the "Save As" dialog, but I'm thinking it should be only a minor nuisance.

If you do it right, you could even standardize your serialization so that other tools could ingest a meshfile.

This is really neat, and I'm going to play with it tomorrow.

<comment><AUTHOR> Right now you could share a Mesh file as _code_ , but yes, you'd need to have a way of consuming that code. Right now there's no way of communicating the UI interface; I had envisaged that people would download Mesh separately from the internet.

Embedding Mesh and its dependencies in the file itself is really clever. The file would get a bit bloated but maybe that's OK if:

(a) when the file is consumed by other code, the interface exposed is clear

(b) when the file is opened as a Mesh program, all the user can see is the program shown in the spreadsheet, not Mesh's code.

It is potentially more risky from a security perspective if it is not easy to verify the Mesh source embedded in the file hasn't been changed to be malicious.

</comment></comment><comment><USER7> It looks nice and all... but what can I do with it? Citing Paul Graham[0] You Need an Application to Drive the Design of a Language.

What is the use case here? The readme describes vaguely that it's more suited to arbitrary length data processing and generation... but I can't come up with a practical example for which this IDE is applicable. I wish the developer would showcase SOMETHING besides the base interactions. Anyone have any ideas?

[0] [http://www.paulgraham.com/langdes.html](http://www.paulgraham.com/langdes.html)

<comment><USER8> I'm in the same thought as you about this. IDE's are designed for one common purpose: Efficiency. In fact, everything that has to do with software engineering drives towards efficiency. This appears more like a pet project than a product with a vision of solving a specific problem.

</comment></comment><comment><USER9> Things I could use that for that I can think of right now: \- fast prototyping of regexes \- very good prototyping and feedback tool for record processing \- computational graphics (plots, barcodes) \- state machines And I bet many more. Very straightforward tool, and nicely done.

</comment><comment><USER10> This is neat. I've made some small prototypes in the same kind of space, trying to come up with a new way of doing spreadsheet-based programming.

My one nitpick is that I want to be able to just try it in my browser right now. Oh also you really need a target project with something like this. In other words, you need problem you are trying to solve, so that you can know once you've solved it.

<comment><USER6> See my other comment[1] in this thread, and the one by sheeshkebab[2].

There are no shortage of instances where Excel plays a depressingly crucial role in critical LOB operations (including shops that you'd expect to know better). Essentially what happens is places like big manufacturing corps pour all their engineering budget into staffing themselves with folks who have domain-specific knowledge, but no idea how to build something resembling sane IT infrastructure, let alone focus on rolling out anything that could scale. So they all fall back to what they know from school, which are terrible (terrible!) hand-crafted spreadsheets that get passed around through email or thrown on a network store that everyone gets write access to. As in: this is literally how things run at the fab that produced the chips in your phone or the silicon in your big name desktop GPU.

Occasionally, someone comes along who knows how to do pivot tables or use VBA to create basic macros and is revered as a wizard. Even in the best cases they end up being unmaintainable messes.

Heck, a quick and dirty TiddlyWiki-like tool that just lets average people make basic tables would go far in dislodging Excel from places where it's burrowed down and is screaming "wrong tool for the job"[3].

1\. [https://news.ycombinator.com/item?id=14824563](https://news.ycombinator.com/item?id=14824563)

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

3\. [https://www.joelonsoftware.com/2012/01/06/how-trello-is- diff...](https://www.joelonsoftware.com/2012/01/06/how-trello-is-different/)

</comment></comment><comment><USER11> That would make a great combination with the 2D syntax [1] discussed here a few weeks ago [2].

[1] [https://docs.racket-lang.org/2d/index.html](https://docs.racket- lang.org/2d/index.html)

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

</comment><comment><USER12> I use and love Calca which is a maths oriented text editor that does live display of equation results as you type. I really wish that more programming were like this: real-time feeling, high feedback. It's a great model for exploratory stuff and I often use it in place of spreadsheets

This is a cool project, I'm excited to see where it goes

<comment><USER13> try clojure

<comment><USER12> I'm much more referring to editor UI than I am language

<comment><USER14> I'm not sure if the parent did, but I followed what you were looking for and the answer is still "try clojure", perhaps more specifically it is "Try the Clojure libraries figwheel and devcards to do web stuff" but the push for immediate feedback and "interactive programming" is central for everyone. It's a community that took Bret Victor's Inventing on Principle talk to heart, already agreeing due to the REPL centric workflows that most people used.

Bruce Hauman has some good talks about his tools, which are GUI application- centric and a joy to use [1][2][3]

If you aren't doing web or native mobile GUI stuff then the default tools have immediate unit test/linting/spec compliance feedback triggered every time you save a file.

Unless you mean you want a very simplified language, in which case you should look elsewhere. Clojure has definitely chosen the high power side of that trade-off, but this also allows some truly first class tools to be developed.

[1] [https://www.youtube.com/watch?v=j-kj2qwJa_E](https://www.youtube.com/watch?v=j-kj2qwJa_E) [2] [https://www.youtube.com/watch?v=KZjFVdU8VLI](https://www.youtube.com/watch?v=KZjFVdU8VLI) [3] [https://www.youtube.com/watch?v=G7Z_g2fnEDg](https://www.youtube.com/watch?v=G7Z_g2fnEDg) <\- this one in particular is original and outstanding in my opinion

</comment></comment></comment></comment><comment><USER15> Amazing.

But it seems like a powerful way to process data, not a way to write programs, am I right?

Maybe it could be said to be a spreadsheet-like data processor that generates Javascript code to process that data in that same way.

I hope I remember to install and try it when I get home.

<comment><AUTHOR> Well, programs are data and logic - so this is definitely a way to write and visualise data more easily, and potentially also a way to visualise logic tables more easily (such as cases of 'switch' statements, although that display logic hasn't been implemented yet).

If you get a chance to try it, please let me know if you have any feedback!

</comment></comment><comment><USER16> something that converts an excel spreadsheet to code might be pretty useful - since most businesses run on crappy excel spreadsheets, having something that occasionally converts one to code could go a long way in "scaling" business.

</comment><comment><USER17> This doesn't feel like a spreadsheet.

<comment><AUTHOR> Thanks - not sure whether to call it an 'IDE' or a 'spreadsheet', people seem to have concerns about both terms.

On whether it feels like a 'spreadsheet' \- is it just the absence of location-based referencing, or did you have other features in mind?</comment></comment>


Ask YC:  I'm applying to YC with a web app, but I also have 4 facebook apps going on the side. - <AUTHOR>

Chances are that I will also be launching a 5th Facebook App after applying to YC that might gain significant traction.  Does YC take a percentage of these projects as well?<p>*I do not actually have 4 facebook apps.  I made up this question. <comment><USER2> Sounds like a "focus" issue - they're not going to want you to be dividing your attention, especially not with something they're not involved in.

</comment><comment><USER3> <<I do not actually have 4 facebook apps. I do not actually have 1 facebook app. I do not actually have any hacking skills, but occasionally think about becoming a hacker, applying to YC, and creating useless Facebook apps. Please indulge me by answering my made up questions.>>

No thanks.

</comment><comment><USER4> If they are part of the corporation YC funds.

<comment><AUTHOR> So does one recommend putting all your projects in the corporation of YC funds?

<comment><USER5> One probably recommends focusing on one project at a time.

P.S. If you ever get rich, I expect an email rubbing this comment in my face ;)</comment></comment></comment>


IBM Warns Quantum Computing Will Break Encryption - <AUTHOR> https://www.zdnet.com/article/ibm-warns-of-instant-breaking-of-encryption-by-quantum-computers-move-your-data-today
Quantum computers will be able to instantly break the encryption of sensitive data protected by today's strongest security, warns the head of IBM Research. This could happen in a little more than five years because of advances in quantum computer technologies. "Anyone that wants to make sure that their data is protected for longer than 10 years should move to alternate forms of encryption now," said Arvind Krishna, director of IBM Research.
Correct me if I'm wrong, but does it mean that my KeePass database that I uploaded on Dropbox is going to be broken in ~5 years time and I need to start changing my passwords right now? <comment><USER2> Quick someone warn IBM they are only 15 years behind common knowledge.

</comment><comment><USER3> If so, changing your passwords wouldn't help. You would need to use new encryption algorithms which aren't implemented in KeePass yet.

[https://en.wikipedia.org/wiki/Post- quantum_cryptography](https://en.wikipedia.org/wiki/Post-quantum_cryptography)

However, the biggest problems are about public-key encryption algorithms like RSA, which are broken much more readily by quantum computing than symmetric- key algorithms like AES. The security of KeePass password databases is mainly protected by symmetric encryption rather than public-key encryption, and the speedup achieved by quantum computers isn't as significant. Perhaps it's already fairly safe?

Another thing to think about is whether Dropbox would expose your encrypted files to an adversary who could then perform a quantum cryptanalysis (either via attacks on the cryptography used to protect the data in transit between you and Dropbox—which _does_ include public-key encryption, unlike KeePass itself!), or by trying to compromise or coerce Dropbox itself into turning over your data. The existence of a cryptanalytic attack against some algorithm doesn't necessarily always mean that there will be adversaries in a position to use that attack against each user and each message, session, or file.

</comment><comment><USER4> This is a super iffy comment. Please don't hurt me ;)

Quantum computers fundamentally don't break everything, just things that depend on problems that can be treated polynomial with respect to time, if you can also be polynomial in terms of state.

Eg there is currently no known way to break any of the major symmetric encryption algorithms (aes etc) beyond bruteforcing, which is faster on a classical machine.

I believe that similar applies to general case of hashing.

Things get wonky once you can convert a O(x^N) problem into a O(N^x) problem with state(N^x).

That's functionally how things like shore's algorithm works - each qubit can represent a functionally infinite number of values so you can move from other wise expentional number of components to a polynomial amount, so you can do a pile of math and get a "probably correct" solution to the DLP, which is the core problem for all current assymetric encryption algorithms.

What IBM is presumably trying to say is that all assymteric algorithms are broken if you can get a functional quantum computer, which means getting 1000s of qubits into a quantum state and maintaining that state through a large computation. If that happens then any data that has been archived and encrypted with an assymetric algorithm can be decrypted.

Any problem that also depends on DLP (all the crypto coins for instance) is likewise broken.

</comment><comment><USER5> Changing password won't help. This IBM guestimate is probably an extrapolation of recent advances but still a long way to go. It reminds me of the old adage that fusion power is only 10 years away and has been for 50 years.

More importantly, it is likely that it will be a state sponsored agent (~cough~ NSA ~cough~) who creates the first QC (and AI) rather than a private endeavor. This means you will never hear of it so act accordingly but I think you still have time.

</comment><comment><USER6> No, you changing your passwords doesn't mean anything. Quantum computers will be able to break asymmetric encryption, not symmetric ones such as AES.

Researchers are working on cryptographic systems for this, which are based on algorithms that cannot be solved by quantum computers. (Called Post-Quantum Cryptography)

Right now, asymmetric cryp. works on two computationally hard problems (integer factorization and discrete logarithms -- RSA and ElGamal).

</comment><comment><USER7> > Correct me if I'm wrong, but does it mean that my KeePass database that I > uploaded on Dropbox is going to be broken in ~5 years time and I need to > start changing my passwords right now?

2 decades ago we were already 5 years distance of quantum computing. THis is a warning to the future generation similar to the Bible.</comment>


Ask HN: are there any website equivalents of "Show HN"? - <AUTHOR>

The 'Show HN' convention seems to have emerged from the community rather than being a feature created by the site owners. It also appears that not everyone agrees on the one convention: sometimes 'Show HN' posts appear on the home page (submitted as urls) and sometimes they appear in the 'ask' page (submitted as text). Also, I've noticed some people use the 'Ask HN' prefix when looking for feedback for their startup rather than Show HN
As a coder/entrepreneur I find it really interesting seeing what other new startups are being made and I especially find reading the feedback in the comments to be really useful (to make sure I'm not making the same mistakes). Show HN works really well for this but as it's not a dedicated feature of the site it can be hard to filter out the Show HN posts.
Does anyone know of any good sites dedicated to showing off new startups and getting feedback?
I've come across hackandtell.org which is a list of meetup.com groups for demoing your new startup (in person rather than online) <comment><USER2> That's exactly what I'm putting together at the moment.

Initially it was off the back of the YC rejection letters being sent out. I wanted to inject a bit of positivity.

I think it will be great to see what startups are being formed, they're just carrying on bootstrapping and making it happen!

Got quite a good response so far!

We're polling for the name at the minute, there's a survey here on the original thread if you want to help us pick!!

<http://news.ycombinator.com/item?id=3852167>

Shoot me a mail if any of you have projects that would like to take part. I'm interested in keeping track of numbers.

Thanks!

</comment><comment><USER3> <http://productivewebapps.com/> <http://www.appvita.com/> <http://startuplocation.com/>

</comment><comment><AUTHOR> While we're at it, does reddit have anything similar?

</comment><comment><USER4> I would love to know of any other sites too.

</comment><comment><USER5> <http://www.appappeal.com/>

</comment><comment><USER6> killerstartups.com, betalist.com

<comment><USER7> Its <http://betali.st/>

betalist.com is not in use.

</comment></comment><comment><USER8> betapunch.com</comment>


Which motherboards you recommend supported by Coreboot? - <AUTHOR> hello,
looking to buy a motherboard for a good desktop experience ...
from this list
https://coreboot.org/status/board-status.html
and from column "F" "Board supported by [http://www.flashrom.org flashrom] (Y/N)?"
and only motherboards which are supported by flashrom and say "Y" this means that i can buy the board and flash the BIOS with Coreboot using flashrom via software? which ones you recommend for a Unix/BSD/Linux user?
Thanks <comment><USER2> To whom fatherboard like to stay with ! Happy Weekend!

<comment><AUTHOR> which fatherboard you recommend?</comment></comment>


Dissecting Google thumbnails - <AUTHOR> http://blog.ht4.ca/2011/03/23/disecting-google-thumbnails

<comment><USER2> "The thumbnails are sent with a expiry time of 1 day from a server running snapshot_btfe. No surprise there."

I couldn't find what "snapshot_btfe" is. Can somebody explain it to me please?

<comment><AUTHOR> I'm assuming it's the codename of their custom built thumbnail server.

</comment></comment><comment><USER3> "Gorgeous?"</comment>


Real Examples of Miscommunication in Software Development Projects - <AUTHOR> http://www.acceptic.com/blog/miscommunication-in-software-development-projects.html

<comment><AUTHOR> 5 programmers and 3 project managers are interviewed to reveal generic issues that lead to miscommunication in software development projects: only real people, real stories, and real experience.</comment>


"If you are afraid then you must have something to hide" - <AUTHOR>

This is actually an ALT tag on the NSA's website. How utterly frightening!
The page can be found here:http://nsa.gov1.info/partners/index.html
And the image is at the bottom of the page and says "If you have nothing to hide, you have nothing to fear", but the ALT tag is even more frightening. <comment><USER2> Note the site disclaimer:

This is a parody of nsa.gov and has not been approved, endorsed, or authorized by the National Security Agency or by any other U.S. Government agency. Much of this content was derived from news media, privacy groups, and government websites. Links to these sites are posted on the left-sidebars of each page.

More about this website

</comment><comment><USER3> "This is a parody of nsa.gov and has not been approved, endorsed, or authorized by the National Security Agency or by any other U.S. Government agency. Much of this content was derived from news media, privacy groups, and government websites. Links to these sites are posted on the left-sidebars of each page."

<comment><USER2> jinx - buy me a coke

</comment></comment><comment><AUTHOR> Oh snaps...And I got suckered by this.</comment>


1st Amendment wins in self-proclaimed e-mail inventor's Techdirt libel suit - <AUTHOR> https://arstechnica.com/tech-policy/2017/09/1st-amendment-wins-in-self-proclaimed-e-mail-inventors-techdirt-libel-suit/ <comment><USER2> Here [https://www.techdirt.com/articles/20140901/07280928386/huffp...](https://www.techdirt.com/articles/20140901/07280928386/huffpo- publishes-bizarre-misleading-factually-incorrect-multi-part-series-pretending- guy-invented-email-even-though-he-didnt.shtml) seems to be the article in question, with a chain of followup articles about it here [https://www.techdirt.com/blog/?tag=shiva+ayyadurai&start=20](https://www.techdirt.com/blog/?tag=shiva+ayyadurai&start=20)

Honestly the article provides a lot of helpful information about the claims and certainly backs it up with research and citations. Unfortunately it sounds like he won't be able to recover his legal costs for this, which Masnick is arguing (and I would agree with) that there should be greater risks with SLAPP lawsuits ([https://en.wikipedia.org/wiki/Strategic_lawsuit_against_publ...](https://en.wikipedia.org/wiki/Strategic_lawsuit_against_public_participation))

</comment><comment><USER3> So how do the courts typically resolve the equivocation that the plaintiff has historically and routinely taken advantage of, even as part of this lawsuit?

The root issue is that he created a program whose name happened to be EMAIL so when laymen misinterpret the claim to mean "e-mail" and the plaintiff doesn't correct them, it results in confusion that benefits him. The reporter tried to cast light on that and it seems like the plaintiff is trying to leverage the same confusion to win in court.

<comment><USER4> Perhaps if someone sues them for some issue with email in general (say loss of productivity due to spam), they will quickly revert to the distinction between e-mail (as in SMTP) and EMAIL (his program).

<comment><USER5> Such a suit could have wide-reaching consequences -- he'd effectively be getting sued for failing to anticipate the need for a feature.

</comment></comment></comment><comment><USER6> Ayyadurai lands on my short list of people who piss me off so much that I would be happy cutting a cheque to support Techdirt suing him for legal costs.

</comment><comment><USER7> I feel like such an idiot. Why did I even go to university, get two degrees, and build up tech skills and a career, when instead I could have just claimed I invented E-mail, sued anyone who said otherwise and collect more than my salary in sweet, sweet settlements?

<comment><USER8> To be fair, Ayyadurai has a BS and PhD from MIT, is a Fulbright scholar, founded and runs at least one software company, _and_ is ahead of you on the frivolous lawsuit front.

<comment><USER9> ...and he married Fran Drescher.

Well, I suppose he "married" Fran Dresher in the same way he "invented" email. He didn't really marry her.

[http://komonews.com/news/entertainment/actress-fran- drescher...](http://komonews.com/news/entertainment/actress-fran-drescher- splits-from-husband)

</comment></comment></comment><comment><USER10> So I've only ever seen articles lambasting the guy for claiming to have invented email (and rightly so from my view as well).

I'm curious, is there _anyone_ who supports his claim other than him and his family? Is there anyone on his side?

<comment><USER6> Given we have documented evidence of ARPANET transmitting electronic messages before his claimed invention of them, there isn't much room for rational disagreement.

<comment><USER10> Yeah I literally know the people who invented email long before this guy, I guess my question was more along the lines of "is anyone fooled by him".

<comment><USER6> Read the judge's opinion [1]. It's well-reasoned and goes into the fact that there is no singular "inventor" of email as well as some sources, _e.g._ Noam Chomsky, who agreed with the plaintiff's claims, at least in the past.

[1] [https://www.documentcloud.org/documents/3987555-Gov- Uscourts...](https://www.documentcloud.org/documents/3987555-Gov-Uscourts- Mad-185980-48-0.html)

</comment></comment></comment></comment><comment><USER11> ... 15 million for arguing that you invented "email", when you already won 750,000 in another case with the same argument ?

<comment><USER12> He didn't _win_ $750,000 in the Gawker case. The bankruptcy estate of Gawker paid $750,000 in settlement. There was no court decision. That would be like emptying $100 from the wallet of a dead body and saying you _earned_ $100.

Techdirt wasn't bankrupt and could afford to fight the case. Not to put too fine a point on it, this was before a judge in Massachusetts rather than before a jury in Florida as _Bollea v. Gawker_ had been.

<comment><USER13> > The bankruptcy estate of Gawker paid $750,000 in settlement.

That's so wrong.

</comment></comment></comment><comment><USER14> Related discussion from yesterday: [https://news.ycombinator.com/item?id=15190574](https://news.ycombinator.com/item?id=15190574)

<comment><USER15> In that thread someone says that Ayyadurai invented a toy that has little in common with today's systems[1] and there is no discussion of that remark. The discussion in this thread is more interesting and could actually change opinions in either direction, depending on which individual posts you read closely.

[1] Quote: "Ayyadurai developed some little system that he called 'email'"</comment></comment>


Show HN: Bamboo – an app to save, share, and discover web highlights - <AUTHOR> http://www.readbamboo.com/

<comment><AUTHOR> Author here.

This is a small side project of mine.

I've always wanted to highlight on the web like I do on Kindle. I also think being able to discover friends' highlights would be useful for finding interesting content to read.

I have had those ideas for a long time, and finally put together an app to solve the problems. This is my second app. It was a great learning experience.

Hopefully it will help other people too!

\- Chengyin

</comment><comment><USER2> I dig the idea. Nice work.

I would suggest settling on a single font for the top section of the landing page. Having different fonts for the logo and the text directly below looks a little strange to my eye (latest FF on Win7).

</comment><comment><USER3> I use Diigo - how does this compare?</comment>


Push API – W3C Working Draft - <AUTHOR> http://www.w3.org/TR/2014/WD-push-api-20141007/#example

<comment> mike-cardwell This should have mandatory crypto built in from the beginning so that third party push providers can be used without causing privacy/security concerns.

The browser and the web server should negotiate an encryption key, or set of encryption keys during setup, and any push messages signed and encrypted. That way, any third party push provider can't inpect the messages.

Also, pigs should learn to fly.

<comment><USER2> I think the whole point of the spec _is_ third-party push servers, a la GCM.

Encryption is still totally doable, as the client can negotiate directly with the service provider and then hand off to the single-socket push provider who would only see encrypted messages. You'd need metadata readable by the push server, however, so it can deliver messages to the right client.

Push messages already exist via Server-Sent Events [1]. This would simply standardize a less resource intensive single-connection model that third parties can interact with.

[1] [http://www.w3.org/TR/eventsource/](http://www.w3.org/TR/eventsource/)

<comment> mike-cardwell Yes, you can already add your own encryption on top of the push system. What I was proposing is that it is standardised and doesn't require any extra code from the application developer.

So when I want to push a message out to one of my users, the push software I am using will handle encrypting it, and the push software on the users device will handle decrypting it. They will both be aware of the encryption keys involved because they will have negotiated them during the initial direct connection and will have them stored.

</comment></comment></comment><comment><USER3> The push API is pretty awesome, the key difference between it and websockets in term of what it offers is this bit:

> A push service allows a webapp server to send messages to a webapp, > regardless of whether the webapp is currently active on the user agent

So you can send push notifications to a user even if they don't have a tab open to your website.

<comment><USER4> I'm... not sure I want this. It sounds pretty useful/fun form a programmers perspective.

But from an end-user perspective I fear that it will lead too various "features" hogging resources. I would assume I could block them client-side, but I'm also the family-tech and quite frankly I don't expect my grandparents to do the same.

<comment><USER5> "User agents must not provide Push API access to webapps without the express permission of the use"

I share your concern. but I share a great fear that web apps will become increasingly irrelevant if they remain just documents that can't do anything when they're not explicitly in a running tab/window.

The permission requirement is the same one that allows for local storage, which could have caused great problems, but has so far held up well.

<comment><USER6> _> The permission requirement is the same one that allows for local storage_

Assuming this does not allow the push of UI interaction, then yes. If it would allow UI responses to be pushed then we would be one XSS vulnerability or "uneducated users" away from a new set of exploits for forcing pop-under advertising , and other potentially more insidious problems, through.

Local Storage and Index DB are storage only so the only attack routes are DoS- due-to-disk-full-errors which is generally less attractive (you can make more money pushing stuff to people than pushing people off the network).

</comment></comment></comment></comment><comment><USER7> It's great that there are some standardization efforts in this space but for this to be useful we would need wide coverage of clients implementing it. Stuck using websockets for the next decade I suppose ....

</comment><comment><USER8> This (and current Safari support) is what we (Roost - [https://goroost.com](https://goroost.com) \- YCS14) are building off. Moving toward a complete web-push suite that supports all browsers on both desktop and mobile. Long road in front of us, but it's going to be an exciting world.

</comment><comment><USER9> What I find particularly interesting in the spec is the editors list.

This has the potential to create cool and useful stuff, of course, but (IMO) it will be used mostly for advertising. Guess who's around the spec? Google and two telcos, of course.

<comment><USER10> I'm not sure how this would be used for advertising? This is about pushing messages to the user agent when it is not actively visiting a page. Ads are actively requested when you view a page, there is no need for push there.

<comment><USER9> So "they" can reach you, even if you don't visit. I guess it will be used to "remind" or notify you of all new posts/entries/content/everything. From there, it can move fast to notifying you about a new sponsor (or just saying who sponsored the new post).

Of course, it will need user approval, so the problem is (I hope) minimized (but just wait for the amount of Google+ "friend invites" notifications you will receive, even if you visited it only once).

</comment></comment></comment><comment><USER11> The client has to have a TCP connection open to the server for this to work, right? Otherwise you run into all the problems of trying to reach machines behind DHCP, firewalls, etc.

<comment><USER3> That detail is implementation dependent. The site that wants to push to your browser hits up a third party push service provider that the user uses to get push notifications. That will probably Apple for iOS and Safari, Google for Chrome and Android, and I'm guessing Mozilla might provide one, as well as a host of other smaller companies that might be interested.

</comment></comment><comment><USER12> the interesting question for me is what this means for the big players and their respective platforms.

For instance, the more traditionally native features webapps take on, the less reason I have to need a native app hence am less coupled to a platform. I have always been a bit apprehensive to native apps because of platform lockin and it feels like this plus some of the push from google and their upcoming iot url push system makes it feel like web standards might really make webapps as common/popular/featured(or more) as native. It has plenty of kinks to work out around not being too spammy/sneaky with permissions but overall it feels like this is a major advancement for the web as a platform - assuming the big platform players implement it well.

</comment><comment><USER13> It's good to see this in the works. Some of the apps I build are simple enough that a web-app is sufficient for almost everything, except that users really want push notifications. If this API becomes implemented (widely enough) that's one less thing we need PhoneGap and friends for.

<comment><USER8> Hey, check us (Roost YCS14) out at [https://goroost.com](https://goroost.com) \- we already do this in a way that will abstract the browser part so you don't have to change anything once the other non-Safari browsers come online.

</comment></comment><comment><USER14> OT: Does anyone know what software was used to create those sequence diagrams?

<comment><USER15> If you want free / open source you could look at Dia. [http://dia- installer.de/index.html.en](http://dia-installer.de/index.html.en)

You could also try yED. [http://www.yworks.com/en/products/yfiles/yed/](http://www.yworks.com/en/products/yfiles/yed/)

EDIT: This site has a nice list of a bunch of software that you can check. [http://alternativeto.net/software/dia/](http://alternativeto.net/software/dia/)

<comment><USER16> The list from your edit is great. I didn't even know that alternativeto.net existed.

</comment></comment></comment><comment><USER17> Any word on when browsers other than Safari will be supporting push notifications?

<comment><USER8> FWIW, I've hearing "late this year" and "early next year" from some contacts.

</comment></comment><comment><USER18> 'This section is non-normative'

Like what the hell does that mean?

Please explain.

<comment><USER19> It means that this section contains example code, but is not actually part of the standard. From an operative point of view, this means that if it conflicts with anything else in the document, the "anything else" takes precedence.</comment></comment>


Life Outside the Fast Lane - <AUTHOR> http://www.craigslist.org/about/best/mil/206782771.html

<comment><USER2> The power of this best-of-craigslist post is that he (a former partner-track and then partner-at-age-30 lawyer) talks about why he is happy with his post- superachiever life and at the same time - he does not condescend those people who choose to be slackers, homemakers, or McMansion home owners, or whatever they want to be (as long as it makes them happy)

I came across a definition of success on Friday that really resonated with me: Success is not about financial independence, a big house, or fame. It's about whether you are making progress towards worthy goals.

I like it because that allows us to feel we are succeeding now, rather than the proverbial later.

<comment><USER3> Add to that my definition of class: How you treat others. This guy learned the hard way, but he learned. Others never do.

Great post. Every once in a while, it's nice when someone says that which should go without saying.

</comment></comment><comment><USER4> Profit of successful startup: several million in four years

Profit of successful lawyer: several million throughout lifetime

And once again, the nerds own the jocks.

<comment><USER5> but only a small percent of startups succeed.

whereas most people with a law degree can be "successful" lawyers.

<comment><USER4> Last I heard, half the YC startups succeed, with the other half flaking out due to some avoidable flaw (or, a very small percentage like Kiko, just plain unluck).

<comment><USER6> Roughly half of the first batch succeeded.

I believe about a quarter of the second batch have gotten there, likewise for third and fourth batches (though it's not as obvious the later you get, as they haven't had as much time).

One could argue that YC acceptance or receiving some level of funding is akin to being accepted into law school: Your odds of success go up, but neither is a guarantee. I've known people who went to law school but failed to make it through or failed to pass the bar. Investing time in a startup is a similar risk, I think.

</comment></comment></comment></comment><comment><USER7> Sure is nice to have a rich Ivy League lawyer tell me how unimportant success is and just to be happy with my life.

</comment><comment><USER4> This sounds like a summary of Click (except without the movie poet's license).

</comment><comment><USER8> What??? What's this doing here? I was just at Reddit, thank you very much.

</comment><comment><USER9> Synthetic happiness at work.

</comment><comment><USER10> For fuck's sake. Shouldn't I have received this as a forward of a forward of a forward of a forward (do I need to go on?) with the subject line CARPE DIEM!!!!!!!!!!!!!!!!!!!!

Come on guys, aren't we better than this? Can't we transcend cliché?

<comment><USER10> Man, based on the overall negative response this comment generated, perhaps I need to go back and reread the posting. I'm not above thinking that I'm never incorrect <\-- that's a triple negative, for those that are counting.

<comment><USER10> Nope, I just reread it. It's as bad as I recall.</comment></comment></comment>


Four Episodes in the Life of Einstein's Mother - <AUTHOR> http://www.theparisreview.org/blog/2016/05/06/four-episodes-in-the-life-of-einsteins-mother/ <comment><USER2> Surprisingly delightful read.

"Einstein's second wife, Elsa Löwenthal, recalls in her memoirs that a moment before he went on stage in Stockholm to receive the 1921 Nobel Prize in Physics, his by then very frail mother approached him holding a comb in her by then extremely arthritic hands. "There is nothing we can do about your head, Albert," she said, kissing that head. "There is nothing I or anyone with the exception perhaps of God can do about your great big darling deformed head. But there is something we can do about your hair."</comment>


TechStars Summer 2008 program announced - <AUTHOR> http://techstarsblog.com/2007/10/30/have-what-it-takes-start-thinking-about-summer-2008/

<comment><USER2> [http://www.intriguing.com/mp/_pictures/grail/large/HolyGrail...](http://www.intriguing.com/mp/_pictures/grail/large/HolyGrail004.jpg)

<comment><USER3> I upvoted the parent just because of your comment.

</comment></comment><comment><USER4> Cool, thanks for the update.</comment>


Cherrypal announces $188 CherryPad America Android tablet - <AUTHOR> http://www.engadget.com/2010/10/07/cherrypal-announces-188-cherrypad-america-android-tablet/

<comment><USER3> All these news tablets remind me of when MP3 players were in their infancy. You had all these players trying to push out as many models at onece - <USER2> with little features here and there to try to differentiate themselves.

The winners are going to be those can create an ecosystem around their hardware. Apple is obviously pretty good at doing this with both their software (itunes) and their mindshare (apple fan boys)

<comment><USER4> I don't think it's necessary to create an ecosystem around your hardware, if all the Android-based pads are basically equivalent. It'll be more like Apple vs Microsoft in the 90s, with Google in the Microsoft role.

... though on second thoughts, I don't think the market for pad computers is anywhere near as large as the market for desktop PCs (circa 1995) or mp3 players (circa now). It's just not an "everybody needs one" sort of product.

<comment><USER5> _I don't think the market for pad computers is anywhere near as large as the market for desktop PCs (circa 1995) or mp3 players (circa now). It's just not an "everybody needs one" sort of product._

That statement got me thinking so I actually went and looked it up. In 1995 The US personal computer market saw about 21 million units shipped and 58 million units shipped worldwide. Estimates figure Apple has shipped about 8.5 million iPads worldwide in the 6.5 months since it's launch, and they are projected to ship about 45 million in 2011. So it looks like even disregarding other pad devices, the iPad alone has a market approaching the size of the pc market in 1995!

</comment></comment></comment><comment><USER6> I wish this was from Dell, HTC, etc and not "Cherrypal"</comment>


In desperate need of help deploying a full-stack node-app (for FCC) - <AUTHOR> https://forum.freecodecamp.com/t/in-desperate-need-of-help-deploying-a-full-stack-node-app-for-fcc/55235 <comment><USER2> Can you please explain what issues are you facing exactly ? I might be able to help.</comment>


RACK: a time-based fast loss detection algorithm for TCP (2018) - <AUTHOR> https://tools.ietf.org/html/draft-ietf-tcpm-rack-04 <comment><USER2> This is a great way to detect non-tail losses, and should definitely be a part of TCP implementations. I hope this gets turned into an RFC and pushed through the standards process and widely deployed.

I do hesitate a bit about Google calling it a "new loss detection algorithm" and talking about how "the key innovation in RACK is to use a per-packet transmission timestamp." The same approach was previously described by Sprout in 2013, and I'd bet by a lot of other people before that. ("The assumption underlying this method is that while the network may reorder packets, it will not reorder two packets that were sent more than 10 ms apart. Thus, once the receiver actually gets a packet from the sender, it can mark all bytes (up to the sequence number of the first packet sent within 10 ms) as received or lost, and only keep track of more recent packets." [https://www.usenix.org/system/files/conference/nsdi13/nsdi13...](https://www.usenix.org/system/files/conference/nsdi13/nsdi13-final113.pdf)) The IRTF awarded this one of their Applied Networking Research Prizes that year, so it's not like it was totally just on the academic plane.

Which is not to say Google isn't making 90% of the important contribution by measuring and documenting how valuable this is in real life, defining and implementing it in the context of TCP, standardizing it, getting an RFC, etc. It's just not quite as new as the I-D seems to suggest.

<comment><USER3> We used per-packet tx timestamps and timer based reordering detection in Teclo's TCP stack[0] in 2011 and later. The important bits with a time-based reordering detection heuristic are to a) make it dynamically adjust to observed network conditions, b) make it take into account some of the factors that affect reordering probability. E.g. reordering is much more likely for packets of different size than of the same size.

BTW, the assumption you quoted that there won't be more than 10ms of reordering is false. Reordering of up to 50ms was common in mobile networks.

[0] [https://www.snellman.net/blog/archive/2015-08-25-tcp- optimiz...](https://www.snellman.net/blog/archive/2015-08-25-tcp-optimization- in-mobile-networks/)

</comment></comment><comment><USER4> "The main idea behind RACK is that if a packet has been delivered out of order, then the packets sent chronologically before that were either lost or reordered. This concept is not fundamentally different from [RFC5681][RFC3517][FACK]. But the key innovation in RACK is to use a per- packet transmission timestamp and widely deployed SACK options to conduct time-based inferences instead of inferring losses with packet or sequence counting approaches."

Conjecture: This, at scale, plus machine learning, might grant some insights (or at least variables that statistically strongly correlate to different conditions) about network segments that were previously not known or understood...

</comment><comment><USER5> I feel like the days of "we hand-crafted this algorithm to solve this issue as well as we could" like this RFC are over.

Instead, simply give the issue to a neural network whose loss function is to find the best strategy for timing packets to minimize retransmissions and delay. Then train that on the real internet, and preload the resulting mini neural networks in operating systems.

For extra bonus points, implement the trainer too, so the networks behaviour can be auto-tweaked at runtime to improve performance based on local scenarios.

</comment><comment><USER6> Solves different problem to BBR but I wonder how it stacks up against BBR in e2e performance on the Long haul?

<comment><USER7> BBR try to estimate the real bandwidth available without wasting bandwidth doing additive increase/multiplicative decrease.

I am not sure I understand what problem this solve. Could you explain simply?

Is it trying to avoid incorrectly treating packet reordering as packet losses?

<comment><USER6> It might be minimised retransmission burden to avoid closing down the window from my reading, with a rate estimation model based in data from the packet flows not just a model maintained each side.</comment></comment></comment>


Germans to discuss reported U.S. attempt to buy CureVac Covid-19 vaccine rights - <AUTHOR> https://www.washingtonpost.com/world/europe/germany-coronavirus-curevac-vaccine-trump-rights/2020/03/15/8d684c68-6702-11ea-b199-3a9799c54512_story.html <comment><USER2> Leadership change velocity [0] at Curevac has been interestingly high recently.

3 Mar: CureVac CEO Daniel Menichella Discusses Coronavirus Vaccine Development with U.S. President Donald Trump and Members of Coronavirus Task Force

11 Mar: Company Founder Ingmar Hoerr Succeeds Daniel Menichella as CEO of CureVac AG

16 Mar: Ingmar Hoerr, CEO of the company, will take a temporary leave of absence for medical reasons. Franz-Werner Haas, Deputy CEO to assume Hoerr's role until his return.

Would love to have more informed ones comment in.

[0]: [https://www.curevac.com/news](https://www.curevac.com/news)</comment>


ASK HN: Product Hunt Killed Your Server? - <AUTHOR>

My product has finally made its way on Product Hunt http://www.producthunt.com/tech/social-crawlytics<p>I am incredibly excited but not sure what to expect. Have you experienced PH effect? How long does it usually take to realise the true impact, whatever that may be? <comment><USER2> Not sure about producthunt, but you should be ready for what people uses to call the "network effect".

You cannot control who links and who clicks on the internet.

Architectures like AWS, with elastic databases, server instances, load balancers, bandwitch, ELBs and iops, auto scaling groups, etc... elastic horizontally and vertically, pay peer use, free tier available.

You can scale manually when needed (pre-scale-up and post-scale-down), or based on ELB visits, CPU/ram/load of instances behind the balancer, etc...

Just be sure to don't loose your logs if you need them, when instances are terminated by scaling activities.</comment>