skysight-inc/HackerNews huggingface dataset:
Some people, myself included, use Jetbrains' IDEs much more heavily than the aforementioned editors. Personally, I love their IDEs and comparing them to the aforementioned editors is really unfair as the IDEs offer features that are simply impossible in text editors. Multi-select is one of the features that would make the aforementioned editors even more dispensable and the IDEs even better.
RemeIO
RemeIO is the fastest way you can schedule email reminders. It's free and no signup or registration is required. Create your reminder in a human way using natural, human language.
I expected some minor design tweaks but everything changed. Amazing work for 2 weeks.

I like how you guys offloaded as much unnecessary work as possible (e.g. blog hosting, Tumblr theme, email template).
We're not free, except for those of us with enough money to buy freedoms. Take the US, the country of NYT and HN. Its imprisonment rate (and maybe still absolute numbers) eclipses every other nation.

In the lives of most people, power still requires violence. (Privileged people don't have to be aware of this.) Hence all the police and military. Otherwise we would have another system, and money (if it exists) would have a different meaning.
Dreamise – Dream Giveaway Platform
Its quite contrary to the approach onLive and Gaikai have been taking with streaming games from the cloud to any device that is able to output a video stream. I tried some Gaikai demos before they were acquired and to my surprise it worked very well. Both have their ups and downs but as i see it the ultimate endgoal would be your desktop in the cloud accessible from any device by realtime low-latency streaming. In that scenario gaming in the browser would still be possible but make a lot less sense.
AFAICT this version of the lightsaber is not collapsible. Which takes away the coolest aspect of it.
Got my current job on here
There's No Right Way to Start Up
From the viewpoint of a job applicant, I have been very happy with the job postings on HN. Of the 4 jobs that I applied to over the past 3.5 years (I'm pretty selective), all 4 responded to me on the same day, and 3 resulted in phone interviews. Those numbers are very good compared to other job posting sites.

I found that job aggregation sites like Monster performed absolutely terribly. In that same category are the careers website that large companies like Microsoft and Boeing have, which are basically black holes. I can't remember ever getting a response from any of them. It's easy to spam your resume to dozens of jobs at once, but 0/1000 is still 0.

My favorite technique (which got me my current job) was to apply to the company directly after finding the job opening through Craigslist or other means. Applying directly got me a response rate of 14/17, and an interview rate of 10/14.

Emailing companies directly through Craigslist was fairly poor for me, and gave me a response rate of 2/8, and an interview rate of 1/2.

I realize that my sample size is small, but I hope it helps.
This reads mostly like an advert for Replicant.

"However, when Replicant is installed on the device, this back-door is not effective: Replicant does not cooperate with back-doors."

I am sure that people who run alternative ROMs/OSes would like to know if they are affected or not, but there doesn't seem to be much mention of that... except this line, which seems to indicate that at least Cyanogen IS affected:

"Alternatively, the kernel could block the incriminated RFS requests and keep a trace of them in the logs for the record. That option would work for CyanogenMod, where the incriminated proprietary blob is still used."

I've heard about Replicant before and am interested in it, but something about a self-serving warning like that turns me off.

EDIT: Okay, my bad. I thought this was like a public announcement, not just a wiki page. That makes the context different, so my comments about reading like an advert are not nearly as applicable.
It looks like you can upvote/downvote other's opinions. Is this being counted towards the totals? Because now you're testing how many people are willing to go through the "Supports", and upvote the ones they agree with, downvote the ones they don't
Do you think that speaking out to the CEO would have changed his mind? I think that if the author really wanted any chance at changing the CEO's mind about women - he should have accepted the job and planted some seeds of thought here and there directly or indirectly to the CEO.

Do you think that proceeding, he would be condoning sexism in some way? Perhaps in his own mind, but one person walking away from a job interview can hardly be considered a boycott.

If you are one person, your best bet to change something is to engage, not walk away.
My inbox is not an imperative to act -- only the unread bold items are such an imperative. Those are to be replied, forwarded, flagged, deleted, or ignored. If it's read then I've done one of those actions. No need to archive off the inbox to get that discipline. All the tools are there.

I found that it's a disadvantage to not have the stream of activity that Inbox infinity provides. All incoming email is sorted by date so I can always see my activity.
Is Software Development Meeting Expectations?
We've had some of these problems with GWT, but I think some of them can be solved with a much simpler mechanism than serializing an AST.

For example, for each symbol we record, we can simply introduce something called a 'scope identifier' and then define a language specific mechanism by which debuggers can compute scope identifiers.

Consider the following problem for GWT:

class Foo {
String hello;
}

class Bar {
String world;
}

Both of these can be compiled and obfuscated an an object with field 'a'. So when encountering a heap reference to an object with field 'a', does it deobfuscate to 'hello' or deobfuscate to 'world'?

We have many kinds of scopes: global scope, object scope, function scope, etc. In this case, its an object scope. If we uniquely identify each scope, we can perform the mapping as long as there's a way to compute runtime type, e.g.

Store 'a' as '2:a' (scope identifier '2') Put a mapping in the sourcemap that 'Foo' maps to '2', and now we can introspect the heap reference, determine it is 'Foo', map it to '2', and properly display it as 'hello'

Different languages may have different ways of setting up classes and defining runtime types. GWT for example, does not rely on JS constructors, but instead hangs a classId off of the prototype. I think Dart does something different. In any case, it is a simple extension to the existing format and backwards compatible. The only runtime API needed is a function getScopeIdForReference(obj) which takes a compiled object and gives its scope.

The AST approach I think has several problems:

1) if the annotations are present in the shipped obfuscated code, it leaks information that people don't want. Many people do not want to leak the source filenames or directory structure of production apps.

2) it increases the download size for consumers who are not developers and don't need the maps

