skysight-inc/HackerNews huggingface dataset:
My observation is that the problems in software engineering tend to look simple until you actually try to build something larger than a toy. I gather that, if you have the relevant background in other engineering disciplines, the same deceptive simplicity applies.

It's easy to dismiss the difficulties that arise in software as properties of the language, platform, framework, etc. that you're working with, except that we're a few decades into this whole software engineering thing and we're still inventing (and re-investing) tools to solve "simple" problems. Which, of course, is also true in many other engineering disciplines. Sure, the scale may get smaller or larger, but base issues like "this problem would be easy if I could just temporarily disable gravity" or "I've got the perfect mechanism for this if we can allow one solid to pass through another when we assemble it" still crop up with remarkable frequency.

One might reasonably start to think that estimating the difficulty of problems is, in and of itself, harder than it looks.
You must have a different Safari than the one I have. Apple has the resources to make Safari competitive with Chrome but does not even try. For whatever reason Apple is not interested.

The problem is everything today is mobile which means Apple and Google and one is not really trying. This is causing the imbalance, imo.
NYC and SF are small islands compared to the rest of the country. Salaries are flat for everyone else.
What about a hard coating that dissolves in the presence of water?
PCIe lane width isn't normally a significant bottleneck for GPU performance, for games at least. Going from 16x to 8x loses you 1% or so, depending on the hardware. I don't know the bus traffic profile of software being run for deep learning, but it may not be noticeable.

I'd also pick a CPU with more lanes though.
Thank you for all you great tips. Do you know any good book(except Craft of Prolog, Prolog for AI) or good code on github following this principle?
I really don't know anything about American football, but in Rugby a lot of work has gone into this kind of thing. You can't tackle a player who has jumped to catch the ball until his feet touch the ground. If you pick a player up, you are responsible for putting them down. High tackles (around the neck) or not attempting to wrap your arms around a player when (so you 'clothes-line them) you tackle is much heavily penalized. All of these will result in 10 minutes in the sin-bin at least, maybe bans after the game. All head injuries result in the player being sent for 'assessment' by a doctor during the game, and a concussion protocol which enforces long breaks from the game. With regards to American football I have two questions

1) Is the impact to the brain higher because of the protective equipment? Would people tackle as ferociously without it? You are allowed very little of that gear in Rugby. Head clashes in particular are rare in Rugby, without the helmet you put your head to the side of someone when you tackle!

2) American football players seem to carry a lot of body mass for fast people. Is it possible that their advanced sports science is a bit too pharmaceutical in nature? I wouldn't want to suggest anything, but is there a chance steroid use is widespread? If this is the case then clamping down here would presumably lessen the hits?
That's always good tactics, regardless of whether or not you get taken up on it or whether they take it serious.
An empirical study on the correctness of formally verified distributed systems
It is crazy. To be fair, there was some math buried in the courses (like modular arithmetic in the cryptography class, and some discrete math in the concurrency class), but it felt rather awkward and not relevant to the classes.
Two path were in front of me:

A) Enter the market without a major. Work for a low but decent pay for 4 years (with yearly pay raises) and then use the experience to move elsewhere and jump up in salary.

B) Spend 4 years without any pay, get out of school and end up with an entry position, work 4 more years and then move to a position that offers a good salary.

Needless to say that I went with A) and am not regretting it at all.
I Was Rejected by Harvard, Stanford, Facebook and Google – my Notes on Failure
Interesting, have to take a proper look tomorrow. We've done similar things with NoFlo (https://noflojs.org)
It's a combination of the tufte and monochrome Jekyll templates.
> Football players have to demand their safety is taken seriously before any positive change is going to happen to the sport.

Keep in mind that there are many viewers who are not really interested in the sport itself but explosions, injuries and other accidents. For them, the lack of safety is a "feature." You can easily check the view counts of videos for "big football hits" or "nascar crashes" on youtube to see that it's not a small audience.

