skysight-inc/HackerNews huggingface dataset:
At my last startup, I was given the opportunity to begin as a junior and work my way up. I gave them a year of very hard work to the point that I feel I was proficient enough that I could talk development with people 3-4 years my senior and stay on level. I asked for a raise (as prior to that I was making an obscenely small amount, especially for San Francisco).

The CTO, who was a generally amiable guy, said "No, no, I get it, America is a capitalist country, you guys don't value loyalty" (he was from another country). I have never been so thoroughly insulted by what was probably meant as an innocuous statement. He told me he had to talk to the CEO about it. They stalled and stalled and the HR guy told me I should 'worry about learning more, don't worry about your salary'. Finally I confronted the CEO about the delay. He told me he needed to run it past the board, and that I would need to go through a two month 'trial' period before they'd authorize it. Little did I know he was himself half the board.

This entire time there were posters up in our kitchen offering $40k to people who could refer 4 developers. But my piddling little raise to market was being stonewalled because they felt they could get away with it.

I am still angry with them because they essentially forced me to go looking for another job, despite my absolute devotion to the team. I almost instantly got an offer almost double.

Disrespect and exploitation are absolutely prevalent. You can ask for a raise, but you'll never have leverage until you have an outside offer.
Title: "Loneliness is killing us – we must start treating this disease"

Who are these people? psychologists, of course.

A doctor says, "Let's improve the world by curing diseases."

A psychologist says, "Let's improve our bottom line by inventing diseases."

There's even a name for this -- "disease mongering."

Link: http://en.wikipedia.org/wiki/Disease_mongering#Instances_of_...

Quote: "In discussions specifically about psychiatric diagnosis, the term is frequently used by proponents of the antipsychiatry movement,[3] and Scientology-based critics[4] as just one part of their criticism of psychiatry or specifically biopsychiatry. Examples include ADHD and bipolar disorder."
This is exactly the sort of thing I'm talking about! Doctors in the US are the highest paid in the world because of protectionist laws that don't allow foreign doctors to practice (no H-1B competition), that prevent new medical schools from opening, and that make them the only legal source of many health services like prescriptions (in many states), and yet people like you continue to defend them:

http://www.slate.com/blogs/moneybox/2013/11/20/doctors_pay_u...

http://www.washingtonpost.com/blogs/wonkblog/wp/2014/01/13/w...

http://www.slate.com/blogs/moneybox/2013/02/19/nurse_practit...
Startup management have been known to use interpersonal pressures and social engineering to keep burn rate down.
Microsoft Office for iPad
Remember the BBC micro and other computers of that era, which used audio tapes to save programs? I recall a BBC TV programme about technology from when I was a kid. In at least one episode, they played such a tape on the air, so that we could record it (by holding the cassette recorder near the TV speaker), and then load the program ourselves.

Is this a false memory or can someone else confirm seeing this?
> it should not even be possible to read system-level information like what is cached within the networking stack

This kills lots of innovations. Like what Google did to TCP/IP stack, which is invisible to 99.999% programs.
Bitcoin Conversion: Free bitcoin: How can you get free money?
Bitcoin Conversion: Addendum to the: 40 Day Bitcoin Fortune Plan
I suggest we sing one tune to the song of another and re-purpose this thread to be about stackoverflow.com, as if nobody read the article!
I was thinking the exact same thing, and only saw the "s" at the end of Stack Overflow"S" when I came back to Hacker News
Live Stats on TwitchPlaysPokemon
Don't forget to build a hash round counter into whatever bcrypt/scrypt setup you use. Don't just take the salt+password and run it through bcrypt once – do it as many times as your hardware setup permits, and store that counter as part of the hash (~bcrypt~DKM303mGdoadyHerichurkman~5000~de455ae…).

As your computing power grows, you can increase the number of rounds.

If you ever replace your login algorithm like Kickstarter did, give your users a few months to log in to upgrade their stored hashed password. Then purge any outdated hashes. Let those users do password resets.
> If you're catering to the extremely rare achromats, there's a heap of accessibility options you should be considering first, including braille for blind people.

