skysight-inc/HackerNews huggingface dataset:
I currently teach high school math and science, but I'm looking to switch over to CS in the next year or so, still at the high school level. If I make the switch, I'm going into a school that has no meaningful programming classes. I am currently outlining a four-year plan to build a good high school CS program, that would set students up well for jumping into a competitive CS undergrad. I'd love feedback from people in this thread, about how well this would set people up for their undergrad work:

--- Year 1 ---

[few students in the entire school program at all] Offer multiple sections of an Intro to Python class. Focus on Python, because people can start to do meaningful projects in a relatively short period of time, while still learning meaningful fundamentals. Focus on intro classes, to build a broad base of overall programming competence in the school. Focus on games, visualizations, maybe delve into some robotics.

Also offer some web-focused classes, focusing on basic html and css, getting into Bootstrap and Wordpress as well.

Support other topics such as 3d modeling, graphic design, etc.

--- Year 2 ---

Offer an intermediate Python class for students who have taken the Intro class, and who have continued to build their own projects. Expand projects to include web apps, focusing on full frameworks such as Django and more modular frameworks such as Flask.

Start to offer other languages. C for students who want to understand how things work at a lower level. Go for students who want to work in a newer language? Maybe Java for students who want exposure to a statically-typed language, without dropping all the way to C?

Start to bring students to a conference or two, probably starting with PyCon. I took one student to PyCon last year, and it was a great experience for him, and continues to be a guiding experience in his life.

--- Year 3 ---

Offer an advanced Python class. Refine the C/ Go/ Java offerings. Focus on helping students build portfolios of finished projects.

Offer a class focused on databases? Support students in learning Rails? Maybe refine an independent learning class, where students who have learned Python develop a plan for learning a second language or building a specific project. Focus on teaching students to use the appropriate support channels such as StackOverflow, IRC, mailing list archives, etc, more than teaching directly.

--- Year 4 ---

Have a clearly articulated set of pathways for students who just want some exposure to programming, for students who want to build specific projects, and for students who know they want to go fully into CS. Work closely with teachers in the math and science departments, letting students do CS projects that focus on a content area in another class.

---

I could write an essay on this, so I'll stop there. Many of you are now professional programmers. If you could influence a nascent high school CS program, is there anything in here you would want emphasized, or want to steer me away from?

[edited slightly for formatting]
An impressive list. However - how do you choose the right tool for your needs? "What is the best tool for ..." is usually rejected in SO (and other Stack Exchange sites). A "Stack Overflow for tools" recommendations, pros and cons would be great.
Show HN: Our JSON-formatted developer newsletter
Android team refuses to answer about Java 8 (first fireside question)
Gabe  Penny Arcade demos Oculus Rift
We buried my grandfather last weekend. He and grandma had been happily married for 65 years.

"Generosity" was one of the most used words at the funeral. It wasn't just empty talk; it was descriptive of how they related to each other and to everyone else. Even after grandpa went blind, he'd "look" toward grandma any time she spoke. Even when she struggled to walk, she'd get up to get him a drink if she was thirsty. What this article calls "bids" for affection, they were not only responsive to but proactive about.

And it reflects in the lives and relationships of their 7 children, 27 grandchildren, 29 great-grandchildren (+2 on the way), and 2 great-great-grandchildren. My parents' relationship now looks like what I remember from my grandparents 25 years ago. My relationship with my wife looks a little like my parents' relationship when I was a kid. That's one of the reasons this sort of research is so important -- because the quality of your relationship now can affect relationships for generations to come.
It's probably a demonstration how their new responsive embeds work.
Mozilla: ABP & Download-helper
Virtuoso 7.1. and OWLIM 5.5 have similar loading speeds. In this case the decompression algorithm is often the bottleneck needing multiple files to be read in parallel to go faster. Oracle 12c Semantic Network and Yarcdata uRiKA can also go faster in loading if correctly set up.
The Webs Scale Avalanche
Browserify? Same wrapping as RequireJS would implement I believe, obviously not the 'same' but same level of performance hit and browser based tooling.
Micros can be powered on nearly the same budget.

