skysight-inc/HackerNews huggingface dataset:
I recall Richard Stallman saying custom software comprises over 90% of the effort. I myself has to physically meet one person who is currently working on massively distributed software. (I have met some who have worked in games in the past.)

I don't have anything more precise, but it seems to make sense.
You might want to take a look at http://neuromaencer.com/visualise/ to get your fix of Cyberpunk aesthetics
> Companies (including all of the big ones) pretty much all conduct interviews this way

I've interviewed for developer positions in Pennsylvania, with companies ranging from well-known Fortune 500s to local shops. Not one of them had a whiteboard, asked me to write code, or asked me to develop an algorithm or solve a puzzle.

The interviews were largely the same as those I've heard about for most other jobs: you go over your resume, talk about what you did at past jobs, answer cliche questions like "how do you handle disagreement" or "where do you see yourself in 5 years", talk about the position they're hiring for and their culture, and maybe about compensation.

So maybe it's more accurate to say something like "tech companies (primarily the big ones in Silicon Valley) in the handful of high-tech startup hubs in the world pretty much all conduct interviews this way".
I would like to challenge him with the creator expert set of modular buildings. 10246, 10255, etc. But 10255 is US$399 for example.

He already has 31052 and 31051 which I think are excellent 3-in-1 sets. Would love to see more like those. They are about AU$80-120 which is a workable birthday/xmas pricepoint.
This may be a reason why, but it's not a great one. The vast majority of people employed in the US with "engineer" in their job title are not Professional Engineers.
You don't need to know how to implement a parser to recognize it as a solution to a problem. And there are already libraries and tools for building parsers anyway.
> Anyway, this situation is very complex and very very very different from what the typical HN "dead tree is expensive and for losers, the future is digital!" commenter thinks. If anything is in real trouble right now for deep structural reasons, it's digital, not print.

Somehow TapeOp magazine manages to deliver ~41.5K free print subscriptions every other month, at least in the US (digital subscription is included).

TapeOp has advertising, not sure if editor/publisher draw a salary, and I'm guessing that freelance interviewers/product reviewers get paid little if anything. Nonetheless, they've been the most kickass music production/recording magazine for more than 20 years.

Some info on how they do it:
http://tapeop.com/mediakit/print/
I guess you know about https://github.com/plv8/plv8 , but would like to see it builtin?

Unfortunately, having something like v8 as a postgres build dependency would be pretty drastic increase in build requirements.

