skysight-inc/HackerNews huggingface dataset:
Even though by OP's criteria I am a good programmer, I still think I am terrible compares to my manager. I want to step up. Currently at a web based startup. What can I do to become better in terms of knowledge?
" plant will use this heat to produce steam and then electricity by way of turbines and generators"

Has anyone thought of a better way to "harness" power to produce electricity than heat? I'm guessing in the future there will be a more efficient way that changes how we think about the production of electricity.
I don't think there can be an absolute measure of how good of a programmer one is; it is a function of how well acquainted one is with the problem at hand.

A problem is not only defined by stuff like the core routines of the program, but also everything surrounding it, like the structure of the code and of the program as a whole, the environment the program is supposed to be running in, and how to collaborate or manage the other people who are working on the program. Though at this point it's probably better to use a broader term like "software engineer".

A programmer who has enough experience across the whole stack for a certain problem is going to be able to deliver good, readable and efficient code in a timely fashion.
>as a web developer I can say that most of the development is just boilerplate configuration

Um no.. what boilerplate project provides universal data management, business logic, and performance optimization that your project needs?
Paid for Elixir full time, and there is definitely a market :)
Computational foundations of natural intelligence
MailChimps brief article about it: http://kb.mailchimp.com/accounts/management/international-ch...

"Note
Although MailChimp can process UTF-8 characters in most parts of our application, we cannot process UTF-8 characters in your subscribers' email address prefixes. We do accept Internationalized Domain Name (IDN) servers, so it’s alright to have UTF-8 characters in the domain name.

For example, we’ll block direcciónelectrónica@domain.com because the international characters are in the prefix, but we'll allow an address like test@ñoñó1234.com, where the characters are in the domain."
Compromising the protocol this way on the spec level sounds pretty corrupt. These people should use something else than TLS. TLS has so far had a headline objective of end to end confidentiality (as stated by the spec) and this is a backdoor mechanism. I think the argument for the "pragmatic" compromise is pretty clearly morally unsustainable.
Do ligatures really act like one character? I've never encountered not being able to select only the f ro the i in a 'fi'-ligature, but I don't really use ligatures outside of word processing.
Hi Eduard,

