skysight-inc/HackerNews huggingface dataset:
Jesus, why is the font so light on the post? HELLO, HN SITE ADMINS, are we seeing the same thing? Is this easily legible to you?

You have the power of CSS, wield it...making text darker is not a time-consuming site adjustment...
A polyfill for srcset aleady exist: http://scottjehl.github.io/picturefill/
This comes directly from Ruby via Coffeescript.

It's aligned with a general approach of reducing syntax noise, and it can result in some really nice, clean code. It leads to a whole class of syntax possibilities, like implicit returns.

There are probably some performance arguments against this in the case of Coffeescript, especially wrt constructing expensive return values that are immediately discarded. The consistency is nice, however.
I did not attack the person, but I questioned modern science and particularly statistics as such. But it is much easier to believe what you read than to think for yourself.
That's a good point. Not long ago I would say Opera uses it, but they discontinued it and new Opera basically uses Blink engine from Chrome.
Germany braced to receive 800,000 asylum seekers
Every single time I see you post you're shilling for Google. You must not love it that much.
I know of several financial companies that do that, with software developers on the East Coast, in Europe, and in India.
thanks for replying. i can see where the cost would outweigh just re-writing.
no connection: close anymore
Waterfall isn't a real methodology - it was originally coined as a term to use to describe the existing anti-pattern that most software development teams used at the time [1]. Merging it with another methodology is like saying "we'll do this other thing, but worse, because we don't really want to change our ways".

[1]: http://www.cs.umd.edu/class/spring2003/cmsc838p/Process/wate...
Sharing our upcoming features and why we value public dogfooding
I agree with you, but there is still convincing hiring managers that it's okay to hire someone who technically doesn't have professional experience in ASP.NET MVC when the position is primarily that.

Here is a company I have worked in. They have legacy systems that are pretty heavily Web Forms and there is a lot of SQL work too. They are making the transition to MVC and ORMs in a lot of the legacy stuff.

http://careers.stackoverflow.com/jobs/75235/principal-softwa...

Hope it goes well for you.
Re: your comment and the others below

The variables argument is the only one I can truly get on board with. I really wanted variables. Find + replace in your editor for something like #fafaf0 isn't exactly error-prone or hard to do, so it wasn't ever a huge problem, but variables would have been very nice.

Pertaining namespaces, that's what the cascading part was made for. I had 4000+ line CSS files for large ecommerce websites where I had 5 different declarations of some classes (e.g., .item), but using proper selectors and understanding specificity meant never having a problem.

Pertaining large files, @import(...) always worked for me. For the most part, I'd use one large file (hence 4000+ line files mentioned above) because it helped with load speed, which did suggest that there was value in a build tool that would read @import(...) statements and pull those files into one large file after the fact. But this didn't mean we needed a framework with its own syntax, etc.... even today, tools like django-pipeline will pull in and combine CSS files for you, in the order given, so that you can write your files separately and have them combined after.

Pertaining z-index, I never had an issue with this, except with drop-down menus, but even then it was intuitive and consistent that the next element down will be 1 layer above the one directly above it, and it was also intuitive that nested elements' implicit z-indexes would be relative to their parents, etc.
And then imagine a big crowd of people coming up to it and taking selfies with it!
monopoly-regulation and net-neutrality are two unconnected issues. you can have a monopoly that does/does-not respect net-neutrality; you can also have a competitive market place where all members respect/do-not-respect net-neutrality.

net-neutrality is not about ensuring broad access or low pricing, whether accomplished by regulation or the free market. net-neutrality is about ensuring equality of access and equality of speech, accomplished by preventing those who control the pipes to pick and choose the priority of what is going through the pipes.
I bet that happens already...sounds like just the kind of thing we could look at empirically on public version control systems.
Here's a fun overview video explanation of HTTP/2 from the other day..

https://www.youtube.com/watch?v=yc2Ug2GySCg
Personal opinion, and it's very likely you know all this. I'm sorry in advance if it seems patronising, but here are my thoughts as they occurred. Even though some are invalid or unjustified, I thought there would be value in seeing them "up front" like this.

There would have been value in saying so in your question. I can imagine that most people would go - been there, done that - and just moved on.

From what you say you have done your homework and looked at the previous answers, but there would have been real value in collating the answers, presenting them, and then explaining why you feel the question is worth asking again. What do you feel has changed? Why are those answers no longer relevant, or complete?

Just asking the question with no reference to previous answers makes it feel like you haven't done any checking or research.

The document has its short-coming, and it's for a different context, but let me quote from "How to Ask Questions the Smart Way"[0]:

Before asking a technical question by e-mail,
or in a newsgroup, or on a website chat board,
do the following:

Try to find an answer by searching the
archives of the forum or mailing list
you plan to post to.

Try to find an answer by searching the Web.

