skysight-inc/HackerNews huggingface dataset:
Interesting article.

But I see a problem -- or at least a challenge:

> Dog dog = new Dog("23kg");

> int weight = dog.weight();

> The dog is an immutable living organism, which doesn't allow anyone from the outside to change her weight, or size, or name, etc. She can tell, on request, her weight or name.

See the inconsistency? We have code demonstrating the creation of a Dog with the weight property specified. Then there is a discussion of some of the properties a Dog has -- but the other properties are not specified in the code we just saw. The description of a Dog, and the code shown above it, are not based on the same design.

Of course, one can argue that this code is merely a sample; it is there for clarity, to get an idea across. We do not want to obscure that essential idea with zillions of extra parameters; this would only confuse the reader. However, that same argument applies to "real" code, too.

Ensuring that an object has all the properties it is supposed to have, is something that we need to be able to do. Some APIs give you a creation function with gobs of parameters. These irritate me. I find code to be easier both to write and to read if there is a short call to create, followed by several property-specifying calls, each handling a single property. Another name for such calls is setters.

The latter approach has other advantages, too. If the creation function gives me an object with sensible defaults, then I do not need to specify properties that I am not interested in. And new properties can be added without breaking existing code.

Now, actually, I think I am basically in sympathy with this article. In OO, the point of an object is not to be a bare tuple with some code hanging off of it. An object is the concrete expression of a collection of responsibilities; it exists in order to fulfil them. An interface with getters & setters generally does not mesh well with such thinking.

However, that does not mean that banning getters & setters entirely is a desirable design guideline.

So, yegor256a, how do you think all those properties that a Dog has -- or might have in a future revision -- ought to be specified?
I guess I thought of TextSecure as a service I used to encrypt my messages.

Does anyone have recommendations for a service that will encrypt my messages?
It's there with nil to begin with. A Maybe type without pattern matching is basically nil checking. Now if he had said I want some kind of pattern matching then I would get behind that.
That's a really good point - we're just trying to make sure that bad actors can't be spammy and create accounts they have access to for lots of people without their approval (hence the approval step).  It's very possible that we can find a happy balance between the two, and we are actively looking into it.
This book is a good starting point: https://pragprog.com/book/dswdcloj/web-development-with-cloj.... It's no rails tutorial but I found it very helpful coming from a rails background. It is a good intro into the more popular web libraries available in Clojure and how they are used. It sounds like what you're looking for.
I used this technique in a javascript application to render large graphs (>200k nodes). On my laptop, with my simple implementation, it could lay out a graph of that size in about 5-10 seconds (running in firefox 20-something I think). Given the amount of time required for getting a force-directed layout, this algorithm literally saved the whole project.

The layout it produces strongly emphasizes hierarchy, at least in my implementation. While it's not as pretty as a real force-directed layout for the type of data I was rendering, it's quite passable visually.
I think the last time I checked it out, it didn't support the Motion coprocessor yet. Thanks for the reminder to use it now that it does!
UTorrent Installs BTC Mining Program by Default
The problem I'd see with using your own app and taking out some functionality, is that the first few people you throw at it, you have no data points to verify against. I.e., they do it 'wrong' (it's incomplete, it's not what you meant, whatever). What does that mean? They don't have the domain knowledge your team has, and that may be important.

I'd think better would be to have a few of your devs come up with a small app, and set of instructions, that you pass to others of your devs. They can then create a reasonable baseline you can start to measure against. You may need to be a little forgiving initially, if it's not a completely made up example, but it probably is more valid than something that was built for production, with months of domain knowledge behind it.
It would be fun injecting fake paths to some NSA datacenter, a military supplier IC foundry, Area 51, and CIA HQ. The people monitoring him may draw some strange conclusions.
There might be more than one device, and if it's transmitting over GSM they can triangulate by the towers.
You mention that every serious applicant gets a 30-minute "first call" - what percentage of applicants get this call? How do you decide which candidates get this call?

Also, what percentage of people who complete the work-sample task get an onsite interview?

I'm asking these questions because I think most software companies who filter out people based on resumes and phone screens do it mainly because there are too many applicants and they need to filter out many candidates at earlier stages. Do you think your hiring strategy resulted in more time spent on the process per successful candidate and per applicant?
Same.

It may have been considered a notch above the normal macros maybe 15 years ago, before the whole craft thing went really nuts, but never itself a craft beer.

Hell, it was nationally distributed, available in every grocery store in the United States.

This is not a unique scenario. InBev owns Leffe and Goose Island, for example.
The illustrious Henry Baker, based on the slightly earlier (and extremely influential) Linear Logic.

http://www.pipeline.com/~hbaker1/LinearLisp.html

There's a conceptual relationship to SSA (static single assignment)

