Open-source software: Untangling code - <AUTHOR> http://www.economist.com/research/articlesBySubject/displayStory.cfm?story_id=17899970&subjectID=348963&fsrc=nwl <comment><USER2> I haven't read the book, but this article doesn't really say anything that any clear-minded open source advocate didn't already know. Outside of certain dogmatic circles, it's become pretty clear that the future of open source development is in the corporate world for many projects. That's not necessarily a bad thing, either.

<comment><AUTHOR> I think the novelty was in the actual research they carried out that seems to confirm what everyone's noses had been telling them.

</comment></comment><comment><USER3> Here's a theoretical argument that seems unavoidable to me, though I haven't seen any evidence for it: _many open source developers of a project consult in its area. It makes sense that that project is hard to use._

The great appeal of software, for me, is that it can encapsulate knowledge and expertise; a kind of abstraction layer. A magic talisman of wisdom and talent. This can include guiding the user in how to approach the task, implicitly providing concepts with which to reason about it. Like one of those old- fashioned how-to books, it can aim to be _teacher, mentor, friend_.

The "problem" is that if you give it away, you can't make any money on consulting, because (ideally) it itself is the best possible consultant. So you have to charge for it. But it doesn't seem quite so noble...

</comment><comment><USER4> I'm reminded of a recent statement from one of the github guys to the effect that by running a profitable business using proprietary software, they're able to contribute more to open source.

</comment><comment><USER5> I know it's hard to write pithy headlines, but describing open source as "programs written by volunteers" is misleading. A lot of open source software is actually written by people who get paid to do so, or who get paid at least partially because they do (or did) so.

</comment><comment><USER6>
             The Software Iceberg

                     /\
                    /  \
                   /    \
                  / open \
                 / source \
      <comment><comment><comment><comment><comment><comment><comment><comment><comment><comment>~~
               /            \
              / proprietary  \
             /  & for sale    \
            /                  \
           </comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment></comment><comment></comment><comment>----
          /                      \
         /       proprietary      \
        /    & written in-house    \
       /                            \
      </comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>--

<comment><AUTHOR> Funny, I have the pyramid exactly the other way: open source should be the infrastructure, the base the 'crown jewels' at the tip of the pyramid are built on top of. Especially for 'lean startup' types of deals, where the lines of code for your startup will be several orders of magnitude less than what it's based on: Linux, postgres/mysql/nosql, tcl/perl/python/ruby/php/erlang etc....

<comment><USER6> I was referring to volume of code written, not function.

You bring up an interesting (and IMO valid) observation.

I guess this picture was only worth 999 words.

<comment><AUTHOR> Volume of what? I think your pyramid is correct in terms of revenue, although maybe it's not so much a pyramid as a fairly stark line.

<comment><USER7> Volume of code, lines written/bugs created ;)

In house software typically has 0 revenue.</comment></comment></comment></comment></comment>


Show HN: Klippie - klip klip klip - <AUTHOR> http://klippie.com

<comment><AUTHOR> After a pretty good start with my previous website that [still] helps people save parts of website, I thought about taking that idea further. One of the reasons was that being a programmer, I wanted to save code without losing any formatting - like, finding something super important on Stack Overflow, and wanting to keep it for reference. So, I built Klippie. It helps you "klip" parts of websites without losing any formatting.

Here's an exmaple of Java's modifiers: <http://klippie.com/klip.php?klipID=166> Another one is Facebook's PHP SDK from GitHub: <http://klippie.com/klip.php?klipID=157> While we're talking about Facebook, here's a chart of FB: <http://klippie.com/klip.php?klipID=221>

There are still lots of features missing, but right now it's at a stage where I'd like to see if anyone going to use it.

Yes, there's Clipboard. But I think Klippie has potential, what do you guys think?</comment>


Popular WordPress plugin tried to spam users' dashboards - ga-vu https://github.com/Yoast/wordpress-seo/issues/13961 <comment><AUTHOR> This is the big problem I have with the WP ecosystem today.

Themes and plugins are a minefield with very little space between the mines.

Almost all themes in the theme repository are crippled versions of premium themes today. The same goes for plugins where a huge amount of the plugins in the official repository is just some kind of nagware trying to lure you into buying a "premium version" which finally unlocks the single feature you installed this plugin for. Then there are plugins which are outright broken and will never get fixed anymore and some are just filled with some kind of malware.

Oh, the aforementioned premium themes obviously come with a bunch of dependencies, some bundled plugins, theme frameworks and whatnot else.

Instead of fixing this hole mess, Automattic thinks we need the 27th site builder for WordPress and adds fuel to the burning piece of crap that the WP ecosystem has become.

Sad to see from the outside, glad I left it behind me.

<comment><USER2> What are you using now?

<comment><USER3> Wagtail (based on Python/Django). It has a great developer experience, active/welcoming development community, and a WordPress inspired content management UI.

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

</comment></comment></comment><comment><USER4> It was an intrusive ad banner, with a deceptive close button that redirected users to a sales page. That should have never been allowed to happen, if they value their reputation.

On the other hand, they quickly responded by removing the ad and apologizing publicly.

