skysight-inc/HackerNews huggingface dataset:
If that were possible, then I would agree. But in my experience, automating the boilerplate stuff just tends to expand the domain of what can be considered boilerplate stuff.

If I can rename a class across my project in 3 keystrokes, then I've automated it. But then I'll try out a dozen names before settling on something. Have I saved time? Perhaps I'd be better off thinking deeply for a minute or two instead.

It's kind of like how Powerpoint has actually increased the time that people spend making presentations. "Look! I can change the title font in one click!" <Spends the next 2 hours fiddling with fonts.>
https://en.wikipedia.org/wiki/Basic_income
The problem is that anything written in vimscript is going to resemble that first example, when were it written in elisp it could resemble the second.

Regardless, better to have vim or emacs than anything else.
so isn't this capitalism working as it should?

they literally killed their own golden goose with stupidity. why shouldn't others disrupt corrupt crap business?
Might be looking into bitwarden myself as lastpass as of this post does not support firefox 57.
If a 10's of petabytes isn't enough scale to talk to manufacturers directly, I wonder what is!
Even in that light, algorithms aren't the enemy: models are. If I build a predictive model that harms people, then my model is the cause of harm, not the fact that I built it using random-forest or CNN.
Ah, then I had a misconception of OpenAPI; my perception is that it was mostly used by people who wanted to use REST like how they used SOAP (using URLs and such but still fundamentally RPC). Does that mean OpenAPI lets you model and describe a real hypermedia application, following the REST constraints? Including ignoring the URLs and focusing on media representations and their relationships?
There are some good text snippets on the linked site, so if your strengths do not lie in written English then it could very well be a helpful resource for how to word things. However, beware the mentality that the only thing standing in the way of your dreams is the perfect one-page summary of your accomplishments to date. A resume is just a marketing document. Economy of prose and short declarative sentences are your friends. Keep it to one page in Times New Roman or Arial.
> Why would Wired do that work when they can just recommend that you read the book?

Why do you think it's a significant amount of work to simply quote an author, rather than adopt their viewpoint?

> Why would you ask Wired to do that when you can just read the book?

Justification is provided in the comment you're responding to.

> And why do you believe that you'd find that article any more satisfying

I'd find an article that quotes OReilly rather than adopting his viewpoint more satisfying because it distinguishes OReilly's viewpoint from Wired's. This is the difference between journalism and marketing.
Also, there are lots of specific configurations of cities for which an optimial solution can be found in a tractable amount of time -- it's only the general case that is the problem, and there's some debate about how "degenerate" real world examples are. In "well-behaved" cases, a good approximate answer will be the answer; in almost all cases, the differences between a good estmate and the correct solution is small relative to the total path (and so the difference is of limited importance).

I often find that optimization problems suffer from trying to optimize the general problem rather than using the constraints present in the real world.

TSP is similar to Turing machines and the halting problem -- in practice, it really doesn't matter.
I strongly recommend against reading Clean Code, because it only applies to Java-like languages, and it doesn't really make good advice anyway. It doesn’t even properly apply to C++, and certainly doesn’t apply to languages with different models (like Ruby or Python).

Uncle Bob has made a very successful business out of saying things that sound profound, become popular, but are at best the technical equivalent of fortune cookies, and at worst are profoundly bad advice.

Seriously, in TypeWars[1], he says “My own prediction is that TDD is the deciding factor. You don’t need static type checking if you have 100% unit test coverage. And, as we have repeatedly seen, unit test coverage close to 100% can, and is, being achieved. What’s more, the benefits of that achievement are enormous.”

This is so profoundly wrong on so many levels that it isn’t funny. How do you measure coverage? If you’re doing it by lines hit (which is how most dynamic language coverage tools do it), then you’re not getting any sense of how good your boundary conditions or branch coverage is. If you have a better way of measuring coverage (typically branch coverage), then maybe aiming toward 100% is good, but hitting 100% coverage is a complete waste of time. (I aim for ~85% coverage, depending on the code base and how much is boilerplate code.)

In Ruby, do you really need a unit test for:

attr_accessor :foo

If you don’t at least access `foo`, SimpleCov will say that line isn’t covered. You know what? It doesn’t need coverage, because when you write a unit test for that you’re writing a unit test for the language.

Unless you’re actively adding “attack tests” to make sure you have all of your boundary conditions covered, and at least know you can abort or recover from an error condition properly, your 100% coverage means absolutely nothing. Property Checks are better for this. Fuzzing and mutation tests matter to help find this. Even static typing (of which I’m not actually a fan, because 15 years with C++ makes it clear that static typing is not that useful in weakly typed languages) can help find certain types of boundary conditions (look to Ada, where if you declare a type as a range 1..100, only values within that range, or variables that can never exceed that range, can be used with that range).