There's also the fact that having additional protection makes people feel more confident and take more risks than they normally would. With all the additional padding, there are a lot fewer minor injuries but more of the serious (and less frequent) injuries.
I'm interested in the answer to this questions myself :) For me, this is about the ease of use of the visual programming interface, and the focus on feeds to enable the pipe concept. I do not see this in the same space as Zapier and IFTTT, but I might be wrong!
> NYC and SF are small islands compared to the rest of the country.

Not in terms of tech jobs.
I learned a lot in my CS degree, but I have wished I did a lot more physics and math. I specialized in graphics and I've noticed that a lot of the foundational advancements in graphics are more physics than computer science. Many of the most well known graphics people started in physics or math and switched to computer graphics, and some of them admit that it's because graphics was easier with more low-hanging publication fruit.
I would like to point out that lowercase music exists.
You can do a bit better if you put the round piece at the base, and make the blue piece diagonal just like the big flat piece.

You'd need to balance everything on the round piece, but the little pink dot should assist in that.

Kind of like those balanced rocks thing :)
That is the difference between a bs vs ba. Different schools offer the computer science programs as either one or the other in my country and the courses in both programs can be very different.
> specify how exactly in which order the calculations need to be made

There is a language called Mercury that is an extension of a subset of Prolog, i.e., it takes some useful Prolog stuff away but adds some other useful stuff of its own. One of its additions is a mode system; essentially, a simple way to declare how you intend to use your predicates. You can then write your program once, putting the goals in clauses in any order, and the Mercury compiler will use the mode system to figure out all possible data flows and generate specialized, optimized code for each of them.

I like a lot of Mercury's ideas, but as a Prolog fan I find it does throw some things out that I rather like. If you're less attached to Prolog, you might like Mercury more :-)
Hire an attorney (or several) for a couple of hours to read through your agreements.

The shareholders agreement, even if 'boilerplate', may only give the company the right of first refusal on the sale of shares. Even if unauthorized sales are completely disallowed, if you find an interested buyer there are still ways to craft a legal agreement where you for all practical purposes have 'sold' the shares.

But if the company isn't very successful, there may not be any investor interest, which would make the legal details pretty irrelevant.

I'd recommend getting an attorney to read over your agreements, and also try and gauge investor interest by listing your shares on one of the secondary market marketplaces.
Ah, quite right, sorry...

<script type='text/javascript'>
function windowpop(url, width, height) {
var leftPosition, topPosition;
//Allow for borders.
leftPosition = (window.screen.width / 2) - ((width / 2) + 10);
//Allow for title and status bars.
topPosition = (window.screen.height / 2) - ((height / 2) + 50);
//Open the window.
window.open(url+document.URL, "Window2", "status=no,height=" + height + ",width=" + width + ",resizable=yes,left=" + leftPosition + ",top=" + topPosition + ",screenX=" + leftPosition + ",screenY=" + topPosition + ",toolbar=no,menubar=no,scrollbars=no,location=no,directories=no");
}</script>
> I can't remember if you had to do that on Yahoo, it's been so long!

I have a screenshot on my disk: https://imgur.com/a/TExPX - it had a bigger pipe output block at the bottom. I can see how the red circle alone is not enough, thanks!
About this cutoff. I guess that it is an analogue to the phase transition we see in for example the Ising model (this example was given in the article).

This transition is due to a change in temperature, i. e. the chance of flipping a spin into a non-favorable configuration. How does this relate to the number of shuffles in a deck?

There is no equivalent of a temperature here from what I can see.
I think that is cheating, because after the recasting is done you are left with a single piece. The instructions clearly say 4 pieces ;)
Depends what you mean by hard. I went into computer science and I got the highest grades in statistics at a university which is in the top 10 worldwide for statistics. In fact, I got perfect on the final where the average was a fail. I did "OK" in comp sci (deans list, but no special placement other than that.)

Stats/calc/algorithms weren't hard, I needed practice. I did every question in every textbook and followed up with the prof when I didn't understand how something worked.

