skysight-inc/HackerNews huggingface dataset:
In my experience, Lisp-style macros are much less error-prone than the Ruby/Python-style meta-programming. I think it is probably because macros transform the source code at compile-time while Python's meta-programming happens all at run-time. Errors are caught earlier and it is easier to build a mental model of how a macro accomplishes what it does (you can just expand and read the generated code).

Debugging or understanding Python code that uses meta-programming is usually no fun at all, but I have had much less problems understanding Common Lisp code that uses macros. It doesn't help that the meta-programming facilities of Python aren't very well designed (more like an accident of the implementation than a real design). If you're interested in a beautifully-designed approach to meta-programming (reflection and reification), 'The Art of the Meta-Object Protocol' (Kiczales et al.) is absolutely wonderful. I don't know enough about Ruby's meta-programming to say if it's better designed than Python's.

Of course both macros and meta-programming can be abused, like just about any language feature can (there's a series of mails that Guy Steele wrote to that effect as a reply to 'Macros make me mad': 'Classes make me mad', 'Procedures make me mad' some years back on the ll1-discuss mailing list).
These are recurrent neural networks, not recursive. That's a different model, also used for NLP, but not so readily applicable for generating text AFAIK.
Humorous answer: Maybe I can't invert a tree, but watch me flip this table.

Serious answer: Companies that pull this crap deserve to starve and die.
> "A step backwards to the Harvard architecture benefits no-one."

Actually it benefits Apple, which is why they did it. Or is the author arguing it doesn't benefit Apple? However, I didn't see anything substantiating that in the article.
For that matter, I actually have invented an entirely new programming language mostly with just Racket macros. It's an incredibly powerful tool for experimentation and research as well, something the PLT folks have been using to their advantage for some time now.

I'm currently in the guts of several different candidates for building a basic Lisp on Risc OS, and it's really struck home just how much of a lowering of the barriers a really first-class metaprogramming system is when it comes to language development.

Building everything from scratch takes time and often, a lot of repeat effort on stuff that's already been written a dozen times before. Macro systems, especially weapons-grade full-blown language development kits like what Racket can do, are a pretty hard thing to argue with on that front.
Is their story on mobile deployment any better yet? I switched off of Unreal Engine because it required overly beefy phones, outrageous download sizes, and slurped down huge amounts of battery, even for something trivial like Tappy Chicken. Is this situation getting better yet? Is Unreal Engine a good choice yet for someone focused on mobile deployments?
The guaranteed rate on your equity is 0%. Got $500,000 in equity? Then that's $500,000 earning 0% interest. Of course you aren't paying mortgage interest but with mortgage rates at 3.5 - 4.25% it's easy to find investments with higher guaranteed returns.

Infinite Banking (using overfunded, dividend paying, whole life insurance) currently has 4.5% guaranteed floors with actual rates with dividends currently at 5.0 - 5.5%. Lots of other benefits as well, life insurance, and being able to borrow money against your policy any time you want for any reason, no questions asked.

Also, a 4% mortgage is only 4% of the whole balance in the beginning. At the end it is 4% of a very small balance. If you use level payments you effectively cut the interest rate in half to make comparison.

Taking out a $10,000 loan at 5% and investing it at 5% results in a profit.

Year 1 - Make a $1000 payment, $9000 balance (5% is $450). Your investment is $10000 at 5% or $500. $9000 loan and $10,500 in investments.

Year 2 - Make a $1000 payment, $8450 balance (5% is $423).
Your investment is $10,500 at 5% $525. $8450 loan and $11,025 in investments.

...
Interviewing is stressful and all, but if the guy's reaction to not getting hired is to flame on twitter, not hiring might've been the right call.
I'm baffled by this comment. What does this line do that you hate so much?
Disco Dog – The smartphone controlled LED dog vest
Why is his profile picture the attractions road sign as seen in Scandinavia? :-)
I was just in this exact same position last year, and unfortunately have had this experience earlier before that as well. First, the situation may stay the same or worsen, but it won't get better, so you should begin looking for a new job. Second, don't talk to HR or make any formal complaints. Talking to HR makes it worst - they are there to keep the company free of trouble and liability, not to make your workplace better. Chances are if you talk to HR, they will tell your boss and everyone will start picking on you even more in an attempt to get you to quit. Talk to a lawyer to determine what type of documentation and evidence you need to take legal action, and get it. In the meantime smile and act like everything is fine at work. The most difficult part of this will be finding a competent lawyer who can help you stick up for your rights. It's a bad situation, but good luck.
I'm fully aware how lucky I am to be able to pull this off. (I don't have nearly enough saved to actually retire on, though.)