In the general population, blind people may outnumber achromats, but in the tech worker population, I'd say that relationship is inverse.

An achromat can usually manage to be productive in an office setting, often without alerting others to their condition.

Blind people have it much much harder and thus are less represented at a large tech firm like Microsoft.
"node.js + express + jade" is a fairly common stack, you can even try to move an existing complex angular.js code there because it's written in the same language
Five Reasons We Don't Use Recruiters
mbell, please don't take this the wrong way, but you seem to be a young couch researcher. I used to think I was the fountain of all knowledge with my exemplary Google searching skills but cursory searching and skim reading doesn't reveal the wealth of knowledge and facts that are still locked up in engineers heads and dusty old text books.
Damn, that Android sure is dead this time. It'a twice as dead as the last time it was killed, and that was pretty tough.

> This ability, which has existed since the beginning of Android, has been taken away.

So, I assume Android users will flock to that other mobile OS, which has always be known to be a shining beacon of freedom and interoperability.
I give it at least a 30% chance that this will happen automatically with nobody doing it on purpose.
Why would it send my entire dns cache? Wouldn't a flag that says "this guy visited awesomecshacks.com" enough? Am I missing something?
Completely unrelated to yesterday's "I No Longer Need StackOverflow" https://news.ycombinator.com/item?id=7251169

I was all excited to defend StackOverflow.com.
Microsoft employees obviously need to spend more time rafting. That's what I'm getting from this.
RFID instead of number?
Ever seen CSI? Enhance!
Stop losing your clients
I can invite interested people to lobste.rs. Need your email for it.

"Invitations are unlimited, but persons you invite will be associated with your account in the user tree and you may be responsible for them if they cause problems. Please use your discretion when inviting persons you don't personally know."
I was thinking the same thing until I read past the first 2 paragraphs.
No employee is paid what they're worth at a capitalist company for very long. What is the point of employing someone if all the benefit they bring is being cancelled out by their salary?
Every single android phone I've owned had the SD card under the battery. That's not going to get removed too often. My current phone (Kyocera Torque) is essentially unusable without an SD Card.

P.S. If there is a setting to tell google play to install to SD card, let me know. I keep running out of internal space because I forget to move new apps.
I am also willing to send out some invites. PM me if you are interested.
Im curious which DI syntax couldnt be handled by ngmin?

I made it a rule to use the square bracket notation for angular DI and that obviously takes care of any minification issues.
Maybe if Microsoft had done this in 1999, then it could've prevented OS X from taking hold as the preferred UNIX workstation of the developer crowd.

What is funny is that I believe MS acquired Interix in 1999.
> "Having said that, money is one of the last things that cause me to leave a job. If I enjoy what I'm doing and the people I work with, it usually doesn't matter (as much) what raises I receive."

I had a conversation with a friend very recently about how our company handles counter offers.

"They don't believe in counter offers."

"Don't... don't believe in them? What's there to believe in?"

"That's what they say."

"That's the dumbest thing I've ever heard!"

"I dunno, it kinda makes sense to me."

"What?!"

"Well, the reasoning is if you're only there for the money, then why would they want you?"

"It's a JOB! Of course I'm there for the money. Otherwise I'd be doing it for fucking free! What if the money is the only thing keeping me from fucking leaving?!"

"Hm... yeah, that's a good point."

I don't know when or how one's passion became some sort of counterpoint to their compensation. Just because I love what I do doesn't mean I don't deserve more money. It means I'm lucky enough to be driven far beyond most, and endowed with a greater amount of ability, and thus a rare and valuable member of the team.
I bet you didn't anticipate such a response.

I wouldn't mind an invite too please :)
If you only have a socket dispatcher and a quick request processor that servers a page and dies, then that code path is quite minimal.

Now you should probably have a supervisor. Your connections could be handled by a connection or socket pool. You could have a database driver. There could be a background processing queue. Now things get interesting, not all those things get torn down and recreated on each request.

