AWS Statement: Processor Speculative Execution Research Disclosure - <AUTHOR> https://aws.amazon.com/security/security-bulletins/AWS-2018-013/ <comment><USER2> I hoped they might discuss the supposed decrease in performance that the patches introduce (I imagine they did some testing) but I guess they're leaving it up to their users to discover whether their instances are slower now.

<comment><USER3> Agreed. Also this:

> _All but a small single-digit percentage of instances across the Amazon EC2 > fleet are already protected._

As of when?

Goes on to say that the "underlying infrastructure" is protected, but OS patches are required. What does it mean that instance infrastructure is protected, but the OS is not, and which step would introduce the performance degradation?

<comment><USER4> I assume, per the shared responsibility model, this implies guest OS (your instance) requires you to patch. Underlying host, hypervisor, would be patched.

<comment><USER5> How would that work? unpatched VM can escape the patched Hypervisor? Is that possible? What would be point of patching hypervisor if guest can trivially escape?

<comment><USER6> You need to patch your VM to prevent your own processes exploiting the bug. The hyper visor patch is to protect you from the other VMs on the box.

<comment><USER3> Interesting. I'd assumed the performance degredation resulted from disabling the offending cpu optimization feature at the hardware/firmware level, which would seem to address the issue for anything on the box (vm and hypervisor).

But, perhaps that assumption was wrong and/or Amazon has another workaround.

<comment><USER7> The confusion is perhaps understood, as this is a complex issue. Basically, you need to remember that on the hypervisor there are two kernels; the hypervisor's OS, and the Guest's OS. The exploit works, we assume, by abusing shared memory between the kernel and userland process to allow the userland process to read memory that it shouldn't be able to see. The mitigation moves kernel memory out of the MMU entirely when making the switch.

If the hypervisor has the patch, but the Guest OS does not, it means that when the hypervisor context-switches into the Guest OS, it'll move its own kernel memory out of range of the exploit. So far so good. But the Guest OS is un- patched; when its kernel context switches into a userland process, its own kernel memory space remains available for the exploit. Thus, a patched hypervisor can protect _itself,_ but not its guests.

<comment><USER3> Thanks for clarifying. The concepts are actually straightforward if I'm not being too lazy to check my assumptions!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> This says operating systems must be patched. I don't see any notice from Ubuntu yet. Does this apply to upgrading Ubuntu as well?

<comment><USER9> The vulnerabilities affect multiple layers in a virtualized environment. Amazon patching the virtualization host is what would prevent things like guests reading host memory (essentially a guest escape - one VM gaining access to other VMs running on the same system). Patching the guest VM is what's needed to mitigate other attack vectors (like unprivileged code reading kernel memory).

I don't think updated packages are available for any of the major distributions as of now. So far I've only seen fixed packages for Amazon Linux and Google's Container-Optimized OS.

</comment></comment><comment><USER10> I'm getting a 404 from that URL now.

<comment><USER11> I did on first attempt to load it, then it worked on an immediate refresh. Probably a cold cache or something.</comment></comment>


501/anti 501 are symptoms, not the disease  - <AUTHOR>

tl;dr You are not a factory worker, stop working like one. And if you are starting a tech company don't model it after a factory.
I'm a fan of Hacker News, but I view it from afar. It's like a strange other world and I'm just a voyeur. I'm a tech entrepreneur, but I live outside of the US. I'm not trying to bump my valuation to get bought out by a giant. But a lot of great information is shared on Hacker News, and I like you guys, even if I don't always understand you. :-)
The 501 manifesto and the anti 501 response strike me as really amusing. I know where the 501ers are coming from. I used to be a coder in the trenches. I also understand the anti-ish response, because as soon as you write a manifesto people will come running to trash it. It's just a risk you take when you write a manifesto. And now here I am to tell you that you are both wrong. And dammit that puts me dangerously close to writing my own manifesto.
What you are experiencing is the death throes of the industrial era 'factory worker' mentality that has been carried over to an 'office worker' mentality and stretched to the point of ridiculousness when applied to 'knowledge workers'.
The vast majority of you are knowledge workers. Highly skilled (we hope), well trained, creative problem solvers. You are paid to solve problems with code. You are craftsmen and artisans yet you are being used like no skill, brain dead, button pushing assembly line workers.
You will sit in the cube and be creative from 9am to 10:30am, then you will stop being creative and be attentive while we have a meeting on something inane for an hour and a half. You will then go eat lunch and return to your cube on time to commence with the creativity again. Ignore your dumb ass coworkers that are still playing high school games. Ignore the weird lighting and the noise. Ignore the distractions. Be creative dammit. Oh and by the way we own you, your free time is ours, anything you create is ours, and our needs come before your family and loved ones.
To me it looked like you had two choices: Care a lot about whatever the company is/does, sacrifice yourself and burn out doing everything you can to support it, or give up, just become the factory worker, do a fine job and punch out at 5:01.
But I decided to go a different way. I decided to scrap the factory worker mentality all together. Think about the best work you have ever done, I bet it wasn't in the office. For me it was always either hunched over my laptop at 3am or at a coffee shop kicking around ideas with other people. Now that I am the guy making the decisions why was I falling into the same trap that everyone else falls into, even though I know it's a trap? Because it's safer. If I did it like everyone else and failed you can't blame me, right? Fuck that. I want the best work I can get from my crew. Not the best work I can get between the hours of 9 and 5 while surrounded by distractions. I am an idiot before 10am but on fire from midnight to three am. Why would I force myself to do important things at 9:30 am? One of my business partners is best from 6am to early afternoon and then becomes useless. Why don't we as a business and development culture pay attention to these things? Because we are hanging on to some outdated industrial era assembly line ideal. Henry Ford wanted conformity so his people were as interchangeable as his parts. But the difference between one factory worker's output and another's probably only varies by ten percent. My best work is so much better than my worst work that it's worth building a new system to get as much of my best work as possible. The same goes for you.
I started with myself. I stopped going to the office. I started working in the places I was most comfortable. I started paying attention to when I was creative, when I was distracted, when I was effective. I took notes. I watched my output and then I remade my life around it. Guess what? It worked. That time in the afternoon that I used to find myself distracted and on facebook or mindlessly surfing, I now spend that time with my kids at the park. The hour and a half that I am answering emails and arranging my schedule each day, I do that while having coffee with my wife. You know that line between WORK and LIFE I just took it away. Guess what? My life got better. I was happier, my family was happier, and my output was higher quality.
So I did the same for the people that worked for me. It isn't easy. Some people have been trained their whole lives to be factory workers without knowing it. It is really hard for them to give up that crutch. But when they 'get it' they do better work and are happier people. And as the boss that's exactly what I want. <comment><USER2> I have to admit that my experience has been the exact opposite. I've seen the whole flex time system work best when everyone is an interchangeable factor cog and completely fail when people are useful knowledge workers.

My hypothetical example would be writing a search engine. You have two brilliant knowledge workers. Alice is a brilliant algorithm specialist who has a new way to sort lists in O(1) time. Bob is a genius data center guy who can split anything across any number of servers. The only problem is that Alice is a morning person who works best from 7am to 5PM, while Bob's brain doesn't even start until 4PM, though he'll still be wide awake at 2AM.

Alice understand the theory behind parallelization, but she doesn't have the experience to truly write great code on the massive scale you need. Bob can find his way around a tree, but the fiddly details of O(1) search are beyond him. Thus, you really need both of them working together to make any progress. However, they're only together for an hour and Bob's always deadlocked by his inability to get answers from Alice while she sleeps. Similarly, Alice can answer his e-mails in the morning, but anything she write before Bob arrives will have to be thrown out because it won't scale properly.

Now, if the office forces them to work from noon until nine, then you'll get nine hours of work out. Granted, for four of those hours, Alice will be tired. Bob will be tired for another four. Still, if they can even work at a quarter capacity during those times, you're still getting three times as much done, while simultaneously giving both employee's back a full hour in each day.

How do you handle a situation like this?

<comment><AUTHOR> Thanks for the reply. :-) This is the beauty of this approach, you would handle this situation with flexibility. This isn't, and shouldn't be, an all or nothing scenario. If these two people need to connect for a project to succeed they work together to find the best way and times to do so. I've never hit a situation that was unsolvable. Sometimes they take a little creative problem solving, but we always get there. And in general I think my crew feels happy to take the extra steps to make it work because the system is so flexible to their needs.

</comment></comment><comment><AUTHOR> This is my first submission to Hacker News, I was trying to keep it concise. (even though it may seem wordy) I'm happy to share more details about the process if people are interested.

<comment><USER3> _I started paying attention to when I was creative, when I was distracted, when I was effective. I took notes._

This I find interesting. Your story resonates with me, but I have not taken the step of systematically identifying when I am worthless vs when I'm "on fire", as you put it.

</comment></comment><comment><USER4> If spouse is working, and children go to school, then most likely family members are also "out" for better part of 9-5, so even if you might be "free" during those times, your family may not be. That is why 9-5 works for (most) families (I think)

BTW, if you are replying emails when having coffee with your wife, how is that "family" time ?

</comment><comment><USER5> You make some good points and I strongly agree we need to move away from the old fashioned factory worker mindset. I watched a TED talk recently discussing that this is a symptom of the education system. Modern education is designed to create these so called 'factory workers' who switch on at 9am and off at 5pm. That kills the creative side of people, something that is vital for knowledge workers. I think this is the talk: [http://www.ted.com/talks/ken_robinson_says_schools_kill_crea...](http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html)

<comment><AUTHOR> You are absolutely right and Ken nails it in that TED. :-)</comment></comment>


FirstSearch – Tactical advice in tech - <AUTHOR> https://search.firstround.com <comment><USER2> I've subscribed to their excellent _First Round Review_ and this seems like a collation and organization of that.

