skysight-inc/HackerNews huggingface dataset:
My first tabs of the day are usually Feedly, Twitter, and a couple of small forums I frequent.

This is the stuff that I have in my Feedly: http://i.imgur.com/JhWObdA.png
It's insane to think there's a "right" to live wherever you want.

I live somewhere that's 1) expensive, 2) low-density.

The expense is because the low density makes this a nice place to live; more people want to live here than can fit here.

If we simply allowed development to meet demand, then this place wouldn't be a nice place to live anymore.

The solution is to pay a living wage such that everyone that works here can afford to live here. The solution isn't to socialize housing.
This one is also a temperature-controlled, natural fuel BBQ and smoker: http://www.grilltender.com/
E-mail predates the Internet. It's been around for decades and will be around for many decades more.
Not free, but fairly inexpensive. Most US mobile plans provide unlimited SMS messaging to their customers, and many foreign ones provide free incoming messages.

For business, the value of reliable delivery, timely and increased customer engagement tends to far outweigh the costs.
Why is Ebay using the log function and why is it used so heavily that it causes a performance bottleneck for them? Is this an inherited code base from their Hunch purchase?
Except that for many, it is. If you extract a function in an object and allocate it to a global function, and that function calls on "this", then it's fairly obvious that the function cares about the object and not the "this" of the current scope.

It's why ES5 has bind to get around this.

Example from MDN [1]

this.x = 9;
var module = {
x: 81,
getX: function() { return this.x; }
};

module.getX(); // 81

var getX = module.getX;
getX(); // 9, because in this case, "this" refers to the global object

// Create a new function with 'this' bound to module
var boundGetX = getX.bind(module);
boundGetX(); // 81

To make the above example work without bind, you need to take a copy of the reference to this, And use that copy. Thus the kludge:

var module = {
x: 81,
that: this,
getX: function() { return that.x; }
};

Of course, if you run in strict mode (ES5) the original example will return undefined, because you are now expected to specify this via call, apply or bind.

1. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Find a random person using facebook, try to become friends.

One unbiased procedure goes like this. Choose a sufficiently large number N. Choose a sufficiently large number M(N). Choose yourself as starting person. Now, do the following M times. Generate a random number r between 1 and N. Change the current person to be the r'th friend of the previous person. Or if r is less then number of friends, then the person in question does not change.
California Tells Businesses: Stop Trying to Ban Consumer Reviews (2014)
There was quite a big community for that area - notably the home brew computer club, not to mention a bunch of early computer fan zines that morphed into magazines. Not to mention a lot of heavy thinkers designing mainframes and minis (also probably attending the HBCC).
XMPP (sadly) seems pretty much dead. Even among CS students adoption rate is <10 %, client situation is quite messy, ... I still don't know an alternative that could replace it entirely in theory, but in practice it IS replaced by other things.

Slack gets a lot of things right (including things like the IRC bridge), although I'd very much prefer something like it on a federated platform.

Most messengers nowadays seem to be obsessed with mobile, single-device use, which just doesn't work for me.

E-mail isn't a messenger though, and as such is only indirectly replaced by those. It also works surprisingly well, despite spam (filtering) and other hurdles.

Combining these would be a big thing to figure out: The messenger-like, "attention now" and the more traditional e-mail/letter like "long form, read when you get to it".
What are you doing with the old panels then? As long as they are still making some reasonable amount of power, it doesn't seem like recycling/reprocessing/discarding the materials could be better for the environment that continuing to use them.

That's all harder to figure out if you don't have vast unoccupied spaces to put solar panels, but at the moment we do have that.
Philosophical quest for our biggest problems
How Tor Works: Part Two – Relays vs. Bridges
Build for Windows Phone instead. Less noise, and learning the basics is good on any platform.
Great article. Would love a simple, colloquial explanation of the following phrases:

* $1 million as a note with a $5 million cap and a 20% discount.

* senior liquidity preference of 1x to protect their downside since they feel the valuation is rich

* Peter, is stoked that he is getting his $1 million investment converted into roughly 20%

* senior 1x liquidation preference

* the preference overhang of $211 million

* They ask prior investors to recap

* the ‘overhang math’.

* senior preference and a 2x guarantee.

* waterfall spreadsheet
I checked out both repos but still...not sure what this does. Is there an example of what's supposed to happen when you run these scripts on an example project?
In your opinion what will be the future for email?

I don't think email is going away. In fact, I expect quite the opposite: Email will expand as a platform for other not-exactly-realtime messaging.

For many years now we have had things like meeting invitations, electronic airline boarding passes, and concert tickets sent via email; I think we will see more things like this, and with a greater degree of integration so that for people with suitably "intelligent" user-agents, these messages will be automatically filtered out of the incoming email and processed separately -- much like we used to do with procmail, of course.
Google does integrations close to this inside GMail (adding calender events, adding context-specific buttons). Outlooks calender requests are an example where embedded metadata is recognized by a lot of clients.
> For business, the value of reliable delivery, timely and increased customer engagement tends to far outweigh the costs.