And people take Uncle Bob seriously, even when he posts things that are just asinine attacks on people who have taken him to task when he is wrong (which, IMO, is far more often than he’s right).

[1] http://blog.cleancoder.com/uncle-bob/2016/05/01/TypeWars.htm...
I think the thing is that the we have a different level problem in software, that can't be solved by either "methodologies" or "patterns" 0r "discipline" or languages...

We have a learnability / teachability / knowledge transmission problems that always disguises itself as a technical problem... If you could simply "distill" and "transmit" the relevant design knowledge to the person requiring it under a ressonable amount of time most software quality problems would become trivial.

We supposedly do "knowledge work"... but we learn mostly from experience, like cooks or handcraft artisans or whatever, instead of how civil engineers or auto engineers do. (And I suspect the problems is not just immaturity of the field... it's more that "the space of possible solutions" in software architecture is so insanely big that there's no way to learn/label/teach what the engineers need to know... we have the requirements of engineering, but the infinite solutions space of mathematics... and training successful mathematicians is something we know we have no clue how to do... only here we also expect the "untrainables" to have the professional conduct of engineers coupled with the depth of though of philosophers.)
It's the fear of silence
That gives us away
Cause when we're alone
We have to hear
What our aching hearts try to say.
-- Randy Stonehill

If you're looking for a chance to see what's going on in your heart, solitude can be great, and can give some insight. If you're just running from people, well, when you go to solitude you still bring one person with you - yourself. That can ruin the peacefulness of the solitude...
> and maybe previous versions, I can't remember

Yes, this has been the way it's done for a very long time. It's such a basic feature that I don't think there was ever a version of Firefox without this feature in one form or another.
If you are getting TANF, they generally kick you off after a year of training, and disallow getting an AA much less going to college. It takes a lot more than that to make up for a semi literate, etc., growing up.
Not mandatory in Android. I denied the permission and it still works. Just had to add the few people I wish to write to manually
Just did some browser comparisons:

Safari has a fade-in and triggers it immediately, so you do get a pop-up as you move your mouse around. But the fade and delay on closing smooths it out enough that it doesn't flash on and off. I don't love that it pops up instantly when I don't want it to.

Chrome and Firefox feel pretty similar. There's a delay on fade-in and a (longer?) delay on fade-out. Looking at it more closely, I think it does check that the cursor has stopped. Moving left to right across a link won't trigger the popup even if you're over it for a long time. So is it just the fade that makes opening feel slow?

I'm not totally sure whether I'd like it better without the fade. Since I don't see a way to turn it off there's no easy way to find out.
Kudos for giving the gist of the idea in a piece of code:

def public_license (paid_available, commercial, contributing):
if paid_available:
if commercial:
if contributing:
return 'contribution-enabling, BSD-like license'
else:
return '90-day free trial, then you have to buy a license'
else:
return 'noncommercial, BSD-like license'
else
return 'standard, Open Source, two-clause BSD'
Dragon book Critique – is this unfair?
This is tricky because there are lots of people who "ask questions" just to avoid admitting that they are a bigot.

If you are genuinely seeking new information, great! But you should do your homework first, which includes finding the right person to ask the question to.
Workers have been agitating against this behavior for many decades, so no, I would not agree that it is fair to assume nobody noticed.
I am sorry. By small I meant more like 20 cities. You can formulate a simple optimization problem and solve it with lot of commercially available solvers if you have few cities. The point i was trying to make is that TSPs are not infeasible. They can be solved to optimality given enough time.

If I am not wrong, Concorde TSP solver which is a specialized solver, solves TSPs which have large number of cities.
Yeah, I'll admit that was a strawman so I could get to my real point about requiring some digital competency before granting access to state secrets.
Oh shit. I had not been following this and I didn't know that DownThemAll wasn't going to work. Now I'm sad :(
I wouldn't wait for a "formal opening" before applying. In fact, if you do, you're competing with even more people.
My sister is physically disabled and works a clerical job part-time. She continually has to watch her hours at her job because if she makes too much money, she is required to pay back the difference in her SSI disability cheque. Please note that her combined income from work and disability benefits is peanuts - it's enough to live on in a rural Midwestern town where things haven't gone up shit creek as badly as the Rust Belt and Appalachia, but it's no glamourous lifestyle and the requirement to stay underneath certain income lest you lose your SSI benefits is a perverse incentive not to try and find better work.
There is a fascinating writeup on some problems that were caused by autoconf config file mistakes that didn't manifest themselves in gcc but showed up in the switch to clang:

https://undeadly.org/cgi?action=article;sid=20170930133438
Honestly?

You shouldn't learn vim. You should learn a text editor, and get really, really, REALLY proficient with it. As programmers, one of the core skills of our job is to be able to manipulate text efficiently. After all, productivity is knowledge + tools + focus, right? All the knowledge and focus in the world doesn't help you when you're not able to efficiently do the mechanical part of your job.