Even for short lived requests you could attached to a live system and trace one of the short lived requests or set a debug point to see what it does in "slow motion" to so speak.

One can use Erlang for quite a bit without touching the distribution (as in distributed nodes across many systems forming a single cluster). Then the shell can help you log in to any other node, transparently.

The ability to reload code at runtime is not something many systems can boast. Because that is one case you might touch once you have found the problem, but that is again one thing you can do.

You can diagnose loading and system resource utilization as well. If you have a fully-featured system (say downloaded from Erlang solutions) open the shell and type observer:start(). to start the observers. It will launch a GUI window (make sure to have X forwarding if running via SSH). There you can see runtime stats, the application tree, process list, ETS tables. For each application in the tree you can click on the process and see its state.
> you can pre-render the initial state of your app

This, I think, is the killer feature of Node, and the reason I'm slowly transitioning from Python for new web projects. You can reuse your server-side templates client-side (without worrying about, say, reimplementing Handlebars Helpers in your server-side language), and can easily render full HTML templates for the client that get enhanced when the client-side JS loads. This also solves UI nuisances -- like your server's markdown renderer being different to your client-side preview (grr).

Meteor and Derby are obviously heading down this path, and while I'm not sold on the rest of Node and the general JS style, having the same language in the browser and the server is too much to pass up.
> (Maybe I should get better speakers...)

Maybe, but you can test your hearing range more easily by putting on a set of headphones and experimenting with the linked signal generator -- reasonable quality audio headphones should easily be able to exceed your own hearing range on the high end.

And chances are typical computer speakers should also be able to exceed a normal hearing range.
Companies aren't interested in negotiating promotions or pay increases anymore. I went from making $30k/year 4 years ago to $200k/year now, and not one time in that course was it from a raise.

And people say jumping from job to job looks bad. If it does, I sure as shit haven't seen that side of it.
I see legions of young computer hackers who want to write apps, games, and server things.

These legions increasingly accept corporate approval for iOS and Android app stores as natural phenomena. Success looks to them like SEO and IAP and Advertising revenue. The altars of Stallman and Linus dim. The lsighted logos of their laptops, phones, slates, proclaim that Jobs is their brand of hero.

Linux hackers are running Linux now.
Most older computers had at least some utility to do this too. I used it a lot on my Atari ST's since I was having troubles with my right hand and had to switch left/right quite a lot.
Ocaml and Division Algebras
Snowden Documents Reveal Surveillance and Pressure Tactics Aimed at WikiLeaks
Please note the words “For any normal application” in my original post. Of course there will always be system software, some of it part of the operating system and other parts coming from other sources. I’m not challenging that, I’m challenging the idea that the default should be for installed applications to have this kind of access. It’s just the principle of least privilege.
I think your memory might be faulty, the consumer end was POTS, but the head-end needed upgrades from the phone company. If the rest of the links in the phone company were all digital then you could get 56k, if not you were stuck with 33.6 at best.

At the ISP I worked at back in the mid-late 90s, I definitely remember us having to upgrade the lines and buy a bunch of fancy new rack mounted modem equipment to support 56k. IIR, the equipment and lines could also handle single and dual channel ISDN connections, which we charged a pretty penny for. But the customer had to have a digital connection at their end. Also, IIR, the actual limit was 53k for some regulatory reason.

Here's some period reading

http://windowsitpro.com/networking/ive-connected-two-compute...

http://www.eetimes.com/document.asp?doc_id=1275915

http://support.apple.com/kb/TA21865?viewlocale=en_US

http://windowsitpro.com/networking/ive-connected-two-compute...

http://lowendmac.com/56k/hype.shtml#unidirectional

Of course I might be wrong, I've forgotten almost everything about the ISP business.

fun note: Before that we had built several racks of custom dial-in hardware out of unboxed external USR 33.6 modems, racked and fan cooled, with long power strips along both sides for power.

