skysight-inc/HackerNews huggingface dataset:
Any idea what the development model is for Edge extensions? Would love to see them supporting the WebExtensions API [1] rather than roll out something proprietary.

[1] https://wiki.mozilla.org/WebExtensions
Suffering-oriented programming (2012)
I really want you to be right on this. Way more than I want me to be right.

But the consequences of being wrong on some of the things being suggested to combat climate change could be tremendous, and in some cases even worse than the problem they're being used to solve.

I don't know where the balance that needs to be struck lies, but I'm pretty sure it's somewhere on the far side of:

"Welp, sounds good to me!" — some dude on the internets
FB? You mean, the place that puts counterfeiters as both ads and "Suggested Posts" in my feed daily?
Day the Guardian destroyed Snowden hard drives under watchful eye of GCHQ video
What are those for .. in loops (as opposed to for .. :)?
I wish this were a better platform for fluid discussion, but I'll dig into your writings and talks (Viewpoint/Youtube/TED/elsewhere?) to gain a better understanding of your thoughts on these topics.

Thank you.
I really view that algorithms class as a massive, massive wasted opportunity. There are really two aspects to that kind of a subject - the theoretical underpinnings, and the practical applications. We beat the ever-living piss out of the theory, but I doubt anyone who didn't already know how to do it came out of that class knowing how you would actually code a linked list or a graph, and what the trade-offs of various implementations were. That kind of a subject would be such a rich field for a course in low level C or Rust or [insert manual-memory-management language]
How to Convert Video to MKV Passthrough
Just to add to this, I'd be curious to see a head-to-head of the various browsers with an appropriate adblock extension active as well.
Correct. Programmatic contracts should have democratized the entire business but instead this new scheme creates a new class of "lawyer".
Not to say school wasn't useful to you but all of these things could also be learned on the job. (As that is where I learned them)
Scale, 10 Giga Tons of carbon per year. 36 Gigatons of CO2.

7 billion people. Wood is not 100% carbon and a wood house is ~30 tons of wood. But, there is not a house per person and people don't build new houses every few years.
As someone that had a highly theoretical computer science education, worked in the industry for three years, then returned to academic CS for summer research, I have a few thoughts on this.

1. A highly theoretical CS foundation is still very useful. One of the hardest classes I've ever taken in all my studies was an upper-level proof-based algorithms course. Nowadays I can glance at an algorithm and give you it's runtime complexity. This is actually an important skill because it influences how you construct your own methods and such. There were quite a few times at my old employer where I'd be like, "If we just switched this out to a hashmap, we'd have a constant time solution instead of this polynomial one," or something of the sort. Furthermore, that algorithms course changed how I thought about computing (and life) forever. Computational complexity theory is simply wonderous. I'm in med school now, and I will tell you, learning about human biology through the lens of a computer scientist is a truly enriching experience. Computation is everywhere!

2. Your everyday programming jobs probably don't require that deep-cut CS coursework BUT there are plenty of specialized jobs that do. I can think of many sectors where you need to be fluent in something like graph theory and ways to traverse graphs, or statistical methods + machine learning. Not all jobs are full-stack dev jobs. Undergraduate CS is supposed to lay a solid foundation that you can build your career on. It's not vocational training. You have no idea where you'll end up! And honestly, I think there's plenty of hindsight bias going on here.

3. Man, oh, man, people in academia suck at software engineering (and not to mention, product design). This isn't their fault! They haven't worked on a large codebase before. They don't understand git-flow or continuous integration or test-driven development. Their products need to get A's, not sell to a consumer. I will say, coming from the industry into back an academic environment it has been a bit of culture shock. Tools used, architecture, even ways of speaking about the software are often completely outmoded.

All in all, I'd say both are very desirable. I'd recommend self-taught programmers take some classes on the more theoretical/mathy side of computer science. And I'd recommend that the academically-minded CS seniors FOR THE LOVE OF ALL THINGS GOOD take a year off and work in the industry before pursuing grad school.
Can we all agree that college is about getting a knowledge foundation, a nice degree that says you can get things done, and interpersonal relationships, and move on already?
Well half the things on the list Apple announced they were doing like 2 years ago
I probably covered more on networking than algorithms. I only did 2 papers on algorithms at university, as well as AI, which covered some more algorithms.

I did 2 papers on networking, a paper on computer security, and a paper on web development, and implemented an http client for Operating Systems.
Not a fan of the new Windows version as it requires you to enable Hyper-V, which stops any other virtualization (Virtualbox, VMware, etc.) from functioning. The only workaround I've found is rebooting to enable/disable it on demand.
Are you referring to space fortress [1]?

