skysight-inc/HackerNews huggingface dataset:
Take notes in LaTeX.
Clearly not compulsive enough, as you don't seem to have checked research that disagrees with your biases (like the vast body of work showing that sex-based differences in brains are negligible)
> name a company that would turn away half the worlds population for no benefit.

A company that had internalized misogyny to such a degree that it couldn't function. All companies are sexist.
Computer Engineer != computer scientist.

1. Computer engineer works at and around the boundary between electrical engineering and computer science. Hardware, firmware, drivers, and other low-level systems that interact closely with the physical world. Hired by Intel and other firms.

2. Computer scientist knows the study of computation. Computer science tends to abstract the hardware away and consider ideal systems.

There is of course some overlap. Computer engineering is all about the overlap between CS and EE, so some CS people will work in some of the same areas as CEs. Likewise with EEs. And the terms are fuzzy, and may have different definitions to different people, but the distinction I made seems to be present in most college degree programs I've seen.
I wish I knew this was going on this weekend!
Doesn't he have the majority of stock? Can't he just make it so?
Tiny 'meat-loving' marine creatures 'eat' teenager's legs at Melbourne beach
Has bcrpyt become the node standard? There's no mention of pbkdf2, which I thought was NIST's current recommendation.
It's really hard for me to believe that this is the driving cause, but I cannot come up with a better solution.

This theory is advanced convincingly in a Planet Money episode -- the graph here is incredibly striking, and for me strongly challenges any talk about the gender gap being primarily genetic/trait-base:

http://www.npr.org/sections/money/2014/10/21/357629765/when-...

The shift from tracking progress with other STEM fields up to >35% female workforce participation in 1985, then suddenly breaking with their progress and going in the other direction is astounding. That's a clear exogenous change, nothing 'trait-based' could occur on that timescale.

The only other vaguely plausible explanation I've heard (but am unable to find anymore sadly) was a suggestion that in the late 70s, IBM changed their recruitment guidelines for programmers to rigidly select for what we'd now call autistic-spectrum / raw analytical personality types, which biased hiring towards males. According to this theory, other companies just followed IBM's lead, and this triggered the paradigm shift.

However that doesn't really explain why there was another massive dip from a fairly stable 10yr rate of ~26-27% down to ~18% in 2003; I can't recall anything particular in the news around then but wonder if there was another scandal or news cycle highlighting negative experiences of women in tech.
> It boils down to this:
1. Your question is so simple it is stupid to ask someone who is actually qualified
2. Your question is so complicated that anyone who would feel semi-confident in having actually solved it in 40 minutes is someone too dangerous to keep around

Really? You don't think there's any possibility of a middle ground here?
Software Engineering looks like Systems Engineering with code applied.
Can the Growing Democratic Socialists of America Build a New Left Wing?
True, but we if your goal is to have people manage content from mysite.com/admin you can do that since the Forestry CMS is just a single page react application that talks to our API. More info here https://forestry.io/docs/remote-admin/
If you rounded up every person even suspected of having committed voter fraud in the past few elections, you might have enough staff to run a McDonalds in a small town.

But even if it were an actual issue rather than a manufactured one, Judicial Watch is not a legitimate source of information.
> but there are also risks (the code breaking when the library gets updated).

This is the entire point of Semantic Versioning: to communicate breaking changes through the version number, and to build tooling to programmatically avoid breaking dependent code.

