skysight-inc/HackerNews huggingface dataset:
I've been working on a huge monolithic project (for 1 person) for the better part of 2 years now. It is in PHP, but the backend segments ported over to various other languages like python, javascript(nodejs), and now to Go.

Having now developed 30 micro-services for Go, which all utilise channels and thus run much faster than any other language I used is just amazing.

Not only has my productivity increased majorly, but also my support time has rapidly decreased.

These micro-services which run in the background just work:

- With PHP they don't run out of memory or the database connection doesn't time out.

- With Python I don't get random crashes due to pool.map.

- With NodeJS I don't have to run multiple instances to get the speed.

I've looked at web frameworks like beego, gin, revel and others. But I'm waiting till something comes out that's more inline with what I have used with PHP. Something like slim framework.

If it ever does come out, it will give me the push to switch 100% to Go. Can't wait really.
I think you're confusing two concepts:

- functional programming (Haskell, Scheme, Clojure) which favors recursion and stateless functions

- homoiconicity (code=data) (all Lisps)

These two concepts are completely orthogonal, and there are many Lisps such as Common Lisp, Emacs Lisp where functional programming style is not encouraged. Most of the code in these languages can hardly be called functional.

Conversely, not all functional programming languages are Lisps or homoiconic, in fact most of them aren't.
When you bury this paper, it grows into beautiful saplings
> I think if you’re looking at a PC, why would you buy a PC anymore? No really, why would you buy one?

I wouldn't, I would build one.

I think I'll stick with my two 8gb (16 capable), gtx 960, i7 easily upgradable custom gaming rigs instead of your planned obsolescence crapple machines. Thanks for the suggestion anyway, Tim.
Yep. At a company I worked for eight years ago, we were still dubbing BetaSP tapes for most TV stations for Public Service Announcements we wanted them to air.

