skysight-inc/HackerNews huggingface dataset:
Arguably, A person who is familiar with the operation of a cart would be at least somewhat familiar with the operation of a car in that they both roll in a specific direction based on user input.

That said, the complexity of operation in a car arises from increasing the number of controls from 1 to, at minimum, 10. I would say the cart to car analogy is more akin to learning a complex API.

I would say that a better analogy for traditional languages vs. Haskell is that of a car to a fighter jet. The fighter jet is faster and really really good at certain things like movement on 2 planes and firing missiles. However, the fighter jet is orders of magnitude more difficult to operate and requires much more maintenance. For real world concerns such as getting groceries or transporting furniture, a car is the much more practical choice. I mean, we'd all love to own a fighter jet, but would any of us really have a use for it other than screwing around?
If, like me, you spend most of your time in high-level, garbage collected "scripting" languages, it's really worth spending a little time writing a few simple C applications from scratch. It is astonishing how fast a computer is without the overhead most modern languages bring in.

That overhead adds tons of value, certainly. I still use higher level languages most of the time. But it's useful to have a sense of how fast you could make some computation go if you really needed to.
Yes, but fundamentally you don't understand the premises your interlocutors are starting from. Essentially, the view you're encountering is that a certain amount of vacation, parental leave, and related benefits are an intrinsic good and that nobody should be forced to choose between their career and, for instance, taking paternity leave. To someone with that view talking about losing the "choice" to forego these benefits for the sake of your career is pointless in much the same way it'd be pointless for me to appeal to the Bible in an ethical debate with an atheist.
#HappyMothersDay- Why Mothers Are Special People
>I find premature optimization to be far, far more wasteful of money and human energy than wasted CPU cycles.

I would argue this always depends upon what you're doing. For example, in webdev, the culture of prototype fast and break things fast is very abundant, and makes sense when you're just trying to figure out if what you want done is even possible. However, there are many times where you /do/ have to consider the performance impact, because with it, what you're making isn't going to be nice to use.

By dogmatic, I think they meant individuals who will actually argue that '100ms' loop times are 'tiny' and shouldn't be a problem. They don't get the concept that its just one small part of your code, and the rest of it combined can make an entire process take up to 5-10 seconds to do something that should be in a blink or two. Learning about optimization is a part of learning programming, and knowing when to use it. The problem is when you don't know it, and fumble around trying to do so when you've got much bigger problems further ahead.

I ran into this problem a lot with image filtering and working with Canvas's to build an image editor. I talked with some communities about the Uint32Array implimentation in chrome and other browsers and how some of the ES6 goodies, like 'let', are actually bad practice when you start to get into image filtering, because just iterating over all the pixels in an image by using "for(let i=0;i< pixel.length;i++){}" is 3x slower than using var, causing just a single full loop to be 80-120ms on a good computer.

TypeScript compiles down to var, though, so its less of a problem there, but I met a lot of resistance in that statement in general, even though its true, because there's a lot of dogmatism in programming. At the end of the day I'd rather learn and teach good practices and not tell people they're pre-optimizing unless they really don't know much about what they're working with.
Abbreviations are appropriate in methods/classes/variables often enough as long as they're unambiguous. Some common ones are Camera->Cam, Position->Pos, UI/GUI/HUD, and of course you wouldn't type out the full names of XML or TCP.
On further consideration, though it's common to talk about an upgrade treadmill or "what Andy giveth, Bill taketh away", software actually does get better over time, and we shouldn't look back so fondly on older versions. To pick just one example, software in the 90s didn't have inline spell checking as you type, a feature that came in handy for me just a few minutes ago while editing my other comment. Still, the question remains: why doesn't everything feel instant on our current systems, and what do we do about it?
Relevant: http://www.paulgraham.com/makersschedule.html
I posted about this on twitter this morning, and it seems appropriate to repeat it here:

For most of history, governments have not had the ability to easily monitor the communications of their citizens. Widely available, user friendly encryption tools are just returning us to normal. Well, except for the massive trail of metadata everyone now leaves.
Recently I've seen a few folks use protobufs within parts of a monolith as a mechanism to enforce a strongly typed interface between components. This helps define a contract between teams without the overhead of a distributed system.
Misssing Pattern in Model-View-Controller
Better yet, instead of going with a Mr/Mrs/Miss prefix, we should prepend our names with "Captain"
> What I want is IE's rendering speed with Chrome's UI and Firefox's extensibility (the good old system, not the new one).

I'll also take Opera's built in vpn, iridium's privacy measures, vivaldi's dev tools, and blisk's mobile preview feature.
Assume the value of Mr Throwaway's work to the institution is $X. We also know that Throwaway's total take home is $15/hour * 18 hours/week * 4*4.5 (nr of weeks) = $4860.

