skysight-inc/HackerNews huggingface dataset:
I thought that symbolics was still running in a limited capacity and pulling in money from government contracts. At least that was the case five or six years ago. I know licenses for Genera were being sold as late as 2010 for around 5k. I would be interested to know if this IP changed hands.
I wish PEP 484 put more thought into backward compatibility with Python2.

Currently you need to import things like Callable, Tuple and these don't exist in Python2. It is especially odd since I am using MyPy comment syntax, so MyPy needs import statements even when all types are inside comments.

I like the way Haskell puts type information above the definition.
I agree with the overall sentiments of the article but I don't know if I agree with the conclusions. One thing I don't see mentioned is the lack and overall lower quality of many php libraries.
Having been to the markets myself, I'd say that they're not "no photos" places. The people in them are very camera shy and will typically insist you not capture any identifiable information like the store's name or number, but other than that pictures are fair game.
Mozilla JPEG Encoder Project
Team Calsoft Is Attending CloudExpo 2016 at Santa Clara
They say 1/64in/0.4mm precision or better.

I'm sure they can lift it up. This kind of mechanism isn't exactly new - but using it on a router is fairly new. There's a lot of projects with pen plotters built in this general pattern, see http://hackaday.com/2011/11/17/polar-pen-plotter-draws-huge-...
Something I've never understood: what's the deal with all these newfangled programming languages? Are they somehow better at being translated to assembly? Every program eventually becomes a bunch of instructions anyway...
Digikey and Mouser are cheaper than Adafruit (For example, http://www.digikey.com/product-detail/en/texas-instruments/S... vs https://www.adafruit.com/products/450). Adafruit's advantage (and the reason they are in business) is that they specifically market to hobbyists, selling stuff that's easy to use and giving you instructions on how to use it. And some of their stuff is straight from Aliexpress (https://www.adafruit.com/product/1150). As a side note, I prefer to buy Chinese components from eBay. Some of the time, you can find high quality new-old-stock on there too.
That's true of all languages, though.

A truly good idea will generally find a way to succeed despite the technology it is built on, though. Look at Facebook, Slack, and countless others running PHP or Minecraft running Java and its apparently horrible code base (I've never seen it, so that is secondhand)
I wish they reenabled comments if they haven't already. It was disabled shortly after I discovered it. I ended up reading all kinds of discussions there as they were really interesting.
> plenty of great server-side languages and environments

Depending on the type of project, I would choose PHP over at least some of the languages you mentioned; I guess "great" is not a significant quality when making architectural choices.

Just to be clear: I was thinking about factors like performance, choice of servers, how easy it is to hire good developers, library ecosystem etc.

EDIT: obviously the "awesome aspects" mentioned by GP are a similarly unsubstantiated claim ;-)
This reminds me the story of one of the WhatsApp founders getting rejected by FaceBook. [1]

Hope this doesn't turn out that costly for Google. But I'd be happy if it does, if it is the way the interview was really conducted.

[1] https://twitter.com/brianacton/status/3109544383
It's not that easy. Ambient temperatures change, humidity levels, flour retains more moisture. Small changes in these things can make huge differences in the finished goods. A skilled baker will read these factors and adjust.
Hahaha, no. I'm not buying for a second that you are proficient and current in every kind of programming there is.
We actually do let people use Google during our code interviews. They'll use it at work, so why not.

We do watch them work though so if they just copy and paste from stack overflow and they don't understand the problem, it's pretty obvious.
I have certainly gotten a few cables and other plastic/rubber items that stank strongly, but after a day or two outdoors weren't noticeable. Likely the toxicity of the materials is a much larger problem in China, where these items are made. Unless you were considering ingesting them...
Well, many chips can be recycled (desoldered and resold), meaning you can buy "expensive" chips for really cheap.
For me it depends. If I'm in a development session with lots of iterations where build speed is the bottleneck, I'd take my chances (I do anyway, have to resort to manually compiling individual files). For production/CI/other builds it's a different story, although those usually get built clean so it's not even a consideration.
> Then why ask about the nitty gritty details required by maintenance personnel as part of the screening process

I'm not sure what "nitty gritty details" you're talking about here.

As much as some people here think it's impressive knowledge[1] to be able to give the size of an ethernet MAC address without Googling it, that's something that anyone with experience in computer networking oughts to know. Not at all because it's useful knowledge, but simply because if you actually spend time looking at network traffic dumps or ARP tables or DHCP configuration or SLAAC assignments you'll be seeing MAC addresses so often that it just becomes obvious. Just like knowing that an IPv4 is 4 bytes and an IPv6 16 bytes. Or that a TCP connection starts with a 3-way SYN/SYN-ACK/ACK handshake.

And the same thing applies to the other questions that look like meaningless details: knowing what an inode is and what syscall returns inode data for a path is something that someone with system-level C programming experience should know. stat(2) is far from being something obscure. Knowing what signal is sent by the kill(1) command is maybe slightly more on the trivia side IMO, but it's still a very well known fact.

A candidate is most likely not expected to know the answer to all of these questions. But failing in all of the categories is IMO a fairly strong red flag for someone interviewing for SRE, where in general people are usually expected to be comfortable with at least one of {networking, system administration, Linux internals}. In fact, this domain specific knowledge is the biggest differentiator between "standard" SWE and SRE-SWE, even though the lines get blurrier and blurrier.

This also indirectly answers this:

> things I would rather have my high level employees looking up rather than relying on a possibly faulty memory

You would have to be out of touch with the field for quite a while to forget such basic things. Which is likely something that you want to test for in such interviews. To go with a metaphor: if you claim to be a fluent English speaker on your resume, you can't be excused of "faulty memory" if you forget how to conjugate "to be" in the present tense. It's not something you forget easily, and if you did forget you most likely can't say you're fluent anymore.

Disclaimer: I was an SRE at Google for 2.5 years, but I'm not familiar with the early phases of the recruiting process.

[1] https://news.ycombinator.com/item?id=12701486
Adafruit buys most of their jellybean parts off of Alibaba and resells it. You are paying extra for them to stock this stuff in the US (NYC in particular). Real distributors like Digikey and Mouser have better deals because you can get name-brand stuff for the same price as the Alibaba stuff from Adafruit. By jellybean parts, I am mainly talking about pin headers and such. Most of the dev boards Adafruit offers are unique to them.
Yeah, you're a student; you probably just took a class on this stuff. You'll forget it soon enough if you don't use it.
Most of the work done on CNC routers is 2-axis anyway. Or 2-axis with just a couple z-heights, which can be accommodated by changing the router depth by hand. Ultimately it's made to cut up plywood, not sculpt things. Like a sized-up version of small scale laser cutters.

Once you accept the constraints of a 2-axis CNC router, you can design in a way that maximizes it and build incredible things. See https://www.opendesk.cc/ for examples of a lot of furniture that can be built this way.
Yeah, but if your have to get through 100 house builder interviews and half of them don't know what a brick is, it saves a lot of time, no?
I agree with this as well, although this is about Rails. I still have a legacy project to maintain in Rails (a big project) but that is (hopefully) the last I see of it up close in my life time.
C++ is a C-like language but C++ muddies up the difference between some operators due to operator overloading. This is an inconsistency.

Do you support that? No one will ever be able to convince me that "<<" and ">>" make sense to be read and write.
Is this an issue with Guile, or is this an issue with browsers? It seems like allowing sites to query localhost is a vulnerability that could affect a wide variety of development tools. Maybe I'm not thinking of some use case, but it seems to me that we would only ever want requests to localhost to come from local sources, no?
How Apple Can Think Different Again
But a dream isn't a simulation.

People in this thread are being way too dismissive of an idea that couldn't possibly have been expressed or understood without modern computational science, specifically the notion of Turing equivalence.
That scope logic is normal in many interpreted languages. I love it in Python.
http://2.media.dorkly.cvcdn.com/62/91/7e91c6284f3492c9266fb2...

My favorite. From: http://www.chaostrophic.com/10-weirdest-things-found-inside-...
What if N = 1?
CLI experiment with focus on I/O reduction and fast file lookups
When I found out about c2 I was both after the read only mode I believe, and way too uneducated to be able to comment on anything, too much content :D
Mostly true but not quite. The forces on the chains are actually higher when the chains are "shorter" and the router is higher up. The farther from vertical the chains are, the more horizontal tension there is on top of the vertical component.

The same basic principle shows up in rigging - http://www.fdlake.com/rig-slng.html - the illustration where the straps are at 90 degrees is rated higher than 45 degrees.
After looking at your comment history, this might be the first time that I've seen the "web brigades" (Веб-бригады) at work on a site I frequent. I'm not sure how to feel about that. :|

https://en.wikipedia.org/wiki/Web_brigades

or

https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D0%B1%D1%8...

(Though I do find it poetic that the Russian language page about the web brigades is proposed for deletion.)
I actually had a conversation about this earlier today, but overall I don't think I mind a whole lot.

Chasing the next popular bit of research 10 years in advance is a bit of a fool's errand, so the best you can do is follow along with fields that you think are personally interesting.

For a more serious answer, I do think that FPGAs are going to become much more applicable to general-purpose-computing soon. Most of the tooling and language support around them is pretty archaic, and tools like CλaSH [1] make development much more friendly.

[1] http://www.clash-lang.org
I would tend to agree. The effective gravitational influence of a star would be relative to its mass. We can pretty easily determine the (rough) mass of a star, and ours appears(?) to be somewhere in the middle, so it stands to reason that 8-ish decently sized planets is not an unreasonable number.
In my experience, most stuff over the £15 threshold slips through the net without being taxed. Chinese sellers seem to have a knack for it. Paying VAT seems to be the exception rather than the rule.

If you're getting started in electronics, I'd suggest buying mixed value kits of common passive components. They're really cheap and very handy to have around. If you work with SMD components, these sample books are a huge timesaver:

https://www.aliexpress.com/wholesale?SearchText=sample+book

PCBs from China are cheap enough that I haven't etched my own boards in years:

http://pcbshopper.com/

Aoyue and Yihua make very cheap and surprisingly usable soldering tools. You can get a perfectly acceptable temperature-controlled soldering iron or hot air gun for about £25. You might as well stock up on solder, flux and wick too.

Taobao is a bit of a crapshoot if you can't read Chinese, but it's where you'll find the really insane bargains and the sexy new chips. There are a variety of English-speaking agents who can buy stuff for you for a reasonable fee. Dangerous Prototypes have a useful forwarding service - have stuff delivered to their office and they'll send it on to you for $3 per parcel plus the cost of shipping.

http://dangerousprototypes.com/store/china_forwarding
...and subtracting 0x30303030 works to exactly the same effect on either one!
The space between various parts (if there is more than we can see) is growing faster than the speed of light, eventually it will get to the point where even nearby galaxies disappear.
Learn JavaScript - 2016 edition
Event agenda app
What kind of event agenda app products do people use? We need a customized event app.
I find this interesting because I feel that is true and if it is true, then there must be some definable reason for it. So what is it? I have this with Perl, PHP, Bash, C(!), Lua and pure (browser) JS with Jquery (not npm, CSS and HTML though => those keep me from even starting something when I think too long about them).

I would think I like Lua & C to just write it quick because they are so limited; I remember their syntax, core functions and core libs, so I can, without internet or documentation, write things in it immediately.

I'm not sure why those others give me that feeling; probably because it's easy to just start instead of having to set up dev environments etc. Most is already on your computer and they are forgiving (a bit too much I agree) about sloppy coding.

It would be interesting to try to dive into details of why the brain finds some languages more conductive to 'just write it quick' and try to mix that with languages which do not have that feeling at all.
Thanks! For WebGL, credit goes to https://github.com/waylonflinn/weblas. I only really use GEMM, but it works quite well. In keras.js, convolution is implemented with the oft-used im2col transformation to turn it into a matrix multiply followed by reshape. Convolution kernels directly GLSL could potentially provide speed gains I'm sure, but I can't even imagine writing it for tensors of arbitrary shape.
This is a DNS re-bind attack.
Every programming language is a tool. As such it isn't good if used for the wrong job. PHP is amazing for simple services that don't need much aside from database/filesystem access. I love PDO and wish more languages had such a first-class database access implementation.

I wish more people gave PHP a chance and didn't just keep bagging on it. There are problems with the standard libs, but nothing that isn't bearable. Grab an IDE and it's not an issue.
This issue affected me as soon as I upgraded my chrome to V54 yesterday. It broke all my CDN hosted files which were using the AlphaSSL Wildcard certificate. We were experiencing low traffic and realized this may have been the issue. Got into Chat support with ssl2buy who provided me with a Comodo Wildcard certificate. It was a pain to recreate and install the certs everywhere. But we didn't want to lose any more traffic.
I can expand beyond 140 characters if you like. The OP claimed that in the past ten years, as a result of their hiring practices, Google's product output quality has noticeably declined, presumably as compared to the search product on which their name was made, and gmail, which they launched in 2004. And it's easy and fashionable to knock Google because maps is not as good as you remember it used to be, or because they shut down reader, or because plus didn't manage to unseat facebook.

Well, in 2006 Google was a 10 billion dollar search and ad company with a fledgeling email business without a revenue model, who had just bought youtube. In 2008 they shipped a mobile phone operating system. That's now a thirty billion dollar business which has been built up through talent within google. They undermined Microsoft's office monopoly with an online office suite (okay, some acquisitions underpinning that). They have a credible seat at the top table in the cloud market. And they continued to develop their core ad platform to drive more revenue growth.

I've got no particular reason to stand up for Google, they're quite big enough to look after themselves, but the idea that their product flops in the last decade outweigh those product successes, and can be held up as evidence that there is something deeply rotten in their hiring model, seems to be cherrypicking to me. 70% mobile OS share, 70% search share, and 50% of global online ad revenue... that's a pretty good kind of mediocrity.
>PHPs reputation seems to surround the fact that it tends to be (or was) the first language amateur coders dabbled with.

That's certainly part of it. JavaScript suffers the same hate today -- amateur and junior developers produce thousands of lines of crap per year, and people blame it on the language.

But PHP itself is just a mess. I'm an experience developer (about 30 years at this point), and about 12 years ago I decided to do a volunteer project for a nonprofit in PHP. Finished the project and the nonprofit used it for at least 10 years -- they may still be using it for all I know.

Never. Again. I can't stand PHP and I will avoid its language and ecosystem like the plague. Even if they've fixed some of the problems in the core language and added types, the "standard" libraries were a random pile of mismatched garbage where the mysql_xxxx functions could have parameter signatures in different orders than the pg_xxxx versions. Maybe they've fixed that as well, but they'd have to break backward compatibility in pretty awkward ways to achieve that.

I don't even remember all the other things that tortured me, but it wasn't fun.

And it's not asynchronous. There's not even a good reason to use a synchronous language for web development today. Not to mention the ease of running NodeJS code in a debugger, or running tests in a browser and debugging it there...

I'm using TypeScript and Go for all my web related code moving forward. Something better comes along, and I'll consider it. But PHP was just a nightmare. (Elm on client? Maybe, under the right circumstances?)
And now I wonder if bitcoin like moneys have a real advantage against this..
Happy to see this getting some attention. It's seemed like one of the
only viable propulsion methods for interstellar purposes, though
nuclear is unfashionable at the moment.

I remember seeing a chart showing that it was possible to reach other
stars using a technique like this. Unfortunately the problem is
slowing down. You could get there, but you'd be going too fast to
stop. And since the more fuel you carry, the harder it is to reach
that speed, it ends up becoming completely impractical to carry enough
fuel to both get there and slow down.

Maybe it'd be viable to stop by smashing into a planet, but it's hard
for anything to survive that kind of impact force.
There's no easy answer to this, but books like CTM [1] give an overview of the programming languages landscape. They can come in handy when evaluating language designs.

[1] https://www.amazon.com/Concepts-Techniques-Models-Computer-P...
Ask HN: Simple release orchestration tool
Hi I'm looking for a simple orchestration tool that can help with the following.

I have projects in git repos A, B and C each with their own version numbers in configuration file(s). Each configuration file could be json or xml.

When creating a new release (using git-flow), I need to:

- Syncronise their version numbers
- Commit this to each repo
- Merge the branches (using `git flow finish`)
- Push the master and develop branches (+ tag) to github (this triggers an automated build so at this point I'm done)

I've been rolling my own but surely there is a tool that can do this for me?
"Bob Dylan hasn't Recanted Praise for Rabbi Meir Kahane.Yes, you read that right. Bob Dylan said Meir Kahane, who favored the forced expulsion of Palestinians from their homeland and whose racist Kach party has since been banned from Israeli politics, is “a really sincere guy” who’s “really put it all together.”
https://desertpeace.wordpress.com/2011/04/14/bob-dylan-joins...
Python does support block scoping- so no- it doesn't work there. Also, if you need to use variables in outer scopes, it's ok to declare them there. There is literally, and I mean this, literally- no possible justification for using inner-scoped variables in an outer scope that they weren't declared in.
He made English subtitles for his videos for this reason -- even the ones in English.
You have sparked the economist bug in me. I'll be reading on this for months now: my thanks to you!
It rare that I see good Java code, especially that written by junior developers.

I think OO is a hard concept to get right. I know it took me years to master, and one of my epiphanies about OO design is that it's not always appropriate. Yes I can tell you the best OO approach to a problem, but I can also often tell you a better approach that isn't OO.
Sure, just arguing against claims that it would be "easy" to solve housing, income equality, etc, if only we could kill the evil marketers etc and do with just what we "need." (Taking it to hyperbolic extremes there, but essentially while one can certainly be happy in small spaces, there are lots of things even beyond the simple accumulation of stuff that can take advantage of a lot more space.)
I hope so. I would love to have strict type annotation in development.
Sentdex: https://www.youtube.com/channel/UCfzlCWGWYyIQ0aLC5w48gBQ

Lots of great ML stuff
Yeah, you're right about needing root (edit: for processes not owned by the current user). Though, if you have the access, it's a very, very worthwhile tool to learn:

~ $ lsof -a -n -c chrome -iTCP:443 | head -2 #sanitized output
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
chrome 1234 me 12u IPv4 12345 0t0 TCP 127.0.0.1:12345->127.0.0.2:https (ESTABLISHED)
It's still the case that other than search and ads, most of Google's biggest hits were acquired rather than the result of in-house initiatives (even Google Analytics, which is probably one of their more heavily-relied-on products, was acquired). Google doesn't hire people who will create stuff like Android; they hire people who can pass their interview process, and get new product and service lines mostly through acquiring teams of people who probably can't pass their interviews.

It's also the case that Google is acquiring a reputation for bad interview/hiring processes, and for hiring people who have a Ph.D. in CS and putting them to work on CRUD web apps that any random coding-bootcamp grad could build, since there's just not enough interesting in-house work to keep all those top talents occupied.