[1] https://www.brainturk.com/space-fortress
He didn't, that section is from the OP.
I think the author has accidentally replaced the word "useful" with "being a good programmer".

Sure, most computer scientists become programmers, and CS degrees don't necessarily translate into programming skills. However, getting a "computer science" degree is not the same as getting a "programming" degree and I don't think that its "usefulness" should be determined by the skill someone has as a programmer after getting the degree.

The reason getting a CS degree does not make someone a good programmer is simple:
* A large percentage of the courses you will take will be general education (about 20% in my colleges case)
* Another large chunk will be in mathematics (say another 20%)
* One more sizable chunk will be "lost" to CS theory and "row-based" information (remember writing round-robin schedules by hand, or verbally explaining parts of TCP in class)?

Leaving us with maybe 40% of classes having some sort of programming lab.
And if your like me you'll specialize in machine learning, will will allow for even less exposure to things like the gang of 4 patterns.

However, the flexibility of a CS education is much much greater than if I had just been programming for those 4 years. If I decide I'm more interested in a career in IT security or data science, my courses will have useful. I think that someone who had instead just been programming Java and Rails web apps for 4 years (like I do now) would have a much harder time transitioning into those (potentially higher paying) fields as the market evolves.

Also it's important not to discredit general education. Being a strong writer, speaker will always help you. Knowing some history and geography will keep you from sounding like an idiot when you talk to people from other countries.

A college education is not the same thing as a trade school and shouldn't be compared to one.
WordPress适合任何企业的网站模板 – WoodPecker
Except the stats trumpeted are "Percent for Demlican", "Percent for Repubocrat", and "Voter turnout". Increasing that third number just shows support for the state religion of totalitarian democracy.

The parties didn't "mess up" choosing their candidates - the problem is the basis of their entire platform. To the extent that the Repubocrats feel entitled to the Libertarian votes and Demlican the Green, it only affects how much lip service they'll pay to get those votes. Either branch of The Party is not going to run a candidate who will eg dismantle the NSA or the federal reserve. Why would their owners suddenly want to buy pro-freedom positions and diminish their own power?

I also think it's more self honest to be in the group of non-voters, and helps rebuke this extremely condescending attitude that non-voters are "apathetic". In actuality, they're all individuals who've made a rational decision that playing a rigged game is a waste of their time, regardless of how strongly they'll justify it. Silent fucking majority.
If the candidate can't produce any code samples at all then I give them an example app spec to decompose into abstractions.
Isn't the tricky bit that a computer science education is in fact an education in the science of computers (no surprises here), yet what most people study it for is an education in their usage?

Maybe what we actually need is a separate field, e.g. "practical computing". - which, I accept, would lend itself less well to University education which we have come to expect as a prerequisite for better paying jobs.
I don't see where anyone working for Valve mentioned Half-Life 3.
That paragraph wasn't part of the quote, it ends the sentence before "If Valve..."
Conversely I don't have a CS degree and I take a rather cynical view of candidates who have do. Perhaps I've created a self perpetuating outsiders club at my company. :)

In all seriousness, though, it's because the CS majors I've interviewed have (generally) been great at theory, crap at application. I once had a guy hold forth for 10 minutes about cardinality and then flop sweat when I asked him to explain the difference between "GROUP BY" and an "ORDER BY".
Is Craig Satoshi? Maybe. To say that he definitely is is to be an idiot. But to say that he certainly isn't is equally dumb. If it's a con, it's a pretty good con. If it's not, than this story is accurate. But the people who are saying a complicated a complicated situation is as black and white as "sign the block or fuck off, you're not Satoshi" isn't thinking. In a world of lifeless robots, it would be that simple. But it's not, and we don't. A man who has the identity may not want to prove it. But a con artist would do the same.
> well, computer science should be MUCH more maths heavy than it is, and software development should be taught as a trade.

Up until recently, the vast majority of Computer Science programs were under the Mathematics department. For most colleges even to this day they are still under the Electrical Engineering department.
That's true, and I completely understand, but it's besides my point. My point is to implore people to stop looking at a CS degree as just a means to get a job. If you look at it that way, of course you're not going to find 100% value in it.

Getting a job is simply not what a CS degree is for. It was never declared to be for this purpose—nobody claims it's for this purpose (except maybe some schools for marketing purposes).

Yes, we all know that you can do a good job programming without a CS degree. Good job. Whoopdeedoo. Anyone who keeps repeating this point is a broken record. Anyone who tries to scientifically prove this is wasting their time. That's not what a CS degree tries to be. This isn't why I went to school, and it's not why many, many people go to school.
People (rightly) make the same critique of Bitcoin: it is very easy for regular people to lose their money. To keep it safe you need to be a security expert, and even then there are no guarantees, and mistakes are forever.

