skysight-inc/HackerNews huggingface dataset:
This is a fascinating result. The equipment needed to reproduce is a bit extreme (femptosecond multi-watt lasers are not 'garden variety' by any means) and one wonders if the 'read' set-up could be made cost effectively than the 'write' set-up. I would hope that Google would invest in a system to copy all of the books they've scanned into such crystals.

That said, I could imagine offering something like a web 'snapshot' (think Internet Archive meets the DVD-R :-) which one might subscribe to. That would be pretty cool.
The question says right in the middle: You Only Live Once (YOLO)
This was discussed pretty recently in this thread on "Python Newbie Mistakes, Part 1".

Default values for functions in Python are instantiated when the function is defined, not when it’s called.

Thread: https://news.ycombinator.com/item?id=5999772

Direct link: http://blog.amir.rachum.com/post/54770419679/python-common-n...

It looks like the author posted a "part 2" to HN as well, but it never made the front page.

http://blog.amir.rachum.com/post/55024295793/python-common-n...
Which site would you recommend? I first thought of posting there but wasn't sure of where to post it so I ended up posting here.
This is pretty bizarre, and seems like it would cause a memory leak if you don't know what you're actually doing. You're allocating a my_dict object on the heap, in a field of the function object, so my_dict never goes out of scope and never gets garbage collected until the function fn itself does, right?

Whereas if you did this instead:

def fn(x):
my_dict={}
my_dict[x] = x * 2
return my_dict

You'd get what you'd expect--a new my_dict object gets created, returned, and then goes out of scope every time fn is called, so it would get garbage collected once there are no more references to that return value. (I think...)