I chose vim because it's what I first learned in college. You might end up choosing Sublime, or Emacs, or even Atom. It doesn't actually matter all that much what you choose, so long as you hone the use of your text editor to the point where you can manipulate text without thinking about the mechanics of it.

I like vim because it's built specifically for navigating through files quickly without any mental disconnect: moving through a file doesn't require me to think through the actual actions I want to take-I just think, and muscle memory allows me to do what I want. I like vim because it's consistent, the same keybindings always work everywhere in the same way. And I like vim because I really believe in the composable model used by its motions and actions; I feel like it allows me to very concisely express what I'm trying to do without me having to think about it.

I also love vim because it automates parts of text editing that I find annoying: I'm a very heavy user of macros and custom functions because I have a lot of tasks that I repeat constantly and I've automated all of them.

Can your text editor do all of that? Well, the answer is probably. But you should learn the deep intricacies of whatever editor you're using, just like a pianist might understand the exact sound profile of their instrument, or a chef knows the weight and sharpness of all their knives. It's our most important tool, and honing it to the sharpest edge we can is essential to becoming better.

But that's just my (very philosophical and hand-wavey) opinion.
> Use Hibernate for the stuff that it is good at.

Sure, but that's a bit circular. I find that a sensible default is to write the code to match the data, not abstract the data to fit the code. Because, if nothing else, you'll want to understand that data with another language or framework. If it's a one-off Java project that will get thrown away in a few months, whatever is fine, but most Java applications (especially enterprise Java) aren't throwaway projects.

Do you know what works in pretty much every language? Do you know what will be supported in 30 years? SQL queries.

Hibernate is good at some things, but if we think in terms of product lifetimes and not sprints, I think SQL is a much lighter dependency.
If debts would never be forgiven/default, then lenders would not be able to charge interest.

Likewise, while they don't charge interest, contractors factor not getting paid for 90 days after work completion into their rates.
Well then. Maybe nobody in power noticed -- or if they did, they turned a blind eye to it.
I use the PyQt Python bindings to Qt for exactly that reason(?) It works very well for my file manager [1].

[1]: https://fman.io
Good question. The answer: exactly as in Creative Commons' noncommercial licenses, but without the filesharing clarification, since the noncommercial condition applies only to use, and not to redistribution.
I like seeing things like this. There are two practical problems that come to mind (not fundamental problems):

1. Many traditional distros - Debian (and by extension Ubuntu), Fedora (and by extension RHEL), etc. - won't carry your software if it breaks the Open Source Definition in this way. If you're targeting npm modules, this isn't a problem at all, given how much technical work needs to be done to get the average npm module in one of these distros. :-) But there are lots of sizable use cases where this is a problem, and the Open Source Definition has become something of a Schelling point.