Computer science actually pulls together all these different disciplines into one. By that metric, it might be the hardest. But really, nothing is easy or hard, it just takes practice.
Recast the individual pieces, then.
People always claim this but it's not true for the majority of companies. Yes some, including a small number of big brands, ask leetcode algorithm whiteboard questions, but most interviews I've ever had are more practical, prove you can build things.

That said, I have no problem with leetcode algo questions, as long as the interviewer is only checking for your ability to think, communicate, and hands on experience with a few basic programming approaches (using hashes, recursion, structuring code etc.), which they are in fact excellent gauges for. If balanced with other types of interview challenges, it's not a bad way to assess. (but yes, it crosses the line if they care about the perfection of your leetcode algo; again, most do not)
Thumb mode is mentioned, and in Part 3 its covered more in-depth.
I did! That's going to be in Part 2.
Well in your hypothetical it would be pretty obvious... selling jokes of course
Would stay away from Edge until matures. There has been significant Edge security issues way more frequently than I would be comfortable.
The AUR only defines rules for installing certain packages, the program itself would still need to be downloaded from Intel. That is how it's done with the MKL package [1] and other proprietary software.

[1] https://aur.archlinux.org/packages/intel-mkl
That's switching to another workflow, not interoperability with the existing one.
Pandoc is pretty close to that.
My Parents Told Me I Was White–Until a DNA Test Uncovered the Truth
That's why it is such a good thing to use a true multi-paradigm language. The power resides in being able to express your problem using the paradigm that makes you solve it in the best way.

For example you can implement a subset of Prolog inside Common Lisp, and thus you can employ the following paradigms as you wish:

- Imperative
- Functional
- Object Oriented
- Logic Programming

For me, in year 2017, a programming language that implements only one paradigm, for example Haskell (almost a purely functional language), can't be considered a "general-purpose" language. Quite the opposite, it is a very specialized language, and it will work great for the problem domains where such paradigm fits perfectly into.
I just wanted to say I agree with the field being "pretty horrible", for all the exact same reason you posted.

Civil/Mechanical engs, Doctors, Lawyers, Nurses, Biologists etc, all get out in the field and/or get to work with people all the time...

In tech it's the same flourescent lights, same keyboard, same office, same people...every day for 40 years? What kind of quality of life is that? It's literally the definition of the Rat Race, tech people are just paid better.

This is a very legit reason for not entering the industry, and I think and is probably the biggest reason for the lack of csci majors.
This must be the harsh side of the US. In Europe, the differences are almost neglectable.
> capable people who do NOT want to spend hours every day sitting at a desk, in front of a computer, focused on code, with limited human interaction.

I've been asked by various close acquaintances and friends if they should try to get into IT (mostly as programmers), I've told them they should really be passionate about the field, not think only about the money, otherwise they would have a really bad time, psychologically speaking.
An Overview of Multi-Task Learning in Deep Neural Networks
> It's not "for the sake of it", diversity brings insanely great benefits.

Are there any proofs of this assertion?
Microsoft nearly made the Lumia 950 into a miniature Surface – The Verge
Vibe.d [0] the one and only D web framework uses fibers, because of this reason. The tagline is "Asynchronous I/O that doesn’t get in your way"

I'm not sure about the tradeoff. It seems to be equivalent with performance. It might require more memory, but if the competition is Java, Python, and Ruby then they are easy to beat in terms of memory consumption. I'm not sure how it compares to Go.

[0] http://vibed.org/
The First Text Adventure Game Ever Is Finally Open Source – Motherboard
Thank you for your interest!

Since Prolog is now gaining more traction, I am adding to my favourites all Prolog links which I consider noteworthy or recommended reading. Please see my profile for more information, and also for future updates.
It wouldn't surprise me if there was higher variation in program difficulty for CS because the field is younger and doesn't have the level of standardization that traditional engineering fields have (ABET), but we need real data to have a meaningful conversation about it.
I disagree. The things you say may have been true decades ago, but are not entirely accurate today.