http://en.wikipedia.org/wiki/Static_single_assignment_form
It is only available in California.
> Could you please expand on your linked code, not really a C++ programmer and line 22/25 confuse me a bit?

I've annotated the program here: http://ideone.com/gmaBri

> Unfortunately I don't understand how each element has the same probability of being chosen. I.e. the first element seems to have a probability of 1/n, while the second has 1/n + 1/(n-1) etc. Am i wrong about this?

This is just a partial Fisher-Yates shuffle[1] using a sparse sequence instead of an array. Keep in mind that if an element is not chosen it is swapped with the chosen element and will be considered again. I think the best way to think about it is that you are choosing a random element from the set and then "removing" it from the set with the swap and then repeating.

[1] http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Th...
It's like the classic RISC vs CISC debate. The example could turn into a single instruction:

addvar "a", "b", "c"

I think a hybrid stack/register architecture gives the best code density - something like the x87, where you can choose to access the registers like a stack or by index directly. Look at some of the sub-256-byte demos for a good example of x87 code density.
Well, no. It was UNIX -> C.
Telescopic contact lenses let you zoom in on demand
+1 to Coors factory -- Pro tip: skip the bus and walk into the brewery from the West entrance.
I really can't understand why well-off Westerners continue to work in or visit the UAE, Qatar, etc. You have a choice. Unless you're doing some kind of humanitarian or cultural work which actually requires you to be there, stay the hell away.
Germany Sets Gender Quota in Boardrooms
Do you really need to "filter down" your candidate list, though? Given the apparent importance of hiring processes, it seems to be like it may well be worth it to simply go through the process with all 100 of them.
Huh. That's crazy to me.

I worked at a company that had a remote, 3 day test. It was pretty fun, and I still sometimes try out things on it to see how they work (it was a two-parter, with part 1 being to write an evaluation function, and part 2 solve a NP-hard search problem).

I strongly feel that the information I gained from looking at the code candidates wrote for that problem told me lots of really good info.

As far as I know, nobody cheated. (All submitted code as unique, and everybody could talk cogently about what they did. Some people did great things, some people terrible, and lots in the middle.)

In conclusion, I would strongly recommend a "take home" test. Maybe give a bit longer than 24 hours. And make sure it's the same problem all the time, so you have a point of comparison.
iOS does not have APIs that allow us to programatically send/receive SMS messages

Wait... what?
Is there a pointer to the other algorithms?
What my 16 year old self taught me about business
Yep, and you'll be working to train your replacement the entire time [1]. So maybe their complaint is going to be that they're not backstabbers, but that you're signing up to be gutted when you take the job.

[1] http://www.gal.ae/emir.aspx
There is a lot of ethical uses of such trackers (e.g. a company tracking its own vehicles, shipping container tracking, etc.). We can't assume the developer of the original board knowingly designed it for evil purposes.

Full disclosure: I design smart-grid and telemetry applications, including a GSM + GPS device (GPS was initially used for getting accurate timestamps, but we also added positioning registers, which made the field maintenance people very happy).
If your site is HTTPS, add the referrer meta tag so it shows up in Analytics
The last update to SUblime was actually few days ago. They have quite a few updates in 2015.
Money and low taxes. Reason why thousands of people from Asia work in the middle-east despite piss-poor conditions.

EDIT: Sorry, I didn't read "well-off". Still, more money is the answer.
I come from Europe, where "getting fired" seems to have a slightly different weight for people, and I really need to ask this. Please assume I'm a total ignorant in this regard, and explain this to me like you would to a young teen.

Why getting fired is seen as so bad?

What's the difference in your view (in terms of perception) between being fired and being laid off?

How can a company know that someone has been fired from the previous company?
> No, it's not. Licenses do not restrict rights of the copyright holder, ever.

Sure they can. You can definitely give someone an exclusive license, typically for a set period of time. You have agreed by contract not to license to anyone else, even though you are still the copyright holder. A license is simply a kind of contract, and you can contractually agree to whatever you want -- unless restricted by law otherwise, and there are certainly restrictions on legal contracts, but exclusive licenses are not at all unusual and entirely legal. Presumably you were compensated adequately for giving up (usually temporarily) the ability to license to anyone else.

Of course, open source styles of licenses including CC, are never exclusive, because this sort of license is offered to the public at large. When you CC-license, or GPL-license, or apache-license your work, you're are offering the work to the public at large under that license, that's what those kinds of licenses are for.

But traditional licenses are usually offered to a particular party, and they certainly can be exclusive.
so, this was a public post? or he was friends with everyone he was badmouthing? illegal or not, that's plain poor decision making.
But both countries’ products -- and all of Blue Moon’s products world-wide, for that matter -- share one thing in common: nowhere on the packaging is there any indication that the beer is a product of MillerCoors, the second-largest brewer in the United States.

