The NSA is turning the Internet into a total surveillance system - <AUTHOR> http://www.theguardian.com/commentisfree/2013/aug/11/nsa-internet-surveillance-email <comment><USER3> They have huge amounts of data. This is good, because now people can analyse it and see how effective the measures are. Spending all that money must have some tangible, measurable, benefit, right? So, show us. Show us how many people have been caught as a result of all this monitoring.

I don't think the results are going to be impressive. See, for another example, the fingerprint collection at US airports.

> _Collect it all_

I wonder how many Americans know about the scheme to collect at airports the fingerprints of visitors to the US?

Here's an article from 2008 ([http://www.reuters.com/article/2008/03/25/us- security-finger...](http://www.reuters.com/article/2008/03/25/us-security- fingerprints-idUSN2538685320080325)), submitted to HN here ([https://news.ycombinator.com/item?id=6196375](https://news.ycombinator.com/item?id=6196375))

> The U.S. government has been collecting digital fingerprints and photographs > of nearly all non-citizens aged 14 and up entering the country since 2004, > officials said, in a Homeland Security program called US-VISIT, at a cost of > $1.7 billion.

> [...] On an average day, almost 14,400 international visitors undergo the > fingerprinting process at Kennedy, officials said.

> More than 2,000 criminal and visa fraud cases have been detected by the > screening process, introduced in response to security concerns following the > attacks of September 11, 2001, U.S. officials said.

Roughly they've scanned fingerprints for 36,792,000 visitors (who may be repeat visitors), and caught more than 2,000 people. (Between 2001/9/11 and 2008/9/11.)

<comment><USER4> TBH I wished the UK fingerprinted all visitors to the UK as well. Might help with illegal immigration.

<comment><USER5> Upvoted because I don't see why you should be downvoted for expressing an opinion, people should engage you via the comments instead. I see your point, but I disagree with the wholesale collection of fingerprints.

<comment><USER3> I'm guessing he was downvoted for the weirdness: Fingerprinting people flying into New York airports on holiday does nothing to prevent people illegally crossing the Mexican / American border.

<comment><USER6> Most illegal immigrants enter the UK conventionally and then do not leave when visas expire. There are certainly some hiding in the back of lorries etc - <USER2> it's not the majority.

So fingerprinting them means for sure that we know they came in. I'm not sure what that achieves though?

<comment><USER7> It would remove the current Catch-22 situation where they can be shown to be here illegally but can't be deported due to lack of a passport indicating their country of origin.

I don't know whether the problem is big enough to warrant this step though.

</comment></comment></comment></comment></comment></comment><comment><USER8> I wish the headlines of these articles would read "The American Government is turning the Internet into a total surveillance system".

Although it seems the government has no control over the NSA or even know what they're up too, it would be good to see the focus of this problem turned to the policy makers.

<comment><USER9> Also, Google and Facebook are turning the Internet into a total surveillance system.

<comment><USER10> We, through our own behaviour, are turning the _World_ into a total surveillance system.

<comment><USER11> Are you a terrorist?

<comment><USER10> What do you think?

For your information, I believe that violence and destruction are counter- productive.

As with most people, I rely on a global system of trade and cooperation for my livelihood. I do not wish to disrupt that. Fundamentally, most people wish to simply get on with their lives; to spend their time, attention and energies on their own job, on feeding themselves and their family, on keeping a roof over their heads, on maintaining their relationships with their friends, and on pursuing whatever it is that makes each of them individually happy.

This political pissing-match is not something that they know or care about. Indeed, the pool is now so polluted, who would want to swim here? We did not ask for terrorists to come here and try to kill us ... just as we did not ask for the authorities to poke their noses into our private lives and threaten us with what they find.

However, as much as I would like both of these groups to go away and sc __w themselves, I have to acknowledge that we have no real choice in the matter. If some random psycho decides he does not like my religion or the colour of my skin, and decides to murder me and my family for it ... well, in all likelihood there is not much I can do about it. Ditto for the machinations of the uncaring zombie bureaucracies that we call the "Nation State".

In truth, we are utterly powerless, and these things are done to us with neither pity nor mercy nor any real thought for us as individuals whatsoever. I do not seek change, for in a massively connected world of billions, it cannot be but like this.

My bitterness and rage are futile; less than nothingness; feeble against the unstoppable forces of inevitability.

The thought that I might get up and _do something_ is laughable -- at best it might tar me with the same disease that infects those responsible for all of this -- _optimism_ , and a horribly, destructively misplaced belief that we have any power whatsoever to alter things.

</comment></comment></comment></comment></comment><comment><USER12> Don't get me wrong, but why is everybody so upset about the NSA when they post everything on Facebook and use Google/Apple/Microsoft?

Are they upset because they lack the choice of who is tracking them? Because I don't think people should be upset about their privacy when they know a company like Facebook already knows everything about you.

<comment><USER13> > Because I don't think people should be upset about their privacy when they > know a company like Facebook already knows everything about you.

The fact that a private company like Facebook knows a lot about you is not a problem as long as the company has a privacy policy and can be held accountable. The problem specifically is _government_ access to the data. Unlike governments, companies like Facebook have never morphed into tyrannies. Facebook does not tax people, it does not prosecute, it does not put people in prison or fine them, it does not drone people, it does not go to war. Unlike Edward Snowden, an ex-Facebook employee who reveals Facebook's secret illegal activities does not have to fear for his life and take refuge in Russia.

<comment><USER14> Facebook knowing a lot about you _is_ a problem.

It is just an entirely separate problem that is only superficially similar to the problem of the government knowing a lot about you.

<comment><USER15> I think it's a bit more than superficially related - in a lot of cases, the only reason the government knows what it does about you is because you turned your personal information into bits and sent it to Facebook.

<comment><USER16> Except for when they do it without you even knowing your sending information to them. If you haven't heard of shadow profiles, then now is the time to learn about them.

And don't get me wrong, I understand that I can do stuff to stop these things, but I don't see why I should have to, quite frankly.

The point is that even if I have never visited Facebook, they more than likely know a lot about me already, unless explicitly going out of my way to stop it.

<comment><USER15> > shadow profiles

Which exist _only_ due to the exact reason I described.

> The point is that even if I have never visited Facebook, they more than > likely know a lot about me already, unless explicitly going out of my way to > stop it.

Well, that's not what I was addressing. "Going out of your way to stop it" is simply becoming educated about what exactly it is we're doing when we use the Internet and societal institutions. Being prudent about what we enter into a form(either real or virtual) is key.

<comment><USER16> > Which exist only due to the exact reason I described. I guess I presumed > that when you said "you turned your personal information into bits and sent > it to Facebook" you meant explicitly.