[https://twitter.com/MariekeRakt/status/1200077958700044290?s...](https://twitter.com/MariekeRakt/status/1200077958700044290?s=20)

It was the right move.

<comment><AUTHOR> > On the other hand, they quickly responded by removing the ad and apologizing > publicly.

I hate this. It's about testing the waters, seeing with what you can get away and how loud the users will cry. Nothing about this was happened without a reason.

Automattic should just outright ban plugins that are using dark UI patterns like this.

</comment></comment><comment><USER3> I wish WordPress would help clean up its plugin/theme ecosystem and have raised this point multiple times in their annual community surveys.

One major issue is that most of the plugins should be released as GPL since WordPress is GPL licensed and the plugins extend its APIs. VCV Rack, a modular audio environment, is a good example where all plugins are GPL unless getting a commercial license from the core developer(s).

Another thing would be to encourage consistent documentation and support channels, rather than every plugin using its own forum and documentation site. Drupal is an excellent example of an ecosystem of GPL modules with the consistent backing and documentation channels.

</comment><comment><USER5> Looks like they've removed it. Crazy to think that it was Yoast, one of the most popular SEO plugins for WP. They actually have a really good website for teaching SEO fundamentals as well, all free.

The most egregious part of this was linking the "close" button to a sales page for the premium plugin. That is the kind of low-down dark pattern you only see on pirated sports stream websites.

<comment><AUTHOR> Yoast has always been one of the most nagging distributors/creators. They have always been obtrusive to the max, but this really tops it.

</comment></comment><comment><USER6> > Also, the fact that once you get closer to the "x" to close the banner > you're redirected to your sales page it's quite evil.

Brilliant Yoast, so clever, just brilliant! /s</comment>


Why did Slack win out over IRC? (2018) - <AUTHOR> https://www.vice.com/en_us/article/xw5wvj/why-did-slack-win-out-over-irc-anyway <comment><USER2> I think the key deciding factor isn't even technical, but: if you want to enter Slack (or Zoom, or similar), it is streamlined, easy and clear what you need to do. Compare it to IRC, where you have to find a client, make the choice, and make many other small decisions. It's also about immediate benefit: the way many people try to start with IRC involves searching for rooms and trying to somehow fit in and enter the conversation, while the local culture may not be welcoming or easy to get into.

That said, I've succeeded in gradually getting some of my friends onto Riot/Matrix. To be clear, I did it without much technical/ideological evangelizing or being obtuse, just on the basis of them wanting to talk to me and in our social group. But Riot is also at least nice-looking, multiplatform, has modern features etc. Things that are still annoying:

1\. Dealing with Riot/Matrix system/client confusion. Most people don't care about such distinctions, I should probably just focus on talking about Riot. (I understand that developers may choose to do different in their communication)

2\. Entering into 1/1 conversations. I still don't know/remember how to reliably do it with a new person, always did it by trial and error by trying to invite in ways X and Y etc. It probably requires finding the opt-in into email invitations in the configuration by each participant. I understand these are some anti-stalking measures, but God is it annoying.

<comment><USER3> > Dealing with Riot/Matrix system/client confusion. Most people don't care > about such distinctions, I should probably just focus on talking about Riot.

The thing I haven't figured out is... why would people find this hard to understand for chat, but not for email? Everyone uses email, and everyone knows they can send an email to whatever email address they want no matter who their provider is.

<comment><USER2> I don't see it as a question of understanding as much as caring. It's not very realistic to do a "here's technical details of the protocol we'll be using" talk every time you invite someone.

<comment><USER3> They probably don't care that much in the case of email either. Would it be better to explain it by analogy? "This is like email, you pick a provider and you can talk to anyone from there."

<comment><USER2> Okay, I can agree with your framing from the sibling:

> I'm not convinced that open/federated protocols are inherently more > difficult for people in general to understand.

We may be disagreeing on the hierarchy of the goals. I think the priorities here are:

1\. That the protocol is open and decentralized from the operator perspective (which is ensured in the case of Matrix).

2\. That many people use it.

The #1 should be important for an opinionated minority pushing everyone else. The good thing is, non-technical people usually don't have much brand loyalty in these things. It's purely perceived convenience.

That the majority of people understand and care about #1 may or may not be realistic. I see it as partially another cause. Today, we have much of de facto centralization in email while the protocol is still decentralized. It would be nice to push chat to a more or less similar state and work from there. (I would also gladly see decentralization and inter-operation of many things enforced by law, but this is even more pie in the sky.)

Still, certainly your analogy can be used in communicating with people. But the main thing I'm trying to achieve is #2, getting them on board anyway.

<comment><USER3> Yeah, I think we largely agree. I'm mostly aiming for #2, because I'm hoping that if we can get enough people using something that's hard to centralize, network effects will take care of #1.

Consider email for example: I think the main reason it's stuck around with us for so long is that we're at the point where being reachable by email is just _expected_. With everyone using email, someone trying to replace it with a centralized option would need to get _everyone_ on board, while someone who wants to interoperate with email in general doesn't have that issue.

ISPs and phone companies are similar; nobody's going to start one that can't interoperate with the others nowadays. The public wouldn't stand for it, even if they couldn't explain why in terms of the underlying protocols.

While I would certainly love it if we could get people to care about open protocols, I think getting enough adoption of an open protocol would really be sufficient, so long as it's not easy for one big player to lock it down. (Google Talk for example; it was XMPP, but Google was the only player that mattered then as far as the public was concerned. Matrix is in a better position than that now.)

</comment></comment></comment></comment></comment></comment><comment><USER4> Slack wasn't competing with IRC. By the time Slack launched, IRC usage within companies was a very tiny slice of the market, mainly by very technical people. Slack was competing with Microsoft Lync, Google Talk, HipChat, Campfire, and the various other "IM for businesses" software products that were available in 2013.

Yes, Slack borrowed some of the better features from IRC, which helped drive its popularity, but very, very few companies that are currently paying for Slack would have considered IRC to be a reasonable alternative.

<comment><USER5> Yep, the only place I ever say IRC in actual corporate environments was for private chats for the sysadmins.

<comment><USER6> Mozilla used IRC until recently, but they're not really a traditional corp environment.

</comment></comment></comment><comment><USER7> I consider one of the biggest deal-breakers being able to snip part of your screen with a keyboard shortcut and Ctrl-V it into the client for everyone to see it inline, seamlessly. You don't have to mess around with image uploaders or open image links externally in your browser.

Want to send a file to someone? Drag and drop, done. No hassle and it works for everyone, in the same way, without having to explain anything, use an external website, install a dependency, or change a setting.

Same as with Discord, these modern chat clients support richer content, have nicer looking UIs, better UX which draw more people in.

It's more fun to code bots for them because you can make them do amazing stuff, as the output doesn't just have to be plain text, but it can also be rich content like charts, embeds, propmts that can trigger multiple actions by selecting a reaction emoji, you get the idea.

Just overall a great, low friction and _modern_ experience.

<comment><USER8> I remember we used tools that saved the snip to a specified directory, targeted it at Dropbox public folder, and then there was an app or maybe config option that pushed url of any new file in the public directory to clipboard. Was even better because you had the URL immediately, without waiting for upload.

</comment></comment><comment><USER9> Because whenever somebody asked for:

* 24/7 presence, the reply was "you can do that with a bouncer"

* backlog, the reply was "you can do that with a bouncer"

* full text search, the reply was "that's up to the client implementation"

* file sharing, the reply was "it's already possible with XDCC"

and so on and so forth.

Basically, it's not that Slack is great, it's because IRC as a whole just refused to adapt to what users actually wanted/needed.

<comment><USER10> More like nobody bothered to make a decent product that could do all the nice things slack is doing.

(although, that's not technically true since irccloud does all the things you just mentioned)

<comment><USER11> > nobody bothered to make a decent product that could do all the nice things > slack is doing.

Slack is a closed-source for-profit SaaS, ruled by a single benevolent company.

IRC is an open protocol-specification with a multitude of clients, servers and networks.

You couldn't find better apples and oranges for comparison if you tried.

<comment><USER10> I agree completely.

But we're talking about reasons people ended up choosing slack over something like IRC (or, really, any open protocol instant messaging specification).

The grand-parent comment raises good points, people want these things, being connected and reachable while not being connected to the server with any client and having a context later on. These are problems that can be solved but nobody has put effort into making a sexy product to do it. (and monetising that kind of product might be troublesome)

<comment><USER11> > nobody has put effort into making a sexy product

Again we are comparing a _product_ to a _protocol_.

I'm just pointing out that this is not a reasonable comparison.

There were multiple web-enabled IRC bouncers (closed products) which would be easy to use for anyone, including non-techsavy people.

But evidently the majority of IRC-users were fine without that and preferred the traditional client-server-protocol realm.

<comment><USER10> IRC is more than a protocol, it's an ecosystem. You cannot simply talk about IRC in complete isolation.

It's akin to comparing SMTP with chrome.

You have to include the clients and surrounding infrastructure.

</comment></comment></comment></comment></comment></comment><comment><USER12> This article is comparing apples to oranges. IRC is a protocol, Slack is a client/app that uses protocols (one of which used to be IRC). Many IRC clients, although beloved by some users, are rough around the edges.

In my opinion, Slack has "won" over other clients because of UX: it's extremely easy to sign-up, understand, and use productively. Plus, even large orgs (ours included), can use the free version if they're OK with having chat history disappear after a few days/weeks.

<comment><USER13> Slack made the process easy, and with emojis and slash commands, fun and useful.

I think another benefit to slack is you can come back to it and see the history. IRC is ephemeral unless you stick to a single device and leave it running. That's impossible for a mobile phone.

It frustrates me that some large projects (ex Ansible) who insist on all discussions there, and explicitly ignore things like GitHub issues.

<comment><USER5> I am in no way saying that this isn't a barrier to entry (and if we're honest I think that barrier is an intentional choice) but you're supposed run a bouncer/logger and just connect your client to that.

It's always weird to me that IRC didn't evolve like email with something like IMAP.

</comment></comment></comment><comment><USER14> Because my mom can figure out Slack, but not IRC. Isn't the "mom test" obvious to all by now?

</comment><comment><USER15> I still kind of struggle to understand why Slack is so popular within the corporate world. It is a good choice when you have some public initiative and let people swarm in, yes. But when it comes to private entities(I'm talking about large corporations), I really don't get it. I've been using MatterMost for years and while it had a rough start, at this point I'd take it over Slack any day of the week. Functionality is pretty much the same, integrations are much more simplified(I use them a lot to say the least and from my point of view, all the API's work as a charm) and at the end of the day, you are the owner of your data. So it is a genuine question: What gives?

<comment><USER16> In a lot of corporate environments, "self-hosted" is not an advantage if you're the one trying to set up something new. In order to self-host, you have to go through your corporate IT department to provision servers. This alone can take 6 or 12 months, and you still have to find someone to maintain the service.

And the kind of companies that value self-hosting will usually want this to be set up inside the company's internal network. So you'll have a bunch of firewall issues to get through, otherwise good luck getting your users to connect to some non-publicly-accessible server from their phones.

Other comments talk about how Slack nailed the UX for users to join a Slack workspace. But they also nailed the UX for getting a workspace set up in the first place.

(Well ok the whole idea of separate accounts per workspace thing is a bit of a mess, but they nailed everything else)

<comment><USER17> It took _forever_ to get a self-hosted Jabber-based chat client going at a mid-sized corporation, about 10 years ago. Someone went "rogue" and set a server up anyway. Our security staff began blocking ports, so it eventually died anyway... in favor of Skype and Yammer. All because no one wanted to host chat history and a server.

</comment></comment></comment><comment><USER18> Because at some point all corporate firewalls were configured to block all incoming traffic except port 80. Then everything died out: News, Irc, and now finally FTP.

</comment><comment><USER19> Slack won over IRC for me by prohibiting anonymous users. Simply verifying their emails or having it be invite-approvals only was enough to improve my experience dramatically versus IRC's endless anonymous harassment.

<comment><USER20> It looks to me like anonymous harassers on IRC would not really be blocked by email validation... As such, it's probably just a matter of time before public Slack rooms become their target.

<comment><USER19> The definition of 'public' is not equivalent for IRC and for Slack.

IRC anope-style email verification simply requires that you are able to initiate a TCP connection to the IRC server. If you can do so, you can have a verified account. This kind of "public" is vulnerable to harassment as you describe.

Slack additionally requires an invitation by a workspace owner for all new users who wish to join, excepting only domains where the owner permits users to join without invitation using a special invite link. Anyone who invites harassers will find themselves under Slack's microscope as well. Owners who enable automatic invite approvals for e.g. @gmail.com or @throwaway.com that result in harassment can expect to find themselves banned by Slack and their Slack shutdown. While in theory this kind of "public" could be abused to some degree, it does not permit the 'anonymous' abuse that IRC's kind of "public" does.

If an IRC network was set up to require that existing users put their reputation on the line for new users, and in cases of harassment both the new and existing user were banned, then that would be a far more tenable system than what we have today. There's nothing that _requires_ this to be unique to Slack. It just happens that Slack is willing to turn users away if they don't like it, and so as a result their network is baseline safer than virtually all IRC networks — such as Freenode.

</comment></comment></comment><comment><USER21> It dind't, yet at least. Let's see which one is still working in 20 years :)

</comment><comment><USER22> it was giphy. that's why.

<comment><USER23> Also the ability to upload custom emojis.

<comment><USER17> This is actually a huge + for any extensible chat client. We send alerts from various monitoring solutions and use emoji to quickly identify the environment and app. Makes it very easy to understand exactly what is going on.

</comment></comment></comment><comment><USER24> Because all you have to do is go to the website, follow a link, log in, and boom, easily accessible chat. Has nothing to do with the protocol.

<comment><USER25> I concur, a hosted thelounge client instance brought me back to IRC after a decade of absence, giving me Log history and recoverable state. If the expectation is to go on public record (vs. private p2p chat) only user experience decides for group chat, not the underlying technology. Though IRC can't replicate threads, that is the only nitpick. In high volume channels replies to old questions are fine and the dynamic caused by seemingly disjoint replies can be learned.

</comment></comment><comment><USER26> cause of annoying gif meme posting. and the battle has just began

</comment><comment><USER27> Wasn't it because you can't get notifications from IRC?

<comment><USER28> And I have those notifications turned off.

Regardless of that, Slack is a complete and easy to understand solution. IRC is a collection of unknowns where each user ends up with a different implementation and may not be satisfied with where they end up.

</comment></comment><comment><USER29> Because Slack allows you to paste memes, and thus get the tiny dopamine hit.

<comment><USER30> irc doesn't allow memes?</comment></comment>


What are the important lessons you learnt in life? - <AUTHOR> https://www.quora.com/What-are-the-important-lessons-you-learnt-in-life/answer/Hammad-Nasir-3?ch=3&share=aee453d5&srid=dclw <comment><USER2> First one is: don't believe your thoughts. Observe them with detachment, even if the thought starts with "I". Especially if the thought starts with "I".

Thoughts don't define you! Don't let them capture your attention. After all, do you really need to think to wash the dishes or to drive your car?

Use your mind when it's needed and then let it rest when it's not.

Second one is: learn to discern influences, beneficial or not. Only then can you let yourself be influenced consciously. This will protect you from any kind of manipulation.

</comment><comment><USER3> I been thinking for a while and I'm not sure I've learn anything remarkable.

As I've grown poor and in an awful family , maybe that money is important, and a normal family makes life much easier.

Also that a mix of skepticism, knowledge and intuition has been useful to avoid bad advice. I have to thank the Internet for this. It probably saved me from being homeless, a drug addict or in jail.

Internet in the early 00s was quite a different place. It was for nerds, but also was full of sane people that helped me just through imitation.

I still feel I need better income to feel confortable, and better connections, but maybe I'm too lazy or risk averse.

IDK I'm +30 and I don't really feel I've got any lessons from life that I could say it's settled knowledge.</comment>


Ask HN: how do/would you teach programming? - <AUTHOR>

We see a lot on HN about teaching yourself to program. What about teaching others? I'm TAing an introductory computational biology couse at my University, and tomorrow I'll be teaching a group of students, many of whom have never programmed before, the basics (MATLAB specifically). Its been a few years since I was in their shoes and its difficult to put yourself in the mindset of the very beginner. I'm sure others here encounter this problem, even if its just trying to explain basic programming concepts to coworkers, family, or friends. So HN, what advice do you have for teaching / explaining programming to complete neophytes? <comment><USER4> Edit: local college, not logical college.

Hi. I volunteer at my local college as a Computer science Tutor.

Your teaching applied programming, so I would, unless it's a requirement, avoid most discussions of how things work, beyond the fact that the programming language is a way to write instructions that get the computer to do something.

I'd emphasize that loops, if/else, comparisons, boolean logic, arrays etc, are all composable, and you can build really complex things with them by combining them, just as you can build really complex equations by combining simple mathematical functions.

Then get them writing functions. I'd introduce them to a function the first day, and explain that code is broken up into functions, because they are composable, testable, reusable, and allow the writer to focus on getting a specific task correct.

Get them printing stuff the first day, and reading input in from a file, not just a keyboard. These are essential for any scientific work. I'd provide ways to read in files of different formats... I'm not sure what computational biology generally uses, but you might want a csv and a plain text file.

I'd then do if/else which lets you talk about boolean logic.

Teach them about nested if statements.

Then I'd move on to loops and arrays.

Teach loops tied to arrays. They are almost always used together anyway. Teach multi dimensional arrays as arrays of arrays, generally gone through with nested loops.

Post useful code for them to download and read, with comments on what each line does. Challenge them to modify it to do something different but related. Talk about how to debug code.

Talk about binary searches... I'd mention them first as a way to debug code, then introduce them later.

Show how to write function to find a minimum value in an array. Matlab probably has this, but show them it, because the fact that you initalize the comparison to first element and start comparing with the second, and not just initialize to 0 or something isn't obvious. I often see people have this issue.

show how to write a function to exchange values, if that requires a temporary variable in matlab.

show them how you can put those functions together and make a simple sort.

The truth is that for most actual things they will do while working, until they understand MatLab well enough to write their own stuff, they will be googling code and modifying it, so get them in the habit of reading code to understand what is going on, and modifying it.

Teach them to comment their code. Teach them to try to think about the steps involved before they code too much... try to get them writing down what they are going to do, and implementing it.

Oh and finally, have them write code, and then review it, or (easier for you) peer review it. Getting comments on code helps more then merely copying other's styles, because then they learn why you would do something.

</comment><comment><USER5> Projects, projects, projects. In my opinion people need to have successes to get going. "Hello Worlds" and theoretical stuff is useful of course (well, not just useful, you need that!), but I saw many people learning to code without actually solving problems. People, who knew how to do things but never had a real success other than some smaller homeworks. These people could never meet with problems they need to face when developing real applications (version managements, logging, or even getting answers from the Internet).

I would suggest the same as the others wrote before - teach some theory, create a few simple stuff with them, and let them learn :-)

</comment><comment><USER6> Is this a semester long course? Since you're teaching computational biology it sounds like it'd be similar to the engineer introduction to programming with Matlab that I had to take my freshman year with no programming experience. It's probably going to run like this:

Tomorrow you'll be introducing how to get Matlab installed, and basically how to get running. No one did this before hand except for 2-3 kids. You'll do hello world, then make a helloworld.m file and half the class will be confused. If you can add 2 numbers, make a variable, and concatenate a string I think you'll be in good shape.

Remembering back to my intro engineering class, loops and specifically arrays are the hardest things to get in an intro programming class. It's "omg hard" level for them right now, even though Matlab does a bunch of the heavy lifting for you. While loops, for loops that increment by more than 1,and do-while loops are where they might struggle.

One of the most fun things we had to do for a project was using Matlab to manipulate audio files. Speed up, slow down, or make the tracks louder or softer. You can also do mixes using it. It's all array operations and then they can save the result to a file. I still have my quadruple speed mp3 on my computer from a 7 years ago.

</comment><comment><USER7> For me the best is when something gets taught by writing simple programs. I don't like long abstract concepts, but rather keep it short and practical. I don't know Matlab, but lets say you're teaching 'C'. 1 - hello world 2 - program to add two hardcoded numbers, display result 3 - program to accept two numbers, and write out result (same as #2, only process 'argc'). 4 - <USER2> to write 'hello world' to file. 5 - program to read entire file into memory (hard-code buffer size to be big enough), and write it out to screen between '(' and ')'. 6 - something with a while loop, possibly reading any sized file, and printing it to screen line at a time, prefixed with line number 7 - <USER3> loop perhaps finding sum of all numbers between 1 and 100. 8 - some basic functions 9 - etc., one small step at a time.

That's what would work for me. People who are smart are going to pick up on what you're doing and get ahead. People who aren't so smart won't get too lost.

The last thing I would say, is not to assume audience knows anything. For example, I would stay away from writing a checkers game - there are different ways to play it, people will argue, some maybe never even played it. Chess would turn off some people right away. Keep problems simple.

</comment><comment><USER4> Oh... New Programmers suck at estimating project completion time. I mean this, it's bad.

They will procrastinate, often unintentionally. Of course you can warn them, and give them lab time in class, but that may not be enough, so plan for what you will do about late assignments.

I know one teacher who always gave specific deadlines, and then moved them on the due date, just to get people to start working earlier. Even that wasn't entirely successful.

</comment><comment><USER8> From my own experience of learning to program, teaching and learning from others, something that I've seen to be very valuable is choosing any project, doesn't really matter what and just working on it. It doesn't have to be something new or sophisticated, just something big enough that you can immerse yourself into and build out over time. A project I worked on as a teenager was building a paint program (hardly innovative or new) but it was a big enough a task that I could work on for a while and on the way learn to incorporate other people's code, use books to deepen my knowledge, constantly add improvements and show my work to others. This was 15 years ago and I still remember so much about that program. I enjoyed building it and learned that I liked programming and from there began moving to more complex things. This may only be applicable in specific cases or for a younger audience, but I just wanted to share.

</comment><comment><USER9> I've always found that while creating a "hello world" app does show the very very basic idea of "type in code and see something happen" a better way is to get them started on the idea that they can actually create something.

I'm not sure about MATLAB but I do know there are some very basic and easy tutorials on how to make a Sudoku for example.

The best way to teach others anything is to get them excited about the subject, when they are, people tend to naturally invest more time and effort into learning more about it.

Hope it helps and good luck teaching!

</comment><comment><USER10> At my company, because of the lack of OS X/iOS devs, we developed a while ago several training courses. We made different ones, web, cocoa, cocoa-touch and they all work. With prerequisites (none for web, object oriented programming for cocoa*), we can have devs ready in 2-3 week even if they never touch these techs before.

The secret is simple: Incremental Project-based training.

Create a set of 5-10 projects which all: 1/ put in direct action a theory point. 2/ take advantage of previous acquired knowledge. 3/ leave the student learn on his/her own.

GL.

</comment><comment><USER11> I'm teaching programming to an 8th grader now as part of an inner-city mentoring program sponsored by my employer. He seems to be picking it up pretty well, in my view the key is not to overcomplicate things. Pick a language with a REPL, teach them the substitution model, and show them how to teach a computer to do things.

I've taken a fair amount of inspiration from the SICP lectures by Sussman and Abelson. If you are planning on teaching people to program, they are worth a watch.</comment>


Apple's grip on the tablet market not 'unassailable' - <AUTHOR> http://channel.hexus.net/content/item.php?item=27599

<comment><USER2> OK, how representative do you think is a survey in which " 43% percent [of the respondents expect from iPad 2] a CD/DVD drive". To me it seems that either the methodology of the survey is wrong (loaded questions, etc.), or the sample is slanted towards people unfamiliar with the iPad.</comment>


Ask HN: Is there any reason to use Comodo SSL instead of Let's Encrypt? - <AUTHOR> In my opinion, Comodo SSL is one of the most compromised vendor of SSL certificates. A google search of "worst ssl certificates" will fill your page with Comodo results (https://goo.gl/ZrTvVx) . Even after so many issues I see that people/companies still buy it. What could be the reasons (apart from ignorance) for someone to Comodo over Let's Encrypt ? <comment><USER2> Wildcard certificates.

<comment><USER3> Wildcard certificates are coming to Let's Encrypt in Jan 2018 ([https://letsencrypt.org/2017/07/06/wildcard-certificates- com...](https://letsencrypt.org/2017/07/06/wildcard-certificates-coming- jan-2018.html)).

Also they are not as important with Let's Encrypt given that you can dynamically and instantly provision a certificate for a subdomain.

Without Let's Encrypt getting a certificate for each domain was costly and time consuming. Let's Encrypt solves both problems without using wildcard certificates.</comment></comment>


Kwajalein and Rockets (2005) - <AUTHOR> http://kwajrockets.blogspot.com/2005/11/kwajalein-and-rockets.html <comment><AUTHOR> This is Kimbal Musk's (Elon Musk's brother) blog from the time 2005-2008 and reports mainly on SpaceX' activity on Kwajalein island where _Falcon 1_ was launched from eventually. It's not really widely known and offers an unusual perspective in my opinion.</comment>


TypeCodeFaster (How fast can you type) – Typing test for coders - <AUTHOR> https://typecodefast.vercel.app/ <comment><AUTHOR> Improve typing speed by typing source of common programming concepts in six different languages (C, C++, Go, Java, Javascript, Python)</comment>


Ask HN: What's the next Bitcoin? (re: innovation, not cryptocurrency) - <AUTHOR> I remember in early 2011 being completely overcome with amazement and awe over Bitcoin. The technical and societal innovation was at a level I had never seen before so early, far before a technology reached broad acceptance.
Unfortunately, Bitcoin has faltered in many ways, and I was pretty disenchanted with the community by 2013. (yes, I sold mine far too early, but I still occasionally run across a forgotten 0.5 BTC somewhere, which is nice).
So my question is: what's the next Bitcoin? It doesn't have to be related to fintech or cryptography. Rather, what's a now relatively unknown project or technology that could have world-changing outcomes? <comment><USER2> Nobody knows where then next mania will come from, but for me personally, I am really looking in to the advances of the truly global high speed internet: low orbiting satellites, kites, balloons - whatever works

Once we have it working properly, I am retiring, buying a catamaran and sailing around the world...

</comment><comment><USER3> Some ideas to throw out there:

* energy backed cryptocurrency that incentivizes renewables adoption.

* "off-grid" P2P internets powered by mobile devices

* decentralized storage/compute that actually works ( IPFS? )

<comment><USER4> I've been thinking for a few years now that a mesh-networked mobile-device- based reddit/twitter-type community could be really powerful.

Anyone can submit a story but ideally it would have some kind of not-voting system for quality screening (long term users earn the right to approve/bury? No visible vote-counts to stop reddit-syndrome).

Fully anonymous, in the sense that it shouldn't leak your mobile number, device ID, name, any of that. A hash/something of your device ID creates a unique identifier for your account, stopping people making lots of fake accounts. One per device. It should also let you use a nickname, with no need to sign up (maybe by default it's like 4ch, your hashed device ID is your trip code, then you can optionally set a nickname if you want).