(I don't know that much about how memory allocation and GC works in Python yet, just trying to learn!)
I tend to agree with Ellsberg regarding the unlikelihood of Snowden being free on bail. I think this government will claim whatever they need to lock him up and throw away the key.

Flag waivers aren't going to mind because the government is "just trying to keep them safe".
Erm, what about first-class functions in general? This doesn't just make metaprogramming harder, it also stops you from saving functions in lists or hash tables and any sort of higher-order programming.
As a consultant of 5 years, this guys sounds like the type of cat I'm called in to clean up after.

"Make the call to assume some technical debt..." More like: "Build shit I know will be expensive in the long term because I won't have to deal with the fallout."
Is it weird that this article doesn't have many comments?
Why Fear of Discomfort Might Be Ruining Your Life
Thanks for writing this. I don't agree with a lot of it but I'm glad to have good counterpoints to my (uh) strongly held opinions, well articulated.
muyuu: Absolutely right (although, depending on the social network and how federation is handled they could possibly sell your data even if it's self hosted). If you know of any other good self-hosted social networks I'd love to hear about them. Feel free to email me; I may or may not see it in the deluge of comments here (see the about page on my blog).
It is not "lucky," it is a result of the fact that my friends are actually my friends. For what it's worth, I use jabber.
Even when corrected for number of servers this tells us essentially nothing. How much compute and storage capacity does Microsoft have compared to Google and Amazon? I'm not talking raw hardware performance either, but Windows Server vs. Google's customized server OS. This kind of information would provide us better insight into their computational capabilities.
Sorry to be pedantic, but this is not dynamic programming.
I pay $1500/mo for family coverage.

The small company I work for offers group insurance, but we all have to pay full price - they don't subsidize any of it.

They do take it out of our paychecks pre-tax so we don't have to pay taxes on it - but it would be tax deductible anyways at the end of the year.
That's pretty cool. I added a colour changing box.
I think "do the work of hundreds" is a little bit generous. It does save a little time, but does it really save so much time as to boost productivity 100x?
Yeah this sort of question is probably better suited for StackOverflow. Also consider there would be a price for private repos hosted on github.

At my university we use a in-house linux mail system to submit assignments. It's not perfect or necessarily easy for new CS students but it's easy for the teachers and all assignments come from the login accounts the school manages which makes it easy to track plagiarism.

In classes we are "strongly encouraged" to use some kind of version control (svn or git) for group projects. I think anyone who has worked on a large programming group project with 3+ people through e-mail quickly sees the advantages of git, at least that was the case with me and several partners I've had as an undergrad. Keeping track of each persons code through e-mail becomes ridiculously tedious and annoying instantly and they would quickly be screaming uncle. Just a thought, but it may be better to find a way to let them come to that realization on their own as well.

regardless, goodluck with this it's an excellent idea for getting students on version control early.
> What's even sadder is that there's no obvious or easy way to fix it.

There is no easy way to fix it, but there is a way to fix it. I won't go so far as to say that it's obvious to many people.

The way to do it? Work to change men's attitudes and biases towards women. It can definitely be done, but it takes hard work and cultural change.

I would recommend the book "The Macho Paradox" by Jackson Katz for anyone interested in the topic of gender discrimination. Jackson writes well, he's a man, and he brings a mans perspective to the issues. There is no demonization or undue blame assigned to men in the book. It's a powerful read.
I don't necessarily disagree with the article, but maybe the solution is a new kind of search. One which understands languages, statically analyzes a source tree, and searches the ASTs for the tokens you're interested in.

This would also have the side benefit of being able to produce better designed search results.

EDIT: I suppose searching the AST wouldn't be enough, you would have to evaluate the code to some extent to be able to search these properties.
The very few changes from Practical to Engineering, summarized:

* Added a co-author (Tadayoshi Kohno)

* Added handy exercises for self-study (presumably the work of Kohno)

* Buried the opening "Design Philosophy" chapter in the following "Context" chapter, in a more nuanced, mature form

* Drops a discussion of UMAC for one of GMAC which is similar in that they both eschew the use of normal hash functions for something called a "universal" hash

* Discussion of OCB and CCM modes is updated with info about CWC and GCM, since that took place in the publishing interim

* Index is only a page longer, but seems more complete

* Reduced from 410 pages to 353, with a font that appears slightly larger and much less LaTeX-ugly; perhaps the kerning is better too?

That's all I found in 15 minutes of skimming. Note that flaws which were understandable in Practical are more glaring in Engineering: recommending XML where JSON would be better, advocating MAC-then-encrypt rather than encrypt-then-MAC, etc. I probably would not have purchased Engineering if I had realized how minor its updates were. It would be better to purchase if you don't own either book, though.
>Um, wouldn't 50-100 USD per hour correspond more or less to an average annual salary divided by 1000 ?

Why would I take on all this extra responsibility and risk to make exactly what I did before (or worse, just the median) when I didn't have to?

There are two reasons why I went independent: The first is because I would be able to take off huge chunks of time for side projects. The second is I would make at least twice as much as I used to (after taxes, insurance, etc.) despite taking off huge chunks of time for side projects.

Also, you cannot expect 50 weeks a year of utilization. If you're smart, you assume 35 weeks a year, and price yourself with that in mind. If you have higher utilization, you have a good year. If you don't, you have no worries.

Moreover, I'm at a client now where I gave them a "fill my rolodex rate", which I was very hesitant of doing. We're tying up after the initial term, because the reason why they couldn't afford me is they have mostly systemic organizational and fundamental business issues than they do technology issues.
Hey Y'all, this response really exceeded my expectations! Snark aside, linking me to the hiddenWiki was probably the most helpful single response. Im new to this kind of question in a lot of ways, so it's all been pretty helpful, debate about quotes aside.

Didn't create the hn identity via tor, but luckily after the one signup (not telling from where) I'm able to log in that way.

I guess the big question for a lot of people was "why?" and I bet no one will believe me when I say that this is an intellectual exercise for me, thus far. Sort of one way of getting at the deeper question of identity construction. Thus, the heath bunting reco was relevant.

The one piece of info that would really round this discussion out, though, is an examination of how the other side would attack a ginned-up id. Any insights, deep or googleweb would be appreciated.
So these "real friends" of yours would stop talking to you if you do not use their favorite communication service? I think you may need to reevaluate either your assumptions about your friends or perhaps whether or not they really are your friends.

I have friends all of the world. I am not on Facebook or any other social networking service. Yes, I talk to my friends.
How can you call it a "fear-mongering assertion" given everything that's been revealed recently? It's certainly well within the realm of possibility even if some might find it unlikely.
Cut the Shit
I am female with a hybrid background in UI design and front-end dev. A while back I created a fake linkedin profile identical to mine except with a male name. Even though it has no profile picture and no contacts, the fake profile gets more recruiter messages than I do, and for more technical positions (I get ones for design, he gets ones for engineering).
It's easy enough to fix for screening for gender, but it's much harder to fix the screening for age, because people like to see a sequence of activities. At the very least, work experience years comes across. When people leave off graduation dates, that throws up a red flag too.

The harder part is how do you turn off the bias once the interviews start?

This was an issue with many orchestras - they ultimately made the auditions physically blind. http://www.uh.edu/~adkugler/Goldin&Rouse.pdf
Not at all. Thoughtful and open discussion on gender discrimination is hard to come by, even on Hacker News. I think a hard first step to take is admitting that the problem really is quite serious and that it is something that affects all of us.
You're the 3rd person to try and Godwin the thread.

Can we stick to discrimination against the employees of legal employers in one's own state that one recognizes as legitimate and one is not in active rebellion against?
Cool thanks! We have a Github Enterprise server so unlimited public/private repos.
There was a proposal going around the Lib Dems in the UK at one point[1] to make it illegal to have names on CVs; because they describe gender, and sometimes race, too.

The proposal went on to say that that people should apply for jobs using their National Insurance number (like a social security number, but basically just used as a UID with the tax office - I don't know what else a SSN does, but it seems to be more important than that.) This would mean that candidates selected for the first round of interviews would be chosen 'blind', even in small companies, which would limit this sort of subconscious discrimination.

I'd love to see this sort of idea resurrected; the article is an excellent advert as to why.

[1] before we got into a coalition with male Tories who think they got into oxbridge on merit...
Post Reagan era politics did a pretty good job at obliterating unions, AND, burying the history of the first half of the 20th century, eh?

The problem as I see it with either a communist welfare state or feudalism is that either extreme provides little incentive for most people to be creative/inventive, as there is little to gain for them. Alas, we seem to be swinging toward a kind of corporate feudalism, at least in the US.
Basically. The idiomatic solution for this in python is:

def fn(x, my_dict=None):
if my_dict is None:
my_dict = {}
...
No, the person he's responding to is right. In general, hiring managers don't care about bits, they care about dollars. They're going to be looking for dollars you made for other companies because that translates into dollars you can make for them.

Money. It's the universal language.
> As an aside, I'm surprised that any discussion on "basic income" - you know it's coming - hasn't mention the Star Trek economy. Seriously, how do people in Star Trek universe survive in their economy?

The descriptions (or, perhaps more accurately, "indicia") of the economy in Star Trek are so wildly inconsistent that its a really, really bad basis for any kind of discussion, even among fictional settings.
Do you guys have any plans to actually show the results of the DNS changes based on health checks? Connecting the health checks to cloudwatch is a great start, but it would be really useful to actually see which of my rules are in effect at any given time.
Example of a typical list:
[1,2,3,4,5]

Example of some typical tuples:
(1,'A')
(2,'B')
(3,'C')

In Python, of course lists can be heterogenous, so you could have a list like [1, 'A', 2, 'B', 3, 'C'] but it would be an atypical/un-idiomatic use case. A list of tuples or possibly a dict would make more sense for that.
Lot's of proposals have been submitted on the bitcoin forums for some sort of cryptocurrency solution/proof of work online voting, where there is full transparency by looking at the block chain to see how many votes somebody had, and prevention of a malicious actor forging votes. Of course you have to trust whoever is mining the coins and handing them out, and trust end users sytems aren't compromised.

I would expect in my country anyways that any online voting would be DDOS'd by idiots looking for a soap box the media will pay attention to and create a huge debacle resulting in them scrapping it and forcing a regular ol' paper vote.
This is probably the most important point in the whole thread. Honestly, the debate about whether the new X-box will spy on you or not is irrelevant. In fact, it would be even better if there were a massive boycott and Microsoft weren't even guilty. They'd be in the position of knowing it isn't true and having no way to prove it. I'm sure they'd have a very large interest in getting things like PRISM shut down at that point.
Aren't there circumstances in C++ when this isn't possible?
e.g. some uses of templates
I'm surprised this forum isn't full of the usual "omg, use nginx instead of apache for rerouting".
The auxiliary power unit on the 787 has a battery near the tail of the plane.
Because I come from a Ruby/Rails background, I opted to go with EJS over Jade. The syntax for EJS is identical to that of Rails (to the extent that, when working with Rails, the <% %> EJS tag becomes <%% %>, so as not to conflict with the <% %> Rails tag.).
One really nice thing about firefox is no more He's Dead Jim pages.

Chrome (even stable) seems to crash tabs all the time, while in the past 6 months firefox nightly hasn't crashed more than a once or twice. Another annoying thing about chrome is I never got a reason for a crash it just was a crash page and if I tried to reload that page it was very likely to crash silently again, with chrome at least I get the stop script dialog once in a while.

Chrome still starts faster (more noticable on windows than linux). There are also a plethora of webkit optimized experiments that don't work for shit on firefox.
Thanks, I've been looking for reading on this topic.

(Self-Made Man by Norah Vincent is also excellent - one woman's experiences disguised as a man. Sounds potentially lightweight or biased, is neither.)
I'm not sure I totally disagree with you, but I have to at least disagree with part of your argument.

> Seems a bit extreme to me.

That reasoning has absolutely zero argumentative value behind it, in any context that it's used. It ought to be treated like a logical fallacy.

> add a comment mentioning the methods called in there.

The problem of comments getting out of sync with code is omnipresent. "Never fail the grep test" seems like a much more easily-enforced and -maintained practice (both for yourself, and for teams) than what you're suggesting.
For what it's worth, pg said that "crawlers are disproportionately bad for HN's performance because HN is optimized to serve recent stuff, which is usually in memory" (at https://news.ycombinator.com/item?id=3277661).
This is what I mean - these are things that completely vary from one person to another and one company to another and somehow this is being attributed to countries. Within any country, there are rule-oriented structured companies and individuals and relatively unstructured companies and individuals. There are companies and individuals who don't care if you're late to meetings and there are companies and individuals who do. If someone is telling you, this is how things work in this country, in regards to this kind of variation, you're being lied to and it would be obvious to you someone tried to tell you the same thing about your own country.

And no, you can't have a clear understanding of the culture by having someone tell you a couple of things before meetings - most people have no idea how a different subculture in their own country is like, let alone having a reasonable picture of the national culture. A foreign culture with which you have a brief contact? Clear understanding? Get out of here.
However, those biases come in part from our experience. People subconsciously assume that a woman won't make a good engineer (for example), because when they picture the engineers that they've met, the overwhelming majority are male. So to change those attitudes, one of the things you need is to make the numbers more balanced.
One question, Why?
I think engineer is a reference to "builder of" or "maker of". There are plenty of other things to hate.
Doors, stairs, and ladders.
You would hope, but sadly not much as changed. There have been numerous experiments lately where someone created identical mid-career LinkedIn profiles one posing as a man and another as a woman.

The male profile always gets far more views and recruiter messages.
This is a critical distinction. As a concrete example, here's how voting worked in a scheme I once read about. On any one ballot, the order of candidates was randomized. Then the way the scheme worked was that after voting, the voter tore off the candidate positions (but not their vote) and threw it away in a huge pile of them, burned it, or whatever. (Made it so that someone couldn't come behind them and figure out their position list, essentially.)

Later, after the votes were tallied, the voter could verify that their ballot was (1) counted and (2) counted towards their chosen candidate. But crucially, all they could verify was that the vote counted towards position 1, or position 2, or position 3, ...

The point is that since the voter couldn't prove to a coercing party that the position they voted for was (or was not) the candidate the coercer wanted them to vote for, they were immune to coercion. They could prove that they voted for position 2, sure. But which candidate was at position 2?

The voter knows the truth because they saw the position list. However, until we have mind-reading technology, a coercing party could only take the voter's word.
This is a little silly. My game engine dynamically invokes lambdas, and script files dynamically added to Actors at runtime with reflection, and such all the time, and it's well-documented and maintainable. I can't think of a reasonable way to implement this stuff that passes this grep test. Unity development fails it too I guess?
The Windows source code is the most comprehensively reverse engineered codebase in the world. Virtually every software security firm and every security product company has someone on staff who has the lay of the land for the kernel, services, and drivers. Even if Microsoft didn't publish most of the debug symbols for the OS, which they do, it'd still be the best understood closed source codebase in the world.

The likelihood of them hiding backdoors in software that you don't know about simply because some company you worked at that had access to some of their actual source code didn't have all that source code is low.
Windows 8 does this across machines
You make it sound like this is the fault of the person who is not on Facebook, as opposed to the fault of the people who chose to use a system that has zero interoperability with other systems. From where I sit, the problem is you for choosing to use a closed system to organize social events. The problem is you for allowing Facebook to control your social life in this fashion.

Making someone into an outcast because they do not use your favorite social networking system is the problem here.
The dollar conversion is very important. I used to work with some people who made $800/day as independent consultants. Some full time employees making north of $100K were livid, and complained about being exploited. The complexities of, "Withhold taxes, pay both sides of social security, pay your own 401K and health care, pay for your own training, and don't even think of multiplying the daily rate times 260" just didn't sink in.
happyfunstore.com
No, this is wrong, wrong, wrong.

Ok, it's actually right under one false assumption: that we are limited to using our existing text-based tools like text editors, grep and so on. As long as we use these existing tools, this advice is quite valid.

However, we are absolutely not limited to existing tools, we can and should make new ones that augment how we work and allow us to reach more dryness without compromises. You could have tools that let you work with ASTs, that expand code on the fly, show you higher level information, let you debug and step through sections of code effortlessly.

In the end, dryness is good, because it means you have less repetitive work to do when things change (and software is all about changing, unless you don't want to make progress). So it's very well worth investing into being able to achieve dryness more naturally without the downsides.

To quote Bret Victor, stop "blindly manipulating symbols." (You don't have to do do so overnight, just as long as it's a goal you work on achieving as time goes on.)
Arrivals and departures suspended at Heathrow? How isn't this a complete overreaction?

EDIT: And why downvote someone asking a question? I learned something by asking this question.
In my experience overuse of meta programming is usually a sign that the architecture of the system is bad and the software should be split up into separate libraries or web services.
You just asserted that BECAUSE I use Facebook and GMail, that PROVES I don't care about privacy.

Your assertion is false.
Used to think these things were cool but now that I can't trust my government anymore... I find them deeply disturbing.
Why you need to change MEN attitudes?

Most HR departments are staffed by women for example, they would be the ones that saw a "Mr." in the resume.
Want to see this in action? Create near-identical profiles on any job site frequented by recruiters, one profile male and another female. Your male account, fictional or not, will get a measurable amount more attention and see more outreach.