I think the product is very much possible with current tech. I can't tell if the creators know how to do it and just used less technical language or if they have no idea what they're doing. At any rate, there have been way crazier scams on Kickstarter (raman spectroscopy tells me nutrition info etc).

Didn't Kickstarter ban showing mock up or rendered hardware as substitution for the real thing? Maybe that's all this is?
Isn't Backbone.js already 6.5kb, Packed and gzipped? Why is the stress put on making it smaller/modular? I don't think that is the problem at all. The problem is one that frameworks like Ember.js are trying to solve... reuseable, convention-based and opinionated. This is what Rails got right and something I think that client-side frameworks lack. Rails' success, for the most part, is due to its really strong opinions and conventions. These client-side "frameworks" are often brought in with the byline that its intent is to be TINY. To me, that's not what these ambitious JS frameworks should be bullet-pointing first.
What's behind the order?

I would have thought HTML5 -> CSS3 -> Javascript

Get the markup right, then make it look nice, then make it functional. Basically learning in order of how pages are created.
Amiga: We call this Digital Living.
If you're interested in visualizing RBMs or AutoEncoders in real time, you should check out my project VisualRBM:

https://code.google.com/p/visual-rbm/wiki/Screenshots

It basically lets you do exactly what you're looking for. I'm going to eventually add support for visualizing each layer of a DNN during back-propagation training, but that's several releases away.
sure, there exists a project already with a local copy of included sites; it would be ease (i think) to modify this project to download and evaluate a current db-copy on browser-start

https://chrome.google.com/webstore/detail/plain-text-offende...
I considered it at one point but didn't do it. ;)
It really should mention the closed form solution, it's quite silly to compute a linear regression this way.