Mesh networked means it's good for countries with strict/filtered internet. Users should be able to sideload the app manually in case app stores are blocked (pass it around on a USB stick).

No idea how data would be stored, that's above my skills. Ideally not centralised, but that's probably unrealistic. I guess maybe something like torrents would work. You're constantly caching/sharing what you've looked at for other people within a few steps of your mesh point, but centralised databases spread around the world to fill in the gaps if no one has a cache of what you're trying to look at?

</comment></comment><comment><USER5> Semantic Web

</comment><comment><USER6> * Web 3.0

* WebRTC

* AR/VR

* P2P</comment>


Unbreaking comments on tiny sites and tech blogs - <AUTHOR> http://estenhurtle.com/blog/2012/3/24/unbreaking-comments-tiny-sites-and-tech-blogs/ <comment><USER2> In a small community where people collectively want to foster good discussion, comments can succeed for a while. I think it's impossible to sustain that if the community grows or if they lose their focus.

No community I've ever seen, apart from MetaFilter, has kept the noise level low enough that participating in the community is enjoyable. Hacker News was great a few years back, but it's painful to watch now. Same for every other site I've known: As the community grows, discussions degrade, and people get hostile.

People don't have a lot of insight. So when sites open up to comments, the typical comment — which may be perfectly average for humanity — is trash. People have agendas and biases. Most people don't see it, or don't care, so they don't correct for them.

