skysight-inc/HackerNews huggingface dataset:
The main difference is that more resources are now publicly available to everyone to look up on the internet which was a different story 40 years ago. This is why companies at the time hired grads that can re-implement closed-source software from scratch from a reference spec or by reverse-engineering from another company to stay ahead. This has happened with device drivers and closed-source compilers.

To some extent open-source has removed the cost for reinventing libraries, reverse engineering and there is little need to study specific elements in a subject to solve such a problem when you can grab lib_whatever or a free compiler for a language.

You are right that in interviews at famous companies (FAANG, asset management companies, aerospace / embedded systems companies) being self-taught here isn't enough. Instead, they require specific certifications and they look for the graduate with a strong engineering degree rather than someone who is self-taught.*

Right now in 2019, I would do both.

*Having a serious open-source project or significant contributions is actually a huge advantage over recent graduates.
also the Mac may detect it as a metered mobile connection and defer/throttle background usage (updates, etc).
A lot of them don't, though. Libraries are often funded by the county, not the city, which can help the tiny towns with a library, but there are plenty of tiny rural towns that don't have one. Like everything else, they need funding to survive. Here's an example where the county stopped funding them so the cities have stepped up with taxes and donations: https://expo.oregonlive.com/news/erry-2018/06/e72ef198469825...
The president is vocally anti-free press, constantly making false claims about immigrants, telling members of congress who are native citizens to "go back where they came from", vacationing more than any other prior president, and has failed to condemn white nationalism within his base.

There's plenty of facist behavior going on in this administration.
It depends on your distro; last I checked an "apt-get install bpftrace" worked fine on Ubuntu 18.04. Debian has a package as well. We're tracking them in the INSTALL.md.

Companies like Netflix and Facebook have internal bpftrace packages -- it's a default install on the Netflix BaseAMI, so it's always there.
> equently work on projects alongside CS graduates from prestigious schools who seem incapable of completing even the most simple coding tasks

It's possible there's selection bias going on. The wheat end up at the Apples and Googles of the world and the chaff end up working with you.

This isn't intended to be an insult. People who attend ivy leagues are given such a huge leg up that even an average graduate probably make it further than most of us plebeians.
>They’ve simply made the economic decision that it’s more profitable for them to cheat the system then work within it.

Well, a private company created an arbitrary system with arbitrary rules to make them gobs of cash, and now the entire world should "work within it"? Why? Personally I don't run an ad-blocker out of principle, so maybe I'm a bit more sensitive than the average person here since I get exposed to this garbage everyday.

Google also wants to "cheat" the system by not hiring any actual humans to actually make sure that people aren't tricked with ads for dick pills with heavy metals or protein power that is toxic or ads about payday loans or whatever other crazy scam-ads people run. Google wants to automate everything and leave the rest of us wading in this garbage. How about hiring people to fix the mess they created instead of stuffing their pockets? I'm only mentioning Google here, but I don't want to necessarily single them out, all of the web advertising platforms are responsible in someway or another. Its just that Google is an easy target since they are the largest ...

>I’m not making a value judgement here.

Um.. I believe the use of word parasite precludes you from making any such claim :)
Not to pile on, but what an extreme lack of forethought to brand this thing "node".
Which is fine. But that doesn't mean you should be favored in an interview and it certainly doesn't mean you're a better programmer than I am. My point was: favoring people that code for fun is just as bad as favoring people who only received formal degrees.
Haskell just enforces iteration through recursion.

How did he solve the iteration problem? A for loop is just syntactic sugar for a while loop.
absolutely not true. There are many many contexts in which I won't talk about what I do for a living because while I absolutely enjoy it and could talk for hours, I know others will find it uninteresting.

I seriously get tired of seeing these inane observations in this thread.
HDMI capture on an FPGA board that does not have an HDMI input. Over the six-part series of blog posts, the author explores the 2015 limits of FPGA hardware performance and IP segmentation for HDMI processing around $150 price point, e.g. http://zedboard.org. Other video projects with less connector hacking:

