skysight-inc/HackerNews huggingface dataset:
I'm currently moving from Elm to PureScript. Here's why (from "strong" to "weak"):

- Currently Elm has a sad story addressing integration with "native" javascript libraries and Elm is too opinioated in some cases, e.g. you can only use either the built-in 'Elements' or virtual-dom Elements to render frontend. This makes it hard to build modular components (see https://groups.google.com/forum/#!topic/elm-discuss/65tiRM7S... for example)

- While the simple type system in Elm (e.g. no type classes, no monads, ...) makes beautiful error messages possible, it really limits the abstractions that I am used to coming from Haskell

- Elm/Elm-make does not generate modules that conform to a "standard" js module system - thus it will not integrate well with other js tools

- Elm syntax is lacking 'where' clauses, which results in constant reindentation of code

Don't get me wrong - I liked Elm a lot; but it just does not seem mature enough to use in production - but it looks like a great language to start learning FP.
I've had plenty of product based experience but found the person interviewing doesn't seem to realize that he should be pitching why I need to be there.

As an illustration of how clueless these recruiters are they start off by asking technical interview questions. I just say 'im sorry didn't know you relied on rote memorization to build your product'
> We went from fliphone to total smartphone domination in 5 years.

How can you even compare those things?!?

A car easily costs 100 times what a phone does, and is literally being trusted with your life and the life of people around you.

> Droves of people will ditch their old cars just for the purpose of upgrading.

Back in the real world, a car is a major purchase and the majority of people couldn't afford to drop their current car and upgrade even if they wanted to.
In terms of conventional job titles, that's the job of the Product Manager.
And obviously Paul knows it to be true at the time of this interview.
An Overview of ES6
Well, I guess they both had their ways of doublethink and newspeak, because that I'm seeing, too. And you forget that Nineteen-Eightyfour was written from the perspective from one of the presumably few people who objected much to anything going on. They also had their hate sessions and reports of victories and increasing chocolate rations to keep them happy.

There is an awful lot of sadism and and lust for power for the sake of power in this world, too. Did Brave New World have a lot of torture and hundreds of thousands of people screaming in agony, as we do have in our world today? Do either have drone pilots who call children "fun-sized terrorists", did either have the Vietnam War? It's not just about slavery, it's about mental illness in a very real way, if you ask me. Brave New World seems rather more relaxed compared to that, they think they have it figured out and are coasting along... Big Brother, just like us, is ever hungry, and his hate and/or ridicule for those he tortures and mutilates cannot but grow, he has no way "out" but ahead.
You sound like a twenty-something whose historical perspective is lacking. It's been at least several generations, probably more, since that kind of job (expected lifetime employment with pension) has been widespread.
They're not retired. They're probably selling drugs. Not kidding.

We have a lot of drug selling inmates (0.5% of Americans are in jail for drugs). It's also an industry people can get jobs in without experience and that booms in a recession. These retired kids are probably being honest in saying they're not just 'staying at home'. They're probably selling drugs. It's a job. Just not one they want to list on a survey.
Makes sense..until you talk about time. Time makes no sense.
You are right. I was saying that coming from C, it seemed like pattern matching and a really cool feature. Until someone found how pattern matching works in Erlang or Haskell.

Even in Python to its credit, iterable unpacking pretty nifty. It can now even do stuff like:

https://www.python.org/dev/peps/pep-3132/

>>> a, *b, c = range(5)
>>> a
0
>>> c
4
>>> b
[1, 2, 3]
Dragula: JavaScript drag and drop component
But it's also "practically free" to just mentally do "10x + x", which I can actually add faster than my brain will return an answer from the post-10 part of the times table. (Not that I didn't memorize the 11s and 12s all the same at the time, but they got a lot less use and so a lot less reinforcement.)
Google voice with call forwarding. It's a life saver.
Reading the bit, it seems like the worst you can say about T-Mobile here is that the implementation is a little clumsy. I don't get the indignant uproar. Since when have new ideas been perfect at rollout?
JavaScript Developer Survey Results (2015)
Only in non-metric countries.

Back in the British era of pounds, shillings, and pence, hardware had to be built to do arithmetic in that system. This resulted in one of the strangest, and most complex, purely mechanical computing devices ever built - the McClure Multiplying Punch [1], from Powers-Samas. This device came out in 1938. The comparable IBM machine was the IBM 602 Multiplying Punch, but IBM only did decimal multiplies. The McClure machine had a mechanical multiplier for pounds, shillings, and pence. It contained a physical multiplication table, made out of brass plates, and the machinery to use them for multiplication by table lookup. There's a picture of the "Pence x 7" plate.[2] That's one row of a multiplication table, and it's 12 wide, from 0 to 11. Sixpence x 7 = 3 shillings 6 pence. The brass column heights reflect that.