(No, it isn't generally perfect: it does require that human realize what the API is that that a given change is breaking it. If we had some programmatic language for specifying the API… type systems start this, but tend to not capture everything¹)

¹I suspect there are some formal analysis folks who know more than I do here, screaming that there is a better way. I work in Python day-to-day, so generally, it's all on the human.
A good lesson not to try to guess where the bottlenecks in a program will be. :)
The OP said they don't care/haven't had to care about performance. What you're saying is that they used a library which is known to be performant. If the OP knows it to be performant, they are misstating that they don't care/have never been asked to care about performance. If they truly don't know about the performance and picked a library at random, they are halfassing it and aren't doing their job as a software engineer.
I'd swap the word 'Puzzle' for 'Crossword' in the title. I thought the article would be about someone like Martin Gardner or other puzzle designer.
If a war somehow reached Northern Oregon, most of the planet would instantly become a much more dangerous place. Some parts because the USA might lash out. Other parts because their local powers might play their hands more forcefully while the USA was preoccupied with its domestic war.
It doesn't seem crazy that there should be differing diagnoses by culture. Autism falls along a spectrum, and there are obviously varying degrees of anxiety, depression, attention deficit, and many other symptoms of diagnosable disorders. The question of when it crosses the line to "impairment" is pretty arbitrary.
Then that confirms my OP - everyone wants to embrace the cosmetic pieces but the actual meat of Agile is ignored.

Every control has to have consequences, or else bad behavior has no cost. Your organization is addicted to what the calendar says, and the software is neglected. The consequences are suboptimal productivity and/or quality. Appearing to work has more value than completing work.

No software process is immune to leadership failures.

Wasting time? Measuring twice and cutting once is done because it saves time. As a shirt I saw recently said, "weeks of programming saves hours of planning".
> Look, there are people all around us. Neighborhood streets have, what, 50 people on them? People congregate at churches, bars, coffee shops, even Wal-Marts.

> Loneliness is a self-inflicted problem. I'm not saying that to belittle it, I'm saying it because the reasons most people give for being lonely have nothing to do with the actual reasons.

I met two strangers today, in the sense of having a long-ish conversation with them. One of them was incredibly boring, to the point where I'd rather be on an island by myself than with that person. The other, maybe could become a friend, if we both put some effort into it.

Saying that there are 50 people living on the same block as you is like telling a hungry man that people threw away the remnants of 50 meals. Sure, you could dig through the garbage and eke out an existence, but it's not really a good solution to hunger.
For more low-level Lisp see

https://github.com/kingcons/cl-6502/blob/master/README.md

And the corresponding book

http://redlinernotes.com/docs/cl-6502.pdf
I have learned programming on the job, not in school. I think I have a pretty good handle on things like recursion or traversing or implementing structures. But I don't speak the lingo so I don't know what "Implement a recursive depth first traversal of a tree" means exactly. I have been doing this for 25 years now and I don't think I have ever heard anybody formulating a problem that way.
Let n be a positive integer.

Let s(n) be the sum of all positive divisors of n. E.g., s(2) = 1 + 2, s(4) = 1 + 2 + 4, s(20) = 1 + 2 + 4 + 5 + 10 + 20.

Let H(n) = 1 + 1/2 + 1/3 + 1/4 + ... + 1/n.

Question: is it true that s(n) < H(n) + log(H(n)) exp(H(n)) for all n > 1?

(log is natural logarithm)

It turns out that this simple looking problem is equivalent to the Riemann Hypothesis, which is perhaps the most important unsolved problem in pure mathematics. Many of the best minds in mathematics have attempted it in the approximately 160 years since Riemann posed it.

What equivalent means in this context is that if the Riemann Hypothesis is true, than the inequality above is also true, and if the inequality above is true, then the Riemann hypothesis is true.
How the Women in Tech Discussion Promotes Corporatism
I disagree.

* I routinely find people using the wrong data structure, when there exists a better one, with better O() time/space.

* I find people tend to not understand BTrees, particularly when there are two attributes being indexed. Given an index on (a, b), I find it common misconception that the BTree can efficiently answer `$a_min < a < $a_max AND $b_min < b < $b_max`. (I.e., people do not understand that the tree cannot make use of the second < condition, and must scan potentially many more rows than they intend.)

* Graph theory. git uses it. Any sort of dependency tree uses it.

That said, I acknowledge that software engineering does require a lot of non-theoretical knowledge, which is why I ask both types of questions in an interview.
I found disabling all but SMS/WhatsApp/calls to be sufficient.