I claim that underpayment occurs when the ratio of pay to value of work produces is about one to five. I would estimate, given the description of Throwaway's assignment, that the value of the work is about $50k. Therefore, Throwaway's ratio of pay to value of work being one to ten means he is severly underpaid. We can argue about exact ratios and stuff, but fact is, $4.8k is shitty pay for the job he is asked to do.
President Trump and America’s National Nervous Breakdown
"Async mode on" makes sense to a developer, but it's meaningless jargon to a non-technical PM. Perhaps "I'll get back to you" or "Leave a message" would work better?
Glassdoor reviews appear to be routinely faked. At least in my experience.

Once company I follow on glassdoor, after having an average rating of 2 for years has been getting a new 5 star review once a week for the last 2 months. This seems to be how companies get round any filtering glassdoor has in place, they slowly post good reviews over a period of months.

I wouldn't trust their review averages. Maybe look at the baseline number of negative reviews, and see if the comments seem valid.
You really think that after spending ~20 years of your life with a working-class background, you can learn to fit in with a bunch of rich people in a month? I’m extremely skeptical that I would be able to develop the cultural habits to fit in with e.g. a bunch of truck drivers even after driving a truck for a month.
It's only intuitive after you understand it ;)
A 21st-century version of OS/2 Warp may be released soon
In a way I agree with the transport choice. Gas guzzling cars are a terrible choice for moving people around. It does fund a pretty massive industry of mechanics, dealers, gas stations etc but for a small dense population like Singapore it makes total sense to discourage cars.
If it's irrational but companies are inherently irrational then the result is the same as if it's rational and companies are rational, right? Either way you need something beside the Invisible Hand if you hope to solve the problem.
What a ridiculous statement. Splitting a single process into N processes with no shared memory multiples startup memory by N. It takes a much beefier system to run 8 JVMs than one. The same goes for 8 Python processes. Matters are worse on a VM, which you probably are since basically every shop out there issues developers a Windows or OSX machine. Or maybe you don't have "weak tooling," as you put it, and everything's containerized, using even more resources.
Medium launches memberships for $5 per month
> I guess people really, really, really want more kernels written in Rust!

Anyone who doesn't either doesn't kernel much or has Stockholm syndrome and is in denial.
If the govt. was to force WhatsApp's hand, I'm sure we'd see democracy in action if they prevented everyone using the app for 24 hours, replacing the facility to message with a note telling users to contact their local MP (with clickable email / phone numbers - and maybe links to the ORG).
Well, my comment was on the comment section of any H1B story. The comment section on HN or the news website looks like a "safe space" where people angry at H1B can release their vent up anger and frustration. The comments almost always have nothing to do with actual content of the story but everything about hatred and protectionism.
https://github.com/nuveo/prest/issues/41
This is just one TCP connection though, not like a connection to the Internet which you can use to make various TCP connections.

You can pass PPP or SLIP via WebSockets and connect to the Internet that way. That's already used for connecting DOSBox running in a web browser to the Internet: http://blog.vrcade.io/2017/03/setting-up-a-visp-using-pppow/
Sure, but how do you feel about a person's right over their personal information being systematically collected by their government, several large corporate entities, and a dozen or so international spy agencies? What about when this information is used to economically bind them into submission?
Innerspace – Cofounder Relationship Training
Holy crap!

How do you get multi-gb deployments? I mean at some point I suppose anything is possible but I'm used to binaries on my system being KB or low MB.
Similarly, I run a very barebones Openbox Arch Linux install on my ancient 2Ghz Turion 64 laptop and I recently booted Windows XP on it and I was blown away by how fluid & responsive the entire system was compared to my much newer Linux-based OS.
When software is too slow it hurts sales. When software lacks features that hurts sales too. Faster doesn't make for compelling marketing (anybody can claim their software is fast) but you can get people to upgrade for new features. So features are added with every release and performance improvements are made up so to the point where it's "good enough" again. You don't need a product manager conspiracy to explain why software is bloated and slow.
Sure; it's also economically rational to dump industrial waste into drinking water if that's the cheapest way to dispose of it. So?
What is the state of jails though? Do they take care of the extreme poor and give them some training so they can be functioning in society?
> You can't really do loop unrolling and constant folding as some suggest because the number of iterations is determined at run time.

Huh?
Why shouldn't it?

I'm working on a large research project, and with ~5,000 references, managing, accessing, annotating, classifying, rating, and integrating in a workflow the references ... is an absolute PITA.
Many professions have more `write` than `read`. You're doing more and not needing to keep everything in your head at once in order to understand what you are doing. As a cook you can clear your mind of steps that have already happened - you only need to worry about the next steps in the recipe and not everything that came before it. I don't have to worry about preheating the oven as I'm flipping something that is already in the oven. It has already happened - I can forget about it! Programmers can't forget about things that have already happened because those are the most important things to remember.