Commenting systems and algorithms can hold back the tide for a while. They can force out people with a net negative impact on the community. But in the end, attempting to sustain good discussion is a losing battle. It's so easy for good discussions to turn bad, for intelligent arguments to become baseless, for disagreements to become personal attacks. Humanity as a whole isn't capable of rational, reasoned discussion at scale.

<comment><USER3> Do you think HN should charge like MetaFilter?

<comment><USER2> Yes. Or require someone to verify a github account with original work or something.

</comment></comment></comment><comment><USER4> Firstly make sure that some concept of respect, or politeness, is built in and applies to every person making comments.

Encourage use of cites; some way of rewarding useful citations might be interesting. (EG, this post is lousy and only gets two upvotes, but the citation is great and gets ten.)

Ban out-right some topics; or have very narrow constraints around how they are discussed. Some topics will instantly explode into heated bitter flamewars with no possibility of sharing useful information and no chance of changing people's opinions. They're toxic. Which is a shame, because they are usually the things where people actually need more and better information, and where a carefully arranged discussion could shed some light. Obvious examples of these topics are Palestine/Israel[1], Abortion, Circumcision, etc. (Yes, I know you posted two examples. I guess you have great users, long may that continue.)

Your idea about collectively owning a site is perhaps useful, but you'll be in for a rough ride if you need to make changes that your users don't like. Because you've made them co-owners now, and they have a say, and they are entitled, and etc.

You do need to find a way to split deterrents for posts that "do not belong here" and posts that "I disagree with". There's some suggestion that, on HN, acceptable posts are being downvoted because they're unpopular.

In general, moderation is often awful. You need someone to kill the spam but after that lots of stuff becomes subjective and thus open to arguments.

<comment><AUTHOR> Interesting about ownership affecting how users perceive changes to the site itself. You're 100% right on that, hadn't thought about it.

</comment></comment><comment><USER5> What I already told Esten on twitter: He outlines some aspects of a method to keep the 'good contributors' engaged, even if the community grows, by highlighting their contributions. What interests me is how to scale these good comments without excessive moderation. And also, even on sites that have moderation available over time there's again and again this boom-bust cycle, where comments start out being really insightful when the community is small, which attracts more people which brings down the quality of comments, making people less interested in high quality commentary (and also the general audience less interested in the comments at all).

I think limiting the number of contributors is interesting, but I wouldn't limit the ability to reach a big audience per se. Precisely the possibility to reach an audience entices high-quality comments. Possibly part of the real challenge is actually to keep the non-commenting audience interested in the comments.

So maybe it's about limiting the number of contributor-slots available in any given situation, and then of course think of a non karma-whoric way of assigning those slots... hmm :) Maybe even make it random, so anybody can get one of those slots, so create a sense of urgency not to blow that chance. Might work in some situations.

<comment><USER4> Moderation is just a target for trolls. Meta-moderation-threads can generate huge angry threads of hate. Meta is death, but meta-moderation is evil slow death.

Highlighting comments from established contributors is a problem if some of them are dicks, or some of them occasionally make awful comments. You also have a problem with "vested contributors" - 'I broke the rules, but I've been here so long and do so much good that it's okay because you know that really I'm alright' whereas the newbie just gets banned.

</comment></comment><comment> angry-hacker Completely off topic, but the site you mention in the post (storitell.com) - its font rendering is horrible, it almost impossible to read anything. (Windows 7, Chrome)

<comment><AUTHOR> Hmmm, interesting. Looks great on my Windows/Chrome setup. Mind emailing me a screenshot at firstname.lastname@example.com? Thanks so much!</comment></comment>


Memory Disambiguation on Skylake - <AUTHOR> https://github.com/travisdowns/uarch-bench/wiki/Memory-Disambiguation-on-Skylake <comment><AUTHOR> This is a high-effort deep-dive into the details of how modern Intel systems deal with "memory disambiguation". The exploration here goes well beyond what's in Intel's detailed optimization guides ([https://software.intel.com/en-us/articles/intel- sdm](https://software.intel.com/en-us/articles/intel-sdm)), and deeper than what's in Agner Fog's excellent manuals ([http://www.agner.org/optimize/](http://www.agner.org/optimize/)). The information here is new, and likely doesn't exist anywhere outside of an Intel NDA.