A number of distributions of postres (debian/ubuntu packages (all versions http://apt.postgresql.org/), rhel based (https://yum.postgresql.org/) provide it in an easy manner. I'm not sure there's something as convenient for OSX and windows however :(
"Throttling and prioritization aside, this is not an argument I have heard anyone make with regard to net neutrality."

It was made after the Bittorrent blocking that dragonwriter referenced. The next thing they did was start throttling it and other high-bandwidth users. They were secretive about it, too. This was a problem in and of itself since there were content distribution businesses using BitTorrent. Having everything but their product running smoothly on a network makes them look incompetent. People might switch to vendors with steady performance that weren't being throttled. Consumer advocates argued it was bad since they sold us on a specific speed we could use as much as we like. If they wanted tiered access, they should be public about it and/or straight charge for it in their marketing materials. The debate continued.

EDIT to Add: I think the reset packets should probably be mentioned as they're an active attack on users' connections.

https://www.eff.org/wp/packet-forgery-isps-report-comcast-af...

"They are still merely the distributor no matter how directly they censor you. "

Ok. Change the word to distributor and my point stands. They control what content you can get if they can arbitrarily block things, inject stuff into your traffic, or seek rent from content suppliers. ISP's have done all these things. It's still puts them in control what content you can receive through a pipe no matter what word you call them.
> and no civil war

erm. ETH vs ETC anyone?
I don't wanna be "that guy", but this seems to just be the the list monad.
Civilizations spent centuries coming up with what we now know as basic arithmetic. The point is now that people have done it, it is easy.
Fair enough. In the US, "engineer" is used pretty widely--including by people who are clearly not engineers. (I could name a number of examples from the oil business.)

PEs are mostly about certifications needed to sign off on things in some cases. I got an Engineer-in-Training certificate but never had the need to get a PE.
That's funny because I had the opposite experience: had a sales call at unnamed aerospace company. They were interested in Cygnus's free embedded OS (now eCos). Why?

Well, the O/S they were using was licensed "per device". When they deployed, they had one device, but during operation they would have more than one.

They didn't want to get in trouble by wasting the government's money on unnecessary licenses, yet they didn't want to get the government in trouble (because they would get in trouble) for using unlicensed software. A free software (i.e. open source) alternative would solve the problem.

I pretty much immediately realized that they were building MIRV, and at some point suggested that perhaps it would not be a problem. They didn't seem particularly amused by this point, and after the visit wow, our sales person was pissed!

And indeed they didn't follow up -- I imagine they just struck a deal with their existing vendor who will go unnamed.
> void func(char* arg) { char buf[128]; strcpy(buf, arg); }

I'd much rather solve this one - and talk about maintaining legacy systems, than any of the other interviews I've done.
> the fast elegant solution that doesn't fall over in obscure corner cases

This can go both ways, though. Sometimes the fast elegant solution is too elegant for the nasty corner cases and a much bigger, uglier, but ultimately straightforward procedural block of crap is better.

The examples I've seen are from established businesses that occasionally slipped up in refactoring out hacks that were introduced to support deadline-driven requirements. A year or two later, that hack is powering the reporting for a huge portion of the traffic, and you have to be able to balance between (a) writing maintainable code that supports the hack for the short term and (b) working with the rest of the business to clean up the requirements so you can improve the system for the long term.

(b) is a skill that most interview processes I've seen completely ignore. And (a) often is downplayed (as "simple" or "easy") compared to more clever tricks - but knowing how to do the clever tricks might turn into a temptation to use them more than you should.
Google has the privilege to treat you like an ape, because they know people will take it to work there. "Dance monkey"! If being spanked like a monkey doesn't tickle your fancy then don't interview there. Interview prep isn't going to make that better.
When the credential becomes more about permission that proficiency, you'll get corruption instead of competence.
For a senior role - "Basic"/pointless problems are those algo questions you would ask at the big 4. Rarely will you find a senior level engineer knowing the best solution to inverting a binary tree or any other text book problem you know because 9/10 times those are not used at all in any of the most common real world cases.

However, what meaningful questions will cover are advanced architectural problems, particular inner workings of a tool/framework, how to squeeze in the last few drops of optimization etc. Conversation should flow without any major breaks and the most experienced engineers will talk about edge cases of edge cases, thus continuing the conversation themselves. You can discuss different types of architectural patterns, ins and outs of each one and how it can be applied to a particular problem.

You should not waste the engineers time on textbook questions if you value yourself or the interviewee, and as the parent comment stated - the engineer should walk out if they start asking "basic" questions. Someone that worked in the industry for 10-15 years should not be bothered with them.
>In fact , our visual system has been trained to instantly recognize a!=b in code

Citation needed.

>confusing = with == will lead to lots of errors etc

This is more about NOT confusing == with = -- and several similar characters than the opposite.

Sounds like you have thought of all kinds of arguments to not actually try it and see whether it's any good in practice -- which is how anything should be judged (unless it involves some huge risk). In other words, a priori rationalization.

>If I get used to this font on my machine, i will have a real problem when parsing code in another terminal/editor.

The above argument advices to forever stick to a lowest common denominator coding toolset, lest one has to ever try to work in other environment.

How about maximizing the performance one gets from their own, and most frequently used, environment, instead of "what-ifing" for foreign systems they might have to use 1/10 of the time or less?

Plus, having a tool at our disposal and getting used to it doesn't mean we can't also do without if needed. Especially if it's a small improvement, like the one proposed by the ligatures here, and not some totally different notion that we can't ever go back to how it was without it...
http://www.jarlstrom.com/index.html

has his website changed? It doesn't say professional engineer anywhere on it.
See, it's not divisive at all to me. There are two types of degrees - a computer science degree and a computer engineering degree. If you are an engineer - your paper says so. If you are a scientist ... you are a scientist. There is a very BIG difference. Folks that write software can be both engineers and scientists. However, there are key differences in the applications of being an engineer. Just because I write E=mc^2 on a board and apply it to some problem in front of me, doesn't make me a theoretical physicist - it just makes me a guy writing on a board, a formula that a physicist might use. In the case of the story, he's a mechanical "engineer". He isn't a guy off the street calling himself an engineer. He has the education to match the claim. HUGE difference. Software engineers have degrees that state they are. Software / computer scientist can be thrown around more liberally, but a software ENGINEER cannot.
Of course, but it's highly nontrivial for the individual humans who are responsible for it.
Strangely, the first software dev title I got with "Engineer" in the title was from a European company. "Applications Engineer"
You don't necessarily need to study for hours in your spare time to do this. Usually when people talk about studying to pass a Big 4 interview they're talking about brushing up on the algorithm stuff and not learning some new tech. For the sort of thing you're talking about, finding your way into jobs working on cool stuff will often provide the boost that you need.

IMO all but the most serious of side projects tend to not build enough experience to pass an interview for Technology XYZ anyways so unless a company is willing to deal with a newbie, and many are, it doesn't matter that much.
The fundamentals don't change every six years. Get them down, then do a quick refresher before a job interview.
It appears that the page won't load.

Here is the most recent snapshot from the IA Wayback Machine.

https://web.archive.org/web/20161028130628/https://www.ist-s...
Interviewing is stupid simple. [...] Maybe if you are a college grad with 0 real life experience then maybe interview prep is necessary... don't know. I could be biased though. The last place I interviewed at they knew who I was, something about my software, and some of my online controversies before I even walked in the door.

Yes, this is bias. Most candidates aren't being hunted by employers. It's the other way around.

It's quite the opposite of "simple." It's a soul-crushing experience of being denied at every interview because you can't think out loud or do whiteboard coding and don't have a social media portfolio presence to fall back on. The only simple part is how simple it is to reject a candidate based on the personal prejudices of just one of the five different interviewers you have to meet with.
Not sure if you're actually worked in web services but it's very common to pay for database systems.

Netflix, eBay, Apple, Sony (for PSN), Spotify are all Datastax customers paying for the commercial version of Cassandra.

Facebook, Foursquare, eHarmony, Buzzfeed, LinkedIn are listed as paying customers of MongoDB.
Op didnt state a fact, he made a somewhat cynical prediction, based on his belief that restriction of pollution generating activity leads to more pollution. Its only true if no one enforces the law, which can be easily done in this case. That is as clearly as i can explain why that seemed defeatist imho which I thought explained the downvotes.

I'm not trying to make implicit assumptions, that question was rhetorical and answered in the next sentence.
>I don't want != changed to ≠ because ≠ isn't a C++ operator.

A colored != is not a C++ operator either. It's about getting our minds to differentiate symbols faster, not about whether they exist as is in some language's syntax.
I have been living as a Hikikomori for the last eight years. Every two years I leave my home for a few hours, but I spend the rest of the time in front of my computers.

I don't have any friends in real life or online and the only people I interact with are my parents.

Every meal is prepared for me so the only thing I have to do is my laundry once a month.

I often think about how fast time flies when living this lifestyle. A year feels like a month to me.

The sad part is that I have missed out on most things a normal person experiences. The twenties for most people is about experiences, creating lifelong memories, parties and fun. It feels like my twenties was over in the blink of an eye and left a book with empty pages. My youth has run into the sand.
Ok, I'll try and use an example from financial services:

Disclaimer: Never worked in financial tech, I have thought about this problem for 5 mins. This is unlikely to be an optimal solution to keeping a sorted set of distributed data. I'm just trying to show how basic knowledge of data structures helps in the field of distributed systems.

Lets say you need to keep a sorted set of sooooo much data that you cannot keep it all on one machine. I would imagine all financial services firms have some custom datastore which has "potential buy orders" and need to keep them all sorted by profitability to efficiently search/insert/remove from that datastore.

In such a situation, my instincts would be to create a distributed, redundant Heap. Now, how do you build a distributed, redundant Heap, without understanding how a Heap works? How do you even know what to look for if you don't know what a Heap is?

Now, lets say you've built it such that each node in your distributed network acted like a node in a Heap, and the left "pointer"(i.e. url to other computer) meant "less than" and the right "pointer" meant "greater than". Now you have this data store in production and all of a sudden you realize performance worsens over time... "WHY is this happening? Is there some memory leak?". You investigate and realize that all of your data isn't being distributed evenly! "Do I need to like.. shuffle the data around? How do I get it so that the data is evenly distributes?"

At this point if you do not know what a red-black tree is, what do you even google look for? Lets say you dig around for a while and find out about re-balancing trees. Now you have to implement it, and eventually you figure out that one of the best ways is to color your nodes. When a future colleague/manager asks, "What is this system, please describe it to me?" wouldn't it be nice to just say "Oh visualize it kinda like a distributed red-black tree. It holds XXX data, and ensures that it is always sorted and re-balanced for optimal performance."
You can now run OpenSSH in a console window via Windows Subsystem for Linux, if that makes you feel more at home.

https://msdn.microsoft.com/en-us/commandline/wsl/install_gui...
Doesn't have to be the limiting factor to still be an improvement.
Cyberpunk in the William Gibson sense?

Or Cypherpunk?
Ya, it's just a made up title to make people feel important, to be honest.
Software doesn't have to be freely available to be free.

Software is free when the user is free. This also counts if there is only one user.
I'm not sure if I understood this correctly - you had to interview for another team within the company, even though you've already went through that same process once? If true, that's ridiculous.
It is printed, in fact, so browser stuff wouldn't work.
Software engineers would typically have Computer Science degrees, not Computer Engineering degrees.
Ask your smallest family member if they think it is too much :)
It would be an issue if they didn't share the source code with him or other users of the software (assuming there are modifications to it, but that's very likely the case). From the blog post I see no reason to believe they wouldn't provide it (especially in this case, where the "user" is one of their own developers)
> Why limit the comparison to Europe?