I guess if you get a lot of those each day it might be a problem for me I might get a single message or two each day.

I also allow notifications from a single email address but that's because it gets errors and not much else sent to it.

Everything else can be handled when I feel like it.
This is a really good article to give to my clients who want the blockchain to do the impossible.
Blockchain is just a clever data structure, it can't succeed or fail.

Particular implementations of it can fail, financially, or due to bugs.
I love your analogy! Then there's the Howard Wolowitz's of the world who try to throw a pitch at a ball game using the Mars Rover. Not quite an applied technical person and not quite a pure theorist like Sheldon.
Simple. Teaching doesn't scale, an olympic sprinter will do their thing in front of hundreds of millions of viewers.
I have seen the impact of linear or exponential complexity quite a bit in real world code so I think it's good to be aware of it in case you are having performance problems.
If you have the horsepower to test a population of deep nets, then absolutely.
No matter which injustice we choose to address, there will always be other injustices unaddressed, many of them horrible.
Gene swapping makes perfect sense when the success of a given solution is due to the various contributions of the solution's components (this is closely related to the Credit Assignment Problem).

For example, a 'random' tour of the traveling salesman might have a nice sensible path between Paris and Moscow, while another solution has a good path between San Francisco and Mexico City. Chromosomal crossover (the fundamental operation of genetic algorithms) can create "offspring" tours that contain both of these components.

This is not at all analogous to exploring the middle between two local optima - the solution space often has no meaningful geometric structure, so being located "between" two other solutions may not make sense at all.
HN has always had a certain amount of political discussion and while you're right that it fluctuates with external conditions, the core amount of it is pretty stable. But there's a difference between substantive discussion and ideological inflammation. Name-calling ("commies") and dismissive swipes ("stop being so defensive") belong to the latter, so please edit such bits out of your comments here.

The principle is simple: avoid flamebait to reduce flamewars.
> Computer Science: Computability, Formal Specification, Correctness Proofs, Network Analysis, OS Paging/Scheduling, Queueing Theory, Language Syntax/Semantics, Automatic Programming, Complexity, Algorithms, Cryptography, Compilers.

It's interesting/funny that when talking about CS, or more academic point of views around software development, the terms "Formal Specification" and "Correctness" are often mentioned, yet most CS students/labs still use languages that are really badly suited for this job, such as dynamically typed languages like Python.
Apparently anyone to the right of utter insanity is now a conservative.

Most of the responses to the manifesto so far do nothing but absolutely confirm the validity of the central thesis. Unable to defend their sick ideology on its own merits in spirited debate, the radical progressives engage in lying, shaming, manipulation, intimidation, coercion, cyber-mobbing, grandstanding-- anything to shut the discussion down without actually addressing or debunking any of the points made. It is vile and reprehensible.

The original piece is the opposite of a circle-jerk. It is a call to dialog. It is a call to openness (a LIBERAL value!). It is a rigorous challenge that anyone with the merest shred of intellectual integrity will recognize as legitimate and sincere. Progressives have the opportunity to respond honorably and engage with sincere and honest arguments, trusting that when truth prevails their side will be victorious on the merits of their ideas.

Although it might be too late. The lying sacks of shit in the left wing echo chamber (The Guardian, etc.) have already decided brand this an "anti-diversity screed" and promote a deceitful, defamatory narrative of a google employee who just handle diversity. It is an absolute disgrace.
OpenSSL in Debian Unstable drops TLS 1.0/1.1 support
Mind linking to some of the compelling evidence against CBT?
I kinda hope he at least keeps the ability to notify the emails of those whose passwords may have been breached, removing the public page is fine, but it might be more useful if that paste service lives on in the background.
Sounds a bit like deriving the equations of kinematics over and over again to me. To each his or her own, but that just sounds incredibly boring to me.
I quite like your analogy. If software engineer is like a mechanical engineer, what would a programmer be like, a mechanic?
It matters how, specifically? If one person says there's no such thing as red, and another disagrees, there's no physical, observable thing about the universe that they disagree about. They're not disputing how light functions or how vision works, etc; they only disagree about which set of words should describe the whole state of affairs. Disagreements like that strike me as profoundly unimportant.
I wonder if it would be possible to build starlisp-simulator on a modern platform and thereby "emulate" / simulate a CM...