It should also give a nod to robustness, a pair of sufficiently crazy outliers would leave the line nowhere near the points, seemingly in contradiction that lines the "fit" better will have a lower error value. (They will, only in the circular sense where you've defined fit in terms of that particular error function)...
I'm partial to http://www.bentobox.io/
> But humans often lived in periods of high food availability.

Outside of the post-civilization period (which is trivial in duration in terms of timelines required for substantial evolutionary change given human reproduction patterns), I don't think sizable populations of humans have lived for significant periods of times in conditions where large volumes of food were available that didn't require substantial physical exertion to access.

"High food availability", sure, that occurred, but that only means a low risk of starvation with exertion to extract food from the environment. It is a very different thing than being able to avoid starvation while spending most of your time sedentary.
> I don't see how granting access to the host is a cleaner architecture... from a security standpoint, it seems the opposite.

If you are concerned about granting access to the host, you should be concerned about granting access to a Docker container, especially as root, until it's far more battle tested.

And if you are concerned about this, there's a simple solution: Group your Docker containers in KVM vm's.

If you are not concerned about this, you can easily do as he suggested, and force "nsenter" on login. Or you can do both: Group your containers in a KVM vm and force ssh into the KVM to use nsenter into the appropriate containers.

Part of the point is that it makes little sense to add to the complexity and attack surface to add a process monitor per container (to run both sshd and the app) and an sshd per container, even if what you add is something that provides "industry standard, encrypted communications with proven cryptography" if it is not actually needed inside the containers.

You're also not getting "locked into" Dockers API much if at all. What is proposing depends on two things: A way of executing a command that can access a certain part of the containers filesystem, and a way of entering the appropriate namespaces.

Both are easily abstracted behind tiny (1-2 line) scripts where you can replace "docker run" and "nsenter" with ssh if your needs change. And one (nsenter) is entirely independent of Docker - it will work with e.g. lxc and anything else that makes use of cgroups as well.
I think the army does that too, however, I'm not sure.
Exchanging Sex for Survival
Really? I find it pretty easy, especially after all the "team play" revelations they've been having with NSA.

http://www.theguardian.com/world/2013/jul/11/microsoft-nsa-c...

http://techcrunch.com/2014/05/13/nsa-docs-detail-efforts-to-...

Not to mention that pushing Metro to my desktop didn't exactly win them brownie points with me, nor did being essentially the biggest patent troll around by asserting 300 patents against an open source project, and then helping Oracle in the ruling that decided API's are copyrightable.
It's easy to be an armchair critic dispensing unasked-for advice but harder still to just listen.
Network Emulation in Chrome Dev Tools
what about a simple one time purchase? I imagine the half life of a good pitch is really short. So your churn will be high. If people last a long time on your service, they have other problems.
The actual docs for the sdk are at:
http://msdn.microsoft.com/en-us/library/office/bb448854(v=of...

A link from the github page might be helpful!
Do machine learning cats use Nesterov methods? Add some inertia to gradient descent, and boom, kick butt theoretical benefits and super fast in practice.
Dropbox App Metrics
Kickstarter project uses recycled smartphones to protect endangered trees
Nolone.net
Log in, invite and go out with somebody. http://www.nolone.net
I wrote a wishlist for Satya sometimes ago on Hal Berenson's blog (I even suggested MS withdraw the OOXML standard while not changing the format itself): http://hal2020.com/2014/03/03/satya-shuffles-his-leadership/...
I believe that this will eventually become a losing game. Normally there's an arms race between those creating security and those thwarting it. In this case, once the recognition schemes are as good as humans, the game is over for good.
Isn't SVG part of the DOM though?
This is really cool and I have a possible startup opportunity that could use this.

One question if there's anyone from BlockScore listening–I've seen some finance/bitcoin startups that require you to upload a picture of your ID with your webcam via WebRTC. Does BlockScore have anything like this in the works? I think a drop-in JS library for this would be really useful.
Show HN: Vim Awesome – Vim plugins
Battle Captain, right? I know exactly how you must have felt. I did this job as a 1LT in a bunker in Korea with shitty outdated MS Office and I never even thought to write a VBA app.

This sounds like an interesting startup idea: TOC software. It would be easy to write. I wonder how difficult it would be to sell to the Army.

I see from your Github that you, too, write Go. We should talk sometime.

http://github.com/chrissnell
Using the term 'considered harmful' in a blog post title considered harmful.
Pay me 50$.
More or less, yes.

Every instance of the app has static locations for every service it talks to so it doesn't need to care what location. Every docker container has a health check for the load balancer and registers itself with the load balancer on startup.

I don't run something like Cassandra or MySQL in docker.
That's a common (notation-induced) mistake. You just need to solve a linear system.
This is software its not your place or option to redefine the word realtime to mean whatever the fuck you wish it meant.

As soon as he did that tab closed. But Im sure this is typical for js programmers who dont know anything, just make it up and expect us to fawn over your incompetency.
Parent should not have been downvoted and it irritates me that it was

1. hasenhj is correct, Backbone has been superseded for "advanced" webapps for at least two years and should not be used for new webapp development

2. I had the same confusion and question about what exactly ampersand is and what "advanced app" problems it sovles

emotional edit: I've used Backbone, Knockout and React in "advanced" (enterprise-scale) production apps, and studied TodoMVC and skimmed the book for Angular and Ember. My original decision to use backbone & knockout in enterprise scale app almost wrecked my first greenfield project, we spent multiple months ripping out Backbone based code. In 2014, Backbone.Model and Backbone.View are very naive ways to approach frontend problems and it is not obvious why until you've been using them a few months. There is an entire ecosystem of blog posts on HN of people attempting to explain why. Any and all of the above dependencies are better than Backbone/Knockout for new webapp development. They of course have the advantage of learning from Backbone, Knockout, YUI, Sencha etc, so it is no surprise that they tackle the hard problems that backbone makes no attempt to solve.
Sounds like Super User to me?
The default is Restricted, so no scripts can run at all. So they need to tell the user to change it to something.

Their choices are AllSigned (or RemoteSigned which is the same thing in this context) or Unrestricted.

If they chose the AllSigned route and then sign it with a CA certificate (e.g. Microsoft's Code Signing cert) that would work, but if the user ever made even a one character change to the script the thing will break and it might be unclear as to WHY. Plus you have to be careful not to lose your signature when sending files via certain technologies.

Alternatively they could teach the user how to set up a local CA, make a key pair set, and then install. But that too is going to break a lot as it needs to be re-signed each time the script is updated, and obviously inter-machine coding will be a PITA.

It is fairly standard practice on non-server developer machines to set it to Unrestricted. It isn't really any more dangerous than for example BAT or VBS scripts which have no such default restrictions.

You call it lazy, but the alternatives seem impractical and painful. There are scenarios where you want to enforce code signing, I just don't really feel like a developer machine is one of them.
Regardless of all of the technical arguments about RFID range, the idea behind this product is that it beeps, so you don't need fancy locating equipment.

I don't know of any passive RFID tags with enough left-over power to run a loud beeper.

You would need a strongly directional antenna and user input (or an antenna array) to find the tag using the phone itself, which would be a relatively bulky and expensive piece of equipment.

If you're just trying to find something using radio, a 100% passive system like http://en.wikipedia.org/wiki/RECCO is simpler and cheaper anyway.
I'm really interested how people here react to the "Picking your tools" part in the introduction.

Some pretty strong opinions that contradict current trends in front-end world. I actually waited for someone to break the mould and start questioning the status quo.
Especially regarding the use of DSLs and logic in templates.
This is incredible. As a non-CS major, it's been truly a fascinating read!
IIRC RFID actually falls off with R^4 because the power gets transmitted to the RFID tag and then it's reduced by the same factor again when it transmits back.
Terra incognita: Clojure game with Entity/component system pattern
Url changed from http://yro.slashdot.org/story/14/06/26/1353216/intuit-beats-..., which points to this.
I have a list of domains I've gathered over the years. What would you recommend doing if I wanted to see which are valuable? And secondly how do I go about finding buyers?
Love is the territory of poets. To quote one who I think best described it's paradoxical briefness:

Above all, to my love I'll be attentive
first, and with such zeal, and always, and so much
that even when confronted by great enchantment
my thoughts ascend to more delight.

I want to live it through in each vain moment
and in its honor I must spread my song
and laugh my laughter and shed my tears
to it's sadness or to it's enjoyment.

And thus, when afterward comes looking for me
maybe the Death (anxiety of the living)
maybe the Loneliness (fate of the loving)

I could say to myself about the love (I had):
let it not be immortal, since it is flame
but let it be infinite while it lasts.

- Vinicius de Moraes ("Soneto Da Fidelidade", adapted to English by me)
Forget stigma: I'm insecure and scared. Are you?

Yeah, it's a weird place to be. I recall another local founder speaking at an even last year and telling the crowd something like "being a founder you're simultaneously ridiculously optimistic and expectant about the future, AND scared shitless and terrified".

I heard that and immediately thought "Yeah, that's me lying in bed before going to sleep every night."

Am I scared we'll fail? Absolutely. Am I completely confident we'll succeed? Absolutely. Sounds like a contradiction. Maybe it is, but what can ya do?

I also recall somebody (pg?) saying something to the effect of "the most important thing in founding a startup is managing your own emotional state". That strikes me as very, very true. It's OK to be afraid, but you still have to do what needs to be done anyway.

This is one reason I think sports (like football, wrestling, whatever) are more important than many geeks give them credit for. You learn a lot about perseverance, "intestinal fortitude", etc. from sports. And sports can serve to reinforce that mindset that says "Success isn't permanent and failure isn't fatal; it's the courage to continue that counts". Your team fumbled the ball near the goalline while down by 5 pts with 59 seconds to play in the 4th quarter? Great, guess what, the game isn't over. Keep playing, score a safety, return the free-kick-after-safety deep, and kick a lst second FG to tie the game. It can happen. And if it doesn't, well, there's always another game.

Here's something motivational for anybody who's doubting themselves... It's 2002, at the NCAA National Wrestling Finals. Rob Rohn is wrestling Josh Lambrecht, and Rohn is down by something like 10 or 11 points with around a minute to go. He's close to losing on a technical fall, and certainly has no chance to come back. The TV announcers are already starting to congratulate Lambrecht on the win.

Watch what happens:

http://www.youtube.com/watch?v=vRB6m4VdeJQ&feature=kp
Shoulda stopped at number 5: "and khseeke" seemed pretty clear to me.

But point taken.
De-Pressy
IDology and the major credit reporting agencies (experian, equifax, and transunion).
I am the author of baseimage-docker (http://phusion.github.io/baseimage-docker/) and I work at Phusion. I have the feeling that Jerome wrote this article mainly in response to the fact that baseimage-docker encourages using SSH as a way to login to the container. I believe that the ability to login to the container is very important. Depending on how you architect your container, you might not have to, but I believe that it's always good to have the ability to, even if only as a last resort method.

I had a pleasant conversation with Jerome quite a while ago about SSH and what the "right" way is to login to a Docker container. We were not able to find consensus, but Jerome is a brilliant guy and his reasons were sound. For some time, I considered using lxc-attach to replace the role of SSH. Unfortunately, a few weeks later, Docker 0.9 came out and no longer used LXC as the default backend, and so suddenly lxc-attach stopped working. We decided to stick with SSH until there's a better way. Solomon Shykes told us that they have plans to introduce an lxc-attach-like tool in Docker core. Unfortunately, as of Docker 1.0.1, this feature still hasn't arrived.

Now, Jerome is advocating nsenter. There is currently an ongoing discussion on the baseimage-docker bug tracker about replacing SSH with nsenter: https://github.com/phusion/baseimage-docker/issues/102

But leaving all of that aside, we regularly get told by people that Baseimage-docker "misses the point" of Docker. But what is the point of Docker? Some people, including Jerome, believe it's all about microservices and running one process in a container.

We take a more balanced, nuanced view. We believe that Docker should be regarded as a flexible tool, that can be mended into whatever you want. You can make single-process microservices, if you want to and if you believe that's the right choice for you. Or you can choose to make multi-process microservices, if that makes sense. Or you can choose to treat Docker like a lightweight VM. We believe that all of those choices are correct. We don't believe that one should ONLY use Docker to build microservices, especially because Microservices Are Not A Free Lunch (http://highscalability.com/blog/2014/4/8/microservices-not-a...).

Baseimage-docker is about enabling users to do whatever they want to. It's about choice. It's not about cargo-culting everything into a single philosophy. This is why Baseimage-docker is extremely small and minimalist (only 6 MB memory over), flexible and thoroughly documented. Baseimage-docker is not about advocating treating Docker as heavyweight VMs.
I was wondering about this too. I'm looking for a system that verifies uploaded identity documents, but it seems like BlockScore doesn't do that and only focuses on knowledge based authentication.

Does anyone have recommendations for companies that provides identity document verification, ideally in addition to knowledge based authentication? (one that I recently spoke with is Jumio, but they don't have a pay-as-you-go pricing model, which I really prefer)

Edit: to the BlockScore team - any chance you might support that in the future?
Ah right. Sorry. Bloody small input boxes and all that.

The new tlds, the fact that the domain name system as such is expanding all the time and that urls are fewer and fewer typed in makes me believe that 'shortness' is not so much a factor today as it was in the early days. You can get a two letter (not .com) for very little money.

The LG deal still baffles me, though I can see with that being their brand they probably had little choice. But no company is literally called 'ww', not even mine (It is Camarades BV) so from that point of view a really large figure was probably not going to happen any time soon.

The big difference is whether you approach the buyer or whether the buyer approaches you.

"A price is never right, if you sold it was too cheap, if you didn't it was too expensive.". I'm happy with this sale, it's a ton of money and since I normally live without a safety net this will help a lot with my sleeping disorder.

That Icann announcement of a trademark dispute, fake infringement suit (it's been tried), DHS seizure and all these other bad things that can happen to domains worry me a lot less today than they did yesterday.