Try to find an answer by reading the manual.

Try to find an answer by reading a FAQ.

Try to find an answer by inspection or
experimentation.

Try to find an answer by asking a skilled
friend.

If you're a programmer, try to find an
answer by reading the source code.

When you ask your question, display the fact that
you have done these things first; this will help
establish that you're not being a lazy sponge and
wasting people's time. Better yet, display what
you have learned from doing these things. We like
answering questions for people who have demonstrated
they can learn from the answers.

A lot of that is not relevant in this case, but enough of it is that it's worth knowing.

[0] http://www.catb.org/esr/faqs/smart-questions.html
Lego Mindstorms is a really popular kit among robot enthusiasts. It's a good starter kit.
I had that reaction too. The author claims that the role of long sentences is overblown, since most offenders serve relatively short sentences (and don't subsequently reoffend). But the availability of long sentences to prosecutors might convert a lot of cases that wouldn't involve custodial time into felonies.

From the paper:

The primary engine of prison growth, at least since crime began its decline
in the early 1990s, has been an increased willingness on the part of district
attorneys to file felony charges against arrestees
Show HN: Relevé Heels – Rent designer heels at a fraction of retail
> pingtest (latency - bigger is better)

This is an odd way to measure latency. Could someone explain further?
This tool is forked from Coffeescript, which is deliberately designed to resemble Ruby. There's a good reason for that – some aspects of Ruby's syntax are well-loved.

It might be more effective for you to use your time understanding why these aspects are important, since you apparently feel this project is good, and less time being a bit of a dick about it.
Ask HN: A book on hardware hacking
I understand it's difficult to realize what you don't know, so this question may be unanswerable.

I'm a hardware engineer, I develop ASICs and FPGAs for various tasks. I also develop simple software as a hobby. I don't have a background in the kinds of algorithms that a CS student would have, but I can hack my way through stuff.

That said, I'm interested in working a book to take a software engineer into the realm of hardware hacking of FPGAs. Rather than just give a CPU example in VHDL I'd like to work through the main principals of what sort of thinking is needed for hardware development.

However, since I don't have a CS degree, there is a lot of intro material that I'm just not sure is common knowledge to CS students or not.

So this is an open ended question. What sorts of things would you like to see in such an introductory book (geared toward software hackers) and what would you like it to assume you already understand?

For example are CS folks comfortable with the idea of two's complement for subtraction? Are you interested in semiconductor physics or the process of constructing integrated circuits? (that's interesting background, but not strictly required for digital design). Are you comfortable with boolean logic, stuff like demorgan's laws? I'm assuming karnaugh maps aren't frequently brought up in a CS environment.

I'm trying to figure out what would be a waste if I am targeting CS hacker types vs someone with no computer background.
What Television Will Look Like in Five Years
The Anatomy of the Perfect Media App [Slideshare]
yes u'r right man!
I would suggest reviewing the Spiral/Whirlpool development lifecycle. Agile has a lot of nasty micromanagement issues that start coming into play in its usual implementation, but the root idea of iteration is good, as you are aware. Combining iteration with thoughtful planning is a strength of the Spiral model.

Whatever you do, it will be important to review the situation after 6-8 weeks and make modifications based upon experience.
That's not really the part of unless that bothers me - it's the order. Why not do:

if !record.persisted? && !record.invalid?
save!

or:

unless record.persisted? || record.invalid?
save!
Steven Levy: The Deep Mind of Demis Hassabis
In the larger linguistics world you have a distinction between "translation" (conversion between languages) and "transliteration" (conversion between forms of a language; cursive writing versus typing versus speech, for instance). I remember this being a particularly important distinction in learning American Sign Language (ASL) because the vocabulary is roughly English-ish it is very easy to transliterate and try to say in ASL an English sentence "as is" without meaningful changes, but just with dealing with the differences between, say, English and Spanish, to speak ASL properly you need to actually translate to more idiomatic forms and abstractions. This is extremely important to ASL not just from a "speak better ASL" standpoint but also because it comes out of a foundational, cultural imperative: ASL was not seen as "a real language" until it proven to some linguists that it validly needed translation, was not just a transliteration of English but in fact a language with its own idioms and grammar requiring translation. This disagreement is so fundamental to ASL also because there was so much pressure from people to "speak real English" rather than develop their own language. There is a transliteration-focused "alternative" to ASL that includes all of the useless English grammar and stutter words like "the" that ASL handles grammatically different, and ASL had to prove its existence against it and also to prove that it was better and also to prove that ASL speakers could still read/write English to work with the rest of the English-speaking country when their native language was grammatically different enough to require translation... It's an interesting cultural battle to read about.

