skysight-inc/HackerNews huggingface dataset:
Thanks for the reply mswen. The big potential deal breakers for me are my wife's career (she is pretty well settled in a FT gig at a major financial firm), potential of loosing out on upwards mobility in my current gig (my current boss has already started asking me if I am interested in a Director level manager role here) and the fact that I will not be able to spend more time with my family for at least an year if I do move. The only thing tugging me in the opposite direction is the opportunity to work in a high-tech company with massively complex problems that will probably not be easy to come around that easily. Although...everyone around me is telling me that if I was able to get through Amazon once, I will be able to get into Amazon or some other high tech firm in the future. So far, I am leaning towards not moving with the job. Amazon does have another office in the location I am in right now, so I might just refuse the Seattle offer and ask them if they can match me to some team in the local office. Lets see...

Thanks again for the reply mswen.
I think Infinite Jest is a giant novel only in the most literal sense. Otherwise it's just terrible (though I know you and some other people I respect disagree strongly).

The point is, don't feel sad and alone if you like Wallace's non-fiction and find yourself hating his novels.
I agree that's a pretty good example the other way.

I'm pretty sure your snippet invokes nasal demons in all dialects. Dereferencing NULL is a pretty classic case where anything can happen once you do it. "Calling launch_missiles even though you don't want it to happen" is a subset of "anything," of course.

Consider what happens if you rearrange that example a bit, though. Let's say it's more like this:

int computation(int *ptr_a, int *ptr_b) {
if(ptr_a == NULL && ptr_b == NULL) return 0;
if(ptr_a == NULL) return val_b;
if(ptr_b == NULL) return val_a;
launch_missiles(); /* OK to put this here? */
return ...something with val_a and val_b...;
}

int otherComputation(int *ptr_a, int *ptr_b) {
int val_a = *ptr_a, val_b = *ptr_b;
int intermediate = computation(ptr_a, ptr_b);
return ...something with val_a, val_b, and intermediate....;
}

Then you call otherComputation in a tight loop. Should the compiler elide the NULL checks here, if computation gets inlined? otherComputation clearly requires that its parameters are non-NULL, so it should be fine to remove the checks. Failing to do so would be pretty annoying. It's clear that the inputs are constrained, and while you could fix it by factoring out the common code so that the NULL checks are explicitly optional, it would be best if the optimizer can handle it and not require us to rearrange our code to make it happy.

That's really what I'm getting at. There are clear examples where it's bad to assume undefined behavior cannot happen and optimize away checks. But there are also clear examples where it's exactly what you want to do. Can the optimizer reliably distinguish between these cases?

I think the best answer is to have tools available like the undefined behavior sanitizer which can catch these problems at runtime. You want the optimizer to make your code as fast as it legally can. Trying to tone it down is going to be error-prone, and safety checks that can't be counted on are dangerous. You might end up just moving the problem around: instead of code suddenly being optimized out because the compiler proved it can't run without invoking undefined behavior, you'll have code suddenly being optimized out because something changed that made the compiler think you intended it. By checking at runtime, you recast the problem from "does the programmer intend to pass in values which will result in undefined behavior?" to "does this code actually get called with such values?" That's way easier to check, should have zero false positives, and should have as few false negatives with good test coverage.
It's discussed fairly often with static analyzers. Static analysis is a powerful tool, but false positives erode user confidence in the tool.

I've worked with code bases where thousands of warnings (and even several errors) were left in place, which meant that you had to basically ignore all diagnostic messages every time you compiled. At that point, you might as well be 2>/dev/null. Someone even wrote a wrapper script that would diff the stderr against the "known good" stderr.

My general impression of that project was that it was dying a slow death unless someone went in and restored developer confidence in the build process, and the most likely person was me :-/
This is only partially correct. These new features reduce the amount of data that must be transmitted to/from the postgres server and how much json must be parsed, but the full row is still written to the WAL (write ahead log). This is true even for partial updates to JSONB columns and even when only updating other non-JSONB columns in the row.

When you do need to update JSONB columns this is a big improvement. You still should consider the size of your JSONB columns and the number & frequency of updates to those rows.
Despite its name, it is in fact not a pension fund.

http://www.nbim.no/en/the-fund/about-the-fund/
The World-Wide Web.

REST came about as a formal description of the architectural patterns that made the WWW a success.
You would think that, but it can grow without understanding by adding code at the edges which expands then starts the cycle over. A code archeologist[1] would see a central island with bridges to developed islands with more bridges and various ships running between interfaces. Its particularly fun with multiple subsystem teams. Each one builds its own island of code and the bridges are scary.