The question isn't "what's the best policy for maximizing the quality of the broadband network?" It's "what's the best policy for maximizing the quality of the broadband network, in a country where people prioritize many other things more highly?"

It's pointless to compare the U.S. system to an Eastern European or Asian country where the people see broadband, technology, and computers, as a way to close the wealth gap with the US/UK/Germany/France. People in the U.S. don't see broadband that way. To the extent ordinary people care about it at all, they see the issue in terms of the pressing social justice issues the U.S. faces: rural/urban, low-income/high-income, etc. They care (quite reasonably) a lot more about whether low-income folks in Baltimore have access to broadband (and computers to use it!) than whether knowledge workers in Menlo Park have gigabit.

That's why we have well-developed programs for, e.g. subsidizing rural telephone deployment, but really nothing for fiber: https://bits.blogs.nytimes.com/2009/03/12/the-broadband-gap-....

This is particularly relevant in the context of municipally-supported systems displacing private ones. Take Amtrak. A private system aimed at shuttling knowledge workers from DC to New York might actually be pretty good. Instead, we have a public system where the only sensical route is burdened by having to subsidize trains around the country nobody uses.

Here in Annapolis (a D.C. satellite city), Verizon is upgrading our fiber to gigabit and I can get 50-150 mbps downloads on my iPhone. Having experienced the D.C. subway spend a good chunk of the last year literally on fire, there is no way I'd vote to turn internet service over to the government. If I lived in Tokyo I'd feel differently, but I'm stuck with the government I've got.

