US plans to require inter-vehicle communication technology in new cars - <AUTHOR> http://www.nhtsa.gov/About+NHTSA/Press+Releases/NHTSA-issues-advanced-notice-of-proposed-rulemaking-on-V2V-communications <comment><USER2> I feel nearly certain that this is just lobbying by companies that have patents on certain aspects of the communication and would like to have a mandated market for some electronic modules on the car.

Same thing happened with tire pressure monitoring. In-wheel systems were being developed, but there was really no market until they were mandated. Meanwhile, your ABS/traction-control system can passively detect low tire pressure with no additional hardware.

<comment><USER3> For a govt mandated feature, FRAND rules would apply, so it wouldn't be any different than all of the patents Samsung or Nokia hold on tech like LTE (for instance)

<comment><USER2> It still creates a market for more hardware, weather patents apply or not. For the vehicle manufacturers it creates another barrier to entry in the market.

<comment><USER4> But the barriers for entry are already high due to regulatory concerns, safety concerns, marketing, and the cartel-like nature of the automotive business.

</comment></comment></comment></comment><comment><USER5> I really wish there were exceptions for low-volume production. Among other things, a car sold in the US today must have anti-lock brakes, airbags, tire pressure monitoring system, and electronic stability control. These are required even if you want to make a total of 10 cars. This kills the enthusiast market and makes it hard for car manufacturers to experiment with low-volume models.

Meanwhile, anyone can buy a 1000cc superbike that can go from 0-60 in 2.8 seconds. (And it gets to use the carpool lane.)

<comment><USER6> Those are requirements because you share the road with others - if you opt out of anti-lock brakes you might slam into the side of my car and kill me. So personally, I'm quite glad these things exist.

Want to make a car to take out on a test track? Go crazy. Want to drive it on public roads? Follow rules.

<comment><USER7> But the incredibly regulated market also has its costs. A great example exists in China, which is currently experiencing a revolution in low-cost electric vehicles[1].

 _The low-speed electric vehicle revolution has exploded in China 's countryside, so most people living in cities in China do not know these vehicles exist. The industry literally grew up while regulators in the cities weren't looking._

That article is worth taking in as a whole, for its implications are broad. First and foremost, this unregulated and illegal transportation revolution is becoming a means for China to remedy some of its severe pollution problems. Second, these networks of new manufacturers will become the experts in a manufacturing domain which will certainly have reach well outside of China.

In the US (and the West more broadly) we're progressively adding regulatory burdens to the auto manufacturing market, but little comprehensive cost- benefit analysis. This itself is a substantial inhibitor to innovation which might completely upend transportation as we know it.

For more really excellent discussion along these lines, I highly recommend Horace Dediu's Asymcar podcast[2]. Asymcar digs into the nature of the transportation market, its players, and the conditions under which transportation market disruption might arise.