While most programmers can ignore this level of operation, research like this is the only thing that can predict otherwise inexplicable observed behavior like this [https://news.ycombinator.com/item?id=15935283](https://news.ycombinator.com/item?id=15935283), and hopefully can allow future low-level optimizations that would not otherwise be possible. If you are writing an optimizing compiler that targets these processors, or optimizing an inner loop where every cycle counts, this is gold.

Since it's a pretty dense piece, here's a higher level intro what he's talking about. Modern desktop and server processors execute instructions "out-of- order". Future instructions along the "speculative" execution path are thrown into a reorder buffer capable of holding a couple hundred instructions, and then executed as soon as possible, often several instructions per cycle (ie, they are "superscalar"). Since hundreds of instructions can be executed in the time it takes to access main memory, one of the main opportunities to make things faster is when loads from memory can be executed sooner.

But in the presence of both loads and stores, it can be difficult to determine whether it's safe to "hoist" a load above a store. Sometimes this is obviously unsafe, as when reading and storing from the same unchanged register, but what if two different registers happen to hold overlapping addresses? Then it can be hard to tell if a store happened to write to the same memory that a hoisted load was reading from, causing the load to retrieve the wrong data. This article is about how Skylake (a particular recent generation of Intel processors) actually handles these cases.</comment>


Show HN: ChatSecure iOS v4.0 – OMEMO and Signal Protocol - <AUTHOR> https://chatsecure.org/blog/chatsecure-v4-released/?hn=true <comment><USER2> Congratulations! It's nice to see that we now have both Android (https:/mconversations.im) and iOS covered by usable and secure XMPP clients!

<comment><USER3> The list of features at conversations.im is impressive. Despite the fact that nobody I know is using it, I wanted to have a quick look but it's a paid app (I know, GPL, etc). And one I know I won't be actively using. There is too much friction to try it out.

<comment><USER4> One can get Conversations from the F-Droid store without spending money: [https://f-droid.org/](https://f-droid.org/)

<comment><USER5> Then you can support project but paying for really reliable service and for few extra € you can even use your own domain.

</comment></comment></comment></comment><comment><USER6> So, how does this compare with the Signal app, WhatsApp, and other secure chat clients that use the same library?

What makes ChatSecure a better choice? What can I do with it that they can't?

<comment><USER7> I'm not familiar with ChatSecure, but from what I can tell:

It ChatSecure is an XMPP client; XMPP being an open federated protocol.

Signal uses Google infrastructure; while this isn't an issue for security purposes (because everything is encrypted), some people don't like it, some people like to run their own servers. With a "centralized" protocol like Signal, running your own server means you are cut off from everyone on the main server; with a "federated" protocol like XMPP your server can communicate with the other servers, so you can chat with users on other servers.

The innovation with ChatSecure over other XMPP clients is that it has implemented an XMPP extension (XMPP is an extensible protocol) called "OMEMO" that implements encryption, by borrowing substantially from the Signal protocol. This is an improvement over OTR, the status-quo way of doing encrypted XMPP, which the linked page explains was designed around desktop usage and doesn't work well with phones.

<comment><AUTHOR> That's correct. Our main differentiator from Signal/WhatsApp/Wire/Telegram/etc is that we have no centralized messaging infrastructure. Users are free to run their own servers, or connect to any 3rd party providers they trust. We also have integrated Tor support, but plan to remove that once iCepa reaches maturity.

<comment><USER8> How many trustworthy and well administered XMPP servers are out there?

BTW, for anyone wanting to setup a modern XMPP server, check out this:

[http://www.enricozini.org/blog/2017/debian/modern-and- secure...](http://www.enricozini.org/blog/2017/debian/modern-and-secure- instant-messaging/) [http://www.trueelena.org/computers/howto/modern_xmpp_server....](http://www.trueelena.org/computers/howto/modern_xmpp_server.html)

<comment><AUTHOR> Most public servers are pretty bad in terms of modern XMPP features [1]. Trust is also a big issue, but one of our goals is to solve this problem by making it much easier to run your own server. We currently default to Dukgo for new registrations but they don't support many of the XEPs required for a good mobile experience (0198, 0313, 0357).

1\. [https://gultsch.de/compliance.html](https://gultsch.de/compliance.html)

</comment></comment></comment></comment></comment><comment><USER9> Congratulations to Chris and team on getting this release out the door.

<comment><AUTHOR> Thanks! It's been quite the rollercoaster. We're extremely grateful that Moxie resolved the App Store / GPL license issue with their Signal Protocol libraries.

<comment><USER10> Thanks for your contribution. How can one report usability bugs?

</comment></comment></comment><comment><USER11> Ok so a few problems, on every network I've tried.

DuckDuckGo: Adding people doesn't seem to work via QR code, at all. And the client gets weird when trying to delete the account.

evil.im: Adder never gets notified that they have been "accepted", so can't view the conversation except via notification.

null.pm: Adding works fine, but OMEMO just stays at yellow exclamation marks.

dismail.de (supposedly has a fully green bar): No QR code adding, no notification of accepted contact request, OMEMO is fucked.

talker.to Basically the same as dismail.de.

So is there an actual server that is reliable and supports the requisite features set to make this a usable experience?

Are these client bugs?

Because otherwise this is going nowhere. I'm sitting next to my mate and cannot actually find a server that allows us to communicate normally.

I'm trying to set up a Jabber prosody server and I _think_ it's working. I have no idea how to test if it is really. I got A/A on the server test thing.

How do they compile a list like this?

[https://gultsch.de/compliance_ranked.html](https://gultsch.de/compliance_ranked.html)

Do they have a suite that I can run against my own server?

<comment><AUTHOR> Thanks for testing so thoroughly. Some of these problems are likely related to server incompatibilities, but others are definitely client bugs like the QR code stuff. Please report individual issues here [1]. Thank you!

1\. [https://github.com/chatsecure/chatsecure- ios/issues](https://github.com/chatsecure/chatsecure-ios/issues)

<comment><USER11> Of course, thanks for the good work :)

</comment></comment></comment><comment><USER11> Yay! Amazing! I literally checked out ChatSecure yesterday due to the WhatsApp issues and looked at the GitHub issues to see if it supported OMEMO, and here we are! Thank you so much, it's like Christmas :)

</comment><comment><USER12> Unless I'm looking at the wrong git repo, the Android version seems to be rather undeveloped?

[1] [https://github.com/guardianproject/ChatSecureAndroid](https://github.com/guardianproject/ChatSecureAndroid)

<comment><USER13> Last I heard was that the past Android version of chatsecure was being abandoned. Conversations would become the new Android client. Any future work on the original Android chatsecure will go to the Zom project:

* [https://github.com/zom/zom-android](https://github.com/zom/zom-android)

</comment></comment><comment> tristan-k Congratulations! Is there any ETA on MAM in ChatSecure and will the beta- testing in TestFlight continue?

<comment><AUTHOR> MAM will be in 4.1, but there's currently no timeline for that release yet. We plan to do a 4.0.1 release soon to resolve some bugs, and then start working on 4.1. If you signed up for the 4.0 beta, you'll get notifications for the next beta as soon as its ready.

</comment></comment><comment><USER14> Well done! I take it group chat is now in place as well?</comment>


Breakfast has no effect on neuropsychological functioning in children - <AUTHOR> http://www.ncbi.nlm.nih.gov/m/pubmed/27465375/ <comment><USER2> > "There were no significant (P ≥ 0.004) differences between breakfast meal > consumption and fasting for any of the neuropsychological measures > administered."

I'm not wonderful at between-group statistics, but I thought statistical significance kicked in when P < some value, say 0.05 or 0.1?</comment>


SpaceX Starship Users Guide 1.0 [pdf] - <AUTHOR> https://www.spacex.com/sites/spacex/files/starship_users_guide_v1.pdf <comment><AUTHOR> This is an interesting document. It describes some of the initial payload capacities expected for Starship. Three things stood out for me;

1) There doesn't seem to be anyway to dump heat. Half the reason had big doors that opened on its back was to allow it to expose radiators to space.

2) There doesn't seem to be solar panels either. Dragon (crew and cargo) deploy a set of panels from the "trunk" to provide shipboard power while in orbit. Where are those on Starship?

3) 100T to LEO in fully usable mode. So you can send a group of 10 - 15 people into orbit for maybe 2 or 3 days just for the price of fuel and human consumables? That is pretty amazing.

<comment><USER2> 1) Unlike Shuttle they have deep cryo fuel on board, that they can potentially use for stuff like that. However that is my speculation.

2) Different diagrams have shown it a bit differently. Usually they are shown coming out of the back of the rocket and then unfolding like a Peafowl. That's what probably those things between the Vac engines are.

But this is just me guessing.

3) Yes, this should be very possible.

There are so many new things possible its crazy. You could design a costume interior of the ship and launch that. Like a whole movie set and crew, or maybe almost like a sports stadium sort of thing for some new space boxing or whatever.

But if we have more then 100 tons to Orbit, it should start to be possible to have pretty big LEO hotels/stations for much less cost.</comment></comment>


Is Seattle Silicon Valley's Next Favorite Stop? - <AUTHOR> http://techcrunch.com/2015/04/25/is-seattle-silicon-valleys-next-favorite-stop/#.nwyp6m:dZ50

<comment><USER2> Find a Computer Job in Seattle:

[http://www.warplife.com/jobs/computer/united- states/washingt...](http://www.warplife.com/jobs/computer/united- states/washington/king/seattle/)

146 companies so far.</comment>


Mario Lives: An AI for creating a living and conversing agent [video] - <AUTHOR> https://www.youtube.com/watch?v=AplG6KnOr2Q

<comment><USER2> There have been games with NPCs smarter than that. There have been _text adventures_ with sentence understanding at that level. It's a cute demo, but calling it a "living and conversing agent" is way too much.

"Mario, exit the game." "Do you really want to exit the game?" So not impressed.

On the speech front, there is now an automated telemarketing agent which is about as smart as most script-driven human telemarketers. That's a somewhat scary development.

<comment><USER3> The telemarketing robots that are scripted well enough to continually deny that they're robots are somehow the scariest/most impressive for me:

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

<comment> SG- sounds like Lenny which is an anti telemarketer SIP bot you can forward calls to:

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

<comment><USER3> This is amazing. I wonder if anyone has done something similar for email spam.

<comment> SG- if you're interested in more of these calls (some are quite funny) there's an entire reddit dedicated to it:

[http://www.reddit.com/r/itslenny/](http://www.reddit.com/r/itslenny/)

</comment></comment></comment></comment></comment><comment><USER4> Strictly speaking, this is hardly AI, but a rather traditional approach of handwritten grammars.

<comment><USER5> "AI is whatever hasn't been done yet." [http://en.wikipedia.org/wiki/AI_effect](http://en.wikipedia.org/wiki/AI_effect)

<comment><USER6> In this case it has been done quite a few times (and better).

<comment><USER7> Would love to see some examples!

<comment><USER8> The speech recognition and synthesis are primitive compared to any smartphone assistant these days. The natural language processing is about equivalent to SHRDLU from the 1960s [1]. It turns out that this approach based on manually constructing syntax trees and applying simple logic can make some fun demos but is ultimately a dead end in terms of making systems that are actually useful, as was discovered in the "AI winter".

The part that controls Mario looks similar (if not identical) to this: [http://aigamedev.com/open/interviews/mario- ai/](http://aigamedev.com/open/interviews/mario-ai/)

If you want to see the state of the art in using AI to play video games, look no further than "Playing Atari with Deep Reinforcement Learning" [2], where a single general AI system learns to play many different games. The generality is what makes it impressive. Its only inputs are pixels and score, and its only outputs are joystick and button state, just like a human player. This makes it unlike these Mario systems which are hand programmed very specifically for Mario, and use special instrumentation of the game state that skips pixels entirely.

[1] [http://en.wikipedia.org/wiki/SHRDLU](http://en.wikipedia.org/wiki/SHRDLU)

[2] [http://arxiv.org/abs/1312.5602](http://arxiv.org/abs/1312.5602)

<comment><USER9> Note that the Atari playing system is what got Google interested in buying Deep Mind (the company behind it). It was a pretty significant advance on the state of the art at the time.

Deep Mind sold to Google for around $500M

</comment></comment></comment></comment></comment></comment><comment><USER10> I've always been interested in the use of natural language recognition in games. Does anyone have some good resources about the topic?

</comment><comment><USER11> This is a shrimp treadmill if I ever saw one. [1]

[1] [http://chronicle.com/blogs/conversation/2014/11/13/how-a-47-...](http://chronicle.com/blogs/conversation/2014/11/13/how-a-47-shrimp- treadmill-became-a-3-million-political-plaything/)</comment>


An Open Letter to PuppetLabs - <AUTHOR> https://communities.bmc.com/community/bmcdn/bmc_service_automation/server_configuration_automation_bladelogic/blog/2014/04/28/an-open-letter-to-puppetlabs

<comment><AUTHOR> (just the submitter to HN, not the writer of the article. )

</comment><comment><USER2> Surprisingly good response from bmc. I do wonder if Puppet Labs or Luke will even bother with a response. Something tells me no.

<comment><USER3> I'm the author, just wanted to say thanks for the hat tip. As far as a response, as much as I enjoy a good old fashioned internet flame war, a response isn't necessary. I'd be happy with their thinking about how they message their product going forward.

And by the same token, I'd hope that if our group was ever was similarly overreaching in our marketing, that someone would bring it to my attention so I could try to address it internally.</comment></comment>


The inescapable weight of my student debt - <AUTHOR> https://www.theguardian.com/news/2018/aug/21/the-inescapable-weight-of-my-100000-student-debt <comment><USER2> There are books published by the US Government in almost every public library in the United States that have detailed earning stats and employment forecasts on every career. There are an enormous number of web sites (including sites maintained by the government) that offer the same information with a few seconds of searching. At some point people need to take responsibility for the consequences of their own actions.

<comment><USER3> "At some point people need to take responsibility for the consequences of their own actions." Are you talking about the people that lent the money? Debt is a two way street this is why some people are credit worthy and others are not.

<comment><USER4> This is a good point. Obama got rid of defaulting on student loans, so there's really not much of an excuse for banks not to give people a loan they won't be able to pay off. If there were, the bank might take more of an interest in what you were studying and what your career goals were.

<comment><USER5> It was Bush, not Obama.

</comment></comment></comment></comment><comment><USER5> There's the loan forgiveness program if you work at a non-profit or in education for 10 years. That seems like one pathway out at least for the Federal loans.

There are some people who don't pay the loans at all and take the credit hit and find their tax refunds taken. The interesting thing is that the refund directly reduces the principal and is not applied to the interest. For some people that seems to be a reasonable mitigation. I could be misremembering the details here though.

The other thing is that people need to vote. Vote for politicians who will reform student loans.

</comment><comment><USER6> "I have spent a great deal of time during the last decade shifting the blame for my debt. Whose fault was it?"

After all that he has been through, he still doesn't seem to give consideration to his choice of major as the root source of the problem.

<comment><USER4> He does consider it. "Or was it my fault for not having the foresight to realise it was a mistake to spend roughly $200,000 on a school where, in order to get my degree, I kept a journal about reading Virginia Woolf?"

<comment><USER6> Oh, I thought he was calling into question the quality of his school or department in that statement.

<comment><USER5> He's doing both. He's saying the price he paid for his education was not worth the 200k sticker.

</comment></comment></comment></comment><comment><USER7> Great read. Looking back I'm so glad I chose to go with the in-state public school in my home town for a CS degree. I am looking at graduating in a year with zero debt and some good career prospects.

Makes me shutter now to think I was considering out of state $40-50k per year universities. I was 17 years old and in my undeveloped head I was really thinking it would be worth it..

</comment><comment><USER8> >> "I have spent a great deal of time during the last decade shifting the blame for my debt. Whose fault was it?"

There is no one single person to point to, but I'll take a whack at it:

1\. The father, who should know better, for agreeing to co-sign a loan for a worthless degree. A 5 minute conversation with ANYONE related to the degree would have told him the facts.

I wanted to be a video game designer and my parents would not sign for a loan for a degree in that area. We compromised on Computer Science. BULLET. DODGED.

I'm a bit sorrowful I'm not working at my passion, but I'm pretty young and for all I know being a game designer would have made me miserable. Traveling the world, living comfortably, and putting away a lot of money as a computer programmer is not something I'm about to complain about.

2\. The people giving these people toxic loans for degrees that have no chance of every paying off.

They have essentially created a servant class that has to pay a large % of their monthly take-home to a parasitic student loan company. Instead of taking risks, buying houses and cars, and getting more useful education, they are doing data entry.

The best minds of my generation are doing data entry and working at call centers.

3\. The Universities themselves. How is it at all ethical to allow students to go through a 4 year program, charge them 100k for the effort, and then turn them out on the streets to suffer for years and years?

I remember in my non-major classes in college, the attitude of other students with worthless degrees and professors who teach them was: Don't talk about it. Don't think about it, just keep going. Which is bullshit. Talk about it. Tell the students what they are getting into.

<comment><USER9> You missed one.

4\. The government for passing legislation making the discharge of student debt in bankruptcy nearly impossible.

When people talk about the inflation of the cost of a university degree I never see as the number one cause for it being the no risk loans to people who have no money sense (17 year olds) that pour money into the system.

Bankruptcy is a vital check valve on financial systems as well as an essential safety net to allow risk taking, even if that risk taking is pursuing a worthless degree.

I was lucky, in that I knew I could only afford in state tuition at a university where I could live at home. I used to laugh at some of my high school peers who were going off to really expensive liberal arts colleges. I still think it was foolish for most of them, but now that I'm older I really hope the decisions didn't cripple them financially.

</comment></comment><comment><USER10> >.> bad parenting letting their kid rack up 100k in debt.

<comment><USER7> It's a bit more complex than that. Yes it's some really horrible advice they gave, but they gave it founded on the weird idea that had been hammered into their heads—that if they sent their child to a _good_ school they would be successful in life.

The author acknowledges this. It's akin to the American dream. I think getting the word out with pieces like this is a good step in the right direction.

</comment></comment><comment><USER11> As soon as I read that he graduated with a degree in "English Literature" I knew what the problem was - what did he expect? Where does he think the demand for that is? How did he justify 100k$ for such a degree ( or any degree for that part )?

There are so many jobs like welding, plumbing, etc that need to be done, pay very good money and require no ( or very small ) loans, and he studied something like English Literature ( for 100k$ !! ) complaining...

Hell, even studying something "elite" as he calls it like CS in his own time, on his own, doing projects to get some starting job in any CS-related industry would be preferrable.

People who study these bullshit degrees are in a mess of their own doing.

<comment><USER12> Seems like you're victim-blaming. Do you really think a 17-year-old has the capacity to sort through the wrong career guidance?

This problem is emphatically _not_ of the students' own making. It's on the teachers and guidance counselors who insist on a college degree at any cost and brook no disagreement.

<comment><USER11> I do actually since when I was 17 I got advice by all my teachers, parents, etc to go into something that pays. Also it's just common sense that you need money to pay your bills, therefore you need a job that is in demand.

<comment><USER13> The part of the brain responsible for critical reasoning about consequences isn't fully developed until 25 (see: car rental company age limits). Also, congrats on your strong support system! A lot of people don't have that, and you can't form public policy based on your sole experience.

<comment><USER14> Ok, so he can now study something that pays and then pay off his debt. Nobody forced him to take loans.

I paid for my own education in the US, and I worked while studying. It wasn't easy, but I recognized the value of money.

I'm not even sure what your argument is for. Do you want us to pitch in for his bad financial decisions? Why don't you pay him from your checking account, show us how it's done?

<comment><USER13> > I paid for my own education in the US, and I worked while studying. It > wasn't easy, but I recognized the value of money.

A single anecdote holds no value for broad policy decisions.

> I'm not even sure what your argument is for. Do you want us to pitch in for > his bad financial decisions? Why don't you pay him from your checking > account, show us how it's done?

I financially support candidates who support discharging student loan debt. It's a drag on the US economy, and would provide more financial stimulus than tax cuts for the wealthy.

<comment><USER14> I assume "discharging student loan debt" is the euphemism for "let the taxpayer pay for that undesirable pile of shit that he chose to study".

That will only worsen the situation - more young people will study shit that's not in demand.

<comment><USER13> The recently approved $717 billion in defense spending increased military spending by $80 billion dollars, far in excess of what would've been necessary to provide free college to everyone. Hard to argue the moral hazard on education spending when you're firehosing billions of dollars of taxpayer money into a dumpster fire already.

"Those concerns were brushed aside Monday night, as the Senate overwhelmingly approved an $80 billion annual increase in military spending, enough to have fully satisfied Sanders's campaign promise. Instead, the Senate handed President Donald Trump far more than the $54 billion he asked for. The lavish spending package gives Trump a major legislative victory, allowing him to boast about fulfilling his promise of a "great rebuilding of the armed services.

Or with $80 billion a year, you could make public colleges and universities in the U.S. tuition-free. In fact, Sanders's proposal was only estimated to cost the federal government $47 billion per year."

[https://theintercept.com/2017/09/18/the-senates-military- spe...](https://theintercept.com/2017/09/18/the-senates-military-spending- increase-alone-is-enough-to-make-public-college-free/)

<comment><USER15> Or with $80 billion a year, you could do lots of stuff like have a lower deficit.

Reducing defense spending being good does not mean that using it to discharge bad student loans is the best use.

<comment><USER16> You can argue all day about the 'best' thing to spend $80bn on, but there's no way the 'defense' budget will be reduced by any meaningful amount for the foreseeable future.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Arduino-Powered Stoplight for Continuous Integration Build Monitoring - <AUTHOR> http://www.helpshift.com/blog/operation-stoplight-jenkins-arduino-build-status-notification/

<comment><USER2> The green glow of a successful build spreads such cheer :)

</comment><comment><USER3> Very cool idea.</comment>


Samsung Global Privacy Policy - SmartTV Supplement - <AUTHOR> https://www.samsung.com/uk/info/privacy-SmartTV.html <comment><USER2> I recently collected a bug bounty from Samsung on a crypto implementation flaw I found in some of their software. The fix is still being rolled out and given the impact I'm not going to disclose right now, rather I'll let Samsung handle that when the time is right. Anyway, the team at Samsung was responsive and they seemed like they genuinely cared about security. However, based on what I've seen in their products and those from their competitors the first thing I would do is pen-test the voice recognition feature, then turn it off no matter the outcome. The fact is, if it must communicate with a back-end server to work, then it becomes incredibly hard to lock the solution down. Even if the TV is properly validating the public cert of the server when doing the TLS handshake, there's got to be a mechanism on the TV for updating the trusted root store because at the end of the day, certs need to expire and thus must be updated. On a few non Samsung smart TV's I've looked at over the years, updating the trusted root store on the TV is as "easy" as man in the middling (MitM) the network the TV is on so that web traffic goes to a site I own which has a link to the my.cer root CA that I generated and am using in my TLS MitM solution. From there I just bring up the web browser on the TV, click on the my.cer link and go through the prompts to install the root CA. After that point all traffic from the TV can be decrypted on the wire.

Now it is fair to say that the attack I just described requires the ability to MitM the network and have physical access to the device, however, remember that these TV's use an IR remote & all an attacker needs is visual access to the TV. If it can be seen through a window it can be controlled through a window and these things typically don't require a password to modify the WiFi settings. Some smart TVs also have proxy settings which again, typically don't require a password to modify.

Given what I just covered, think hotel. From a risk perspective that's what I'd be most worried about. I wonder how many are installing smart TVs with voice recognition? For all other scenarios basically the situation in many cases on the ground is that you are secure because no one is targeting you. In the case of a hotel, someone could be targeting everyone. Such an attack could prove valuable, especially if done in executive suites near financial centers.

<comment><USER3> Wow. This combined with the fact that economic espionage has been receiving state sponsorship for a long time now is kind of unsettling. Cell phones are bad enough, but TVs...and really anything else that can use voice control (alarm clocks are my personal favorite) could be huge for spies.

<comment><USER2> Also imagine how many companies are going to eventually purchase these for their conference rooms. I imagine some already have. In pen tests my team always considers how to hide bugs, mostly wireless keyboard sniffers & network taps these days. These TVs offer the ability to hide in plain sight and with no out of pocket expense beyond paying Amazon for a cloud service to run a proxy.

<comment><USER4> Would a bug be more practical? Then they don't have to worry about which brand of TV it is.

<comment><USER2> It depends. If the target is a high security facility that happens to have periodic bug & unauthorized WiFi sweeps this could be a great side-channel vector which could go unnoticed. Of course I'd hope the management of such a facility would know better than to put a smart TV in a conference room, let alone hook it up to the network but honestly nothing surprises me anymore. I've seen older smart TVs in secure areas not connected to the network, but within a hands reach of a network port.

<comment><USER4> That seems like a rather specialized worry since your average hotel isn't going to do any of this? It seems like you might as well go for a walk in a park to have any real conversation.

</comment></comment></comment></comment></comment></comment><comment><USER5> It seems to me that, if you have one of these, you live in a two-party consent state (e.g. California), and you invite a guest who hasn't clicked the EULA over, then someone is committing felony wiretapping.

I would love to see a TV vendor prosecuted for this.

<comment><USER6> So how about if somebody in California replies to an e-mail which was sent from gmail.com?

<comment><USER7> IMO there is no expectation of privacy with email. Maybe only false expectation. If you go into someone's home and take part in private discussions, you probably don't anticipate being recording in any manner.

<comment><USER8> I actually think there is a reasonable expectation to privacy, and that most people, from senators to elementary school teachers, believe that email is technically secure, meaning that "normal people" could not read their email even if they wanted to, at least not without resorting to "hacking" or "spying".

In fact, one might say that email is more secure than normal mail, because normal mail doesn't have a password and is default delivered to a publicly accessible mailbox. If a neighbor wishes to invade your privacy via your email, how do they do so? Probably by entering your password somehow. If that person wants to steal your physical mail, how do they do so? By walking up to your mailbox when nobody is looking.

Also, email at least has a very plausible chance of being encrypted; even if you don't know what that means, your workplace may be doing it for you. But companies, including financial or accountancy firms, don't encrypt physical email to their customers.

I think most reasonable people have the belief that email is safer than mail, and in 2015 I think they might be right.

<comment><USER9> Many people believe that the world is flat. Doesn't mean that it is.

There has never, ever been any expectation set that internet email is private. There have been many examples in the broader media that show how one might compromise email. Also, you have no way to assess the quality of the email service provider, network provider, or client environment.

Postal mail is more secure for 99% of the public for several reasons, including:

\- A paper envelope is tamper-evident. My dad used to correspond with radio operators in the Warsaw Pact... envelope tampering was trivial for me to detect as a 5-year old.

\- Stolen mail is stolen. You don't get the message. Detecting a pattern of missing mail is pretty easy.

\- If you're not a police organization, tracking postal mail metadata is risky. Bystanders will notice somebody rifling through a mailbox every day. There really isn't a way to surveil outbound letters.

\- It's a serious felony to tamper with mail. Linking physical mail theft to a perpetrator is pretty straightforward. Also, Postal Inspectors take mail integrity very seriously, sometimes too seriously. With electronic crimes, you probably have a 1/100 chance of finding a cop who understands your complaint AND has the means to do anything about it.

\- It's much easier to implement physical security practices/procedures that keep secrets transmitted by mail secret than via digital means.

<comment> vertex-four > There has never, ever been any expectation set that internet email is > private.

When I send an email to somebody, I _do_ expect that no human other than the recipient will read it, and that automated processes do not attempt to divulge meaning from its contents past that required for advertising (and that data is used for no reason other than advertising).

I expect that it _might_ be read by the police with a warrant, as with anything else. I also expect that any post I send might be read by the police with a warrant - resealing an envelope is actually easy, and worst case scenario, they could simply use another envelope and copy the addresses and stamps, and I'd be none the wiser.

The technical ability to read my email has little/nothing to do with my expectation of privacy. Technically, someone could read all my mail with ease (it gets delivered to my apartment's hallway where anybody could pick it up), but I still expect that people will not do that. They could also read RF emissions from my apartment to figure out what I'm typing just now, and IIRC that's a violation of privacy.

<comment><USER9> I get it, it's 2015 and paper mail feels old hat. So waving away and dismissing concerns about the vulnerability of email feels like the right thing.

Do you affirmatively know that every email that you've ever sent isn't an account managed by a third party (like an employer) whom the recipient has ceded (or shares) control of their mailbox to?

Any employer can trivially read email, and many do so routinely. Most people allow for the sharing of devices in the household... So the spouse and kids can probably access the computer pretty trivially. That's two trivial examples that doesn't involve spy stuff or conspiracy theory.

You cannot access postal mail without a warrant or physically stealing the mail. Once received, you can physically destroy or secure it.

<comment> vertex-four > Do you affirmatively know that every email that you've ever sent isn't an > account managed by a third party (like an employer) whom the recipient has > ceded (or shares) control of their mailbox to?

They could also send my post to them off to a processor for whatever reason. When I give my personal details to my ISP, they could sell them to advertisers. I expect that they will not, and feel violated when they do.

> Any employer can trivially read email, and many do so routinely.

If I'm sending an email to a UK employee, they in fact cannot legally do so in the general case - doubly so if it's a personal email.

> So waving away and dismissing concerns about the vulnerability of email > feels like the right thing.

No, but there's a point to be made that just because something is _possible_ and _easy_ does not mean it should be _legal_ or even _right_ , nor that people should expect it to happen. If it were something I really wanted kept secret, I'd encrypt it - but most things I email are, while not things I would necessarily want public, not life-destroyingly secret either.

I don't expect or want to be tracked everywhere I go in public either, but I don't wear a mask to ensure I can't be. On the other hand, perhaps I might want to do so in some circumstances because the stakes are higher.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> > You may disable Voice Recognition data collection at any time by visiting > the "settings" menu. However, this may prevent you from using all of the > Voice Recognition features.

from here: [https://www.samsung.com/uk/info/privacy- SmartTV.html](https://www.samsung.com/uk/info/privacy-SmartTV.html)

So, disable it. I don't understand everybody's fascination with voice recognition. I don't find it more convenient at all. I'd much rather just push a button. It's really not that complicated.

<comment><USER11> Right now it isn't so useful, but once stuff like "put on that Wes Andersen movie where they ride on a train all the time" becomes useful, I see why voice might be preferred over a button, especially in China, where voice search already has a big share of all search.

But I agree. I'd much rather have a dumb tv and upgrade my attached boxes.

<comment><USER12> > But I agree. I'd much rather have a dumb tv and upgrade my attached boxes.

So you trust the manafacturer/software provider of your attached box more than that of the TV?

<comment><USER11> I get to choose box separate from screen. Means I can get a box with microphone if I trust the company, or one without if I dont.

What I don't like is paying for smart tv features that don't work or don't trust just to get a screen. Maybe the company that makes great screens make untrustable smart tv features, and maybe the open source smart tv of the future sits in a crappy screen.

More probably the smart tv features gets outdated before the screen.

</comment></comment></comment></comment><comment><USER13> English translation: [https://translate.google.com/translate?sl=auto&tl=en&js=y&pr...](https://translate.google.com/translate?sl=auto&tl=en&js=y&prev=_t&hl=en&ie=UTF-8&u=https%3A%2F%2Fnetzpolitik.org%2F2015%2Fsamsung- warnt-bitte-achten-sie-darauf-nichts-privates-vor-unseren-smarttvs-zu- erzaehlen%2F&edit-text=&act=url)

<comment><USER14> [https://www.samsung.com/uk/info/privacy- SmartTV.html](https://www.samsung.com/uk/info/privacy-SmartTV.html)

Here is the relevant part: "Please be aware that if your spoken words include personal or other sensitive information, that information will be among the data captured and transmitted to a third party through your use of Voice Recognition."

This must be a data protection violation ?

</comment></comment><comment><USER15> I think Amazon's Echo device is doing this the proper way, which "uses on- device keyword spotting to detect the wake word. When Echo detects the wake word, it lights up and streams audio to the cloud". It seems like a technical or design failure on Samsung's part to not feature similar functionality.

<comment><USER16> Also Google Now (for devices that are always listening for the "trigger word"), where your phone will make a very distinctive noise and pop up a screen to indicate that it's listening.

</comment></comment><comment><USER17> _" Please be aware that if your spoken words include personal or other sensitive information, that information will be among the data captured and transmitted to a third party through your use of Voice Recognition."_

 _" Your SmartTV is equipped with a camera that enables certain advanced features, including the ability to control and interact with your TV with gestures and to use facial recognition technology to authenticate your Samsung Account on your TV."_

We've come so far since Orwell's "telescreen" in "1984".

 _" Big Brother is watching YOU."_

<comment><USER18> The telescreens in 1984 were two-way, it was mentioned in the scene with the exercise instructor :

"'Smith!' screamed the shrewish voice from the telescreen. '6079 Smith W.! Yes, YOU! Bend lower, please! You can do better than that. You're not trying. Lower, please! THAT'S better, comrade. Now stand at ease, the whole squad, and watch me.'

A sudden hot sweat had broken out all over Winston's body. His face remained completely inscrutable. Never show dismay! Never show resentment!"

</comment></comment><comment><USER19> This immediately brought to mind Orwell's telescreens.

[http://en.wikipedia.org/wiki/Telescreen](http://en.wikipedia.org/wiki/Telescreen)

<comment><USER20> Here's an article actually comparing the two: [http://www.brennancenter.org/analysis/im-terrified-my-new- tv...](http://www.brennancenter.org/analysis/im-terrified-my-new-tv-why-im- scared-turn-thing)

</comment></comment><comment><USER21> Given that voice recognition is possible offline on a RaspberryPi Version 1 [1] I'm wonderung why they have to send the recorded audio to the cloud in the first place.

[1] [https://jasperproject.github.io/](https://jasperproject.github.io/)

<comment><USER22> Cloud based versions work significantly better. They are able to put perhaps 10,000 times* more processing power into recognizing what you said. They are better able to deal with different people, background noise, and tick accents. When you are making a consumer device this is critical.

*I pulled this number out of the air

<comment><USER23> Android voice recognition can now be used offline[1]. You download the trained recognition model (which took much, much more than 10,000 times more processing power to train), and then it works without a network connection.

[1] [http://androidwidgetcenter.com/android-tips/how-to-use- offli...](http://androidwidgetcenter.com/android-tips/how-to-use-offline- speech-recognition-in-jelly-bean/)

</comment></comment></comment><comment><USER24> As far as networking is concerned, what should I google for separating a device like this onto its own internal private network? I have devices that I want to whitelist traffic for while not affecting other devices in my home.

<comment><USER25> I'm not sure how technical you are (this isn't a simple subject to implement), but I'd look into "managed switches" (to enable classifying traffic from specific ports, aka one the TV is plugged into), "VLANs" (what the switch uses to "segregate" traffic), "policy based firewall" (allow you to be explicit in what traffic is allowed or not, two examples you might look into being pfsense and mikrotik).

<comment><USER24> Thank you!

</comment></comment></comment><comment><USER26> Interesting, there is the vocal recognition thing but the camera equipped to do facial recognition is much more worrisome. Check into a hotel room wearing a ski mask, sneak up to the TV and put tape over the camera if you can find it.

Nothing like downloading the facial recognition features of Carmen San Diego into all the hotel TV's in a country to see where she is staying.

License plate readers don't hold a candle to this. Now to check to see if every Samsung TV coming into the US has to go through 'special customs checking' ...

</comment><comment><USER27> It's not only Samsung Smart-TV but all cloud-based speech recognition products, right?

(Nuance/Apple Siri, Microsoft Cortana, Google Now, IBM Watson Speech, Amazon Echo, LG-Smart TV, etc.)

From a consumer perspective you want an offline speech product like Nuance Dragon NaturallySpeaking: [http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking](http://en.wikipedia.org/wiki/Dragon_NaturallySpeaking) (it's the same technology that powers Nuance cloud based products like Apple Siri, IBM Watson, etc.)

<comment><USER28> Most of those products locally recognize an activation command: "hey siri", "ok google", "alexa", ... and then send the next phase to the cloud for interpretation. With Samsung's Smart-TV, however, it sounds like everything you say is uploaded so that they can recognize "Channel Up", "Smart Hub" etc.

<comment><USER29> Yeh, you'd think that based on all the comments you read here.

But, if anyone commenting had actually used one of the new samsung smart TV's with this feature, you'd see that this is being blown out of proportion.

The TV isn't even listening for a keyword. It's waiting for you to press a button on the remote. The microphone for voice control is actually in the remote itself.

Samsung Smart TV remote with Voice button: [http://goo.gl/DkgWPb](http://goo.gl/DkgWPb)

I would caveat the above by saying that the TV may also have a microphone in it, because I have noticed that when you use the built-in skype app, the camera does a cool digital/zoom to highlight whoever is speaking, which it probably does either with a microphone array, or moving-lips detection in the camera. The camera, by the way, can be physically disabled when not in use, by pushing it into the TV.

<comment><USER30> The Samsung TVs do perform voice recognition through the mic on the TV as well as on the remote (well, at least mine, which is a couple years old, does). Even if you have the voice recognition setting turned off, the one on the remote still works by pressing the button.

The non-remote one does use a trigger word ("hi tv" by default) and it definitely does that processing locally (I know because i disconnected my TV from the internet and tried it). Basic commands ("channel up" etc) also worked. I don't know what else to try to figure out when it goes out to the internet. I'd also add that the camera/microphone have a very visible hardware off (which I keep off, because life is too much like 1984 already).

Again, this is a 2013 model.

</comment></comment></comment></comment><comment><USER31> Why is the cloud required for speech to text when a four core ARM SOC is under 15 dollars? My Commodore 64 had good text to speech, and Dragon was doing speech to text on 90s PCs. I don't get the technical rationale.

<comment><USER32> You needed to train Dragon and you needed to calibrate the microphone.

People talking to control their tv's want to be able to iist talk. Thus, instead of training the software you offload that training to the cloud and massive computing to do it.

I agree that the tv setup could include a bit of voice recognition training. But then the TV only changes channels if Ann asks it to. Bob's out of luck, he has to use the remote.

<comment><USER31> Ahh... that explains it a little more... though I don't see why you couldn't just share model data via the cloud instead of actually sending _audio from a microphone_ directly out to a remote endpoint.

But then again anything with an Internet connection and a mic (laptop, cell phone, etc.) is a potential spy device with the right malware installed.

</comment></comment></comment><comment><USER33> If you submit things from aggregators, please try to find the actual source and submit that instead.

Submitted: [https://netzpolitik.org/2015/samsung-warnt-bitte-achten- sie-...](https://netzpolitik.org/2015/samsung-warnt-bitte-achten-sie-darauf- nichts-privates-vor-unseren-smarttvs-zu-erzaehlen/) which links to [http://martingiesler.tumblr.com/post/110325577280/samsung- wa...](http://martingiesler.tumblr.com/post/110325577280/samsung-watch-what- you-say-in-front-of-our-tvs) which links to [http://mostlysignssomeportents.tumblr.com/post/110300533107/...](http://mostlysignssomeportents.tumblr.com/post/110300533107/samsung- watch-what-you-say-in-front-of-our-tvs) which links to [http://boingboing.net/2015/02/06/samsung-watch-what-you- say-...](http://boingboing.net/2015/02/06/samsung-watch-what-you-say-in.html) which links to [http://www.reddit.com/r/technology/comments/2uuvdz/samsung_s...](http://www.reddit.com/r/technology/comments/2uuvdz/samsung_smarttv_privacy_policy_please_be_aware/) which references [https://www.samsung.com/uk/info/privacy- SmartTV.html](https://www.samsung.com/uk/info/privacy-SmartTV.html)

On the other hand, the HN rules suggest doing things like this if you want to cherry pick a certain aspect of a page...

<comment><USER34> Thank you, we updated the URL of the submission to the original source.

</comment></comment><comment><USER35> Has been in the news before. Voice recognition is done on a server farm meaning it needs to get sent there & possible get intercepted.

Not ideal but doesn't strike me as a big risk

</comment><comment><USER36> It's about targeted advertising - arguing with your spouse? Next ad break we show you adverts for lawers.

<comment><USER22> I don't think anyone actually wants to do that. I work in advertising with video and the people I've talked don't appear to think this is a good idea.

</comment></comment><comment><USER37> A good lesson why one shouldn't use any systems with DRM. People are so upset about mass surveillance by the government, yet they readily subject themselves to mass surveillance of DRM systems. Where is logic?</comment>


Node.js: You are managing your environment variables wrong - <AUTHOR> https://medium.com/@rafaelvidaurre/managing-environment-variables-in-node-js-2cb45a55195f

<comment><USER2> How does this not defeat the purpose of environment variables? I use them primary because I can set them in cloud-init or in my CI system and apply them to a Docker container I'm building without having to explicitly put them in my repo.

<comment><AUTHOR> Environment variables should STILL be used in a production environment. This article helps manage development environments.</comment></comment>