My response is the same for both Bitcoin and Ethereum:

Even if these technologies are only used by trained professionals, they can still be revolutionary. Almost no one can safely operate a printing press, and yet that invention has toppled empires.

At worst, these are back office technologies. At best in a decade or two someone will figure out how to design a good enough GUI that a novice can safely explore a powerful subset the technology, trusting that bumpers are in place around the sharp edges.
I've always said that doing computer science to be a programmer is like getting a physics degree to be an engineer.
I'm sure raising the minimum wage and increasing immigration from latin america will help. /sarc
Turing-completeness was the entire conceit of Ethereum, as I understand it- without that you would have Bitcoin with a few bells and whistles, and no one would bother. And once you're committed to that, a new language and environment are essential- something this entire fiasco shows is that a language for contract programming has very different requirements than what software engineers are currently used to, in order to be safe in ways that don't apply to ordinary software.

In all likelihood, a working and reliable Ethereum simply requires computer science theories we don't have yet. A working Solidity would probably look something like Ada, but with types and invariants the likes of which we've never seen. Its potentially a very interesting research subject! But for now, yes, investing in Ethereum is like climbing aboard in a rocket aimed at Mars- exciting and futuristic, but unlikely to get you where you hope to go.
Annoyingly, there isn't much in the way of change on the horizon for this problem, people seem to like things the way they are.

The problem is that there is no good formalized educational standard for software development training. So instead Computer Science gets shoehorned in as a substitute. This leads both to sub-standard Computer Science degree programs from a pure CS perspective (because they are primarily just trade school educations in disguise) which are even worse as regards to training for Software Engineering. CS is very algorithm and data structure focused, which is good in moderation for dev training, but they usually delve into realms that are not useful even in the "well it's good to have a broad knowledge base" sense. Moreover, CS doesn't typically touch at all on the many practical skills, and their fundamentals, needed to be a good dev, ranging from development cycles and styles to QA and testing fundamentals to source control use and management to proper composition and componentization of software to refactoring and dealing with legacy code to deployment strategies and techniques and then on to familiarity with actual operational systems related to all of these things. Each of those topics has sufficient depth to be an entire course or series of courses, yet they are frequently only barely touched on in CS programs, and sometimes they are ignored entirely.

I've been in hiring loops numerous times, and one of the quickest things I learned about hiring in tech is that a CS degree on a resume means basically nothing, there is almost no correlation between having studied CS in college and being able to code at even the most basic level. Unfortunately, I don't foresee much change in the future on this problem. CS is still a prestige degree (a 4-year degree in one of the coveted STEM fields) and I have a hard time seeing a legitimate Software Development education fitting in the mold of either an arts or sciences degree program at a liberal arts college.
These are about going to school, though, not getting a CS degree. And 100% of these things could, and probably should, be learned in the real world and not through paying tens of thousands of dollars under the guise of education.

I did not go to school for a CS degree, and that has not hampered me in any way when searching for a job in software.

All I learned in college was how to game the system of the institution itself, and that institutions like that are a societal racket and waste of time and money.
My friend Ryan is building something for immigration as well! It was recently featured on product hunt[1]. He's been working on it almost entirely solo, building a web front-end as well as apps for iPhone and iPad to ease the O-1 application process.

[1] https://www.producthunt.com/tech/foundvisa
So what is the point then?
They want a cash horde that will allow them to continue to invest and expand through the next business cycle.
Exclusivity is a two-edged sword. What will happen to Steam if Valve locks others out of their market, but then one of those others produces the magic ingredient that makes VR really work well for the vast majority of people? For example, what if magic leap's multiple virtual focus planes turns out to be simply that good.

This paragraph indicates that Valve seems to appreciate that no one company has really put together the whole package yet. If they know that, then perhaps they will be smart enough to open Steam's VR to the open market, even if that means supporting competitors like Oculus.

At this stage, VR could still implode again like it did in the nineties. The smart move is to do what it takes to ensure there is a VR market a few years from now, not hamstring yourself worrying about who gets the biggest slice.
That basically matches with what I expect, but I'm not sure that distros will even bother to package rustup in the base packages (as something that provides an alternative to a packaged item, not just a supplement, such as cargo). In this respect, the wants and needs of distros are often at odds with those of developers. Developers want the latest with all the features in front of their users, distros want something easy to maintain and support (which often means not changing, or on a predictable schedule). This is particularly hard on interpreted languages, as the version shipped matters a lot more for what will run, not just what will compile in your dev environment. There's a (relatively) long history here.

If rustup isn't part of the base (distro-provided) packages, it will definitely be part of some popular add-on repos though.
> and avoiding complexity