All of which is a long winded example to get back to the idea that the translation/transliteration difference is very similar to the compilation/transpilation difference and while I don't think we've yet seen a cultural battle for supremacy between the terms, I do think there is a usefulness in keeping the distinction. I also see the conversion between idioms/abstractions as being the key difference between compilation and transpilation. Machine language has much different idioms/abstractions from a high-level language; CoffeeScript and TypeScript try to stay very similar in idiom/abstraction to EcmaScript.
I have interviewed a fair number of people for different positions over the years, here's my 2p:

1. I would look at your CV and see your narrow focus but I would still be wondering based on your experiences whether you could move to the technology we use.

2. Good/great developers seem to be in short supply, if you can prove your ability to understand code, build robust things and ship you would be just fine in my interview.

3. I think you would find a lot of very similar technology in the Java field and it wouldn't be a huge hurdle for you to pick that up if you have a good and deep understanding of how you currently deliver apps using ASP. If you could show on your portfolio how you have picked up Java/Ruby/Python/whatever based on your 20 years of experience and show you understand "how things work" rather than the nitty gritty of a the language then you would beat a lot of the people we interview.

In short, if you came to an interview for a Java job I would be more interested in how easy you would be able to learn what we do with Spring etc and how much and how deeply you understood the stack you were working with rather than worrying too much about you not have "5 years of Spring MVC" or whatever other blurbs HR stuck on the job description. I've interviewed a lot of people who have no clue whatsoever how MVC works and have no notion about how things fit together to make a system, they just fill in the gaps in the Spring/Hibernate/library config and write a few lines of code and "it just works". If you have the deep knowledge I think you can easily take a senior/architect role in Java-land.
Well the point is that the hackers picked a pretty good target. You're never going to convince me and millions of others that exposing cheaters is a bad thing, even to the entire Internet.
Is there any hardware that uses MQTT?
Imho agile has a few points that everyone hits, sooner or later. Agile is about finding flaws and managing in a way that's beneficial for the product being developed. A corollary is that it should lead to a better process, thus leaving everyone happy.

This is what I find out happens all the time:

- in retrospective, everyone can easily pick the problems within a sprint
- very short sprints burn alot of time in meetings
- product owners always try to introduce features at the middle of the sprint, make sure they don't do this
- it is of foremost importance to a) define a fixed number of features/items at the beginning of each sprint, and b) commit to ONLY that, unless critical bugs appear. Another corollary is that to shield developers, there should be a single point of contact between product owners and devs. better yet, ensure that devs dont get to discuss things with product owners during the sprint dev time
- definition of 'done' is also extremely important. make sure that everyone is on the same page, you can even define a checklist and apply it to your issue tracker. Example: done means code pushed and reviewed by another person, tests for the feature, and any other item that should be necessary for you
- estimations are crap unless the process is running smoothly. If you're doing agile correctly, either the process is smooth or you are always fixing problems in the process.

If the devs are talented, any dev can implement a feature in a reasonable amount of time. What I think agile brings to the table is a set of methodologies for a team to consistently implement features that are the most valuable to the product owner.
As a Perl programmer, I'm often using contructs like that, and I think they have a place, but you should restrain yourself from using them in places where they can easily be misunderstood.

For example, they work really well in loop control statements:

for my $i (1 .. 100) {
next if $i == 10;
next if skippable($i);
last if is_what_we_want($i);

# Do stuff here
}

Or more complex param validation

sub foo( $arg1, $arg2 ) {
return unless $arg1 > 10;
die "Invalid argument arg2!" unless defined $arg2 and $arg2 =~ /^(?:CAT|DOG|GERBIL)$/;

# Do something
}

That said, I don't like it for assignment of in that manner (at least where the assigned value comes out of the if), because the main justification for allowing it (it's a natural extension of how we think) doesn't follow. A ternary operator is better in that instance, IMHO.
Propaganda. The big green statue that was supposed to welcome people to its shores has not lifted its finger to protect the millions of people whose personhood is being deemed 'illegal'. It stands for an "idea", an idea defends no one and can be claimed by anyone. The idea that statue stands for is claimed by all sides of all mainstream politics in this country.

"A disordered country is full of loyal patriots."
While I totally believe the research is right, and see the same results and draw the same conclusions for myself, I don't think the research can tell anything about one individual.

