skysight-inc/HackerNews huggingface dataset:
I use the "dueling sins" model of "copying versus coupling." Early lifecycle code benefits from the flexibility of copying. Mature code benefits from the coupling forces of abstraction. Both have the capacity to do harm.
How to Use the Firestore Export API Before It Is Released
I'm not sure what ReadKit is missing, to be honest. It looks a little dated but you've got to be used to that if you're a NNW fan.
It is not just that 3 indicates the existence of an abstraction, but seeing 3 examples improves your odds of identifying the correct abstraction to use.
Good idea in general. Not sure I agree with the idea of inlining a bunch of code in order to refactor an abstraction.

I've always found the easiest way to refactor is to get really good code coverage on the outermost layer of code that uses the abstraction, remove/ignore unit tests if there are any on the abstraction itself, then refactor the abstraction with vigor until it feels appropriate and hopefully elegant or is removed if necessary. As long as all your tests still pass, you should be good to go.
Why do you assume there's any "AI" in it at all?
Some people say that that was an artifact of quality adjustments on computer hardware, and that without the adjustments (or computer hardware) we're actually in a decline. [0] The chart of "Manufacturing" vs "Manufacturing, less computers [1] was pretty striking.

If you sold 1GB of RAM for $10 two years ago, and you sold 2GB of RAM for $10 this year, that's the normal state of the computer market. I don't think it's really equivalent to selling twice as many tons of steel or wheat for half the price.

0: https://qz.com/1269172/the-epic-mistake-about-manufacturing-...
1: https://www.theatlas.com/charts/BJh4B5_TG
I experienced a crystal clear example of this about 15 years ago. I developed a prototype of perl script that read data from one folder, filtered and enhanced it, and wrote it out to another folder, where it was picked up by another process. The script was configured by another perl file that contained the paths to read and write from. The initial (pre-production) deployment had the two folders adjacent, so the config script looked something like

$input_folder = "/some/annoyingly/long/path/my-cool-project/input/"
$output_folder = "/some/annoyingly/long/path/my-cool-project/output/"

At some point the script was handed off to some other dev who looked at those paths and apparently thought "that's not DRY!", and changed the code so that the config file just had

$project_folder = "/some/annoyingly/long/path/my-cool-project/"

and actually append the "input" and "output" in code when needed (fairly elegantly leveraging some existing keys that already defined those two strings).

The problem was that when I developed the script the actual consumer hadn't been finalized, so that output folder path was just a placeholder. When it comes time to deploy we get the actual path which is now some NFS thing like

/mnt/other-services-host/other-service/input/

At this point I naively go to the config to update my $output_folder variable and discover the code changes made by the other dev, which have made it impossible to separate the two folders, and because of the "elegant reuse of existing keys" made it a huge pain to even change the code back, since the assumption that the last segment of the path had to match the intended use was deeply baked in. At this point I think I just started swearing for a week.
AWS is totally uncompetitive if your looking to serve video though, Amazon's bandwidth pricing is something straight out of 1999, it is one of the largest pieces of their moat to lock people into AWS.
This is a pet peeve of mine.

I've been a developer and sysadmin since the early 90s. I know how to do almost any sysadmin-type task on every platform, even exotic embedded stuff and niche OSes.

These days if something takes me longer than 20 or 30 minutes to set up it goes in the trash. The only exception are things that are very very high value or that I simply must have to do my work. The need has to be burning for me to wade through a multi-step convoluted install/maintenance process. I also instantly discard "Rube Goldberg machine" style things (lots of disjointed dependencies) and messy haphazard snot ball things.

It's not because I can't deal with it. It's because I view it as a sign of bad design and bad implementation and a preview of what using and maintaining the system will be like. I also have outright contempt for what I view as the mentality behind it. I don't want to reward the people who create these things with my attention.