[1] http://www.computerconservationsociety.org/resurrection/res5...
[2] http://www.computerconservationsociety.org/resurrection/imag...
Yeah, looking at their graph: "Why are you retiring?" "Because I'm retired." Thanks!
This is exactly why more people need to get involved. Back then, government contracts were a major part of many leading-edge companies' business plans. Now, not so much. It needs to change so more innovation can reach these people and systems in such desperate need - they can't keep relying on the same "integrators" time and time again, yet expect different results. They need new blood, but few startups are willing to put in the effort unfortunately.
The core point of the essay, that product design is a different skill to software development, is obviously true, but to me this feels a bit like the title "Software Architect" was 10 years ago; i.e. people who want to design software products without the pesky whole writing software part.

Like being a dev manager, defining the vision, design, etc requires a different set of skills from development. However, a person can do those jobs much better if they have spent time in the trenches. They understand costs and tradeoffs better, can better sell the ideas to the team, and so on.
It 'd be great if the password field could encode the required rules so that a password manager could automatically generate the strongest password.
Agreed. With enough spare time spent looking, you can find all kinds of resources to hand-hold you through this process. Also, it is incredibly easy once you know what to do.
> in the US/UK/Canada

And the other 94% of the world population…?
Facebook's Android contingency plan
I know a guy who was an IT generalist making decent money, who met and married a woman who is a physican when she was in med school. Her first gig was to an impoverished rural area (to accelerate payments of med school loans), so he quit and went with her.

Now he's a 30-something stay at home dad. He does a few remote consulting gigs, more to stay in touch than for the money.
"Angular 2 continues to put “JS” into HTML. React puts “HTML” into JS."

It seems fairly obvious to me that both approaches are wrong.
I played VRLympix' Ski Jump game[1] recently, which isn't at all photorealistic but the vision and motion control is spot on.

Looking over the virtual edge of the ramp was a bit discombobulating but bearable. However, when I got up to speed and was approaching the jump, my lizard brain nearly panicked at the prospect of a potentially death-dealing jump/fall/crash, even though my higher brain knew that I was standing safely on a solid, flat floor. My brain seemed to trust the visual reference points at least as much, if not more than my inner ear and I had to lift the headset to stave off the feeling that I was going to fall over.

1: Here's a video of someone else playing it - https://www.youtube.com/watch?v=wtZgRqQw2uI
I'm 29 and never heard this before. Neat!
We did this for a couple years and it worked out well. So well, that some people would take the "on-call" phone in exchange for your cash (the co. paid out in Visa gift cards) since there was really only a small chance that there would be a support call anyway.

Once Finance decided they weren't too happy with how the IRS might view that, the payments were canceled. And since the devs weren't dumb enough to work for free, support was scaled back to office hours only.
Out of PureScript, Elm, Haste and GHCJS, I like PureScript the most. What sold me on this language was the JS output after compilation - PureScript doesn't translate a huge runtime to JS (like the other options), it will only include the code which is actually needed.

Another advantage of PureScript: The foreign function interface is ridiculously easy to use.
Even in metric countries, there are still 24 hours in a day, so being able to have a sense of what 36 hours is or what 96 hours is is useful.
There's an upside to this, yes ingress will still be blocked by default (good!) but with uPnP or something along those lines, we now open a single port and it's a 1:1 connection. No longer are we limited to having one device in the household holding that forwarded port and all traffic hitting the external IP going to a single internal machine.

This would allow two users to have the same port opened. This makes it easier to communicate with others on the internet.
Except Facebook isn't "experimenting".

They're a for-profit company that is violating net neutrality and damaging ISP market growth in developing nations. Your logic justifying this as an "experiment" is just as unethical as the logic behind something like the AZT trials.
Constants are not magic numbers. And with proper naming they document themselves. For more cusotm UI's you won't know how UI will look like. It got better with @IBDesignable but still not enough.
The stock quote and hangman plugins are really just demos. Where services like this really shine is when you integrate them with your existing systems. Starting a Jenkins build from your Slack channel is pretty nifty.
The quality of being realistic in a mediated environment is called telepresence, or presence. There's a journal for it. It's a small journal, although pretty old for a CS journal (not at all old for a social science journal) so I read an appreciable piece of the thing for an aborted attempt at my master's thesis (my actual thing was way more formal).

They've thought of all the stuff you just thought of. Even smells, in an Iraq War PTSD study or five (because they only have to simulate a few smells), and in some failed commercial products.

The head-mounted displays began with the "Sword of Damocles", which was named that because it weighed 150 pounds and was dangled over your head and rendered a princely 100 polys/sec. So everything will get better, don't worry.
Natural Way on How to Tighten Your Skin
Presumably the inability to do basic math quickly.
Jump-Start Your 2016 with the Best of Automate the Planet 2015
This seems like a crazy conversation to be having in 2016. We're seriously considering what semantics to attach for illegal operations? How about doing what every other language of the last couple of decades does and just not allow them?