The way studies work is to measure the average of a large group. Most people I assume (I don't have data to back that up) work in jobs that do not have what jkot meant with "good conditions". So the research finds that _on average_ longer work hours do not result in more work done, and that is good advice for every employer.

For a motivated individual or small group that can be different, so I believe such personal accounts and would not tell them they are wrong. I can totally see how founders, special personalities, people with what I call the "perfect job" can work much longer than 40 hours without being wrong about their own performance.

The wrong thing is only to expect that from others or to create an environment that makes others believe it would be true for them too.
Those terms are not laws and they are put together from our collective discretion. I'm glad your feedback directly hit the (ought to be) variables. Thanks for sharing your experience.
It's interesting to see such a true example of the ad hominem fallacy.

You can very easily do more research on his writing on mass incarceration, since he appears to be internationally famous for it, is cited widely, and writes on the Internet about it.

Worth the reminder: I find no evidence that the author thinks that the drug was is a good thing, and lots of evidence that he sees mass incarceration as a problem.

In fact, if you want to do more research on the paper, you could start by reading it: the author doesn't even think most violent offenders should be incarcerated.
Now make those images webp.
I respectfully disagree, software is very different.

Typically, developer's output is (unfortunately) measured by the lines of code written. More often than not, it should be measured by how _few_ lines were written to achieve the desired functionality (including maintainability and scalability, etc)

What is so different about software is that you can get from point A to point B (say, write a custom order processing system) in a thousand different ways (overwhelming choice of technology stacks, architectures, etc). But only a couple of solutions would be optimal for the problem at hand. And there are so many factors which influence all the decisions.

Another difference: code is just a description of what it does. There is no way to accurately predict performance, for example

And don't even get me started on ever-changing requirements ("I know we wanted a 2 story building, but how hard would it be to add 20 more floors?"). You don't change the widget design while on a production line.
Also, I can't speak for all companies, but where I work configuration is how we define the differences between our test and production environments.

If your config files are intentionally different, because in test you should use authentication server testauth.example.com and in production you should use auth.example.com, then how can you avoid violating test-what-you-fly-and-fly-what-you-test?

Obviously, you could add an extra layer of abstraction (make the DNS config different between test and production and both environments could use auth.example.com) but that's just moving the configuration problem somewhere else :)
It looks like the author does not believe sentences are directly responsible for the prison population, as most are short and most offenders are not re-incarcerated.
Are brackets and semicolons now optional in ES6/7?
Free Video Stocks
For much of the 1980s, Michigan imposed a mandatory life sentence for possession of large amounts of hard drugs. Which isn't contrary to your point that the drug laws should be considered separately, but if the drug sentencing is independently harsh, it doesn't need the three strikes accelerator.

A famous comedian made a deal to avoid that sentence. One that promotes a family values image.
I'm the author but not the OP.
Which is an argument so obviously true as to be banal; even the marijuana decriminalization campaign in Colorado pointed it out.

Marijuana is going to be legal in the US. It's not a live issue. We don't have to import it into every other social science inquiry.
As a Data Science intern at eBay, I'm really excited to see eBay on the front of HN. We have some other interesting anomaly detection algorithms, but I guess they're saving that for another post.
IBM Launches Operation Rescue and Recovery Hackathon to Aid in Natural Disasters
How to convince your friends vertical farming is the next big thing
No, not really. I understand why you'd think that but knowing the MQTT spec and the benchmark, it shouldn't make any difference at all.
I think most people's bias against this article will kick in the moment they see a Wordpress parallax theme as the first thing featured. Or maybe the huge bold font for body text...
I'd feel I had learned something important about that company and why I should never work for them. And then I'd move on in life rather than dwell on it.
I really can't imagine that this benchmark is relevant anymore. Haven't Go, D, and Erlang had major changes since then? E.g., Go is now compiled by a compiler written in Go.
On the one hand, it sounds like a cool place to visit.

On the other hand, I'd have to give Larry Ellison money. And that just won't do.
Well sure. But I live in a weird world where I sometimes have to work with code other people wrote, as well as my own.
Apple continue to try and rule the world though. But unless we have radical developments in battery tech the industry will stagnate a lot. There is just so much you can squeeze out of the current tech.
If you really think this is such a ridiculous idea, I suggest you read Ryan Holiday's "Trust Me, I'm Lying".
That isn't true. S3 has no bandwidth cost for incoming traffic, but it certainly does outgoing to the internet: https://aws.amazon.com/s3/pricing/.
Swift is still very young, constantly evolving, and simply not ready for big projects. Case in point: is there a single Apple app written in Swift yet?

This means that writing GitUp in Swift would be a ton of overhead for very little tangible benefit.

See examples of what well known Mac developers have to go through with Swift: http://inessential.com/swiftdiary. I'd rather spend my time on building the app rather than on dealing with Swift.
I agree with parent and siblings that retros are awesome!

Initially, my team started by sitting around talking about work item by work item and other miscellaneous topics. Most of the time, this was cathartic but didn't lead to much change.

Recently, we've had a facilitator lead us through activities to drive toward 1-2 actionable outputs to work on for the next sprint. This focus has helped the team actually improve things with our process.

We've been using http://plans-for-retrospectives.com/ for ideas of the activities. A number of our Agile Coaches have recommended the "Agile Retrospectives: Making Good Teams Great" book (but I haven't read it myself).