It's not really that hard to design systems that are at least somewhat easier to use. Getting to iOS or Facebook ease of use is hard, but getting to something that isn't painful isn't too bad. I really do think the main reason so many projects are so painful to install and use is that nerds actually have a fetish for it. There's still this obnoxious residue of "real men don't need UX" in computing. It's always been there... I remember the phrase "point and drool" for "point and click" back in the 90s implying that people who "need" GUIs were somehow dumber than those who did everything on a green screen with text.

This mentality desperately needs to die. It's a major factor holding back open source, open systems, and decentralized computing. Not only does it prevent regular people from using these systems but it also holds us (nerds) back by wasting our time.

I'd been becoming gradually annoyed with this mentality for years, but the thing that tipped me over the edge to outright contempt for it was switching to Apple around 2007. I was so much more productive. I realized that all that hard to use "real hacker" stuff was preventing me from doing better things. I was spending hours futzing around with already-solved problems like drivers and graphics resolutions and package woes instead of doing new things. With a computer that "just worked" I could spend almost 100% of my time innovating.

I still use Linux on the server side but I don't really love it anymore. If there were a cleaner easier to use alternative I'd switch as long as it didn't come with onerous costs or limitations. I've been checkout out FreeBSD. Alpine Linux is also nice since it strips out a lot of over-engineered trash.
Reeder is excellent, and I've been happy with it, but the author is not usually quick to update it. iPhone X support was a notable exception.
She was a legal permanent resident by virtue of marriage to a natural born citizen at the time of my birth, so the question of whether her naturalization is invalid or not should be irrelevant for my case, since it occurred some years later.
This is a good question, and doesn't deserve a snarky response.

This is the long-term good-case scenario (using USA-focused numbers, but you can extrapolate to the rest of the world):

-Car accidents will be reduced to nearly zero, saving about 34,000 lives and 250,000 injuries each year. The NHTSA estimates that this costs $871 billion per year[0].

-Because car accidents will be much less frequent, cars can be built lighter, saving the energy that's currently spent on armor. And in the scenario where people hail rides rather than own cars, the car that transports you will be the right size for you - i.e. a one-person car for most trips - which saves a lot of energy too. The energy savings help with intra-city air pollution, climate change, and decreased costs.

-Self-driving cars free up the 50 billion hours that Americans spend driving each year. At the average wage, that's worth about one trillion dollars.

-A lot of valuable land is used for parking (14% of Los Angeles, for example[1]). Hailed robot cars wouldn't need to park, and self-owned cars can drop their owners at their expensive destinations in a central business district, and drive a few minutes away to park in a garage where they pack together much more closely than humans can park them. The freed-up space can be used for housing or other valuable uses.

-Hopefully, self-driving cars massively reduce congestion. Due to their much-faster-than-human reaction time, they can drive very close behind each other at high speeds. Two single-person cars can fit side by side in a lane. Street-side parking space can be turned into more lanes. Reduced crashes result in fewer traffic jams and lane closures. (Personally, I worry that increased car usage might exceed these effects.)

Most of these figures come from Brad Templeton's webpages about robot cars[2].

[0] http://thehill.com/policy/transportation/207567-nhtsa-car-cr...

[1] https://www.citylab.com/transportation/2015/12/parking-los-a...

[2] https://www.templetons.com/brad/robocars/robot-cars.html
Removing duplication != abstraction.

Many copy & paste scenarios can be avoided without creating any meaningful abstraction. Generally this is best done with a stateless (pure) function that has few if any conditionals and does not involve design patterns such as inheritance, overriding, or even creating new compositions. It should feel easy and boring when you are doing this.

Abstraction is a new representation that calls for deep thought and I agree is easy to mess up.