1) please say that exists
Railroad Diagram Generator: A tool for creating syntax diagrams
Tabbed browsing was present in Windows browsers before Opera. There were a lot of browsers that just embedded IE's Trident engine, and some of them had tabbed browsing. Wikipedia says that the first was NetCaptor in 1997. It does sort of make sense that this happened on Windows, because tabs are a natural variation on MDI.
Real Men Gifts
> We shine too brightly in infrared from within to be able to see something outside.

Going by wikipedia, humans radiate in the 20-37THz range, which is a long long way away from the 430THz where visible light starts.
I've never heard of this game, maybe a description or link to a wikipedia page[1] in the readme would be good.

1. https://en.wikipedia.org/wiki/Mafia_(party_game)
> they seriously need to control those.

Good luck with that. It's fairly common for riders to knock the baffles out of the tail pipes to intentionally make them louder. That's why police officers can be seen sticking their battons up those fat tail pipes as a check. Whatever new tech one could make will surely be circumvented too.
Why would the smartphone be in decline?
Take a little time off from checking HN?
I could probably describe my current job as a "code archaeologist"...
Restuarants are a very risky business. I'd lump them in with other entertainment ventures like quitting your job to go write a novel or whatnot. You get to follow your dream but are not likely to be financially secure. Its a pity society works like that, rewarding pointless work (like corporate lawyers, middle manager and HR people (no offence intended)), and seemingly punishing people who pursue their calling.
I'm planning to do that myself (to make computer games) but I will arrange it so I dont have to make any money doing it and can still survive (I have almost saved enough money to buy a two bed apartment, I'll rent the 2nd room and live off that + my expenses will be extremely low as I wont have to pay any rent myself as I'll own the place)
How many LOC is the ruby runtime?
Does not involve railroads :/

