A brief history of USB, what it replaced, and what has failed to replace it - <AUTHOR> http://arstechnica.com/gadgets/2014/08/a-brief-history-of-usb-what-it-replaced-and-what-has-failed-to-replace-it/ <comment><USER3> As someone who has programmed for USB and many of the other "legacy" ports, I think what it replaced was much simpler to work with; in comparison, USB is a huge mass of complexity at every level, from the signaling protocols to the driver interfaces.

There's no denying that some of the things that came with USB, like mass storage and video cameras, are really useful, but I don't think the same is true of trying to replace PS/2, serial, and parallel ports. E.g. USB keyboards do not support more than 6 simultaneous key presses without needing some special workarounds, while it is not a problem for PS/2 interface. Serial ports are still widely used, especially for working with embedded hardware - <USER2> UART makes for an extremely simple terminal interface. Parallel ports are easy to interface to, and essentially provide GPIO capability - you can use one to flash microcontrollers and EEPROMs, e.g. to recover from bad BIOS flashes and other similarly bricked devices ( [http://www.fccps.cz/download/adv/frr/spi/msi_spi.html](http://www.fccps.cz/download/adv/frr/spi/msi_spi.html) [http://write-code.blogspot.ca/2012/08/parallel-port-spi- flas...](http://write-code.blogspot.ca/2012/08/parallel-port-spi-flash- programmer-and-unbrick-wm8650.html) ) And from my experience trying to install and troubleshoot a USB printer (the problem was driver-related), I'd rather stay with one connected to a parallel port.

Latencies are also much lower and more predicatable than USB because these are dedicated interfaces; there's a community of hobbyists using parallel ports to control CNC machines, and USB<>parallel adapters will not work for that.

My motherboard still has PS/2, parallel, and serial - and 8 USB ports. A little-known fact is that most if not all of the integrated I/O chips ("SuperIO") used on motherboards still have all the legacy port controllers, but the manufacturers don't bother connecting the pins to anything.

<comment><USER4> Why would someone press 7 or more keys at the same time?

<comment><USER5> Playing 2-player games on the same keyboard, now less common but it was once very popular.

Edit: huh, quite a few gamers here :)

</comment></comment></comment><comment><USER6> It's sad to see Ars repeating the old "Firewire failed to beat USB" myth.

Firewire was _never_ designed to handle modems, mice, keyboards, gamepads, or other low bandwidth things; and it never made the move to try.

On the other hand, USB 1.0 was never suited for high bandwidth devices like hard drives, video cameras, and flatbed scanners. If you remember using USB 1.0 hard drives, you remember how amazingly slow they were.

They were designed for different purposes. Firewire never went 'down', it stayed with high bandwidth devices; but USB moved 'up' with USB 2 to better service the high bandwidth devices people were trying to use (like hard drives).

Firewire 400 was usually faster than USB 2, but cost and ubiquity (and Sony's crazy 4-pin connector) meant it was never big with consumers. But in the end Firewire could only hold onto parts of the professional market for high bandwidth devices.

Thunderbolt is the challenger (really replacement) to FireWire. When USB 4 comes out in two or three years are we going to see articles about how USB defeated Thunderbolt because Thunderbolt keyboards never became popular?

Yeah. The Firewire vs. USB thing is almost always used to add an 'opponent' where there often wasn't one. After all, all articles are required to have an 'opponent'. Sure you could talk about how the old ports hung on amazingly long in the PC space, but it's more fun to throw unnecessary punches at FireWire.

But honestly, no one ever sold a Firewire mouse. I would _love_ to see a link to one. I know there were a few Firewire thumbdrives that were supposed to be amazingly fast, but it's not exactly apples and oranges.

<comment><USER7> While I agree that Firewire never went after the low end, it is that very fact why it, in the end, failed. We had a plethora of ports in the olden days, slow ones like serial, parallel, and PS/2, for modems, printers, and input devices, and we even had SCSI ports for external storage, and ethernet jacks for networking. Those days were terrible. We converged into a few physical ports than can do all of that for a reason, and that reason was because we wanted something inferior. The reason was because one port is better for humans. Computers are here to make our lives easier, not the reverse. Firewire was good for external storage and moving large amounts of data (like audio/video) fast, and when USB became as good, while also handling everything else, then Firewire became obsolete, as it was yet another port to take up space and cable to hang on to and lose. USB has greater utility than Firewire due to its flexibility of being a very nearly universal port.

USB wasn't necessary invented as a competitor to Firewire, but it's not a myth that it became one, and it won in the end.

<comment><USER8> >"USB wasn't necessary invented as a competitor to Firewire, but it's not a myth that it became one, and it won in the end."

That is a contradiction. In the end, what defeated Firewire (by supplanting its ports) was Thunderbolt, not USB. Machines with Firewire had USB as well, because they served different purposes and were not in competition.

I have some machines with both Firewire and Thunderbolt, and later machines with Thunderbolt. (They all have USB, but nobody is connecting 4k displays via USB.)

Edit: Ah, I see this is a lost cause. This is falling into the "everything PC is good and everything Apple is bad" HN narrative. No point in attempting to point out history either, it appears.

</comment></comment></comment><comment><USER9> USB has some pretty nifty ideas buried under a descriptor and software specification that was clearly designed by hardware guys colluding with some firmware types. Those things are not simple. It's a crappy way to describe a device to an OS.

The core USB descriptors are . . . okay, if you put yourself in the position of a firmware guy with like zero bytes left in code space. The howling gotchas start when you get into the higher level stuff, like multimedia. It takes an unholy amount of firmware and driver-side code to make a UVC device.

Why can't standards be _simple_?

Some of the standards are examples of craven bad design, too. For instance, there's a standard conversation that I have regarding DFU, Device Firmware Update:

Engineer: "What do you think about DFU?"

Me: "It's a pile of crap. It's 900 feet of rope on a 1,000 foot cliff, and you'll be fixing bugs in firmware update stuff for a long time."

Engineer: "I've been told to use it. It's a standard. How bad could it be?"

Me: "See you in month."

(a month goes by)

Engineer: "Holy shit, you were right. But I've been TOLD to use it, because it's a standard and would save a bunch of time. All we're doing now is fixing firmware update bugs, re-enumeration bugs in the host OS, and I've got a pile of bricked units that I have to go through every morning."

Me: (heavy sigh; this stuff just isn't that hard, okay?)

Variations on this conversation include "Oh, the chip vendor has a DFU implementation already, it's in ROM" [do not walk, RUN away from that chip...], and "Don't worry, we just tell the user to not unplug the device during the update" [bangs head against desk].

The USB 3.0 host controller spec was actually rather nice (even if all the chips I saw had different and sometimes quite spectacular bugs].

<comment><USER3> I wonder how many common USB devices out there use DFU - I remember reading something about how it would be a standard for Android smartphones/tablets, but that doesn't seem to be the case, with each manufacturer using its own proprietary protocol. Ironically enough, the update code in the ROM of my phone's SoC emulates a USB _serial port_ (CDC)...

<comment><USER10> A fair few devices use DFU - for example, the Atmel-provided USB bootloader for many of their chips is DFU, and a number of ST Microelectronics chips have a DFU bootloader in ROM - and they're all subtly incompatible with each other. So for example, right now I've got one DFU utility installed that only supports Atmel AVR chips and another one that supports STM32F2/3/4 devices and a few other pieces of hardware. Even then, there are many devices out there which aren't compatible with either and require special proprietary tools.

<comment><USER11> Ah yes, I'm having fun times with the ST ROM bootloader and dFuSe/dfu-util. What a mess.

</comment></comment></comment></comment><comment><USER12> I seriously don't miss midi/game ports and serial and parallel ports. That said, the inability to draw power through a port that is currently hosting peripherals is a huge flaw that's really hindered smartphone docking stations.

<comment><USER13> One nice thing about the PC's parallel port was that it was bidirectional, relatively straightforward to program, could be programmed at a reasonable rate, and supplies/accepts a standard TTL +0V/+5V. This allows interfacing with a reasonable range of devices using a cable that's relatively simple to make up. Doing the same thing over USB is possible, but you need a microcontroller, which means more programming (i.e., more things to go wrong).

But this isn't a common problem. I don't rue the passing of all the nonsense that USB replaced.

<comment><USER14> still, that occasional use case is catered for with a USB breakout board, or a USB to serial. So it's not like we have really lost anything

<comment><USER6> It doesn't always work.

I've seen serial devices that are so picky with timing that they'll work with real serial ports but most USB->Serial adapters cause programming to fail.

<comment><USER15> And let's not forget the 80% of USB->Serial adapters that are using counterfeit FTDI chips and barely work at all, if you can get an O/S to recognize it.</comment></comment></comment></comment></comment>


In Leaked Chats, Wikileaks Discusses Preference for GOP - <AUTHOR> https://theintercept.com/2018/02/14/julian-assange-wikileaks-election-clinton-trump/ <comment><USER2> > Assange's thinking appeared to be rooted not in ideological agreement with > the right wing in the U.S., but in the tactical idea that a Republican > president would face more resistance to an aggressive military posture than > an interventionist President Hillary Clinton would.

Seems quite a bit more nuanced than the headline.

<comment><USER3> Nuanced but convoluted realpolitik on a Kissinger level.

</comment></comment><comment><USER4> Trump won, so I imagine Assange will go free eventually.

I'm glad Hillary lost, but don't believe the ends justify the means.

In the end, this has all been a farce designed to fool us all. I suspect some of it worked, some of it did not.

<comment><USER5> As an egalitarianist who despises neoliberalism the race for the white house had a nationalist, egalitarianist and a neoliberal vying for power. There's a good blog post about it here:

[https://benjaminstudebaker.com/2016/02/05/why-bernie-vs- hill...](https://benjaminstudebaker.com/2016/02/05/why-bernie-vs-hillary- matters-more-than-people-think/)

My thinking was I'd rather have Trump in the whitehouse than clinton, because he'd be a lame duck president even with an all GOP congress -- he's totally crazy and narcissistic so will get nothing done, he'll polarize the whole country and hopefully bring out blue in 2018, and by 2020 we might get an anti-neoliberal candidate (from the left) again running for office.

So far I'm pretty right in that he's not really accomplished anything except make himself and the country look absolutely retarded. Lots of red seats have already gone blue in parts of the country where that's rare.

Clinton would've been more of the same, more supporting the corporate agenda over the people, and we wouldn't get the change we need. By throwing Trump in the mix we make America worse for a bit, but in the end it could cause us to really get the change we need. That's why I wrote in Bernie and did not vote for Clinton.

</comment></comment><comment><USER6> And here we thought Wikileaks leaking next to nothing on the GOP was a coincidence.

</comment><comment><USER7> 2 paragraphs in and I've already hit 2 spelling mistakes. This isn't a HN comment; it is an article. If you miss this volume of easy mistakes and can't bother to proofread it is off putting.

Edit: Is it possible they don't use spellcheck on secure article prep? On second pass that makes sense.

<comment><USER8> I don't see any misspellings in the first two paragraphs. The only misspellings I see in the first section (as far as I've read so far) are in quotes from Twitter direct messages, which are not "an article".</comment></comment>


Should kids learn to code? - <AUTHOR> http://www.theguardian.com/news/2015/dec/03/should-kids-learn-code <comment><USER3> I disagree with this. I feel like the general idea of "learning to code" is simply typing commands into a machine that then get executed exactly. The coding part teaches very little, just mainly how dumb machines are compared to self-aware human beings.

Kids should definately learn how to think algorithmically and understand mathematics/physics concepts (as opposed to repeating some pattern recognition which is to often the case) and if some type of coding facilitates engraining this knowledge I think that'd be great, but as of yet I haven't read a study that showed this to be the case.

As a programmer, when I have kids I'm not going to teach them how to code. I'd much rather they spent time playing outside, building things with their hands, acting in plays, playing music, reading books, writing papers, doing science experiments etc. Computers are nice tools to help you do these things but they are not ends in themselves.

this all IMHO of course :)

<comment><USER4> To be fair, learning to code also teaches how to break down problems into their most simple pieces which is a very useful skill.

I am myself mixed about the benefits of learning to code. I am currently leaning towards it being equal to the other activities you list, but not greater than.

<comment><USER5> When I was growing up (80s), the computer was treated like a black box in education. You'd sit at the computer, recite the incantations, and the computer performed the magic. At school, they sat you in front of the computers and you just tinkered with the software for an hour while the teacher finished grading papers. At home, chances are good your parents didn't understand much about computers, so you were mostly on your own, and computers were so expensive that you didn't dare mess with the hardware.

These days, it's a whole new game. We can give our kids a more holistic education around coding because we have things like Arduino, Raspberry Pi, Lego Mindstorms, etc. We can teach code as one among many tools to get a job done or otherwise affect the world, rather than teaching coding as an abstract end in itself.

As an example, my daughter wants to build a garden with me in the near future. Part of that project might include some Arduino-based sensors. If she's interested, I can teach her all about it. But either way, there's a lot to learn.

All of this is to say I agree with you, that code is perhaps an equal, but not superior, among many other ways to help teach a kid how to think.

<comment><USER6> I would say if your kids have an interest in learning to program, help them, let them. If they don't, don't force it. There are a lot of things kids should understand, and anything else can be learned. The guys working on computers in the 60's and 70's understood them better than most people today working on a computer, writing software because they had to, and none of them grew up learning to code.

At 40, I'm well on my way to becoming a gray beard, just the same this shouldn't be required. Maybe somewhere around 10-12yo, an rPI or similar would make sense to tinker with in school... but that should only be to introduce kids to these things.

Kids are naturally creative and curious... let them know something is possible, and let them choose to explore. I wish there were more schools that offered elective coursework earlier on the junior high school... it would let kids explore more in a semi-structured way.

</comment></comment></comment></comment><comment><USER7> Yes, even if they're not going to become programmers, coding teaches people two important skills that I see lacking:

\- The ability to break up large, seemingly daunting problems into smaller manageable chunks.

\- The ability to shift perspectives from the 50,000 foot view, down to the individual line of code view, and then back up to the 50,000 foot view, and then back down again!

Variances in individuals abilities can be accounted for - jack might only be mentally capable of going to the line of code level, but I can see Mary is getting bored, so she can look at the interpreter source code - they should be encouraged to seek answers themselves.

I have a close friend who is the head master of a school here in the UK, and he is really keen to get kids coding, but there's no source materials for the teachers to learn, I think there's opportunity there for anyone who wants to pick it up :)

<comment><USER8> These are more "Software Architecture" skills, than programming skills.

Let's not teach kids higher-level organizational skills, but save those for later. For kids it is important that they can play, and fail often.

<comment><USER7> I don't think there should be a difference, it's just a matter of scale.

When they start off coding, it might mean an entire week spent in a single python file:

The 50,000 foot view might be "Printing Restaurant Menu", the "line of code" view, might be getting the price of pizza.

We're not talking architecture, or operating systems, or networking, or boolean circuit logic, or anything, we're just printing their favourite food menu - a practical example of shifting perspectives.

Once they can shift easily, then we expand it in both directions - Now print menus for 10 restaurants. Now find the most expensive pizza.

I think these lessons can go hand in hand with Math -- too often the main complaint with Math is that it's too abstract (When am I ever going to use this?!) whereas if the Math lesson about averages tied into the coding lesson for printing the menu (Now find the average cost of all pizzas) kids might be able to see it as useful

<comment><USER8> Let me make an analogy: we're not going to teach kids how the food industry works before we're teaching them how to bake a cookie. We're also not teaching them about city planning before they had a chance to put some lego bricks together.

I think the important thing here is that kids need to see the necessity first. Only then can they start to deal with more abstract concepts. And actually, I don't think this applies to only kids. I think it is the reason that "learning by doing" is so much more effective than anything else.

To give an example related to programming. I have seen CS students use preconditions and postconditions (i.e., assertions), on functions, without understanding why they were using them. They just wrote those assertions because the teacher said they had to do it. Of course, the assertions are useful, but only for large, more complicated, programs. But since the assignment programs were all small, the usefulness of this particular software engineering instrument completely eluded them.

<comment><USER9> 100% agree. Trying to teach them to break things up into modules won't make sense to them, unless they write a 1000 line program, and then go to change it and things break. They have plenty of time to learn good software engineering practices, decades in fact. They don't need to be a genius at first strike, they just need to learn how to code. Trying to teach them perfection at the beginning is a huge mistake.

</comment></comment></comment></comment></comment><comment><USER10> I spent last year on a deep dive into this field, after volunteering to spin up a coding class for our local middle school (12-14 yo students). I have a heavy software development background but not much experience in education as a "provider". I ended up spending several hours every week hands-on in the classroom with the kids, plus time outside the classroom grading, reporting bugs in the teaching site we used to the vendor, etc. One of my own sons was in the class so I got to see something of the student side of things close up too.

I learned many things from this exercise that could fill several blog posts or a book.

But no time for that, so some quick thoughts:

1\. It was much (much) harder to teach coding than I expected, even in the case of the very brightest students.

2\. There is a latent expectation of quite strong mathematics knowledge in all programming education. I discovered however that this knowledge is pretty much absent in students of that age. For example analytic geometry is not introduced until 8th grade (14 or so) so prior to that if you want to show programming with lines on a 2D plane with Cartesian coordinates, you will get some very blank looks from the class.

3\. I had assumed that teachers would be able to pick up the ability to teach coding with my help (we're talking teachers who already handle science or computer applications subjects). This turned out to be an invalid assumption. So in order to succeed the class needed to be staffed by "programming educational paraprofessionals". Such people are by their nature very busy and as a result we were not able to run the class again this year.

Overall I'd say now that coding is somewhat like musical instrument playing or art -- something that is well worthwhile having in school, but not a subject that all students are going to take to. It requires a similar level of commitment and investment (consider for example that the school employs several full-time highly skilled musicians and requires around 8h/wk class+practice time for "band"). To provide comparable resources for a coding class would be extremely expensive.

</comment><comment><USER11> Should kids learn a musical instrument

Should kids learn to play chess

Should kids learn to play soccer

Yes if it interests them. No if not. I feel like we might have solved this problem for X a number of times in the past.

I'd also warn against the notion that learning to code magically improves critical thinking/task management. They are accessory skills that good developers have or have learned.

<comment><USER12> > Yes if it interests them. No if not.

If you do that with food you have a grown person eating Chicken Nuggets and Mac & Cheese for life and not know the awesome food that is around them.

<comment><USER6> Kids tend to be naturally curious and want to help... let them help, even if it slows you down. If you cook and let them help, when they are young, they will learn.

And yes, some people as adults only eat chicken nuggets and mac and cheese... though to be fair, I spent two years perfecting my mac and cheese skills (baking vs. stove top, bechamel route vs sodium citrate, sauce and cheese variations) making it about every other week.

<comment><USER12> Kids are natural scientist and we always screw that up. BUT pushing them to try new things is also super important.

</comment></comment></comment></comment><comment><USER13> Yes, because it's a literacy issue.

By that I mean that learning something about programming is a prerequisite for such a wide range of things that you will be left in the dark without basic programming knowledge.

Machines have been complex for a long time, far too complex for everyone to understand. But generally, even a novice can understand any one particular detail if they care to. Engines are complex, but you can quickly read up on the cycle it goes through, and get a vague understanding.

Except how the valves are controlled, because now those are computer- controlled, so you must know how a computer works to understand. Before, you could have asked some questions and got an explanation about push rods or cams or something, and walked away feeling comfortable with that explanation.

So programming has become a fundamental dependency to understanding a wide range of things

</comment><comment><USER14> Yes. It's almost like math or science or english at this point. They may go their entire life without using many of the more advanced concepts they learn in those subjects, but being aware of them is important.

In the same way, they might go their whole lives without doing any serious programming, but knowing that it's possible to automate a lot of little things they use on the computer and what they should look up if they ever get the urge could help empower theirs and others lives.

</comment><comment><USER15> I'll just post my Scratch blog post again: [http://reddragdiva.tumblr.com/post/127964136013/it-turns- out...](http://reddragdiva.tumblr.com/post/127964136013/it-turns-out-scratch- is-probably-the-answer)

There have been many simple languages for kids, but Scratch appears to be the one that works.

Speaking to my daughter's teacher, it's not just the academically-bright kids getting into Scratch - the academically average and academically behind ones do too. It appears to satisfy requirement #1: get the kid _interested._

The important thing learning to program does is teach kids that the code that runs their world is a humanly tractable thing: that literally _everything_ that _any_ computer does is a more complicated version of a dancing ballerina animation.

They don't need to become coders to benefit from having an idea of how the machinery their civilisation runs on works, and not to just think of it as unknowable wizard magic.

<comment><USER16> I've noticed lot of web developers I've worked with view hardware as unknowable wizard magic(or maybe disinterest) . Where do you think the line should be drawn between hardware/software?

Raspberry Pi seems to have a lot of stuff for children as well.

<comment><USER15> Good question! My daughter is a little geek (a gamer in particular ... and identifies as one) and I haven't got her into hardware yet ... if I can think of something a Pi could do that would actually be interesting to her, that would be an excellent approach.

</comment></comment></comment><comment><USER17> It always sounds strange to hear a developer job is future proof. I'm a developer in Switzerland and my main impression of the market is that many jobs have left to cheaper places.

<comment><USER18> There will always be people willing to pay more for a better developer.

</comment></comment><comment><USER19> As long as programming remains the single most reliable way to raise your socio-economic status, I don't think anyone can argue against teaching it to kids.

</comment><comment><USER20> I was doing x86 assembly coding as a teenager, and certainly didn't need nudging. I also taught myself calculus, physics, and even material engineering. I don't see any problem with kids coding. It looks like other people are comparing it to chess or soccer? I would compare it to Math, which is taught to people. I'm not sure why people would feel like only certain people can do it (like soccer or chess). I don't feel threatened if more people code. Maybe I'll create (another) language to teach my kids if I have any.

</comment><comment><USER21> Kids should learn problem solving skills. Math teachers of today are, unfortunately, quite different from those of yesterday. So, everyone believes they can do something more with programming.

<comment><USER22> So many of the arguments arguments about it are really just arguments for learning math.

But America sucks at teaching math, so screw that lets teach programming instead.

</comment></comment><comment><USER23> I believe children should learn to think critically, logically and learn about logical fallacies. Writing software can be a means to an end but learning to type code as a rote exercise without learning to design, architect and write an application is a pointless exercise.

</comment><comment><USER24> The article is about what Steve Jobs said, that "Everyone should learn how to program.." but Steve Jobs did not allow his kids to use a computer up to a certain age.

As I looked after children I can tell a certainty confirmed by others: "Millenials are cry babies". Nowadays children as small as a few years old want to do what their parents are doing, including to have a girlfriend, before they are able to stop using pampers..

[http://captaincapitalism.blogspot.ro/2015/12/rant-of- day.htm...](http://captaincapitalism.blogspot.ro/2015/12/rant-of-day.html)

<comment><USER14> When I was in elementary school in the 1980s, the cool kids as early as 1st grade would be "married" with someone during recess.

It's all a part of children playing, there's nothing wrong with them wanting to have a "girlfriend" like their big brothers or sisters have.

They also want to pretend to be firefighters and astronauts and I don't see people whining about how entitled kids are for wanting that.

</comment></comment><comment><USER9> The answer is "If they want to". Forcing a kid to learn to code is the same as learning the violin or putting them in football. If they are interested in it, great. If not, it will be like torture.

<comment><USER20> I don't get it. "Forcing a kid to learn English is the same as learning the violin. If they are interested in it, great. If not, it will be like torture." What? Coding is another language (and I should know, I created a computer language)--somewhat. I learned piano, and don't think that should be forced (I also don't think I'm threatening the jobs of concert pianists). The basics of coding should be forced, though.

<comment><USER9> It's not just learning a language. It's a tool to allow you to build computer applications. Some people simply aren't interested in building apps, just like some people aren't interested in playing music or throwing/catching a football.

<comment><USER20> Where did we get to apps? How about just command line? I'm not sure if you create apps for your job, but that's not all of programming. I work on an "app" for my job, but it's a more-or-less vertical. I really don't see how teaching a child some command line or REPL (read execute print loop) stuff threatens my job. Even if that child is in India or something. I'm secure in my own abilities.

<comment><USER25> Is knowing any of that necessary in today's world? Command of the English language is needed to function in our society and neglecting to teach a child the subject has obvious lifelong negative repercussions.

Most happy and successful people will never care about typing commands into a glorified calculator.

</comment></comment></comment></comment></comment><comment><USER26> One big skill learning to code teaches that is overlooked I think: how to look stuff up online, research, and find answers.

</comment><comment><USER25> Coding is child abuse unless they're truly interested in learning.

</comment><comment><USER27> Well, yes, maybe, if the also learn to write, e.g., specifications and documentation, IMHO, currently the biggest bottleneck to progress in computing.

</comment><comment><USER28> Should kids learn to code?

That's a great question. I also wonder if adults should learn to code, or my peers who would be young adults.

I'm 24. I started programming when I was 10 years old by reading a 'For Dummies' book teaching Basic. I hardly read the book because it came with a CD with the language and the language's help system had tutorials which I jumped into right away.

I spent the next four years developing video games in Basic. I learned C and continued to make games and also started working on other types of simulation. I've picked up web programming incidentally, taken courses in high school, worked as a programmer, researcher, and software engineer, majored in computer science in college, and have a steady job as a software engineer.

Earning my degree has been amazing for me because it's introduced me to highly technical aspects of the field that would otherwise be inaccessible to me or present large barriers to entry.

An interesting trend is for school systems to embrace computer programming / computer science as a skill and teach it as a class or to introduce it into the curriculum in general -

      >  Britain became the first ... to introduce compulsory computer science on
      the school curriculum for all children aged five to 16.

Equally, though, this could be off-putting for many kids. Depending on how it is introduced, it might scare away those who would otherwise be interested in programming or less so another design field in computer science. Oddly enough:

      > "One 13-year-old told me she would rather be in garbage disposal than work
      in technology,"

It's really surprising that this sentiment isn't more widely felt. Maybe it is the sort of tech-bubble, get-rich-quick, new technology enthusiasm and excitement that gets people to push through the initial, `this is boring, difficult, and unfulfilling' feeling that I would really anticipate from anyone making a cold dive into code.

In fact, I've had the opportunity to mentor some kids around the ages of 10-12 and that's exactly the response I've seen to the programming or code side of development, where they will be increasingly excited to design applications in a much, much higher level way. But directing software design should really be considered a lower field than implementing it, in my very humble opinion.

And this point, about some being disaffected by being compelled to learn something, underscores another unfortunate fact - and that is no matter how someone is introduced to computer science or computer programming - <USER2> will be outside of their control.

Some start by programming in Python or JavaScript, some start with C (many engineers) or Java, others have began with Fortran or Basic or Visual Basic, and others begin to learn computer science with Scheme. There are so many vastly different programming languages and platforms that exist, and even different _programming paradigms_ , and each is easier to use or understand to different minds.

But it would take an expert oracle to know what the best introduction is for every individual to give them the best chance of success in computer science. Some scientists can't even agree on what text editor to use.

      > Puzzlingly, though, IT had the highest unemployment rate of any subject
      analysed by the Higher Education Statistics Agency.

Here is another annoying fact. In the midst of a rise of bootcamps, there are still those who can't find jobs. And the fact that so many people can jump into monthly groups to learn to "program" doesn't mean that there is a stable, sustainable system for them to work in.

If it is what I believe it is essentially web design or scripting education that's going around, there's really only a few months of work for any group of graduates, and the opportunity to float along the top at any organization that takes them on.

To imply that a bootcamper will become a major technical lead in any kind of reasonable time or with anywhere near the same level of effort as a regular graduate seems extremely disingenuous, and the fact that six figure salaries are being touted as results from these camps seems to show a real economic failure.

      > The coding bootcamps springing up in London and Edinburgh are essentially
      a pop-up solution.

That would be an accurate description, although I might be cynical.

      > ... Scratch, a computer language developed specifically for young
      children.

I've seen Scratch and I think it's fantastic. Along with Logo and other platforms for introducing logic and computation, I think it's perfect for children and new-comers. Compare for example the sort of weights and blocks that some children are introduced to when learning algebra initially.

      >  Perhaps that is the single most honest argument for teaching
      everyone to code: to give everyone an equal shot

That's definitely a fair point, but there's never going to be a way for this to be true universally and that is just a fact. The ecosystem for programming and development is varied and depending on what you want to do, it's going to require vastly different skill sets.

Another reality is that there are so many people doing so many different things and technology is such a competitive field that there is almost a guarantee that someone, somewhere is attempting to achieve the same thing in a complete different approach. Who has the fair advantage?

Then it's explained that having experience or skills with computer programming, 'knowing how to code,' or being introduced to the field results in `Aha!' moments like ...

      > "'It would be so cool if this existed,' and then implementing it the same
      day – it's like a superpower,"

In reality, if you have a complicated idea for something that you want to see created.. it's going to take work. If you have a simple idea, then yes, it may be simple to create! And it is empowering to have the skills to create or begin to create something, or to know where to find those resources and how to begin.

Then this article ends on this point:

      > "How many young people ... have what it takes to be great developers? ...
      "But they won't be, unless we give them the chance.

This is probably the core idea to education, school, training, and jobs. In order to find opportunities... they must exist, and in order to achieve skills they must be attainable or at least known to someone.

But in the same vein, how many people would make excellent astronauts if there were a much broader space program? It's something where there's always a trade-off in time and skill between anything a person might become employed doing.

Shameless plug, part of why I developed the Duck programming language was to make a very accessible programming environment, and I still intend to expand it as best I can to allow easy programming! I'm also working on a new language that is lower-level and it intends to facilitate clean, efficient and safe programming while encouraging higher-level paradigms like functional programming. There aren't a lot of functional, imperative languages out there that still avoid automatic memory management, and I think that's a loss.</comment>


Judge Protects Secret Muffin Recipe by Barring Employee Hire - <AUTHOR> http://www.law.com/jsp/article.jsp?id=1202443728649&src=EMC-Email&et=editorial&bu=Law.com&pt=Law.com%20Newswire%20Update&cn=LAWCOM_NewswireUpdate_20100217&kw=Secret%20Muffin%20Recipe%20Prevents%20Executive%20From%20Switching%20Jobs

<comment><AUTHOR> This is a highly unusual trade secret case illustrating what _not_ to do as a high-level executive about to switch jobs.

Bottom line: a _very rare_ result in which the executive was not just enjoined from disclosing trade secrets but was barred outright from ever working at the competitor's on any terms. Shows the extreme steps taken in and out of court to preserve the secrecy of a highly valuable trade secret (in this case, involving a muffin recipe), probably akin to what Coke does to protect its proprietary soft drink formula.

<comment><USER2> Agreed, and add (the detail of):

" _Botticella also surreptitiously accessed highly sensitive documents on his final day of work at Bimbo, Surrick found, and a computer expert showed that an external drive had been connected to Botticella's laptop._ "

Although the reported basis is one I'm very uncomfortable with, the judge saying the plaintiff's "burden was to show at least a 'substantial threat' of disclosure of a trade secret". If Silicon Valley had been under such a regime way back when, we wouldn't be having this discussion (well, we might ... on 300 baud modems...).</comment></comment>


Ask HN: Anyone interested in customization of APEX apps? - <AUTHOR>

Would anyone be interested in a customized version of any of these applications (in comment below)? <comment><AUTHOR> (Edited to fix link formats)

User demo

Password demo

Project Tracking [https://apexea.oracle.com/pls/apex/f?p=11591:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11591:LOGIN)

Product Request Manager [https://apexea.oracle.com/pls/apex/f?p=11592:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11592:LOGIN)

Application Standards Tracker [https://apexea.oracle.com/pls/apex/f?p=11594:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11594:LOGIN)

Artwork Catalog [https://apexea.oracle.com/pls/apex/f?p=11596:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11596:LOGIN)

Bug Tracker [https://apexea.oracle.com/pls/apex/f?p=11597:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11597:LOGIN)

Checklist Manager [https://apexea.oracle.com/pls/apex/f?p=11598:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11598:LOGIN)

Customer Tracker [https://apexea.oracle.com/pls/apex/f?p=11599:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11599:LOGIN)

Decision Manager [https://apexea.oracle.com/pls/apex/f?p=11600:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11600:LOGIN)

Expertise Tracking [https://apexea.oracle.com/pls/apex/f?p=11601:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11601:LOGIN)

Application Feedback Manager [https://apexea.oracle.com/pls/apex/f?p=11602:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11602:LOGIN)

IT Systems Catalog [https://apexea.oracle.com/pls/apex/f?p=11604:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11604:LOGIN)

Use Case Status [https://apexea.oracle.com/pls/apex/f?p=11606:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11606:LOGIN)

Survey Builder [https://apexea.oracle.com/pls/apex/f?p=11607:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11607:LOGIN)

Live Polls [https://apexea.oracle.com/pls/apex/f?p=11608:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11608:LOGIN)

Sales Opportunity Tracker [https://apexea.oracle.com/pls/apex/f?p=11609:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11609:LOGIN)

Meeting Minutes [https://apexea.oracle.com/pls/apex/f?p=11610:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11610:LOGIN)

APEX Application Archive [https://apexea.oracle.com/pls/apex/f?p=11612:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11612:LOGIN)

Go Live Checklist [https://apexea.oracle.com/pls/apex/f?p=11613:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11613:LOGIN)

Group Calendar [https://apexea.oracle.com/pls/apex/f?p=11614:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11614:LOGIN)

Issue Tracker [https://apexea.oracle.com/pls/apex/f?p=11615:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11615:LOGIN)

ncident Tracking [https://apexea.oracle.com/pls/apex/f?p=11616:LOGIN](https://apexea.oracle.com/pls/apex/f?p=11616:LOGIN)</comment>


Why do we not fly to space with helicopters? - <AUTHOR> https://space.stackexchange.com/questions/27630/why-do-we-not-fly-to-space-with-helicopters-what-are-the-practical-altitude-lim <comment><USER2> We can fly to space (as in height above the Earth) with a helicopter, but we need speed to remain in orbit without an engine to maintain lift.

In other words, switch off that helicopter's engine and it will fall like a brick if it doesn't have sufficient orbital speed.</comment>


Show HN: Quire 3.0 – Agile bridge between nested tasks and Kanban board - <AUTHOR> <comment><USER2> Link?

<comment><AUTHOR> Oops. Looks like I missed it. Here it is: [https://quire.io/blog/p/Quire-Mark- III-Nested-Tasks-Meets-Bo...](https://quire.io/blog/p/Quire-Mark-III-Nested- Tasks-Meets-Board.html)

<comment><USER2> Do you think it makes sense to resubmit with the link?</comment></comment></comment>


Show HN: Heatflask Animated Movement Geo-Viz app - <AUTHOR> https://www.heatflask.com <comment><AUTHOR> Hi HN people, what's up. I'm new here and this is my first post!

I've been working on an app for a while and I think it's ready for you all to check out. It started out as a way to learn web-dev but it's developed into a nice little project that could become a product. [https://www.heatflask.com](https://www.heatflask.com)

In basic terms it is a visualization app for movement data that presents a new way to look at Strava users' recorded runs/cycling/etc. It demonstrates what I call a semi-static representation of an entity's location function. Sort of a spacetime heatmap or something.

Suppose you could observe several versions of yourself: Yourself now, 1 minute ago, one minute before that, and so on, all at the same time, so that there are multiple copies of yourself, each one minute apart -- all existing in parallel. Then your entire recorded location history could be represented as a one minute loop. My app gives a glimpse into that representation, and you can even make a little gif to share on social media.

I am working to add more features and have some ideas about where I want it to go. As of now I have a few thousand users, mostly in Japan for some reason. Check it out and let me know what you think!</comment>


The Lost City of Atlantis – Hidden in Plain Sight - <AUTHOR> https://www.youtube.com/watch?v=oDoM4BmoDQM <comment><USER2> "In this video, I am going to connect the dots on the exact words that Plato used to describe Atlantis, its location, and the geographical land features that surround it, which were recorded in Plato's dialogues, the Critias and Timaeus."

"And the details that Plato shared of Atlantis, which I'm about to share with you in side by side comparison, will show you that the Richat Structure located in Mauritania Africa, also commonly referred to as the Eye of the Sahara, or the Eye of Africa…is the most likely location for the lost city of Atlantis."

<comment><USER3> So, the Richat Structure, or Eye of the Sahara, never existed either?</comment></comment>


Goodnight. Sleep Clean - <AUTHOR> http://www.nytimes.com/2014/01/12/opinion/sunday/goodnight-sleep-clean.html <comment><USER2> > One day, scientists might be able to successfully mimic the expansion of the > interstitial space that does the mental janitorial work so that we can > achieve maximally efficient round-the-clock brain trash pickup.

We can ask the same question the article poses initially about why we still sleep. Why hasn't this evolved yet? What are the disadvantages of this 'always-GCing' approach? In a best-case scenario, it might just be some sort of historical limitation that no longer applies* (just as our tendency to get fat is a result of an approach to resource conservation that made sense in the ancestral environment, where food was scarce and opportunities to feed intermittent, but does not in modern civilization, where food is nearly always available). In a less appealing scenario there might be some tradeoff that causes us to think less efficiently when this interstitial space expands.

[*] The extra fluids have to come from somewhere, which would mean they're not available for other tasks. Similarly, digestion is expensive--blood flows to the intestines after a meal, and if this is to happen then (since in the short term, you have a fixed amount of blood) it's less available for fueling your muscles. (And if you force yourself to be active right after a meal there's contention for these finite resources. Ever go for a run right after eating?)

Though perhaps there's less fluid involved here than there is with the intestines.

<comment><USER3> Evolution is actually quite horrible at engineering. Since it can only hill- climb, we end up with ridiculous designs stuck in local maxima. Evolution made video cameras out of jelly, a breathing tube that must be crammed full of solid foods every few hours, and (as Neil deGrasse Tyson put so delicately) a sewage plant next to an amusement park. No organism ever evolved radio communication, or the ability to transmit nerve signals faster than 0.000001c.

Still, why 8 hours of sleep instead of 2? The best explanation I've heard is famine resistance. Sleep conserves energy; until recently, humans were calorie-limited. Also, there's probably an advantage to remaining quiet and still in the dark, when human eyesight is at its worst and predators roam.

<comment><USER4> Why take human engineering out of 'evolution'? Biological evolution developed our brain and manipulative appendages, which were then used to make better video, comms, etc. Humans, and everything we do, are still 'naturally evolved', by definition.

<comment><USER3> "How many legs does a dog have, if you call the tail a leg? Four. Calling a tail a leg doesn't make it a leg." — Abraham Lincoln

<comment><USER5> Side note: according to some sleuthing by the snopes crowd[1], this quote predates Lincoln's presidency by several decades, with the first recorded usage being somewhere around 1834. He may have used the anecdote himself, but it seems to have been a popular saying in the abolitionist movement in general.

[1] [http://msgboard.snopes.com/message/ultimatebb.php?/ubb/get_t...](http://msgboard.snopes.com/message/ultimatebb.php?/ubb/get_topic/f/32/t/000450.html)

</comment></comment></comment></comment></comment><comment><USER6> I found this oddly phrased:

"the sleep researchers I spoke with agree that there's no evidence that aided sleep is as effective as natural sleep."

Is there evidence that it isn't as effective as natural sleep? Why not say there's no evidence either way?

</comment><comment><USER7> It blows my mind (pun intended?) that we still don't really know why we need sleep, even though we sleep for like 20% of our lives.

We know some stuff, like if you don't sleep, bad stuff happens to your body and you don't form memories effectively, but like the article says we haven't figured out why it's so essential.

<comment><USER8> 20% (4.8 hrs)? I don't know about you, but for me it's closer to 33%.

<comment><USER7> Haha ya, I guess that's really on the low end. I was thinking of old people who seem to sleep like 4 hours a night for the last 20 years of their lives. Plus people are generally sleep deprived.

<comment><USER9> Old people pretty much are sleep deprived, though. Their systems are falling apart (that's aging). I was reading a study once on, I think, melatonin in the elderly, and it showed a graph of the 24-hour melatonin secretion cycle for a young healthy sample and then for like age 60+ people; in the young people, the cycle looks exactly as one would expect, with a fall in mid-day, increase in evening, and high levels while asleep during the night and slowly declining to the day levels - in the elderly, it was a flat line. Horrifying.

</comment></comment></comment></comment><comment><USER10> I'm mostly glad that this will help with Alzhimer's(sp?) research. Being able to work 24hours matters less to me, I rather like to sleep, than treating the terrible memory loss that comes with the disease.

<comment> k-mcgrady >> "I rather like to sleep"

Personally I agree. I'd also find it interesting to see how removing sleep from our lives would effect things like depression or even how it would just effect people having a bad day. For example if I'm having a terrible day I can't wait to get into bed, fall asleep and end it. The separation sleep provides between one day and another gives the feeling that tomorrow is a fresh start and the problems of today might be less. I'd guess I would be miserable for longer without sleep.

</comment></comment><comment><USER11> This is by far the most interesting science news I've seen for many months. I am glad it made the HN front page. (And because of the very non-descriptive title, I almost didn't click on it.)

</comment><comment><USER12> I remember watching a series of videos a few years back by a guy who claimed sleep was for waste disposal and that dreams were because different parts of our brain were shut down at different times. I can't remember his name or where I saw it. Does anyone else remember it or have a link?

</comment><comment><USER13> Instead of medication assisted sleep, I'll stick to a well organized environment and rhythms.

Real sleep deprivation is really 'funny', after having an allergic reaction to something in my home I couldn't sleep in it for 3 days, it's like being drunk with fever, you lose track of time, balance and get emotionally confused every 30 seconds.

ps: I wish they'd mention 20 minute long naps and how they can feel so "repleting" even though I don't believe a lot can be cleaned through the glympathic system.

</comment><comment><USER14> I'd be interested to see what effect (if any) modafinil has on this cranial garbage collection routine. Given subjective reports that modafinil allows one to go without sleep _without_ accruing sleep debt for some period of time, maybe this would shed some light either on how modafinil works or what other functions sleep has (or both!).

</comment><comment><USER15> Curious whether meditation might induce a state where the brain also cleans itself, just like during sleep...

<comment><USER16> Afaik, that's how they explain why the Elves in some version of D&D fantasy roleplaying only need 4h of sleep/meditation :)

But seriously, I've never noticed anything like that in my own practice. Granted I don't go for stretches longer than about 45 minutes, and I do it every morning when the cleaning has just happened. Or perhaps you'd need a specific additional technique apart from just sitting focusing on breathing. Visualisation techniques can sometimes dramatically change the effect of a meditation session (sometimes, but not consistently).

Additionally, I suggest trying to meditate when you're mildly sleep deprived. You'll find it harder to do, with yourself dozing off or blinking/blacking out occasionally. And while they're both, in some sense, mental states of "no thought", they are also worlds apart: the meditative state is a state of high focus, while the dozing/blinked state is pretty much the opposite.

What I've found in the few occasions I've experienced this (I don't like being sleep deprived so I try to avoid it :) ), is that you come out of such a blink-out state with a tiny bit of a jolt. Now, say I'd apply the same technique as one would use for basic meditation practice: when your thoughts wander away, try to observe that this has happened, congratulate yourself on noticing (instead of seeing it as failure) and gently bring your thoughts back to the focus.

Now I guess (and I'd have to try it out, but I don't want to because it involved sleep-depriving myself) one of two things will happen: One, over time (weeks/months), this process will train myself not to fall asleep, setting up circuits in my brain to keep me from dozing off (hopefully only when I don't want to). Of course the cleaning thing won't happen because you're awake and focused all the time, so you just got more efficient at sleep depriving yourself. OR number two, perhaps more likely, you'll doze off anyway, at some point. I can totally see that happen, dozing off into a half-dream where I dream I bring my mind back into focus and have this amazing meditation, suddenly get weird, in my dreams, and wake up a few hours later. It's the typical kind of trick my brain would pull on me.

Also, I don't quite see meditation like this. True, after 30 mins of meditating I am usually more relaxed and focused than I was before (but not always), but the main thing about meditation for me is just like sports and exercise: it's not so much about the immediate results, but it's _training_. When I meditate I do it because I am training my mind to keep focus and not drift off to everywhere except here & now, to have that state at least once a day, but to also take that habit onto the rest of the day when I'm not sitting. What you're describing sounds more like meditation as a kind of "pill" to give a direct effect, I find it's not very reliable in that sense, I use it more like training one's back muscles to give more support during the day.

</comment></comment><comment><USER17> Article title is somewhat misleading, I thought they meant sleep clean as in without going into an intoxicated state, or to actually sleep clean and that this was somehow relevant.

"Sleep cleans your brain" or "Sleep garbage collection" or something. Still probably not good.

</comment><comment><USER18> The first paragraph of this contains my latest pet peeve - any kind of evo explanation which relates a human behavior or biological process to the _hominid_ era of evolutionary adaptation ... when that behavior is common to all mammals or even all vertebrates.

</comment><comment><USER19> Apart from "rebooting" body and mind during sleep, I also think that dreams are extremely important as real life's sandboxing; used to evaluate the efficacy of future actions and prepare for them.

<comment><USER16> ... the future's gonna be _weird_ ...

</comment></comment><comment><USER20> That brain graphic is like a motion illusion when I read down the text; it continually appears to shrink. Did anyone else see that too? It only works when you aren't focusing on the graphic.

</comment><comment><USER21> Interesting article.

Off-topic: the new nytimes.com website feels a bit buggy on my iPad. None of the top banner button works (of the article page). Are they using JQuery- Mobile or similar slow js framework?

<comment><USER22> jQuery v1.7.1 as far as I can tell

[http://js.nyt.com/js2/build/sitewide/sitewide.js](http://js.nyt.com/js2/build/sitewide/sitewide.js)

</comment></comment><comment><USER23> Let's all just sleep properly, till someone finds a pill which will rejuvenate us in lesser time, and we fool humans overuse/misuse it and crib about technology later :)

</comment><comment><USER24> why would staying quiet and motionless during nocturnal predator hunting time be an evolutionary disadvantage?

<comment> k-mcgrady Because you are also completely defenceless. If a predator stumbles across you'll probably already be in pieces by the time you're aware what's happening. Ideally you would want to stay quiet and motionless but also awake and alert.</comment></comment>


Looking Back at the Snowden Revelations - <AUTHOR> https://blog.cryptographyengineering.com/2019/09/24/looking-back-at-the-snowden-revelations/ <comment><USER2> Oh yeah :

\- Before Snowden, if you spoke about these issues, you were dismissed as paranoid.

\- After Snowden, if you dismiss these issues, you are dismissed as hopelessly naive...

Oh, also - considering all this - you can bet that Intel's Management Engine has likely been backdoored by the NSA, so using Intel's processors is not recommended, especially if you're a non-US company... (industrial espionage !)

[https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf](https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf)

<comment><USER3> > Before Snowden, if you spoke about these issues, you were dismissed as > paranoid.

I've been telling people for years, but nobody listened.

Now everyone knows it's true, but still nobody seems to care…

<comment><USER4> >Now everyone knows it's true, but still nobody seems to care…

That just about sums up every bad act.

Lots of people were aware of all the bank fraud and toxic loans leading to the 2008 real estate bubble, no one cared leading up to it, and no one cares now.

The Googles/Facebooks/amazons are collecting and doing unsavory things with your data, whether you ever used their services or not (shadow accounts), no one seems to care.

Governmental spying on citizens? Hell the Government had a program which included secret kill lists, flew military bombers into foreign countries to drop bombs and kill a citizen. Even when the US failed to kill the citizen and the family sued, their case was dismissed as the courts denied any right to know who was on the list, how they got on the list, and even denied acknowledging the list existed...yet no one cared.

Imagine a foreign country flying military missions in the US and dropping bombs on a foreigner in the US, based on the foreign governments secret kill lists. It's pure insanity.

<comment><USER5> Source on this?

<comment><USER6> [https://www.nytimes.com/2012/05/29/world/obamas- leadership-i...](https://www.nytimes.com/2012/05/29/world/obamas-leadership- in-war-on-al-qaeda.html)

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

</comment></comment></comment></comment></comment><comment><USER7> The article mentions MUSCULAR, but neglected the follow-up: shortly after the leaks, Google began encrypting all of its internal traffic over its own fiber links.[0]

First, it's worth pointing out that "encrypt everything in flight always" is not prohibitively expensive on modern hardware; also that your own internal network should not be viewed as an impenetrable bastion where you can let down your guard, just because you keep a close eye on the external routers.

[0] [https://www.washingtonpost.com/business/technology/google- en...](https://www.washingtonpost.com/business/technology/google-encrypts- data-amid-backlash-against-nsa- spying/2013/09/06/9acc3c20-1722-11e3-a2ec-b47e45e6f8ef_story.html)

<comment><USER8> "Security of organisations should be done in layers" and each layer makes breaking into your (whole) organisation harder, but comes with friction for your staff.

<comment><USER9> No, I think the new consensus is that all systems are vulnerable (obviously true if all systems have users with access, whom may be compromised) - so not layers: compartments (and need to know;need to access).

I believe this is part of eg google/alphabet's new model: no hard wall, soft "inside" (egg model). Just stand alone secure sub-systems with ACL (access control lists) mediating access on a user-by-user, sub-system by sub-system level. No real trust in "location" as proof of authorization (I assume truly, off-grid clean rooms are excepted) - because "everything" needs access to networked resources.

Ah, I guess they call it BeyondCorp:

[https://cloud.google.com/beyondcorp/](https://cloud.google.com/beyondcorp/)

<comment><USER10> Virtualization, privilege management, etc. are still another layer.

<comment><USER9> Not a different _organizational_ layer, just a different _techincal_ layer though.

<comment><USER10> Both are important in the context of security.

</comment></comment></comment></comment></comment></comment><comment><USER11> There are two problems - surveillance itself and the lack of democratic oversight and control.

Most people would agree that the state should be able to deprive people of their liberty ( prison ), but that stringent controls should be in place, with that process being public and involve peers ( though that is being slowly undermined in the west ).

What are the controls around surveillance? What processes stop abuse? Who is accountable? Where is the transparency?

You could argue that you can't be public about intent to spy, but there is a lot more that could be done.

[https://www.theguardian.com/news/defence-and-security- blog/2...](https://www.theguardian.com/news/defence-and-security- blog/2015/mar/12/britains-spy-agencies-the-only-watchdog-is-the-workforce)

</comment><comment><USER12> As someone not from the US, the passages about how easy it was are clear reminders that just because only the NSA got caught, does not mean only the NSA was doing it. Even if they have by far the biggest budget...

<comment><USER13> We've seen other stories, Stuxnet in particular that implicate other countries like Israel. Anyone that thinks that the USA and Israel are spending money on cyber warfare but China and Russia are not is living in a fantasy world. Maybe some small countries like Andorra don't have a cyber warfare division, but all the big countries do.

Everyone is being spied on. Perhaps the only distinction worth making is whether you're being spied on by your own government in addition to foreign governments.

<comment><USER14> In fact, once the content and data are liberated, there is no reason to assume it is well-protected from criminal access. Personal facts that are not directly incriminating are often just as valuable for extortion. Those facts need not be about you, to affect you. They could be about a federal judge's brother.

As extortion is the central procedure of spycraft, people trained in its use by the government also have access to the "goods". Criminal intent is no bar to employment by Booz Allen, or by NSA or FBI proper, never mind Russian GRU or FSB or their Chinese counterparts.

Extortion works for anybody.

</comment></comment></comment><comment><USER15> Naive question:

This cryptography blog seems to, but... is WhatsApp really trusted as secure end-to-end encryption chat client?

Colloquially, for one thing it's now owned by one of the biggest personal-data collection companies in the world, which would have little interest in owning a chat client it couldn't benefit from data-wise. For another, I read an article mentioning it was "known" that WhatsApp decrypted your message, stored it, then resubmitted it encrypted to the destination. (Inconveniently, I can't seem to find the article now.) If, say, your life relied on privacy, would you trust WhatsApp, and if not, why?

<comment><USER16> It is highly unlikely that Facebook can read WhatsApp messages. The reason I say that is that Zuckerberg said the couldn't, repeatedly and explicitly, to Congress. If there was any chance that they could, he would have either not said anything (the context would have allowed for that) or he would have dissembled. As he did numerous other times on other subjects.

As to benefiting from WhatsApp, I'm sure they benefited just fine. They bought it for the contact info from millions of non-Facebook customers that they could use to cross sell. Their growth in, for example, LatAm seems to imply that it worked ok.

<comment><USER11> Don't have the transcript - did he say that 'he' couldn't or that Facebook couldn't? Or that other agencies, facilitated by Facebook couldn't?

<comment><USER16> For example, he said at one point:

> No, we don't see any of the content in WhatsApp, it's fully encrypted

It's clear he's speaking about his company. Given Snowden, it would be monumentally stupid to make such a bare faced lie to Congress if they were reading, or facilitating the ability to read, unencrypted content.

Especially as he could have chosen not to say anything so specific. Congressman Schatz was talking about advertising. He could have just said something innocuous like: we don't have the ability to use WhatsApp content for advertising.

<comment><USER11> What he said there was they _don 't_ see, not they _can 't_ see.

What he also didn't say there was whether others routinely saw with Facebooks help.

Not saying they do, just saying he didn't strictly say they didn't.

He may of also being talking in the context of using content for advertising, not surveillance.

Finally a lot of intelligence gathering is just based on who has talked to who kind of networks in the first instance, rather than content because:

1\. Content can be obfuscated, but not the connections

2\. Easier to store and navigate

3\. Less noise

</comment></comment></comment></comment></comment><comment><USER17> This is a good article. Everyone has forgotten how much has changed since Snowden.

<comment><USER18> Actually, nothing changed

Some Laws was created.

Some revelations was made.

But even manipulations with elections did not kill any company

<comment><USER19> Let's Encrypt brought TLS to the masses, browsers are bringing focus to sites still not using transport encryption, https is a signal for Google ranking.

Don't be so defeatist.

<comment><USER20> I always assumed Let's Encrypt was an NSA front so that they can decrypt most of the https traffic.

Remember just after the Snowden revelations all the 3 letter agencies were very worried about https adoption rising, then their concerns suddenly disappeared.

However I have no idea how encryption works so maybe my hunch is stupid (I remember that the NSA impersonated a certificate authority for that purpose).

<comment><USER21> > However I have no idea how encryption works so maybe my hunch is stupid

Your words, not mine.

The person who created Let's Encrypt started it as his thesis in college. From there he received assistance from the EFF, some of its staff, and a few other volunteers. None of them are anonymous, all working in the space before Let's Encrypt. It's fully open source and there are no backdoors in TLS encryption.

</comment></comment></comment></comment></comment><comment><USER22> > ... — the agency spent $250 million per year on a program called the SIGINT > Enabling Project. Its goal was, basically, to bypass our commercial > encryption at any cost.

Now that things have actually started going dark for these overfunded and completely unaccountable entities this is where the biggest danger lies. They have become so desperate for continued access to endless funding that they are actually turning against the people they are sworn to serve. The most dangerous time will come when the governments of the world start the task of trimming down such entities to something proportionate to their worth. That process has not really even begun yet...

<comment><USER23> Last year the Australian government even went so far as to pass a law allowing them to _force_ companies to sabotage their own products/services in cases where a government agency wants to get access to someone's communications.

[https://www.engadget.com/2018/12/07/australia-access- assista...](https://www.engadget.com/2018/12/07/australia-access-assistance- bill-now-a-law/)

<comment><USER24> For an extra scary thought: Atlassian are Australian. Jira tickets can be forced to be altered or deleted, and codebases hosted on bitbucket shouldn't be assumed as trusted. You'll never see a Jira ticket about a 0-day the Australian government doesn't want you to fix if they decide to utilize this law.

</comment></comment></comment><comment><USER25> I needed clear recap like this to put it in perspective. Thank You Matthew Green.

</comment><comment><USER26> [https://archive.org/details/PikeCommitteeReports/page/n19](https://archive.org/details/PikeCommitteeReports/page/n19)

>NSA's work necessarily brings it in possession of the private communications of Americans. This is so because in order for NSA to monitor international lines of communications for foreign intelligence, NSA must intercept all communications transmitted over such links.

...

>First, it suggests that NSA is able monitor virtually every international communication entering or leaving the United States. At present, some 24 million telegrams and 50 million telex (teletype) messages enter, leave, and transit the United States annually, and most of these are sent or received by private citizens. Millions of additional messages are transmitted over leased lines, including millions of computer data transmissions electronically entering and leaving the country each year. International telephone calls are yet another potential source of intelligence.

</comment><comment><USER27> I have often wondered why everyone simply doesnt use Pidgin OTR ... or OTR for every communication

<comment><USER28> Because the UI/UX is terrible, and XMPP is not mobile friendly at all

<comment><USER2> Hmm, what is not mobile-friendly with, say, Conversations ?

<comment><USER28> It's not an app that can be awakened by a push notification.

<comment><USER2> What ? [https://github.com/siacs/Conversations/issues/1759](https://github.com/siacs/Conversations/issues/1759)

</comment></comment></comment></comment></comment><comment><USER29> Excellent article, and great blog find.

</comment><comment><USER30> snowden = ehrenmann

</comment><comment><USER31> Snowden's revelations proved once again that conspiracies are all false, because it is literally impossible for large numbers of people to keep their mouth shut.

Exactly as we're told on forums, exactly as we're told on TV. This is how you know Epstein is also innocent and why it won't be investigated, because we know people cannot keep silent about committing crimes, therefore we know no crimes were committed.

<comment><USER32> " _Eschew flamebait. Don 't introduce flamewar topics unless you have something genuinely new to say. Avoid unrelated controversies and generic tangents._"

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

<comment><USER33> You know this is just as effective if you don't pretend to provide a substantial justification. Flamebait can be anything you want it to be. Seize the power, dang.

</comment></comment></comment><comment><USER34> Isn't the practice of the NSA just plainly treason? And why would it not be?

<comment><USER35> Hypothetically, a benevolent NSA would primarily develop cryptographic security tools for the populace.

<comment><USER34> True. But besides their interest in acquiring exploits, I think their data collection seriously collides with peoples amendment rights against arbitrary state surveillance.

I know there are some judges and institutions that enabled this madness, but I think they might be guilty as well.

These judges should be accountable to the public in theory.

I am not saying the everyone working at the NSA is a criminal. But maybe Snowden was the only one with perspective.

The NSA as an institution certainly did more damage to the US than most of its enemies.

<comment><USER36> You must not understand how cyber war works.

The US has judges and legislation to enable the NSA.

Russia, China, Iran, NK, and many other authoritarian states seek to use their power to attack America 24x7 and do so without any oversight.

<comment><USER37> A few countries actively try to hurt us, so let's spy on everyone, including our own citizens and allies!</comment></comment></comment></comment></comment>


Announcing Updated Postman Plans and Pricing - <AUTHOR> https://blog.getpostman.com/2020/01/06/announcing-updated-postman-plans-and-pricing/ <comment><USER2> If anyone is looking to switch, I've far preferred using Insomnia to Postman [https://insomnia.rest/](https://insomnia.rest/)

<comment><USER3> As the creator of Insomnia, that makes me so happy to hear :)

<comment><USER4> Does Insomnia offer hosted documentation of the API collections? That's the feature which keeps me using Postman.

<comment><USER3> There's a nice community project that generates documentation that can be hosted [https://github.com/jozsefsallai/insomnia- documenter](https://github.com/jozsefsallai/insomnia-documenter)

</comment></comment></comment></comment><comment><USER5> Worth pointing out that postwoman is free and opensource. It is not quite as full-featured as postman, but for quick mocking without requiring registration, it is a great option. [https://postwoman.io/](https://postwoman.io/)

[https://github.com/liyasthomas/postwoman](https://github.com/liyasthomas/postwoman)

</comment><comment><USER6> [https://insomnia.rest/](https://insomnia.rest/) is a pretty great alternative. The only thing you don't get for free is data syncing.

[https://github.com/frigus02/RESTer](https://github.com/frigus02/RESTer) is a Firefox (or Chrome) extension that does most of the same stuff that PostMan does without requiring a standalone client install.

<comment><USER7> [https://postwoman.io/](https://postwoman.io/) is also great for simple use cases (and is MIT licensed [https://github.com/liyasthomas/postwoman](https://github.com/liyasthomas/postwoman))

</comment></comment><comment><USER8> Companies need to make money. People need to be paid good wages. I hate how people complain about paying for things that are useful for them. Most people expect things for free or very cheap and I blame the Apple App Store for that. Everyone expects their software to be free or $0.99 nowadays. Even $3.99 is considered too expensive. All this is doing is creating deflation in our industry. Software should be expensive. We don't need unions, we need to change people's expectations on how much software costs and not drive down prices to $0.

<comment><USER9> Software developers should realize that as their salaries increase (and I'm not even talking about FAANG), companies that are selling SaaS and software solutions have to charge more in order to continue doing the fine work of developing stuff.

At the same time, investors are demanding that their portfolio companies begin to take profits after years of blasting away money in favor of growth-at-all- costs.

In my SaaS company, we have also increased prices and changed product packaging to generate greater profits in the past year. Customers hate it, but if they could see inside the company, they would see as I do that the changes are necessary to remain in business.

<comment><USER10> "...years of blasting away money in favor of growth-at-all-costs" \- Maybe those companies should go under?

<comment><USER11> They should go under rather than just raise prices? Seems logical to try raising prices first.

<comment><USER10> Agreed, just funny how the commenter says they're blasting away money for years in one sentence but then seems to try and justify the price increase in the next.

</comment></comment></comment></comment></comment><comment><USER12> Postman is a good tool that I've used for many years. It's currently open on my desktop. However I would never pay for their team collaboration features and I doubt I would pay much for the desktop client if they started charging for it. There are too many bizarre UI choices, too many missing features, and it's much too difficult to maintain scripted tests in their awful JSON based "collection" format. The good news is that they have lots of room for improvement and it's quite a bit better than some of the older alternatives like the absurdly awful SoapUI / ReadyAPI line of products.

</comment><comment><USER13> There's also PostWoman for free (no affiliation):

[https://postwoman.io/](https://postwoman.io/)

[https://github.com/liyasthomas/postwoman](https://github.com/liyasthomas/postwoman)

<comment><USER14> I feel that we need a new app called postperson :)

<comment><USER15> postdude :)

<comment><USER16> postthey? :) as per [1].

[1] [https://www.merriam-webster.com/words-at-play/word-of-the- ye...](https://www.merriam-webster.com/words-at-play/word-of-the-year)

</comment></comment></comment></comment><comment><USER17> I'm surprised nobody mentioned [https://paw.cloud](https://paw.cloud). It's a Postman alternative that's native (no Electron/Javascript garbage) with a simple one-time-purchase pricing model.

<comment><USER18> Doesn't seem like it supports Windows, so in many people's case (including mine) not a viable alternative. Otherwise looks like a great product.

<comment><USER19> I don't know any dev on a Windows setup, it's either Linux or MacOS. So this is a very serious question and I even up voted you out of interest. Do you own the admin rights to your dev work setup?

<comment><USER20> Windows, C#, formerly Visual Studio, now Rider. Of course with admin rights. Do you realize .NET is pretty big in the business world, long before it even became cross platform with netcore or there being a crossplatform IDE?

<comment><USER21> What are the main benefits? Have you tried using it for WPF? Unfortunately I let my test license expire before I could test much, but remember that it felt a lot less _awful_ than Visual Studio.

<comment><USER20> No WPF, no. Main benefits: Features of ReSharper without the speed tax of ReSharper ;)

</comment></comment></comment></comment></comment></comment><comment><USER22> The submitted title was "Postman announces 50% price hike starting Feb 2020". That information isn't in the article, so it would be better to post it as a comment in the thread, rather than putting it in the title. That would also allow for supplying more context, such as what the price was before.

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

</comment><comment><USER23> I started using Insomnia a few months ago and it's been such a pleasure to use. I find it more user friendly and less "in your face" than Postman. Everything just seemed to work the as expected.

[https://insomnia.rest/](https://insomnia.rest/)

<comment><USER24> I've been using it, and it works for my needs. Supports the various authentication protocols, and allows you to save calls in tabs.

</comment></comment><comment><USER25> Works as well with GraphQL support added [https://postwoman.io/](https://postwoman.io/). Also, [https://insomnia.rest/](https://insomnia.rest/) is great

Also for automated testing in APIs [https://dredd.org/en/latest/](https://dredd.org/en/latest/)

Both open-sourced. I will say one of the best things about Postman was the Proxy support, but either way doesn't works with the iPhone and other stuff.

<comment><USER26> The entire concept of that postwoman thing is utterly broken. Have they never heard of cross origin restrictions?

<comment><USER27> Yes, they have heard about cross origin restrictions. Postwoman gets around them by having an (optional) proxy that actually makes the request on the users behalf.

Whether or not you think this is a good idea is another matter, but it works.

</comment></comment></comment><comment><USER28> (Cross-posted from [https://news.ycombinator.com/item?id=22012831](https://news.ycombinator.com/item?id=22012831))

I don't know anything about Postman, but this is an interesting case study on price increases. No one likes price increases, but they happen. So long as you have a strong ROI use case, you can navigate those discussions with your customers. E.g., "You were getting a 50x return, but listen, we're running a business over here, and a 45x return is still pretty darn good."

The challenge in Postman's case appears to be that they ALSO reduced the bundle components. So you compound the perception from "paying more" to "paying more but getting less". That's worse optics.

What I'd offer you think about is this may be a perfectly rational and even optimal customer solution. It's unifying two different pricing actions: price increase and product bundling. The logic being that many customers weren't using all the users, API calls, documentation views, custom domains, and integrations that were previously included in, say, the Pro bundle.

So as opposed to increasing price by—I'm making up numbers here—12% and leaving bundle elements the same, they increased price by 10% and cut features by 2%. The end result is exactly the same, but is actually better for most customers because they will get the same level of features they needed and not have to pay that additional 2% for features they weren't using anyway.

<comment><USER28> Note that the alternative here would be to just increase price by the full 12% and change nothing else. Then _later_ you can cut features and price by 2%, which people won't react to because "paying less for less" is perfectly logical. Then those minority of customers who actually needed the 2% incremental features could buy them ad-hoc, and end up paying the same price.

Albeit, this means that you now don't have pretty bundles, and are selling features à la carte, which can be hard to manage. OR you make all those customers upgrade to Enterprise, which they'll be pissed about, but still falls into the logical "paying more for more" optics.

</comment></comment><comment><USER29> For a more full feature set product there is APIMolder:

[https://codesolvent.com/api-molder/](https://codesolvent.com/api-molder/)

You get a mock server OOTB.

</comment><comment><USER30> I work with lot of APIS (our team owns atleast 30 of them) switching between different environments and have found Paw ([https://paw.cloud/](https://paw.cloud/)) more productive than postman.

</comment><comment><USER31> It puts me off that its $6 more a month than Github team, and I felt it was steep before. We are heavy postman users, and have been from the start. We will consider different options now.

</comment><comment><USER32> > Existing customers using the free version of Postman can lock in 2019 rates > by upgrading to the existing Postman Pro annual plan or Postman Enterprise > before February 1, 2020.

So if I understand that right, there will be no free plan from 1st of Feb going forward. Or do others read that differently?

I should probably start looking for alternatives and saving my API documentations from Postman somewhat better.

<comment><USER33> They have confirmed the free version is sticking around the same as today. They are just telling people who are considering upgrading to the paid version that if you do it right away you can lock in the old rates for 1 year.

</comment></comment><comment><USER34> One reason I use Postman is to check latency from all around the world.

Surely you could probably setup a ton of ec2 or gcp instances and try that out, but at least for me, Postman easily allowed me to do that (and might still stick with them even with the price hike).

If anyone does have any suggestions, that'd be great as well.

</comment><comment><USER35> Shout out to postwoman, [https://github.com/liyasthomas/postwoman](https://github.com/liyasthomas/postwoman) which is a FOSS clone. No sync-ing yet but it's on my to do to add in basic collection sync support.

</comment><comment><USER36> I mean, those prices are still not massive if your team is using Postman a lot. I don't think they won't lose much business over this move and overall it's understandable when you look at the expansion of the software and the probably much bigger team behind it.

<comment><USER31> Makes me consider the other options now. It use to be best for the dollar.

</comment></comment><comment><USER37> Curl is free man.

<comment><USER38> I enjoy testing HTTP endpoints by bit-banging an ethernet cable so that I don't have to buy a computer.

In all seriousness - Regardless of the solution Postman/Postwomen/Insomnia/Paw/etc - People use these tools so they can easily manipulate any part of their query, without needing to lookup curl flags and nuances.

Serious question: How do you construct complex curl requests? Do you do it all on the command line? Or you do it in a text editor? If you want to change the field of a form for your post request, how quickly can you change it? Curl is a great tool, but for sandbox-like usage it's just too clunky of a UX IMO.

<comment><USER37> It's all REST these days, sometimes with JSON payloads. Nothing too hard to mangle together.

</comment></comment></comment><comment><USER29> Full feature set alternative, APIMolder:

[https://codesolvent.com/api-molder/](https://codesolvent.com/api-molder/)

Mock server OOTB and a bunch of other goodies.

</comment><comment><USER39> It would be great for a competitive app that commits you're collection in your version control.

Syncing collections is a solved problem that postman resolved so they could charge for it.

</comment><comment><USER40> For the emacs users out there: restclient.el is pretty amazing. There is a similar library for vscode with the same name.

</comment><comment><USER41> $360/year per developer, to manage manual HTTP request testing _locally_. Sure.

</comment><comment><USER42> Switched to Insomnia and never look back.

</comment><comment><USER43> An I the only one using Fiddler?

</comment><comment><USER44> Good for them if their customer base is so strong that they can do this.

</comment><comment><USER45> Why not just use curl?

<comment><USER45> No really, I'm curious. What does a tool like this offer over curl?

<comment><USER6> GUI, remembering / grouping your requests, saving / syncing your requests to the cloud / etc.

It can generate curl command lines too.

</comment></comment></comment><comment><USER46> If your team is using solely Mac, it's now more expensive than using [Paw](1).

(1): [https://paw.cloud/](https://paw.cloud/)

<comment><USER47> I really like Paw. The interface is much cleaner than Postman. Postman has more group sharing features, but otherwise, Paw matches Postman's other features pretty well.

<comment><USER48> I do too. It's in my toolbox of "things I rarely use, but when I need it, it's my favorite thing in the world".</comment></comment></comment>


Continous Delivery of JuliaLang Packages. Tag a Release (Basically) Every PR - <AUTHOR> https://white.ucc.asn.au/2019/09/28/Continuous-Delivery-For-Julia-Packages.html <comment><USER2> I definitely agree with this idea. If it passes tests and people want it, release it. If you aren't confident it's good, ask for more tests before merging.</comment>


How to Stabilize a Wobbly Table (2007) - <AUTHOR> https://www.maa.org/external_archive/devlin/devlin_02_07.html <comment><USER2> Numberphile made a video on this: [https://m.youtube.com/watch?v=OuF- WB7mD6k](https://m.youtube.com/watch?v=OuF-WB7mD6k)

However, I tried doing this many times, but it was hardly ever successful.

<comment><USER3> most likely due to the caveats I assume:

"Two caveats. This only works for a table with equal legs, where the wobble is caused by an uneven floor. If the table has uneven legs, you probably need the folded napkin. Also, the floor can be bumpy but has to be free of steps"

Spherical cows rearing their ugly heads once again

<comment><USER4> How does that work? I guess the sphere just expands?

<comment><USER5> Old physics joke about using approximations to model a farming problem... "Start with a spherical cow in vacuum, ..."

<comment><USER6> thfuran's comment extends the joke by inquiring how a cow might raise its head while being a perfect sphere.

<comment><USER5> Gotcha - 'rearing their ugly heads'... I should slow down and think the thread through every now and then lol

</comment></comment></comment></comment></comment></comment><comment><USER7> Best solution: replace it with a table with 3 points of contact with the ground. Three points define a plane; it's guaranteed not to wobble.

<comment><USER8> Better solution: create a startup to use computer vision to scan the ground and find the optimal rotation for your table. Raise millions in investor capital. Exit before they figure out your company can't make a profit.

<comment><USER6> Ultimate solution: use a tatami mat.

</comment></comment></comment><comment><USER9> Possibly dumb question: Will this work for tables where there is no point of rotation that the equal-length legs are equidistant from? I.e. there's no point of rotational symmetry as far as the legs are concerned.

It seems that the argument is predicated on the idea that after rotating the table 90 degrees, there's a leg in the same location on the ground as there was before rotating the table 90 degrees.

The linked paper [0] goes so far as to cover the case of rectangular tables, but it's quite common to have trapezoidal arrangements of legs, on e.g. a demilune table. Chairs also often have their 4 legs arranged in a trapezoid.

If the linked paper addresses this, it's in mathematical language beyond my reading comprehension :-/

[0] [https://arxiv.org/abs/math/0511490](https://arxiv.org/abs/math/0511490)

<comment><USER10> There'll be a point of rotation the legs are equidistant from for any _symmetrical_ trapezoidal arrangement of legs - it just might not be under the table. After all, a demilune table is a circular segment!

Of course, as most demilune tables are put against walls, rotating them _into the wall_ is probably a better idea in theory than in practice.

<comment><USER9> "Of course, as most demilune tables are put against walls, rotating them into the wall is probably a better idea in theory than in practice."

Depending on how the wall and floor are framed, there might not even be a well-defined "floor" if you try. Or the floor may not have a smooth curve.

Also: is there a word or phrase for the situation of getting 2 informative answers to a question and being _even more confused_ than when you asked? Because I'm there thanks to you and dzdt.

</comment></comment></comment><comment><USER11> By far the most interesting part to me was this aside:

>> But getting it to work proved much harder than some other equally cute, real-world applications of the IVT [Intermediate Value Theorem], such as the fact that at any moment in time, there is always at least one location on the earth's surface where the temperature is exactly the same as at the location diametrically opposite on the other side of the globe.

<comment><USER12> How to find one (two): The temperature at the spot (B) on the other side of the world from you (A) is either the same (Finished) or different. If different, head towards B, (any direction is fine!) and at some point before you get there and the A vs B temperatures are swapped, the two will be the same. Since the direction you go doesn't matter, evidently there's a path "around the world" where this true, not just a point! (Ok, just a point if they're initially the same.)

</comment></comment><comment><USER13> I suspect this is a local thing these folks experienced. I've never eaten at a place with a floor so uneven it makes tables wobble, but I've been to places where the endcap for the legs had fallen off pretty often.

<comment><USER14> > a place with a floor so uneven it makes tables wobble

Many outdoor paved patios have exactly this property, especially as the slabs settle over time

<comment><USER13> Slabs?

<comment><USER14> Paving slabs - UK term for the individual 'stones', typically large squares or rectangles.</comment></comment></comment></comment>


The next version of Fedora picks up Rust - <AUTHOR> http://www.infoworld.com/article/3114475/open-source-tools/the-next-version-of-fedora-picks-up-rust.html <comment><USER2> It may be worthwhile trying out Fedora. I haven't used it in years now.

Good to see that they are making a conscious effort to keep a number of compilers/toolchains updated.

      Fedora aims to include Rust 1.11 this time around.

      Google's Go will be boosted to the recently released 1.7,
      Node.js will be upgraded to version 6.x, the PHP stack will now
      run the better-performing version 7.0, and Ruby on Rails is
      being bumped to version 5, which has been released after many
      years of development. Erlang and Haskell, two major specimens
      of the functional language world, are also getting their
      Fedora-bundled compilers upgraded to newer versions.

<comment><USER3> We've been doing lots of work in recent Rust releases to help make packaging for distros easier; the bootstrap process changed in 1.10, for example. It's going to become extremely important over the next year or so, especially as Firefox picks up more Rust code. Even if distros don't start packaging other Rust programs, that's a big one. Managing distro release cycles, Firefox release cycles, and Rust release cycles, and the various dependencies between them gets complex.

<comment><USER2> Yes, have noticed that. Usually distros lag a fair bit in keeping up-to-date on common tools/utilities; I wish the popular ones like Ubuntu (Canonical) do better in keeping the LTS versions more updated.

You guys have also been doing a terrific job with the documentation. Awesome!

</comment></comment></comment><comment><USER4> > Fedora's rationale for including Rust stems from both the language's growing > popularity and its potential relevance to Fedora's user base.

Maybe this makes me unique, but I don't think so; unless the tool is absolutely required for the operation of the system, why include it?

I always find that I need to override any installed compilers/languages with my own. In addition, I usually forgo using the system paths for ones I manage on my own. I'm never sure if my upgrading to versions I want will break some component in the system. This happened to many times to me, so I started installing everything to my local user on the machine.

Rustup in rust is exactly what I want. Similarly in Python, virtual environments, in Java I always install the jdk to a local bin, to get a specific version.

Don't get me wrong, I wish everyone were using Rust, I just don't know how useful the system install version is.

<comment><USER5> I understand the rationale behind such a decision, thought personally I would rather install languages and tools through other means so I can keep up to date rather than be concerned with the remote chance of a stability issue on my OS. Lots of programs have Python as a dependency so it makes sense to have it included by default, but Ruby, Node, and Rust? Just seems like a waste of effort and possibly disk space(if it is preinstalled) when most users are going to install their own packages as part of a tool chain that has nothing to do with supporting components of the operating system. I am usually much happier when my software isn't so coupled with the OS, even though that kind of goes against what seems to be a Linux philosophy. I would be even happier if distros would just stick to supporting low level libraries, kernel modules, and necessary UI components rather than spend a bunch of time creating a complete system.

<comment><USER6> They only get installed if you install things that require them as dependencies.

Rust would need to be packaged to build future versions of Firefox with the distro build tools.

</comment></comment></comment><comment><USER7> >You know a language has arrived when its toolchain ships as a standard component with operating systems.

Like Ada, right? _ducksforcover_

<comment><USER8>
      dnf search brainfuck

      brainfuck.x86_64 : Brainfuck interpreter

</comment></comment><comment><USER9> Gash, I feel so dirty everything when going to these "news sites"... Where can I find some real news about this?

<comment><AUTHOR> Minus trivia: [https://fedoraproject.org/wiki/Releases/25/ChangeSet#Rust_Co...](https://fedoraproject.org/wiki/Releases/25/ChangeSet#Rust_Compiler)

</comment></comment><comment><USER10> Hoping Debian to follow the same path

[EDIT] Wow! [https://packages.debian.org/unstable/main/rustc](https://packages.debian.org/unstable/main/rustc)

<comment><USER11> Debian packaged rustc since 1.0 (May 2015): [http://metadata.ftp- master.debian.org/changelogs/main/r/rust...](http://metadata.ftp- master.debian.org/changelogs/main/r/rustc/unstable_changelog) . The Debian maintainers have been working with the Rust upstream developers to improve the ability to package it, and that work has helped other distributions start to package it as well.

</comment></comment><comment><USER12> Great, now we're trapped into Fedora's release cycle. People will now be building to Fedora's released version, rather than the latest stable build.

<comment><USER3> It is unclear if Fedora (and other distros) will allow for updating within cycles or not.</comment></comment>