3) if written out as a separate file that co-exists with a stripped binary, it increases memory requirements of the debugger.

The way Google deploys Gmail, for example, we use sourcemaps in production as well as development. When exceptions are thrown on the client, the stack traces are reported back to servers, deobfuscated via sourcemaps, and put into a triage system. A person looking at a bug report sees a deobfuscated trace, but the consumers aren't burned with having to download the sourcemaps in annotated js.

I think the idea of defining an actual sourcemap API for the debugger (getDisplayValues, getLocals, eval, etc) has a lot of value, because these function are source-language dependent, so having GWT/Dart/Emscripten/CoffeeScript/etc generate them is useful.

But I don't think annotating the actual JS, or switching the sourcemap format to an AST is a big win. Yes, it is a simplification, but it also trades off other useful properties of sourcemaps.
When you git clone a repository with a submodule, before you call git submodule sync/update and all that jazz, you just have an empty directory where the submodule should be.
How co-ops are getting screwed by QA
Every time I see another example of frivolous litigation threats like this, I feel like one of the biggest shortcomings of the U.S. justice system is not enough pain inflicted on frivolous litigators.

This goes for patent trolling, too, obviously.

There should be a healthy fear of filing baseless legal challenges. Disbarment? Large fines? What's the effective remedy here, that doesn't go so far it dissuades legitimate cases?
Yes lots of people I know start at so called "sub-par" companies but pick up good experience/skills.

Lots of other friends I know have worked for nice shiny tech companies you've all heard of and would die to work for and have had AWFUL, TERRIBLE times and quit within the first six months.

The quality of the experience and the skills you pick is up is MORE important than brand name firms early in your life. Always focus on skills, thats what leads to fulfilment and of course getting paid.
How does this accomplish anything that Steam isn't already accomplishing, though? I have only bought humble bundles, and I already have a couple of hundred games on Steam. Tempted to buy more.