I'd argue the closest profession would be lawyers. Lawyerese casts "variables" (collective) all the time and you need to remember what each collective means while reading through a verbose document that could span multiple pages and references itself constantly (see the exceptions listed in §2.7 and §4.2b). You have to keep the entire document in your mind at a single time to actually be able to read and understand it properly.

The "layperson" understands not to interrupt a lawyer they see reading through a stack of 100 pages on their desk. They don't understand not to interrupt the coder who has 12 lines of code open in their IDE.
Exactly that. You do agile, you do teamwork is everything, but at the same time you see people perform at more than their pay grade and you want to promote them. Some modicum of objectivity is needed - accomplishments are _mostly_ the team's accomplishments (I guess that is the main reason we all want lunch&learn talks, so you have some individual accomplishments), so looking at skills seems to be a decent next best thing.
I'm not sure that's right, but even if it is, I believe the parent's point is that nobody who'd actually had to live on welfare in the United States would conceive of it as an easy, carefree life that someone would prefer to steady work.
Also, surprisingly, XP could handle 64MB decently (even for a nazi like me)
This is a good article on that in a nutshell: http://www.pewglobal.org/2016/09/13/hostile-neighbors-china-...

Lots of things have been happening between the two countries for a while now, not since 2011.

As others have said, there is a territorial dispute that to the best of my knowledge really flared up when Japan actively nationalized the Senkaku/Diaoyu Islands. China's moves in the South China Sea have not made things better.

Aside from that,
China blocked rare earth minerals to Japan in 2010. [1]
There have been numerous boycotts by China (to the point of outright vandalism of Japanese cars, business property) over political issues [2]
There is always the whole WW2 apology issue (over comfort women, wartime crimes, etc.) In 2015, China made a jab at Japan during their 70th anniversary of WW2 victory. [3]

On the bright side, China did help Japan out during the big earthquake/tsunami of 2011. [4]

[1] http://www.eastasiaforum.org/2013/08/18/did-china-really-ban...
[2] http://www.businessinsider.com/chinese-boycott-hurts-japan-2...
[3] http://www.businessinsider.com/chinese-boycott-hurts-japan-2...
[4] http://www.npr.org/2011/03/15/134567659/china-acts-fast-in-a...
It's an interesting idea. To have a picture of the same "thing" printed on all printers. But it would be hard to come by these images. Would have to be crowdsourced somehow.
[Curious/Discussion] Why the 'problem'? ( Haskell vs. Golang )

Dec 15, 2016: "Today the postgrest is not distributed a binary, need to install Haskell to compile. pREST in its 1.0 version will be binary distributed (cross compiling, run in Windows by example), so you don't need to have anything installed on the server to run. How old is Haskell and how many developers exist? Go has less years and more developers, if you need to fix a problem in postgrest turn where?"

"The reason the pREST was born was because of a lack of developer, I am using pREST in my company, I know haskell and my developers nothing, if you have any problem (in production) just sits in my hand (hand want that)."

https://github.com/nuveo/prest/issues/41
"I must be right because anyone who disagrees with me is ignorant or insane"
I know it is unfair but honestly I can't think of a system with any kind of equality in these circumstances with the unequal distribution of income that we have now. The poor are prosecuted very harshly because there are statistically a LOT more poor than rich and if there was no "stick", it would lead to a breakdown in law and order. While for the rich... you prevent them from causing more damage, but you know that they can't cause chaos in the day to day. At least I believe that was the reasoning until the 2008 disaster.
Blue Lion Arca Noae’s New OS/2
Yeah, I kind of agree that C++, when used badly, can result in some serious mess-ups in the safety department. But for better or worse the language is here to stay (at least for the foreseeable future) so it's good that these guidelines and tools exist.
It's a way to learn about OSes and rust at the same time. It's also high-quality content.
I started my own consulting firm one year ago. In all honesty, it is still a struggle, but I managed to grow it to the point where it is self sustainable.

My current challenge is to scale it up!

I used a very simple approach. I talked with a bunch of startups and SMEs and asked what their main challenges were. With all this information, I was able to find some trends and develop an offering that they really needed.

Best part of it was that I already had my first set of customers. By talking with these guys, they were fully aware that they needed and better solution and actually asked me to do it. In fact, I had to bring 2 people into the team in order to manage all the work.

By the way, I just wrote a new post and am promoting it around. I would love to hear your thoughts and know if there are any other topics you would like to see discussed in my blog.

http://untamedpotential.com/business-development-finally-cle...
People talking, apparently.
Would you please stop making up generalizations about Hacker News to score rhetorical points? It indulges the desire to feel better than everybody else, which gets upvotes since (ironically) everybody loves having that indulged. Nevertheless it makes for a bad HN comment because its underlying message is just "Look at me." I recommend listening to https://www.youtube.com/watch?v=mmb7TU0OrOI instead.