Troubleshooting was accomplished by turning up the volume on a suspect modem and waiting for somebody to dial in and listening to a couple fails (we couldn't dial into it directly due to how the incoming telephone calls were routed). A trip down to the local computer shop to buy another modem, crack the case open and voila, fixed.

We eventually were forced to sell the company with the advent of DSL, which, even if we could afford the head-end equipment (which we couldn't) it wouldn't put us in practical competition with the phone companies who were better positioned to offer the service.
> Is there not a low-pass filter at around 22KHz on inputs and outputs of all sound cards?

It's not a low-pass filter per se, the limit is imposed by the Nyquist–Shannon sampling theorem (http://en.wikipedia.org/wiki/Nyquist%E2%80%93Shannon_samplin...), which essentially limits the frequency spectrum to 1/2 the clock rate. Good-quality audio from a sound card is clocked at 44 KHz, which means the audio range extends only to 22 KHz.

But you can clock a modern sound card at a rate much faster than 44 KHz, so the above might be only the normal limit, not the extreme.
> I'm a coder. I've been a coder a huge chunk of my life. This attempt to label "coder" as some kind of idiot is really pissing me off,

If you want to call yourself a coder, fine. However, there is still a difference between Linus Torvalds and someone who, for example, has at most hacked a few things together in JavaScript, and I think the terminology should reflect that in more ways than just "beginner" and "expert."

I also think calling ourselves "coders" and calling what we do "coding" isn't going to gain us the respect or prestige that terms like "software developer" or even "programmer" would. If you're happy being called a "coder," in the sense of "Zed Shaw is a great coder," that's fine, but personally, I'm not.

> Now, the site is down so I haven't read the article

It was down for me too. I was responding to the comments that seemed to take great offense at the apparently horrible, elitist idea that maybe, just maybe, it might be worthwhile to have a term that distinguishes professional developers from people who've done some exercises on code.org.
Nitpick: mixing threads with pointers isn't really the problem; it's mixing threads with shared mutable state.

A concurrency idiom I've gotten a lot of mileage out of is to use threads, without shared state, but with pointers. Instead of shared state, you use a message passing style where you pass pointers over queues. Threads only mutate data that they are explicitly handed via a queue. After putting an object on a queue, they NULL out their local reference.

It's basically like Go's goroutine idiom, but with C/C++/Python, real OS threads, and a thread safe queue (which is all a channel is). There is also some relation to the SEDA architecture.

The logical structure of such a program is not really that different than an Erlang program, I imagine. It just works a little better with existing C/C++ codebases, and is potentially faster in some cases.

It has a completely different character than spaghetti written using threads and shared state, and can be made extremely reliable. Especially because the explicit channels provide a hook for testing black box behavior.
Exactly! And the DIY version of it looked like this:

http://commons.wikimedia.org/wiki/File:Akustikkoppler_CCC_Da...

And it supports 300bps and 1200bps speeds.
> What about streaming video over short wave radio?

That's what TV broadcasting does. But it's radio (electromagnetic) waves, not sound waves.
This is a great read. The end of the article is in stark contrast to local experience though. An old group of boring shops was converted into a busy takeout. Rubbish blows everywhere. Mcdonalds don't follow local government regulated opening hours, breaching them often. They pull back when reprimanded, then breach again. The regulated rubbish collection down nearby streets isn't done, and takeout rubbish blows about. The council fines them, then it happens again. The smell of takeaways fills the surrounding area. The noise from cars making formerly quiet streets busy irritates. The locals hate it - this all from a friend in Auckland, New Zealand.
And was POSIX.1 compliant before that.

http://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
This is also visible in classical office planning. Nowadays people seems to have forgotten it. Look in an old office, on what side of the table is the window in most of the rooms? If the occupant is left-handed, what side is the window now? The desktop lamp? This is not a new problem, lights are supposed to be on the left side of a right-handed person when writing, otherwise you will shadow your paper while writing. Same goes with the mouse cursor, when right-handed, it's natural that it would point to the left.
It is not intrinsic, but hard to avoid. Alternatives include:

- just allocate, never collect (not infeasible with 64-bit memory spaces, if you have lots of swap and can rebozo fairly frequently, but bad for cache locality)

- garbage collect at provable idle times. Question is: when are those?

- concurrent garbage collect, and proof that it can keep up with allocations

Finally, you could try and design a language where one can (often) prove that bar can be mutated in place in expressions such as

bar = foo(bar,baz)

(That's possible if you can prove there's only one reference to bar at the time of the call)

(Rust's memory model may help here)

I am not aware of any claims that it is possible to write meaningful systems based on this model that do not have to allocate new objects regularly. Problem is that, to guarantee the 'one reference' property, you have to make fresh copies of objects all the time, and that beats the reason why you want that 'one reference' rule.
Looks broken on my Android mobile, but seriously this is incredible!

Wonder how we can unobfuscate the source. It would be great if there is a readable version of the source as well, just like we have in Obfuscated C Code Contests. Or perhaps, some way to use the Chrome inspector for this.
An Open Letter from US Researchers in Cryptography and Information Security
It's probably true. The rate of data on the tapes was probably slow enough that even over a lossy TV broadcast signal it would still survive.

I think the Commodore Cassette drive was 50 bytes/sec?
No, it is a ContentProvider with a database-like API to which you have linked. The various system DocumentsProvider instances read and write to this provider.

This is also the standard API you access through ContentResolver, and this is still present in Kit Kat.
When you mount an SD card over UMS, it is functionally identical to "removing" the card from an application's perspective.
For Russian-speaking crowd there is https://develop.re/
If you're coming from python, I'd recommend the 'swig' template library. Django syntax in node and client-side.
Something similar was provided via radio (not TV): https://en.wikipedia.org/wiki/BASICODE

It's possible that the BBC broadcasted data in the same way (conceptually, even if not in format) on their TV programme.
First I was annoyed at yet another upvote fishing blog post on stack overflow. Then I read it, while I was annoyed at getting caught by the catchy headline that I conciously despised. Then I saw that it was not at all about some forum on the web and now I cannot stop smiling.
Would it be considerably expensive to check in runtime that SP is in an expected range every time it gets moved? This'd work with multiple stacks, too.
You can do it from the convenience of your laptop - get bitcoins from Coinbase and send them to the dice site. With Instant Buy, you can get $1,000 instantly.
> Acworth says no one has to worry about personal data getting sold to outside advertisers. "I shouldn't think anyone would really be interested in that. Who would want to buy data pertaining to whether somebody likes bondage or spanking?"

Hmm.. how about the same kinds of people who build websites that display mugshot information, but allow you to pay a fee to have yours removed.
That is true. One can build an almost shared nothing architecture in any of the languages supporting thread safe queues and threads.

It is a continuum. One could write it with shared mutable state too, using locks. The problem is it is easy to mess up.

C, a large program could load modules, and some of them are thread safe some are not. One could bring in a new module that calls some initialization routine (say curl_global_init()) and then another part of the system ends up calling it as well. But it is not thread safe and should only be called once. It is not intentional sharing, but it just happens as it is running in the same memory space.

Someone likened that to running your code in Windows 3.1 when you Command & Conquer game would crash and take down the word processor with it. They didn't intend on doing so but it happened by accident as a bug. Sometimes running your application as a Windows 3.1 system is acceptable, sometimes it isn't. It depends on the problem.
Discourse is open source:

https://github.com/discourse/discourse

It uses ember.js with a Rails backend.
The angularjs.org sites are indexed, just by using a trivial nginx directive to selectively serve partials to crawlers. All of the angularjs.org apps still rank fairly well using this strategy.

This isn't always appropriate of course, those apps aren't really relying on data from a database, they're proper SPAs. But as noted by others, there are ways to fool crawlers if it's something you want to do.

Generally though, the feeling is that crawlers not executing JS is going to end, and the problem will go away on its own.
Using static and instance methods with Mongoose