Aren't there cases when phone networks get massively congested and SMS are not delivered until hours later? Such as New Year, Natural Catastrophes, etc... in that sense Email delivery is superior because it's fully decentralized.
From your homepage I guess I should read "conversations" as "advertising" (and related activities)?
>> I know this is fuzzy, but I imagine Facebook notifications being sent via e-mail

A while back I envisioned an open-source Facebook app. Updates would be sent through email. The email client would recognize such a message and forward it to the app. Decentralized Facebook with direct communication would be great for users. I envisioned much more than just that, but you get the idea. By using email, things can be non-realtime, distributed, and private. There are already protocols for encrypting email, so not even your ISP could monitor your stuff.
Is there ever a case to preface a statement with the disclaimer "I'm not a politician..."?
Let's see.

Copper has valence 1, that means that one atom is deposed by each election that flows on the system. A mol of copper has 63g, thus, for each 100,000C that flows, there'll be 63g deposed. The video says it uses 100mA of power, what makes it capable of deposing 63µg/s at most.

Serious galvanoplasty power supplies start at the 50A mark for a reason.
No, the alternative is living somewhere else. This is obvious to anyone that has watched the rental and housing market in a city across economic boom/bust cycles:

- Bust: Demand dries up from the beleaguered economic sector (e.g., tech in SF after .com crash, finance in NYC post-housing bubble crash). Prices drop. Demand rises, fast, with residents moving in from the boroughs/suburbs.

- Boom: Demand is extremely high from the booming economic sector. Prices increase to match, unmet demand drops as those outside the boom sector move out to the boroughs/suburbs.
I don't think this paper is very useful.

The author is from the OpenCog group, who have spent years building a structured knowledge base as a predecessor to building an artificial general intelligence. It isn't clear how AGI emerges from this work.

The OpenCog KB is a useful piece of work, but it's interesting to note that word/phrase embedding models (word2vec etc) can give similar or better results on most practical tasks that you'd use OpenCog for.

My view is that Deep Learning techniques are insufficient for an AGI, but are good candidates for component parts in the same way that the human optical system does significant preprocessing before hitting the "intelligent" brain.

Also thing like memory networks specifically address some of the episodic memory issues the author raised.
I agree, there's plenty of good online resources, and brisket especially is pretty straightforward. When I was learning, I absorbed Aaron Franklin's videos and was delighted with the results even as a beginner. By the time I mustered the willpower to actually wait in line and try some BBQ at Franklin's, I was pleased to find that I really wasn't too far off.

This line from the article was a little silly:
"In the end, the secret was to precisely control the temperature both in the smoker and in the meat over the “low and slow” smoke."

When really the importance of heat control is pretty well known. Something I use and that may be of interest to HN is a heatermeter:

https://github.com/CapnBry/HeaterMeter

which uses a fan to maintain a set temperature automatically and has a web interface to monitor it remotely. The article mentioned the students had built something similar too.
Let's not forget that not everything can become a Bose-Einstein condensate. There are also fermionic condensates[1].

http://en.wikipedia.org/wiki/Fermionic_condensate
Author or rust-rss here. What kind of errors could occur when generating the output?
Transformer Explodes at Indian Point Nuclear Power Plant
In many places, yes, density would objectively and significantly decrease the quality of life of all existing residents, and that would be bad.
If you can't understand what UsedToBeSomeMassiveFunction() does from the SubFunctionK()'s names and arguments, they were not split out correctly.

Often I find the best way to simplify large functions is to tear out sub-blocks and give them name. Loops or large conditional blocks are usually easy to tear out and can usually get very meaningful names. Long stretch of imperative code however does not separate well and probably should remain a very large function.
First of all, it's not evil so let's not get crazy.

"The main reason for Python 2 users to not switch to Python 3 is the lack of motivation/killer features". Which says that users are familiar with what Python 3 has to offer but consider it not good enough.

You could have lack of motivation because you're familiar and decide that you don't need it - or - you could have lack of motivation out of ignorance or misunderstanding about the benefits. Both are reasonable and if it's the second one, there would be benefit from being more proactive about directing people to switch and explaining the reasons.

Why would you then jump to a conclusion that you have to be more proactive in directing people to switch to Python 3. Or even better, to stop adding features to what 81% of people use.

Maintaining 2 lines of development does have a cost associated with it for the entire python community involved. I think overlooking this was part of the problem with choosing this python3 strategy to begin with. I personally would not have done it this way and I get what you're saying about continuing 2.7 line but I think it's too late and now 2.7 and 3.4 have improved to the point where the porting task is reasonable.