The Wikipedia page says it was ported to CL in '01, but the links are old/dead.

EDIT: aha.
https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/...
In most of the US, this is considered a great thing. The most populist thing you can do is help homeowners reap capital gains. There was no question, for example, that the federal government would have to act to re-inflate housing prices after 2008. The mortgage interest deduction is untouchable. Nearly all voters own real estate. You're only going to be subject to the rental market if you're a student or poor. Even the lower middle class (by definition, kind of) have a mortgage of some kind, and therefore benefit from rising property value.

It's not clear why "it drives up property prices" is a bad thing in the US, except in San Francisco and (maybe) New York where renters have a little bit of power.
Because there are what, six types of bridges? (EDIT: 36 according to wikipedia.)

There are six thousand types of programs (as a wild guess), and they all interact with each other in an exponential explosion of complexity.

For a formal method to work, it has to be generally applicable across a wide range of situations. There are methods like that in software engineering, and you see them in situations where the program is potentially life-threatening. But most programs would be hindered by this rigor.
Avoid pesky renting, sanitation, fire and tax regulations to bring tenement slum housing for the 21st century - because it's profitable.
Could I read somewhere other than ChristyNews3LV twitter talking about that? I do see it referenced by his friend's twitter account as well so I'm not trying to say it didn't happen or anything, I'd just like to read what the DA said here.

Google is failing me.
Duly noted. To accommodate non-native English speakers, I kept 'puzzle.'
Don't think the US can match Japan for loneliness/isolation.
Most developer jobs contain parts of both, with more time spent in software engineering.

Software development, app development, game development, web development are all probably 90+% software engineering and 1-10% computer science depending on the project. Specific projects may differ such as writing standard libraries, engines, data, standards, teaching, etc. In the end most of it is production and maintenance as part of shipping.
Google and the majority of silicon valley grossly abuse the term software engineer (which is what you describe). There are very few software engineers at google, mostly just developers, many of whom are actually PhDs, which is also not an engineer.

Engineering is about process and responsibility. A professional engineer is often a protected term, and comes with a certain legal authority to approve designs as sound and correct. The purpose of this is to give people a reasonably reliable way to ensure that the people they go to for engineering designs meet a minimum level of professional knowledge. AFAIK in some cases the engineer can be held liable if their design fails causing death.

Can you imagine if developers had to take on some liability by legally and officially "approving" that a software design meets some criteria of being "free from error"? It's almost crazy to consider it, though you can imagine that such a thing would actually be pretty important for say, medical equipment software, or aircraft control software. Unfortunately this is pretty far from the reality of software engineering.

Unlike other forms of engineering, there is no such thing as a "professional software engineer", though you can get a degree in the _topic_ of software engineering.

TLDR there are no "software engineers" in the same sense that you have electrical or mechanical engineers. The protection on the term engineer in software is commonly contested, though perhaps less so in the US then elsewhere.
>Using a pen is also much more expressive, allowing me to highlight/format certain points as a discussion/meeting is ongoing and add illustrations, arrows etc. on the fly.

I think this is the killer advantage of handwriting over typing text in a computer/phone/similar. You have much more expressiveness: you can underline, highlight, cross out, circle, draw, make arrows, organize in lists, different indentation levels, different sizes and fonts lay things out along the page as best represents your mental pictures. And it's all simple and frictionless. I'm very very skeptical any computer program can ever be as natural as jotting stuff down with pen and paper.
> More than anything, I would say that what "went wrong" is simply that the wind changed. Tech is driven by fashion more than anything else,