> I doubt anyone is willing to pay 2x performance for their C code to be more friendly. If they were, why are they writing in C?

Beats me why anyone is writing in C full stop.
I'm on a DoD network and this site is blocked. I'm not sure whom I should be more skeptical of, Ron Bouganim or my network operator.
In the early 20's? Plenty.

I lived through my first two years of college with roommates, savings, part-time/off-book bartending/bouncing and changing my long distance service.
For a pedantic asshole, DJB is on an awfully high horse here, bitching about interoperability and complexity, while his own tinydns/dnscache require a separate fucking utility to convert time/date stamps and IP addresses from hex into something actual people actually understand.
It appears to load all of it's large animated gifs all at once...18MB total page weight.
If you want to make enough income to have financial security in the US in most industries that means taking a salaried job, and ~15 days of personal time off not including weekends and holidays. Its not that having to work 40 hours a week doesn't leave time enough to find your life's meaning, but its damn hard to do more than attend 2 major outside-of-norm events or go on any journeys that aren't majorly bookended by going back to work.
Oh, no, not again!

Anyway: how do I resolve merge conflicts in version control?
You sound like a twenty-something whose historical perspective is lacking. It's been several generations, probably more, since that kind of job (expected lifetime employment with pension) has been widespread.
Highly recommend you do some reading on Quora. There are many similar questions, and asking there is likely to get a good set of answers to add to anything here.

Realize also that many engineers are disdainful of managers and management, so take any feedback you get with a grain of salt. Explicitly aiming to become a manager will get a bad reaction from people.

That said, managing people and process is a real set of skills at which people can be good or bad. You can practice and improve these skills like any others. There are plenty of people who are managers who are poor at it, but that's no different than any other job. And no, experience itself won't grow you the way you want. Adding side training will be essential, whether it is individual courses, Udemy and similar coursework, reading, or full degree programs.

I think an Master's in this "Management and Project Innovation" would be valuable. My path was realizing after about 7 years of software work that I really enjoy the larger activities of businesses even moreso than the software development, so I got an Executive MBA. That gave me some negotiation power to finally slot into a leadership role. It also rewired my brain and vastly expanded my knowledge of leadership and of understanding business concerns to be effective. It really revolutionized my whole way of thinking about the world and made me a better person in my personal and professional lives.

So my take would be: if your passion is in _orchestrating_ projects, do consider that MBA and angling for a Project Manageer role as well. But you should also get a year or several of software development so you learn the realities of people working on software projects. I think practical experience is important to stay grounded when you get with with management theories and practices. Without real-world experience anchoring you, it can turn you into a Pointy-Haired Boss personality.

If you already think that is going to be an interest to you, I encourage you to go work 2+ years as a software engineer, then start a Master's degree concurrently after you have some experience.

Email me if you want to talk in more detail.
divisors are bad. Here's why: If you have a prime (or p^n) base, you can assess how much computation you have to do based on the non-zero digits on the left.

say in hex you have a number 0x56aF900000, you know that your divisors can have no more than 5 non-zero (hex) digits. This is not so for decimal numbers; 32 * 125 = 4000
i believe the premise for a "friendly C" (wether attainable or not) is one such that, existing C programs can be compiled with a new compiler, which could, in principle, prevent certain classes of bugs.

designing a new language somewhat hinders this - unless some sort of source to source translator tool could be produced, perhaps.

in my opinion, C should roughly stay the way it is. we have higher level languages which provide a lot more safety, and we have the clock cycles available to absorb the reduced performance that they may incur. more importantly, compiler implementations for these languages can continue to reduce the gap between "high level" and "native C".
Firstly, your perception of veterans is woefully wrong and misplaced. Veterans set-asides in contracting actually do very little to help a company as there is still much legwork to be done. Even then, you stereotype veterans as "rigid" which is simply not at all true. I see envy in your post, not facts. Companies are NOT AT ALL "paid more" for having veterans on contracts. Labor rates are the same regardless of the status of the employee. You're facilitating the spread of rumors, stereotypes and hearsay which is why people think badly of this market. Veterans are given preference for hiring, yes, because they have a skillset that too few private sector employers realize unfortunately. There are studies to prove that point.

Secondly, "focusing on execution" and not processes is why so many startups die in a growth stage because it too often means chasing revenue only with few long-term plans. The government is inherently a long-term market. You need to have a long-term view. True, if you're developing a dog-walking app or glorified to-do list, yeah, it's not a market for you. But if you really want to do something game-changing and want to build something of note, I see no better place for it. Look at Palantir for example. There are hundreds of other examples.