Knowing that other people have it worse — or even that I used to have it worse — doesn't make it any better.
> The only thing slightly odd is the flavor: it's a flying cat.

Flying cats are actually already in the game. Back in the Planar Chaos days I used this one in a really trollsy black deck:

http://gatherer.wizards.com/Pages/Card/Details.aspx?name=mir...
It isn't multiplayer video, it's actually a replay that is played back in-engine.
tl;dr?

Seriously, any interest I've ever had in whatever he's talking about has been stymied by his lack of concision, even simple methods like the pyramid style which allows for the full treatment. When this blew up I tried reading, then skimming the Carlyle essay, couldn't make myself (and I am somewhat interested in learning about political philosophies I'm not yet familiar with, and of course the peculiar institution is a very important thing to those of us in the US). A bit like the Wheel of Time when the plot stopped.
The formula also includes factory financing which slows competitor access to manufacturing capacity. Some products benefit from network effects (manufacturing, developer adoption) and become difficult to displace by any competitor, however well funded. Careful intervention can help to restore balance.

Unlike the oil companies of yesteryear, or even a browser that is supposedly "baked into" an operating system, the remedy here is not logistically complex: the backdoor is already known to exist -- it can be extended to some competitive products.
I hate the word privileged, especially when used in the context op did.

so you're successful, and an unquantifiable amount of that success was an accident of which family and socioeconomic background you were born into, and op wants you to feel shame because of that?

that's ridiculous. it's a free country: do what you want and don't worry about the haters.
Calculate How Much You Save by Bringing Your Own Liquids When Travelling
Looks like this person edited their comment. Anyway, you're right, Noah Smith is one of the less objective filters you could seek to fairly summarize a right-of-left-of-center viewpoint.

Read Moldbug, people.
Reddit bans 'Fat People Hate' and other subreddits under new harassment rules
In Linux, they are both just entries in the process table. They are created by the `clone` syscall, and the "normal" way of creating them share different amounts of resources by _default_.

You're right to say that treating them differently can be beneficial in some situations, but it really depends.
Was it really because he couldn't do the problem, or was it that he didn't handle himself well in the interview? At two different interviews I was given logic puzzles just so they could watch how I went about trying to solve them.
Even though I'm deliciously close to 200 karma I'm going to ask this anyway...