The US's banking industry's reputation took a big hit in 2008, and it has become increasingly common for top university students to head into tech over finance since then. Not to mention, firms like Goldman Sachs are replacing many of their traditional traders with software engineers.

Outside of top law schools, the prospects of law grads have diminished greatly over the past decade or two. And some varieties of lawyers, such as patent trolls, are especially frowned upon -- the opposite of "top-tier" and "distinguished" in the eyes of many.

And I don't think the pool of potential doctors and the pool of potential software engineers overlap much at all. I would guess that the number of university students deciding to be doctors instead of software engineers is quite small.
V8, Advanced JavaScript, and the Next Performance Frontier [video]
Rook.io Container Native Storage on OpenShift – OpenShift Blog
Once you have the text corresponding to each frame, you can de-dupe it with its neighbors based on Levenshtein distance (can't use exact-match because of recognition errors). I found that for this show subtitles generally hang on-screen for 1-3 seconds, so you wouldn't have to do many comparisons.
The bitter part of wishing you had majored in CS is that most of the times you cannot and you have to live with it. Being able to work with computers is both a skill and a burden. For example I was the classic computer-whiz all my life. Due to a twist of faith, I found myself in law school and I'm graduating next year.

In my freetime I still try to cargo-cult learn CS. I tried a lot to give up computers, but I couldn't.

Maybe a CS4ALL movement can filter out kids who have a mind for CS and inform their parents about it. I suffered a lot from the notion of not being able to study CS. Especially the first couple of years of college were the worst.

On the other hand, as you have experienced with the record growth, most of the young people get into CS degrees. Maybe CS is more a passion among teens like music/painting. It may as well be a trend of our century. In the 19-20th century young men generally wanted to study painting, now we want to study CS. Because computers promise creativity, autonomy and inherently give us an identity, because we think we're "gifted".
With such a low immigration, the pisa sample tended to be more uniform in Finland which introduced a distortion with other countries having more immigration but a better teaching system. Recent immigration increase has lowered the last Finnish pisa rankings. So, of course, some methods are innovative, but being an example is maybe overrated. Results will be "assessable" only when these kids will have a professional path.
This probably just reinforces his point - engineering undergrad is basically just applied math and physics, whereas the real meat of the major is usually reserved for whatever faculty you're in. Instead of having just 'Engineering', we have Civil, Electrical, Aerospace, etc.

We should probably think of Computer Science in the same way. Instead of just vanilla CS, we could split a CS BA/BS into just as many specific concentrates: assembly, architectures, crypto, data related anything (management, safety, security, databases), etc.
How are they not justified?

A cynical understanding of human nature and society serves a person far better than the opposite.

People want to do less work than more work. For people involved in acquiring, placing, and managing human resources, an easy way to signal "work"/"useful work" is by parroting the line of superficial diversity.

That's my experience at least. I win far more bets by assuming the worst of intentions than the best in these hiring games.

In the military you see a big push for "diversity", especially in relation to sex, where all sorts of carrots are trotted out just to have a platonic makeup of sees in the armed forces. Nevermind that one of those sexes has an ace in the hole called "pregnancy" which the mil. Bureaucracy will bend to accommodate.

Nevermind the disastrous effects on morale and confidence in command this brings to some poor bastard from Nebraska who goes through all sorts of shit. If he gets a girlfriend, or God forbid a wife, he faces the risk of absolute cuckery on that side. If he messes around with whores and the command is looking for a scapegoat, they'll bring him up for ucmj charges. Meanwhile if his girlfriend/wife messes around with boys on the base, she has no repercussion for her actions.

"Wait, what about the pregnant female soldiers?"

Easy office job and easy promotion because higher-ups would rather have eye candy over a more disposable resource (competent males).

What gets me is the total denial of this facet of human nature by those who push "diversity".
https://news.ycombinator.com/item?id=14422785
Or from https://yarnpkg.com/en/packages?q=http&p=1?
Because universities continue to place a heavy emphasis on math, specifically calculus, as a gatekeeper. Calculus is useful but I don't believe it's necessary for a CS degrees.
Arma 3, still the best sim
As an Apache user, I’ve yet to look into enabling OCSP stapling so thanks for this informative post. I presume the developer you are referring to is (one of) the developers mod_ssl. I found the bug report[1] where the Apache developers state that they won’t enable stapling by default because “it would enable a "phoning home" feature (to the CA's OCSP responders) as a side effect of configuring a certificate”. That seems reasonable to me. However, the other behaviour that you’ve mentioned seems less so. Do you have any references (mailing list discussions, links to bug reports, etc.) for this?

By the way, your opening line should probably be edited to say something like which is bad news if anybody's private key gets stolen or misused and they need to revoke the corresponding key(s). Most readers of this discussion will know what you mean but some who are still learning about PKI may be confused.

[1] https://bz.apache.org/bugzilla/show_bug.cgi?id=50740#c20
Ah, jacquesm bait, ok here is my solution (left), right one is an alternative to yours.

http://imgur.com/a/h7HnB

just the tops:

http://imgur.com/a/wsqCw
https://news.ycombinator.com/item?id=14422706
Ownership in earning money of it? Or intellectual ownership? Or ownership as being a benevolent dictator? Or copyrights?

I think if some of these are important to him/her, it might be a good topic to discuss with the company.
Whoa, that chart seems really misleading. There are 3x more CS majors than math majors and 2x more than physics. The chart is showing derivatives, not absolutes. That basically undermines the title of the article.

Looking at the graph, it's also super important to see the context before 2005 -- that start date adds significantly to the misleading impression this graph is giving.

Math had more majors in 1970 than it does today. Physics has only grown by 50% in the last 40 years, and both have had huge dips just like CS had.

I was coming up with some explanations myself, but now I think I reject the premise, and feel like the right question is: why are so many people majoring in CS and so few in math and physics. More math and physics people can code than ever before, it seems like they'd be able to score coding jobs and be more prepared than a lot of CS grads.
Beautiful. Love the 'CHROMATIC' bubble style on the front page, which feels like modern graffiti. Didn't expect this to be done in the 1870s.
Not entirely single person, but I run Musi [1] with one partner. We have monthly revenues in the mid six figures with 2-3k a month in expenses.

[1] https://feelthemusi.com
> You don’t need a CS degree to be a developer

And I think at least some of us observe this and think "I'll study a related tech field and then take a job that also uses CS - that will let me grow a wider skill set than if I just studied CS." Because it isn't too difficult to get exposed to CS basics while pursuing EE or math, etc, and a wider skill set can be a valuable thing to have - you generally have more freedom in the development of your career, more opportunities to shift around and prevent burnout/boredom, etc.

It would be interesting to build a matrix showing how degrees in each STEM field are tied to jobs in each STEM field. Because I suspect CS funnels much less into the other STEM fields than vice versa, providing a view where a CS degree is tied to a narrower line of work, and hence more at risk to future market changes.
Week 21 in Information Security, 2017
I've some experience in visual programming languages (both professional and in my studies) and I advise against the graph-form where you connect nodes and edges.

This does not mean that text is the only way to implement programs (and even if you connect nodes, you're still programming), but maybe a good local optimum is in-between, e.g. interactive shells like Jupyter's Notebook and the Mathematica interface. I know there is LabView, the Blender-Editor and AFAIK some Unreal-Engine tool that uses this model, but bigger programs seem really incomprehensible to me.

It's always easy to show-case 5 programs in these node-&-edge editors, but I do not think it is the best approach for visual languages, as one should not under-estimate the layout problems and how to represent information in boxes.

So, I am all for new ideas in visual programming, but I am not sure if the "free canvas" approach works.
Point well taken re Didot. Perhaps I should have said Victorian.