I think at this point the community should just get it over with. I say this as someone who primarily develops on python 2.7 (mainly due to library dependencies) so I get where you're coming from.
You're right. Having a music player play songs fast is nice but the record label deals in essence gave Spotify monopolistic advantages only other streaming companies could compete with. (Pandora, iHeartRadio, etc)

These same content licensing advantages are given to Netflix and Hulu.

FYI - Hulu is owned by Fox, Disney and NBC.

Spotify is partially owned by Sony, Universal, Warner, and EMI.

You need to use common sense when you enter an industry about your strategy. It can't all revolve around great tech.
> supervisor ... ran ... code

This and this again. Engineering managers, and all that. But also, don't just review, 'sight-lint', and reason about code. Rather, run the tests! It's the shared accountability and knowledge. Does the baseline capability exist (tests pass)? Can you, the reviewer, spot fallacies that the tests don't capture (if not, criticisms feed back to you later)?
There is no "int" or "float" (mostly[1]) — there is only Number, which is an IEEE floating point. A literal `1` is a floating point that happens to be precisely representing an integer. "53 bits" happens to be the limit of consecutive integers that you can store in an IEEE double.

[1]: 32-bit integers show up under the hood, in expressions such as `5000000000|0`. Both 0 and 5000000000 are precisely represented in JS's Number type, but you cannot (correctly) take a binary OR of the two.
Well, $1fee-$1d00=750 bytes of code, + the 14 zero page locations. Its really the zero page that makes the processor function at all. When I go back to 6502 assembly, it amazes me what was possible with a processor that basically had 3 independent (because they could not be combined) 8 bit registers and a 256 byte stack.