I emphasize this because you posted https://news.ycombinator.com/item?id=13943374 a few days ago, which was a particularly dismaying example. Comments like that basically activate a bug in human firmware to the detriment of substantive discussion.
Question to JS people using Redux. Are the middlewares used to control side effects in actions considered monads? The action returns a description of the side effect, and the middleware handles the actual doing, leaving the programmer to focus on the pure aspects.
Yes, I have wondered about that. As I said in the comment, you will see more companies moving out of US if xenophobia and protectionist policies are not contained.

Also, if you are software engineer have you ever wondered why your salary is close to $100k rather than, say $50k? Think about this. It might be due to the fact that even after being located in US, your company can sell its good and services all around the world.
Thanks! I'll do that next time.

Bytes.gq is just a litte project I have been working on. I thought other people might appreciate it. I did not think anybody would like to know more about it.

But thanks for the suggestion.
Java had built-in many features that C++ didn't (e.g. threading, mutexes, timers, sockets, etc.)
In that case, I'm not familiar of any practical way to to interface to the NAND flash except that which comes with some embedded controllers boards. But let me add that even if you interface to the NAND, you still need to solve some of the things I mentioned above if the NAND is any technology node below 20nm or so. If you don't do it right, even with decent error correction you will get a high bit error rate.
The mod's can choose to "bump" a story off the front page as a form of moderation. http://sangaline.com/post/the-stories-that-hacker-news-remov...

They do it constantly to stories deemed "not worthy".
I wish I had more spare time to help work on something like this. I've been reading all of these posts since the beginning, and they are all so excellent. I knew a lot of these things abstractly, but this explains it all in such solid detail, it's awesome. Thank you!

Now a question for people in the know about micro-kernel architectures. One thing often claimed is that the message passing is too expensive, causing essentially double the work per system call.

After reading this, I started wondering, and now want to read more about it: is it possible to use page faults and a handler to effectively build a message passing setup in the microkernel? Essentially using the pagefault as the mechanism to switch stacks from one kernel-service to another? Is this novel, stupid, or even faster than existing mechanisms?

Obviously I need to go read how L4 and others do this. What's great about posts like this is that it makes me want to go learn about it...
In 2005 everyone in the interaction design world knew phones were garbage. Remember scrolling through a 4-line screen?

I was in design school at the time and we did an exercise to redesign the phone and we ended up describing something almost exactly like the iPhone. It follows naturally from "mobile phones exist" + "laptops exist" + "interaction design makes things better".

It's just that Apple was the only company that really believed in all three of those things, and was willing to put billions of dollars behind getting it into production.

But to say it couldn't have been predicted was wrong. Conventional wisdom amongst business people at the time was that design doesn't matter, except to make your product pretty after it is specced. But the design community knew. We were just having a hard time convincing anyone to listen to us.

Do you remember that at the time most tech companies weren't even hiring interaction designers? You had to convince a company that they even needed you. "Why do we need you? The programmers write the code and the graphic designer makes it look good."
How do you ensure that what was the reviewed source is what is actually being used? Also, how do you encode in source code who is the correct target to use this against, for now and in the future?
> That's fine, have them open an office in India and hire locally. Ever wonder why they don't on a massive scale?

You're clearly unaware of the vast number of development offices in India and China that even rather pedestrian businesses have opened.
Show HN: Better Postgres job scheduling
You or I might be ridiculed by everyone we know because of the social class we’re in, but what if half your friends are doing the exact same thing you are?
Yeah personally I wouldn't get involved in it, even though its incredibly xenophobic, even from people who you would otherwise respect. It's much like the hatred so many Americans have against "Illegals" taking all their good jobs and getting all the benefits while not working at all. These kinds of straw men are basically the best way for rich Americans to distract their less affluent brethren while they continue to give themselves tremendous tax breaks and stash all their wealth overseas. (Note: I'm not saying all rich Americans are that way e.g. Bill Gates is most certainly not. I'm thinking more along the Koch network).
This is a good observation, but gravitational lensing surveys have all but eliminated massive compact objects as a potential source of dark matter; see for example https://www.ncbi.nlm.nih.gov/pubmed/17359015.
The 'why' question is my pet peeve too - often because the answer to

> Why do I need a monad then, if there are similar constructs in other languages that don't need the understanding of monad?

is that you usually don't.

Where I work, people use a handful of monads daily, but most people know the monad laws, nor do they need to.

But now that they know a few specific monads, the "why" of monads is really, well, we needed certain convenience methods (namely bind aka flatMap) to make using e.g. Maybe or promises not a huge pain. And we chose a uniform way to do it across different wrapper types, so that we minimize the cognitive overhead.
The point the OP made was that operator overloading is not nice - it means that any operator (not just function) can do anything. It makes code harder to read and reason about.