And I don't own a windows machine.
yah, a simple "Simple, switch to java" would have been a lot more effective.
I use (webkit-based) Epic, but on Firefox and Chrome it's working fine so I guess you don't need to worry! Sorry for the false alarm :)
LOL ... I totally agree.
I make 1000$ a month after tax, selling enterprise software, and honestly - I don't understand what are you talking about. 300k annually seems really a lot even if you live in an extremely expensive place like Denmark (mnimum wage 2000$ a month). So many people have less and live happy and successful lives, get degrees etc.
That is right. It seems to me a large trend today, to install this "chain of irresponsibility" in many companies. Because they can save some money and say it is not their fault, when somebody criticizes.

But since it seems to me, that Hermes was one of the first in the Germany based parcel delivery businesses to use this concept, they have no excuse. What kind of excuse is it anyway to say "the others are doing it too!". Tell that in a courtroom after a murder!

It is the same game, btw. that western companies play in 3rd world companies. They do not open the sweat shops themselves, but work with contractors or sub-contractors or even sub-sub-contractors. And when a sweat shop burns down, to many workers kill themselves (all things that already happen(ed)) or something else happens -- they know about nothing and are horrified by the "bad behavior" of their contractor that they would "never imagine"!
MH370: China releases satellite images of possible crash site
I think that's a bit negative. Yes, they don't provide important things like identifying variables as you mention, but mapping back to the original source is still extremely useful by itself.
Obviously there is no power supply. The Jedi channels the energy of the Force.

I never noticed the Jedi avoiding looking at the naked beam of a lightsaber in the movies. I'd think it would be quite damaging to the eyes.
Apple.com down, incl. their system status page
Replicant developers find and close Samsung Galaxy backdoor
But this isn't the only natural disaster California should be concerned about...

http://en.wikipedia.org/wiki/Great_Flood_of_1862
Two things:

1. Sometimes you just have to take work that isn't ideal to pay the bills. I worked a full time job doing nights as an ecological surveyor on building projects during the second year of my undergrad. I didn't go to lectures, just had to keep up with the work on my own time. Then I took on extra work doing freelance iOS development on top of that in my final year. I worked like a dog but it was worth it (not least because it paid for me to live and study). Don't have your heart set on getting a job that uses all your skills - you have to hustle.

2. I have a ton of spare projects ranging from exploratory data analysis to computational biology software development, and from hardcore pure bioinformatics through to applied crop engineering for food security. I've never supervised a student working remotely before, but I'd be willing to give it a shot if it's a good fit. I can usually find money to pay my students (nothing huge, but living plus a bit money), though again I've never done it internationally. Shoot me an email: rds45@cam.ac.uk. Same goes for any other similarly placed students reading this.
Or if you treated credit-card bitcoin purchases as options. On the surface it's not a good idea for someone to accept credit cards for bitcoins, but why can't I use my credit card to purchase BTC at the current rate for, say, April 15 delivery? Of course, now I have to trust the seller to follow through, but that's a tractable problem that can be solved with either reputation-based trust or escrow services.
The New Razer Blade
I don't understand what you mean? Why would any emails get dropped? All unread emails when read are replied-to, forwarded, flagged, deleted, or ignored.
It's up for me…
> The multi-rotor drones are basically uncontrollable without computers; you need a reasonably powerful processor

True.

> which in turn means a fairly high-capacity battery.

Not true.

A microcontroller CPU is good enough. Take a look at the KK2.1 flight controller.

https://www.hobbyking.com/hobbyking/store/__49254__Hobbyking...

Its brain is an ATmega644, which only requires 240µA @ 1.8V, 1MHz, according to the spec sheet.

http://www.atmel.com/devices/atmega644.aspx

You do need energy-dense batteries, but all that energy goes into the rotors.
Snippet Repo goes public beta
We went with the free version of Sofia Pro for our event titles/etc. Seems to display more smoothly than most free fonts.

http://wesawit.com/events/imagine-dragons-at-the-staples-cen...
> a ton of rigid procedures, that only work well in concert