It says quite clearly on the back label on the australian bottles that it's brewed by Coors
I'm not an expert on interpreters, but from the description it sounds like register machines are very CPU cache unfriendly, whereas stacks by their nature are very cache friendly by their nature. (It's a complicated subject, but the basic idea is: contiguous memory is cache friendly, random access is not). Given how catastrophic cache misses can be for performance (LOTS of CPU stalling), I imagine the instruction density really doesn't mean much compared to keeping the CPU fed with instructions.

The part of all this that is hard is that, when you're working at this abstraction level, you're not writing for an abstract machine, you're writing for real computers that are highly pipelined and heavily dependent on relatively small caches.
It's beautifully ironic that this was man was arrested at the employer's request, because the man portrayed them negatively. Yeah. Global Aerospace Logistics sure looks like a bunch of swell chaps now, I bet people are lining up to beg to work for them.
Licenses are contracts. That's what a license is.
That's a good point - I've been travelling places where I've had roaming SMS but not data.
Where the jobs have been the last five years is not necessarily where the jobs will be in the next five. I'd focus on what interests you instead of the current hype around web & mobile.

Based on your post, I think going to a bootcamp would be a mistake. I think you're buying into the hype a bit too much. The career changing job comes months after the bootcamp finishes from the people I've talked too. The bootcamper job market is oversaturated and much more competitive for an applicant which results in a long job search.

If your bored at your current job, start looking for a new job where you can learn something that interest you instead of a bootcamp. You'll be earning money instead of giving time and money to learn entry level skills.
But how do you know what the function only accepts a string in a dynamic, duck-typed language?
It is going to be p2p webrtc messaging app with blockchain. it won't be local. and it's going to be extensible by user
Ruby's cardinal sin: there's no way to `require` code without global side effects.

e.g. https://twitter.com/tomdale/status/457282269342744576
Basically, the whole principle of Net Neutrality (as I understand it without knowing the details of the U.S. law, much less the European one) is: you bill data in the last mile to the consumer and you are not allowed to charge them based on the semantics or origin of the data. You do not charge the provider at all, unless they are the direct ISP you are peering with. You can however, give the customer a fast lane and a slow lane if you want, with different caps, and they can tell you which traffic they want you to get to them faster.

As far as I understand it, nothing prevents the hospital to get:

Connection 1: Availability guarantee 99.999%, bandwidth 150Gbps max with 50Gbps dedicated, RTT for last mile: <=80ms

Connection 2: Normal, small business grade connection.

Then the hospital can use connection 1 for critical medical equipment and connection 2 for everything else. But, they could do just the reverse (why would they?) and the ISP would need to abide by connection 1's guarantees regardless of content (assuming the upstream connection from the provider is also good enough).
many/most/all
now I heard there is this thing also http://telehash.org/
I think you mean 700TB not 700GB
Well, it depends on how much one is willing to risk for a given salary. I bet the guy was well paid in KSA. He was just ignorant of that specific risk when going back there or too arrogant to think he would get caught.

I know a lot of people that work in Singapore too.A beautiful place but you'd better make sure you know the implications of doing things that would seem harmless in the west. Because being a westerner wont make the justice system more lenient. On the contrary,they tend to make examples out of westerners.
They are thinking good for their countrymen. I don't see why that is wrongdoing. Their non-Emirati employees do get paid for their work while they are there.
Underneath the sea of yellow cabs you have a very efficient subway system, connecting the entire city to its 5 boroughs. And you also have a decent railroad system, connecting Manhattan to nearby cities.

It's true that some areas are not properly served through subway, and you have to rely on bus. But it is still an order of magnitude better than some of the cities mentioned above.
I find that a little hard to believe as the lite version tend to use a lot of cheaper and less flavorful grain (corn, rice, etc) as adjunct to get the sugar levels up for fermentation instead of costlier malted barley.

Big enough difference in price between those for those to make a difference in production cost. This assumes that premium lines tend to be higher in flavor/alcohol than the lite versions, which isn't always true (see Budweisers line) but enough for generalization.
Policing for profit: How Ferguson's fines violated rights of African-Americans
The same way the contracts gem does it. Annotations.
What are the chances all your customers leave if you start doing nothing tomorrow? I'm not saying you're wrong but even owners have obligations.
Amnesty International released this tool a while ago to see what "crimes" you're committing with your posts in other countries:

http://www.trialbytimeline.org.nz/

Also, once again civil libertarians were right: when US starts arresting people from across the globe for doing "crimes" that hardly have anything to do with its jurisdiction, eventually other countries will start doing the same with Americans, knowing that it's "okay" to do that.
The most lazy and obvious attempt to get net neutrality and terrorism in the same breath.