We sent them what they told us they used, too, as we had equipment to dub with DVDs also. We still dubbed some giant ...I think they were called three quarter (3/4") tapes also, which are older than Beta, I believe.
How to Use Push Notification to Reduce App Churn
Question isn't "will you?" -- it's "can you?"
> "The fine, which amounts to double MTN's profit last year".

I'd love to see such fine applied to the criminal european telcos.
Yeah, Xbox One and Xbox 360 can do most/all of that as well. Amazon, Netflix, Hulu, etc. SmartGlass app for your mobile devices, plus any computer with Windows 10 can can control any Xbox One including streaming games (which works fine, if you're not playing a twitch based shooter (works poorly with Black Ops 3, works fine on Titanfall)).
Granted.
I've never used Go before, so I went to the project's home page. There's an editing window on the home page with a sample program showing, and a few other programs available in a drop down list. I couldn't help but start playing with the language.

I wonder how much the simple presence of an editing window on a language's home page contributes to overall adoption of the language. It sure lowers the bar to "I'll just write a few lines of code and see how this language feels."
I think that's a bit unfair to label all scientists like that. There are many of us that care about writing good code and working in version control. You just need to browse github to see many such people. There's not much incentive to actually do this in an academic environment, however, other than improving their own ability to improve and maintain their own codes. A well documented code available for everyone is usually well down the list of most scientist's priorities, for understandable reasons when you must publish papers.

Although I have quite complex programs I have written, which do benefit from software engineering methodologies, most of what I write are single-use scripts to automate tasks or try out ideas. These definitely aren't for public consumption and shouldn't be - they're more extensions of the thinking process than products of the research.
> Many languages have eval() where data can be treated as code.

I will just address this point, which IMHO is orthogonal to your question about the benefits of functional programming. Let me give you a simple example of macro: a macro print-variable that takes a variable and prints: "$variable = $value", where $variable is the variable name and $value its corresponding value. I wrote it on my Clojure REPL, and run it that way:

user> (def x 4)
#'user/x
user> (print-variable x)
x = 4
nil

In a language without macros, the function print-variable wouldn't have access to the string "x" once x has been defined. In a language with eval, you could do something like:

def print-variable(variable_name):
value = eval(variable_name)
eval("print("+variable_name+"="+value+")")

But you would have to call that function with a string, which is not as elegant and can lead to errors as the string could be misspelled.

Now, I will show you the code of the macro in Clojure:

(defmacro print-variable [variable]
`(println '~variable "=" ~variable))

What is does is take the variable you want to print, and defer its evaluation (~variable) only when you want to know what value is assigned to that variable. In the meantime, it can get the name of the variable ('~variable).

Here is what it does when I expand the macro:

user> (macroexpand '(print-variable x))
(clojure.core/println (quote x) "=" x)

The clojure compiler transforms the macro into the expanded code, and then injects it into the rest of the code.

Hope this helps.
As far as I'm aware, OpenDNS doesn't provide CDN-esque security services and is purely a DNS provider?
Exactly this. The amount of code to do things is shockingly small.

When I was first learning Clojure I stumbled on a "lack of good documentation" in third party libraries. I'd google around for something that solved the problem I was trying to solve so I wouldn't reinvent the wheel. I'd find, say, a github repo that had a couple of sentences in its README that purported to solve my problem and then nothing else. What the hell, I thought; why no decent doc? Then I realized: the solution was implemented in 40 lines of Clojure. Reading the source was the fastest way to figure it out.

It still happens to me. Every time it does, I have this warm feeling of investing in something of great value.
> Reading this comment makes me realize that it's somewhat silly that we don't consider consoles in this competition. For instance, consider the capabilities of my PS3:

As good as it is, I wouldn't compare it to a PS3 for its media capabilities. The PS3 runs very loud when the room temperature gets above a certain threshold, has a very clunky interface and the smartphone support is mediocre at best.

My biggest complaint is the interface when it comes to using my PS3 as a media-centre. Having a dedicated remote doesn't even help with navigation as the amount of content increases.
Your unhashable fingerprints secure nothing
I have a 3GB device (Sony Z3) and have all of the issues described above. I can start a cast from the YT app, put my phone down, and when I pick it up again, unlock, the YT app seemingly is out of sync with the Chromecast and when I try to perform an action my stream is restarted/stopped/otherwise interfered with.

We also own a Fire Stick (it was $25, don't judge me) and ignoring the physical remote for a second, the app remote for Android ("Amazon Fire TV Remote App") is much more reliable since it does exactly one thing: Be a remote. So streaming is never interrupted.

PS - The app version of the Amazon remote adds voice input even to just the Fire stick (the Fire box has it on the physical remote), however it is of limited value since voice input only works on the Amazon search, not Netflix, Hulu, etc.
That true. You could also make the argument that historically it hasn't been so easy to expose US government secrets to the world. So, maybe we're actually entering an era of greater (involuntary) transparency and we're actually witnessing a backlash to this as opposed to a renewed attempt at subduing dissidents.
It's a project they see as valuable in the future and it would lend itself really well to Go as these calculations are done distributed and yet they picked C++.

Go is not Erlang. Go supports green threads (goroutines) and offers CSP-like channels to communicate between threads. However, it does not have a distributed computing story yet (at least, not compared to Erlang, the usual Java frameworks, etc.).

For a library such as TensorFlow, Go is not really an option yet, for many difference reasons. E.g. the lack of parametric polymorphism makes it hard to parametrize code for single, double, or even half precision. Go does not support anything like expression templates, which exploit laziness to eliminate temporaries. Moreover, a lot of machine learning happens on GPUs nowadays. AFAIK, there are no CuDNN bindings for Go yet.

tl;dr: impedance mismatch
Google open-sourced TensorFlow, a library for deep neural networks
I've noticed Asian and Indian men following this as well.
I've overheard them talking about the backlash Nadella got as part of their reasoning.
I used to watch Netflix and Amazon Instant Video using my Wii U. It was ok, albeit the interface was often slow. Then I moved to a Amazon Fire TV Stick (bought for $19.99 during the launch) and it's amazing. The library of Netflix+Amazon is quite good and the interface is very fast and the remote is super responsive.
That's not the full story. It seems much of the issue revolves around a series of complaints at least going back to last year where separate incidents of racism (one case where Swastika labels were found in a dorm hallway) that went unanswered. At this point in the story, I'm not buying the theory that one letter is the cause of the mess. Bureaucrats are always lazy and unwilling to address concerns in any situation/setting in my experience. Yale wouldn't be the exception is my bet on this heuristic.
No, Ebook sales aren't down. Major publishers' sales are down
I appreciate it for half-screen references, but good reflow / resizing is still the better option.
I don't know that "pretty" is the right description. High quality, well made, canonical C has a certain beauty to it and Go tends to offer a degree more on that vein. I personally find that much of the js, Python, and ruby "beautifying" is related to compactness more than being easy for the next guy to view the correctness of or understand.

It's subjective though. I'd guess that if you're a fan of the suckless style of engineering, go might be right in your wheelhouse and you will probably find it very beautiful if you can accept garbage collection.
+1 for right tool for the job. Also, I can imagine they have large amount code already there in C/C++ since this is the second deep learning system they designed.

and if you watch Jeff Dean's video, he mentioned more front end in other languages, Go is the only example and as the interest from internal.
Since there seems to be an uptick in submissions related to machine intelligence projects lately (or rather since Google released http://tensorflow.org) (e.g. https://news.ycombinator.com/item?id=10537697) does anyone dare to make a comparison?

I am currently just getting started in this area due to my interest in AI and I am not quite sure which route to choose.
This is not even remotely relevant.
I use my Chromecast every day and love it. We rarely have a PC in the house to use anymore and use our phones or tablet for most day-to-day activities on the Internet. As such, it's really easy to share a video with the rest of the family by "cast"-ing to the TV.

However, we've been a little spoiled by the Xbox One voice controls, which I find work perfectly (unless all of the kids are screaming at it as well). Since getting it, it's now a toss-up on which device to use for Netflix!
Veles supports OpenCL, CUDA and NumPy (but NumPy is to slow and used for reference or to run Veles on notebook)
> Updates wouldn't install, the Store kept crashing/disappearing, Modern Apps would interact badly with virtual desktops.

Sounds like a hardware issue. Cannot reproduce. Are you running the mainline release or did you opt in to the experimental builds?
Anecdotally, I've used every Windows release since 3.1 and Windows 10 is pretty much on par with Windows 7/8. I don't have updates that fail, I don't have store apps crash (not that I use them) and generally think the polish is on par with most Windows releases over the years - which is to say, it's .. meh. I didn't even have a problem with Windows 8, because like most professionals, I don't live in the start menu, don't use touch apps and generally use Windows to just get shit done which means most of my time is spent within the application (which is what an OS should do right?)

I do think that if I switched to Linux for "a few weeks" I'd have the exact same reaction as a Linux user switching to Windows. In fact, this is how I've used Linux for the last 15 years and pretty much every experience since 2000 has been just that "it's nice but lacking polish".

Everyone has their own favorite flavor of OS, Windows 10 is no better or worse than previous releases.
Wait, Amazon applies for L1 Visas. Do they offer H1B? It is given that they've filed for 700+ H1B's.
World's Only JetPack Flies in New York
A laptop that doesn't have great trackpad interface is a non-starter. Really looking forward to trying out the Microsoft laptop in person. But still using my 2010 macbook pro and smooth-as-glass scrolling is a minimum bar.
Mainly, the PC inside ATM should not do anything remotely security critical. PC-based ATM platforms are actually designed around compartmentalization and in ideal case the PC should only draw UI on screen, handle some subset of input events and route encrypted messages between other components of the ATM (whether it's implemented in this way in actual deployments is another issue).
I agree with you, but there is something to the argument; it's just poorly phrased as "getting things done".

gofmt, for instance, is uncontroversial. Taking the decisions about how to format code away from developers and standardizing it is widely seen as a win (a win Python flirts with as well).

Well, there's a lot of other things in Go that have been pre-decided for you, not just the formatting. The net effect is that you don't have to waste time:

* thinking about designing a DSL for your programming problem (DSLs in Go require parsers)

* designing a class hierarchy to express your programming problem

* choosing between event-loops and callbacks or pools of threads

* picking the right associative container library (do I want a red-black tree? a hash table? a trie?) for routine coding problems

These pre-decisions can feel confining, but I think for a lot of developers Go reveals that those decisions were usually a waste of time. When you actually hit a place where you need a red-black tree, it's not that big of a deal in Go to bring one in. You're just not going to do that for your session store or for a simple lookup cache --- which is, I think, what a lot of people who can't stand Go's lack of generics would be doing.
Microservices: The Essential Practices
Show HN: A cleaner alternative to the “Fork Me on GitHub” ribbon
While I am indeed disappointed by the technical issues being reported for the new MSFT devices, I still applaud them for some outstanding engineering. I am considering the Book or Surface Pro 4 as a desktop replacement. But frankly I don't consider it a good value. I'll stick with my 5 year old desktop, which gets a respectable 7.3 experience index.
What I REALLY would like is a Windows 10 tablet in the 9"-10" range and in the $400 range. Perhaps there'll be a Black Friday sale on the Surface Pro 3.
No, on a small 11in netbook. I needed a mobile dev environment, and it was either a Surface that could double as a tablet and run Linux VMs, or a netbook running Linux.

You can run Linux natively on the Surface, SecureBoot isn't a problem, but the bigger issues are drivers and a touch-unfriendly UI.

(I went with an Acer Aspire E11 - $150, 8hr battery, and fanless - it may be the best Linux netbook every made!)
I have the Roku 3. I'm pleased that they recently added a limited web-browser to it. This is key, because you should be able to take your Roku to a hotel, but then you need a browser to log into their wifi network.

Roku 3 has the MIT courseware channel, so you can watch talks on computer architecture.
There's learning and there's learning tho'. Some languages genuinely give you new capabilities, e.g. if you want massive concurrency try Erlang or lazy evaluation try Haskell. That's learning that you will be able to do for a lifetime.

But there are 100 javascript frameworks that all do the same thing! After a few years you will stop being motivated to re-learn re-inventing the wheel too. But all the jobs expect you to know whatever's hot right now. That's not engineering, it's fashion.
I see, thanks. For me it can read either way (and the wrong meaning actually comes to mind first).
Smoother video in Chrome
Show HN: Jetty – Smart, minimalist money management
JPMorgan a Victim of Large Customer Hack
> and does not cede to the US Government control over TLS keys

Hold on. This is actively conflating DNSSEC and DANE.

I know your point that the "main feature" of DNSSEC is enabling DANE, and I respect that. But the two domains are still distinct: DNS security and the PKI built on top of that.

DNSCrypt only addresses DNS security, so it should be compared to pure DNSSEC, which obviously does not "cede to the US Government control over TLS keys".
AirBnB starts hosted experiences
You based a business decision to switch language on "boredom"?

What size team are you working with, that you were able to switch from Java to Go?
It's not a dangerous weapon for any practical purpose, because it's weak, single-shot and not portable. You wouldn't be able to say, rob a convenience store with it. Government has more dangerous things to bother with.
> Yeah, Blizzard had a gothic tone in a lot of their early games

Not just Blizzard, compare the Doom and Quake series, that lost this appeal
Filo: How do you feel about pushing for enabling DNSCrypt on your DNS servers, and working with the folks at Mozilla to make sure Firefox supports it? ;)
Time Warner Cable hopes to lure cord-cutters with a Roku 3 and cheap streaming
I don't agree with you. The top-down PKI DNSSEC expresses is inextricable from the DNS lookup security it attempts to provide. That DNSCrypt does a better job of solving lookup security without resorting to a government-controlled PKI is germane.
I used PS3 for this until I got a Roku. The lack of a fan in the Roku is a huge advantage. Also the PS3 game controllers are annoying due to limited battery life. There are other controllers, but they don't work as well (for example, missing the PS button to force exit an application).

BTW, it helps to take the PS3 completely apart and clean out all the dust. The fan then doesn't run as fast.
Our viewpoint is ultimately pragmatic: at the moment, both SELinux and AppArmor appear to be too much work for the potential benefit they offer in our environment. We could spend a great deal of time configuring both of them in order to make things work, and they would still probably not do anything much for us in practice.

(Remember, both SELinux and AppArmor are secondary defenses, not primary defenses; they potentially limit the damage if your system is already partially compromised.)

In part this is because at least SELinux only really works easily if you put everything in what the distribution considers its standard location and run things in the standard way. The moment you deviate from this, you wind up having to research an increasingly large number of file and executable contexts and (re)label an increasingly large number of files. And I'm ignoring NFS here, which we use heavily (I doubt NFS files can easily have SELinux attributes, especially when they live on non-Linux NFS servers).

Security is always ultimately about pragmatics. You have X amount of time to spend on security in all its aspects, and you need to use this time efficiently, to gain as much security from it as possible. Our judgement is that use of our security time configuring SELinux does not have a particularly high payoff.

(For clarity: I'm the author of the entry that mwcampbell linked to.)
The current gaming of H1 is pretty damaging. TCS, Cognizant are not employing any exceptional talent. Even in India, exceptional talent does not want to work for Outsourcing mega-corps for more than few years, just to break into the field of software. I have seen case after of case, of people getting offers from Microsoft, facebook etc. could not get H1. I have seen case after case of students from Ivy League or highly reputable universities lose out H1-Bs to some guys who can barely finish a cohesive sentence. I am seeing lot of students who are applying for community colleges after a Masters degree, just to hang in US for one more year to get another shot again at H1.

H1-B cannot be repaired, it has to be replaced.
| If she really was concerned about the faculty's control over students she wouldn't herself have tried to influence the students

That doesn't follow. Furthermore, she was signing her single name to her response to a letter signed by 13 administrators and faculty. If anything, her dissent might have reduced the appearance of a cohesive insertion of Yale authority. What I have quoted was near the heart of her message and sensibly supported throughout.

Her Time article was on the same theme of the insertion of adult control over Halloween. Is this supposed to reveal a "premeditated" crime?
agreed, this seems to be a very biased non-technical review.

"I am not a gamer, and I love games on the Apple TV"
so not gonna test the others in regard to their gaming capabilities...

I probably shouldn't have expected much from a business news magazine.
Good question. Small team of 2 developers, so I had that kind of luxury, which I am sure is not there when you have larger teams.
Except instruction manuals are not poetry - it's not difficult to translate them, and all of tech shares a common language (of math and engineering drawings) anyway.
It costs our public education system over 300K to educate an American child K-12. Why not reap the benefits of pre-educated, highly skilled persons who want to make a life for themselves in America?

There are only 65,000 H1-B visas per year. Surely the fabric of our country wouldn't dissolve if that number were doubled or even tripled.
Have you read "Why Functional Programming Matters"? https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.p...
When you say real progress, are you referring to the underlying technology itself, or something else?

With regards to the technology, I'm not sure if there's much more room for improving EEG itself, it seems like a solved problem (how do we measure electro-dermal (or brain) activity). However I'm not a neuroscientist, so I may be off base. Where I do see room for improvement is in systems that can automatically make sense of the signals we're reading. This requires gaining a better understanding of the brain, though.
It is without the pen and OneNote. Now it is a legitimate feature that people legitimately buy a Surface to have.

I see people in meetings sitting there and jotting away in OneNote all the time. It is very useful when you project one and then use OneNote as a "whiteboard" of sorts.