> Also, why focus on situations where quality is the same or worse?

The countries I picked for comparison are just the 5 largest EU countries, which contain more than 2/3 of the population.
I would find someone's homework template and just copy it. Then when you go to copy your work to LaTeX just replace their content without touching the formatting if that makes sense. I too tried to learn LaTeX in college but decided the learning curve wasn't worth overcoming and what I wanted really wasn't that unique.

Eventually you're going to come up with your own formatting ideas that you can tweak over time but it's much less stressful than drinking out of the firehose when your homework is due in four hours.
If a bully smashes an iPad or a Chromebook owned by the school, it's no different to breaking any other school property like a microscope. You summon the parents and bill them.
Tools Designed with the Administrator in mind
Burry the cables. Won't protect you from everything, but makes it a bit harder to compromise them. You can even have "cages" around them that alarm a nearby response team of any manipulation. Of course, this adds siginifcant cost, but then you have to take the total economical cost into account if an attack is successful.
The sooner you make a change, the fewer of your life's pages will be blank.

Think more of the future and less of the past. I know how it feels to think that you missed out on years of your young life, but you soon forget when you fill your present with positive experiences.
specialized instructions to speed up neural nets

FWIW, Intel uses neural nets to speed up its branch prediction. Yes, you read that right.
What is interesting is that by population, 90% of the functioning democracies in the world were at one time ruled by the United Kingdom or one of its former colonies. The list includes India, Canada, USA, Australia, Ireland, Pakistan, Philippines, South Africa, Japan, and Germany.

The fact that so many democracies derive from the UK means that democracy is not a default state and to be successful needs centuries of tradition and institutions to make it work well.
Any sources on the claim that people are starting to think that being hiki is a good idea?
By the title, I thought it might be referring to something like the esolang Befunge (https://en.wikipedia.org/wiki/Befunge), which operates on a grid rather than the usual linear sequence of instructions.
About 4 man years based on what I've done myself.
As someone who recently ran the interview gauntlet, the parent comment seems pretty accurate. It matches my experience with interviews at a wide variety of companies.
The first phone interview I got with them was with an interviewer asking questions that were given to them by someone else - ranging from how does DNS work to inodes in filesystems and estimating 2^128... at 6:30AM in the morning.
Great article, added it to my collection of interview prep resources: https://github.com/andreis/interview
Jacking a comment from tfa:

> B. K. Oxley (binkley) (guest) 30 Apr 2017, 11:42

> Does SQL match your notion of Cartesian paradigm? It's declarative (not procedural or functional), and works over sets. The "larger scope" would be the whole set of data; the "smaller scopes" would be projections, selections, etc.
"

My immediate thought also was set-based programming, and in turn SQL and its kin.
Puzzle - (noun): a game, toy, or problem designed to test ingenuity or knowledge.
Interactive mind map for learning any topic on Earth
Writing code that explicitly manages memory has costs too; there's a risk of use after free, or double free. If you don't free you can't have these specific problems. And if you accept this, it opens the way for GC style programming, for some parts of the app at least.
It sounds like modern technology and culture are just more enabling of the kind of withdrawal that is typical of depression. In past decades it would be much more difficult for a human to willingly wall him or herself inside of a single room for extended periods; now we have the internet.