If someone has a view that is actually destructive for the forum its aired in ( I'm speaking hypothetically now ) does it have to be accommodated.

By that, and I genuinely want to know what you guys think, what if a political candidate advocated the end of democratic elections? A "one man, one vote, one time" kind of thing. How is that handled in an open society?

Extreme conservative opinions like Mr Yarvins are actually shocking to me. I don't think his particular writings should be banned or anything like that. However, are they so reactionary as to represent to the organizers a position that they don't want to even tacitly or obliquely endorse?

I will say this, the first post on this subject the other day saw me having one of the most interesting exchanges I've ever had on HN. That was cool.
If that is warranted - on HN - for Uber's behavior, then every single thread about what the NSA / US Govt has done the last decade, should be filled with nothing but profanity and insults directed at those in power.

There's an obvious reason why comments like that are not preferred here: it adds absolutely nothing of value to the discussion, to call the Uber execs smug douchebags.
I'd agree except for the legendary part, there's really no mechanical reason for it to be legendary, the effect isn't particularly powerful.
While Moldbug holds hideous political views, if the talk is on tech. and doesn't overlap him advocating hideous things, then this is akin to the old Hollywood blackballing, the excuse for dropping him was pathetic, and I agree that promoting a culture of free speech must be a core value of a liberal society.

I'm pretty far-left (though more liberal than leftist), and found the black-and-white leftist-bashing in the article didn't add much besides giving the author the opportunity to vent his spleen at a segment of leftists while pretending we're all some monoculture, which is ludicrous. Would have been better to just focus on the issue of why an open society needs to be willing to accept diverse political views, even hideous ones like Marxism or neoreactionary craziness, without using it as a platform for pontificating about a crudely conceived culture war.
Spent: The Story of a Poker Tournament
The interesting question for me is, is Go straightforward enough to use through the discovery phase? Or do you really need to use a scripting language to evolve the API rapidly?

I love Ruby and have worked in a high performance Ruby environment, but it can be pretty problematic to scale (and frankly, it was Apache and Solr that made the environment high performance, not Ruby). Clearly Go can scale, but would it significantly slow down early development?
What specifically are you objecting to? That specific question? Writing code on a whiteboard?

How would you interview software engineering candidates?
Love Go and Docker and Distributed Systems? – Join Pachyderm (YC W15)
The AVR family of microcontrollers are Harvard machines.
http://www.atmel.com/technologies/cpu_core/avr.aspx
You may like Witcher 3. Probably the best open world foliage out there today: gorgeous colorful world that feels alive.

https://www.flickr.com/photos/vasiljevich/17906407432/

https://www.flickr.com/photos/vasiljevich/17921228474/

https://www.flickr.com/photos/vasiljevich/17344409903/

https://www.flickr.com/photos/marcelus_sk/17506176714/

https://www.flickr.com/photos/71866538@N04/17890196732/

https://www.flickr.com/photos/100603905@N03/18175649019/

https://www.flickr.com/photos/wakeupmrfreeman/18058537158/

https://www.flickr.com/photos/71866538@N04/18032189865/

http://www.gamersyde.com/hqstream_the_witcher_3_wild_hunt_la...

Screenshots and videos don't do it justice, you have to see it in motion, with sound effects, real-time uncompressed, with things moving in the wind, full of animals, changing daylight and weather.
Perhaps he's a fan of Susan Kare :-)
While there are certain socket options to share a port - two processes can share a port easily in another elegant way; just call fork().

One way of doing such upgrades is then for the existing code to fork() then exec() the new version. The existing old code closes the original server socket, which leaves accepting new requests to the new code. When all in-flight requests served by the old code is finished, that process can exit.
I also somewhat laughed at the poster who stated "Apparently my GitHub wasn't enough."
Do those who support Curtis appearing at the talk (wisely?) refrain from posting out of (legitimate?) fear of career repercussion?

This. It also has the perverse effect of leaving the defense of "racists" to actual racists (e.g., [1]), thereby leading to guilt by association: "See, only racists are willing to defend this guy, so he's obviously a racist!"

[1]: https://twitter.com/B8GodDante/status/607201146017615872
Financial incentive wasn't attached to labor for the bulk of our species' history though. That's relatively new. Prior, there was working for survival (far less hours per week than today), and beyond that the obvious slavery that was more overt than modern industry. All said, now I think it would take a mother of a global psychogenesis to remind people of benefits to working other than the mere monetary (physical, spiritual, etc). But it is in our genes. We are just lazier than our forefathers, that much less willing to scrub our own toilets and the like unless we can see the carrot at stick's end.
BLAKE2b, an apparently well-regarded derivative of one of the SHA-3 finalists, is faster than even MD5 while retaining security. https://blake2.net/
There is an Express package for this:

https://github.com/reactjs/express-react-views
JavOSize adds some of python flexibility to java
It's not an "antipattern", not in Lisp at least. It is a way to improve maintainability dramatically. Probably, the only sane way to do so.

But, of course, you have to do it the right way. eDSLs must be designed as chains of trivial, flat transforms, so you can easily understand each stage and inspect any state of transformation at any moment. Most of the Racket users, unfortunately, lack this discipline, and in general are practicing a suboptimal approach to metaprogramming.
When adjusting for population, the ratio of police shootings in America to those in Britain is about 70:1. (55 shootings in 24 years in a country w/ ~57 million people vs. 59 shootings in 24 days (Jan. 2015) in a country with ~318 million people).

So yes, Americans are vastly more tolerant of police violence (to say nothing of stratospheric incarceration levels) than the British - mainly because black people are so disproportionally targeted in this country.

Indeed, among America's more reactionary elements, the unrestrained use-of-force and incarceration policies behind these figures are vehemently defended, as they provide an effective way to enforce a racially-determined class structure, even in the absence of the Jim Crow laws that performed this role until the late 1960s.

However, none of this would be acceptable if the police were equally harsh with everyone. Indiscriminate oppression is much harder sustain in the U.S. In that regard, we're quite different from the UK, where the "if you've done nothing wrong you've got nothing to hide" attitude is far more prevalent (it's a fixture in comment sections of British news sites, whereas American sites see it crop up far less frequently).