One solution in the Debian/Ubuntu case (I'm less familiar with the Fedora/RHEL side of this) is to package your software for Debian "non-free" and Ubuntu "multiverse", which are for software that can be freely redistributed but is not Free Software and therefore not officially part of the distro / officially supported to the same extent. This isn't an extremely popular choice right now, but I think that could change.

2. Sort of expanded from there, really the value of an open-source project is far more in its community, that is, in the trust that it will continue to do the thing you want it to do as your requirements and the world around it change, not in the code as it is. I don't think that the most valuable thing you have to offer is your software, and I do think that compared to ongoing support and maintenance and interaction with users, the value of the software itself is probably approximately $0, yes. As a perhaps-controversial example, consider systemd: there are plenty of other service managers with similar approaches to process supervision, and plenty of other inits, but systemd has the property that everyone expects Red Hat to continue funding full-time development on it for many years, there's a lot of people on StackOverflow who have answered questions about it, etc. That's not particularly a function of the code itself; that's a function of an entity like Red Hat standing behind it and basically every distro having adopted it.

Speaking for myself, at least, I'm unlikely to try to convince an employer that we should use some piece of software that's sorta-open-source when actually-open-source options exist, unless the support around it is so good that we might as well treat it as a normal proprietary competitor that happens to make source available to customers if they want. Mostly I'm hesitant because I don't expect other companies to do the same thing, and I therefore don't expect the ecosystem to grow.

If you can cause people to believe that License Zero software is as viable as open-source software with a similar level of functionality, that ecosystems will grow around it as well as with open-source software, etc., it definitely sounds like this model is better for long-term sustainability of the project.
You are a commercial entity (a business and don't have a non-profit status), serve customers, and use the software in question to extract profits?

IANAL; I'd love a link / quotation of an exact legal definition.
Brian from Backblaze here.

> Have you ever computed how much power you would save if you turned them off when not needed?

Electrical power is a gigantic part of our datacenter bill (like 60%). However, we cannot really ever turn off the hard drives.

If they were powered down, it would take too long to retrieve data. It would be like Amazon Glacier where it can take 15 minutes to get a single image back.

> is every pod constantly in use?

The way we built it, yes. If one user deletes a backup or unsubscribes from the Backblaze service, it frees a little bit of space on pods all over the datacenter. So we allow some other customer to use that space up as soon as we can.

We also use ALL the pods in the datacenter to give us "breadth" to accept data faster. This is particularly helpful on surges of new customers due to a press event, or if a competitor like CrashPlan decides to exit the market.
Agreed Scrum RAD DSDM are not suitable for all software projects.
> Many projects doing OO end up building a worse ORM from scratch eventually.

Sure, and lots of people end up implementing a lisp in C++. Doesn't necessarily mean they should just use a lisp instead. Usually it just means they should learn how to use their tools idiomatically.
> I don't know what editor the hip young kids of 2067 will be using, but I know that the folks getting stuff down will be using vi & emacs.

I have yet to met a developer that blame his inability to "get stuff down/done" because his editor don't let him write fast enough.

Developing isn't a who-can-type-faster contest is who can solve a problem in a fast and simple way, typing/coding is the thing you do _after_ you solve the problem.
> Who assumes that hermits are insightful?

Centuries of ascetic mysticism and veneration of same disagree with your skepticism.

As for your scorn for privileged people becoming hermits and thinking they gained something from the experience...

I'd laugh, but that's literally the foundation of one of the great world religions.
Rename refactoring swift also finally came after 2 years. Maybe xcode product manager is replaced by someone who more understand developer. Every release on xcode 9 has big impact. Gladly apple now hear developer. Before this, xcode 8 is the worst IDE
How were these resumes sourced?
it's often not about expressivity, it's about conciseness. It's much easier to say a correct statement than it is to prove the statement correct. This seems to be the main cost to stongly typed static languages, all the time spent proving to the compiler that this thing is actually compatible with that thing.
The Carthusian monks are probably the closest to hermits in the Catholic Church. They spend almost all of their time alone in their cells. Although they don't take a formal vow of silence, unnecessary talking is discouraged. The one exception is that they take a communal walk on Mondays where they're allowed to talk about whatever they want.

(As an aside, for anyone interested in their lives, there's a great documentary called Into Great Silence. It's long and has no narration, but there's a great scene at the very end where it shows the monks on one of their Monday walks going sledding in the Alps.)
This has been a constant annoyance for me for a few weeks (since I switched to Nightly), but for what it's worth, Lastpass says they'll have a WebExtension version out by the time Firefox 57 is officially released (2017-11-14).
Good point. If you can escape from the license by forking from it then it's worthless. Since that's obviously not the intent, then presumably a fork would still require licensing from the original source. Would it require licensing from the new source as well? If so, then forks are still theoretically possible, but the next question that raises is, are licenses compulsory? If not the original license holder still ends up with a veto over commercial use of the fork, simply by failing to give the license to anyone using the fork. Forks could conceivably carry on with purely-non-commercial licensing, but that's not a true fork.

Should the community get through this, then License 0 is going to get awfully complicated the day you decide to download the fork of the hottest new web framework that itself uses several dozen License 0 components, with arbitrary numbers of forks in them.

If licenses aren't compulsory then such a framework has the problem that suddenly there are dozens or hundreds of individuals that may decide for their own individual reasons to decline a license to someone that they may simply not like. (There is, in some sense, something to be said for greedy companies that just want your money and care nothing about you; at least they don't deny you licenses because you once gave their friend a bad interview experience, or violated some personal pet political stance.)

An option would be to just say "Yeah, these projects can't be forked." Which is a solution of sorts, but definitely one that is losing something very valuable from open source. The fact that such a license would be classified as "not open source" probably means something real, not merely that the definition is outdated.

There's an interesting idea here, but I think it's still the seed, not the fully-grown oak. But, again, let me end this with encouragement that the idea is being kicked around, and I'd like this to be seen as criticism in the spirit of refining and improving the idea, not merely being critical for the sake of being critical. There's some interesting ideas here in the service of a real need.
Milk inflation is not that significant. Five dollars of milk in 2000 will cost you 6.51 USD today[0]. It's actually lower this year than it was in 2014[1].

[0] - http://www.in2013dollars.com/Milk/price-inflation
[1] - https://ycharts.com/indicators/milk_price
GridGain, the commercial company behind Ignite, and the community seem to be implementing the features correctly so that they work as advertised, backed up by the case studies and personal accounts I've heard.
> This is tricky because there are lots of people who "ask questions" just to avoid admitting that they are a bigot.

I am confused on how this would work in practice. What kinds of questions do you propose these bigoted people are asking?