Our monitoring functionality leverages Prometheus (https://prometheus.io) to capture and monitor systems and applications. There is support for a wide variety of common apps (https://prometheus.io/docs/instrumenting/exporters/), and developers can always further instrument their own code as well.

In the near term, our GitLab and Prometheus integration is focused on detecting performance changes on key metrics like latency, throughput, and error rates. Then leveraging our knowledge of the code base and CI/CD, funneling that feedback back to developers and the changes that introduced them.

Metrics in 9.4.0: https://docs.gitlab.com/ce/user/project/integrations/prometh...

This will likely not replace a dedicated monitoring solution like New Relic or Nagios, but can augment them and surface performance analytics within the tool developers are already using daily.

We'd love it if you give it a try and pass over feedback!
> RAF policies

I suspect the officers wouldn't have cared too much about policy, given the era and the situation. They'd have chosen the person with the highest chance of success, probably the smallest person with the best flying skills.
On balance, maybe not such a bad thing.
Premise: don't make => look like ⇒, because ⇒ is already a separate thing.

Then later: check out this font I made where 0 looks like Ø.
but you are bound to a huge capital investment for what is a finite performance potential.
This is not a good comparison. Your counter analogy is equally bad.
They aren't implicitly decided by the font, they are supported (or not supported) by the font and explicitly decided by the editor, so your recommendation is the case in practice.

i.e. OpenType fonts optionally accept a range of settings flags to toggle various features. For standard ligatures this is the `liga` flag, this flag is off by default and an editor sets the flag to display ligatures (if the particular font supports that flag).
Growing a website
If the skills gap/demand for 'coders' is correlated with the closing of two 'coding bootcamps' closing; does the author of this post also assume that some spontaneous, profound event will reverse our current trajectory? That h1b and other visa abuse by primarily tech companies will be permitted to continue, perhaps even expand? Will the direction of 'america first' soon make a 180 as well, perhaps the cost of outsourcing IT/programming will be reduced by imminent unprecedented legislation?

While I understand that the majority of our greatest thinkers can attribute the University of Phoenix to their sudden rise from obscurity, is their any sort of data available displaying how well they educate their students? I have seen far too many students graduate from university with computer science degree, with little to no understanding of the real world, or anything other than the concepts required to learn to program with java(exaggeration), but I can only imagine what sort of education another 'for-profit university' provides all the kids who want to become cool, hip, programmers and make 250k for browsing reddit remotely.

My guess is they spend most of their time/money figuring out how to locate and market to unemployed/underemployed Americans with access to student loans, and little certainty or direction in their lives; while spending zero time coming up with a metric via quiz/survey to determine good candidates for programming jobs, as that would likely reduce profits for said for-profit university.

I don't know much about these bootcamps, but I'm sure some of them do great things, however, I don't think the author of this post considered any of the likely relevant factors to the conclusion they are drawing about a possible trend here. Quality front page nothingburger rambling.
This is pretty informative on handling errors in node: https://www.joyent.com/node-js/production/design/errors
It's a good point, I have noticed that as well. But it's both a cause and consequence of the lack of easy access to capital. Early stage big ideas that require a lot of initial capital just won't get funded in a place like Pittsburgh. Once they pick up, then they have a chance (see Duolingo for example). But by that time most have had to make ends meet...
Well you can use SOCKS or OpenVPN over SSH quite easy too. However, in my experience these are are less reliable, at least in China for GFW.
If we manage aneutronic fusion, the output will primarily be fast-moving charged particles, which could be converted to electricity without a heat cycle. Helion, Tri Alpha, and LPP are all attempting aneutronic fusion reactors that would work this way.
Simula objects were not a Actor like, they were exactly like today object. Smalltalk originally was like Actors, and it is what spawned the idea in Hewitt mind.

Our Objects of today come straight from Simula.

Edit : and yes, there is a reason i said behaviour and not state. Objects are bad at encapsulating state, because you do not encapsulate state like that.
They have been writing this same article for three years it seems like. In fact, they hype Pittsburgh quite a bit.
Absolutely right. There's very little linear algebra required in deep learning. This Computational Linear Algebra course mainly covers decompositions, which aren't used much in deep learning.
I think the distinction between errors (bugs) and exceptional situations made here[1] is important: if you have a problem because of some transient condition (an exceptional situation like a network outage or a full filesystem) then it makes sense to try to recover somehow. If you hit an error (i.e. A programming error or a bug) all you can do is abort, since you can no longer trust that the program will do the right thing.

[1]: http://joeduffyblog.com/2016/02/07/the-error-model/
Go's been great for creating a web scraper. But it's been an unmitigated disaster for being able to write the data to a database due to the immaturity of ORMs.

Might as well not pretend something is an ORM if it can't do the fundamentals (like upserts), fully hydrating structs, etc.
> Universities focus too much on mathematical formulas in my opinion; real systems are not clean and simple like a math function with few variabes.

How many variables your functions consume depends on how much you split them up, although you'll of course end up with thousands of functions for a real application, if they each consume ~3 arguments. So, in other words, the limitation is to what degree your language enables you to split up your application in tiny, obviously simple fragments.

Mathematical functions can describe anything. Haskell consists of mathematical functions, and is Turing-complete, and because of its purity makes it easy to split up your functions into tiny ones (or at least sufficiently small).

For example, this[1] module is a Bitcoin payment channel server I'm writing in Haskell. The module describes, mostly at the type-level, three different Bitcoin networks (live, test, test-derive), and presents an interface to the Bitcoin network, which either fetches information from the Blockchain or deterministically derives test transactions.

Everything can be split up into tiny pieces like this, it just takes time, as the purity prevents you from utilizing loopholes that later turn out to be unmaintainable. It forces you to understand the essence of what you're trying to describe, because otherwise you can't capture all the invariants properly without too much duplicate code.

[1] https://github.com/runeksvendsen/rbpcp-handler/blob/master/s...
Case Western has to step up its game.
It looks like that has been fixed:

https://github.com/charlesthk/python-mailchimp/commit/5a4ed6...
It's a very helpful exercise, and something we do in lesson 9 of this course.
You acknowledge vitamins are required for healthy detox functions of the liver...those vitamins come from food/diet and the toxins themselves come from foods also.

So to promote optimal health foods that promote healthy detox functions should be consumed and those that uncessisarily introduce toxins or disturb proper detox functions of the body should be avoided...if you call that a "normal diet" fine, at this point you are debating semantics.

Just to put things in perspective with "normal", 10% of US kids have non alcoholic fatty liver disease, just like childhood diabetes...these diseases didn't exist in kids 30 years ago and they are all dietary, so let's drop words like "normal" and talk specifics.

Edit:
There are scraping tools that render a whole page with a headless browser and then look at what is actually there. Definitely possible.

Think about it this way: you could render the whole page as a JPEG with no computer readable text, but someone could still ocr it.
I've been reading HN for a couple years now and can't recall there ever being a consensus positive opinion about Go. All the discussions pretty much looked like this one.
Why All New Large Development in Los Angeles Seems to Be Luxury Development
Full of bugs (non working) functionality that constantly causes customer issues is not considered "rockstar". It might appear that way up front, but the lasting reputation will be from the success (or not) of the final product, including whatever post-deadline work is done.
The above comment was sarcasm. There is so much to the story that is unknown. People have already commented on just a sample of known unknowns. There are infinite paths to uncovering the unknown unknowns. Is it possible that the whole story is fiction for the purpose of teaching a lesson?
Well, there are some that I know. The original is here:

https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2436643

Then there is Neil Franklin a Maryland police officer and director of the organization "Law Enforcement Against Prohibition"

https://www.youtube.com/watch?v=rc29nw4Si3Y

And his interview in the Deep Web documentary at minute 60 (it is in Netflix).
There are so many things wrong with this that I don't know where to start.

First, to say there's no skills gap is insanity. I refuse to believe anyone in the industry actually believes that - even the worst bootcamps are placing folks, they just place folks that are not well prepared and shift the burden of training to the company. I'm constantly blown away that some of those people get jobs, and they somehow keep them, as the companies just start training from almost scratch. That really sucks, and a lot of companies are (rightly) wary of that, and a lot of companies throw bootcamp resumes straight in the trash can, but there are enough that won't that it doesn't matter.

Don't get me wrong, most of the skills gap is for capable engineers, and if you understand data structures, algorithms, architecture, memory management, etc. you'll get a job very quickly. We're talking within a week. But most bootcamp grads don't know any of that stuff, so the market is flooded with junior rails devs. (And even those folks still slowly get OK jobs).

There are audited, standardized reports from an organization called CIRR. Look at them - you'll see 90%+ placement rates, audited and from third parties. Granted there are a lot of lies on the home pages of bootcamp grad websites, but the perception HN has is much worse than reality at the good bootcamps.

I know the internal financials of quite a few bootcamps, and most are making a killing. It's really not hard to make money by charging $10,000/head so long as you keep demand. Iron Yard got out ahead of its skis and tried to open 16 locations at once. I have no idea what happened to Dev Bootcamp but the only way they could be losing money is if their expenses were absurd. They were bought for $80 million. I think the most likely scenario is the acquirer tried to change things up and killed everything.
Can you speak to Pittsburgh's zoning policies? SF makes it nearly impossible to add a significant number of new housing units because the zoning policies don't allow less dense housing to be replaced with larger, taller apartment buildings. Hopefully Pittsburgh isn't like that.
Nice writeup! Here's also the equivalent for us Django scrubs:

https://www.stavros.io/posts/how-deploy-django-docker/

Once you've done this, then it becomes trivial to deploy to Dokku, if you have your own VPS or dedicated server. I tried Dokku for the first time a week or so ago and I'm a fan:

https://www.stavros.io/posts/deploy-django-dokku/
The tech might not be hard, but stationkeeping an orbit on top of a target is, unless you have optics that can handle 36,000 kilometers of distance (geosynchronous). All other, lower, orbits involve the satellite hauling ass across the ground, usually at 5+ kilometers per second. The video would be great for about five seconds.

Real spy satellites have time windows and image like hell within the window, then adjust for the next orbit and wait 90 minutes. They’re often in polar orbit, too, because then you get different parts of Earth as it rotates under you. Satellite surveillance is quite tedious, and the enemy knows where and when they are.
If I were thinking about working as an instructor at a bootcamp, low placement rates would probably discourage me from doing it - the last thing I want is to participate in a training program that cons jobseekers out of money, even if the salary is good.
Java does it well, you can easily make good immutable map interface. The problem is with Java Collections which is just a poorly designed library, like most other standard Java libraries.

I really hope that someone will use JVM with another built from the ground sane library.

The only thing Java misses is covariance/contravariance for generics, but with some unsafe casting it'll work.
Grace Hopper, not grass hopper. The latter is an insect, the former was an awesome computer engineer who invented the compiler.
The best programmer is the one who can solve the problem effectively and efficiently without even touching the keyboard.

You don't have to be "good". You have to solve the right problem efficiently. Find the right problem and be the solution. If you need to write a program, make an easy one. Easy to use and easy to maintain. You'll get what that means after a few years of maintaining. Nobody ever cares if you're a "good programmer" or how you feel about yourself.
Mostly just at home. My dad is American and mom is Greek, so they each spoke to me primarily in their native language and I grew up speaking both natively to some extent. The Greek side's grandparents also lived with us for about a year when I was aged 3-4, which I think helped a lot. I'm told my Greek was better than my English up until I started going to school, and then my English rapidly got better and I started using Greek less often even with my mom— she'd speak to me in Greek and I'd often reply in English.

I did take some lessons from the local Greek Orthodox church's after-school courses, but most of the kids spoke less Greek than I did (many were 2nd or 3rd generation Greek-Americans) so I don't think I learned a lot there as far as spoken fluency goes. I did learn the basics of reading and writing from there, but this didn't seem interesting to me at the time so I didn't really put much effort into it. Now as an adult I put a little more effort into reading Greek newspapers now and then, but I still approach it as mainly an oral language and read very very slowly due to lack of practice.
I got the impression that The Iron Yard shut down because the company who acquired them made them. Everything else seemed to indicate that they were doing great.
People are realizing that even though coding pays well, it's not a job for everyone.
We hired 4 people out of boot camps. All had a decent level of skill (of course they did, we choose the 4 we liked out of dozens available). However after a few weeks, two of them left, saying: "there is no f'en way I can do this 40 hours a week for the next few decades". And they went back to their old jobs and old pay.
Agreed, one of the most dogmatic communities I've had the misfortune of stepping into. But then that's pretty much a requirement given the amount of pretending they need to pull off to keep their bubble intact.
It is not. I am a fourth generation Pittsburgh native. The bigger problem is the NIMBYs in SF that vote for things like "zoning policies" to protect the value of their houses. This situation is a very uniquely San Francisco one. The vast majority of houses in Pittsburgh aren't million dollar homes (yet) so this NIMBY-ism just doesn't happen.

It goes without saying that ludicrous regulations like "historically protected" homes that you can't remodel without bribing the city and trees on your property that you don't own (the city owns) that exist in SF don't exist in Pittsburgh.

On another note, the nice thing about Pittsburgh is that you don't have such an oppressively high cost of living compared to SF. You don't have $10 toast here, and you can rent a 1 bdr apartment for the cost of renting a single parking spot for your car in SF. Every single cost from utilities to parking to insurance for your car is a significant fraction of the equivalent cost in SF.
A bigger issue for me is that our ERP doesn't use UTF-8 for emails. I don't recall ever being told that this was a problem for our user base. We have a large number of contacts in Europe who forego their accents for the ascii equivalent
Fair enough and good point
The problem I've found it that you might wrap errors this way, but the libraries you use don't, or approach it differently. So you're either chasing down strings that may or may not be grep'able or you're fighting with delve to track down what's happening. The whole error situation with Go is one of the main drawbacks of the language imho.
I don't think a central exception handler means ONLY handle exception in one very specific point. It means that if you can handle an error handle it, otherwise let the central exception handler handle it.

I really like Elixir and the Erlang VM but supervisor trees are not a perfect solution either. For all the talk about how in Erlang you just let things fail and don't have to do defensive coding, any non-trivial application requires a lot of very thorough design on how to handle error scenarios and keep your application consistent.

If a process fails too many times too often (say your web service it's trying to ping is inaccessible) it can take out your whole supervisor. If that supervisor is holding an ETS table that holds important coordination data (but not data that requires persistence) that ETS table (and all it's data) is now completely gone, and unless that case has been handled you have a lot of processes running but not doing what they should be doing, and your application is inconsistent until you completely shut it down and restart it.

And if you don't plan for a lot of these scenarios then you will be caught completely surprised when it happens in production.
> our agriculture industry at its current scale is only possible due to fertilisers produced at mass from natural gas.

It's a bit more complicated than that.

Growing organic food on a healthy soil, will give you a certain amount of yield. Using fertilisers and modern techniques on that soil will give you a tremendous temporary boost. But most such techniques kill the soil in the process, and you eventually run out of natural fertilisers.

Using fertilisers and modern techniques on dead soil will have yields similar to organic food on a healthy soil. The only real advantage at this point is the reduced human labour required (organic food is more labour intensive overall).

Of course, organic food on dead soil will be crap.

We can stop relying on fertilisers, if we have a healthy soil. Fortunately, there are techniques to resurrect dead soils (basically have some wood rot on that soil), and some other things. It takes about 2-3 years, though, and generalising those technique will definitely require more farmers.
A year or two ago Cory Doctorow asked MailChimp how to get a list of all the mail lists an address is on and they wouldn't help him with that. MailChimp claims to be against spamming, but if that were true, I think they would give users a management screen.

https://www.theguardian.com/technology/2015/nov/17/death-by-...
There's lots of work for people with skills. Worker shortage under one perspective is a logical impossibility - it just means salaries are too low - but from the other side, there's plenty of things that could be automated that aren't because salaries are too high, hence a shortage.

This is all aside from the difficulty of grading devs to establish different salary levels, of course. I personally don't think my salary is too high ;-)
The comment i replied to :

> No, Generics make it possible to create a generic immutable data structure

I am sure i can read.
CMU has consistently been ranked #1 in the world for computer science. Generally, university rankings are VERY consistent over time. Harvard isn't going to stop being Harvard any time soon.

Also, "Pittsburgh" is spelled with an "h" at the end.