That's not my recollection. And I disagree with the fashion thesis too. :)

So I used Tcl, perl, and python in the early 90's. Tcl owned embedding and Tk. Perl owned sysadmin and CPAN. And was fast. Python owned OO and "nice professionalism". Perl and python had hashes. Tcl got hashes. Tcl and perl picked up OO. Perl and python mooched Tk. But Tcl remained furry and batteries not included. Perl remained buggy and weird and unprofessional. And python remained without good code sharing. Turns out people wanted "nice" more than embeddability or CPAN. All three communities knew what their strengths and weaknesses were. And were variously able to deal with the weaknesses, or not.
It was an obnoxious comment, but please don't respond to obnoxious comments by making the thread even worse.
That's what I'm doing now. It's ok, but it's against my contract to get paid for those projects. So I have to give everything away for free, open-source!

Sounds great, but that also means my marketing budget is zero. I can't find users. I've put in all this effort, but nobody knows about it, and it feels all like a waste of time. But you know, I still get paid ¯\_(ツ)_/¯
A meta-analysis wouldn't solve the problem unless it somehow included previously unpublished data. Publication bias has left whole fields of science untrustable.

If an individual scientist cherry-picked interesting data the way publications cherry-pick results to publish, it would be called fraud.
Six types of bridges... Were you serious? There are definitely ways to apply formal engineering methods to software that greatly help its development.

Computer programming is not a special snowflake. It's a field that (in many areas) refuses to grow up.
We detached this subthread from https://news.ycombinator.com/item?id=14942966 and marked it off-topic.
Economists call this the principal-agent problem. When/if we figure out how to have public corporations without boards of directors who are scandalously traitorous to the common stock investor, most commerce will move to that new model.
Is it unethical to keep a chair warm when my boss didn't give me new tasks to do?

For other areas of life (immigration), I need to get more years of continuous relevant work experience.

I come to an office every day, but my boss just doesn't have enough to keep me busy. My job title is "Project Engineer", which is vague enough to cover everything from DLL debugging to Node.JS programming to network monitoring to evaluating Advanced Planning systems. The latest task is to do some online course in machine learning, even though he didn't specify how the company will need it.

On bad days, I feel useless. But I reconcile the situation to myself by saying it's basically a "basic income" (the salary is not high; the minimum that people on my visa can have). I could think about changing after I have the years of work experience, but years just come with patience, not with productivity. I feel like my situation isn't "fair" because my friends are so much more stressed, but I need the years, not the results.

I also do a lot of side projects and post them online (e.g. learning Chinese - http://pingtype.github.io ), but my contract and visa specifically state that I can't have any other paid work. So all my projects must be free and open source.

If another rest-and-vest person wants to comfort their conscience, I suggest reading more about Basic Income theories.
In my experience this is the big difference between a conservative and a liberal -- is money earned by providing value or extracting it.
Similar things happen for most rants.
louthy, I'm from the VS team. Sorry to hear that you are running into this. Can you Help -> Send Feedback - Report a Problem (don't worry about the contents), and point me to the resulting feedback? I'll dig into your performance data and make sure we've got bugs/fixes for the things you are running into.

Dave
twitter.com/davkean
Forcing it to grow up would harm it, though. The engineers would move to companies that don't force those kinds of constraints.

It's important to keep in mind what "growing up" translates to: slowing down. This has both economic and competitive implications. Sometimes it might be a win, but the vast majority of the time your ability to move quickly (and yes, occasionally break things) is an advantage.
They have the same data available ... seems like it'd be more like the variations in weather models
On the other end, they detained their first suspect with next to no evidence, then locked him up in a mental ward for over 6 months despite new bombings happenings while he was in there.

Remember Serpico (not just the movie, but what the real guy uncovered): the New York police used to be hugely corrupt, until his testimony brought about changes.
WET is "we enjoy typing" where I'm from