God it's refreshing to see someone actually put that as one of the primary, principal activities of software development.

Figuring out how to do a hard thing in a simple way is not simple, it's actually really hard!
Supreme Court's ruling in patent case a blow to drug industry
> Having a utility download a binary or source from the internet is less useful in these situations than serving it locally

I already addressed that; I'm using rustup as a toolchain manager, not for downloading. You can have a .multirust directory that everyone uses and use rustup to switch. You could alternatively set rustup to download from a internal server that contains a reduced set of preapproved binaries only. I'm assuming that the external network is turned off here; it usually is in these situations. If you want a tool that manages toolchains but does not contain code that accesses the internet, that's a more stringent requirement that rustup doesn't satisfy; though I do hope Rust's distro packages work with update-alternatives.

You can also create an rpm for your specific two-compiler setup, of course. That's annoying though.

> Having any output that's based on a person remembering to set a configuration is less useful in these situations than having the configuration hard coded

Set default to stable, and `alias fuzz='rustup run nightly cargo afl'` :)

Again, this is for tooling, you can easily paper over the fact that the tool uses a different compiler.

Rust does have a tool (crater) that runs releases on the entire public ecosystem before releasing. There is an intention to make it possible for private code to take part in this too and provide feedback. But you're right, it is still unreasonable to expect enterprise users to trust that updates will work :) Any stability guarantee isn't enough, since bugs happen.
Wikipedia includes the un-sourced qualifier "no other bodies of comparable size other than its satellites or those otherwise under its gravitational influence."
https://en.wikipedia.org/wiki/Clearing_the_neighbourhood

The "comparable size" is not part of the IAU definition, which just includes "(c) has cleared the neighbourhood around its orbit." http://www.iau.org/news/pressreleases/detail/iau0603/
People without CS are miss out, and also, some CS programs come up short: Learning soft skills are as important as any technical chops. Learning how to learn and realize you're never really done learning how to solve problems.

This is one of the reason some self-taught people often have more people skills than those who self-select to hide behind a keyboard most of their university years instead of getting out there, becoming more well rounded, and through it solving problems.

The ability to work in a group as you've mentioned is a critical and transferrable life skill that many people simply don't grasp. If you can't solve university group problems, guess what kind of co-workers you'll be stuck with in my 20's.

Having some structure in the start is important and valuable especially for those who don't have the discipline to do things that need to be done and instead jump from one shiny toy or problem to the next.

At the end of the day it's not just what your education (or lack of education) makes of you, but what you make of your ability to learn every day. Discipline is the master skill that most people at any age in or out of school in our 20's are missing.
Most parents insist on kids going to uni specifically to get a job. If you can get the same knowledge for free (assuming you have to pay for uni), then what's the value?
> that institutions like that are a societal racket and waste of time and money.

This is completely wrong. Universities are tremendously useful and do many great things for society and humanity. I'm not going to provide evidence because I think that any reasonable person will agree with me.
HL3-D
How long of a take-home? In my current job search, I think I've finally hit my limit of overly burdensome take-home exams that significantly disrupt the childcare and exercise routines that I depend on. I think any take home that takes more than 2 hours of my time should require the company to compensate me at a fair hourly rate for completing the test for them, otherwise, given how many companies do not place this asymmetric burden on candidates, it's just not worth it.

I also think many of the same biases and inefficiencies that haunt terrible whiteboard hazing interviews still apply to take-home tests. If you say something like, "write this as if it's going into production" it's a disaster -- whatever qualifies as good enough for production is a subjective opinion that varies from organization to organization -- and often varies considerably within an organization too.

A great programmer pressed for time might slap something together and add some notes in a write-up about the extensively different way they would work on it if they were being paid a wage, given quiet working conditions, and tasked with it in the regular setting of a job. And would likely get rejected, despite being a great programmer.

Meanwhile, a candidate coming from some situation without hardly any time constraints, perhaps taking time off between jobs or during a university break if still in school, might spend 20 hours on something that should only take 4 hours, polish the entire thing, write a full test suite, and implement extra features. They might be more likely to be hired even if they are an inferior programmer, simply because they had access to significantly more free personal time to fit it in.

It can even be prohibitively hard just fitting in round after round of technical screens and 1-hour phone calls that probe your experience or ask you to solve short form problems, especially if you're interviewing with many places and they all want you to do that.

Making it take-home sounds better in theory, but there still are a ton of failure modes that people don't adequately account for.
If you can't see the point, then maybe university isn't for you. I'm not going to write an essay on what point I saw in school because I don't have time or interest.

The point is that I saw value in it. I liked learning about computer science. Why can't people stop shitting on this concept?