> Being prudent about what we enter into a form(either real or virtual) is key > I agree. But then again, when I need to go out of my way to make sure that > all of those little 'Like' icons aren't telling Facebook the sites that I > visited, just because my browser loaded them, I think that's a line. Because > where you are being explicit about the form being real or virtual, you also > should be explicit about who or what is 'entering' data into that form... > and even what that form looks like (because a lot of the time, it's just a > lot of parameters attached to an image request).

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> Well, there's only one response to those that would tag defenders of civil liberties as traitors.

There was once a ragtag band of traitors who felt the same way. Their names included: Jefferson, Adams, Hancock, Franklin, and 52 other signers of the Declaration of Independence from England.

One only needs to look at the influence of the British "Star Chamber" on the writing of our U.S. Constitution to understand exactly how our Founders would feel about a secret court with secret evidence chosen by only one man to decide which people get to violate their Fifth Amendment right against self- incrimination every single day... Or worse yet, to have a non-judicial secret court chosen by the executive that decides which American citizens to kill by drone strike.

Regardless of what party or president runs our country, many things must change.

</comment><comment><USER18> The Person Of Interest ([http://www.imdb.com/title/tt1839578/](http://www.imdb.com/title/tt1839578/)) is coming true.

<comment><USER19> Except there are orders of magnitude fewer checks on that power than in the show.

<comment><USER20> What checks does the machine have on it (let alone the Chinese machine that is presumed to exist) its already broken free of 100% human control.

</comment></comment></comment><comment><USER21> This isn't really news at all. It's the guardian regurgitating prior news to make money and HN posting it to re-explain what we all already know and agree upon. I hope the next story on the NSA involves someone inventing something to fix our problems. The best news I read all day was: [https://gnunet.org](https://gnunet.org)

<comment><USER22> Yea it's a shame that Snowden risked so much just so that a newspaper could rewrite the same story 50 times. We could use more leaks and less grandstanding and posturing.

<comment><USER23> It's completely not the same story. NYT's "unnamed government official" claims much more than any other story explicitly claimed before. Have you tried to comprehend and compare? Guardian was able to show that UK services collect everything it goes through their nodes, nobody up to 8.8.2013 was able to say so about US, especially not that all the data are automatically searched through, including those of US citizens, theoretically protected by the Constitution.

</comment></comment></comment><comment><USER24> Reading between the lines of various NSA statements, it seems like they interpret the relevant sections of the Patriot Act and FISA Amendments Act to only apply to "collected" data, and "collected" data they consider only that which a _person_ looks at and stores. Apparently, they think that the restrictions imposed on them don't apply to automated machine reading of data, or any data that might possibly (51% or more) have a foreign source or destination.

Since they define the criteria for what is "interesting", it gives them the ability to inspect essentially all of the data they collect, and there is at present no real check on the loosening of what constitutes "interesting" over time.

</comment><comment><USER25> Turning? I think the tense might be slightly wrong. Has turned.

</comment><comment><USER26> I wish there were more emphasis on human rights for worldwide citizens rather than on the 4th amendment. But maybe the goal is to target US public opinion so that they do something about this.

</comment><comment><USER27> Americans control you're government, it is out of control.

Regards, the rest of the world.

<comment><USER28> Your.

<comment><USER10> Actually, lots of state security services are doing the exact same thing. Many are much much worse.

America is the only country (so far) to have somebody brave and public spirited enough to stand up and blow the whistle, and the only country (so far) to have politicians with enough gumption and common sense to make the requisite fuss, and to start to stand up against the encroaching tide.

It might be ugly, but it sure beats the silent acquiescence we see elsewhere.

In other words, America is the _only_ country where the political system is _actually_ working to protect the general population against an overreaching security state.

As far as I can see, that puts America far far ahead of the rest of the world, thank you very much.

<comment><USER29> There are german politicians that propose to take extreme measures such as banning US companies if they don't comply with stricter regulation. And you'll see there's a lot of other stuff going on in Europe. Of course you won't hear about that in your US-centric media.

<comment><USER10> OK, Fair enough -- to an extent. (Although I am not actually American).

</comment></comment></comment></comment></comment><comment><USER30> Expect more revelations, as the "cross-border" criterion for information capture disappears from the debate.

All communication will be captured all of the time.

The upshot -- we have the best excuse in years to begin purging our ruling class. Does the NSA have dirt on them? Did Snowden manage to get some of that dirt and hand it over to Putin?

Probably not, but as the mafiosi in Casino said, why take the chance?

</comment><comment><USER31> Along with wearable and/or implanted devices and a little bit AI this could become the prototype of the Matrix...

</comment><comment><USER32> Looks like the Guardian got hacked. I clicked, saw the article header, but was then redirected to a NSFW ad for Teen Party Sluts.

<comment><USER33> You may want to check your computer for viruses/trojans, disable toolbars.

</comment></comment><comment><USER20> says the site with 17 sets of tracking code on the home page :-)

</comment><comment><USER34> What good is a panopticon if you can't make sense of what you're looking at?

<comment><USER10> You don't have to make sense of it. All you have to do is scare people sh*tless.

</comment></comment><comment><USER35> I question why HNs sole source of information seems to only be The Guardian.

<comment><AUTHOR> It's the NSA-related articles that often come from The Guardian. That's simply because this paper is the window for Snowden (not sure if they have an exclusive agreement, maybe). They have the balls to stand behind him, unlike a lot of other outlets.

Also, know that the rest of the main stream media don't seem to like the idea of discussing this mess and any possible solutions - probably b/c they're ultimately controlled by influential politicians or other moneyed interests.

<comment><USER36> Actually, MSM has been covering Snowden and his leaks fairly consistently since they occurred. Perhaps you should watch Fox News or CNN before you go off making unsubstantiated claims.</comment></comment></comment>


[thesis] Cross Platform Language Design in Scala.js - <AUTHOR> http://lampwww.epfl.ch/~doeraene/thesis/ <comment><USER2> Author here, in case you have any question ;)

<comment><USER3> Congratulations!

<comment><USER2> Thanks :)</comment></comment></comment>


Ford tops the list of automated driving leaders in new study - <AUTHOR> https://techcrunch.com/2017/04/03/ford-tops-the-list-of-automated-driving-leaders-in-new-study/ <comment><USER2> Like I said before, you can't turn an aircraft carrier on a dime but when it finally comes around you've got a f __king aircraft carrier.

The established players in the auto industry noticed Tesla a few years back, began writing checks and now the ship has come around and they're closing the gap.

<comment><USER3> I don't have any sources to back this up but I don't think that worries Musk. I don't think he's actually overly concerned about _Tesla_ succeeding at self driving cars, or electric cars.

Musk wants the self driving car _industry_ to be better. He needs those technologies to be significantly better for his interplanetary ambitions to be realised.

The solar roof, the power bank, all of the other endeavours he is engaged in are all intended to catalyse the industries that he's rattling the cage of. He'll need them on Mars and they're not good enough at the moment.

Ford winning at self driving cars is a good result for Musk.

<comment><USER4> I think GP was talking about winning autonomous cars. While it might be the case Musk isn't concerned, that's a bad result for 30,000 other employees who are more invested than Musk in the success of their company.

</comment></comment></comment><comment><USER5> This was a couple years ago (and I apologize for not being able to find a source), but I heard an interview with a Ford exec about the limits of adaptive cruise control and collision avoidance and he basically said: "Our drivers don't want that. They want the control of their own vehicle."

And not that it's set in stone, and not that organizations can't change, but in general it sure seems like Ford and the other big automakers don't want self driving cars.

Partially, it's a concern that they'll see their existing model torn to shreds if self driving cars become the basis for much more efficient on demand or fractional ownership car usage.

And I think partially it's that the designers, engineers, exec's at Ford are "car people". They love driving cars, they see a romance to them ("the open road"), they have "daily drivers" and "my pride and joy" type of relationships with their cars.

If nothing else, it's abundantly clear that Tesla is coming at this from a whole different direction.

<comment><USER6> Are you sure? From where I sit, it looks like Tesla is just offering a traditional car with a different set of organs. They don't seem to show any signs of doing anything different than ford on the sales/direction angle.

<comment><USER5> Here's the things that seem different to me:

\- No dealerships

\- Supercharger network (It started as free, but now it's moving to pay/minute usage). I expect that in the years to come it will become a profit center.

\- Powerwall battery + solar roof integration

\- Tesla seems to have more cars on the road doing some level of autonomous driving now than anyone else. I think that real world experience and data counts for something.

<comment><USER7> No dealerships isn't an innovation.

I do find it ironic that those that complain about Uber "violating the law" when it comes to taxi services seem to have no problem not complaining when Tesla attempts to subvert many state laws against direct-sales. For the record, I think Uber should challenge ridiculous anti-competitive regulations just as Tesla should challenge ridiculous anti-competitive regulations.

But you can't cheer Tesla fighting the law while condemning Uber for doing the same and stay intellectually consistent.

Dealership laws were passed ostensibly to 'protect the consumer' just as taxi regulations were passed for the same reason. In reality, both types of laws don't protect anyone -- except industry incumbents.

<comment><USER8> It does appear that Tesla is a little more deliberate than Uber in that regard. They do comply with court orders, they have been trying to fight the laws in court and the legislature as a first option instead of as a, "we got caught, sorry" option. It's also unclear that Tesla is particularly opposed to regulation in general, whereas Uber has essentially resisted any regulations (say, fingerprinting or deeper background checks or employee/contractor designations) at every turn. Uber (until recently) wouldn't even pay a nominal fee to test autonomous vehicles!

</comment></comment></comment></comment></comment><comment><USER9> Reports like this are meaningless, because they make up arbitrary categories, and then assign them arbitrary weights. This one is especially bad because it has categories that are almost impossible to judge objectively, like "Strategy".

Reminds me of San Francisco's report on the Central Subway. They created eight categories, equally weighted, of which one was "cost". Of course, everything in construction trades off against cost. So the most expensive option always came out ahead, because it "gained" in seven categories but "lost" in one.

</comment><comment><USER10> "The annual survey looked at 18 different companies, smeared across 10 different criteria, ranging from strategy, to core tech development, to manufacturing capability and staying power, and a company that's over 100 years old ended up leading the list."

Why does 'manufacturing capability and staying power' correlate to 'potential in the world of autonomous driving'? It doesn't matter if you can pump out a thousand cars an hour if they crash a mile down the road. This should be based on core tech development only..

<comment><USER11> The inverse is also important. If you "invent" the best tech possible but have no way to get it onto the road -- is it the best?

<comment><USER10> I get that. It just seems like that specific metric could have been over- weighted seeing as how Ford and GM were at the top of the list..

<comment><AUTHOR> I think GM deserves to be at the top of the list. Cruise is very quickly closing the gap between themselves and Waymo, and they have a comitted car company to back them up. The jury is still out as to whether Ford can make good headway on their 'secret sauce', which is now in the hands of Argo.ai.

<comment><USER12> Yeah, Cruise seems to be doing a great job. Argo has a great founding team, but there are still a lot of things that can go wrong. While I'd give Argo the edge in technical competence (I realize that's not a very meaningful statement considering the age of the company), what really matters is building the right product at the right time. You can have a ton of great engineers and still not accomplish much in the market - just look at Waymo and Uber.

The way I see it, at least in the US, it's really GM vs Ford (which is Cruise vs Argo). Waymo has a management crisis and lost most of their top talent, and Uber is hemorrhaging talent (and money). Apart from that there are various startups but I don't believe they'll ever get the money necessary to compete with the big players - even Google gave up on that front.

Outside the US I'm excited to see what happens with Volvo, which says they'll have 100 stage 4 vehicles delivered to customers by the end of the year.

</comment></comment></comment></comment></comment><comment><USER13> > During the past year, Ford has invested in Civil Maps, Velodyne, and > autonomous AI startup Argo – plus it acquired Chariot, and algorithmic > platform startup SAIPS.

Plus they actually make cars, that's apparently why they are highly ranked. But their investments have yet to bear fruit, we will have to wait and see.

</comment><comment><USER14> The only relevant data you could possibly look at is the disengagement reports they are legally required to provide. And looking at those, it's Google... and then nobody else for a long, long, long time.

</comment><comment><USER15> Then I guess Telsa marketing dept > Ford marketing dept.

</comment><comment><USER16> I dont have deep knowledge of this but wow, what a laugh this is. Tesla has a huge fleet of vehicles that its training with. Ford bought some lidar stuff. Yeah, once you have an aircraft carrier on your tail its big trouble but ford has directed their aircraft carrier in the completely wrong direction. An aircraft carrier is useless without a captain.

</comment><comment><USER17> I know this isn't normally the forum for these sort of comments, but is anyone else put-off by how this story occurred the same day as the 'Tesla overtakes Ford' story?

</comment><comment><USER18> Time to long Ford.

</comment><comment><USER19> I'm hoping people here are smart enough not to actually believe this nonsense. Tesla is BY FAR the leader in autonomous driving

<comment><USER14> This is the leaders performance on actual production hardware outside of fancy (postprocessed) videos with their "cameras only" approach:

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

At this point I don't even care if they theorethically are the best, if they are willing to release this dangerous crap they are sooner going to go up in a big publicity fire than get actual autonomy to customers.

<comment><USER20> This is an old outdated and out of context video. I just drove 150 miles this weekend using AP2. It works pretty well.

<comment><USER14> It's February, hardly outdated. Did you drive on residential streets, as in the video, or highway?

See, highway "autopilot" debuted in upper class Mercedes Benz some 10 years ago..

<comment><USER19> Feb was before 8.1 software update which has significant AP updates. So it is outdated.</comment></comment></comment></comment></comment>


Write code that is easy to delete, not easy to extend (2016) - <AUTHOR> https://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to <comment><USER2> The unfortunate side effect of this (very good) advice is that all code that's easy to delete will eventually be replaced with code that's hard to delete (and thus will eventually be impossible to delete in order to be replaced with something better).

<comment><USER3> Many people argue systemd is an example of code that's easy to delete being replaced with code that's hard to delete.

They've deleted init, the dns client, dhcpd, the whole xdm family, various small open desktop protocols, kernel-level file permissions enforcement on certain device files, rsyslog, countless shell scripts for running background tasks via ssh, and I'm sure hundreds, if not thousands, of other well- modularized programs. None of the collateral damage is in subsystems related to init. Instead, it is subsystems that worked well, but that were easy to delete.

One the other side of the coin, look at all the effort people are spending to rip systemd out. Multiple Linux distributions exist solely to contain the damage it's doing.

It's unclear if gnome will even survive the war if systemd loses.

It's also wasting the time of end users, so the damage can greatly exceed the total resources put into building Linux distributions.

A few days ago, I ran an "apt-get fullupgade" on my headless Raspberry Pi, and some systemd subsystem wedged during the upgrade. Now networking is broken. I want to use this raspberry pi in an embedded I2C application that run for last decades. So, I need to find an operating system that:

(a) doesn't use systemd - fool me once, shame on you, fool me twice, well this is well past the second time.

(b) runs on raspberry pi

(c) has userspace tools to work with the i2c bus on the pi

(d) has a working upgrade path.

This is a huge pain, and it's all to delete one software package that I don't even care about, and that is irrelevant to the use case for this machine.

/rant

<comment><USER4> > _some systemd subsystem wedged during the upgrade. Now networking is > broken._

All software has problems. Without specific details, blaming your problem on systemd specifically seems just as unreasonable as blaming "Linux" or even "Unix". In fact, in past years during the old OS wars, there were many such rants, blaming "Unix". (See for instance _The Unix-Haters Handbook_.) Become a curmudgeon, and idolize the past, at your own peril.

I recommend, instead, to live in the present, to use currently normal software, and to fix every problem as it appears. Ceasing to upgrade permanently (possibly by moving to an obviously dead-end fork) is _never_ a sensible option in the long run.

<comment><USER5> Don't bring the _Unix-Haters Handbook_ into this. A fun, self-consciously curmudgeonly romp like that has about as much in common with the systemd debate as P.J. O'Rourke does with Bill O'Reilly.

<comment><USER4> I don't know who any of those people are.

</comment></comment></comment></comment></comment><comment><USER6> This was part of the initial idea of extension. David Parnas' 1970's paper that popularised the term was called _Designing for the Ease of Extension and Contraction_ where "ease of contraction" refers to _subsettability_ , i.e. removing parts of the code without having to change other parts.

These original papers are well worth a read!

<comment><USER7> Thanks for the reference. I've read some of his writing, but had not seen this one. I've submitted it here [0].

[0] [https://news.ycombinator.com/item?id=23917627](https://news.ycombinator.com/item?id=23917627)

</comment></comment><comment><USER8> I think that one possible problem with the 'O' in SOLID (open closed principle) is spending excess time second guessing future modifications to the code. The examples are always clear cut, but in the real world it sometimes doesn't work out that way.

OTOH I'd say that the 'L' is worthwhile (Liskov substitution principle) as inheritance can be abused as a kind of 'version control' for functionality, and LSP helps guard against that.

<comment><USER9> Some time ago I worked exposing an API that, given that it was constantly evolving and different partners adapted to it at different paces, we had to support a wide range of versions of it, which was basically what you say as version control.

I'm not gonna say it was pretty, actually from a design perspective it was disgusting, but from the perspective of handling a dozen versions of the same code in the same application, it was certainly very sane.

For example, at some point we supported versions 2.0, 3.0, 4.0, 4.1, 4.2, 4.3 and the freshly new 5.0. They inherited this way: 2.0 -> 3.0 -> 4.0 -> 4.1 -> 4.2 -> 4.3 -> 5.0, easy enough.

One day decide to deprecate version 2.0.

What happens is we consolidate 2.0 code in 3.0:

1\. If a method calls super, copy + paste from 2.0 its place. 2\. If it's overridden, there's nothing to do. 3\. Run unit, regression tests, on the remainder of the versions and fix anything that might have been missed. 4\. Delete 2.0 code.

The end.

If we need to fix a bug introduced in 4.1, you fix it there and it gets fixed automatically for the rest of the higher versions.

<comment><USER8> Sounds reasonable, I should really have said 'informal version control' where it's used to get stuff out the door and piles on technical debt as well :-o

</comment></comment></comment><comment><USER10> The author has a followup:

"Write code that's easy to delete, and easy to debug too."

[https://programmingisterrible.com/post/173883533613/code- to-...](https://programmingisterrible.com/post/173883533613/code-to-debug)

</comment><comment><USER11> This guy has a talk too with the same kind of tone about the whole industry.

Had a good laugh when I was starting out.

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

<comment><USER12> Here's his github too, if anyone's interested. Fairly prolific to say the least:

[https://github.com/tef](https://github.com/tef)

<comment><USER13> most of the commits are empty

[https://github.com/tef/0.0/commit/59575ac7d888c60eb043fe3b3c...](https://github.com/tef/0.0/commit/59575ac7d888c60eb043fe3b3c4a7f3057a31165)

<comment><USER14> Yeah, that's the joke....

</comment></comment></comment></comment><comment><USER15> Microservices tip for this: Don't put code into a shared library without careful consideration of the consequences. Even if it is used in multiple services, consider duplicating it instead, and compare the risks and trade- offs compared to putting it in a shared library.

Common scenario:

New developer: "I'm done refactoring the implementation of the BingBong class in the shared library. It was a lot of work to change and test all the frobnicateXxxx methods!"

Manager: "Wait, I thought none of our services do any frobnification?"

The old hands discuss: "They don't. Not anymore." "Are we sure? Perhaps the Foo service we haven't touched since last year?" "No, the Foo service never did." "Let's search the repos. Maybe we can delete some of these methods." "This is weird. We have seven different frobnicate methods, and we never needed to support that many different kinds of frobnification." "Of course. It's such a pain to roll out a new major version of a library, you don't want to change anything existing." "Do you remember when the rendering service was stuck on version 3 of the auth library? It was because we removed a method from the auth library and rolled out 4.0 without it. Turns out it was being used on a feature branch in the rendering service that got merged right before the release." "I remember. I'm the one who had to roll out version 4.1 the next day with exactly the same code as version 3.7."

There's a simple way of understanding how stories like this happen, and a simple conclusion: Once functionality is added to a shared library, changing it requires much more care. Therefore, shared code is much more expensive to maintain than non-shared code. This is why it makes sense to ask a question like, "Which is cheaper in the long run, maintaining three non-shared copies of this code, or maintaining one shared copy?"

<comment><USER16> Yup, I'm a big believer in applying the rule of three ( [https://en.wikipedia.org/wiki/Rule_of_three_(computer_progra...](https://en.wikipedia.org/wiki/Rule_of_three_\(computer_programming\)) ) for moving code into a library as well. I find if I create an API with just one or two examples in mind, it often doesn't turn out to be as general as I thought it would be. By the time I've done something three times, I have a much better idea of what the different use cases will be.

</comment></comment><comment><USER17> This reminds me of a talk Greg Young gave called "The Art of Destroying Software".

[https://vimeo.com/108441214](https://vimeo.com/108441214)

<comment><USER18> One of my all time favorite talks in software.

</comment></comment><comment><USER19> I wholeheartedly agree with "don't immediately jump on the modularize and abstract everything right away".

I think that "modularization and abstraction is always and uniformly good" is one of the big lies of our profession. It's easy to see how it's attractive : programming is intellectual work, and displaying capacity of abstraction is rewarding. I was extremely enthusiastic about that stuff when I was young, too. Then I got to school to get a CS degree, and it only reinforced it.

Now that I have some years of experience, let me talk to you about my last job. It's a web app like most of us (I think) are doing. Backend in node. Frontend in react. The client was extremely unhappy about the delays and cost of their current contractor (weeks and 4-digit invoices for simple features), they wanted us to in charge of the app.

As soon as I received the source code, I looked at the backend part. It was incredibly clean for the standards of my younger self and CS teachers. Each class in his own file. You had one routes/_index.ts file that just included routes/users/_index.ts for /users, routes/blog/_index.ts for /blog, and so on (recursively: you would have routes/blog/comments/_index.ts too). routes/*.ts would be just that, declaring routes. Code was cleanly separated and implemented in controllers (controllers/users/_index.ts, and so one). Of course the controller didn't directly used the ORM, there was intermediate DAO classes to do that.

Very clean. Also, changing the slightest things required to go through 5-6 files. May god save your soul if you wanted to change more complex stuff.

I discarded everything. Most of the code now lies in /app.ts, which contains all routes. Each route is directly implemented in this file (no separate controllers) and directly calls the ORM (no DAO), except one which does complicated stuff and has his own implementation file.

Loccount on my "ugly, not modular" backend, which, incidentally, has many more features (that the client wanted for months but the previous contractor couldn't implement for a reasonable price/time). And ~1/3rd of those lines are just some CSS assets moved from the frontend to the backend because we needed them for the mailing list:

all SLOC=2284 (100.00%) LLOC=0 in 13 files

Loccount on the "very clean" backend of the previous contractor:

all SLOC=12507 (100.00%) LLOC=0 in 262 files

Now, don't get me wrong. Abstraction and modularization are not uniformly and always bad. But they have to make sense. Don't write and organize a 2k LOC project the same way you would write and organize a 100k LOC project — or you'll end up with a 500% overhead in LOC that WILL translate to a 500% higher burden of maintenance.

I just wish school taught me that, or that my younger self could have been clever enough to see it by himself.

<comment><USER6> > Also, changing the slightest things required to go through 5-6 files.

That is a sign it was incorrectly modularised. Good modularisation means high cohesion and low coupling. Having to make changes in multiple files means the opposite.

Don't rack on modularisation (great concept!) when your only experiences are of bad implementations of it. (Which is not surprising, because most people do get it wrong.)

Maybe the takeaway is "better not do it at all than do it incorrectly."

More concretely, the code you describe seems to have suffered from the awful common implementation of the model-view-controller pattern, where module boundaries are based on technical implementation details (routes are their own module, pages their own, controllers their own, etc.) This looks "clean" when you are inexperienced, but it is contrary to all good modularisation.

Module boundaries should be based on business domain concepts, not implementation details.

<comment><USER20> That sounds like myriads of programmers have done it wrong for decades. Can you elaborate on this and maybe add a few sources?

<comment><USER21> If you have to change in 5 places to change one "thing", the code is probably not DRY.

<comment><USER22> You have 5 places in code where you draw a blue rectangle:

        drawRectangle("blue", x0, y0, x1, y1);

Do you refactor them into drawBlueRectangle(x0, y0, x1, y1)?

It seems you removed the duplication but you didn't. Because if you now have the requirement to draw red rectangles instead you surely won't leave it as

        def drawBlueRectangle(x0, y0, x1, y1):
            drawRectangle("red", x0, y0, x1, y1)

So instead of changing 5 places you now have to change the invocation in 5 places and implementation in 1 place.

You can argue it's because you named it wrongly, it should be "drawWhateverThingTheyHaveInCommonRectangle" instead, for example drawHighlightingRectangle. And you'll be right.

But you don't know if they will have that thing in common forever. And splitting the code is harder than refactoring it, so it often leads to code like this:

         def drawHighlightingRectangle(someDecidingFactor1, someDecidingFactor2, x0, y0, x1, y1):
             if someDecidingFactor == something && someDecidingFactor2 != somethingElse:
                drawRectangle("red", x0, y0, x1, y1)
             elif someDecidingFactor2 == somethingElse:
                drawRectangle("blue", x0, y0, x1, y1)

This code may seems ok, but it tends to grow business logic inside, and you don't immediately know what combinations of deciding factors are actually possible without looking at all the invocations. So either you look at all the invocations before implementing your change (and then the refactor didn't actually save you any work - what does it matter if you look at code and change it vs just look at code and change stuff elsewhere), or you ignore the invocations and add your change in isolation (probably writing code that is redundant and overcomplicated because you handle cases that cannot happen).

This is obviously oversimplified example, but I've done these exact mistakes several times :)

<comment><USER23> I think you should ask yourselves _why_ you are drawing blue rectangles. What is their purpose? Do they just happen to be blue? Or are they blue because they have they all "do the same job"? Maybe you should have

drawInlineHelpBox(x0, y0, x1, y1)

or

drawEnergyShield(x0, y0, x1, y1)

We can see from the language that unlike your example this is a true abstraction. You went from color parameter to a specific color. It's both phrased in terms of colors.

But here we go from color to ui elements. The terminology is completely different.

         def drawEnergyShield(shield_capacity, incoming_dps, x0, y0, x1, y1):
             hue = incoming_dps / shield_capacity
             alpha = shield_capacity / 200
             drawRectangle(hsva_color(hue, 1, 1, alpha), x0, y0, x1, y1)

And I think you should embrace having business logic in there.

</comment></comment></comment></comment></comment></comment><comment><USER24> Discussed at the time: [https://news.ycombinator.com/item?id=11093733](https://news.ycombinator.com/item?id=11093733)

</comment><comment><USER25> Apropos, the author is currently looking for work: [http://tef.computer/](http://tef.computer/)

</comment><comment><USER26> A Philosophy of Software Design - John Ousterhout

</comment><comment><USER27> This is the essence of a variable. (physical) engineers probably know that more tangibly than coders.

</comment><comment><USER28> The articles structure makes it difficult to comprehend.

</comment><comment> stef-13013 Very funny :)

</comment><comment><USER29> Fun read, but does anyone actually change their coding practices based on high-level essays like this? HN seems to be filled with a highly opinionated bunch, and I question the point of these musings.

<comment><USER30> I find value in essays like that even if they don't make me write completely different code tomorrow. Having design consideration clearly laid out and discussed is really helpful, imo. (Of course that varies with how effective the essay is at conveying its points and how relevant the points are to me to begin with.)

Maybe I've been thinking about similar things myself but never got around to thinking it all the way through or formulating actionable conclusions. Then reading the essay is just like having bits and pieces fall into place in my mind and having disorganized thoughts finally make sense, like a shortcut through the whole mental bureaucracy of forming opinions.

Maybe I've been having a disagreement with coworkers about something the essay discusses. Then reading the essay may open up a new perspective on the issue, or introduce terminology that helps us discuss things more clearly, or at least validate that we're discussing something meaningful that other people have also had to think about.

Maybe I've already been doing exactly what the hypothetical essay advocates for! But I've always felt kind of bad about it because I couldn't convince myself that I'm doing it for a good reason, and now the essay is making me feel better about myself.

Maybe the essay is completely wrong, but it's wrong enough that it provokes an expert into writing an enlightening comment on the details on why and how it's wrong, and how to be less wrong.

More people should write more essays, even if they don't end up as seminal blogposts that are cited for decades to come.

<comment><USER31> Perhaps you are using your intuition. I do let it guide me without overanalizing every decision but more like feeling it. Programming is also an art and intuition can play a bigger role in it. Engineering is the organized form but built on pre-existent ideas enforcing helpful boundaries.

I think when faced with too many slices in decision-making and decision considerations as you put it, it could become overwhelming especially if one is not completely sold on a certain ideology/opinion to fight for. Thats where intuition can be a good guide. However, intuition can do only as much, it needs to feed off at times with some external input such as this type of opinionated articles.

</comment></comment></comment><comment><USER32> Missing (2016).

<comment><USER24> Added. Thanks!

</comment></comment><comment><USER33> I have to confess, I was a solid halfway through before I realized it was satire.

<comment><USER34> You missed the Sarte quote about programming in C at the top then.

It's at least good satire, it's so close to the real kind of article it apes.

<comment><USER35> Not satire so much as an ironic dialectic - a progress through a series of (decreasingly?) daft ideas

<comment><USER30> Which ones are daft?</comment></comment></comment></comment>


FCC Eliminates CableCARD Support and Reporting Requirements [pdf] - <AUTHOR> https://ecfsapi.fcc.gov/file/0904136726879/FCC-20-124A1.pdf <comment><USER2> Wow I remember CableCARD from back in the days when TiVos were popular and Cable TV was transitioning to digital only service.

I always felt that CableCARD was an over-engineed solution to what feels like a simple problem - essentially it ships a cablebox inside a card that can be inserted into another cablebox type thing - all to support the massive DRM based empire cable companies have built.

To me it seems like there are simpler and more cost effective solutions, and from what I've heard from people who've used CableCARDs - probably more reliable solutions.

I'm not surprised that they didn't catch on, but I am a little disapointed, because for all their faults, there was at least an attempt to make digital cable services interoperable.

<comment><USER3> > To me it seems like there are simpler and more cost effective solutions, and > from what I've heard from people who've used CableCARDs - probably more > reliable solutions.

Would be curious if you name any. Until content is available outside of cable networks (i.e. OTT streaming) I'm unaware of anything short of a power hungry Comcast like cable box that one would also have to rent.

The FCC PDF also mentions other devices, but doesn't elaborate.

</comment></comment><comment><USER4> I purchased an ATI-TV Wonder Digital Cable Tuner[1] in 2010 and hooked it up to my HTPC which was connected to TV so I can use my Windows 8 PC Media Center edition as a DVR. I watched TV like that for 8 years and enjoyed every minute of it.

[1] [https://www.cnet.com/products/ati-tv-wonder-digital-cable- tu...](https://www.cnet.com/products/ati-tv-wonder-digital-cable-tuner- digital-analog-tv-tuner-video-capture-adapter-usb-2-0/)

<comment><USER5> I wrote a big massive Wikipedia article on cablecard & it's our standards, spent days writing it, then had it deleted as not relevant. Lol.

</comment></comment><comment><USER6> A former coworker had a cable card. It was a pain to get set up and only through stuborn persistence was he able to get it set up and working. I think he filed and fcc complaint to get the cable company to talk to him about it (this was years ago) Eventually it stopped again and he gave up.

Great idea, terrible implementation.

<comment><USER7> I have a Tivo Bolt. Getting the cablecard was a nightmare. I had 4 technicians come to my house (yes to install a cablecard). I got placed on hold for 90 minutes. I told them they were acting in bad faith and things started to turn around.

What this suggested to me was my box rental (small increase over the cable card rental) and my viewing history were worth the price of those technician visits and tech support time. For me it was certainly worth it.

For the record, Tivo is one of the best television experiences. I did return the cablecard a year or two ago and use it OTA only.

</comment></comment><comment><USER8> Alternate opinion based document title:

Cable TV industry successfully lobbies Republican controlled FCC in an effort to kill an antiquated standard that did not allow for the collection and monetization of users' viewing habits.

</comment><comment><USER9> The support was largely a joke in the US... Devices/cards were incompatible, some content was completely unavailable via cableCARD boxes and I gave up... I only have "TV Streaming" through Hulu because of my fiance, and I feel guilty downloading the stuff without having a sub... but I tend to lean towards downloads anyway.

</comment><comment><USER10> I'm actually okay with this, unlike most of the other FCC regulations. Technology marches on. With OTT streaming solutions like Hulu Live TV, Sling TV, and Youtube Live, you're not stuck with your cable provider and they all offer "cloud DVR". Besides, for almost being everything but sports, you can watch On Demand.

Now they just need to get rid of data caps - AT&T doesn't have them with their gigabit plans ($70/month), but most people with cable plans aren't so lucky.</comment>


Linked Out: why I'm getting off of LinkedIn - <AUTHOR> https://www.jessesquires.com/blog/linked-out/ <comment><USER2> I used to think LinkedIn was kind of silly, but these days I think it's what you make of it. I work in public sector digitalisation in Denmark, and in my experience, LinkedIn is the single greatest tool to connect with managers and decision makers, and in my anecdotal experience LinkedIn is crawling with those.

As an example of what I mean by this. I was the main developer for a set of Enterprise Architecture principles for implementing new software at the municipality where I work. I sometimes write articles about what I do, and because I still haven't gotten around to building that personal web-page of mine, I typically publish my articles on LinkedIn. This particular article was noticed by a lot of people, including a manager at our "trade organisation" (not sure what the correct term for a public sector trade organisation is in English) and as a result I was invited to work on our national standards for enterprise architectural principals for municipalities.

I would have never had that kind of connection without LinkedIn.</comment>


Motivational posters for your startup with a designy twist - <AUTHOR> http://deptofmotivation.com

<comment><USER2> Not a sarcastic question: Are these just black backgrounds with white text, or is stuff not loading for me?

</comment><comment><USER3> So, like Startup Vitamins but with more black?

</comment><comment><USER4> This is a great idea!</comment>


AWS Import/Export Enters Unlimited Beta, Adds Export for Amazon S3 - <AUTHOR> http://aws.amazon.com/about-aws/whats-new/2009/08/13/AWS-Import-Export-Unlimited-Beta/ <comment><USER2>
        Never underestimate the bandwidth of a station wagon full of tapes
        hurtling down the highway. —Tanenbaum, Andrew S. (1996)</comment>


Verizon iPhone can't handle data and voice simultaneously - <AUTHOR> http://www.tuaw.com/2011/01/11/verizon-iphone-cant-handle-data-and-voice-simultaneously/

<comment><USER2> Breaking news: CDMA iPhone has same network restrictions as every other CDMA device.

I never really have a need for voice+data personally.</comment>


Show HN: PileMd – Markdown note app, think with you - <AUTHOR> https://pilemd.com/ <comment><USER2> Where are the notes actually saved, and are they text files? (Downloaded on my Mac, built a note and can't find it in the Finder)

<comment><AUTHOR> Thanks for your feed back! Notes will be saved internally (on LocalStorage). If you need text files, right click notes or folders and select 'Export notes'. (Now I want feature to sync with Dropbox throught the API)

Do you think saving to local files is more intuitive?

</comment></comment><comment><AUTHOR> Hi, I'm creator of PileMd. Do you have any opinion or feedback? I'll answer for everything. It seems some people tried PileMd (Really Thank you). How about it? anyway, Thanks for checking it.</comment>


The San Francisco Bay Area in the Second Gilded Age - <AUTHOR> https://medium.com/@kimmaicutler/slidedeck-the-san-francisco-bay-area-in-the-second-gilded-age-ae28ea9d3c91#.jl9yfvu9b <comment><USER2> I'd love this person to actually write a paper on this topic, lots of research, lots of slides, a bit disorganized in the presentation. If there is a paper I would be inclined to read it.</comment>


Today is Esperanto Day – here's why I learned it - <AUTHOR> https://martinrue.com/zamenhofa-tago-18/ <comment><USER2> Perfect occasion to ask something that I didn't know who to ask: does anyone here knows if it has ever been tried to "simplify" the visual aspect of Esperanto, by getting rid of all accents? (ĉ, ĝ, ŭ, etc.)

I'm a French speaker and I know some Spanish, so I should be used to accents and maybe biased towards the idea of having them as part of a language, but on the contrary, I love that English has none:

\- Accents make a language look more complex at first glance, and therefore less appealing to beginners (my opinion).

\- They make it harder to learn and type in the language on a keyboard, even a virtual one. In my case, choosing a language for a keyboard is a big deal.. French one so that accents are easy to type, or English so that code is easy to type? (I chose the latter).

I'm gonna risk a comparison here: it's a bit like programming languages syntax, you can build an app with either Objective-C or Swift, but I suspect many beginners would find Swift's syntax a bit less intimidating. Similarly, someone looking at Esperanto might be immediately put off by seeing that they will have to learn to type ĉ, ĝ, ŭ, etc.

I would love to see someone refactor Esperanto's syntax to remove its accent while still keeping its capabilities.

1\. Is that even technically possible, or would that imply making words too complex or adding new letters?

2\. Has this idea ever been debated, could I read about it anywhere? (on a public forum/wiki maybe?)

Thanks!

\</comment><comment></comment><comment></comment><comment></comment><comment>----

Edit: Thank you for your answers! So Esperanto has indeed been changed, and each "constructed language derived from Esperanto" is called an Esperantido.

\- [https://en.wikipedia.org/wiki/Reformed_Esperanto](https://en.wikipedia.org/wiki/Reformed_Esperanto) (this version has been created by Zamenhof himself and removing the accents is part of the proposal.

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

Would love to see a new crowdsourced and open-source reform on Github, in 2019!

<comment><USER3> For accents to be removed, there can't be any ambiguity. For instance, in Spanish, the words cómo and como, or the many forms of "porque" (with very different meanings) are a source of confusion for many speakers. This wouldn't be any easier without accents. I think that a language would have to be designed from the ground up to get rid of accents for this to be possible.

<comment><USER4> A funny thing happened in Slovenian, particularly colloquial Slovenian. We have accents. Many accents. Each vowel has several different pronunciations and sometimes those completely change the meaning of a word. Or they make the text flow better. Or it's an accent thing.

Either way the language has many accents in writing.

But over time, those accents are disappearing. Written Slovenian from the 19th century is absolutely littered with them. Modern Slovenian in colloquial writing is starting to lose even the č, š, ž accents.

Interestingly, people don't compensate with things like cz, or ch, or cx. They rely on context informing the reader how to pronounce a word.

I believe the loss of accents on vowels happened because they're not _that_ necessary. The loss of č š ž is happening because of computers. Takes an extra keypress to type those. On iOS/Android it takes a long press and who has time for that when typing a text? Nobody. So we don't.

Could Spanish not work similarly? Do Spanish people write out all the accents when sending a text?

I know my French girlfriend doesn't always write all her accents and French is also chock full of accents.

<comment><USER5> I could be wrong, but don't people have autocorrect on their phones that will correct the character based on context? Is that even possible?

Lets say somebody wants to say "how I eat" in spanish. The correct way to do it would be "cómo como". "cómo" means how, and "como" means "I eat". I wouldn't make sense to say "como cómo", so therefore, autocorrect should, in theory, feel free to correct all instances of "como como". Only until it becomes an international household brand name will this ever be a problem- for this one phrase at least.

<comment><USER4> Afaik autocorrect doesn't work for Slovenian. And even if it does, most people I know have it disabled because our colloquialisms use a lot of English, some German, plenty of Serbocroatian, and sometimes Italian. We often spell those loan words our own way.

This combination of languages and intentionally incorrect spellings makes autocorrect total trash.

</comment></comment></comment></comment></comment><comment><USER6> Glad to see this on HN. I'm not fluent in Esperanto, but the 20 or so hours I've put into it, I can read, write, and speak much better than I can in Spanish (where I've gone through 3 years of formal education).

The reason is that Esperanto doesn't have irregular anything, drops out unnecessary things, easy phonetics, and introduces devices to make things easier. For example, all nouns end in "o", questions usually start with "cu". Also, the vocabulary you need is reduced by marking certain things as opposites (if you know the word for good "bona" the word for bad is "Mal" \+ "bona" or "malbona".

I still have a ways to go to learn the language, but I figure I have more chance of learning it than other languages I'm interested in like Spanish and Swedish (relatively easy for native English speakers) and Hungarian and Finnish (far beyond my wildest grasps).

There are not many Esperanto speakers you'll meet on the subway, but there is a vibrant online community and international events.

It's beneficial to us in the USA and the UK that English is the lingua Franca. What if the tables were turned and we had to learn Mandarin? The Esperanto language was eventually repurposed as an international auxillary language. So everyone learns their native tongue and international discussions (like the U.N.) are all done in Esperanto and you don't need armies of translators. It will never happen, but I really like the concept.

<comment><USER7> You must accept that Esperanto is many times easier for westerners to learn than anybody else, though, right? If we really wanted a "neutral language" for the vast majority of people we should have based the language on Malagasy or something.

<comment><USER8> I've been learning Vietnamese for the past few years and I have to say it's been very refreshing to realize how little of the complex grammar typical in Western languages you really need to communicate. Vietnamese throws verb conjugation, tenses, plurals, possessives, etc out the window and is still a perfectly expressive language. I understand a lot more why people often reject the idea that Esperanto is a universal language because it brings a ton of grammatical baggage that, for example, many Asian languages don't have.

<comment><USER9> I've been learning for a few months. So far my favourite parts are that the word for right (direction) is the same as a word for right (correct), that months and days are named 'Nth month/day', and that refrigerator is 'cold cabinet'.

<comment><USER8> Yeah Vietnamese is often a very literal language. The names of many Vietnamese dishes are just a description of what's in the dish and how it was prepared. "Bún thịt nướng", for example, just means noodles with grilled meat. You can handle past and future tenses with just a couple of modifier words. In a lot of ways it's a pretty elegant language and the only really hard thing about it is getting the tones down and learning all the slang people use in everyday conversation.

</comment></comment></comment></comment></comment><comment><USER10> I wonder if a better solution for a "universal" language would be a Simplified English, where the English language as spoken in the US/UK is greatly simplified in terms of rules, spelling etc. Go with the Esperanto idea of a common verb tense rule (I go, He go -> I goed, He goed), and clean up the spelling (tough -> tuf, though -> tho). Most people in the world have a grasp of English based on the Internet and entertainment, maybe making it even easier to learn would help them become proficient in it.

<comment><USER2> I would love that, but there is one potential issue: English is really hard to pronounce well, and therefore it takes years to understand it well. There are many ways to pronounce the same combination of letters, depending which word they are part of (like "ough", etc.). Words have emphasis that also make them more difficult to pronounce.

Many non-native English speaker I know (myself included) still have a hard time understanding some English words after 15-20 years or more of English as a second language and having lived in English-speaking countries for years. A native English speaker could still pronounce a word and they would have very little idea how to write it, and therefore won't be able to look it up in a dictionary.

On the contrary, after a few minutes/hours of learning Spanish pronunciation, one is usually able to write words that they hear pronounced slowly, since they are written as they are pronounced and there is only "one" way to pronounce them. Same for Esperanto I believe, or language like Korean (although it's a different alphabet so it takes more time for anyone used to the latin alphabet, but it is still phonetic).

<comment><USER11> As linguists will sometimes joke, English spelling is extremely useful, you can look at an English word and tell exactly how it was pronounced 700 years ago.

Even native English speakers struggle with it. This is the so-called "curse of the autodidact": when people have read quite a bit on a specialized topic but never had a spoken conversation about it, and mispronounce technical words or place the stress on the wrong syllable.

<comment><USER2> Interesting!

</comment></comment></comment></comment><comment><USER12> Estas interese, ke je Hacker News ĉi tiu afiŝo atingis.

La parolantojn de aliaj lingvoj, preciple la angla-parolantojn mi ne plu kuraĝigas por Esperanton lerni. Estas malŝparo de energio. Anstataŭe, la lingvon mi uzas sen tiu celo.

Bedaŭrinde, mi ne certas se bonan diskuton pri tiu temo ni povas havi ĉi tie. Se estas parolantoj ĉi tie, mi anticipas ke la nivelo malaltas. Espereble, pli fortan diskuton mi povas havi aŭ vidi.

Kompreneble, mi povas konsenti ke fortas Esperanto. Min mem mi farigis kavio. Mi volis scii, se fakte utilas tiu lingvo. Post preskaŭ kvar monatoj, mi konsciis, ke mi pravis. Jes, fakte funkcias Esperanto. Jes, eĉ la plej bizarajn ideojn mi povas esprimi Esperante. Jes, la lingvon mi subtenos en miaj restantaj jaroj.

</comment><comment><USER13> I love the concept of esperanto but to be honest there are no practical uses for it. Fun language and it teaches you the concepts of others but as I said, not that useful.

<comment><USER14> One practical use that has been studied (only a little) is to use Esperanto as a stepping stone to learning other languages. Essentially the idea is that you can first spend a few months learning Esperanto and that might actually speed up the total time for learning a "third" language. I believe school systems in both the UK and France have experimented with this, both with promising results.

<comment><USER15> When you actually look at those "promising results" you'll notice that they come about by cherry-picking, not controlling for confounders (like Esperanto teachers using better teaching methods) and wishful thinking. See [https://news.ycombinator.com/item?id=14848019](https://news.ycombinator.com/item?id=14848019) , which I wrote some time ago when the same topic came up.

I don't doubt that Esperanto is easy to learn, but there's no evidence to suggest that learning Esperanto helps more with learning another language than spending the same time learning that language instead.

<comment><USER16> I'm not aware of any controlled studies bringing evidence on this as well. But there seems to be lots of anecdotal evidence.

One may argue that people who learn Esperanto are naturally inclined to language learning anyway, but what you actually see is people who allegedly have always struggled with languages and, after giving Esperanto a try, they begin to find more effective ways of learning foreign languages in general.

It worked for me at least.

</comment></comment></comment></comment><comment><USER17> Sometimes I think something gets talked about in science fiction and then it gets stuck in people's heads.

Harry Harrison talked about Esperanto in the "Stainless Steel Rat" books and that is why it is so much better known than Interlingua

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

which is really a cleaned-up Latin that you might already know how to read if you've been exposed to Romance languages much at all.

</comment><comment><USER18> The link in the article about native speakers is interesting.

1\. All "native" speakers are actually raised bilingual. and 2\. George Soros was raised learning esperanto. I am surprised that there isn't some conspiracy about Esperanto

<comment><USER19> I've met native speakers, and some things surprised me:

1\. Some still have a heavy accent. In fact it tends to be the accent of their parents. (all of us have an accent, it just happens that some of our accents are considered standard english)

2\. They tend to be fluent but fluency is also a function of frequency of use, and some non-native speakers reach higher fluency by living with other esperanto speakers and using it daily

3\. They all type using `x` notation, since they were typing Eo before Eo keyboards existed, so gxis instead of ĝis

</comment></comment><comment><USER20> If you are into artificial languages, also check out lfn ([https://elefen.org](https://elefen.org)). Like Esperanto, it also features regular spelling and simple syntax, but one key difference is that its vocabulary is almost entirely Romance; it is a artificial Romance creolo. As a result, it is very easy for native speakers of Romance languages (French, Italian, Spanish, etc.) to understand, and it can also serve as a "gateway language" for learning other Romance languages.

<comment><USER21> The posted link ([https://elefen.org](https://elefen.org)) isn't working for me. Here is another link: [http://elefen.org/introdui/en.html](http://elefen.org/introdui/en.html)

<comment><USER20> Hmm, [http://elefen.org](http://elefen.org) should work.

<comment><USER21> It appears that https is not working, but http is. That's not very good because it exposes the details about your visit to observation.

</comment></comment></comment></comment><comment><USER22> The vocabulary resembles a big pile of stolen goods.

<comment><USER16> Well, but probably most of the languages work this way, maybe all of them. English vocabulary resembles a pile of goods stolen from french, germanic languages and so on.

<comment><USER23>
        "The problem with defending the purity of
        the English language is that English is
        about as pure as a cribhouse whore.

        We don't just borrow words; on occasion,
        English has pursued other languages down
        alleyways to beat them unconscious
        and rifle their pockets for
        new vocabulary."

        - James Nicoll

</comment></comment></comment><comment><USER24> One of the nice surprises I had after learning Esperanto a while back was that there is a small but vibrant literature of original novels and poetry in Esperanto. Especially in the first half of the 20th century quite a few gems were written. I've been able to read works about life in Russia at the turn of the 19th century, a Czech Jew's experiences during WWI, and a collection of short stories written by Chinese authors shortly after the Cultural Revolution, all without need of a translator. One Esperanto poet, William Auld, was nominated for the Nobel Prize in Literature several times before he died about a decade ago.

</comment><comment> em-bee over time, several flaws in the language have been pointed out, and proposals to fix them, as well as alternate approaches to an auxiliary language have been made.

and while it can be said that esperanto was not yet able to appeal to the majority, it is wildly more successful than any other attempt.

why is that?

why have none of the alternatives even made it out of the experimental stage?

with any of the well meant proposals in this discussion, it is important to understand what would make those proposals succeed. (and by succeed i mean at first reach a speaker-base that equals that of esperanto)

i believe that the results up to now indicate that the quality of the language is not the issue.

esperanto is like python 2, but in a world where everyone prefers to use php.

or is it?

are the flaws in esperanto what's holding back further growth? do we need to start from scratch, and go through the painful stages of initial growth esperanto has already been through?

</comment><comment><USER25> Did duolingo remove their Esperanto course? It was there like 2 years ago, but I don't see it now.

<comment><USER26> No, no it's still there at [https://www.duolingo.com/courses](https://www.duolingo.com/courses)

</comment></comment><comment><USER27> I got as far as reading gerda malaperis in esperanto, but then I was done with the language. I didn't want to dedicate anymore time to it.

</comment><comment><USER28> Relevant and entertaining: JBR's "Ranto" about Esperanto - [http://jbr.me.uk/ranto/](http://jbr.me.uk/ranto/)

(you can try https, but it was acting up for me somehow. Sorry!)

<comment><USER16> Yeah, the article is a bit too long, I haven't gone through it yet but I intend to. But I disagree about a few points I've read so far.

Esperanto case declinations consist basically of marking direct objects with an -n suffix. You forget it sometimes, and many jokes among Esperanto speakers are about forgetting the accusative, but it is not that hard and gives you some nice flexibilities regarding word ordering.

I don't remember of adjectival concords in Esperanto, but I'm not a linguistics expert, I speak Esperanto but maybe there is something there which I haven't realized, or some rule that maybe has become second nature to me due to my mother tongue.

It sounds indeed more familiar to european-languages speakers but well, chineses find Esperanto easy so I don't know..

The notation may be a bit clumsy for keyboard users, of course, but one has to consider that computers with ansi keyboards didn't exist by then and, anyway, there is already a widely used convention to overcome the lack of those two funny symbols: to simply use an "x" after the targeted letter.

I admire Esperanto's ability of being such a rant magnet. When it comes to other languages, people usually simply don't learn them when they don't feel interested enough.

<comment><USER29> When I was in elementary school, we were taught English grammar in English class. Actually, we weren't. We were taught Early Modern Latin grammar using the English language, and everyone pretended that English was somehow a simple variant of Early Modern Latin.

Why were we taught such an egregious abomination? Because the traditional study of grammar was in the study of a very rigorous classical Latin and Greek, which was extended to vernacular languages by the Late Middle Ages. For the presciptivists of the Early Modern, it was a short step to use the same framework to try to describe English--and when the framework is woefully underequipped to deal with English grammar, they simply declared that such constructs shouldn't be used because you can't do it in Latin. Linguists only really developed the capability to tackle English about 100 years ago, and primary education still hasn't caught up.

The complaint in the rant on Esperanto essentially boils down to pointing out that Zamenhof's idea of what constitutes a sufficient description of a grammar is following that ancient underpowered Latin grammar rubric. The second major theme is that Esperanto doesn't look much beyond Romance, Germanic, and Slavic languages, and its considerations for what's important, what's omitted, and what's variant is largely derived from consideration of how those languages are similar or different.

<comment><USER16> Uhm.. I tend to disagree, I think this rant is not based on such elaborate and architected arguments. Are there some references about them?

The criticism I usually hear is something in the lines of Esperanto has been defeated in the international language championship and now refuses to shut the mouth up and go back home.

<comment><USER29> The author says somewhere in that rant explicitly that Esperanto is a Romance/Germanic/Slavic creole and there are already too many of those, which is a pretty clear restatement of what I referred to as the second theme.

Most of the rant itself is essentially a lot of nitpicking at the corners of the language. For example, the complaints about the passive voice structure or the gerunds in Esperanto, or the entire discussion of the difference between tense and aspect. This discussion can generally be simplified as "linguistics is more complex than is presented by its author." [http://jbr.me.uk/ranto/b.html](http://jbr.me.uk/ranto/b.html) gives a more thorough elaboration on this topic in particular by going line-by-line through the Fundamento and pointing out some of the misconceptions of linguistics embedded in it (among other things).

<comment><USER16> Those are very interesting theoretical points, but in practice nobody who actually speak the language complains about them. So, I don't know if they are relevant on a practical standpoint.

One may demonstrate that Zamenhof overpromoted his product (maybe out of ignorance, given Zamenhof was an amateur linguist). But the thing works beautifully well anyway and the criticism around there seems not to care about this.

<comment> em-bee the rant does contain a number of interesting arguments, when each is looked at by itself. but for most arguments there is no attempt at actually solving the discussed problem, so we are stuck taking the authors word for it.

a few are obvious and really should be solved. gender neutrality for example. given todays climate, that is a real problem that other languages like english and german are dealing with now, and esperanto will have to follow suit.

but most others are more an issue of the perfect being an enemy of the good.

sure, those issues could be fixed, but is it worth the effort?

from an idealistic perspective maybe yes, but as long as english dominates, and there are no viable alternatives to esperanto that actually are better, the whole argument is rather moot.

either solve the problems and come up with a better solution, or put up with what we have.

everyone else is putting up with english, so surely dealing with the issues that esperanto has can't be that hard.

for certain, a better language is conceivable, but i'll rather use esperanto despite its few faults than wait for that perfect language that may never materialize. and if it does, then knowing esperanto will make it easier to judge said new language.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> I've once learnt Spanish and found it the easiest language I've ever seen, easier than English, it took just 2 weeks to learn. Then I've started learning Esperanto (as the idea of engineered languages (or whatever) amazes me, I feel like we should engineer everything) with DuoLingo (I don't happen to know any better Esperanto course) and it felt easy yet it was just a tiny bit easier than Spanish so I was wondering why do we need a new easy language when there already is one spoken by so many people (and it also is very similar to it) but continued learning. Then I've found out Esperanto has grammatical cases and stopped, cases make me panic. I still feel like I would like to learn Esperanto to fluency once as I adore its spirit of technocracy, borderlessness and defiance of nationalism.

<comment><USER31> > it took just 2 weeks to learn

How are you measuring having "learnt" a language? Because IMHO that's an incredible feet that almost requires you not to sleep! Or do you just mean learning the grammar?

<comment><USER30> I mean learning it to the point when you can say anything you might want to tell somebody you meet in real life (not in a philosophical discussion club however), looking up some words in a dictionary occasionally: the grammar + basic vocabulary (+ phonetics, orthography etc of course). It is worth mentioning, however, that I've already forgotten almost everything I've learnt of Spanish as practice is vital for remembering and I had absolutely no practice after learning it.

<comment><USER32> _looking up some words in a dictionary occasionally..._

 _It is worth mentioning, however, that I 've already forgotten almost everything I've learnt of Spanish_

Well that's the whole point -- you didn't really "learn it", then. You just learned the rough outlines of it.

<comment><USER30> "looking up some words in a dictionary OCCASIONALLY". There is no single language I can speak/write without looking up some words in a dictionary ever.

Is there a definition of having learnt a language or of "the rough outlines"? As for me having learnt a language means being able to communicate in it fluently (not necessarily in a finely literate manner) and for "the rough outlines" \- do we ever learn anything but the rough outlines of anything? I can't even say I know anything but the rough outlines of my native language (it had never felt any close to possible for me to write it without mistakes) or of English.

<comment><USER32> _Do we ever learn anything but the rough outlines of anything?_

Actually, people do -- those who become, if not necessarily world-reknown experts -- at least generally recognized as competent professionals in just about any field.

For example, if you've managed to successfully operate a well-regarded restaurant in a major city for a significant length of time (10 years, say) -- it's safe to say that you've moved beyond learning the "rough outlines" of that field - but in fact have mastered the core material.

As for learning a language - the metrics would probably be (1) fluency (not needing a dictionary to make yourself understood 99% of the time, in quotidian contexts at least) and (2) durability (not forgetting everything you've learned after a few weeks or months). That is to say - they've mastered the core material.

Most language learners are on a spectrum somewhere between these endpoints (and your English is really quite good, BTW). The whole point it, it sounds like your exposure to Spanish was much closer to learning the "rough outlines" of it than having "mastered the core".

Which is generally what people mean by saying "I learned X" (as opposed to "I learned a bit of X").

<comment><USER30> Nice point.

> not needing a dictionary to make yourself understood 99% of the time, in > quotidian contexts at least ... (and your English is really quite good, BTW)

But I still had to google the definition of "quotidian" \- although my guess of what does it mean given the context was correct I had never met it before. A nice addition to my vocabulary, thanks :-)

> The whole point it, it sounds like your exposure to Spanish was much closer > to learning the "rough outlines" of it than having "mastered the core".

That's why I've said I've learnt it, not mastered it. I doubt I'm going to master any language ever. Perhaps I could master my native language if I were interested enough. It seems people capable of mastering a foreign language are rare and they usually work at intelligence agencies AFAIK.

> Which is generally what people mean by saying "I learned X" (as opposed to > "I learned a bit of X").

IMHO saying "I learned a bit of X" would mean "I can say 'hello', 'bye', 'my name is' and 'I'd like a cup of coffee' in it", having intuitive understanding of the language grammar and being able to express any quotidian idea in it so you would be comfortable living in the country, would feel no "language barrier" and would be able to read a local newspaper qualifies for having learnt (not "mastered") a language.

<comment><USER33> As you mentioned earlier that English is not your native language, allow me as a native English speaker to affirm the previous reply. In English, when somebody states that they "learned X" \- while not necessarily implying mastery, certainly suggests a strong understanding of something which is emphasized by the "past simple" tense of the statement.

<comment><USER32> Yup - the past simple almost always means "did X to completion, more or less".

E.g. "ate dinner", "wrote a program", "invaded France", etc. Or "learned Spanish".

Some verbs have indefinite scope in this regard, however - for example "study", which is similar to "learn" but more open-ended.

So to say "I studied German" doesn't imply anything about how successful the ultimate outcome was. But to say "I learned German" definitely implies you became at least reasonably proficient at it.</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: Are there any sites that divulge Chinese or Russian leaks? - <AUTHOR> Wikileaks content, with a few exceptions, is full of U.S. & NATO leaks. Questions of "why is that?" aside, where can one find similar information about tools used by non-nato state actors? <comment><USER2> The panama papers leakers.</comment>


Envconfig: Environmentally friendly Ruby configuration - <AUTHOR> http://blog.broadstack.com/envconfig-ruby-rails-configuration.html

<comment><USER2> How is this different from dotenv ?

<comment><AUTHOR> dotenv reads a file into Ruby's ENV.

envconfig reads Ruby's ENV and exposes it as a useful configuration object. envconfig-rails uses that to e.g. push the SMTP settings into ActionMailer.

The key value, though, is that envconfig knows about Heroku and Broadstack add-on ENV names.

e.g. when you add the MemCachier Addon, it simply puts MEMCACHIER_SERVERS, MEMCACHIER_USERNAME, MEMCACHIER_PASSWORD into your ENV. Envconfig knows those var names, and assigns them to the memcached service.

If you looks at the various provider mappings in e.g. [https://github.com/broadstack/envconfig/blob/master/lib/envc...](https://github.com/broadstack/envconfig/blob/master/lib/envconfig/smtp.rb) you'll see that it knows about ENV-provided, and static, configuration for each provider.</comment></comment>


C++ depot build tool - <AUTHOR> http://rachelbythebay.com/bb/

<comment><USER2> "If you've used Make, you're used to creating Makefiles. In them, you manually build this immense graph where all of the parts hopefully add up to a working program."

Actually, I used to generate rules using gcc -MM which does pretty much this: track dependencies in sources files using #include directives.

Nevertheless, I'm happy to see that the idea of automatically handling dependencies is still being worked on. I'd be so happy to trash all this scons config files we have to maintain on a near-daily basis.

<comment><USER3> I think she's talking about adding link rules based on the #includes. But yeah, you can learn how to use Make, or you can write yet-another replacement tool that other people who never learned to use Make get excited about.

<comment><USER4> Most make tools indeed suck, but some don't. And Make itself also sucks -- it was just there first.

djb/apenwarr's "redo" is a good make alternative, infinitely simpler and about as capable.

tup is a good make alternative, that does away with dependency definitions, recursive makes, etc. It just works and works quickly.

</comment></comment></comment><comment><USER5> Ah makefiles. It's 2014 and they still can't handle spaces in directory names.

[http://savannah.gnu.org/bugs/?712](http://savannah.gnu.org/bugs/?712)

I'm pretty sure that trying to replace them at this point is sacrilege.

<comment> vezzy-fnord Replacing Makefiles isn't the hard part. People do it all the time.

The hard part is figuring out a migration path away from Autotools. Not even replacing them, that's relatively easy. Integrating them into a world dominated by Autotools, that's difficult.

<comment><USER6> Hm. At first glance this doesn't seem too bad: idiomatic autotools usage involves files that are relatively easy to parse and are also relatively declarative, so making a non-autotools buildsystem that's capable of directly reading configure.ac and Makefile.am files seems doable.

Why doesn't this work in practice? Non-idiomatic usage? Custom autoconf scripts?

</comment></comment></comment><comment><USER7> Really diggin the idea of using include files to figure out dependencies. Also seems ideal for beginners: look up the number of questions on SO asking 'which library to include for xxx.h' by people who don't yet grasp the difference between compiling and linking. Here you just say 'hey, I have this header, that's for this lib', directly. But it won't be for me though (well, this version at least, who knows what the future brings): it puts constraints on the directory structure used and on how you include your files. And is probably gcc only. Yielding basically none of my projects a candidate for testing this. But still, nice.

<comment> vezzy-fnord _Also seems ideal for beginners: look up the number of questions on SO asking 'which library to include for xxx.h'_

Pretty sure pkg-config can help with that. Don't see why you need SO.

<comment><USER8> Because beginners have no clue what pkg-config is?

<comment><USER9> Also it's the first-step problem of knowing what to ask pkg-config (or any other tool that can tell you). Header file names don't always map to the library or package name.

</comment></comment></comment></comment><comment><USER10> I really like the idea and having read the manual I think it's something that I want. However, it doesn't seem to be open source so how do I know that I can trust the binaries? The binary download is also over HTTP and not HTTPS.

<comment><USER11> My site has a https version, but you're right: it's still a mystery meat binary blob. No particular reason to trust those. They could be rather evil.

</comment></comment><comment><USER12> Looks quite promising! But: "It will sniff out all of the objects which also need to be built to make it work, and it will build them first." Seems like every source file will always be compiled regardless whether it has changed since the last build or not. So it's just for rather small projects.

<comment><USER13> Maybe it compares output file timestamps against input file timestamps to decide whether to re-build, as make does? It's hard to figure out details like this without either documentation or source.

<comment><USER14> Used in conjunction with ccache, this may not matter too much.

</comment></comment></comment><comment><USER15> cool!

A comment for the ROOT users ([http://root.cern.ch/](http://root.cern.ch/)) amongst you HN readers: this appears to be very similar to 'ckon' which emerged from my PhD since 2011, and takes the humongous headache out of building C++ software modules within the ROOT analysis framework: [http://tschaume.github.io/ckon/](http://tschaume.github.io/ckon/)

@rachelbythebay: Since 'ckon' uses the same principles as your depot build tool, I thought you might be interested to take a look: [https://github.com/tschaume/ckon](https://github.com/tschaume/ckon) :-)

</comment><comment><USER16> Seems cool!

Anyone knows if the "everything for your project must be contained within a single directory root" constraint can be tricked using symbolic links?

<comment><USER11> I've never tried symlinks but I don't see why it wouldn't work. The key is that "foo/bar.h" needs to be readable with cwd == "src". If whatever filesystem you have will make content appear there, it should just work.

Having just tried it... sure, it'll work. Starting in my "depot" dir...

\---

        $ mkdir /tmp/hn
        $ echo 'int main() { return 0; }' > /tmp/hn/hn.cc
        $ ln -s /tmp/hn src/hn
        $ bb hn/hn
        I1106 144900 4720 build/dep.cc:591] Compiling: hn/hn
        I1106 144902 4720 build/deptracker.cc:184] Linking: hn/hn
        -rwxr-xr-x 1 u g 7364 Nov  6 14:49 bin/hn/hn
        $ bin/hn/hn
        $ echo $?
        0

</comment></comment><comment><USER17> system_header { name: "gnuradio" name_type: DIRECTORY cflag: "-I/usr/local/include/gnuradio" }

system_header { name: "microhttpd.h" ldflag: "-lmicrohttpd" }

system_header { name: "mysql/mysql.h" ldflag: "-L/usr/lib64/mysql" ldflag: "-lmysqlclient" }

Let's see... hard-coded absolute paths, compiler-specific flags... Yeah I'll stick with QBS and wait for proper modules.

<comment><USER11> No, you're right, it's goofy. Clowny, you might say.

It should be more like this:

pkg-config --identify-file=microhttpd.h --> "libmicrohttpd"

The problem now is that you can't go from the .h name to the package name. Once you have the package name, you can use pkg-config to give you --libs and --cflags, but there's a (big) piece of the puzzle missing at the moment.

Changing pkg-config and its users to add that mapping would be amazing.

Once we had that, tools like this could see #include <foo.h>, look it up to a package name, use that to get the cflags and ldflags, and that would be it. No config needed.

<comment><USER18> Cool tool, making building easier seems to trend at the moment. :)

The page ("deps.html") that introduces the .build.conf file _says_ "You can use pkg-config to help find those flags if your system has that installed", but then the actual configuration shown uses only absolute paths.

That threw me off, since it's not at all obvious how or where you can insert calls to external tools (like pkg-config) in the static-looking configuration. I think it'd be a good idea to edit in an example showing pkg-config being used.

</comment></comment></comment><comment><USER19> Did Rachel update bb or release a new version or something? Just curious why this is appearing here now.

<comment><USER13> Probably a response to last night's "Building C Projects" [https://news.ycombinator.com/item?id=8563005](https://news.ycombinator.com/item?id=8563005)

<comment><USER19> Ah, that makes sense. If I pay close enough attention, I can track this rhythm of hacker news. Of course, I have a happier life if I don't :-)</comment></comment></comment>


In which IBM casually announces plans for Bitcoin blockchain-based network - <AUTHOR> http://venturebeat.com/2014/08/24/the-internet-of-things-will-cost-companies-more-than-theyre-ready-for/

<comment><USER2> Essentially ...

We selected the BlockChain and the concept from BitCoin because we think that, over time, the strong focus on developers on BitCoin and block-chain technologies will help keep the security situation up to date. I think security through transparency is the best policy and the open source nature of BitCoin and the momentum of developers around it is a good thing.</comment>


What's New In iOS 4.2 – Over 10 New Features - <AUTHOR> http://appadvice.com/appnn/2010/09/ios-42-10-features/ <comment><USER2> MIDI CONTROL!!! Electronic musicians & Visual technicians everywhere rejoice.*

*As long as no additional apple accessory will have to be purchased.</comment>


Trump Told Ellison, McMillon He Wants U.S. Paid in TikTok Deal - <AUTHOR> https://www.bloomberg.com/news/articles/2020-09-19/trump-spoke-with-oracle-s-ellison-as-he-weighs-tiktok-deal <comment><USER2> When trying to understand China's commercial policies, consider that China has experienced a different mercantile history to America.

America has never been invaded by foreign gunships and forced to allow foreign merchants to import opium to addict its citizens in order to fix their own countries balance of payments problems.

Opium Wars

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

If America were to experience something like that, how might the experience change America's future commercial policies?

If Pearl Harbour and 9/11 are any guide, America might become less tolerant of foreign businesses operating in its markets.

But then again, America is a complicated marketplace.

The Promotion and Marketing of OxyContin: Commercial Triumph, Public Health Tragedy

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2622774/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2622774/)

</comment><comment><USER3> would this be reverse crony-capitalism ? most times, gvt would want a cut on illegal enterprises or morally grey things e.g mafia operations or prostitution etc but now this is surprising

</comment><comment><USER4> Depending how the deal is structured he might be right in demanding that US government is paid. If e.g. the government is providing any kind of funding (which it probably is, since we're talking non-trivial amounts of money on a short notice), there needs to either be a buy-out or some other compensation.

Ultimately though, this whole thing is about giving the Chinese a taste of their own medicine, and more of the same should be expected until they buckle, which they will. There's really no way to operate in China at any kind of scale without total control by the Chinese government. Once that changes, different, less onerous arrangements can be made in the US.

<comment><USER5> > Ultimately though, this whole thing is about giving the Chinese a taste of > their own medicine,

No, it about giving _America_ a taste of Chinese state-directed industry medicine, it's just that the only legal pretext this Administration has to hang that on requires foreign own assets as the enabling fact to allow state- directed sale.

<comment><USER4> ByteDance is a Chinese company. The US is not getting a taste of anything here (except in China where it's been reamed for 20 years). Huawei and ByteDance are.</comment></comment></comment>


The Illusion Machine That Teaches Us How We See - <AUTHOR> http://nautil.us/issue/19/illusions/the-illusion-machine-that-teaches-us-how-we-see

<comment><USER2> Cool. It seems to make the common argument that "since evolution is random, it makes mistakes, therefore we see illusions." I disagree with this logic. I think it would be truer to say "since visual processing resources are (inherently) limited, evolution makes trade-offs, therefore we see illusions." I see jumping to the most-likely conclusion about what we see as more of a power-minimizing and performance-maximizing trade-off than a design flaw.

<comment><USER3> It may be a mistake to assume evolution 'designed' anything at all. Its a drunkard's walk over the solution space. As soon as a relative optimum point is reached, evolution tends to stick there and not search for further, more- optimum solutions.

Witness the 'thumb' of a panda, which is uses to strip leaves from the eucalyptus branch. It has a thumb (toe on its paw) but no, evolution chose to extend a wrist bone in a kind of protuberance; the panda pulls the branch between that and its arm to strip leaves. Not ideal; kinda weird really. But evolution doesn't give a flip.

<comment><USER2> Evolution doesn't design, clearly. But its solutions are not determined by chance alone, either. The shapes of the solutions are partly determined by the contours of the available solution space. It's sort of like pressing soft material into a mold, I think. The trajectories of the individual bits of material are governed by chance; but after applying and releasing pressure, the macroscopic object invariably forms itself in the image of the mold.

<comment><USER3> Sure but the 'mold' is a complex surface with many local maximums. Once evolution reaches a local maximum, then drunkards walk is stalled - it moves incrementally in any directin - things get worse. It cannot leap across the gap to another local maximum; ok its unlikely it will make the leap.

So we get different populations with wildly different solutions to the same problem.

</comment></comment></comment></comment><comment><USER4> There's a video game titled echochrome that touches on this phenomena. Its puzzle platformer where you have to navigate around obstacles by positioning the camera into various positions until a path forward or the obstacle is obscured by the illusion being projected. Very cool!

<comment><USER5> On that note, try Antichamber and Perspective, both of which toy very effectively with your perception of 3D spaces.

<comment><USER6> Also check out monument valley, they just released an expansion too if you've already played it.</comment></comment></comment>


Dave Chappelle Returns to Standup with Stories to Tell - <AUTHOR> http://www.nytimes.com/2013/08/18/arts/dave-chappelle-returns-to-stand-up-with-stories-to-tell.html?smid=tw-nytimes&_r=0

<comment><USER2> I tried to get tickets to the show in Mountain View, completely sold out almost immediately save for a few "accessible" seats. I considered showing up with crutches or a wheelchair.

I hope Netflix picks him up for a new season of the show. He'd get the creative freedom, they'd get another exclusive, and everyone is happy.</comment>


Stop waiting for your tests by making them 3x faster - <AUTHOR> https://about.gitlab.com/2015/01/29/stop-waiting-for-your-ci-server-by-making-them-3x-faster/

<comment><USER2> Thanks for submitting this crivabene! GitLab B.V. CEO here, happy to answer any questions about CI in general or GitLab CI in particular.</comment>