The need for DRY also depends on type-safety. Type-safe boilerplate generally adds verbosity, but few bugs. This article is coming from the Ruby world where a bug lurks behind every untested line of code: this can create a lot of pressure to make boilerplate free code which can end up turning into abstractions. But every code change (without code coverage) in dynamic languages is also an enormous risk. In type-safe languages the compiler can help ensure that the process of removing duplication is correct.
I like Fiery Feeds after trying everything else. (Unread was the best option I'd found before that.)
Including GitHub Wiki in Repository as Submodule (2013)
Scoop Is Hiring Product, Data, and Platform Engineers in San Francisco
In cycling people are risking lifetime bans to get a 5 or 8% power advantage. Which is doubly amazing because speed goes up with the square root of power due to drag. I’d wager that 3% for a runner is a bigger deal than 6% for a cyclist.
Imagine in 6 months you have survived a traumatic brain injury and you're required to maintain the awful crap that younger/smarter you thought, at the time, was clever.

Abstraction is bad and is the price you pay for being able to move lots of things around at once. WET (Write Everything Twice) > DRY (Don't Repeat Yourself) because you might be able to grok what the heck you meant at the time. It kills me that my colleague wants to be clever. NO! Clever is bad!
I think they're complimenting the appearance of the app.
FYI: there is a similar implementation of an table widget ("Interactive Tables") in BeakerX [1].

[1] http://beakerx.com/
With the possible exception of MAD geopolitics, I can't point to instances where nuclear power has significantly shapes my day to day experience in the US. Certainly much less than hydropower. Sure Voyager and other nuclear powered space craft have provided infotainment for many years, but terrestrial electricity is fungible for the end user and nuclear power plants have always correlated with more expensive watts when I've had utility service that owned them.
I think this might be a moot problem once Mojave allows you to use iOS apps on the Mac. The RSS reader situation on iOS is much more dynamic and would probably translate fairly well to the keyboard and mouse.
This is why the article says "wrong" abstraction.
Replacing duplication with abstraction often leads to the wrong abstraction. That's the point of the article.

That being said, good thoughts on solving duplication correctly.
Yeah like those crazy conspiracy theorists who believe that if our government is capable of mass surveillance, they might actually do it.

Or those conspiracy theorists who think marijuana is improperly scheduled and there's been a decades-long campaign to lie to the public about its health effects.

Or those conspiracy theorists who think photographic evidence is sometimes widely misrepresented by the media.

Or those conspiracy theorists who think state actors sometimes astroturf social media.

Or the conspiracy theorists who thought we facilitated the the Iran-Contra weapons sales.

Or the conspiracy theorists who thought Iraq didn't have any WMDs.

Why on Earth would anyone distrust the government and Real News™?
I mean, you can cast this as a recent trend if you want, but what are fields like paleontology if not a kind of "history" of animals other than humans?
How to make an 8th Generation Joint
Well, that's kinda my point. If it's common knowledge, are you in trouble?
Peak demand at rush hour determines the number of vehicles necessary to achieve a given level of service. Self driving vehicles don't change the underlying mathematics of the job scheduling problem.
I think your argument is mostly running into selection issues.

If its the middle ages and the only people who have learned to read are the very most educated part of the the population, then the average printed material is going to be intellectual. As the reading population expands over the next 1000 years, and the average book hence becomes less scholarly, you might naively conclude that everything is becoming 'lowest common denominator'. But overall, education standards + sophistication are rising hugely.

Sure, when only nerds could access the web, it was super sophisticated. And it had to get easier to go mainstream.
But that doesn't mean the mainstream trend is to always dumb down forever, as you are arguing.

Apple mouse used to have only one button, but now look at the power of the multitouch UX almost everyone uses on their smartphone daily. Look at Gmail compared to Hotmail v1, Youtube compared to cable TV etc. Its easy to forget how powerful and sophisticated they are. People have learned to do really sophisticated things, create, communicate etc.

Sure, things dumbed down since only CS grad students used the Internet. But now that growth is slowing, I bet tastes are going to increase in sophistication again.
Hi there! Author of the post that's the subject of this thread here :)

Two questions:

1. Does your machine use a spinning disk for its system drive, or SSD? If the former, that's slowing you down more any anything else. STRONGLY recommend moving to SSD system drive if so.
2. Have you tried `powershell /noprofile` from Run dialog or Cmd? If you're still seeing PowerShell take > 600ms to load and start, likely something else is up.

If you're expecting PowerShell to load faster than ~600ms, your expectations are likely a little out of whack - Cmd loads so fast because it's tiny and - relatively speaking - as dumb as a stump. PowerShell is a .NET language, and so loads the CLR, so incurs some overhead vs. Cmd, but it does A TON more that'll save you more time and effort over-all than any amount of time saving vs. starting Cmd.

HTH.
For me it’s the Newsblur web interface on desktop, and the wonderful Unread on iOS. I paid for it years ago and it’s still
getting updated monthly with new features and bug fixes, even though it has changed hands twice in the meantime.
But being able to see the future, and reducing technical debt around it, is a required skill of an experienced developer.

Just because something hasn’t been shared yet isn’t good justification in my opinion, if you know it will be, especially if it’s a library/API.
I think you can summarize "what is the government good for" with "solving collective action problems", but libertarians tend to think that there are not many important such problems because market solutions are so versatile.

...but the most important collective action problem IMO (ever since someone told me about Ronald Coase) is maintaining low transaction costs in markets so they can function. So free markets and (good) government seem to me symbiotic.

https://en.wikipedia.org/wiki/Collective_action_problem
Saying that they host none of their video content in AWS it's kind of a stretch. The original video and encoded versions of those videos are probably all hosted in S3. Every Netflix Open Connect Appliance still needs to copy and update its content from somewhere and as far as I know, they do it from S3 which it's ultimately their core data lake. How often and how efficiently they do it is probably unknown, but I can't imagine any other strategy to distribute their video across their appliances network that doesn't involve S3.

It's also very unlikely that they are using 'warm' storage to replicate their content across their appliances network since the objects would be retrieved and replicated behind the scenes (no user-facing speed required), so they could be as well using Amazon Glacier to host their content video and just retrieve it slowly at a fraction of S3's cost.

You can read more about Netflix Open Connect network and their storage appliances here: https://openconnect.netflix.com/en/
Under-engineering makes it hard to fix common issues because there is no common code to fix. You can find yourself scouring over thousands of lines of code never sure that you found all the places you need to find. This is why DRY is a solid principle.

I think there is always the problem that programmers want to apply all these principles, including DRY, without actually thinking about it. Once it's applied illogically you are in strange and awful territory.
It should be irrelevant, but it may not be if the anti-birthright-citizenship argument carries the day. If that argument prevails, all kinds of claims to citizenship will unravel, which is exactly what the people advancing the argument hope to achieve.

If you have dark skin you should be particularly worried.
I'm sure they prefer having another customer, and would probably try to educate them about principal vs principle.

http://www.dictionary.com/browse/principal
Premature abstraction...
My cable provider requires calling in to downgrade services, but adding them can be done with just a click online! I've also seen it occasionally for services like eMeals.
Wasting incredible sums of money and effort and resources is our way of life. We distrust each other, we compete, we hoard, we waste.
What do you mean? Should refinement equal surface complexity?
Zurna.Net Sohbet Chat
If you like this, you (and many others here) may also enjoy this great visual breakdown of how the American economy has changed since the recession in 2008:

https://www.nytimes.com/interactive/2014/06/05/upshot/how-th...

P.S. I am also a happy NYT subscriber. +1 for supporting high-quality journalism!
There are 50,000+ ways to learn anything, and most won't work for most people. Sometimes I have to read 20 different takes on something before it finally clicks.

The fact that there are so many people trying to explain it in their own way is a good sign.
lol, I think you got em!
And that doesn't mean it's not very valuable feedback.
>Yes, stopping what I am already working on in order to answer your question will kill my productivity by a lot in order to help your productivity only a little.

And yet AGAIN my initial post is misconstrued completely and entirely because people I guess just don't know how to read today.

I am not the person interrupting my coworkers. I am the one being interrupted and asked to help a junior dev. Read my darn post. Read it. READ IT. I am not interrupting my coworkers. I am a senior dev being asked for help. I am the one being interrupted. I am being asked to assist someone. Stop accusing me of breaking my coworkers flow. That is not what I said. That is not what I offered. That was not my post. That was not the position I argued. Those were not my words.

It's actually getting VERY frustrating having responses levied at me as if I am the person disrupting my coworkers, and not the person who is having his own workflow and concentration broken, and repeatedly having responses thrown at me as if I am the root cause of my coworkers not being productive.

/throws up hands
Conversationally I would say that calling a sequence of functions was composing them.

I’m pretty sure you’re talking about composition in terms of heavy weight enterprisey terms but I think that is a pretty fine line.
Why not rely on crowd intelligence?

I can't google every state. Many of the "incubators" are just real estate businesses, they don't offer cheap or subsidized rent. Ycombinator is not an option.
It's odd there is no mention of Stellar Lumens in here. Seems relevant since one of Stellar's board members is the Former CTO at Stripe and the current CEO at Stripe is an advisor.
miniflux offers docker image
But why should it take longer than 2 messages? Why chat at all?
Yes, but it must be a little bit office like.

I know NYC but this seems to be too pricey.
Oh … and re. Hyper - its awesome and beautiful, but it's an Electron app which means you're first loading and starting Electron base, then Chromium's JS & HTML engines, then loading A TON of JavaScript which has to be tokenized, parsed, compiled and executed every time you run it.

This doesn't come cheap. Electron consumes & fills ~100MB working set just to get rolling, plus several more tens of MB to load, compile and execute.

For example, on my 16GB Core-i7 Surface Pro 4, starting a single Hyper instance connected to Cmd, requires 134MB. Starting Console takes < 1s, and consumes 6MB.
Opportunity for leadership. Explain to them that you are not your code. That code is never done, and like writing, it can improve with each draft. Also, what specific behavior of theirs makes you feel like they are yelling (raised voice, standing close, interrupting). People aren't perfect, but we can help each other get closer.
While I still haven't been able to find an actual time series graph, a Google search for 'Old Economy Steve' gives some indicators of what has been lost.

And remember, the new scarcity is all artificial. There was a time when most people had to be poor because our species did not have the technology to do better. Now, most people are poor in the middle of plenty, because those in power are deliberately making them that way.
It’s exactly like merging but you have to resolve any conflicts commit-by-commit instead of all at once in a merge commit. Useful for if you’ve been working on a feature and want to pull in changes your colleagues have made on the develop or master branch without muddying up your history with merge commits. Having clean history makes diffing easier for code reviews. I’ll admit even after years of rebasing, I still screw it up from time to time.
It is easier to introduce the right abstraction later. The article argues that if there will be no specific abstraction, programmer B would create the right abstraction without hacking on top of existing. This becomes more oblivious when the application is in maintenance and everyone is risk averse.
I would certainly watch more marathons if jumping stilts were allowed.
With wasm, you can distribute an npm package that’s pre compiled and doesn’t require rustc. wasm-pack already does this.
One of my coworkers won’t be happy until we are all living in Death Valley. Almost nobody can follow his code, and given that we aren’t trying to save the world, pretty much nobody tries anymore.

So now he’s indispensable, a situation I assiduously avoid (you can’t work on the cool stuff when you have to be there to maintain the old thing).
That's great. A simpler way of explaining it is that sophistication tends to follow a U-shaped curve: initial complexity for the early adopter set, simplification for mass adoption, then a different kind of sophistication as the masses become more educated and savvy in the use of the new system.

This only applies to surface complexity though. Under the hood the web today is many orders of magnitude more complex than the web in the 1990s.