[1] [http://green.autoblog.com/2014/07/25/a-window-into-chinas- lo...](http://green.autoblog.com/2014/07/25/a-window-into-chinas-low-speed- electric-vehicle-revolution/)

[2] [http://www.asymcar.com/](http://www.asymcar.com/)

<comment><USER8> Very interesting. If I happened to live in a gated community, with beach access or something, I'd rather drive one of these around than a golf cart-- although servicing it might be a problem.

</comment></comment></comment></comment><comment><USER9> This has great implications for emergency vehicles. The current methods of inter-vehicle communications used by emergency vehicles (loud ass sirens and flashy lights) are ridiculously error prone, and becoming less and less effective as manufacturers get better at insulating cars.

Even when the driver does hear it, it's often hard for them to localize where the sound is coming from.

"An ambulance is approaching from the left" would be fantastic.

<comment><USER10> "The current methods of inter-vehicle communications used by emergency vehicles (loud ass sirens and flashy lights) are ridiculously error prone, and becoming less and less effective"

Yes, you _could_ solve that problem with complex, interdependent systems that will fail in unpredictable ways.

Or you could just mandate better driver training and education which is the clear failure point here, at least in my experience.

My experience is both as a driver and as a firefighter who regularly drives a fire truck.

<comment><USER11> "Yes, you could solve that problem with complex, interdependent systems that will fail in unpredictable ways."

Isn't that what you have now by depending on people?

<comment><USER12> You can blame individual people, but the mfgrs will simply purchase immunity from their hired politicians. Its a question of responsibility. Individuals have it. Corporations do not.

<comment><USER11> I'm not sure that's true. Auto manufactures are a really big target for liability in accidents (I'd likely get more from GM then an individual in a won law suit), and a quick search [1] seems to back my feeling that there is sizable law and case law that define this area of liability. I'm not saying that it's simple to win against any sufficiently funded entity, but it's not impossible that anyone has immunity.

[1] [http://www.lawyersandsettlements.com/automotive.html#.U_Jd_2...](http://www.lawyersandsettlements.com/automotive.html#.U_Jd_2ON58E)

</comment></comment></comment></comment></comment><comment><USER13> Digital inter-vehicle communication, what can possibly go wrong?! I hope, they get the security right.

<comment><USER14> To get _any_ network security right, you have to start with the assumption that each node is fully open to being controlled/modifiable by its end user, and that there is a non-negligable amount of unaccountable trolling nodes that will actively seek to disrupt the system. In the world of corporate embedded design and agency approvals, how likely do you think this is?

<comment><USER13> Look at flaws in aviation communication systems like ADS-B. This is highly regulated territory and full of agency approvals. With car owners as customers, the manufacturers will need to build the onboard units as cost effective as possible. I doubt that they will develop hardware and software from scratch in order to employ maximum security.

<comment><USER14> I wasn't using "agency approvals" as a positive point for security :P. Real security properties just aren't legible to that kind of environment.

Most likely they'll start off with some "tamperproof" microcontroller platform to assume away user control, further rely on keeping the protocol documentation secret and other obfuscation, and then write naive code that trusts every node to behave because they can't conceive of how brittle that kind of system is.

</comment></comment></comment></comment><comment><USER15> Wouldn't surprise me if wireless hardware companies are involved in this. I'd be much more comfortable with passive sensors being used, but then you couldn't really do traffic optimization. If it's lives you're trying to save go passive. Animals cause accidents too. If traffic congestion is the goal, then we can start talking about this.

> The information sent between vehicles does not identify those vehicles, but > merely contains basic safety data. In fact, the system as contemplated > contains several layers of security and privacy protection to ensure that > vehicles can rely on messages sent from other vehicles.

With all of the stuff talked about in the article I don't see how's that supposed to work.

</comment><comment><USER16> Back when I used to work at a chemical plant, we had two networks: one for regular corporate/internet access, and one for plant control. The later was physically isolated from the former, which is why scenarios like Die Hard 4 are so hilarious. You can't hack a plant control system from outside because that network is physically isolated.

Anyway, I hope this same practice is used in this standard, where critical control systems are physically isolated from these external communication systems.

<comment><USER17> Two points:

1\. Tell that to Iran... They thought the same thing and look what happened to their centrifuges.

2\. I hope so too, and it likely will be. Many current car designs already have a separation of interests, with things like engine control systems only giving "read only" access to entertainment systems and similar (so you can get diagnostic information without the entertainment system having the chance to alter engine settings).

Some cars have "over the air" updates which CAN update the engine control systems however, that can only happen when the engine is not running and they often use traditional digital signing to confirm the authenticity of updates.

I do suspect you'll see people try to exploit these V2V systems (e.g. next blackhat?). Let's hope they're designed with security in mind. We've already seen the security services using hacked cars as lethal weapons to kill journalists.

<comment><USER18> "We've already seen the security services using hacked cars as lethal weapons to kill journalists"

What is this in reference to?

<comment><USER19> Conspiracy theory slip in of the week. 'Not only did the gpvernment totally kill him, they did it with a method no one has yet shown is even technically possible'.

<comment><USER20> It has been shown before. Here you go: [https://www.usenix.org/legacy/events/sec11/tech/full_papers/...](https://www.usenix.org/legacy/events/sec11/tech/full_papers/Checkoway.pdf)

</comment></comment></comment></comment></comment><comment><USER21> "Please use your turn signals." "No, if you get in that lane you block the bike lane in about 100 feet." "Your brights are on!" "If you would be so kind as to reduce the bass just a small bit..." "Are you blocking the post office drop off lane because you're driving a Lexus or have you suffered some sort of heart attack?" Yeah, this'll be good.

<comment><USER22> That's tame compared to what'd it'd be like most places, think XBox live but with grown-up insults.

<comment><USER12> Think CB radio, but probably much less civil.

</comment></comment></comment><comment><USER23> This sounds really cool. Unfortunately I don't know if I will get any direct benefits unless they add a way to upgrade old cars. I don't plan on buying another car. Ever.

I'll still get indirect benefits (safety while walking etc).

<comment><USER24> I would imagine a stand alone unit with an warning indicator panel, that you could attach/install on dashboard

</comment></comment><comment><USER25> Next up: Mandated GPS tracking in the black box with dial-in ability. For 'public safety'. O ya, and we should have new cars spy on the other cars and automatically report back to the mothership when they misbehave.

</comment><comment><USER17> I think this is fantastic news (and I suspect many people around here will agree). However I am worried this might cause a certain demographic (anti- government types) to come out of the woodwork about "the government spying on our cars" and similar.

It will only take one talking-head to get that ball rolling against it and once it starts I don't foresee it stopping. For comparison, like the "issue" with students using a fingerprint for their school libraries (and the huge negative backlash against that because "something something our kids aren't criminals! Government spying! Privacy!").

<comment><USER26> I'll be the first. I'd be very concerned about this type of communication system and my vehicle. My concerns aren't limited to government surveillance, but that certainly is one. I'm also concerned about malware or other security vulnerabilities. I'm also concerned about the government "requiring it" and the related costs associated with it. It will certainly drive up costs to consumers.

<comment><USER27> I'll be the second.

I really don't think there's any reason for car's to have inter communication systems. Using statistics and light signals, cars can have the theoretical capacity to guess what others cars are about to do.

<comment><USER28> One reason to have a communication system between cars is to be able to link them together in a "train" on freeways.

<comment><USER27> Nah, using visual recognition software, this can be achieved too.

<comment><USER28> The cars all need to brake at the same time, a purely visual system can't manage that.

I'm just reporting what auto manufacturers have been discussing at international standards meetings.

</comment></comment></comment></comment></comment></comment><comment><USER29> It would be awesome if they could incorporate something like this into bicycles.

<comment><USER30> This is actually one of the few reasons I wouldn't be totally against this kind of technology. (For security reasons, I think that putting software with open on the air connections into a 1-2+ ton metal machine powered by explosions that moves ridiculously fast is mostly a bad idea.) Particularly in America, even fairly 'bicycle friendly' cities can be pretty dangerous to ride a bike in, and often for design reasons that force bikers to either endanger themselves or put themselves in a place where cars will make dangerous maneuvers near them. (Example below) A system that you could attach to a bike that would basically give your bike a warning system for nearby cars (and them a warning system for bikes) would be fantastic. Another good thing about it would be that it could be used to give motorcycles the profile of a car, which would make riding them much less dangerous: no matter how safe a motorcycle rider you are, you're smaller than a car and that lower visibility can cause accidents.

The promised example: A common dangerous design for bikers in cities is bike lanes right up against a lane of parked cars. Depending on how fast a biker is going and the local terrain, someone opening up their door into the bike lane can be lethal: you might not have time to stop yourself, and your options might be to slam into the door and maybe a person getting out of the car or to swerve into traffic, both of which are very dangerous. The safest thing to do when that's the case is actually to ride in the car lane, but that has its own dangers: many cars will try to pass you by going part of the way or all of the way into the lane to the left of them, which might have oncoming traffic or traffic coming from behind that the drivers don't check for, which can lead to them swerving back towards you. That means that the most safe thing you can do for everyone in that situation is to ride dead center of the lane so that passing you by going only halfway into a lane isn't possible (since many car drivers seem to treat that kind of passing differently from an actual lane change), but car drivers absolutely hate that and will do all sorts of other dangerous things like following super close.

<comment><USER31> This is more meant for rural riding, but the tech is getting there: [http://www.dcrainmaker.com/2014/07/hands-on-backtracker- rada...](http://www.dcrainmaker.com/2014/07/hands-on-backtracker-radar.html)

</comment></comment></comment><comment><USER32> Who is working on implementing this technology?

<comment><USER33> TrustPoint (where I work) is doing Crypto and PKI system research for it, and contributing to the V2V security specs. There's some really interesting technology being developed for both security and anonymity in M2M communication field. More info: [http://www.trustpointinnovation.com/vehicle- to-vehicle/](http://www.trustpointinnovation.com/vehicle-to-vehicle/), [http://www.trustpointinnovation.com/device- security/](http://www.trustpointinnovation.com/device-security/)

<comment><USER32> Thanks.</comment></comment></comment>


Ask HN: Being a male how do you deal with sexist comments about female coworkers - <AUTHOR> I've worked at both big companies and startups. In both worlds, I've had some of my co-workers often make sexist comments in one form or other about female co-workers.
Should I just be dismissive about this as locker room talk? I generally try to focus on the task at hand and ignore these comments, but when they mention that they would hire/promote/applaud a female coworker because of her physical features, I don't know if they are joking or really mean what they say.
I've been in the industry for only a couple of years and just wondering if this is the norm and how to set my attitude to adjust to this. <comment><USER2> It's not cool to stand by. It just is taken as tacit approval. And even if it was not unusual in the past, technology is supposed to be about change, right?

You say, "We should be more professional, it's uncool to talk about hot a coworker is," or "I'm really not comfortable wen you talk about her breasts, even if it's a joke" or, "I don't think you'd want me to go tell her you said that she only got promoted because she wears short skirts, cut it out," or even, "Hey man, this isn't Uber, don't say you'd hire her because of what she looks like."

Naming the specific behavior is important. It's embarrassing, and people don't do things they are embarrassed for.

Then you look at them until they look away or whatever. It's a dominance thing, so try to do so when you are standing and they are sitting down. If they try to make excuses, insist they stop and not repeat it. Practice with a friend if you need to.

Record the incident to your personal email from your corporate email, so it's nicely datestamped. If it happens more then once, report it to HR and your supervisor as a pattern of problematic behavior, with documentation.

If it's a supervisor, I'd email HR and their supervisor the first time it happens. If you get fired or they give you a negative review, retaliation is also illegal.

If HR doesn't do anything, come back to HN, reference this thread, and someone will try to find you help.

</comment><comment><USER3> There is a great skill in being able to read a room and adapt accordingly. Now it's one thing if their comments are making you uncomfortable because that is certainly unacceptable. However, if the jokes are between people with good rapport, you might find yourself in an awkward position voicing a concern that no one else involved seems to have. It can give you the stigma of a tattle- tail if you're not careful.

The best thing you can do is always stay neutral, unless it's something morally or ethically that prohibits you from doing so. Try to rise above the fray, if possible, and don't be afraid to comeback with a dismissive retort for a comment you find over the line.

You don't have to be the boss, to command respect in an office. You just need to be adept in navigating office politics and gossip. People respect (wo)men of character, so never be afraid to draw the line or else people will cross it without knowing.

<comment><AUTHOR> Very good point about reading the room and behaving accordingly. Yeah I am finding it hard to find that differentiation probably, and sometimes I'm appalled that this even happens.

</comment></comment><comment><USER4> A half laugh and a 'seriously, come on now.' Or 'really? that's kinda fucked up'

They jump on you for that kind of light 'check yourself' comment, well then I guess it would be now much clearer to you what to do next.

</comment><comment><USER5> Well I guess you should not answer anything that compromise you. But pay attention to what they are saying, because it may prove that you should not trust these people and you now have a leverage against them if needed :)</comment>


Integrate the remote USB access technology to the Cloud OS - <AUTHOR> https://www.eltima.com/cloud-integration-technology.html <comment><AUTHOR> Eltima Port Virtualization technology allows to access your serial and USB devices in the cloud PC. By technology integration you may decline costs and increase the revenue.</comment>


Ask HN: Has Google search quality abruptly went down *in the last week*? - <AUTHOR>

I just realized that I started rephrasing queries and extensively using quotes in past few days, or maybe a week. Very sudden and noticeable change in the search quality. Simple queries that worked now return irrelevant stuff in first page. Also the word matching appears to have gone "fuzzy" - first few hits routinely do not include all or exact words from the query, which is not how it was before.
Has anyone noticed something similar? Or am I seeing things? <comment><USER2> I've had this problem as well, but I don't perceive it as a rapid change. Rather, I'd say that the quality of Google search has gone down dramatically over the past couple years, and continues to go down. But yes, there have been a couple cases this week that have left me scratching my head. It seems like searches for 'uncommon_word common_words...' now consider 'uncommon_word' to be optional. The case I remember was searching for "chagall russian oven" hoping to find a Marc Chagall painting that I vaguely remembered.

Contrast <https://encrypted.google.com/search?q=chagall+russian+oven> with [https://encrypted.google.com/search?q=%2Bchagall+russian+ove...](https://encrypted.google.com/search?q=%2Bchagall+russian+oven)

I was bothered to find that many of the results, including the top one for Wikipedia, did not include any mention of Chagall. Perhaps even more embarrassingly, several do not even include the word 'oven' but presume that I had misspelled 'over'. I find that I need to use multiple '+' signs in many of my queries to get decent results, seemingly I sometimes even need to use +"quoted phrase" just to find something that includes "quoted phrase". Suggestions of the 'Perhaps you meant' form are great, but automatically switching my query is not a service.

I suppose that Google makes more money with sloppy search than in catering to the likely small number of people who would rather get the results for their exact query than for a best (popular) guess. But it would be nice if there was at least be an expert level configuration option for "Treat all search terms as required".

</comment><comment><USER3> Has the quality gone down or have the spammers gotten better?

<comment><USER4> As someone who knows black hat really well spamming has gotten much harder. Panda has taken away quite a few powerful spam techniques. This is an internal problem.</comment></comment>


How Do the Wealthy Pay for Something Worth Hundreds of Millions of Dollars? - <AUTHOR> http://www.todayifoundout.com/index.php/2019/02/how-do-the-insanely-wealthy-actually-pay-for-something-worth-hundreds-of-millions-of-dollars/ <comment><USER2> Mostly these very large purchases, such as extra large boats, would be done through trusts, companies and combinations of the two, and in various jurisdictions. And when it comes to making payment the individual would most likely simply instruct their family office or private banker to make it happen, and assume it would be done in a way that is tax efficient, opaque to outsiders and, hopefully, legal.

</comment><comment><USER3> Article has very little information on the subject. AFAIK, you will be fool to pay for $100M jet using cash, credit or check the way article seems to suggest. Most of these purchases are done by taking out a loan. Typically high networth individual can earn far more on $100M than typical loan rates. Often, such assets would be put in to some LLC or made part of their businesses where the use of the asset can be put as compensation or business expense. A real estate can even be declared as rental business where you use it may be for a month and rest of the time it's generating losses that can be used for taxes. Interest payments, depriciation, conceived losses in this "business" goes long way for favorable tax treatment.

</comment><comment><USER4> My understanding is that yachts are owned by a company whose 'investor' keeps having to bail it out. "Oh dear" cries the billionaire to their accountant "such an enormous tax loss". Of course, the occasional week long rental to mere multi-millionaires does help fill the hole a little.</comment>


University of Texas at Austin to allow guns in classrooms - <AUTHOR> http://www.business-standard.com/article/pti-stories/university-of-texas-allows-guns-in-classrooms-116021800112_1.html <comment><USER2> My qualifications to comment on this: I teach at a private Texas university, and my wife teaches at UT. I am part of the faculty governing body which advised the board of trustees for my university on whether to exercise the right to opt out of the law.

> The University of Texas at Austin has begrudgingly agreed to allow students > to carry guns into classrooms, months after state lawmakers passed a bill > outlawing gun bans at public universities.

As the second part of the sentence indicates, this isn't so much a _choice_ as a decision to comply with a law (which, I suppose, is a choice). I don't know why the president is presenting it as such, since it seems only to shift responsibility on to him for a decision that is not legally his to make (and whose result he doesn't, or professes not to, like). Public universities do not have the same 'opt-out' right as private universities.

While allowing limited exemptions for 'gun-free zones' (I don't remember the exact language)—one example mentioned is a single-occupant office, if its sole occupant decides to make it so—the bill specifically mentions that universities cannot perform an end run around the legislation by declaring, say, all classrooms to be gun-free zones.

<comment><USER3> Indeed, it might be titled "UT Austin decides it doesn't want to lose a lawsuit", like the University of Colorado Board of Regents did in 2012.

</comment></comment><comment><USER4> That's great, now there wont' be mass shootings. (not irony)

<comment><USER3> It's hard to theorize based on such infrequent events, but the vast majority of these happen in official "gun free" zones (only recent exception is the Congresswoman shooting), and the killer kills himself at the first sign of lethal resistance.

Of course, if this just results in displacement to other "gun free" zones, then at net there will be just as many mass shootings.</comment></comment>


The Surprising Link Between Salt and Weight Gain - <AUTHOR> https://www.scientificamerican.com/article/the-surprising-link-between-salt-and-weight-gain/ <comment><USER2> I find it hard to take someone serious who goes by the moniker "Nutrition Diva".

She may be a world-renowned nutrition specialist, for all we know, but this doesn't just seem so self-help author style, it seems as if a "rock star"/"ninja" left the field of web frontend development for nutrition.</comment>


Fox News attempts to explain what Github is - <AUTHOR> http://twitter.com/Huth/status/378306063520374784/photo/1 <comment><USER3> I don't understand why some people here are defending Fox News. Their explanations are terrible and incorrect. Here's another attempt to explain those same terms in laymen terms:

repos __i __tory: a collection of files relating to one software project usually containing software code and documentation

to fork: to create an exact copy of someone else's repository with the intention of editing the files in that repository

pull request: asking for the changes in a forked repository to be incorporated back into the original repository

Granted, these wouldn't fit the screen which makes me think of someone actually explaining it to them in proper terms and then the journalist cutting everything out to makeit fit.

<comment><USER4> Line #1: 80 chars, Line #2: 35 chars, Line #3: 78 chars. I'd go for something like:

* Repository: Folder containing files of source code for programs, anyone can edit

* Forked: A copy of another repository

* Pull Request: Ask for included changes to be added to original file

Folders, files, programs and source code are concepts almost any computer user would understand, although it is not entirely accurate, the constraints aren't good. Took liberties with "anyone can edit", maybe "people can edit" would be more accurate.

</comment></comment><comment><USER5> Referencing the video here: [http://video.foxbusiness.com/v/2667694577001/writing-new- dic...](http://video.foxbusiness.com/v/2667694577001/writing-new-dictionary)

I think the part that gets people most fired up about this is the complete lack of attention to detail and the "wow this is complicated stuff for smart people we're never going to understand this so let's not even try" attitude. I immediately did a mental flashback to some of the educational videos I loved growing up: documentaries by the Discovery Channel, PBS, and the like, where learning was actually encouraged, not mocked.

The interviewer's style of rapid-firing the questions and not really paying attention to his answers is grating as well. She spoke like she had researched the subject for about 10 seconds, maximum.

I'm surprised nobody in the office started laughing after her opening line.

In the twitter photo, the really shameful part is not the fact that they got the definitions wrong, although that's pretty bad. It's the spelling errors and the THREE different ways of writing a word and definition:

* word: definition

* "word"\--definition

* "word"\-- definition (also, "e-note"?)

It's just lazy. Incredibly lazy. It's done with an attitude that shows that nobody there cares much for their work.

<comment><USER6> > I immediately did a mental flashback to some of the educational videos I > loved growing up: documentaries by the Discovery Channel, PBS, and the like, > where learning was actually encouraged, not mocked.

Those great, factual documentaries that make learning interesting still exist. The mistake you're making is confusion most news channels for anything other than opinion based claptrap.

<comment><USER5> News used to do that, and sometimes still does. As special segments, they would show curious documentaries that explore interesting corners of the world and culture. But they feel like a dying breed.

</comment></comment></comment><comment><USER7> Spelling errors? Check.

Bad grammar? Check.

Inconsistent formatting? Check.

Technical inaccuracies? Check.

Making up terminology (e-note)? Yep.

I've never once watched Fox News, but I've heard stories about their quality of reporting. Now I understand.

<comment><USER8> I don't really see what this has to do with Fox News. Lack of research, investigation, verification, education, accuracy, grammar, formatting, spelling, and truth are all endemic to all reporting/anchoring/journalism, these days.

<comment><USER9> It's also not Fox News - it's Fox Business, which has a partially separate staff.

Don't you know? If a Fox-related outlet does something funny, it's special because we don't agree with their political leanings. cd groupthink && ./mock && ./ridicule.

</comment></comment></comment><comment><USER10> Here is the full video: [http://video.foxbusiness.com/v/2667694577001/writing- new-dic...](http://video.foxbusiness.com/v/2667694577001/writing-new- dictionary)

Warning: cringeworthy

</comment><comment><USER11> I know it's popular here to bash on non-technology people.

And yes, apparently Fox News is terrible (I wouldn't know, I'm Australian).

But seriously, there are people outside our circle, for whom computers are not their every waking moment.

Heck, I know people for whom using a featurephone is the most advanced "computer" they touch (and to them it's a phone, not a feature-phone).

So look, I think we should cut them some slack - the reposotory typo was just embarassing and unforgiveable, and whoever let that go to air should be reprimanded - but the rest of it's, while not great writing, isn't terrible.

However, instead of lambasting it, people be constructive and positive share how they might explain it to a non-technical person?

I'll start:

* Repository - the source code that we turn into a program

* Forked - where we clone a "repository", and then make amendments to the copy

* Pull Request - where we try to merge our amended "repository" and the original "repository" to produce a better program

<comment><USER8> If you are a technology/business reporter reporting on technology from within the silicon valley, you are obligated to be knowledgeable about those things which you report on and the same is expected of a medical correspondent or political correspondent on an editorial staff, for their areas of coverage.

<comment><USER12> On that note would a business reporter about bioengineering firms's stock movements be obligated to know about the specific terminology of bioengineering? Fox got it wrong to be sure however reporting on financials doesn't make it necessary to be an expert in the technical aspects. There are plenty of software engineers building business software that don't know the first thing about calls and puts, options and derivatives trading strategies despite the fact that they build software that drives those systems.

I won't cut Fox any slack, however lets ask ourselves -- did MSNBC or CNN ever cover this story at all? The gist of the Fox story was to talk about the value of the company, not the details of what a 'fork' is. Besides, how many VCs have we been in front of that don't have any clue about the tech in which they are prepared to invest millions of dollars?

Even worse is how many engineers at startups have no clue about the business aspects of investing, valuations, dilution, option pools and such. Many engineers who think of themselves as 'startup people' have no idea what convertible notes are nor even how to read a deal memo. And forget about talking about valuations -- nobody know about that, yet many people claim they're valued at $1 million or whatever without any clue about where those numbers come from. I'm generalizing of course, but the exceptions really prove the rule.

There's something in the Bible I think about casting the first stone.. It might apply here. Pointing out the inaccuracy is certainly relevant, but using that as a rationalization of pre-conceived notions about Fox isn't really fair. I remember when I was in the Army in 2003 and CNN reporters embedded with our unit had no idea about the chemical weapons about which they were supposedly reporting. How many times have I heard "machine gun" used when describing an M4 rifle.. Another example is when news outlets say 'CIA Agent' when they actually mean CIA Officer. An agent is a foreign asset, no actual CIA employee is ever an 'agent.' Yet the media gets it wrong almost constantly. Snowden, for example wasn't an 'NSA employee' as was reported by many outlets, but a Booz Hamilton employee. The reporting on Syria has been questionable as well -- not just from a bias standpoint, but from a pure ignorance of the political forces within Syria that are driving their civil war. So excuse me if I hardly give a shit about Fox getting the definition of "fork" wrong. I'm pretty sure a large number of us would get the definition wrong of the financial terms "Special Purpose Vehicle" or "Trust Preferred Security" if we suddenly switched places with a Fox Business reporter.

So sure Fox got some irrelevant details wrong, but every news outlet does that every day. Those details didn't affect the intent of the story or the material facts, so who cares? We could start an entire board on simply media misteps and it would be filled with content on a daily basis.

</comment></comment></comment><comment><USER13> If how I feel about this as a programmer is any indicator, I dread to imagine how worldly wise, politically experienced folks feel when reading political discussions on sites like Reddit or HN :-) (No, I'm neither of those things!)

<comment><USER14> Practically all news reporting does a terrible job of covering complex fields. Ask a doctor what they think of a medical story, or scientist about a story on their field of study. It is always the same - terrible.

A lot of that is because the reporters, not being experts themselves, just don't have the contextual knowledge to grasp the implications of what they come across in their investigation. Unimportant details get played up, subtleties are completely lost, and things with similar names get conflated.

<comment><USER15> > Ask a doctor what they think of a medical story, or scientist about a story > on their field of study. It is always the same - <USER2>

And yet, they still trust the news to be accurate with regards to everything else :(

</comment></comment></comment><comment><USER16> Woah. This is terrible on a variety of levels, not least of which is that they spelled repository incorrectly.

</comment><comment> martin-adams For the full video[1], one minute they say it has 400 million users, then the sub caption says 3.4 million users.

1\. [http://video.foxbusiness.com/v/2667694577001/writing-new- dic...](http://video.foxbusiness.com/v/2667694577001/writing-new-dictionary)

</comment><comment><USER17> Rep... Reciprosity.

 _Oh my god..._

</comment><comment><USER18> Seems like a fairly reasonable way to explain it to lay-people, that don't really care for details that much. They know their audience!

<comment><USER8> I ejected after the redhead spewed her first sentence. Painful.

Here's what people need to realize: Think of all the times you notice journalists failing with regard to topics you are an expert in. Or more than failing - outright lying or misleading. Now, multiply that by all the things other people are experts in and the things they catch journalists doing that you aren't expert enough in those other things to know about.

We make a big deal about intentionally corrupt journalism, but outright laziness is just as big of a problem.

<comment><USER19> eh the average person isn't going to be affected by not knowing exactly what a fork or pull request is. They managed to get the gist out, github lets devs work together on a project.

As long as they can get the basics of it correct I really don't care if they screw up the technical details. Now not being able to pronounce or spell repository is bad, its an English word that was around long before code.

</comment></comment></comment><comment><USER20> It's a good challenge for someone to come up with a better explainer aimed at the same audience.

<comment><USER16> Why does that audience need to know what fork and pull are? It isn't really useful information to them. Knowing that Github is a place to store versions of code might be useful because the name is batted around a lot, but the average non-technical human doesn't really need to know what forking is.

Here is my try:

Repository: a library of computer codes

Forked: when you copy one of the books in the library, make changes to it, and put it back in the library

Pull Request: asking the owner of the book in the library to combine your forked, edited book, back into their main copy

<comment><USER21> I'm not a big fan of analogies when they're not necessary. I'd go with something simpler like:

* Repository: An online folder containing computer code

* Forked: When a repository is copied, so you can edit it

* Pull request: A request for the edits you've made to your copy, be "pulled" into the original

<comment><USER22> I don't know why one would define "forked" rather than "fork."

* Fork: A copy of a repository. It is copied it can be edited independently.

<comment><USER21> I don't know why they would define any of them - it's nothing to do with the story at all, but I thought I should stick with the ones they chose.

Well, actually, I can guess why: "repository" sounds a bit like "suppository", and "forked" and "pull request" sound vaguely sexual. It's the kind of thing that would appeal to some people as being a bit risqué. _sigh_

</comment></comment></comment></comment></comment><comment><USER23> Multiple times she said Github raised money from Kleiner Perkins, right? They raised the money from Andreesen Horowitz. I'm not crazy, right? Right?

</comment><comment><USER24> Reposotory: rep'n positive, so you know my story(code)...

They used "hooked on phonics".

I can see how they forked that (up).

</comment><comment><USER16> The internet, my friends, is a series of tubes. We must not forget this.

</comment><comment><USER25> I'm not an computer engineer anymore, I'm a code writer!

</comment><comment><USER26> What the fork?

</comment><comment><USER25> Where where they? Jive's office?

</comment><comment><USER27> Media probably explain economics just as terrible but as a non economist I would not know..

<comment><USER28> This is very much what I feel every single time I read a tech-related article in mainstream press. The cluelessness of most mainstream "tech journalists" is spectacular. I see no reason why reporting on other matters would be any better, which is quite scary.

</comment></comment><comment><USER26> "It's a commie plot!!! Just like Obamacare."

:-)</comment>


Sony's Netbook "fits in a pocket", Might Not Fit Netbook Category - <AUTHOR> http://jkontherun.com/2008/12/25/sonys-netbook-fits-in-a-pocket-might-not-fit-netbook-category/ <comment><USER2> Notice the pic on that page closely... Look for the weight specs. its mentioned as _"x.xx lbx"_ ?? Again, look for the battery specs: _"Upto x-hour battery"_ ??

Makes me laugh as to why Sony would make such an ad. Is it fake?

And on the SonyStyle page, I wasn't able to find the P-series link??

</comment><comment><USER3> Misleading title, especially since the author himself admits that "you won't just need big pockets to afford this netbook, you'll need a deep one to tote that 8-inch screen as well".</comment>


The Anti-Mac User Interface [1996] - <AUTHOR> http://www.nngroup.com/articles/anti-mac-interface/

<comment><USER2> I'm somewhat surprised that this essay didn't mention how close the constraints of an anti-mac interface correspond to the 'unix philosophy' / human interface best practices for command line applications. (This breaks the conversational-interface-style suggestion in the second act of the essay, of course, as well as the analogy with Starfire, which is even further away from a unix style than the Macintosh interface was in the late 80s.)</comment>


Rtop – agentless sever monitoring tool built with Go - <AUTHOR> http://www.rtop-monitor.org/ <comment><USER2> Interesting, but I'd rather let SSH handle the SSH connection. Just add a command to the parameters, e.g. to run top:

      ssh -t hostname top

<comment><USER3> Yeah, ssh -t host [h]top is the existing default and rtop doesn't seem to bring anything more to the table. Maybe it's another one of those "I wanted to learn golang" projects, but there's nothing in the README.md about it.

I thought at first that this was going to be a thing where you could feed it a list of hostnames and it would go to all the hosts in parallel and show you aggregated metrics across them, like "what is the distribution of cpu load caused by my main app server" or "what is the distribution of free memory on these 20 machines" over the next N minutes while I change something", sort of a halfway point between opening a few windows with "ssh -t host1 top" "ssh -t host2 top" ... etc, and having full-blown centralized stats gathering like with e.g. datadog.

That would be a pretty sweet tool; I haven't heard of anything in this space yet.

<comment><USER4> Have you seen OpsDash? [http://www.opsdash.com/](http://www.opsdash.com/)

<comment><USER5> >Self Hosted

>Invite

Wtf is this? Why would self hosted shit need invites?

<comment><USER6> FYI, your language and lack of thought invites downvotes.

Self Hosted for example doesn't necessarily also mean Open Source or Free.

<comment><USER5> That's true. I should have been more clear: If it's not using any of their resources for me to run it (which is what I assume "self hosted" means), what purpose is served by the invite only system? While the other commenters mentioned support and stuff which kind of makes sense, it feels to me like their definition of self hosted is different from my definition.

<comment><USER7> What differences do you see?

<comment><USER5> Well self-hosted to me implies that they don't have anything on their end that has to run per-instance, which is the usual reason to do invite only betas.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> the agentless/agentful security question is an important one. I mean, all existing snmpd implementations suck, right? but the idea is that if you run snmpd (or another agent) on your monitored servers, if an attacker takes over your monitoring server, they still have to find an exploit in snmpd or whatever agent you use; whereas in an agentless setup like this, if your attacker gains access to your monitoring server, said attacker has a (hopefully non-root) shell on all the monitored boxes.

On the other hand, installing this agentless setup is going to be dramatically easier, and this is way less likely to accidentally blow up the box being monitored, say, than snmpd.

(clearly, with snmpd and other agents, you want to make it so that only the monitoring server can see those services, either through tunnels or what have your. Leaving a snmpd port open to the general internet is crazy.)

<comment><USER3> > whereas in an agentless setup like this, if your attacker gains access to > your monitoring server, said attacker has a (hopefully non-root) shell on > all the monitored boxes.

I think the idea with rtop in particular is not to have it running headless ever, but you'd only use it interactively. There would not be a "monitoring server", at least not running rtop.

If you wanted to use it this way, note that rtop currently sshes around places and then execs a bunch of local commands. That gives me both the heebies and the jeebies. I'd much rather deploy an rtop-server compiled binary and restrict the ssh key that rtop uses to connect with something like "command=/usr/bin/rtop-server" in the .ssh/authorized_keys file for the local user that will accept rtop-initiated ssh connections.

<comment><USER8> >I think the idea with rtop in particular is not to have it running headless ever, but you'd only use it interactively. There would not be a "monitoring server", at least not running rtop.

Aah. I misunderstood. I've not figured out how to run a cluster without giving myself through one of my workstations or a jump box or something ssh access to all of them, so I'm generally okay with a program that automates some of that SSHing I do, like ansible; far more comfortable than I am with a box that is running some monitoring web frontend having any kind of access to my backend servers. (I usually try to give that box read-only access to the storage that another server which queries the agents writes to.)

To be clear, I'm not super comfortable with this situation, but I don't see any way around of having my own login everywhere, or of making it so that if I do have my own login everywhere, my logging in from a compromised machine is not a game over.

(as an aside, you and I mean different things by headless; usually when i say 'headless' \- i mean 'the video port is disabled or unused' \- all the servers I use are managed via serial console, and I would call them 'headless' \- I think my usage is more standard than yours, but I could be wrong.)

>If you wanted to use it this way, note that rtop currently sshes around places and then execs a bunch of local commands. That gives me both the heebies and the jeebies. I'd much rather deploy an rtop-server compiled binary and restrict the ssh key that rtop uses to connect with something like "command=/usr/bin/rtop-server" in the .ssh/authorized_keys file for the local user that will accept rtop-initiated ssh connections.

Yeah, that is what I meant by "some sort of agent." \- I personally make rather extensive use of the forced-command bit in ssh.

</comment></comment></comment><comment><USER9> You're incorrectly setting up the source tree which makes it difficult to "go get".

why have a makefile and not just allow "go get github.com/rapidloop/rtop" to function?

<comment><USER10> `go get` seems to be increasingly considered harmful -- for example, by its poor dependency versioning practices which promotes non-reproducible builds. See Dave Cheney's `gb` project for an alternative. [1]

As a fellow gopher, I've decided to consider support for `go get` a non-goal in my projects for similar reasons.

[1] [https://walledcity.com/supermighty/building-go-projects- with...](https://walledcity.com/supermighty/building-go-projects-with-gb)

<comment><USER11> "go get" on its own isn't to blame -- the culture folks behind Go are trying to promote is that dependencies are intrinsically part of your code and thus you have to maintain them. I'm not going to say that version pinning harms this, but the lack of it is no reason to throw away good conventions around imports mapping to URLs, etc.

For a set of alternative package managers that are perhaps more in the "spirit of go get", see [https://github.com/golang/go/wiki/PackageManagementTools](https://github.com/golang/go/wiki/PackageManagementTools)

</comment></comment></comment><comment><USER12> Instead of depending on a running agent, SSH based remote monitors depend on the consistency of the SSH configuration across the fleet of machines. This is sometimes non-trivial configuration find in heterogeneous environments (usernames, authentication, permissions, sshd_config...).

<comment><USER13> It looks like a perfect match for an ansible-managed fleet, though.

</comment></comment><comment><USER14> Typo in the title - sever/server

</comment><comment><USER15> I really like the fact that you can monitor remote servers!

Not sure if you consider feature requests but I would love to be able to monitor ZFS as well with it.

</comment><comment><USER16> This isn't directed at this particular post, but more to HN in general. Why do I now constantly see "Tool XYZ (written in Go)" as though this is a hugely important aspect? I've never seen a "Tool ABC (written in Java)", so what's so great about Go? I know the features of the language help ensure "safe" development, but if someone was releasing software, I'd expect it to be relatively safe no matter what the language. So why is a tool being written in Go so important?

<comment><USER17> To me, "written in Go" is essentially shorthand for zero-dep, statically linked, single binary deployment.

This is a pretty big selling point for command-line utilities like rtop, as opposed to utilities written in Java/Python/Ruby/Node/etc. which require their respective runtime to be installed.

<comment><USER18> > as opposed to utilities written in Java/Python/Ruby/Node/etc. which require > their respective runtime to be installed.

In Java's case only by those that don't know what the Java eco-system offers.

There are plenty of commercial JVMs that offer AOT compilation, including static linking.

Plus as of Java 8, there is even a packager as part of the reference JDK.

<comment><USER19> I'm curious to know more about these. Are any free? Are any open source? These aren't rhetorical questions, there's a ton of Java stuff I'd want to test it with.

I tried robovm, it actually worked nicely but apparently only does 32 bit. Also, the simple reference HelloWorld was nearly 10MB, the build process took 20 seconds, and running it took 15x longer than a comparable one in Go. I don't mean to knock it, what it does is amazing, but it's not a viable replacement for simple static command line tools.

<comment><USER18> > Are any free? Are any open source?

No, most of those that produce good quality code are commercial, hence why I stated that on my comment.

Some of most well known,

[http://www.excelsiorjet.com/](http://www.excelsiorjet.com/)

[http://www.atego.com/products/atego- perc/](http://www.atego.com/products/atego-perc/)

[https://www.aicas.com/cms/en/JamaicaVM](https://www.aicas.com/cms/en/JamaicaVM)

[http://www-03.ibm.com/software/products/en/real- time](http://www-03.ibm.com/software/products/en/real-time)

[https://www.codenameone.com/](https://www.codenameone.com/)

Oracle Research has SubstrateVM as part of Graal, but it is still experimental.

[https://wiki.openjdk.java.net/display/Graal/Publications+and...](https://wiki.openjdk.java.net/display/Graal/Publications+and+Presentations)

</comment></comment></comment></comment></comment><comment><USER20> This is fairly close to Ansible (agentless) and Salt stack (optionally agentless)

Or am I missing something ?

[1] [http://www.ansible.com/home](http://www.ansible.com/home)

[2] [http://saltstack.com/](http://saltstack.com/)

<comment><USER7> This does seem to really only be for monitoring, vs ansible and salt aiming at managing and changing system configuration.</comment></comment>


There is only one OS, and it's been obsolete for decades - <AUTHOR> https://programmingmadecomplicated.wordpress.com/2017/08/12/there-is-only-one-os-and-its-been-obsolete-for-decades/ <comment><USER2> There are two common situations for developers: Encountering a software project for the first time, and the opposite, developing a project from scratch and then maintaining it.

In the first situation, you start going through the sources and see all the oddities, areas with questionable functionality, outdated techniques, and places where there _must_ be better ways to implement a solution than the crazy spaghetti code you're looking at. Many inexperienced developers think, "Trying to figure this all out is a waste of time... I could write the whole thing from scratch faster than modifying this monstrosity."

Then there are those developers who have created said projects and understand the reasons behind all the craziness under the covers. Like a battle plan, no software project encounters the real world unscathed and unchanged: Edge cases pop up, bugs in other systems need to be worked around, features outside the original scope were added, limitations of current hardware or libraries needed to be accounted for, etc.

This article is written from the perspective of the former: "God, what a mess! What is all this crap?? Text files and consoles and all this other junk is horrible!" The fact is that every piece of software is filled with this stuff, down through every layer in the stack, and that's never going to change until humans are no longer involved in the process. If you sent this article to Linus Torvalds, he'd read about four lines, realize the author doesn't know what he doesn't know and dismiss it all out of hand.

</comment><comment><USER3> _> Consider the three operating system families we are forced to choose from: Windows, Apple, Other (which I shall refer to as "Linux" despite it technically being more specific). All of these are built around the same foundational concepts, those of Unix._

Wait, what?

Linux and macOS, OK, sure, they are based in varying degrees on Unix. But _Windows?_ Windows has no appreciable Unix heritage. The DEC roots of the people Microsoft hired to develop Windows NT mean that modern Windows has some similarities to systems like VMS, but VMS isn't Unix and never was.

 _> Oh, wait a minute, this is still the only way we can get anything done in the world of programming! Typing textual orders into a "terminal" or "console" application—nothing more than an emulator for the teletype!!_

On _Windows_? What?

 _> 3\. "Everything is a file"_

...

 _> 4\. An obsession with unstructured text_

The only thing I can figure here is that the author is familiar with Macs and Linux, where these assertions are all true, and is just assuming that they must therefore be true on Windows as well. Where they very much _are not._

Windows has had some convenience features layered on top of it to make it more comfortable for people familiar with Unix to use, but deep down in its lizard brain it is very much _not Unix_ and was built around a completely different set of assumptions. Windows doesn't assume everything is a file, interprocess communication in Windows has never been about piping text between processes, Windows has been GUI-first rather than terminal-first from Day Zero, et cetera et cetera et cetera. It's just a completely different thing than Unix and Unix-derived systems like Linux and macOS.

One can argue that this is a strategic weakness for Microsoft, as the world (especially among developers) has more or less settled on Unix as the One True Way to Write an Operating System, and thus the more different Windows is from Unix the harder it becomes for them to sell Windows to people. But listing all the legacy baggage that Unix-derived systems haul around with them and then saying "oh yeah, Windows has all that junk too" is just incorrect on a fundamental level. Windows carts around plenty of legacy baggage of its own, but none of it has much to do with teletypes or text pipes.

<comment><USER4> The author got a number of things wrong, but the thing that has surprised you is one of the few that xe actually got right. The handle-based API and subdirectories, introduced in MS-DOS version 2, were both Unix concepts added to MS-DOS that remained in DOS+Windows and in its successors OS/2 and Windows NT. (This wasn't the only Unix concept to cross to the IBM+Microsoft world. 32-bit OS/2 even changed to keeping system time the same way that Unix did, with a 64-bit count of seconds since the Epoch.) Command pipelines were right there in MS-DOS 2, as well. Peter Norton wrote a chapter about them in his _MS-DOS and PC-DOS Users Guide_ in 1984.

Ironically, the thing that _you_ have got wrong, in your turn, is your assertion that "an obsession with unstructured text" is _actually true_ of MacOS and Linux in the first place. Most textual data files in such operating systems are in fact structured into records and fields; many data files (especially on the BSDs with termcap, the account database, and various others being Berkeley DB files) are _not_ text at all; and there has been one particular database (the login database) that has not been text since 1BSD and Research Unix version 7.

</comment></comment><comment><USER5> > Consider the three operating system families we are forced to choose from: > Windows, Apple, Other (which I shall refer to as "Linux" despite it > technically being more specific).

> All of these are built around the same foundational concepts, those of Unix.

> Android sits atop the Linux kernel, with iOS (as well as Mac OS) atop Darwin > (dunno about Windows Phone, but it doesn't matter). Linux and Darwin are > both descendants of Unix. _Windows also bears many similarities to Unix, > possibly through it, but whether there is a dependency does not affect the > point. To me, the key effects of this monopoly are as follows._

And we're done here. Thanks for playing, close the door on the way out.

<comment><USER6> Yeah he dismissed Windows way too easily, but some of his later points still hold for Windows. The terminal still sucks (though Powershell at least tries to modernise it a bit). It still uses processes and files in basically the same way Unix does. The most common interface between programs is still the C ABI.

It doesn't have the obsession with unstructure text, which is nice.

<comment><USER4> It is a mistake to call it "the terminal". Consoles are not terminals.

It is a regular thing for Linux/Unix people to talk about making a "better terminal". The irony of your talking about Windows in terms of "the terminal", is that pretty much all of the ideas that people put forward for making a "better terminal" have actually been done, decades since, in the worlds of MS/PC/DR-DOS, OS/2, and Windows NT. OS/2 version 1.0 had the MOU, KBD, and VIO subsystems, which introduced device independent input event streams, 2D screen buffer addressing, a handle-based API, and API calls rather than escape and control sequences. Windows NT took this further into the Win32 concept of a _console_.

* [http://jdebp.eu./FGA/tui-console-and-terminal-paradigms.html](http://jdebp.eu./FGA/tui-console-and-terminal-paradigms.html)

Command-line interpreters are not terminals, either. Powershell doesn't modernize "the terminal".

* [http://jdebp.eu./FGA/a-command-interpreter-is-not-a-console....](http://jdebp.eu./FGA/a-command-interpreter-is-not-a-console.html)

And the most common interface between programs has never actually been the C ABI, not on DOS, not on OS/2, nor on Win32/Win64. The most commonly used convention has to be the one used by applications softwares to make system calls. Thus the most common calling convention on 16-bit OS/2 and Win16 was in fact the (Microsoft) Pascal calling convention. 32-bit OS/2 and Win32 used different calling conventions, APIENTRY and WINAPI, that still weren't the ones used by plain C functions unadorned with calling convention specifiers.

* [http://jdebp.eu./FGA/function-calling-conventions.html](http://jdebp.eu./FGA/function-calling-conventions.html)

</comment></comment></comment><comment><USER7> > Unstructured text is not the only way even to do language, let alone > software construction

A language is not unstructured text, then it would not be called a language.

Seems like a article full of complaints(that is already well-known to be not the ideal thing) and propose no alternatives.

</comment><comment><USER8> This guy probably doesn't know hardware.

C succeeded in part because, in many problem spaces, it was easier to write "portable assembly" than it was to bridge the semantic gap between higher languages, like LISP, and typical ISAs.

All of this Bret Victor cultistry is a grandchild of B5000 design. Want better software, need better hardware.

Maybe with the end of Moore's Law, we'll start making better hardware...

</comment><comment><USER9> Why does his teletype comments miss TUI tools like tmux, vim, midnight commander?

I feel if he acknowledge these tools some of his arguments fall flat.

There a reason why there is no real alternative to TUI's. Because all of them suck. Even Microsoft back-peddled with powershell so that Windows have better tui support.

I want to use TUI tools like ssh and tmux. For the power it gives me, and the low usage of bandwidth, that gives a better response time then most GUI tools.

"UNIX is very simple, it just needs a genius to understand its simplicity." ~ Dennis Ritchie

<comment><USER7> gui doesn't necessarily mean you have to update bitmaps over network to be responsive. It could be done in a protocol(just like ssh is) for low bandwidth/latency usage.

<comment><USER10> That was X11. A minimal but extensible protocol which survived many decades and successfully adapted through generations of hardware. Over time people created abstractions over it (Gtk,Qt,etc) such that X11 was limited to update bitmaps over network to be responsive. Now X11 will be replaced by Wayland on Linux.

</comment></comment></comment><comment><USER11> The question of why text user interfaces are difficult is an interesting one, but I think boils down to "Why can't you have a conversation with a computer like you do with a person?"

Graphical user interfaces bypass some of those issues with direct manipulation but I don't think people have an easy time learning how to use complex GUI applications. Before the smartphone I remember 1000 page books about how to use Microsoft Word and lately graphic designers are starting to realize that "It's not just me, Photoshop really is hard to use."

The big difference between computers and humans is that computers tend to require you to formulate inputs in a specific way and that they don't tolerate ambiguity. Early programming languages such as COBOL and Perl had highly complex grammars that most developers today have an aversion to. (For instance almost everybody things that "unless" and "ACTION if CONDITION" in Perl is stupid; even though natural languages are that way.)

Closely related to that is the "namespace problem" which boils down to an inability to create a unique meaningful name for every concept (ex. function, variable name, file, ...) that somebody might want to refer to. People let you use ambiguous words and will usually guess what you mean correctly, if they aren't sure they usually know they aren't sure and will ask clarifying questions.

The trouble w/ making programs that can do that is now you are dealing with something that doesn't necessarily have a right answer or we don't know what it is. My experience is that (despite what many of bosses have thought) it can be a lot harder to make something that has to be 99.9% right as opposed to 100% because you might find that there is some 0.001% case where you think you can tolerate an error but no... If you work out the math for something to where you can define what correct is, it might take a while to think through and implement but the task is finite. On the other hand there is no limit to how much time you can spend screwing around and going in circles.

<comment><USER12> The aspects of Perl you mention are trivial bits of syntactic sugar, that don't add significantly to complexity and don't prevent you from using the idiom other languages do. Saying "everybody" thinks they are stupid is begging the question as much as if you dismissed the ternary operator that way.

Also, Perl and COBOL originated almost 30 years apart, so grouping them together as "early" languages is peculiar. If Perl is "early", then are C, C++, and Java also?

</comment></comment><comment><USER13> There is no running from the context of what came before. Everything new will be understood in context of the old paradigm.

The two will combine to create the paradigm we look at the next new thing.

You can propose your replacements, we can shed our vistigal features. No matter how much things change, it's impossible to make a clean break.

</comment><comment><USER14> Reminds me of The Unix Haters Handbook, can't tell if this is serious or modern-day-parody though.

\- [https://en.wikipedia.org/wiki/The_Unix- Haters_Handbook](https://en.wikipedia.org/wiki/The_Unix-Haters_Handbook)

</comment><comment><USER15> The preëminence of the Unix Way did not arise in a vacuum. It arose by Unix winning out, again and again, against better-funded, more 'modern' solutions, each of which has aged a lot less well than Unix itself.

Simplicity is a positive virtue, not just a negative one. Having everything be 'just files', or compile to something that is C or C-like, and having an API that is still mostly usable on an actual TTY, are actually great, wondrous things to programmers dealing with cognitive load. Aside from projects that are essentially refinements of Unix -- Plan 9 and Fuchsia, for example -- I haven't seen anything that provides remotely as powerful an idiom. But then again, I haven't been looking. Because Unix already meets my needs just fine. It is Good Enough.

Yet there has been no shortage of attempts to do better, and they were almost all unanimously terrible. Remember how much fun it was locking handles in MacOS 7, before you could reliably play with stuff on the heap? Yeah, you probably don't. But I do. It sucked. But TBTB told us Pascal and 'cooperative multitasking' (ha!) were in; that it was gauche to touch a terminal; and that the future was remote procedure calls. Shortly thereafter, the future was OLE, or maybe CORBA, or maybe the JVM. It didn't really matter what the future actually was -- the message was always, 'C is dead, UNIX is dead, long live ____'. And here I am, unironically typing you this message on El Capitan, atop a Unix kernel, with about five terms behind the browser window, in the year of our lord 2018.

What is dead can never die. :)

Thus I'd argue that unix, and all its anachronisms, comprise the little black dress of informatics -- always in fashion.

I'd argue that is in fact deeper than that; it's an ideology; specifically, it is what I would call 'anarchist', but you might call 'decentralist' or even 'libertarian'.

Either way, I'm keeping it. I'm probably still more in love with Unix than I will ever be with any human.

P.S. also Vim called and reminded you visit Eclipse in the Old Prog's home.

<comment><USER9> > But TBTB told us Pascal and 'cooperative multitasking' (ha!) were in;

Sorry I searched for "TBTB told us Pascal" and no real info popped up, except for some NSFW videos. What is TBTB?

Otherwise I agree with most of what you said; UNIX is dead, long live UNIX.

<comment><USER15> 'The powers that be'. Even the abbreviations we use these days are different. :) Younger people don't understand me when I say 'IANAL' or even 'IIRC', which is a shame, IMHO.

Hot grits and Natalie Portman forever. _flashes Slashdot gangsign_

<comment><USER16> I think the confusion comes from not typing TPTB

<comment><USER15> oh snap!

</comment></comment></comment></comment></comment><comment><USER17> Like most such critiques this is thick on criticism and thin on alternatives or solutions.

<comment><USER18> See: Urbit

<comment><USER9> Urbit on github[0] with 90% of its code written in c?

C was one of the first problems the author had in the blog post.

[0]: [https://github.com/urbit/urbit](https://github.com/urbit/urbit)

<comment><USER18> Urbit currently runs on top of Unix, so yeah that repository will be mostly C. If you look up the project on its website, you'll see it runs in three new languages that solve the problems the author talks about.

</comment></comment></comment></comment><comment><USER19> More C hate.</comment>


DeepMind hopes to teach AI to cooperate by playing Diplomacy - <AUTHOR> https://venturebeat.com/2020/06/10/deepmind-hopes-to-teach-ai-to-cooperate-by-playing-diplomacy/ <comment><AUTHOR> link to paper:

[https://arxiv.org/pdf/2006.04635.pdf](https://arxiv.org/pdf/2006.04635.pdf)</comment>


Using Google Voice to Receive and Reply to SMS Messages in Web App - <AUTHOR>

Hi, I have a startup and can not afford my own personal short code. I decided to use my Google Voice Number to receive SMS messages and have my app read them and then respond to them. It seems to work fine, but I am wondering if anyone has any experience doing this? Any possible issues or things or alternatives I should be aware of. <comment><USER2> It is probably against the TOS and if you get caught I can see your google account getting locked.

Take a look at twilio (<http://www.twilio.com/pricing>) if you haven't already.</comment>


The coming labour scarcity will shift the balance of power, pushing up wages - <AUTHOR> http://www.telegraph.co.uk/finance/comment/ambroseevans_pritchard/11882915/Deflation-supercyle-is-over-as-world-runs-out-of-workers.html <comment><USER2> This might be true for high-skilled jobs, yes.

But the vast armies of uneducated, second-or-third-generation-jobless people will have their jobs slaughtered by automation. Truck/cab/freight delivery will be automated, freight handling and shipping will be automated, cleaning of public and private areas will be automated.

The only field I can see which will depend on low-skilled worker armies is construction.

And with the refugee crisis we just magnify the problem because the refugees will have to be integrated, they have to learn German and still lots of them will be lower educated than the rest :/

<comment><USER3> You are missing service industries in general and elder care (poignantly relevant with the article's emphasis on demographic shift) specifically. A large older population with a smaller worker pool to draw on will drive up demand for caregivers, exhausting the rapidly devaluing savings of the elder generations.

<comment><USER4> Most people would prefer being wiped in the ass by a robot.

There are _really_ strong incentives for automation in healthcare.

When talking about the immigrants and refugees working with elders; Unfortunately, even the "human touch" and the social part of the job is sometimes problematic because of cultural and language barriers... (Also applies to the opposite situation, elder immigrants receiving care.)

</comment></comment></comment><comment><USER5> When the article talks about Piketty it says that he makes "sweeping neo- Marxist claims". While at the same time tries to justify Professor Goodhart bold statements telling us that he uses "large assumptions".

Awful article that shows from beginning to end its bias with a wishful thinking justification of letting big-business reign over the rest of society.

</comment><comment><USER6> And the home secretary is going to say today that immigration is bad for the economy !

In my sector, Supply Chain Management, we are facing a skills shortage.

* Warehouse operatives are moving from many low skilled pickers to a few skilled robot sitters and the latter are in short supply.

* Procurement - moving from the soft skills of buying person to person over the phone to electronic exchange and online bidding - again a skills shortage is looming for the non-managerial staff.

* Driving - HGV is facing a short supply as the retiring workfoce is not being replaced by young people and more demand for last mile drivers for the shift to single package delivery.

* Supply chain managers - a relatively new title and one that few young people consider. The Novus Trust in the UK is promoting the career path in a hope to encourage new entrants.

<comment><USER7> One observation is they're just not paying enough. Oddly enough, if you're willing to drop $150K there is no shortage of software developers worldwide. People can dehydrate themselves crying in their beer over there being no truck drivers at $20K/yr, but once they offer more than $30K/yr, people will start to line up. For the last couple generations this has been a dog whistle for immigration or H1B style indentured slavery; "We can't find anyone (for $7.25/hr) so we'll have to import".

Another observation is some of your jobs are extremely temporary, like becoming a cable TV installation technician, once the metropolis is wired up in the mid 80s, 99.999% of them are permanently unemployed. So you're going to have to offer fat stacks of cash to drive a truck until permanently replaced by an automated truck in a couple years or have this years flavor of the month of robot certified system engineer cert holders or whatever, because in five or ten years they'll be permanently unemployable or at absolute best case be unemployed and retraining. You can't expect to pay people a low career level wage for an extremely short term job.

A final observation is for real long term careers you've listed, when business people say there's a skill shortage, they rarely mean a shortage of people with skills, because the skills are often pretty widespread and trivial, but a shortage of business people and HR personnel who can CYA on hiring decisions via authority like diplomas and govt licenses, or an established hierarchy like "top 100 biz/med/legal school lists". None of those skills listed are weird or rare in your average human population; you're not asking for research grade theoretical physicists; every house that has a roll of toilet paper in the toilet paper holder has some human who at least vaguely understood logistics; you only need to hire the top 0.001% of that enormous proven skilled population. Its just if you make a mistake in the hiring process you can't act all blameless because he had a MBA from Harvard so I'm not responsible for hiring the wrong guy, or he had a license from the state bureau claiming he was qualified, or he held journeyman papers. Or in summary, its a management CYA behavior problem not a real workforce skill problem.

<comment><USER6> You can't just up wage offers and see results. HGV driving already pays good wages here - upwards of $750 p/w and it costs something like $1500 to get qualified.

Even if you only work for a year, you will recoup your investment so I don't think it can possibly be people thinking that "I'm not going to be an HGV driver because robots will take my job, I shall stay here in McDonald's on minimum wage"

So it can't be a purely wage issue that keeps millions of people in low pay / unemployment and not behind an HGV steering wheel.

<comment><USER8> Could be that the McDonalds employee doesn't have the $1,500 to get qualified. For a great many people, that's an amount that seems impossible to save.

<comment><USER9> If industry was really desperate they would simply offer people training contracts with a buy out clause. I.e. the company pays for the training and the driver (assuming they pass) then has to work for the company for a minimum length of time or buy themselves out. This would surely be a win-win for everyone.

</comment></comment></comment></comment></comment><comment><USER10> So what are Japan's special circumstances? The theory makes sense, but when our one real-world example shows the exact opposite, I'm inclined to be skeptical.

<comment><USER11> Japan does not exist in a vacuum.

</comment></comment><comment><USER12> As if the labour scarcity will not be dealt with using completely new working class as a replacement.

[http://www.cgpgrey.com/blog/humans-need-not- apply](http://www.cgpgrey.com/blog/humans-need-not-apply) is a real eye opener.

</comment><comment><USER13> With hardly a mention of automation. ..

<comment><USER9> Automation (at the moment) requires a skilled workforce to e.g. build or program the automated system.

<comment><USER13> Orders of magnitude fewer workers though...

<comment><USER9> But far higher paid. And therefore the few good industrial jobs building and running the automated systems should be able to support a large number of service jobs in the wider economy.

<comment><USER13> Except not if the service jobs are all being automated.

</comment></comment></comment></comment></comment><comment><USER14> A newspaper which is pro the right-of-center government, pro big business says that there is no need to reign in big business; because despite their winning streak over the last few decades and the mounting criticism of mounting inequality, things are going to turn against them _any day now_ , honest!

Film at 11.

<comment><USER15> I think the important message is more general: "don't worry because markets equilibrium will solve all the problems. Don't look too hard to the last 30 years, it was not a policy problem, it was just a demographic anomaly. Our theories are good and worked perfectly."

What surprise me is that they use the capital vs. workers narrative.

<comment><USER16> The right wing press just loves to fain Marx when it suits their own narrative.

That said, I often wish the mainstream left would diversify their own font of knowledge. Especially given most don't read him.

<comment><USER9> The left don't read Marx because Das Kapital is one of the slowest most boring reads I've ever encountered...

On the other hand the basic concept of labour and capital as market objects with values controlled by supply and demand makes a lot of sense.</comment></comment></comment></comment>


NASA Scientist Hansen Arrested at Tar Sands Protest - <AUTHOR> http://www.rollingstone.com/politics/blogs/national-affairs/nasa-scientist-hansen-arrested-at-tar-sands-protest-a-grim-sign-of-the-times-20110831

<comment><USER2> What I find most problematic is how frequently peaceful protestors are being arrested. As far as I can tell, he wasn't lobbing Molotovs at the White House, trying to climb a fence, or otherwise posing the sort of threat that would justify interfering with a peaceful protest. But courts appear to have given large leeway to police to put "time and place" restrictions on protestors, arresting them for e.g. picketing on a sidewalk that falls outside specially approved "free speech zones".

<comment><USER3> Yes, this is disturbing. Contrary to some claims, this was not an off limits area. It was on the Pennsylvania Avenue (which is closed to vehicle traffic but not people here) and is a public area. It is extremely wide and the protestors were not blocking anyone.

<comment><USER2> Yeah, I think that's what bugged me (I looked for some photos, though admittedly I may not have seen all of them). I realize this wasn't a free- speech protest per-se, but a civil-disobedience one with an environmentalist goal. But even with purposeful civil disobedience, you have to commit some actual crime to get arrested, and it boggles my mind that _this_ can be a crime in the US. They were just sitting peacefully on the sidewalk, not even obstructing pedestrian traffic!

I guess I have a higher bar for what kind of disturbance is required to arrest someone in a free country--- violence, definitely; blocking traffic, ok; but sitting on a sidewalk with a sign, well, no.

</comment></comment></comment><comment><USER4> Buried the lede: "If he chooses the dirty needle it is game over [for the earth's climate]..."</comment>


Friedman: New Rules - <AUTHOR> http://www.nytimes.com/2012/09/09/opinion/sunday/friedman-new-rules.html

<comment><USER2> Cannot agree more with Tom Friedman and Van Ton-Quinlivan on this subject. Job skills are changing so fast that the only way to stay relevant is to be a continuous learner. I want to add that people need help figuring what to learn. This is why LearnUp.me (I work there) is working with California Community Colleges to help those that are "ready soon" and "far from ready" figure out what they need to learn for open jobs.</comment>


Facebook now posts strangers' stories in your feed... - <AUTHOR>

...if your friends like/comment them - anyone know why?
In the last few days, I've started seeing comments that my friends have posted on other people's walls appearing in my news feed - people I'm NOT friends with. I'm finding this a little bizarre (and rather creepy). Yes, the recipient's walls are public but this is still really bizarre.
Does anyone have any insight into what benefit there is meant to be in me knowing what my friends are saying to people I do not know? And, more importantly, has anyone worked out how to disable this in the Byzantine Facebook privacy pages? A quick search on the subject gets lost in the rest of the Facebook privacy discussions. <comment><USER2> My news feed is full of strangers as well. This is the only place I've found where anyone is discussing this particular Facebook privacy issue. Every single one of my friends' comments and whatever they are posting on (sometimes a pretty private status update) is showing in my news feed. I doubt that all of them suddenly changed their posting privacy settings to "public" or "friends of friends" at the same time. If I'm in some testing bracket then I'm pretty sure that when everybody gets this they are gonna freak.

</comment><comment><USER3> I've seen this a handful of times in my feed over the past week.

Since not everyone is seeing this happen, I imagine that it is a new feature test. I had a friend get the newest Facebook design 4 months before anyone else she new with no explanation whatsoever.

</comment><comment><USER4> Are you sure this is a new feature?

<comment><AUTHOR> I haven't seen it for people you aren't friends with before the last few days, so I'm pretty sure - either that or it's a bug. Either way, some feedback on it would be welcomed if anyone knows anything.

<comment><USER5> I saw it for one friend, for about half a day, then it stopped. Probably just a bug they fixed.</comment></comment></comment>


Ask HN: What's the lifespan of posts on HN? Or How often should one check HN? - <AUTHOR> <comment><USER2> Stories can be on the front page for 30 minutes or over a day, it depends on how active it is. I've even seen fewer minutes and longer stories.

Downvoting buttons disappears after a day, upvoting never. One can comment for 14 then, after that the 'reply' link disappears.

If you want more/faster stories use the 'active' list [https://news.ycombinator.com/lists](https://news.ycombinator.com/lists) or 'new'. If you want to check less and not miss good discussion use [https://news.ycombinator.com/best](https://news.ycombinator.com/best)

There's twitter account which only tweet stories which got at least 250 upvotes [https://github.com/adriel/awesome-hacker-news#social- media](https://github.com/adriel/awesome-hacker-news#social-media)

<comment><USER3> You can also see highly-ranked stories from previous days here:

[https://hckrnews.com](https://hckrnews.com)

Also, old posts never disappear from the site, they just fall off the front page. You can use the search feature to find stories that interest you, no matter how old they are:

[https://hn.algolia.com](https://hn.algolia.com)

<comment><USER4> those are helpful links. thanks for sharing !

</comment></comment></comment><comment><USER5> It depends on how the posts are ranked [0]

      How are stories ranked?

      The basic algorithm divides points by a power of the time since a story was submitted. Comments in threads are ranked the same way.

      Other factors affecting rank include user flags, anti-abuse software, software which demotes overheated discussions, and moderator intervention.

I recommend you to check Hacker News Daily [1] because it summarizes top stories on HN daily. It also summarizes Ask HN, but weekly [2].

I think you don't need to check HN frequently. If you miss a day, you can always go back or jump to date using Past page [3]. Other user has mentioned tools, like hckr news and HN Search using Algolia.

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

[1]: [http://www.daemonology.net/hn-daily/](http://www.daemonology.net/hn- daily/)

[2]: [http://www.daemonology.net/hn-weekly-ask](http://www.daemonology.net/hn- weekly-ask)

[3]: [https://news.ycombinator.com/front](https://news.ycombinator.com/front)

</comment><comment><USER6> Oh think I check too often and I see mostly the same stories over and over. I frequent the front page and ask.

What I would like is a hide feature that knows what posts I've looked at and removes them from the ui automatically. Bonus if I can "lock" the post and prevent it from being hidden because I want to continue to monitor the thread, or click "hide" on a post I'm done with or uninterested in. Noise reduction allowing me to quickly seep what is new to me.

</comment><comment><USER7> There are a lot of good posts that never make the front page. Staying up with the "new" section can be time consuming, kinda depends on the day. I usually check in most days.</comment>


Zip Trees - <AUTHOR> https://arxiv.org/abs/1806.06726 <comment><USER2> If you're on a phone, here's an HTML version of the paper [https://www.arxiv- vanity.com/papers/1806.06726/](https://www.arxiv- vanity.com/papers/1806.06726/)

<comment> 0-_-0 Thanks for letting me know about Arxiv Vanity!

</comment></comment><comment><USER3> A Cartesian tree (treap) with zip/merge change routine is a well known datastructure in competitive programming. The only difference from the paper would be rank selection algorithm - uniform instead of geometric.

Unclear if authors were aware of it.

<comment><USER4>
      >> One can view a zip tree as a treap (Seidel and Aragon 1996) in which priority ties are allowed and
      >> in which insertions and deletions are done by unmerging and merging paths ("unzipping" and "zipping")

<comment><USER3> > ...rather than by doing rotations.

DS i've mentioned is using unzip/zip (called split/merge), see [1]

[1] [https://cp-algorithms.com/data_structures/treap.html](https://cp- algorithms.com/data_structures/treap.html)

<comment><USER4> Thanks for clarifying :)

</comment></comment></comment></comment><comment><USER5> Correct me if I'm wrong, but isn't this the "standard" [1] treap with split/merge (which is somewhat acknowledged in the footnote of page 8), simply with a different distribution of priorities? The result is certainly impressive, but it seems like a small modification to an otherwise known structure.

[1]: See here [http://e-maxx.ru/algo/treap](http://e-maxx.ru/algo/treap) for an old reference of this structure. Google translate does a decent job with it, and the code is readable without translation.

<comment><USER6> I had a similar confusion when skimming the paper. The algorithm only depends on the relative ordering of node "ranks", rather than their absolute values. If you were to treat the distributions as continuous (ignoring ties) then it would make absolutely no difference what distribution you used. (Any two continuous distributions are related by a monotonic transformation, which preserves the ordering relationships between different points of the distribution.)

(A more concrete way of looking at it: a simple way of sampling from a geometric distribution is to choose a uniform random integer and count the number of leading 1 bits. The authors suggest concatenating a few random bits to the end for tie-breaking, so that the rank is a pair of a geometric random variable and a uniform random variable, sorted lexicographically. But such a pair is equivalent to just choosing a uniform random integer, and sorting by that!)

Upon a closer reading, it makes a bit more sense. In section 4, the authors point out that by choosing ranks from a geometric distribution, they only need to store O(log log n) bits per node, instead of O(log n). The geometric distribution of ranks, and the handling of ties, allow them to prove the same time complexity bounds as a normal treap while using slightly less space.

However, I don't see this as a major advantage because either way, it still takes O(log n) bits to store each node's child pointers.

</comment></comment><comment><USER7> > insertion and deletion can be done purely top-down, with O(1) expected > restructuring time and exponentially infrequent occurrences of expensive > restructuring. Certain kinds of deterministic balanced search trees, in > particular weak AVL trees and red-black trees achieve these bounds in the > amortized sense [3], but at the cost of somewhat complicated update > algorithms.

It's a neat, novel data structure with O(1) typical insert and delete times. Very cool!

<comment><USER8> I don't think a ordered data structure with O(1) insert time is even possible, as that would mean that you can do sort in O(n).

<comment><USER7> O(1) expected is a different thing than standard O(1).

<comment><USER8> Indeed, could you expand on that a bit?

Even if what you meant is expected time complexity for the single insert operation is O(1), that surely cannot be the case. What would be expected time complexity of N inserts then?

<comment><USER7> Consider the humble array-list- a simpler example to be sure, but it's great for explaining.

Build an array of an initial basic size (16 let's say), and keep a counter of the current size. When you insert items 0 through 15, the time to insert is O(1)- find the current size, insert there. When you insert item 16 however, you need to make a new array of size (currentSize _2), move the existing items over to it, then add your new item- which is O(n).

Let's say we insert n items (be in 64, 1024 or 2^32, it doesn't matter). What was the mean, median and mode for an insert?

Well, for any non-doubling case (1-k/k) it took O(1). For any doubling case (1/k of the time) it took O(k). This all adds up to a mode of O(1), a median of O(1) and a mean of (O(1)_(k-1) + O(k)*1)/k, or roughly O(2), which is O(1).

Your worst case scenario of an insert is indeed O(n). But that's not the most common outcome.

Similar, from how I'm reading this paper, very rarely you'll have an O(ugly) restructuring during inserts or deletes, but the rest of the time you can expect O(1) while maintaining sorted order. I'm going to have to take a try at implementing it to see how it goes.

<comment><USER9> So, I think that's what is meant when they say:

 _with O(1) expected restructuring time and exponentially infrequent occurrences of expensive restructuring._

Occasionally there's O(n) expensive restructuring, but given the nature of how it's increasing space, when and why, and when it will need to happen again, it's twice (or whatever) the prior amount of time before it needs to happen again. I'm not up on my asymptotic notations[1] besides big-O, but perhaps this is more succinctly (if more confusingly, to a general audience) by one of the additional notations?

1: [https://en.wikipedia.org/wiki/Big_O_notation#Related_asympto...](https://en.wikipedia.org/wiki/Big_O_notation#Related_asymptotic_notations)

<comment><USER10> > given the nature of how it's increasing space, when and why, and when it > will need to happen again

This is really rather straightforward. The whole point of the algorithm is to randomly distribute the height of the inserted node such that half the nodes are leaves (height 0), 1/4 have height 1, 1/8 have height 2, etc. Restructuring is more expensive the larger the height, but the frequency of restructuring decreases exponentially with respect to the cost of doing it. Net result: O(1) for restructuring, + O(lg n) to find the insertion point (as is necessarily true for any binary search tree, else we would have a way to do an O(n) sort).

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> I'm curious about how expensive the restructuring is, and importantly, can that be "scheduled": can i violate some conditions and then do the expensive restructuring at a time that is convenient?

</comment><comment><USER12> Data structure from competitive programming is also known as "treap with implicit keys", related question on stackoverflow: [https://stackoverflow.com/questions/3497875/treap-with- impli...](https://stackoverflow.com/questions/3497875/treap-with-implicit- keys)

</comment><comment><USER13> Any links to the implementation of this? The paper says that there's a concurrent implementation in the author's thesis, but Princeton charges $5 per copy of theses, so I can't view the actual implementation:

[https://dataspace.princeton.edu/jspui/handle/88435/dsp01gh93...](https://dataspace.princeton.edu/jspui/handle/88435/dsp01gh93h214f)

<comment><USER10> An implementation of zip tree insertion and deletion is in the paper. _concurrent_ zip trees is another matter. I don't know why you can't view something that Princeton charges $5 for, but in any case I think you would find the thesis disappointing ... the arxiv paper says "The third author developed a preliminary, lock-based implementation of concurrent zip trees in his senior thesis [12]. We are currently developing a non-blocking implementation." \-- I would wait for the latter.

<comment><USER14> I'd also love to read the thesis, especially to see how they structured the lock.

I recently wrote a readers-writers (subtree) lock for a K-ary tree and it was quite a challenge with a nontrivial implementation. It was much easier to start with a single mutex-like (subtree) lock (one reader or writer), and then extend it to the general multi-reader/writer case.

I can only imagine that a lock-free version (of even a single reader/writer) must be even more of a challenge. I hope it's not a terribly long wait, but there could be much to learn from the simpler lock-based scheme in the meantime. :)

On the topic of access to the research, I found a talk by the first author [1] a helpful companion to the paper, with slides for what appears to be the same talk elsewhere [2]. I haven't seen any implementations outside of pseudocode in the paper -- it would be nice to see if there are any tricks to generating the random ranks cheaply, or the alternative that uses a pseudo-random function of the key.

Thanks to the OP for sharing this. I'm keen to try it on another project where I was hesitant to use red-black trees due to their complexity.

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

[2] [http://knuth80.elfbrink.se/wp- content/uploads/2018/01/Tarjan...](http://knuth80.elfbrink.se/wp- content/uploads/2018/01/Tarjan_Zip_Trees_Knuth80.pdf)

</comment></comment></comment><comment><USER15> I wonder if this would be a good candidate for the basis of a persistent ("functional") data structure?

O(1) pointer changes for insert/remove is a good sign, since pointer changes tend to become _space_ overhead in a persistent data structure.

</comment><comment><USER16> Readers already familiar with similar data structures may save time by proceeding directly to section 4, "Previous Related Work".

</comment><comment><USER17> Is cool to see new innovation in this area</comment>


Should you be able to wear blackface? - <AUTHOR> http://www.alligator.org/opinion/columns/article_d740eb08-d247-11e2-90e9-0019bb2963f4.html

<comment><USER2> Able to? Yeah. Should you? NO. If you're an actor portraying a specific time period, sure.

Its not like people don't know what it means (unless you're a child) or what its about or what it meant historically...</comment>


Atlassian Crowd unpatched 'symmetric backdoor' remote XML exploit [pdf] - <AUTHOR> http://www.commandfive.com/papers/C5_TA_2013_3925_AtlassianCrowd.pdf

<comment><AUTHOR> This is a very serious remote exploitation of the Crowd service, looks like version 2.6.3 is the only fully patched and safe version.

Abstract:

This advisory examines a critical vulnerability in Atlassian Crowd a software package marketed as a turnkey solution for enterprise scale single signon and secure user authentication. The vulnerability is remotely accessible, does not require authentication, and is easily exploited. Recommendations for securing affected systems are provided and special mention is made of an unpatched weakness in the product that could be classified as a symmetric backdoor.

</comment><comment><USER2> I wouldn't call it unpatched, there is a patch out...

<comment><AUTHOR> From the pdf, it looks like there is no patch available for versions <= 6.2.2

From my experience the time to turn-around a product upgrade is typically a lot longer than a security patch. Furthermore, the way the licensing works means that some users may not be able to upgrade; users who are out of their maintenance period need a security patch, not an upgrade.</comment></comment>


You Can Save a Bicyclist's Life – "Dutch Reach" - <AUTHOR> https://www.bloomberg.com/opinion/articles/2019-02-10/-doorings-can-be-deadly-for-cyclists-the-dutch-reach-can-help <comment><USER2> I'm sorry, but bicyclists ride with utter contempt for traffic regulations or even basic common sense. They have met their enemy, and it is themselves.</comment>


Evidence of ancient supercontinent found - <AUTHOR> http://www.upi.com/Science_News/2011/08/08/Evidence-of-ancient-supercontinent-found/UPI-44901312839082/

<comment><USER2> Damn - I read that as "evidence of ancient super_computing_ found" :)</comment>


Attending events as an introvert: Make one meaningful connection - <AUTHOR> http://www.limedaring.com/articles/attending-events-as-an-introvert-make-one-meaningful-connection <comment><USER2> Great advice. I've wasted so much time bouncing around or cutting conversations short because I thought I had to be everywhere. One real conversation is priceless.</comment>