The fact that mass surveillance doesn't easily square with the more "acceptable" (read: racist) forms of police abuse in America is why Americans are far more unified in their opposition to it.
Interviewing seems broken to me too. I have spent the last few months trying to get a job out of college and everyone seems to be interested in how well you can regurgitate CS fundamentals.

They are seemingly less interested in seeing how you solve problems and work through the process of software.

I would be more than happy to see this process change, I am just not sure what it entails.
Probably could have just Googled the answer.
$6.4B and counting, plus a quarter million vehicles per day; there is no possible alternate way to move that many people. It had to be replaced while the old one was still used.
I think both you and the post have a good point.

From his perspective, I bet he's frustrated for the reasons he point out. If he never talks about it out loud, how would any one know? Keeping people silent about this issue is in the company's interest because they'll not have to really change, and they'll hire someone eventually.

I mean, I know I sometimes choke on problems I'm trying to solve in the privacy, quiet, and comfort of my own home on projects I really care about.

I don't know what went on in the interview but given what he said, I think I would be upset, too.

Too hard to say, tbh.
Just about bet you could do that via some grotesque JNI work, but I wouldn't wish JNI on really anyone.
I enjoy your writing but I think I disagree with the successes that you attribute to the blue team. Some of them are right on, but some successes are only that if you say that blue means liberal like Adam Smith was a liberal and not a mercantilist. That's just my take though. Cheers!
This is an amazing service. At this point, combined with the CloudWatch to Kinesis announcement earlier, AWS can pretty much act as a near-realtime IDS. If every packet headed into the VPC can be collected, analyzed, and acted upon, the opportunity is endless.

On a practical note, I enabled this on an account and have setup metrics filters. Being able to see charts and graphs of failed SSH attempts and attacks by port is really cool.
Just commenting to say I used this library for a project at work to great effect. I tried rcrowley/goagain, which had issues and felt like I was shoehorning everything in. I tried another that I can't remember.

There's a few that are drop-in replacements for http.ListenAndServe, which is great, until you want to do something custom, then it gets a lot more kludgy. Grace is not kludgy.

And, most importantly, it definitely works. Was able to hammer the bejeezus out of my daemon, restarting it willy nilly, without issue or fanfare.
The name of a basic exercise for time travel ninjas: "wax on, wax off"—but on a temporal surface instead.
And you are not the only one. Well, it is actually just depressing.
I'm sorry but Twitter is one of the few (if only) megaphones most people have to call out corporations for their actions. This is exactly the sort of thing that Twitter (IMHO) shines at, a platform to call down the goliaths. If I didn't already want nothing to do with working at google I would have been pushed further away by this tweet which is exactly what should happen. If google has the right to say no to someone that wrote an extremely valuable tool that 90% of their employees use then he has the right to inform the general public. Popular opinion seems to be one of the few things that can cause a corporation to change their minds or at the very least acknowledge the situation and he is expertly wielding it to his purpose. I applaud and support him in making this choice.