Not only is it his job to obscure and twist reality, but he's not even good at it! Not sure how much self-worth I'd ascribe myself if I were him.
Craigslist Notifications
https://chrome.google.com/webstore/detail/popup-notification...
I've found the HackRF One [1] to be the next step up from the $20 TV tuners an Amazon [2] and the Ettus Research $2700 dream setup [3].

[1] https://greatscottgadgets.com/hackrf/

[2] http://www.amazon.com/RioRand-Receiver-Low-Cost-Software-Def...

[3] http://www.ettus.com/product/details/E310-KIT
> in my job, engineers spend a whole lot more time dealing with people than with code.

What kind of job do you have?
Not available in Illinois, FWIW.
Wow, $12.3 Billion lost to the 419 scam in 2013 and growing if the ultrascan report is accurate.

Edit: interesting report on the scam (warning large pdf):

http://www.ultrascan-agi.com/public_html/html/pdf_files/Pre-...
You still have to pay for vested stock if you quit before an exercise event. I'm not saying he didn't do that, but it's hard for a lot of people to come up with that cash.
I wish I'd remembered git-cola when I started work on this! SourceTree doesn't really reveal what it does under the hood when staging lines, and I was looking for something open source to reference.

I totally agree about additional use cases for manipulating lines. v1.0 included the features I use every day and allowed me to use it as my daily driver. I'll add a couple of issues for this. Thanks!
Or Arkansas.
I really appreciate your comment. One of the more exciting parts of expanding has been getting the opportunity to think about systems and processes at a higher level now that I'm not the only one fighting fires. I'll take this advice to heart.
Australia goes further. Several "foreign" beers are actually domestically brewed under licence and sold for juicy markups.
My concern here is that it seems to signal a lack of respect for the candidate if the company expects them to complete a task with no matching employee time. Interviews are even; both sides clearly have skin in the game; a work-sample test could be given to any number of people at basically no cost.

This is somewhat alleviated by the knowledge that you do a phone screen with each person prior to that stage, but it still leaves me with something of a bad feeling.
Thank you, tptacek, for writing this post. You have identified several important problems with interviewing and laid out the fundamentals for a reasonable alternative to the standard software interview.

It makes me sad that I will probably never see a single one of your suggestions implemented by any potential employer that might want to hire me, specifically.

This is because there is one more major problem that you can't fix from where you sit. The people creating the interview protocols do not solve their problems like software professionals. They don't collect and analyze data rationally. They don't control the variables. It never occurs to them that there are a dozen flaws in their system that they just haven't discovered yet. They don't read HN.

They don't realize that software developers can write the kind of software that runs on people, too.
Saverin probably should have about ~$15 billion worth of Facebook stock today (assuming he sold very little like Zuckerberg).

I'm sure Saverin isn't losing a lot of sleep on the difference he got screwed out of, but it's a truly massive sum of money.
I'm curious: what kinds of things would those be? I've always thought Singapore was a quite westernized country, but I guess I'm wrong.
I have been using it consistently over the last while, and I was reasonably confident of completeness and robustness enough to call it ready to share. That being said, there may be bugs in some of the darker corners. I'm pretty happy with how it has turned out so far, and I'll be watching for any issue submissions.
I'm not sure how you got from "less than half of engineers time spent on communication overhead" to "no communication whatsoever". Something is terribly broken if the people primarily responsible for execution take more time to communicate about a task than to actually do it.
BEWARE: UTorrent Is Secretly Installing Bitcoin Mining Software on Your PCs
Thanks for the positive reception folks. I was boarding a plane just as this hit the front page. Feel free to reach out or file an issue if there's something useful you'd like to see added.
UK law for new employees is pretty weak. You are basically 'at will' for the first year (although you will be paid notice, in my case 1 week).

This is a good read: http://www.lzwlaw.co.uk/downloads/LZW%20FACT%20SHEET%20SJ.pd...
what's your home country?
The lottery comparison would be fair if the organization running the lottery was incentivized to not pay you if you won and could very easily, in both a legal and acceptable-in-the-course-of-businesss way, deny you your winnings. You are basically relying on a huge pool of people who are making the decisions to be a nice guy and true to their word.

I'm not suggesting you consider your employer an enemy, there's obvious a mutual benefit to you working there, but never should anyone assume a business has your best interests at heart because they almost never do.
The split in reasons did lead to the fundamental question being sort of dodged. The majority opinion decided the case on quite narrow grounds: that the physical installation of the GPS device violated the 4th amendment, because installing it involved tampering with someone's personal property (the car) without a warrant. Four justices would have gone further and argued it would require a warrant to operate such a GPS tracker regardless of how it was installed, but the majority left that question unanswered.
Well they can't bust into your home and take it without a warrant, and it's probably easier to bully into handing it over than them admitting they done fucked up and getting a warrant.
Chewing gum, for one.