That is your problem right there.

7 years ago, scrum was taught as a toolbox. Each "procedure" had a goal. Reaching the goal mattered, not following a recipe like a lemming. It was for example perfectly reasonable to get rid of the daily standup in a 3 members team, if you have plenty of interaction with others already. The core of the methodology fitted in a single page.

All the above FYI only, no need to call the True Scotsman to the rescue, I'm convinced: from the other comments, scrum looks more like Prince2 than anything else.
If you read the full article it is explained later on how the filaments of glass are coiled and wrapped in such a way that they fit in the handle and expand when lit by the light pressure causing the filament cords to expand like an inflated wick.
Just curious, where is this highbrow "if you don't know GIT you shouldn't be programming" bullshit you speak of?
If there is such a thing as rebasers, git-rebase man page reading should be mandatory for admittance:

„Rebasing (or any other form of rewriting) a branch that others have based work on is a bad idea: anyone downstream of it is forced to manually fix their history. This section explains how to do the fix from the downstream’s point of view. The real fix, however, would be to avoid rebasing the upstream in the first place.“--https://www.kernel.org/pub/software/scm/git/docs/git-rebase....
That is not true, the fifth field of the mapping is the original name of the variable.
Not down.
Spree: The Spritz-like reader that you'll love
A large subset of scenarios do not have a 1-1 mapping of output source to input source. Source maps have been represented as a solution to various debugging woes when they strictly seem to handle 1-1 mapping and nothing else. The linked blog post addresses this to a degree, and that's why I think it's great to see it cover this topic.

The misleading presentation of source map features is problematic because I think it leads end-users of transpilers to believe that it will solve their problems and ask for it as a feature addition, when in reality it won't do them much good.

I do think the people who specced source maps were correct to start with the narrowest possible feature set, though, even if the resulting spec seems strangely micro-optimized in ways that make it much harder to generate than it would be otherwise.
Drones are very noisy. Unless you take special precautions, the sound from the camera is going to be mostly rotor buzz.
You have successfully spawned my OCD thread. I have attempted to fix a number of them, but it's more difficult in Wordpress.com land than I thought it would be.
What is this, 1999?

Some of the highest performance large scale systems in the world are written in Java. Notably, in the messaging market Oracle's MQSeries message bus and StreamBase (now TIBCO StreamBase) run on the JVM. Both are used in some of the largest messaging implementations in the world.
That's a thing I have been thinking about for ages.
Curently it works like this:
- Someone adds an opinion (they show their support for the viewpoint -> the viewpoint gets a +1)
- Someone votes on an opinion (they show that they like/dislike the opinion not necessarily the viewpoint -> the count stays the same)
I just reread the spec and no mention of variables exists in it. That was definitely not added as a feature when I read the spec initially. Can you cite the relevant part of the spec and demonstrate how it is used?

P.S. Variables live in scopes, so attaching variable information to line mappings is pretty gross... I suppose if it works it works, so better than nothing.
I couldn't see an explanation of how the sabers can strike each other without causing damage to those around them, or themselves.

Also, wouldn't a ceramic plate in the handle make the saber incredibly fragile?
That's actually not bad. The amounts of energy required for powered flight are stupendous. It won't even be near that if it weren't for Li-Ion batteries.
You're correct, the system does not advertise partition tolerance, and @Aphyr does indeed confirm that the system is not partition tolerant.

Broadly, I think sacrificing P is pretty deeply misguided. If you run a distributed system at any scale for any period of time, you're going to experience network partitions, even within a single DC. (I speak from experience: I work on a distributed system which runs a whole bunch of machines in a whole bunch of datacentres worldwide. We see a reasonable number of non-trivial within-DC network partitions every year.)

A much more detailed argument of the above: http://codahale.com/you-cant-sacrifice-partition-tolerance/