$250 Spartan-6 HDMI Light: https://news.ycombinator.com/item?id=18216910

$350 Numato Opsis Spartan-6 HDMI2USB (2015): https://blog.mithis.net/archives/category/timvideos-us/hdmi2... & https://github.com/timvideos/HDMI2USB-numato-opsis-sample-co...

$500 Artix-7 Digilent Nexys, https://store.digilentinc.com/nexys-video-artix-7-fpga-train...

$900 Zynq MPSoC (Arm Cortex A53 + Xilinx FPGA) with H.264 video encoder, https://www.xilinx.com/products/boards-and-kits/zcu104.html
Also, back in 2010 Joseph Perla wrote a similarly titled article, but less targeted around fake accounts and more around the supply of advertisers trying ads when fb was growing (was a couple years before its IPO):
http://www.jperla.com/blog/post/facebook-is-a-ponzi-scheme
(discussions: https://news.ycombinator.com/item?id=1293119, https://news.ycombinator.com/item?id=2116062 )

https://hn.algolia.com/?query=facebook%20ponzi&sort=byPopula...
the same kind of accusation was poisonning google ads for a long time but it was called click fraud. numerous customers were suing google over billing them for fake clicks. Ultimately, google proved to be better than other sources of online advertising regarding fraud detection, and so people continued to buy ads.

The problem is the same for facebook. Major advertiser track clicks up to purchases over months , sometimes years. So they are perfectly aware of which users are bogus, which impression are actually never seen, etc.
Ultimately the only thing that counts is whether the investment is worth it.
> This morning I was doing some tests in Outlook on supported styles for HTML lists.

"Today I was doing unpaid QA on a widely reviled proprietary Microsoft office app ..."
> Anyhow, tough topic. It has exactly zero political value. Nobody in government has any interest in doing the right thing. If it doesn't help them get reelected they won't bother.

The Supreme Court seems to be bothering...
Same here. The added benefit of there being a handful of really good resources to learn. The manual if my C64 pretty much taught me all the basics in a very approachable manner (I was 7 when I started).

Nowadays, there are so many resources (mostly low quality) that people waste too much time trying to decide or lesrning things wrong.
I think that's one thing that's making me think twice about doing a CS degree now e.g. by night — a lot of what you learn at university isn't in lectures, it's in the ample free time that you have between lectures.

With limited free time, it's hard to know whether it's better to self study or do a degree (or even just follow along a curriculum online)

I go between trying to work through things systematically to get a good grounding where I have knowledge gaps, and jumping to what I think will help me best on my job at this point in time.

It would probably be better to stick to one approach or the other to make more focused use of time, but I'm not sure which way is best! :)
I know but it tells a lot of the histor and stories about his interaction with Chris Kraft. In reality the history of both men and of the space program as we know it is very intertwined. Gene was like the "Hand of the King" to Chris.
Is the author is too concerned with semantics? I think so, a little. Junior developer may be the keyword hit that lands a recent graduate her first job in the profession. Apprentice developer... I like that term, but both of us liking it will not overcome the negative connotations it sets up in the minds of those writing the job descriptions and keyword parameters associated with unions and closed guilds.

From a self criticism side my $DAY_JOB classes me as a sr firmware engineer for reasons of pay grade - title determines pay at this Fortune 500. The keywords that land me offers include "senior firmware engineer", "hard realtime", and for some reason "pilot". Copyedits.
Not the author.
Seems like it, it doesn't look like Google Trend gives other variables, so just simple 2 var regression I'd guess
I think it depends on the person and the experience. It's easy to say that a particular course was helpful, because it often is. But what's the opportunity cost? What other things didn't you learn because of all that time learning about, say, OS schedulers?

Also, it assumes that you have access to a very high quality education. In lots of cases, the teaching might be mediocre (perhaps even at elite universities that care more about research grants than education).

There's a lot of value in having a standardized base of knowledge, where you learn all the things that a practicing engineer should know. But in reality, the sum of things you "should" do takes more than a lifetime. And you have to find some ways to differentiate your knowledge and expertise if you want to innovate.
syntax is the deciding factor in a languages success?
The value of a targeted ad is a lot higher than just +10%
Wow. Did they copy the same test for both fields twice too? Or more likely: do they have tests at all.
Spreadsheets are a remarkably effective way to get things done, especially table driven things.

Lots of “non programmers” can accomplish a huge amount with spreadsheets, and if you occasionally need something more advanced you can get a professional software dev to implement it.

Compress that to the alternative: paying someone to develop a pile of custom software, and then if your needs change you require a contractor to come in a modify that code for you. Typically you have to use the original contractor because such contract don’t usually include source access.

But seriously: don’t underestimate the power of spreadsheets.
Typically CS degree means that you can finish something regardless if it makes sense or not. That skill is in demand in large corporations that require people to follow stupid processes and complete tasks that don't reflect on what are the actual needs.
Of course there are good CS degrees, but these are not as common as one thinks.
The purpose of universities was to gather knowledge and pass it on where it was not possible otherwise to do so. These days people have open access to all kind of knowledge and universities are not as much important as they were.
If company lists CS degree as a job requirement, that for me is a good indication of a place I don't want to work in.
> (I work at OpenAI.)

Can you do an AI CTF like the Stripe distributed systems CTF sometime?
Are there any providers that don't engage in shenanigans?
There is a project that aims to bring NN/ML/DL/RL (along with other scientific computations) in the OCaml world - Owl[1]. They also have a list[2] of the potentially interesting ideas for new contributors to take.

[1] http://ocaml.xyz/

[2] http://ocaml.xyz/project/proposal.html
I see no content, except for a sales pitch. Yes, soft skills are important. Though there are many courses and I don't see any particular point why a sales page should be on the front page of HN.

Instead, look at these:

- "How to Instantly Create Intimacy With Any Person You Meet - what I learned from over 400 Lyft rides and a self-imposed social experiment" https://medium.com/better-humans/how-to-instantly-create-int... it has many super-useful links, e.g. https://www.rejectiontherapy.com/100-days-of-rejection-thera...

- The whole Charisma on Command channel: https://www.youtube.com/user/charismaoncommand (I looked at it while writing "Dating for nerds"... and I've learnt more)

- The School of Life https://www.youtube.com/channel/UC7IcJI8PUf5Z3zKxnZvTBog
I'm the author (Aaron Greenspan). Funnily enough, Joseph Perla used to be my roommate in Palo Alto. But I had nothing to do with him writing that piece, and I think he later ended up working for Facebook. So maybe his convictions weren't quite so strong.
Cool! I've been wanting to play with Flow-Based Programming and related stuff for a while so I'll definately give this a look. Could someone however explain to me the difference between "node-based" (the term used here) and "Flow-Based" Programming? It seems like the sentiments are pretty similar but perhaps I'm missing something.
Or just outright criminal fraud/extortion.
If there were any I would list - and I learned these early on (long before I even started my career) - it would be these (and they apply in general, not just the workplace):

1. Taking responsibility for one's mistakes.

2. Knowing how to actually apologize for a mistake, and when to do so.

3. Actually learning and improving from those mistakes.

The ability to say "That was my fault, I apologize for it, and I will correct it and make sure it doesn't happen again" is something that is seemingly lost on a lot of people.

Instead, most will tend to deny responsibility, deflect blame, put it on someone else, argue that other's do the same thing so why can't they, and more.

It's a child's strategy, and is very transparent to the adults in the room. It is also maddening to see people, especially those in positions of power who should set a better example, get away with it on a daily, if not hourly basis.
You can be a freelancer and get it too. Let’s check the website! New Dell 3541 is €1183, which includes 3 year next business day warranty. Upgrading to 4 years onsite is €77 extra.
Any functional language, pretty much.

They use enumeration (list/array traversal) to process a list/array of inputs.

And it entirely makes impossible the off-by-one error.

I am happy if I never have to see a for-loop again. (Even in JS, I use iteration/enumeration constructs as much as possible.)
I think there's a equivalent replacement for nearly every feature. There's not an equivalent service with as many users.

I try to run my hobby groups and there's resistance to using new services when FB can handle it all. Even if it's not as good.

It's like, always buying from Amazon cause it's easy, even if there's a cheaper/better product elsewhere. The effort factor.

Even with digital minimalist individuals, they'd rather manage a single app than multiple. Regardless of the high cost of FB in attention terms.

tl;dr- wat do w/ friends who don't want to use alternative
Would be useful to have some information how this compares with https://www.metabase.com/ or https://meltano.com/
You're lucky. When I worked for the federal government(USDA/USFS), there was no way I was going to get access to non-windows servers for deploying my projects. When we brought up the idea of using AWS, they told is that it was impossible as they had no way to handle reoccurring monthly billing. (obviously, this is a lazy excuse). The only node project I managed to get deployed ran behind Apache on Windows Server 2003... and it performed as horribly as one might expect an event-loop to perform behind a threaded proxy.
I did not substantiate my claim cause I did not argue against anything.

Figuring stuff out without documentation when there is documentation is a bad idea. If you know what to do the GUI can guide you a bit, but it does not do work for you. If you want to do something that you don't understand you should really read more about it, the context being irrelevant.

I doubt you could teach a monkey to do anything like that.

At my last work we used the same distro for everything, why make it hard for yourself. Personally I think most things are the same in the most commonly used distros. Everything is generally just a file. Use mount to mount disks /dev /etc /var folders all standard normal stuff.
"Coding" is as meaningless a term as "writing". Much in the same way you can leverage basic writing skills to achieve entrepreneurial success, you can do so with coding skills. A literary academic may still consider writing to be a substantial exercise, probably more so than the untaught.
One of the things companies like SUSE and RH provide is testing across a variety of expensive storage and compute platforms. It turns out that continuous integration testing is just getting started in kernel land. Major Hayden had a cool presentation at TXLF 19 about it.

https://docs.google.com/presentation/d/1T0JaRA0wtDU0aTWTyASw...
I think a counter example could be something like home video, like VHS or Betamax. VHS can (and did) lead to piracy, so you could make an argument to it by saying "the studios are going to lose money, that's a bad thing, and so it should be illegal", but fortunately the courts disagreed with that.

I think home video is overall a net good.

EDIT:

Just to make it clear, I think I more agree with your point overall than the previous poster, I just felt the need to provide a counterexample.
Why would it not be considered a crime? There is intent to do great damage to the company.
Cant subscribe to newsletter on android/firefox with ublock origin Please add a no js form to subscribe
depends on the screwup. You can separate them into the categories of reasonable and unreasonable.

pushing to production at 5pm on a friday is not a reasonable screwup, and I absolutely will let you know if get called in to fix something that should have waited until Monday.
This asinine importance of line-level differences is one reason I don't use these version control systems.

In any case, the obvious solution is to add your new element as the new third entry, if you care about this.

Now, moving on to this article, I agree with the parts of it that are directly influenced by the language, as that's clearly how one should write it; this isn't unique to this document nor to Common Lisp. I've had people criticize my Common Lisp just because I use parts of the language they weren't aware of or don't care for, which I find silly; people also enjoy trying to enforce usage rules where none exist and don't like seeing those broken, such as using #1= and #1# to indicate duplicated code where it's not otherwise easy to express.

I disagree with using libraries merely because they exist. What, a lack of libraries is bad, but don't write more? In any case, I make certain all of my libraries are rather comprehensive and well-documented; that's not much in the way of advice, though, since it's obvious. Common Lisp libraries aren't likely to change significantly, especially after several years, which is nice.

As for indentation, I generally use whatever Emacs gives me, except for LOOP, where I indent how I prefer it look; generally, two spaces is the indentation level, but here's an example where that isn't the case:

(list 1
2)

I agree with the line length note, as eighty is an asinine limit. I disagree with the comment conventions; I use a single semicolon for all of my comments.

I use OR and AND for flow control more than WHEN or UNLESS, but this is my preference. There's nothing wrong with an IF that doesn't use both paths and claiming otherwise is silly arbitrary ruling. I further disagree with keeping conditions short; defining an entire function for a single condition is stupid.

Having a single package to a file is treating Common Lisp like other languages; it's completely unnecessary. Avoiding :USE is another asinine quality of this style guide; again, libraries are unlikely to change significantly and you can always avoid using the most recent version. Using hierarchical names is a bad idea, since they're not actually hiararchical, but this could trick others into believing they are and, again, pretends Common Lisp is some other language.

Lastly, I try to have my programs and libraries in a single file. What's nicer, looking through a single file or skulking around a large directory with many small files; I'll always prefer the former. If a file isn't even one thousand lines, why would you even consider breaking it into many files as other, poor languages are prone to do?

This recommendation of ''Continuous Integration'' has nothing whatsoever to do with Common Lisp style and Common Lisp isn't a language that needs this.

In brief, I don't care for this style guide, but it paints itself as authorative. My advice is to use Emacs and mimic the standard language where you can and, otherwise, do as you please until you derive your own rules; don't listen to others if you don't care to, although I believe my advice is good, you may disagree.
Probably not an HN-worthy comment, but when I read the title my mind immediately went to the constitution of engineering teams. Now I'm curious if there's a treatment of this anywhere that is worth reading. Seems like you need a bit of both to maximize effect (or at least wear both hats to the extent you're willing and able).
While I think this is great for generally alleviating the creepiness of surveillance while keeping the benefits, why do they have such little storage? I'd have thought storing it would be the easy part compared to maintaining the whole systems.
It wouldve been Java 5.

do you actually know what that would mean?
Vacationing president = fascism?
Yes, nothing is perfect. But in general, it is hard to be a good guide to yourself in a new area. You can do it, but it is a skill that needs to be developed and most people don't have it (or rather, they typically have the depth-first part but not the breadth-first part, if that makes sense).

I wasn't even talking about the course quality (which as you note, is very variable) but about the curriculum.

One thing you can do as an individual teaching yourself CS, say, is to try and follow the curriculum of a known good CS program. There are issues with this, too, but at least you are getting some guidance.

The opportunity cost issue is a good point. One problem with following undergrad programs, say, is that only part of what they are doing is teaching you material, the other part is learning-how-to-learn stuff. If you are an independent learner of sufficient skill, some courses will be way too slow for you.

It would be optimal in some sense to have high level "key concept" material that you can survey efficiently and then decide when and where you need to dig deeper. It's a bit of a chicken and egg problem though, because if you are insufficiently skilled you will do poorly at the second part...
What languages do they use?
I agree, and I don’t think it is necessarily bad. But biz and marketing folks tasted milk and honey of the panopticon and they will fight kicking and screaming to keep it.
You're speaking very generally.

Many peoples of the world don't eat farmed meat the way the western world does, preferring fish or even insect meat as a mainstay. A percentage of the population is vegan or vegetarian.

Also, "we can't stop reproducing" mostly applies to certain Asian countries at this point. The plummeting birth rate in the western/industrialized countries is actually becoming a problem.

Don't let me interfere with your self flagellation on behalf of all humans, though.
I think they are quite infamous in this regard, like going after rounded corners, "slide to unlock" and similar trivial ideas that not only have prior art, but shouldn't be even patentable to being with. So I don't have any trust in them not abusing any new patents.

Small innovators are often simply too worried to enter some markets due to this. Because they don't have the arsenal of big competitors to fend off patent threats.