That said, it seems to work well and produce nice graphics, so functionality is a win.
That's only true for rooftop installations. For utility-scale installations (solar farms) panels is still most of the cost. Solar farms will benefit the most from further drop in panel costs.
I think what you're trying to describe is apple's fusion drive.
As a former adjunct in math, this is a depressing but common phenomenon in lower tier schools. I remember my first pay check, walking up to the Dean and asking why there was a "0" missing. Turned out the "pay period" wasn't bi-weekly but bi-semester. I learned a lot that day. My career in software has been much more fulfilling
Given that email clients are fairly mature and advanced already (especially Gmail's), it seemed logical to go the unix way and use it as the UI to stream of feeds sent as email. I wrote a bit of python [1] and stuck on it a free openshift cartridge and it sends me one email per feed item. It's been up since April this year shortly after I abandoned feedly. I like it more than Google Reader now.

[1]: https://github.com/oxplot/lapafeed
Actual violet (like UV LED or mercury lamp) should stimulate almost exclusively S cones. But it turns out that if you take blue, which stimulates M and L more than violet, and then add even more L stimulation, you end up with something that "feels" more violet than blue (at least to me). This is what bothers me. It looks like two distinct inputs producing the same output, even though there exists an intermediate input which produces different output.
Well... yes and no. Some values are multiple machine words, pushed onto the stack.

Some of these (such as double-words) have language-defined representations. (They're always stored with the low word at the lower address, regardless of your machine endianness or, as far as I can tell, whether your stack is growing up or down. Which means that on some platforms the low word is pushed first, and on others the high word first. This shouldn't matter, because you should be using the dword words to manipulate them, except that it's common practice to assemble and disassemble dwords manually.)

Some have implementation-defined implementation-defined representations. For example, the various bits of state that the control flow words push onto the return stack. You don't know how big any of these are, so accessing the return stack from inside loops is basically impossible.

And some are just weird. Floating-point numbers live on their own stack. Except not necessarily; the implementation is allowed to store them on the data stack. So you can't use NIP TUCK OVER PICK etc because you don't know the layout of your stack.

Basically, at every point, you have to know the type of the values on your stack so you can pick the right word (DROP vs 2DROP vs FDROP) to operate on the stack... and if you get it wrong, you get stack corruption and horrible, hard-to-debug crashes.

tl;dr: Forth is typed. Forth is very typed. Forth just doesn't check types.
But in the case of icons, you could still move things around and the user would find it less demanding to locate the new place of the function by identifying the pictogram quickly

FYI, this is almost certainly not true. Research suggests that users only recognise a very limited set of icons in an application, and where there are extensive toolbars full of different icons, it is often the position that the user is recognising more than the icon itself. Thus reorganising things like toolbars can have a profound negative effect on usability, and it seems likely (though I'm speculating now) that this would be much worse than something like reordering text items in a menu.
This is super crazy, I didn't realize people tried to survive off adjunct teaching positions. In my grad school experience most adjunct/visiting faculty (e.g. Bjarne Stroustrup) were fairly senior industry figures who enjoyed teaching on the side.
A person looking to understand "What is REST? What is a RESTful application?" would be well-served by considering websites rather than web services.

Facebook, Amazon, and Hacker News are good examples of RESTful applications. You can enter them through their website roots with no prior knowledge beyond standard web media types like HTML/CSS. The site roots display some information, expose some functionality like search, and link to pages with more capabilities like to create an account. The search function is expressed as an HTML form, and when the user submits their search, the HTML spec tells the browser to navigate to a new URL composed from the search form fields. The search result page displays a list of hyperlinks to other resources, such as products on Amazon or people on Facebook. Navigating to those pages lets you discover information and hyperlinks to other resources such as a person's photos, related products, etc.

The way a browser navigates through a website by following links is the classic example of a RESTful application, and is the meaning of "hypermedia as the engine of application state". Fielding also wrote a blog post clarifying REST and its constraints: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hyperte...

> A REST API should be entered with no prior knowledge beyond the initial URI and set of standardized media types that are appropriate for the intended audience. A REST API must not define fixed resource names or hierarchies (an obvious coupling of client and server). A REST API should never have “typed” resources that are significant to the client. Any effort spent describing what methods to use on what URIs of interest should be entirely defined within the scope of the processing rules for a media type

Some confusion about REST seems to stem from misguided attempts to apply REST to scenarios for which it's not a good fit - scenarios where there is by necessity tight coupling in the form of mutual knowledge of specific data types and operations. Other confusion about the term "REST" comes from applying subset of its principles, resulting in a popular label that refers to a large spectrum of architectural styles. The Richardson Maturity Model helps organize these functionality subsets into levels that can be named and considered separately - services termed REST are sometimes level 1 or 2 in the Richardson model.

http://martinfowler.com/articles/richardsonMaturityModel.htm...
The article only mentions that forecasts for the increase of cell-phone demand in China is around 14%, whereas that same market experienced 27% growth from 2014 to now (we'd have to follow the article's sources to confirm this or disentangle the exact forecast and measurement).

So decline in this setting means a decline in growth -- that growth is slowing down. Whether that remains the longer term trend is still a hard call to make, and the article makes no comments about growth in other geographic markets.

It's definitely disingenuous of the article's author to make generic statements about all smartphones or statements that at first blush seem to be about the general worldwide demand for smartphone technology. But this article isn't really a robust analysis of anything; just clickbait to feed confirmation bias of market pessimists and spread more FUD to befuddled mainstream news patron types.
I've never had the need, but it should be really easy to write a small script that reads descriptions of recurring tasks and adds them to Trello usings its API, from a cron job. If that's the only thing...
If we can connect SSDs directly to the PCIe bus... why are there no cute little Thunderbolt flash drives that run at full NVMe speed?
> 1) please say that exists
The term 'software archaeology' has been used for a while

https://en.wikipedia.org/wiki/Software_archaeology

And the wiki page suggests there are some consultants in the field.

Many programmers trying to understand open source projects will dabble a bit in this.
Do you have to manually add a list item for each slider tick? Really clever, but I hope I'll never end up as the poor sap who has to maintain this kind of code.
I must be in the 'baffled' group, my employer moved to JIRA, and it's been a nightmare ever since.

In particular, because time reporting and billing decisions are made at the project level, and there is only a single list of projects, with no inter-project relationships, as opposed to other systems (redmine, etc) which feature hierarchical trees of projects, basically every interaction with the system is harder than it needs to be.

Also, 'smart commits' are hideously clunky, when it works at all, which exacerbates the issues above.

I certainly wouldn't recommend it to anybody, and in fact have strongly advocated against it.
No one disputes the necessity of models. Why do you think I did?

I didn't say that. I said that we can't predict with certainty...

Actually you said "I cannot say that my predictions are better than random". Either your predictions convey information (i.e., posterior(world state|prediction) != posterior(world state)) or they doesn't. If they don't, they are useless for prediction since E[utility|choice] cannot vary.

If they do, you can make the basket of predictions I asked for and behave better than random chance.

Really? If your measurement time (of initial conditions) significantly exceeds the time the predicted trajectory is within usable error, then yes -- nonexistence of predictions does follow.

The nonexistence of stable predictions of x(t) does indeed follow. Again, there are a huge number of quantitative predictions which can be made. For example, many systems with positive liapunov exponent allow claims like "a particle's long term distribution will behave like a sample from the distribution f(x) dx" or "a particle with energy < E_0 will travel a distance L only with probability < A exp(-BL)."
We did similar experiments while looking for houses. One of the most surprising findings was that noise from the highway is much louder on cloudy days. Our theory was that clouds (or at least low altitude clouds) reflect noise back. It was strange to hear, quite clearly, highway noises from a mile away.
It really depends on your use-case. But for me, it works really well, and I'm glad it exists.
I consider myself a web front-end beginner, and I find most of this CSS to be quite readable. Certainly more understandable than some JavaScript I've been asked to maintain.

I think that web developers should spend less time playing the latest JavaScript framework, and more time getting to know XQuery selectors.

But I realize that this sounds like an "Old man yells at clouds" argument.
I like Infinite Jest the way I like R.E.M.'s "Murmur", in the sense that I can understand how either might fall apart at close inspection, but both are so effective at generating a mood for me that I have no motivation to do that.

I like the way DFW writes, but I'll happily cop to liking his essays more than his nonfiction. And again the short stories are unpleasant; sort of like how Elliott Smith can only seem to write songs that are at bottom about heroin addiction, DFW can only seem to write stories that are about how unhappy he is with the kind of person he is.

Also, DFW has sort of become a nerd literary signifier, a way of saying "once upon a time I put down the Xbox controller and picked up a Great Book". He didn't do anything to solicit that response, so I'm a bit wary about nerds sniping at him, because, hipsterism.

Everyone should go read Master And Margarita first.
GTD is NOT for everyone.

A productivity system that doesn't make you feel good about your daily life is not be sustainable in the long run. It doesn't matter how effective it is, that's not a life you want to be living.

What makes you feel better about your daily life will depend on your temperament. The author of this blog post found that GTD resulted in his feeling like he had a never-ending river of stress ahead of him. GTD failed for him.

Another example where GTD fails is for anyone who is doing sustained creative work. As Paul Graham describes in http://www.paulgraham.com/makersschedule.html, it is very important for those people to have large blocks of time set aside for focused work. GTD's focus on breaking things into simple tasks whose execution is routine is the antithesis of how work needs to be organized for a maker.

That said, GTD is life-changing for many people. If it works for you, by all means do it. But don't make the mistake of trying to convert everyone else to it. It isn't always right.
This post by Yossi Kreinin offers an interesting perspective on Forth and Chuck Moore's general approach to programming:

http://yosefk.com/blog/my-history-with-forth-stack-machines....
Well, privacy is somewhat useful if Google can't link your IP to you. Also I was referring to Ghostery and Privacy Badger more for your concerns about like buttons, analytics, and the like.
Deep Learning: An MIT Press Book in Preparation
"high end" and "pay what you want" don't ordinarily go together.
That's sort of the whole point. You can research all you want but UNIX-like OSs will completely preclude your research from actually making a dent in the real world. So the only way you can make long term progress today is by doing your research on Linux or some other free OS. There's a ton of money being poured into it. If you come up with faster, more efficient, more secure ways of doing things, you can pretty much guarantee it will be in demand.

If you, on the other hand, want to engage in intellectual masturbation for half a decade and not produce anything of value, sure Microsoft is a pretty good place for that.

>> JIT is pretty fancy

JIT has outlived its usefulness. Name one reason why binaries shouldn't be compiled into native code once, when you install them.
The introduction to the patch is unnecessarily demeaning.
And your tepid comments are just as useless.
What if, instead of a WARC file, just a high-res screenshot available in desktop, tablet, and mobile mode?
On the recommendation of another comment here, I just discovered something that seems like a direct answer to your question:

http://fivebooks.com/interview/roman-krznaric-on-the-art-of-...

I especially liked this:

"[Orwell] realised that he didn’t know how everyday people lived, so his experiments in the late 1920s and 30s of tramping in London were a form of travel really, or experiential adventuring. He was trying to experience how other people lived, to get a taste of their lives. By doing so, he discovered that empathy isn’t something that makes you good but something that is good for you. So for me, Orwell is one of my great empathic heroes." (emphasis mine)

I admit that, in spite of all the education and opportunities to learn I had, this thought never even crossed my mind. I feel so stupid. For instance, if you look at Jesus not in religious but simply in moral or philosophical terms, isn't that the whole point of his teachings? The interviewee makes another great little point about the difference between empathy and sympathy, which in an instant crystallized Buddhist teachings for me. Pretty sure you will find something on this list...
How is it "first class" then if it's like 35% slower on CPU-bound workloads?
I'll second this recommendation - this book changed (and is still changing) how I think about some things, and it was hard to put down. In terms of developing empathy, I found the eloquent expression of anger over things I haven't experienced to be illuminating.

Plus, there are a lot of cheap copies floating around because it has been fairly popular since it came out.
Neither Chicago nor San Francisco have takedown restaurant cultures, and both have relatively spectacular restaurant scenes.

Some of this gets to what you're looking for from a restaurant. If you're looking at food as an art form, and only want to spend time getting exposure to the very best of it, NYC may indeed be a better filter for you. If what you want is a Great Neighborhood Restaurant, which is perhaps Great in ways that make it distinctive regionally or even nationally, I think Chicago is a better bet than LA.
A Better Back Button for the Web
Will 2015 be remembered as the year of the personal robot?
We Take the Vanhawks Valour Smart Bicycle Out for a Test Ride (2014)