[http://firstround.com/review/](http://firstround.com/review/)

And I guess that over time, they've accumulated a lot of material. So this is quite useful (to me, at least). The other platform that I've come across recently (cuz I'm slow) is _On Deck Daily_ which is more HN-like in its engagement.

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

</comment><comment><USER3> This is interesting, it's like First Round trying to create a curated social- news site to draw people in like YC's Hacker News.</comment>


The Thing I Didn't Build - <AUTHOR> http://www.tomscott.com/thing/

<comment><USER2> He proves a point and establishes a market by showing a google search query. I don't think this is valuable since we all know Google is building up your personal filter bubble. Therefore it's quite logic he gets suggestions for unprotected tweets, he's already investigating in that field. I don't get these results. But this might change now that i read his article and composed a comment on that matter.

Doing a google search is not a proof for anything anymore, because they are perfectly tailored for you. I wonder why people still do it.

</comment><comment><USER3> Twitter is not meant for protected accounts, rather for broadcast. Such users are far too less. Perhaps they are so dumb (to have protected tweets) that they deserved to be looked at, so that they can run away to their facebook where they must've originally come from.

<comment><USER4> The same thing can be built for facebook, though.

</comment></comment><comment><USER5> Next: facebook 'private' photos

<comment><USER6> This would probably be legally easier. As long as you have the URL you can access them, so you are more of a directory than a provider of the data.

E.g. [https://www.google.com/search?q=hphotos-ak- frc1](https://www.google.com/search?q=hphotos-ak-frc1)

</comment></comment><comment><AUTHOR> tl;dr - nothing on the web is private.</comment>


Microsoft bought Nokia for $0? Nokia Says It Will Get Billions From Microsoft  - <AUTHOR> http://online.wsj.com/article/SB10001424052748704657104576142333949999402.html

<comment><AUTHOR> google cache around the pay wall...

[http://webcache.googleusercontent.com/search?hl=en&q=cac...](http://webcache.googleusercontent.com/search?hl=en&q=cache:online.wsj.com/article/SB10001424052748704657104576142333949999402.html)</comment>


Show HN: I built a feed of engineering blogs from top tech companies - <AUTHOR> https://devblogs.co <comment><USER2> Another blog to consider: [https://technology.riotgames.com/](https://technology.riotgames.com/)

They've got some pretty great articles detailing how they handle the immense scale of League of Legends.

<comment><USER3> Yes, I enjoy this blog as well

</comment></comment><comment><AUTHOR> Hey HN! I've already post it some time ago. Since then we got some changes and more blogs added. I'm looking forward to hear feedback from you and suggestions of what you would like to see here. Also, I was thinking about building an email newsletter, and wanted to hear your opinion on that as well.

Thanks!

</comment><comment><USER4> Awesome website. I love reading engineering blogs from tech companies. Gives valuable insight to how they handle problems.

Could you consider adding Stripe and Cloudflare?

<comment><AUTHOR> Thanks. Sure, will check those blogs.

</comment></comment><comment><USER5> Very cool! I'm working on something similar in my sparetime. Good to see there's still interest in this kind of thing

</comment><comment><USER6> Nice. I find this kind of information very useful. I would add action images not just logos to the posts. It gets people's attention.

I'm in the process of learning how a site like yours is put together. Would it be possible for you to share how you put it all together. We would all find it very useful, if you did.

<comment><AUTHOR> Thanks! Currently it's a simple cron job that runs over a list of RSS feeds and saves posts to a database.

<comment><USER7> Can you create an rss for it??

</comment></comment></comment><comment><USER8> This is sweet. Would you be able to add Figma's? They have some really good write-ups as well

<comment><USER9> Dropbox tech blog has great content as well!

</comment></comment><comment><USER10> Please add email subscribe. I would like to stay updated

</comment><comment><USER11> Is it possible to add tags/categories, filter by date?

<comment><AUTHOR> Yes, definitely. It's in our task list. Hope to get it done in a few weeks.

<comment><USER11> How do you build a list of tags or categories?

From the text?

It seems few blogs have some tags on their posts. Does any one know ways you can have similar words be read as single category? ex: machine learnings vs ml

</comment></comment></comment><comment><USER12> Does it have a RSS feed?

<comment><AUTHOR> Not yet, but I will add it soon.</comment></comment>


Color Wheel - Extending the Flashlight Experiment - <AUTHOR> http://www.andrewljohnson.com/article/Color%20Wheel%20-%20Extending%20the%20Flashlight%20Experiment

<comment><USER2> Its a hobby; in fact that might be the definition of a hobby.

</comment><comment><USER3> And scope creep begins!</comment>


Flocker on CoreOS Linux - <AUTHOR> https://coreos.com/blog/Flocker-on-CoreOS-Linux/ <comment><USER2> Can someone explain the benefits of using flocker (on ec2, using ebs) over using an EBS sidekick-type container with fleet?

<comment><USER3> Hi, Flocker provides a neat abstraction to the underlying choice of storage. It has a range of different backends - EBS, OpenStack Cinder, ZFS (experimental), EMC scale.io, EMC Xtrem.io and many more.

This means that if you decide to move your application to a different underlying platform - your storage specific application and infrastructure code remains the same and all that changes is a Flocker configuration.

We have seen this benefit with a number of folks who need to support multiple infrastructures. Before Flocker - there were multiple code-paths depending on the underlying storage. Using Flocker - the same code-path was used.

<comment><USER4> What about google persistent disks?

<comment><USER5> Doesn't appear to support it, but the source is on github and in theory they're just a different google-flavoured ebs.

<comment><USER6> Yep, someone would need to write a Flocker storage driver for GPD, that's all. Could be us, could be the community. We have docs on building drivers: [https://docs.clusterhq.com/en/1.3.0/gettinginvolved/plugins....](https://docs.clusterhq.com/en/1.3.0/gettinginvolved/plugins.html)

</comment></comment></comment></comment></comment><comment><USER7> Wondering if this is really suitable for production databases. Is there support for performant synchronous replication ala the DRBD MySQL HA strategy?

It would be awesome to fire up MySQL on a different box seconds later with no data loss.</comment>


15 Years Later: on the physics of high-rise building collapses [pdf] - <AUTHOR> http://www.europhysicsnews.org/articles/epn/pdf/2016/04/epn2016474p21.pdf <comment><USER2> There are several half-formed complaints from people who did not read the article in this comment thread. I'm guessing that the commenters are having a knee-jerk reaction to the fact that there are a lot of conspiracy theorists out there who think that the US government did 9/11 etc.

This article is not about that. It revisits a disaster (the collapse of WTC7) which appears to have happened under very unique circumstances. If the accepted explanation is correct, WTC7 is the only high rise to ever have collapsed from fire, and the collapse resulted from a long string of coincidences. The article is a critique of this analysis.

<comment><USER3> >...and the collapse resulted from a long string of coincidences.

-Most, if not all spectacular, unexpected events are the result of a long string of coincidences. Otherwise, they'd be common occurrences.

<comment> loup-vaillant That would work with one building. A long string of coincidences (failures upon failures…), such as the ones that causes some big server outage, or blackout, or plane crash, could have been a good explanation for the fall of one building.

Here however the "string of coincidences" hypothesis would have to apply pretty much simultaneously to _three_ buildings, one of which wasn't even hit by a plane.

No. freaking. way. That's just too damn improbable.

<comment><USER4> You're ignoring correlation. The twin towers are, for almost all purposes, virtually identical, and experienced largely identical scenarios. For them to behave differently under such circumstances would be less extraordinary than for them to behave similarly.

To my knowledge, the twin towers are the only buildings in history to have been hit with a four-engine plane full of fuel (El Al Flight 1862 apparently had only two engines left when it struck the apartment building. Note that the building fully collapsed at point of impact). Again, to my knowledge, with WTC 7, they were the only high-rises to have experienced serious, out of control multi-floor fires for hours after receiving major structural damage--Deutsche Bank received serious damage but no fires so far as I can tell.

If 100% of similar structures in similar circumstances have failed in a similar manner, is that improbable?

<comment> loup-vaillant Then we're veering off the "multiple coincidences" hypothesis, to a much more probable theory.

</comment></comment></comment></comment></comment><comment><USER3> I find the conspiracy theories surrounding 9/11 somewhat amusing.

With regards to controlled demolition - how on earth would anyone be able to rig the buildings for controlled demolition without anybody noticing?

And why use slow-acting thermite when shaped charges would be more efficient and harder to detect (both before, during and after the event)

Not to mention - how have They(tm) been able to keep their conspiracy under wraps?

Seriously - you pull off a massive gig like this, hardly the work of a couple of lone wolves - and no-one talks?

<comment><USER5> It's best not to think about it. Conspiracy theorists have a tendency to take confirmation bias to an extreme. If you provide a counter argument, they don't respond to that argument, they attack your character by "realizing" that you're part of the conspiracy too.

<comment><USER6> Isn't calling them "conspiracy theorists" itself an attach on their character?

Personally, I like to play devils advocate, and I'm curious about what happened on 9/11\. It doesn't add up for me. So I have taken the "conspiracy theorist" side several times... I don't see people making arguments against the theorists data.

I see the same common fallacies, most often variations of appeal to authority. "Popular science debunked that" for example in response to an argument that Popular Science didn't address.

"If it were a cover up it would have gotten out" in response to people pointing "it getting out" is my favorite, of course. Sort of a "I don't believe it, therefore it can't be right". Not sure what fallacy that is.

<comment><USER5> > Isn't calling them "conspiracy theorists" itself an attach on their > character?

I've never thought of it like that. For me, I've always looked at it as a literal definition. They theorize that there is a conspiracy. However, I guess it could be seen as an attempt on someone's character because it does have a negative connotation.

</comment></comment></comment></comment><comment><USER7> It doesn't talk much about the damage from impact and also jet fuel.

<comment><USER2> This is about WTC7, which was not hit by a jet, and did not come into contact with jet fuel. It's the only skyscraper ever to have collapsed from fire.

<comment><USER4> ... after getting a front-row seat to two massive buildings collapsing. There was some serious damage to the building from the collapse of the towers, which was after all responsible for starting many of the fires.

Also, as far as I'm aware, almost all skyscrapers with major fire damage are largely uncontrolled fires on one or two floors, rather than uncontrolled fires throughout the entire building.

Also: [http://www.sfgate.com/bayarea/article/Tanker-fire- destroys-p...](http://www.sfgate.com/bayarea/article/Tanker-fire-destroys- part-of-MacArthur-Maze-2-2575285.php) \--that's a steel structure (overpass, not a skyscraper) being collapsed entirely due to an out-of-control fire (due to a crashed gasoline truck).

<comment><USER6> I know paper burns at fahrenheit 451 (thanks Ray Bradburry)... what temperature does jet fuel burn at? Or that gasoline truck? I presume it's a much higher temperature.

The jet fuel that hit the twin towers was mostly expelled in massive fireballs, with some of it draining into the towers.

I don't see a reason to believe WTC 7 was saturated in jet fuel. So WTC 7 was a paper & wood and fabric fire, right?

</comment></comment></comment></comment><comment><USER8> > Meanwhile, unreacted nano-thermitic material has since been discovered in > multiple independent WTC dust samples [13]

[http://www.911research.wtc7.net/mirrors/bentham_open/ActiveT...](http://www.911research.wtc7.net/mirrors/bentham_open/ActiveThermitic_Harrit_Bentham2009.pdf)

Suspicious Indeed.

</comment><comment><USER9> FYI: Truther article

<comment><USER2> Is an article that comes to a conclusion different than the one you believe automatically false? That seems to be your only complaint.

<comment><USER4> Conspiracy theorists (in general) have been known to make stuff up, and non- experts who believe in them can easily parrot this stuff thinking it's true. A great example of this in history is the "Magic Bullet Theory" of JFK's assassination, which holds that the single bullet is false because the bullet would have had to make sharp turns to get to its next target, which is almost entirely based on made-up positions in a fake film.

Thus, for an article which is espousing that the towers came down only via controlled demolition, it is necessary to find independent sources of all facts mentioned, even ones as pedestrian as the expected weight of a floor of a building. (I haven't done the math myself, so I hold no opinion as to whether or not the numbers in the article are correct).

<comment><USER6> Your characterization of the Magic Bullet Theory is inaccurate. The error is in not realizing the car was of an unusual geometry (I believe JFK was elevated, and the seats were different widths apart between the front and the back- unusual for cars of the time.) So assuming the car was normal, and all the seats were the same distance apart and the same height, you would need a magic bullet. Applying deeper understanding of the setup of the car accounts for that, reducing it to the improbable bullet theory. That doesn't mean they were wrong, that means they didn't have access to the car to do direct measurements. When the government locks down the evidence (or in the case of 9/11 immediately ships it off to china, before the investigation begins, literally shipping buildings across the ocean to be recycled) it's not the fault of the conspiracy theorists if they come up with wrong hypothesizes when denied access to the evidence every legitimate researcher should have access to.

Regarding "fake film" you seem too be referring to Oliver Stones "JFK" which is not the source of the Magic Bullet Theory, or any of the theories there, it is merely a collection of the theories prominent at the time, and then fictionalized.</comment></comment></comment></comment>


Why You Should Get an MBA - <AUTHOR> https://medium.com/p/b894e3fb68be

<comment><USER2> Entertaining read, but many of the arguments are unfair. Two Chicago-Booth School of Business professors won the 2013 Economics Nobel Prize, as numerous business school professors have in the past. Just because they are not coding iPhone apps doesn't mean they aren't contributing value to the world. Google, Amazon, IDEO and Apple are among the leading givers of jobs at top b-schools now, so it's mindlessly cynical to say that everyone's becoming a consultant or banker. Lastly, the writer of the article runs a paid 12-week entrepreneurship bootcamp, which is his axe to grind against MBA programs. It's great to run a unique and much-needed program such as this, but it's not great to make your little kindergarten setup the centre of the universe.

<comment><USER3> Somebody seems to lack an appreciation for satire. Probably a B-School grad.</comment></comment>


The C10k problem: time for web servers to handle ten thousand clients - <AUTHOR> http://www.kegel.com/c10k.html

<comment><USER2> This is a really really old page. Interesting for historical reasons, but the limit isn't really there any more.

<comment><USER3> I agree the limit shouldn't be there, but the majority of web servers in common use don't use these techniques and so still top out at a few hundred connections, for whatever reason...

<comment><USER2> Sure. It's not a hard problem any more, but as you say, a lot of web servers still haven't had the pressure/motivation to fix it yet. Presumably some of that is due to so much being built on top of apache etc, they have come to rely on 1 thread/process per connection, so it's hard to change from that.

</comment></comment></comment><comment><USER4> It doesn't seem to mention yaws, the Erlang web server.

<http://www.sics.se/~joe/apachevsyaws.html>

<comment><USER5> The C10K page is historical; it's about 5 years old. Now that the Web serving problem has been solved there's not much point in updating the page.

<comment><USER4> Why was it posted, then?</comment></comment></comment>


Using Clang on Windows - <AUTHOR> https://arvid.io/2017/08/04/using-clang-on-windows/ <comment><USER2> "Unfortunately, getting clang to compile MSVC based projects isn't as easy as just dropping in clang and changing a few flags. Let's get started."

Errr, use clang-cl, and "yes it is". That's the whole point of clang-cl :)

<comment><USER3> What are the advantages of using clang-cl over the Microsoft c++ compiler?

<comment><USER4> By using clang-cl you are getting the advantage of the LLVM backend.

LLVM/Clang can target many different platforms besides windows and it is open source so it is sponsored by many large companies including Google Apple etc.

Google use it for Chrome for example (which includes windows) and have engineers working full time to meet their needs.

Intel, ARM, AMD and co have upstreamed many optimisations into LLVM also.

If you have a bug it probably will be resolved faster. Instead of waiting months for the next Visual Studio Release etc

In general, LLVM because of the intermediate bytecode language and well made libraries like libclang enables new kind of tooling.

Microsoft actually use LLVM themselves in many places and have a bunch of open source projects that use it, which is great

The would actually probably be better off retiring MSVC's c++ compiler and focus on clang along with everyone else because other companies are basically paying for the engineering for their platform with clang.

Unlike gcc the license for llvm/clang is more liberal so if they want private internal tooling they can still do that also.

<comment><USER5> > Unlike gcc the license for llvm/clang is more liberal so if they want > private internal tooling they can still do that also.

How can that be true? The definition of private internal tooling is that it's not publically distributed, and therefore, GPL isn't a concern.

Unless you distribute the result of your modifications to GCC, both clang and GCC are viable bases from which you make your internal tooling.

<comment><USER6> Wanting to distribute something externally does not mean that you want to release it publicly. Lots of "internal" tools are distributed to teams at partner companies and contractors, for example.

And more generally, the internal tool of today can become the hit add-on to your existing product of tomorrow, or a new product line. You want to retain flexibility.

Legal departments aren't just being paranoid when they insist on avoiding GPL- licensed code if at all possible.

<comment><USER7> Which is why the *BSDs have a bigger amount of contributions than GPL-licensed operating systems.

</comment></comment></comment></comment></comment></comment><comment><USER8> Looks like this is using clang++ instead of clang-cl, which sets almost all of these flags automatically.

<comment><USER4> Exactly, In fact clang, clang++ and clang-cl are all the same program. The frontend just behaves differently based on the file name.

Disclaimer: I am a LLVM Engineer working on a mingw-w64 standalone clang :)

<comment><USER9> Why is Clang so much slower than cl at compiling? On OS X / unix Clang seems so much faster.

<comment><USER4> By cl do you mean MSVC cl or are you asking about clang vs clang-cl ?

<comment><USER9> MSVC cl compiles much faster than clang / clang-cl.

<comment><USER10> Yes, this is something that is being worked on.

<comment><USER9> Can you point to an official discussion / svn commit chain that demonstrates this?

</comment></comment></comment></comment></comment></comment></comment><comment> brian-armstrong I tried using clang-cl recently but it produced a ton of linker errors for basic math functions. Does that mean clang-cl does not provide its own libc? And is there some guide that explains various C options on windows?

<comment><USER11> Are you trying to compile for MSVC or Mingw libc?

</comment></comment><comment><USER12> "Visual Studio 2017 will not work."

Ouch...

<comment><USER10> I'm not sure what is meant here.

"opting in" to VS 2017 is recommended when building Chrome for 64-bit Windows to get improved incremental linking support. (We still link Chrome on Windows with link.exe even when compiling with Clang.)

<comment><USER4> > (We still link Chrome on Windows with link.exe even when compiling with > Clang.)

I wasn't aware of this, I know Rui the COFF owner in lld puts in a lot of effort into lld for chrome link times. Maybe he just uses it as a benchmark then :D

I actually caused a regression in migrating def code from lld to llvm with symbol mangling because we were missing a test case for this specific type of mangling and within hours it ended up on a chromium bug tracker and was fixed also within hours by Reid another googler on LLVM.

<comment><USER10> Yes, I should have been a bit more clear. You can link with lld (we have bots running that do this; we're even setting up a bot that enables ThinLTO). But lld support for emitting PDB files isn't quite there yet.</comment></comment></comment></comment>


After AT&T Ruling, Should We Say Goodbye to Consumer Class Actions? - <AUTHOR> http://blogs.wsj.com/law/2011/04/27/after-att-ruling-should-we-say-goodbye-to-consumer-class-actions/

<comment><USER2> AT&T has nearly 100 million wireless subscribers now. If they can gin up a reason to add a $5 annual charge to every subscriber's bill, that's an extra $500 million to the bottom line.

Many customers won't notice a bogus charge like that. A few will silently gripe, figuring it isn't worth their time fighting. A few will complain to AT&T. Nobody will need to go to arbitration to get their $5 back, because AT&T will give it back if they're persistent. Even with maybe ten percent refunds, AT&T will have stolen away $450 million.

Class-action lawsuits definitely have been abused in the past and consumers often don't fare that well (whee, coupons) but the "arbitration" alternative doesn't give companies any incentive to treat customers fairly.

</comment><comment><USER3> I wonder if USA justices have been indicating to citizens that they should form their own company, elect representatives, foster contractual obligations between companies than individuals, etc.

You might think that sounds political, but it sounds tribal to me.

<comment><USER4> They aren't, and if they were they would be absurd. A corporation is a legal device for making money. You shouldn't need everyone to join/form one in order for democracy to work and justice to exist.

The simpler explanations tend to be correct, and that applies here: the American government is captive to corporate interests.

<comment><USER5> I live in a fully mutual housing cooperative; we each own a share in the 'corporate' body that owns the land we live on. It does not exist to extract or "make" money from us: it exists to receive and hold our collective rent (at rates which we set) and apply it as we see fit (on improvements, on other cooperatives requiring seed capital, and eventually, on renewing our lease from the council), to shield us from individual liability (e.g. in occupier's negligence), and to be a single voice or party in dealings (or even legal proceedings) with outside entities or individual members. Forming one enables our internal democracy to work, and protects and promotes out individual interests (especially in shielding us from personal liability). I disagree it would be absurd; I agree you shouldn't need to form or join one; but it helps.

</comment></comment></comment><comment><USER6> This conservative supreme court is a disgrace. It is a court that always sides with the prosecution over the defendant, the state over the condemned, the executive branch over the legislative, and the corporate defendant over the individual plaintiff.

<comment><USER7> The court ruled based upon the laws that Congress passed. I agree that the law needs to be changed, but that change must come from Congress. When judges overrule Congress it better only be because Congress violated the Constitution, otherwise you have judicial activism.

<comment><USER8> This was a case where the court split on partisan lines.

</comment></comment></comment><comment><USER8> Does the article cut-off or something? It says "...we just might be getting ahead of ourselves. Let's back up."

But it never really revisits the initial claim that this could kill class actions...

<comment><USER9> The article argues that the Supreme Court interprets the Federal Arbitration Act as superceding state class action rules. It's a borderline thing, I suppose (5-4 decision), but it seems like a fairly straightforward ruling, predictable for this court, and a pretty defensible interpretation of what the law meant and Fed > State precedent.

</comment></comment><comment><USER10> "What rational lawyer would have signed on to represent the Concepcions in litigation for the possibility of fees stemming from a $30.22 claim?"

Isn't this the purpose of small claims court?

That question actually sums up my dislike of most class actions. It's not about righting a wrong, it's about a lawyer winning the jackpot. I've been a part of about a dozen class action settlements, and had I dug up sales receipts from ten years ago, could have earned myself awards sometimes approaching $5.00. Meanwhile, the law firm earned about $10 million. Not bad for a year's work.

<comment><USER3> You might assume it's a lawyer hitting the jackpot, but the company had to pay it out of their coffers. The hit to the coffers (typically investors' money) means the company needs to avoid doing the same issue again.

Same argument for governments. If the taxpayers are upset at government losing taxpayer dollars in court, then they have their chance to voice a change in government. The opposition could point out the waste in next election and the current government gets defeated.

If you don't want to be part of a suit for $5.00 refunds, you can put yourself down as an exception. You can then sue them yourself.

<comment><USER4> Exactly. Griping about lawyers getting a payday is just class warfare nonsense. (I agree they generally get too much, but this is throwing the baby out with the bathwater).

There is also the argument that when companies lose lawsuits they just pass the expense on to the consumer. I've always thought that was part of the point though. If the company in question is a monopoly however, I suppose there is some merit to that...

</comment></comment></comment><comment><USER11> It's worth noting that the Supreme Court is not the ultimate say. If the SCOTUS does something that the public does not approve, the duty of the public's elected representatives is to change the law such that it is brought into line with the interests of their constituents. The judiciary does not make law, but they do decide what the law means, and in this case the Federal Arbitration Act was decided to disallow a class-action lawsuit.

If you're worried that class-action will disappear all together, let your representatives know.

<comment><USER12> Going from experience, SCOTUS is really the ultimate say. Can you think of any ruling SCOTUS has made that was against the publics favor that was then rewritten by lawmakers? I can't think of one. It's quite understandable that people believe the legislation has been bought by corporations. If any new law does get written its going to be written by corporate lobbyist to favor the same corporations it's trying to rule over.

Remember these are the same representatives that passed the Federal Arbitration Act. That act and this ruling make it all but impossible to punish corporations for malfeasance. This is why it's important to vote. Whoever leads this country will have an impact not for the next 4-8 years, but possibly 20-30. This ruling was made 5-4 along party lines. The majority were Reagan, Bush I, and Bush II candidates. Remember that when someone tells you they won't vote because they don't like either party.

<comment><USER13> 1\. It's easy to name a ruling on a statute that was then revised--this is not that uncommon. Try [http://en.wikipedia.org/wiki/Ledbetter_v._Goodyear_Tire_%26_...](http://en.wikipedia.org/wiki/Ledbetter_v._Goodyear_Tire_%26_Rubber_Co.). The Court's ruling hewed close to the text of Title VII, but Congress didn't like the outcome, so it changed the law.

2\. The Federal Arbitration Act was originally enacted in 1925 (and has been amended and interpreted quite a bit over the years, obviously). Today's Congress is not composed of the same representatives who passed the act, nor does its view of arbitration necessarily reflect the view of those who enacted it originally.

3\. This is not a cut-and-dried liberal vs. conservative issue. There are complicated issues of preemption of state laws by the FAA, and what constitutes "unconscionability" in an arbitration agreement--which has been in the Court quite a bit lately (see Rent-a-Center v. Jackson from last term).</comment></comment></comment>


Ask HN: DIY Home Automation - <AUTHOR> I want to try my hand at a self rolled basic home automation system. I am looking to have very basic automation like turning the lights on/off, playing some music on the speakers etc. I am not very keen on using IOT devices that connect to the internet, but am open to hear about secure solutions for that as well. Would love to hear how other people have gone about with DIY solutions for this? <comment><USER2> Check out Home Assistant, it's exactly what you're looking for. Open source, easily extensible, plugins for every iot device out there. Get a Raspberry Pi, install Hassbian and components for your IOT devices. It can run entirely on your home network without connecting to the internet and be easily extended via Python.

If you're comfortable with Arduino, get some $5 Sonoff switches and flash them with custom firmware.

<comment> o-__-o Also consider OpenHAB as it is less configurery and gives you a basic front end and backend ui out of the box. It has a drag and drop ui builder for fancier dashboards, and supports a full backend scripting system. It's based on java and integrates with tons of automated products. It has a cloud connect function for your own server or their own cloud service. The mobile apps work (but missing functions I would like, such as translating hardware volume controls to automation actions), provide security cam integration, and support internal and external URL's based on your WiFi.

I found openHAB much easier to setup with my zwave devices, DCS security integration, stereo controls, and custom actions based on external data (I have security cameras running through OpenCv that fire alerts)

Also openhab supports MQTT so you could even integrate home assistant and openhab together!

</comment></comment><comment><USER3> Hey! I've made [https://github.com/deepsyx/home- automation](https://github.com/deepsyx/home-automation) about 2 year ago, it might give you some inspiration :) It controls the lights, ac, heater and displays the current temp on mobile app

<comment><AUTHOR> Wow! I am sure that I would want to integrate some of the ideas from your project especially the servo motors and IR emitters since I don't want to replace the existing hardware in my house.

</comment></comment><comment><USER4> As a nodejs dev, NodeRED appealed to me. I have lights, curtains, irrigation, aquarium, etc all controlled from my phone/tablet via a raspberry pi.

</comment><comment><USER5> I know this isn't the most informative post, but a lot of the IT guys in our operations unit do a lot of DIY "home-improvement" projects. It's stuff like controlling lights, automated blinds, monitoring their indoor plants,3D printing tools for their expensive bikes.

It's all self-made and most of it is self programmed and hosted on whatever hack solutions they use, and they mainly use YouTube videos for DIY electronics to make it happen.

Like I said, not that informative for a HN reply, but I would start there.

<comment><AUTHOR> Thanks, I have been looking at subreddits and youtube videos like you have mentioned. I posted this here because I feel responses here would help me have a better filter for stuff I can find online since there can be a lot of things that can be done horribly wrong :)

</comment></comment><comment><USER6> You said you are not too keen on internet connected devices but look into the qolsys IQ Panel 2, it ca integrate z-wave, rf and more and you can control it with an alarm.com account. this would be a mix of DIY and commercial app but I can tell you it's a solid solution. The comms between panel and iot devices is not over internet and you would have only one point connected which is the panel.

</comment><comment><USER7> I'm using homeseer. It offers a lot of integrations, there are plugings for functionality, but you can also write your own or add scripts. It enabled me to smart small. The experimenting and small steps ensured the WAF (wife acceptance factor) to be high.

I tried several open source solutions but they just needed to much work or upgrading broke stuff. Nog good for the WAF.

</comment><comment><USER8> I have homeassistant running on a pc with cameras attached. Dont have a great solution for cameras, but xiaomi sensors and switches with zigbee interface works solid.

</comment><comment><USER9> If you plan on taking it seriously at some point (Own your own place and want hard-wired gear, switches, and outlets), I would highly recommend Indigo ([https://www.indigodomo.com/](https://www.indigodomo.com/)) and Z-Wave. The OSS tools are not something I'd trust my property or life to, especially if you need to manage things like Water Valves, Garage Door Openers, Locks and Gates. They're also full of bugs and once you start to add hundreds or thousands of devices most solutions start to break down or become unmaintainable (constantly editing JSON or XML files, etc)

</comment><comment><USER10> Check out the relevant Reddits r/homeassistant and r/homeautomation.

I started using Home Assistant a year ago and it has become a fun hobby.

</comment><comment><USER11> try [https://www.openhab.org](https://www.openhab.org) very extensible, and even has some open source mobile apps</comment>


Beginning Game Programming in C++ - <AUTHOR> http://lazyfoo.net/tutorials/SDL/index.php <comment><USER2> [https://handmadehero.org](https://handmadehero.org) is a project that teaches how to write a game from scratch. He starts without even using OpenGL.

It's mostly C, but he does use the C++ compiler.

<comment><USER3> I guess the opposite of that (Without introducing editors) would be Cocos2d-x. You could still stay in C++ code-land but get everything out of the box (ECS, Memory management, scenes, etc)

<comment><USER4> I've been using cocos2d-x for a few months now to create my first game, and I am really impressed with it.

</comment></comment></comment><comment><USER5> It would be great if lazyfoo had a changelog. Looks like it was last updated on 2016/2/15, but who knows what was updated? I mean I've been visiting lazyfoo since 10 years ago...

</comment><comment><USER6> I hope someone will make a tutorial for using SDL with Vulkan.

 _> You should not be trying to use multithreaded optimization. Play with fire and you will get burned._

That's some poor encouragement there. They should be teaching how to do multithreading properly instead, or referring to such resources. May be using languages like Rust where multithreading is more sane will encourage using it more.

<comment><USER7> As I discovered to my misfortune recently, SDL2 is a nightmare of undefined behaviour when you start involving multiple threads, even if you're doing things in what naively would appear to be the correct way with locks and the like. Depending on your OS and GL backend, a bunch of stuff is thread local and will bomb out or just fail to do anything. In the end I ended up having to do everything SDL related, not just rendering, but including things like polling the keyboard and mouse, inside one thread, with mailboxes back to everywhere else. The documentation was pretty weak on explaining this, too.

<comment><USER8> I find this hard to believe. I've implemented multi-threaded rendering engines with OpenGL without too any major issues. As long as you aren't adding multiple threads to the main render loop, you shouldn't have these issues. Could you elaborate?

<comment><USER7> This is with SDL overtop of OpenGL. I never had problems on Linux as long as I kept the rendering in its own thread, but on OSX I had more serious problems with SDL_PollEvent simply failing to do the right thing if not called from the main thread, if I recall.

</comment></comment></comment></comment><comment><USER9> That's a classic one. I used to refer to this website for SDL related projects.

<comment><USER10> It's awesome that he's reworked them to stay up to date - I remember poring over the SDL 1.2 tutorials almost ten years ago. Also looks like the OpenGL page is updated as well - no more immediate-mode 1.0 stuff, like there still is in the Nehe tutorials that everyone used to use.

</comment></comment><comment><USER11> Here's the tutorials I used to learn game programming in C: [http://bespin.org/~qz/pc-gpe/](http://bespin.org/~qz/pc-gpe/)

.. 20 years ago :(

</comment><comment><USER12> C++, not C :(

<comment><USER13> Thanks. Fixed.</comment></comment>


Smart Columns w/ CSS & jQuery - <AUTHOR> http://www.sohtanaka.com/web-design/smart-columns-w-css-jquery/

<comment><USER2> 2009 version of responsive layout?

</comment><comment><AUTHOR> This script may help out [a lot] if you're consistently using grid layouts but have the occasional li-located items that have inconsistent content that will break up a predetermined grid layout.</comment>


Restoring a Teletype Model 15 - <AUTHOR> http://www.aetherltd.com/refurbishing15.html <comment><USER2> That's my site.

I restored five Teletype machines, and they were at major steampunk conventions for almost a decade. Here's our telegraph office.[1]

I know about the guy at the Computer Museum, although I've never heard from him. He built one of my interface boards. I built an interface that drives one of the old teletypes from a USB port. It's entirely powered from the USB port, even though it has to deliver 120V at 60mA.[2] He's also using my "baudotrss" software.[3] He's much more into YouTube than I am. I never dreamed that anyone would want 12 hours of Teletype restoration videos.

These machines were designed to be maintainable, at three levels. First, the big components are hot-swappable. Remove two thumbscrews and the keyboard slides out. A switch closes when you do this to take it out of circuit. Remove three thumbscrews and the typing unit lifts out. Again, a switch closes so this doesn't break the current loop and interfere with other machines on the loop. Replacing the motor takes a screwdriver and about two minutes. That's everything except the cast iron base and some switches and wiring. So a quick swap in the field will get you going if you have the spares. It was routine to swap these big units and take them back to a shop for cleaning and oiling once a year or so.

At the next level of maintenance, there are removable subassemblies. The carriage and the selector assembly, the most complicated subunits, come off easily with tools. So they can be swapped by first-line maintenance if necessary.

Finally, every part can be unscrewed and replaced if necessary. That's why these machines still work. They are totally maintainable. However, they require considerable adjustment after maintenance. Measuring spring tensions and clearances is required, not just parts changing. Fortunately, the very detailed manuals have survived.[4]

The price of this maintainability was the need for too much infrastructure. Maintenance depots. Teletype mechanic schools. The military had two levels of school - one to do installation and maintenance down to sub-assembly replacement, and one for the shop techs who had to be able to totally disassemble and reassemble a machine. All specialized for one or two very specific machines. That's expensive.

[1] [https://vimeo.com/124065314](https://vimeo.com/124065314) [2] [https://github.com/John-Nagle/ttyloopdriver](https://github.com/John- Nagle/ttyloopdriver) [3] [https://github.com/John- Nagle/baudotrss](https://github.com/John-Nagle/baudotrss) [4] [http://www.aetherltd.com/manuals.html](http://www.aetherltd.com/manuals.html)

</comment><comment><USER3> And remember, boys and girls, that the correct sequence is CR LF, and not LF CR. If I see LF CR in your C code I will slap you with a review comment, just out of nostalgia, even though modern printers rarely drip oil. CR can take more than a single character time for the carriage to move to the left and settle, so to avoid print corruption, issue CR first, and then LF so that the carriage also has LF time to settle.

Back many moons ago I used to operate RTTY on ham radio. On the air, since characters can be easily lost, the standard end-of-line sequence was often CR CR LF LF NUL NUL in case a CR or LF got clobbered by a static crash or such, and the NULs are extra settling time. (Usually we also configured "unshift-on- space" because a lost LTRS in Murray code is annoying. We all assumed the other end was running U.S.O.S. so always assumed SPACE took the receiver out of FIGS mode and therefore sent a redundant FIGS after SPACE.)

If you are wondering why UARTs can be configured for 5 data bits and 1.5 stop bits.... Murray code as used in Model 15's is why. Once upon a time I did a Apple II program in 6502 assembly that gave me a "glass TTY", split screen, received text on the top 2/3's of screen, sent on the bottom. Interfaced to a HAL ST-6000 (I loved that box. I still have it collecting dust somewhere). Eventually I ported the glass TTY to a Macintosh I.

Now... where did I leave my cane? And get off my lawn.

<comment><USER4> I have never seen LFCR in C or any other code (but plenty of LF and CRLF, and since OS X, very rarely just CR). I know your comment is tongue-in-cheek but I am genuinely curious if LFCR is otherwise common in some obscure niche.

<comment><USER5> The OSs for Acorn computers printed it in that order, as it made the 6502 version of the translating print routine (that would translate CR into LFCR) a few bytes shorter to print them in that that order: (not exactly the code in the ROM, but not meaningfully different)

        osasci: ; print ASCII char, preserving A, translating CR->LFCR
            cmp #13
            bne oswrch
        osnewl: ; print newline, overwriting A
            lda #10
            jsr oswrch
            lda #13
        oswrch: ; print ASCII char, preserving A
            ...
            rts

(According to Wikipedia, this ordering survived into the ARM range! - maybe it helped with the ARM code too? Or perhaps they wanted the output to be identical, or nobody thought it mattered which order you print them in... no idea.)

CR on its own was the standard line ending, but if you saved screen output (e.g., a BASIC listing) to a file you'd find LFCRs in the file, and if you played the output back as input you'd see a bunch of blank lines added due to the additional cursor movements.

I suppose this must have affected printer output, but I don't remember it causing any issues as the printer interface had some kind of flow control.

</comment></comment></comment><comment><USER6> CuriousMarc, a volunteer at the Computer History Museum, recently finished a video series restoring two Model 19 teletypes into working order. It's a long series but eventually explains how the devices work at all levels, and shows off some of the more niche features of the ttys. Well worth the watch.

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

<comment><USER7> That's a tremendous series. The mechanicals in these things are mind bending.

</comment></comment><comment><USER8> Another "rocking chair" story...

I grew up (60's) with a few of these clacking away in my father's HAM shack. He was a member of the Military Affiliate Radio (MARS) program, and used to get things like TTYs for free.

He was really open about letting me mess with things (as long as I didn't take things apart or transmit), so I spent a lot of time playing around with them, feeding punch tapes into them to print things, etc. I knew at the time that punch tapes were a/the recording method for computer programs on mainframes, so I had a lot of "this is a computer" fantasies rolling around in my brain.

</comment><comment><USER9> We had one of these when I was a kid in the late 1970s. My dad built what was essentially a modem and used it to connect the teletype to an old Motorola single channel radio with a crystal tuned to the amateur radio (Ham radio) teletype repeater in Dallas, Texas. There was a community of Ham radio teletype (RTTY) users in Dallas with similar setups that formed what was essentially a chat room. There was even one Ham that had a PDP-11 minicomputer connected to his system that acted like a chatbot. You could send a message to it to get weather reports and a few other interesting functions. When I would come home from school each day, I would find several feet of paper had come out of the teletype, and I would scan it to see what had been said while I was gone. If I wanted to contribute and the channel was clear, I would flip the transmit switch and start typing. Everything I typed would appear on all of the other rigs that were connected.

We could also connect the modem to my dad's HF radio and chat with RTTY operators all over the world. I would spin the tuning dial until I heard the distinctive RTTY tones. I would adjust the tuner until the pitch sounded correct and then turn on the teletype. Often garbage would come out until I got it tuned in perfectly, and then I might see someone calling to start a conversation, or a conversation already in progress. Sometimes I would catch a teletype art (ASCII art using 5-bit Baudot code) picture in progress. If it looked interesting, I would stay tuned in case they repeated the transmission. This took a while because these machines operated at 60 words per minute (~6 characters/second).

After a while, my dad upgraded to a Model 19, which had a paper-tape punch and reader. This allowed me to create my own teletype art, so I worked several hours creating an R2-D2 that I was very proud of. I sent it to several people and was thrilled one day when I was tuning around and recognized my R2-D2 being sent by someone else.

When my dad later brought home an Apple II, he was able to connect the Apple II to the modem, so we replaced the Model 19 with a Model 28 RO (Read-only), which did not have a keyboard or paper tape, but that was okay because we used the Apple II. Because modern computer printers like an Epson MX-80 were rather expensive then, we used the teletype as our printer, and I even turned in some school papers printed on the teletype in all-caps on yellow paper torn off from a roll. (I'm sure my teachers loved that.) When we eventually did get an Epson printer, it was hard to justify keeping the bulky teletype, so it was sold. We still did some RTTY now and then on the Apple II, but it wasn't quite the same as having the teletype machine left on all day. Of course, most of the rest of the RTTY community was also moving to microcomputers, and the hobby began to rapidly change. Then I went off to college to study computer science and haven't done much with amateur radio since then.

<comment><USER10> We have this setup at my local hackspace in Montreal. Most HAM folks have not been very active in the last few years and the Twitter API changed so the teletype monster is now quiet again. I guess the IRC module could still work if someone with the time and the knowledge would oil the gears. The idea at some point was to use modified bi-directional pagers and the teletypes for a city wide wireless comm network. It is a wonderful machine to see in motion. Electromechanic computers are amazing.

Reminds me of other examples such as [https://arstechnica.com/information- technology/2014/03/gears...](https://arstechnica.com/information- technology/2014/03/gears-of-war-when-mechanical-analog-computers-ruled-the- waves/)</comment></comment>


Show HN: Exit the Room – strategic game about exiting a room - <AUTHOR> https://nassims.itch.io/exit-the-room <comment><USER2> I never saw a game quite like this. This is really original. I really liked the last level. The attack coin is a clever idea. You could possibly make a complete rpg à la Fire Emblem with this. Maybe this should be something you could explore for a future project.

</comment><comment><USER3> This is a nice game! Love the coin mechanic.</comment>


Show HN: Nots.io – a developer-centric look at how to document your code - with-point https://nots.io <comment><AUTHOR> Hi Alex

Love the idea. I love there are people working on this kind of tool.

My biggest question is where the data is stored. I think the storage model for the comments should be mentioned in the FAQ. If it is on your server only then I don't think I'd use it.

I would ideally like the comments to be stored as metadata files committed to the repo or inline with the code. I'd probably therefore prefer a tool-user- based pricing model. And I think $100/y would be a fair price per user.

I don't get the repo based pricing. I could have a repo with a single docker file in, or a repo with a million lines of C++. Having a lot of repos forces me onto the expensive per-user licensing. It would be ok at $100-$200 /y but $69/m === $828/y seems too much. That's 1%+ of a senior dev's salary in most part of the world, for one tool.

<comment> with-point Hey, @mc3

Thanks for your feedback! This is the reason why we posted our work on HN. I really appreciate it!

You won't believe, storing Nots data as a separate git repo or as a metadata was our initial thought when we were starting the project. But it quickly became clear that it's too complicated, pollutes the repo, hard to query. Lots of downsides. But we know that everything you entered is your data, and we cannot lock you on the service. We're thinking of one-click export of your current docs snapshot as a nicely formatted HTMLs. Maybe even make a recurring task of sending such snapshots by email once in a while. Will figure it out. Stay tuned.

As of prices, it's a fair point. Now it's clear that we have to review per- user prices. And you're right, something around $100/y is fine. Thanks for your suggestions!

<comment><AUTHOR> Thank Alex for the response.

Looks like you have run up against a shortcoming of git itself. I accept that you may need to store the data on your end for those reasons. If this is the case it might be worth having that in the FAQ too, and convince me that you ensure a decent uptime and that you can export the data nicely if you want to move on later.

Good luck with it. Hope it does well.

<comment> with-point Gonna make a new section in price FAQ with this question. Thanks for your input!

</comment></comment></comment></comment><comment> with-point Hi HN,

I'm Alex of Nots.io ([https://nots.io/](https://nots.io/)) Nots is a SaaS for engineering teams aimed to help keep project docs up-to-date by linking them to the source code.

The problem: During my career, I saw so many times, how the company's docs and internal knowledge pile up in some knowledge base, wiki, google docs or simply in .md files in the repo. And after a while, everything turns into a mess. It's hard to find the right document and determine whether it actually covers the code developers are working on right now. When you find something, it's tedious to detect if the document is not outdated and everybody can trust it.

That's why a few friends and I decided to build a tool to reflect our look at the documentation. With Nots.io it's possible to link any type of doc directly with the code. Make a short note or full-blown markdown spec right at the site. Upload an exiting image, PDF or import GoogleDoc file from your GDrive. Automatically import description and discussion from GitHub pull requests. Get links from jira issue numbers. We know that docs could be spread across many places. Then in the system select several lines of code, whole file, commit or branch and link the doc you have with the code. Now all docs have a clear scope. It's easy to discover what is documented from our site or right from your IDE (right now we have plugins for VSCode and IDEA). Open a file, and if there's a document for a line(s) added before, you'll see an icon. Click and get the documentation!

We also track the relevance of each added document. When new commits come in and the code behind the doc changes, we decrease its relevance factor (we call it the fresh-rate). This answers whether the doc is fresh today, and you may rely on it. All this keeps the documentation up-to-date.

As a Product Owner/Business Owner I'm currently using this tool for leaving and exploring documentation for Nots. Would love to get your feedback!

<comment><USER2> What kind of information is this best suited for? What is best to use nots for, and what belongs in a comment?

<comment> with-point Any information around the code: short text or link on what code does. The bigger technical specification in markdown. PDFs/images/GDocs that describe why code looks the way it looks.

You're using some non-standard language feature -- document! Choosing a library over its competitor -- leave a note! Re-writing or re-implementing a module, making some tradeoffs in code, dropping an existing feature -- all this should be saved in docs. For the future-you, for your colleagues, for the newcomers, for teammates who work remotely.

We make this internal "tribal knowledge" to be accessible for anybody in the team in a couple of clicks.

</comment></comment></comment><comment><USER3> How do you justify prices per user that are greater than GSuite+GitHub+ZenHub?

Seems super expensive for adding icons/links to my code editor (I actually use vim, so no support)

<comment> with-point We have 2 levels of prices:

\-- per project, no matter how many teammates involved into documenting stuff

\-- per user, if you're quite big org and have lot's of colleagues and lots of repos/projects.

If your entire team saves at least one hour per month searching for information or finding answers in knowledge bases, then this costs more than your expenses on Nots.

We're a self-funding startup and not going to sell your data to G or Microsoft. We're working hard on new integrations and new plugins. Especially for vim, as I'm also a vim user since early 2000s.

But if GSuite+GitHub+ZenHub entirely fit your needs, you can quickly find documentation for the code you're working on right now, and they give you the document relevance info, then I'm the first person who will advise you use this stack. Because our main goal is to make engineers more productive, probably with our tool. And certainly to keep documentation up-to-date :-)</comment></comment>


Vietnam's Low-Tech Food System Takes Advantage of Decay - <AUTHOR> http://www.lowtechmagazine.com/2017/02/vietnams-low-tech-fermentation-food-system-takes-advantage-of-decay.html <comment><USER2> I grew up in the countryside of Vietnam during the first 10 years of my life. My neighbor was making rice wine at that time and man, did they know how to make ruou nep (fermented rice that is a byproduct of the rice wine-making process). It is somewhat alcoholic (5% or less) blended with a very sweet taste (sugar is the byproduct of fermenting process), with the remnants of rice that one can chew on. I think the dish could actually be made popular in the States because it doesn't have a weird smell which a lot of the fermented stuff does.

Wondering why hasn't anyone capitalize on that yet.

<comment><USER3> I think its a perspective issue when looking at market opportunities, having worked with a few dozen older Vietnamese immigrant business owners who came here at after highschool, they tend to learn a skillset and buy a business in that vertical and stick with it, operating it from rote memory with baseline rules (sell at 25% above cost) that keep them moderately profitable, but prevent them from ever having the scale or capital of Uwajimaya or other businesses like Walmart that know how to merchandise and sell more items due to placement in store and similar tactics.

Then you have the 1st generation or those like yourself who went to middle school & highschool stateside and soaked up some American culture, maybe learned some critical thinking skills or had to take a business course or two, and this group either wants absolutely nothing to do with the family business or small businesses in general, or they end up taking over the family business or starting their own to varying degrees of success, but using much different tactics that often net better results.

</comment></comment><comment><USER4> Fermented vegetables and fermented fish no problem, raw fermented pork? Sounds horrific till you remember it's the same thing as salami, delicious.

</comment><comment><USER5> We have a huge amount of fermented food next door to Vietnam in the Chinese province of Yunnan, too.

If you are interested in fermentation, check out some of the foodtech torrents recently posted on TPB. Two academic books were specifically about different types of fermented foods in South Asia and Southeast Asia.

Unfortunately I'm traveling now so can't identify which torrent it was, but if you seek ye shall find (~3-4 weeks ago?).

</comment><comment> norea-armozel I wish I could eat some of these foods but one thing really hold me up which is how sensitive my gut is to certain fermented foods like sauerkraut. I don't think I could gently adapt to it because even a small amount of such food causes a very painful reaction. So, I think I'm boned when it comes to eating anything beyond boring US processed foods.

<comment><USER6> What about yogurt?

<comment> norea-armozel Most yogurts play nice with my stomach in moderation. If I eat lots of it then gas city and pain for me.

<comment><USER7> ey—author of article here, aaron i had a similar issue when i first started eating fermented foods. but before that i had a lot of gas issues in general. eating fermented food made it especially bad, i had huge stomach aches. but i started preparing my own kombucha, and eating lots of sauerkraut type stuff. so yeah it got really bad for a while, my stomach was incendiary, but then after a month it actually passed. its like it hit some kind of plateau, where my stomach got used to it after beign totally surprised by it for a while. bonus: my general stomach aches and gas issues disappeared after i was more used to fermentation in my diet. im not saying it would be the same for you, but i do think its worth trying. be careful and see if you can deal with it, but dont be afraid if at first you have a bad reaction... that might change after a while.

<comment><USER8> Yeah I don't see signing up for weeks of pain for some possibility of benefit. Are folks desperate for some solution to gastric problems, that makes this an attractive route?</comment></comment></comment></comment></comment>


BLIS:  BLAS-Like Library Instantiation Software Framework - <AUTHOR> https://github.com/flame/blis <comment><USER2> There's also [libflame]([https://github.com/flame/libflame](https://github.com/flame/libflame)) by the same group, which is a higher-level API for matrix computations. The library's API si such that you can derive an algorithm (along with its proof of correctness) on paper and then translate the notation of the proof directly into code.

</comment><comment><USER3> BLAS: [https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprogra...](https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms)</comment>


Open source GPGPU IP core - <AUTHOR> https://github.com/jbush001/GPGPU <comment><USER2> Off in the wiki, there is a "How To Add An Instruction" page which gives a good idea of the scope of the project. It includes extending the instruction set, chip logic, assembler, compiler, and simulator along with tests for each of these.</comment>


He's Still Neutral - <AUTHOR> https://99percentinvisible.org/episode/hes-still-neutral/ <comment><AUTHOR> How using a nursery garden Buddha statue to stop dumping on a public space had unintended consequences.</comment>


How to Implement Perl 6 in Ten Years - <AUTHOR> http://perlmonks.org/?node_id=835731 <comment><AUTHOR> And for a bit of reference:

* Original Perlmonks thread from where this post originates: <http://perlmonks.org/?node_id=835419>

* Pugs is a Perl6 implementation written in Haskell: <http://en.wikipedia.org/wiki/Pugs>

</comment><comment><USER2> Ugh, Perlmonks allows anonymous blog comments? My eyes, the goggles do nothing.

<comment><USER3> Yes but perlmonks.org rocks anyway.</comment></comment>


Lexical Distance Among the Languages of Europe - <AUTHOR> https://elms.wordpress.com/2008/03/04/lexical-distance-among-languages-of-europe/ <comment><USER2> It's a pity that the Basque language is not in this graph.

From wikipedia [1]:

> The impossibility of linking Basque with its Indo-European neighbors in > Europe has inspired many scholars to search for its possible relatives > elsewhere. Besides many pseudoscientific comparisons, the appearance of > long-range linguistics gave rise to several attempts to connect Basque with > geographically very distant language families. All hypotheses on the origin > of Basque are controversial, and the suggested evidence is not generally > accepted by most linguists.

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

<comment><USER3> Or Yiddish and its variants.

</comment></comment><comment><USER4> This is for entertainment value only. There are many ways to get ratings of language similarity (see [https://en.wikipedia.org/wiki/Quantitative_comparative_lingu...](https://en.wikipedia.org/wiki/Quantitative_comparative_linguistics) for an overview) and this graphic is from a paper published before Bayesian phylogenetic methods took over the field (I can't read the original Russian though).

For more recent research, see the second two figures at [http://language.cs.auckland.ac.nz/media- material/](http://language.cs.auckland.ac.nz/media-material/)

<comment><USER5> Would you say that more recent methods allow us to talk about degree of language similarity in a way that is objective enough and meaningful/useful enough that the results are _not_ "for entertainment value only"?

<comment><USER4> "Objective enough" isn't the issue, rather it's how confident we are in the inferences. And yes, I would say that the new methods are preferable because 1) they do a better job of explicitly quantifying and representing uncertainty 2) they use more sophisticated source data/features.

</comment></comment></comment><comment><USER6> And then there's Hungarian, my ancestors, way off on the side, where no one really knows where it came from.

<comment><USER7> There seems to be some agreement that Hungarian is one language of the Ugro- Finnic family together with many others: [https://en.wikipedia.org/wiki/Finno- Ugric_languages](https://en.wikipedia.org/wiki/Finno-Ugric_languages) but you're right about unclear geographical origins.

</comment></comment><comment><USER8> See also "the directed graph of stereotypical incomprehensibility" [http://languagelog.ldc.upenn.edu/nll/?p=1024](http://languagelog.ldc.upenn.edu/nll/?p=1024)

</comment><comment><USER9> No connection between Greek and Italian doesn't seem right. Many Italian words are influenced by Greek, to the point that antique Greek is studied in some schools.

<comment><USER10> And vice-versa: modern Greek has borrowed quite a few words from Italian, e.g. Porta (Door).

The Greek-Dutch connection is a surprising one as well, I'm not sure what they're basing it on.

</comment></comment><comment><USER11> Graphics is useful, but the underlying data is imprecise: it shows that Serbian is closer to Russian than Belorussian, which is just wrong.

</comment><comment><USER12> Is the reason English is closer to Danish because the Anglo-Saxons spoke something like that or is it because of Vikings conquering parts of England for a while?

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

<comment><USER13> The Saxons, Angles and Jutes that invaded after the fall of Rome all generally came from Denmark[1].

Most of the Norse who subsequently invaded in the 700-1000 were either Danes or Norwegians[2], and settled in pretty large numbers in East Anglia, Northumbria and Mercia.

Then the Normans, who were in large part Danes and Norwegians that had gotten bought off with a piece of France came over in 1066.

I don't know how accurate this is, but in Bernard Cornwell's Uhtred series, English and Danish are different enough that they aren't really mutually intelligible.

[1] [https://en.wikipedia.org/wiki/Angles#/media/File:Angles_saxo...](https://en.wikipedia.org/wiki/Angles#/media/File:Angles_saxons_jutes.png)

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

</comment></comment><comment><USER14> It's so funny that Spanish-Catalan-Italian are strong but Spanish-Italian are weaker. As a Valencian (we also speak Catalan) I understand most of the Italian I hear, but for most people in Spain it's not so easy

</comment><comment><USER15> I read somewhere that English is quite rare in that it doesn't have at least one mutually intelligible near relative. If true, the diagram doesn't reflect that.

<comment><USER4> That seems like a weird assertion on the part of whatever you read, because 1) it isn't clear what constitutes a separate, well-defined language (see [https://en.wikipedia.org/wiki/Dialect_continuum](https://en.wikipedia.org/wiki/Dialect_continuum)) and 2) mutual intelligibility is a gradient, not a binary.

Many speakers of Standard American English have to turn on subtitles to understand what's going on in movies from the UK (like Trainspotting). So maybe we call a great many things English?

<comment><USER15> For what it's worth, I think I recall where I read it. "The Power of Babel" a popular science linguistics book by John McWhorter. I'll see if I can dig up the quote later and report back......

</comment></comment></comment><comment><USER15> I can't think of a fourth big Scandinavian language that abbreviates to BOK. Swedish, Norwegian, Danish .... ?

<comment><USER16> Norwegian Bokmål, a written form of Norwegian.

[https://en.m.wikipedia.org/wiki/Bokm%C3%A5l](https://en.m.wikipedia.org/wiki/Bokm%C3%A5l)

<comment><USER17> So "NN" is presumably Nynorsk, then.

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

</comment></comment></comment><comment><USER18> Posted by Teresa Elms on 4 March 2008.

<comment><USER19> yes.

</comment></comment><comment><USER20> I don't think there should be a link between Slovene and Albanian.

<comment><USER21> I don't know either language (they're distantly related), but I'm guessing they might have borrowed words from each other. Swedish and Finnish are completely unrelated, and are also linked, presumably for the same reason.

<comment><USER22> If Albanian should be connected to any Slavic languages, though, it should be connected with Serbian, Macedonian, and Bulgarian, the languages that it neighbors, and which have exerted mutual cultural influence on each other. The point the commenter above was making is that choosing Slovenian specifically to be the linking language to Albanian in the _sprachbund_ is very arbitrary.

<comment> barry-cotter [https://en.wikipedia.org/wiki/Sprachbund](https://en.wikipedia.org/wiki/Sprachbund)

A sprachbund (/ˈsprɑːkbʊnd/; German: [ˈʃpʁaːxbʊnt], "federation of languages") – also known as a linguistic area, area of linguistic convergence, diffusion area or language crossroads – is a group of languages that have common features resulting from geographical proximity and language contact. They may be genetically unrelated, or only distantly related. Where genetic affiliations are unclear, the sprachbund characteristics might give a false appearance of relatedness. Areal features are common features of a group of languages in a sprachbund.

</comment></comment></comment></comment><comment><USER23> Interesting that Greek is so isolated, even though so many European languages are derived from it. Maybe it's because Greek was essentially a dead language that was reintroduced, so other languages had drifted far from it?

<comment><USER24> Not sure that very many european languages are derived from it in any form other than it's alphabet (and even then its fairly removed).

I could be wrong (this is well outside my area of expertise), but I think maybe you're thinking of Latin?

<comment><USER25> He's probably getting confused by the fact that a lot of technical vocabulary is borrowed from (ancient) Greek.

<comment><USER23> I guess I did assume that since there are quite a few Greek roots in English, that there was more direct influence.

<comment><USER21> No, you have to look at the core vocabulary. For example, most English words are derived from Latin (often through French), but all its core vocabulary (except for one or two words such as "very") is Germanic. So English is a Germanic language. Its earliest written form is Anglo-Saxon, the language of King Alfred.

Greek words in English are rarer, and are generally not core vocabulary, e.g. "telescope", "bacteria", "paragraph", "angel".

There are Greek cognates, which found their way into both English and Greek from their common ancestor Indo-European. These are harder to recognize. Examples include ἔργον which is cognate with "work", and πέτομαι/πτερόν (I fly/wing) which are cognate with "feather".

<comment><USER26> It's fun to read everyday signs in Greece without understanding the language. The words are familiar yet the meaning is lost in translation.

For example, I saw a truck labelled "ethniki metafora". Pretty sure it doesn't literally mean "ethnic metaphor" though! (I think the proper translation would be "national transport".)</comment></comment></comment></comment></comment></comment>


See No Evil: The Case of Alfred Anaya - <AUTHOR> http://www.wired.com/threatlevel/2013/03/alfred-anaya/all/&src=longreads <comment><USER3> Some people here rightly question why he got twice as long sentence as the top guys. This is the key to understanding what really happened in this case (see below).

What case? Pure hearsay by real but <cooperating> drug traffickers, woven into a skillful tale of bespoke swimming pools, deliberately painting him as a drug dealer in the jury's minds. The intimidation charge, btw., is explained: it was needed to discredit the traffickers' initial account of him not being involved. Of course, the true reason for changing their story, i.e. successfully reducing their own sentences, would not have played so well for the prosecutor. The only remotely substantiated 'evidence' against him was that he saw some cash. By that count most bankers ought to be in jail with him.

So we come to the explanation of the glaring discrepancy in the sentencing:

1) His skills were making life difficult for the police, so he had to be <dealt with>, regardless of justice or law. This is why the prosecutor offered to cut sentencing deals with the real traffickers, just to get him.

2) Being innocent and <not cooperating> are the worst crimes in the US of today. The same principle as in Aaron Schwarz case.

Regardless of the details of this case, don't you think that it is just plain wrong that prosecutors can order any 'witness account' they want from most people in their clutches? Years in jail at their discretion is a very powerful inducement, one that must be distorting justice (read framing innocent people) on daily basis.

</comment><comment><USER3> The moral aspect of this story is interesting.

Had he taken up the offer of a luxury bugged storefront with all the equipment he wanted, he would now be a respectable, financially secure citizen instead of languishing for over 24 years in jail. What do such extremely diverse outcomes for the same past activities say about the validity of the law and its implementation process?

The only hitch is that his innocent clients who have every right to hide their jewelery and other valuables in their own car would all have their security knowingly compromised by him.

What does that tell us about the authorities, their attitude towards our privacy rights, and the moral values they expect and enforce?

</comment><comment><USER4> > The judge agreed with McCracken's harsh assessment. He sentenced Anaya to > 292 months in federal prison—more than 24 years—with no possibility of > parole. Curtis Crow and Cesar Bonilla Montiel, the men at the top of the > organization, received sentences half that length.

I guess justice is served and we call sleep better at night? Is "war on drugs" a magic formula which can be used to justify anything, just like "war on terror" and "think of the children"?

<comment><USER5> Apparently he was also charged with two counts of intimidating a witness, which the Wired article does not mention, so maybe there is more to this story.

Either way, it saddens me to know that the instigators, aggressors, and profiteers of this "war" will never spend a day in prison.

<comment><USER6> It's a compelling story but I agree that leaving out details like that is a failure of journalistic ethics.

</comment></comment></comment><comment><USER7> First, he was too cooperative. As soon as they brought him in for questioning he should have retained a lawyer. 15 compartments? For who? Do you know what they use them for? The answer to all those questions is "Let me ask my lawyer, first".

People watch to much TV. They think the justice system is fair based on the fact that Law and Order wraps up the case in 45 minutes and the perp always confesses. It doesn't work like that. Even from the article the DA takes great joy in sending people to prison. If you are in front of him your innocence is not taken into account. He's trying to send you to prison for as long as possible.

</comment><comment><USER8> On one hand, I feel bad for the guy. I mean it seems like unless you're wealthy or have a really good case in these situations hiring a lawyer is too pricey for most people and so when the district attorney is coming at you with all they got and they shove you in with the other "drug" criminals and all you have is your appointed court defender, you're going to have a bad time. It's almost like he didn't have a "fair" shot just because the weight of accusations against him and the power behind it versus what he had was just outweighed.

On the other hand, he had to of known what was going on. You start down the path of shady, it's just going to get darker. I can't say I blame him or I wouldn't do the same if I had a passion for such things, but still he had to of known the risk. I don't believe in his sentence however and it really sucks the guys at the top only got half the length he did. There might have been other things involved sure, but stil a sentence like that is pretty staggering and life changing.

<comment><USER5> By the same token though, the Tor developers had to have known that Tor would be used for distribution of child pornography, and gun manufacturers surely know that their guns will be used to kill innocent people.

<comment><USER9> True, but I think there is a distinction to be made between designing a protocol like tor and actually providing the service of setting up tor sites for people who you suspect are using them to distribute child porn.

<comment><USER5> Sure, I suppose Freenet or some other P2P would have made for a better analogy.

<comment><USER9> I think the distinction is when you are dealing directly with known or suspected criminals and providing them services to help in criminal activity rather than providing something that can have criminal uses but also legit ones.

<comment><USER10> Exactly, this. Creating Tor is like the general practice of building these traps as a business. Traps have both legal and illegal uses, and you have no way of knowing what will happen with each trap after you build it. No problem there. The problem is when that service is provided directly to someone known to be using it for an illegal purpose. In the case of Tor, it is not provided directly to anyone, but rather available freely to everyone. Now, say Tor came with home installations of the client, and the client mentions to the installer that now he's got a great way to buy drugs anonymously on SR. That would be a problem.

<comment><USER11> So that means if internet is created for terrorists to solve a problem be more efficient in communication among themselves, the creator of internet would have to be thrown in jail, even if there is also a good use in internet? Or the clothes that you are wearing, it could be created for smothering people, aren't the creators suppose to be executed as well? How about the camera? It was probably designed to create child porn!!! The creators should be fined and be thrown to jail as well!!! What makes the value of a tech, or neutral product, an act or passenger of evil or violation of laws depending on the context it is created in? Who is to decide that? You? Prosecutor? The government? I empathize this guy, as he is not confident enough, and is too kind.

<comment><USER10> "Or the clothes that you are wearing, it could be created for smothering people..."

It's not about whether it _could_ be created for smothering people. If you're a tailor, and someone says to you, "I need a special kind of jacket with a loop like this that I can use to strangle people with,"* and you make that for them, then yes, you are liable when they indeed use it for that purpose! As for who decides whether the creator knew it would be used for an illegal purpose, that would be the jury.

If before there was an internet, a terrorist group approached a technologist and described a network that they required to better organize terror plots, then YES, that person should be held accountable for the uses the group puts it to, even if it eventually has positive consequences as well.

On the other hand, if a person makes and distributes anything, dangerous or not, _with_ a legitimate use case in mind, they should absolutely be held blameless if it is then used by someone else to commit a crime.

*Assuming of course that a "reasonable person" would actually believe the person was indeed going to do that, since it comes across as pretty bizarre...

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> The whole justice system is badly in need of reform. Monstrosities like the ones signed into law for the war on terror, war on drugs and war on sex offenders need to be scaled back. Also discretion must be removed from the prosecutors. And why not instead of minimal sentence guidance, create a maximum for combined sentence where no bodily harm was inflicted. Like - <USER2> years. This will infuse some sanity.

</comment><comment><USER13> This is troubling, right?

There's sort of three options about tech facilitating <bad thing>: you hold the people behind the tech responsible, you hold the people behind the tech blameless, or you cherry-pick when they're at fault.

I'd argue that cherry-picking is what we currently do, and that it is troublesome in its inherent double-standards: if I show teenagers how to make pipebombs and they hurt someone, that's on me, but if I write tech manuals for special forces on the same subject, that's okay. If I write software that helps ensure messages are private, that's okay, but if the same software is used to carry child porn, that's awful. If I write software for recording customer information, that's okay, but if I provide it to the government, that's not okay.

Cherry-picking is rubbish in this way, because the same tech--particularly for tools and services!--can be used for both good and harm. It may be difficult to argue for peaceful uses of stealth fighters, but barring a few cases it would seem that all tech is dual-use. We can acknowledge this fact, and pick one extreme or the other.

If we take the view that all tech providers are culpable for the use of their tech, we stifle innovation and retard the pace of development--if the morass of patent claims is bad, consider what happens if every product has to go through a strict liability filter to make sure it can't hurt anyone. We don't even stop the bad uses of tech--we can still be saddened to find that someone has found an illegal use for our tools that simply had never occurred to us.

If we go the other way, and hold tech providers blameless, we don't slow innovation. We simplify the cases against people who do commit crimes, and streamline the justice process. We give up the ability to try and stop the spread of things like traps and weapons and whatnot, and can focus on actually going after the people that use them for ill, or deciding not to waste resources on things that become impractical to enforce.

None of this matters a hill of beans, though, because we seem to be hellbent on a justice system which doesn't even bother to make clear the inscrutable laws with which it will nail you to the wall. Brilliant.

<comment><USER10> While I agree that the result in this case was extreme, it seems that the article does point out the distinction, which is whether the person behind the tech is directly aware that it will be used for <bad thing>.

In this particular case, I could see how there's a strong argument that he was. I mean, when he saw the $800k, honestly, he _did_ know it was related to drugs. He made the choice to continue. Should he have been charged as a conspirator and ultimately sentenced to 24 years? Not in my opinion! But he wasn't completely blameless either.

<comment><USER14> "While I agree that the result in this case was extreme, it seems that the article does point out the distinction, which is whether the person behind the tech is directly aware that it will be used for <bad thing>."

Then anyone who implements a cryptosystem is in legal peril. There is no question that cryptosystems are used by criminals to commit crimes. So far, cryptographers have been able to sleep at night knowing that their work is also used to protect people from criminals and other dangers.

<comment><USER15> I dont think cryptographers have anything to be worried about here unless they are directly involved in designing a crypto-system for a person they know or could reasonably suspect would be involved in doing something illegal.

This individuals biggest problem was that he had more than a casual association with people that he could have reasonably suspected were involved in something illegal. If he had stopped having anything to do with the people who had the 800k hidden, he'd be a free man now. If he had tipped off the cops that he saw a car with 800k hidden in a secret compartment, he'd very likely have won the accolades of the entire police department along with buying himself some very welcome immunity from prosecution.

He chose sides and lost.

<comment><USER16> And if the people who worked with the two guys who had the 800k hidden had found out he'd snitched, then what?

The bottom line is that you shouldn't have to "choose sides" every time you see something suspicious. Most seemingly suspicious occurences are innocent, and calling the police on someone every time you see one is childish and naive.

<comment><USER15> How about not dealing with sketchy people who need hidden compartments in their vehicles? Why is that not an option from the outset?

I hate to say it, but I find the range of "legal" uses for a hidden compartment in a moving vehicle to be vanishingly small. I'd put them in the same range as legal reasons to wearing a full facemask/helmet in a bank.</comment></comment></comment></comment></comment></comment>


Show HN: react-cassette-player – ReactJS SVG HTML5 Audio Experiment - <AUTHOR> https://github.com/chadpaulson/react-cassette-player

<comment><AUTHOR> After a few months experimenting with Facebook's ReactJS JavaScript library, I decided to test its SVG support with icons from The Noun Project and ended up building a reusable HTML5 audio player component.

The experiment seemed to work well enough so I decided to share and open source the project. Critique / feedback always welcome.</comment>