You really do need to think about what happens to your system when it gets partitioned. This paper has much of interest to say on the topic: http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf
I never meant to imply that changing "<= n" to "!= n + 1" does not change the semantics of the unsigned loop. This was an example shown in some LLVM documentation as to why you should use signed loop variables. I was just showing that you can still use unsigned variables, have the same semantics as _the signed loop_ ,and get vectorized code.
Got close to my high score, but did not beat game. may try again. probably won't since keeping the pattern is almost more work.
>everything is unclear. A car, a hammer - even the computer you are reading this on can all be used as capital and lent to workers to apply their labor to.

Yes, many means of production can be used by the owner as well but I don't think that makes the concept unclear. Marx only objects when you benefit from other people working for you and using it.
I you can find it in his previous comments, he's posted in the "Who's Hiring" before. I would repost but I assume it's something about avoiding spammers?
What's missing is identifying scopes. They do identify variables today, they just only identify global symbols. Not locals or heap properties.

This critically used in a large number of Google products to huge extent. We globally trap all unhandled exceptions, and deobfuscate those exceptions using sourcemaps before they go into an automated bug triage system.

The issue of handling locals and properties can be fixed without overhauling the format. Storing the debugging information in the JS itself would remove the ability to ship stripped binaries and be a non-starter for production apps.
Thanks for the downvote :)

This is really an argument against higher-level languages in general.

No, it's really, really not. It's an argument against deep home-grown abstractions when there are close approximations already available in the language or its community.

Hopefully you've had experience of a wide range of languages. Do you see a pattern in those languages, where, when the abstractions provided by the standard library are higher level, that libraries are generally more useful and the ecosystems are richer? When collections are in the standard library, libraries can communicate using these collections - but when they're not, every library chooses its own collections, sometimes using iterators, sometimes callback enumerations, sometimes linked lists, sometimes opaque handles, sometimes length-prefixed arrays, sometimes null-terminated arrays, etc.

This is what I mean by sociology. The more our code shares in common with other programmers, the richer our ecosystem is.

And the more our code diverges from other programmers, the more the ecosystem hurts.

Another word for "factoring" is compression. Taken to its limit, eliminating all duplication makes code indistinguishable from random noise. Human communication has redundancy and duplication for a reason.

Both Lisp and Smalltalk are able to implement 'if' as a library routine rather than a primitive. Their power to build abstractions is why I've lumped them together, not how they achieve their flexibility. How is irrelevant. Its the amount of rope they give programmers to grow their own little divergent gardens. It's how much they can encode their own idiosyncrasies - their common patterns - into their programs, and compress (aka factor) their code using those uniquely odd patterns.

I believe this rope is what prevented Lisp and Smalltalk both from becoming big successes. I suspect this rope is what might kill Ruby one day, but the amount of convergence and the extra coordination / speed of information spread from the modern web has already been enough to help it go far.

I think you've misread my statement as an argument against high-level languages, and are reacting to stuff I'm not writing.

I'm actually arguing against divergent development of home-grown abstractions when they don't have substantial wins above using what everyone else uses, even if what everyone else uses is worse - even if it's, say, 50% worse by some metric. It's also addressing the example in the original article, which is about creating your own class language in Javascript.

If Reg's class language took off, and became part of a generally accepted library - as common as jQuery or even CoffeeScript - it would be fine. But in isolation, used here and there, it's very much not worth it. And yes, I'm aware of the catch-22 here in adoption. That's the rough road every new language needs to travel, because that's basically what Reg is doing; building a new language.
You could build one piecemeal. It's what I'm doing these days.
Actually, it's sort of a myth that hardware is fundamentally harder than software. The toolsets simply haven't been as powerful until recently.

Hardware can be thought of as hardcoded software. But it's no longer the case that hardware is hardcoded. Hardware is becoming increasingly sophisticated, especially in their ability to be reprogrammed on the fly.
I'll leave the specifics to the better informed, but certified 'kill-switches' and 'no-fly-zones' seem like obvious places to start.