Edit: typo
big ego, looks like they made the right choice then
> At two different interviews I was given logic puzzles just so they could watch how I went about trying to solve them.

That's usually what they say, but I've found that if you don't solve the puzzles, you don't get hired ever.
For sure. This is the main reason I use UE4.
The Harvard/Von Neumann distinction is from an era before the modern break between macro and microarchitecures. It would probably be most accurate to say that modern ISAs present a Von Neumann macroarchitecture but actually implement it in a Modified Harvard way.
At a certain point, your resume should speak for itself. The fact that experienced engineers with impressive resumes are put through these types of interviews is insulting and frustrating to the interviewees.

Succeeding at these whiteboard questions requires weeks of preparation. You need to practice, practice, practice. After enough practice, you are pretty likely to pass. So ultimately, it is more of a test of "how much do you want to work here." If you care enough, you can pass. That said, these types of interviews do favor fresh grads over experienced programmers (you have algorithms and data structures fresh in your mind), which means that they are flawed in IMHO.
Well, he is the author of numerous widely used open source projects. It is a bit redundant (and useless) to give him a "homework assignment when he has such an impressive portfolio that speaks for itself and of which you can assess the quality.
If occasionally venting on Twitter makes someone unhireable, most of us are fucked.
I am still trying to wrap my head around this, but the parallels with functional programming are striking.
This just gets back to the question of whether you are hiring based on interview skills or coding skills. If someone has shipped code that shows high coding skills, why would you reject them based on interview skills, if it's a coding job?
Playing devil's advocate here (because I, personally, wouldn't have done something like that), but I can see the insult. Here's someone with a very public proven track record (that they're fully aware of, if 90% of their engineers use his software), and they're asking questions like this. They're the wrong questions to ask in this case, surely? It's fair enough to ask them, but I can understand this person's frustration if that was genuinely the reason he hasn't hired (which we have to take his word for, since we didn't witness it ourselves).
What's the due diligence like on the hiring side during an acquihire by Google?
I don't think that it is unprofessional on his part. He is merely highlighting the absurdity of the hiring process at large tech companies.

I think everyone knows that this is not a problem exclusive to Google.
The downsides are:

1) It can tie up cash flow. If you don't make the minimum payments your policy can "eat itself" until it lapses, at which point you lose that money. That being said, there is a large degree of flexibility when designing policies. Set the minimum low and contribute more. Fall back to the minimum when times get hard. If you are further into the policy it can self-fund (basically the dividend payments can cover the premiums and then some). At that point, you don't need to continue any money whatsoever to continue the policy. Most people still contribute money though since it is effectively free interest.

2) It has high load in the beginning. It typically requires 7 years just to break even. The first 3 years you typically will be losing money. It's only designed for long term.

3) You have to be able to qualify for insurance. If you can't you can insure someone you have an interest in parent, child, spouse, sibling, nephew, etc.

You're basically trading a little bit of flexibility with your cash flow in the beginning. If that money is going to be going towards investments anyway though, it really is a good strategy.

Also, you can always take out a loan against in the policy to invest in something else. If you have a decent investment you're actually getting increased leverage.

See this video for how this strategy can be used with real estate investing to get much higher returns:

https://www.youtube.com/watch?v=cgK_dOIesZo
Sorta ironic, but remember that the point of an interview is to determine how well you'd do in the environment that's hiring you, not how good a developer you are. Because Google tends to reinvent the wheel for basically everything, algorithmic knowledge really does matter. Package management only matters within a few very specific subteams. If you're interviewing for a general SWE position, you could be Mark Zuckerburg and still not qualify for it.

FWIW, I find Facebook turning down Jan Koum in 2009 and then spending $19B to acquire his company even more ironic.