There are some C compilers (http://www.6502.org/tools/lang/) for the processor, but it quickly becomes obvious just how poorly C fits. The 6502 is basically a processor that forces one to code with a bytecode + interpreter or in native assembly.

Which brings me back to the zero page. It is is both the solution to getting anything complex done. And simultaneously the problem because there isn't a good way to allocate space there (because the zero page locations are encoded directly in the instructions).
I think the title is very misleading. This is not a virtual machine but an interpreter for a made up assembly language. There is nothing wrong with that and I am sure a beginner would find it very useful. But reading the title I was expecting something quite different.
Oh god no! Zones are cool, but package management on Solaris is pretty bad. It has improved since they built something similar to Apt, but AFAIK it doesn't have the deep understanding of Zones that I'm suggesting is desirable.
Remote work would be alright with me. I am on disability and allowed to earn a limited amount of income on a part-time basis. I am not able to drive anymore so remote work would be good.

I just need to find something I am good at and doing it remotely, I am out of practice with my skill sets.
Does this[1] type of plot have a name?

[1] http://astrofrog.github.io/images/survey_plots/python_vs_exp...
200ms seems like a long time to me. From what I know, if your database takes longer than 100ms to return a query, theres something wrong[1] and CDNs have pretty much solved that "I need to get this static file around the world quickly."

With just an song id, with S3/Cloudfront and [db of choice] I don't think it would be hard to deliver a song in less than 200ms (to the continental US atleast).

[1] http://www.sqlskills.com/blogs/paul/are-io-latencies-killing... - Random article, I'm not sure where I picked it up from, but I've come to believe >100ms db latencies should be rare and when it happens, you messed up somewhere.
You could try using https://www.okcupid.com/ to find a soulmate.
Why are you trying to push this point, when you plainly admit you don't know much about this? And so strongly, too! "Anything else is misinformation." I've seldom seen someone so confidently wrong.

PyPy can address Python's slow loop performance and slow numeric calculations, in particular examples. This can help a lot. But if the problem requires you to carefully manage your data structures so that you get good cache performance, PyPy cannot help much at all.

Consider this: there are very few non-toy examples of PyPy giving order of magnitude efficiency improvements over CPython, while other languages do typically run that much faster than Python implementations.

Finally, if you don't want to talk about generalities...Consider my NLP library, spaCy: http://honnibal.github.io/spaCy/#speed-comparison . It's the fastest library with this functionality in the world, among any language.

This library is an example where you need C data structures just to make the working set manageable. You would need an enormous amount of memory just to load the models. In pure Python, the library would not be of much use to anyone --- so I would have written it in Java or C++.
I think this is independent of culture. Being challenged by a person low on the hierarchy so openly does look untactful on your part.
Ad Injection at Scale: Assessing Deceptive Advertisement Modifications [pdf]
I haven't used spotify for ~3 years and last week wanted to listen to some specific music, so i downloaded it. Within 20 minutes, a really really annoying audio ad came on and I went from thinking that this team has built a really great product since i've used it, to having a really negative opinion about them because the ad disrupted my flow as I was in the midst of a great hacking session.

Something that they could do differently that might be interesting, is to special case ad plays for new and returning users and slowly increase the quantity of ads that are played. This way my initial experience is very positive and as I get used to incorporating spotify into my workflow, I get more used to ads, and can decide whether I want to be a paying customer or use the product with ads. I wonder if anyone else has incorporated similar growth hacking strategies.
I feel the only "tool" to make email less painful is to teach people how to use it.
I mean, some functions/methods will be longer than usual. Even if you split it into multiple ones the end product will be the same. Due to some of those derivative functions/methods being exclusive children to the caller. Sometimes it's best to leave the bigger one alone, and some times it helps to break it down. You do end up with basically the same size codebase. Dunno if it's more readable. Though this somehow shines some light into other issues. Such as language verbosity. Some languages are just syntax factories. All the logic is accompanied by a truck load of verbosity.

I agree with your point. It seems silly to be strict about such things. More so if the codebase is written in Java or any other verbose language.
Why the myth of the “10X” programmer is so destructive
Retronym
Are Dutch bike lanes like US bike lanes? Adjacent to motor vehicle lanes, with no grade separation, and an expectation that motor vehicles will use the lane whenever it is convenient, regardless of right of way? If so, this is really solar panels for the right shoulder, and I would really expect a big truck to break them
Not the first to complain about this behaviour. In fact, if you run in strict mode now, ES5 requires you to use bind, call or apply - it won't box this to the global object but will return undefined.

Why do you think they decided to do this? Strict mode is to allow folks to transition their code to the new standard - and the new standard has made this decision to fix a flaw in JavaScript - it acknowledges its a hack to return the global object in this case.

So I'm less editorialising and more pointing out what is already known. Hope this helps.
The author mentions the Withings Activite as a viable, albeit less "smart" alternative to the iWatch, and I just had to chime in -- the Activite is one of the best devices I've ever owned. It's beautiful, useful, and inconspicuous. And no, I don't work for Withings.

Those of you in the market for a smartwatch (or any watch really) should check it out: http://withings.com/us/en/products/activite
> If the reviewer makes a suggestion, and I don’t have a clear answer as to why the suggestion should not be implemented, I’ll usually make the change

This I feel is bad. Code reviews are usually between peers so you shouldn't be afraid to seek out clarification where possible. You shouldn't be making edits to code that goes in production without clearly understanding why.

The other thing that wasn't mentioned, that I think is important, is to not act as a blocker for code reviews unless its absolutely necessary. Lots of engineers take on the attitude that they're going to "gate" code they don't agree with by with holding their +1 and bogging down the review with questions and all sorts of runarounds till its what they want. this is a bad attitude to have, even when you're dealing with Junior engineers.

I'm generally going to +1 something unless I fundamentally disagree with it or think its going to break things in production. What I do, though, is leave lots of comments with questions/suggestions and mention it in the +1 with (see comments).

This builds trust on teams, and stops things getting personal, especially with people who aren't very good at dealing with criticism, even in something as banal as a CR. On a team that works well together, teammates will see those comments, think about them and make thoughtful responses, especially once they understand that you're not trying to get in their way. Giving the +1 gives them the freedom to consider your suggestions without being irritated that their PR is being blocked. They feel like they're in control not you.

In rare exceptions, someone will brush off my questions and merge ... which means that next time, I get to be tougher on the review and specifically ask for responses before the code can be merged, because they've degraded the implicit team trust. Usually repeat offenders are assholes, and assholes generally don't last on healthy teams.
Virtual machines include "interpreters for a made up assembly language." Quoting from http://en.wikipedia.org/wiki/Virtual_machine#Process_virtual... :

> A process VM, sometimes called an application virtual machine, or Managed Runtime Environment (MRE), runs as a normal application inside a host OS and supports a single process. ... Process VMs are implemented using an interpreter; performance comparable to compiled programming languages is achieved by the use of just-in-time compilation.

It points to several examples of process VMs. One is Parrot. Quoting from http://en.wikipedia.org/wiki/Parrot_virtual_machine :

> Parrot is a register-based process virtual machine designed to run dynamic languages efficiently. It is possible to compile Parrot assembly language and PIR (an intermediate language) to Parrot bytecode and execute it.

(I quoted that one over Java and Python virtual machines because it uses the phase "assembly language" in the context of the VM.)
The Economic Value of College Majors
Modern Algorithms or “The Brave New O of the Big N”
We did receive inquiries from companies about being able to deliver SMS messages during recent natural disasters.

Turns out that people need to communicate during calamities and often prefer text and so do services that are delivering services to these people.
Both 2.7 and 3.4 have a special status in that they are the latest of their branches. They will always be included. The author is writing for people who are interested in what they have to do to support pytyhon 3. People want to know:

I already have to support 2.7 and 3.4 to 'do the right thing' according to the plan. Is that sufficient or should I worry about supporting more?

This is very similar to the process web developers go through in deciding which browsers to support and when to cut off support.