Lastly, you can't just sit around waiting for "change", you have to make it happen. I used to be a GS-13 employee, fairly high up at one of these agencies, and I voluntarily left a secure job to make more of a change and I see it happening. It's rewarding, but you have to push for it and take risks or else nothing will ever come of it. I speak from experience actually doing this. How many else here can?
porn games would be better than 360° videos anyway, so not much of a loss on that front...
I personally would find spacemacs very overwhelming if I didn't have prior experience with either vim or emacs. My recommendation is to pick one of the two, use it for a while and get some experience, and then consider spacemacs.
What if it can't? (I don't develop apps using Angular, so I really don't know the answer...)

Then it's just a con for Angular, but also a pro for providing a default MVC architecture to rely on. It's a design choice that can be both good and bad.
Interviewing is Broken
Your article is spot on. I agreed with all the different product management strategies. I was going to make the argument that building what the users tell you they love is great when that thing is making you money. However you made the point much more eloquently in your article. That's a nice read. Thanks for the link.
I moved from Elm to PureScript 1 month ago, and I don't regret it. Here's my earlier explanation why [0].

[0] https://news.ycombinator.com/item?id=10727009
Phones continue to be a bigger or equivalent privacy threat to the individual user and others than Glass ever was. The ability to discreetly take photos and short, low-quality videos also continues to be something highly possible with phones and other consumer tech.
S&P 500Startups or, The Takeover
Easy divisibility is the reason why when we switched to metric, the one thing that didn't switch is time. Which means that, for example, converting from m/s to km/h is a mess. (You have to multiply by 3.6, can you easily do that in your head?)

With a base 12 version of everything you would have 1/12 of a day being 2 hours, 1/144 of a day is 10 minutes, and 1/1728 of a day is 50 seconds. These units would give us both easy divisibility and are close enough to existing time units to make sense.

This change would mean we have to memorize a 12 times table rather than a 10 times table. But in base 10 a 10 times table has easy patterns for 1, 2, 5, 9 and 10. A 12 times table has repeating patterns for 1, 2, 3, 4, 6, 8, 9, 11 and 12. The result is that a 12 times table in base 12 is actually less work to memorize than a 10 times table in base 10.

In the long run this transition would be a clear win. But it isn't enough of one compared to the transition to ever make sense to initiate.
It's pretty easy to write "complex conditional DOM that is hard to read" in both React & Angular. But in my experience, I encounter it a lot more in Angular code bases than React code bases.
Wait, What? Immutable closures are way less useful than mutable closures. Immutable closures can pretty much only be used to create thunks. Mutable closures are basically objects.

On the other hand, if your closure depends on global mutable state, than you have a piece of GLOBAL state that is VARIABLE. Sometimes known as the root of all evil.

But maybe I've been damaged/spoiled by scheme and/or not done enough concurrency programming to get your point.
Ask HN: How to go 'Office Space' on two server blades?
So, where I work My team has multiple applications that we take care of. Of all the apps, we particularly hated one. We have finally revamped and have moved away from dealing with the old codebase, and at a similar time, our company is decommissioning the server blades the application was running on. We have the two blades that the application was actually running on, and we get to 'go all office space' on it.

(HDD's and other non-volatile memory have already been removed, wiped, and destroyed properly, and what remains will be also trashed properly as well).

We have the normal ideas of throwing the server off our building (4 stories), shooting the servers with rounds of ammo, and we even have the idea of purchasing some Tannerite to make it go boom.

I'm looking for ideas on how to have a fun time destroying it.
I hate the other end of that idea (reality) - that you have to grow up and be responsible and stop having fun or be spontaneous in your life, because from now on it's career, marriage, career, kids, career, retirement and death.
Since I live in a city where my ISP has a bunch of "public for customers" wi-fi hotspots (Vancouver), I've considered dropping my cell-phone plan and just using a VoIP provider for calls/texts. You can find the wi-fi hotspots near most places you might need Internet (e.g. when shopping), but they don't extend into public spaces like parks, and you can't use them when moving in a car/bus/train (or even when walking at a reasonable clip.) It seems like it'd separate life into connected and disconnected spaces, rather than forcing a constant decision (that's "on you") to disconnect—and I quite like the sound of that.
Guess that depends on where you live. In cities like NYC, or Chicago (where I live), having a car in the city is common, but the minority.
Pretty much. If the car is choosing between the occupant and ten school kids on the sidewalk, it better choose the occupant because presumably thats who paid for it. Noone will buy self driving cars unless they take the occupants' safety as the highest priority.
Ask HN: CAD design for beginners
I am a developer who has recently become interested in fabrication and metal work. I think it's awesome to make stuff. I want to do more complicated things, f.ex. I want to build a special gate for my garden that folds in a specific way and requires me to build custom latches. I want to play with my ideas for the hinging and latching components in some sort of CAD software but the only two free pieces of CAD software I've been able to find (opencad and freecad) seem to be extremely complicated. Is there any sort of CAD software for beginners or a free online course that I could take?