skysight-inc/HackerNews huggingface dataset:
McKinsey did a lot of outsourcing? Who hasn't - this isn't McKinsey - it's a natural consequence of capitalism. Sell thinks cheaper, lower internal costs, make more profit. This isn't rocket science.

People will complain about bureaucracy all the time and then get mad when worthless middle managers are fired. They'll complain about job loss but then shop on Amazon and go to Wal-Mart. They'll complain about restaurants closing as they scoff at a $20 pizza and go to McDonald's instead.

All of these things are natural consequences of capitalism. We can blame individuals and CEOs all we want but everyone is in on this game and the only solution is a proper safety net so that we don't have to hide and feel bad anymore when we have to fire Sally for being woefully inadequate at her job and she doesn't have to worry about her healthcare if she loses it.
Well, Linux's commit messages kind of have to be descriptive since Linux is an Open Source project that doesn't have (that I can see anyway) an issue tracker or other management tool.

When you do have those, then it's the ticket that gives the why's and how's. The commit messages do not have to be essays.
And, at least with JIRA, if you name your branch such that it starts with the ticket id, it automatically picks up any pushed commits for that ticket. It's very useful.
It was never in the HN headline until I added it a minute ago (before I saw your comment btw—this is standard moderation).
I would think that the more wealthy you are, the more ethics you can afford. Who cares about not gaining some billions when you already have multiple billions in the bank?

But somehow, this doesn't seem to be the case.

Is it just greed, or am I missing something?
Yes. Oh, it may not contain ideas you particularly favor, but that's kind of the point.

For example:

UT Austin English (Humanities, no?) major requirements (https://liberalarts.utexas.edu/english/undergraduate-program...) and spring 2020 courses (https://liberalarts.utexas.edu/english/courses/index.php).

Or maybe UT Austin Philosophy requirements (https://liberalarts.utexas.edu/philosophy/undergraduate/The%...) and spring 2020 courses (https://liberalarts.utexas.edu/philosophy/courses/index.php). (Hey! Philosophy is still teaching 313 Symbolic Logic!) (Aww. Bob Mugerauer isn't teaching Contemporary Moral Problems. He's probably retired. But he was great; he looked like Captain Kangaroo. Dan Bonevac is teaching intro from his World Philosophy text. Cool.)

Anyway, most of undergraduate humanities are surveys of various sorts, with the specific goals of getting students to present arguments coherently.

(Hey! Computer Science is no longer requiring PHL 313K, or automata theory. They're dead to me now.)
Well I'm really looking forward to MIDI Capability Inquiry. (well and all the high resolution bits too).

Having a midi device be able to describe and name its parameters and then be able to ... let me quote soundonsound -

https://www.soundonsound.com/music-business/introducing-midi...

"""MIDI‑CI will allow DAWs to discover a lot more about external gear than they can at the moment, and might even allow editing panels to be built automatically."""

I have a lot of gear that will never speak midi 2.0 but my assumption is some clever person will make a proxy (with a big list of existing gear mappings) that would allow me to select that gear and then expose a midi 2.0 interface to the DAW or a keyboard controller that was midi 2.0

This would really be huge for me and just make life a lot better around the studio.
There are passwords, certificates, API keys, more GPL code, stolen code, commercial libraries (integrated but forgot or stopped to pay the license a while ago), vulnerabilities, ridiculous comments, trade secrets (trading algorithms, credit score calculation, fraud detection), etc...

For any sizable software that has been alive for 10 years. There is no way it's safe to open source the repo.
Right, I didn’t look at it from this perspective. That was just my impression of using it.
A function can be five hundred lines long without having high cyclomatic complexity.
Another data point:

"For example, we recently internally benchmarked an Inferentia instance (inf1.2xlarge) against a GPU instance with an almost identical spot price (g4dn.xlarge) and found that, when serving the same ResNet50 model on Cortex, the Inferentia instance offered a more than 4x speedup."

https://towardsdatascience.com/why-every-company-will-have-m...
The level of skeuomorphic design never really hit the web the same as it was on iOS before version 7. Remember the pool table green felt and wood trim of Game Center? That sort of thing is probably extremely expensive to design and maintain for the wide range of screens offered by Apple products.
The example you give is neither a space between two headers nor reasonable cause for a sliding-in header; it’s just a wildly incorrect implementation of a sticky header from someone that didn’t know how to do it properly, and probably threw together a couple of inapt jQuery scripts. It should be redone to use `position: sticky`.
The commit message with a good PR description is okay, but for any sizable code change still doesn't provide full context for an individual piece of code (git blame). Either the PR description is massive -- in which case it's hard to read and tell what applies where -- or it glosses over the detail that's necessary.

The thing is this isn't obvious why it's useful until you don't have it. I don't do it often, but the things that make me go back looking through git blame and history are trying to identify where hardcoded constants came from, or when (time or version) a particular bug was first introduced and why. This is only necessary when there aren't decent comments in the code already, and in my experience, the types of developers that don't put in these comments are also the ones that don't make highly detailed PR descriptions. Good commit messages is also a hurdle, but an easier one to get over than highly-detailed PR descriptions.

On top of that you get all the other significant downsides of a squash merge strategy (eg: not being able to tell the difference between a local branch being merged or not pushed; confusing merge conflicts if you ever merge branch->branch before merging one to master).

As an aside, IMHO, "clean history" is not at all a useful feature. Only developers are looking at git log to begin with, and they are quite capable of using `git log --merges` (or equivalent GUI operation). I guess the most useful thing is to make a CHANGES file (release notes) -- but honestly, the wording is different anyway (eg, "Fixed several minor UI issues" is adequate for release notes, but that might be across several PRs that contain more detail like "Fixed button alignment in modal dialogs", "Upgraded bootstrap to version x.y.z" etc). Go back and look at your PR descriptions from a year ago and see if you can make sense of them -- I bet the context of many will be lost.
Nice explanation, thanks.
Indeed, very annoying.
The BLM movement has gotten to the point that if companies don’t make some statement of support they are risking negative PR.
illustrative and short
https://www.youtube.com/watch?v=-fWxHXEduuQ
Much of the extra weight in the modern car is due to safety and environmental mitigation equipment. All of those crash cages, crumple zones, airbags and the like add weight and size. So do things like complex fuel management systems and catalytic converters. Of course, these are well worth it in added safety and cleaner emissions, but they do limit the minimum size and weight. And that's before one gets to all the "extra options", that are often not optional any more.
Vegan Changers Review, Legit or a Scam?
For a blocking interface, use https://docs.rs/postgres and for an async interface https://docs.rs/tokio-postgres
One would think hundreds of thousands of dollars per year would buy people with a few critical thinking skills. The second example is unforgivable.
My understanding is that evolution optimizes for learning and adapting to the environment. We aren't 'programmed' to be either civil or violent, but to respond in the most advantageous way to the circumstances we find ourselves in. In a society full of dishonest people who are prone to violence, a person who tries to be honest, kind, and peaceful is at a huge disadvantage. But in a society where people are mostly honest, kind, and helpful, helping others altruistically is likely to pay off down the road, and violence or dishonesty are likely to get someone ostracized.

Mating choices will reflect and perpetuate this--in a violent, corrupt society, the physically strong, cunning, and ruthless will be the most sought after. In a more altruistic society, people who produce the most value for others (and therefore receive the most favors in kind) will have the highest status.

So evolution in this sense isn't really outside of our control. If we help each other and discourage violence, evolution will reinforce that, making society more peaceful and altruistic over time. On the other hand, if we make it so corruption and cruelty are the best ways to get ahead, people's behavior is likely get worse and worse.
Does this work? My understanding was that gczs are a lossy compression format, so it seems like going from gcz or rvzs would be hard or at least create an imperfect result.
The similarity extends to the part where the real motivation for asking is to make the person asking look smart.
Not to take this on a huge tangent, but I really _do_ think it's good advice. Unrolling complicated abstractions is a lot of work. Keeping two pieces of nearly identical code in sync is work too, but I've never found it all that onerous. But there's obviously a continuum; on one side it's obvious that it's a shared concept, and on the other, code just happens to be similar almost by chance, and not for much longer. But lately duplication has been turned into a code smell to be linted out, causing a lot of people to get rid of all of it, at all cost.
Discord, a quarantine tech darling, raises another $100M
There's rust-postgres, which is just a driver as you are looking for. It's not exactly what I'd call mature.

Diesel is more mature, but it is an ORM, albeit one with significantly less "magic", so maybe you'll like it more.
> you should never abstract away code before you see the third duplication" has little to do with the article, and I'm also really not sure it's good advice

Absolutes like that are rarely good advice.
Ask HN: What's the fastest way of launching a web store in 2020?
I want to set up an online store for selling clothing.

What services for payment and promotion and technologies do you use when you'd like to quickly build a small online store?
You are not sending telemetry right now. That is a feature which will be activated in the upcoming 1.5 release. It will display a notification.
Show HN: Write guard – Enforce file level write access for monorepos
Rocket has the most batteries-included support for that, although you can just use any of the other web frameworks and either Tera (homebrew Jinja-like template syntax) or the Rust Handlebars implementation.
Show HN: REST application to dynamically update firewalld rules on Linux servers
The sad truth is that the world would most likely not have done anything about the holocaust if Nazi Germany hadn't also invaded their neighboring countries. Killing people at home is just frowned upon, but killing people next door is where you get in trouble. The world is a quite a ways from actually being the civilized place that we like to pretend it is.
Azure devops also allows you to squash commits, I don't think this is Github specific. I do however agree with squashing commits in PRs being really nice (unless you want to branch out from a branch that gets squashed, then it sucks)
>That’s a gross over-generalization to assume that 200 lines is always a self-referential mess.

The point is that you don't know this until you look. You have to look at all 200 lines to understand the function of even one line. When you leverage functional boundaries you generally can ignore the complexity behind the abstraction.
I wasn't talking about icons alone in my second statement. :/

The design trend require soft shadows to be rendered on many elements in layers which I exaggeratedly pointed out. I apologise.
Download it, unpack it, patch it to enable ssh, ssh into the machine, monitor internet traffic and see if its doing anything fishy.
It was alright. I’m a big fan of Stephenson, and I can see what he was trying to do with it, but the main plot line of the book just wasn’t that interesting to me. Parts of the side plot felt almost prophetic, though - he draws out some contemporary trends in ways that feel frighteningly plausible.
> Re-introduce duplication by inlining the abstracted code back into every caller.

Ideally this type of workflow would be supported by the code editor. I've done this manually a few times and it's not fun.
This happened to me too and it sucked, especially if you run out/don't use icloud storage. :(
I don't know about preaching to the choir (I don't buy it, anyway), but

"There is only one set of ideas that truly experiences freedom of thought and inquiry in the humanities in Western universities, and that’s the progressive far left worldview."

has been the complaint since before I was born (which was a long time ago) and "what are they teaching kids these days" has probably been the complaint since universities were first founded.
That case was not quite that simple. It involved import of third-party refurbished/remanufactured parts still bearing the Apple logo (because they contained some original Apple parts). This is clearly problematic, and something auto parts manufacturers are well aware of. I buy many auto parts clearly made on the same mold as factory parts, but with the logo always removed--sometimes even just ground off.

The defendant in this case was aware of the problem and tried to solve it via blacking out the logo with a marker and describing the provenance of the part during the sales process. One can differ on whether these were sufficient measures, and perhaps note that Apple is making it extra hard to remove their logos, but restricting third parties from selling products I didn't make with my logo on it is fairly fundamental to trademark law.
It doesn’t seem that outrageous. Clothing fashion changes, and while there is some tongue in cheek complaining about it, I think our brains are quite okay “retraining.” Same with musical trends changing. Surely we don’t just say “that’s great for working musicians, but it sucks for everyone else who has to get accustomed to new music.”
> non-starter position that would never fly in the larger general public

At one point in time the majority of the general public was against gay marriage. Two hundred years ago many were pro slavery. Everyone used to be against cutting up dead bodies so we could learn how they worked, so it was conducted in secrecy.

Most people are illiterate about the science behind this. The benefits are real and substantial. This isn't a money grab or vanity project - it pushes humanity forward a notch, and it should be done.

Anti-vax, anti-GMO, anti-scientific thought shouldn't prevent us from developing a tool that saves countless lives.
If you only have 2 instances but are spending effort keeping them both in sync for changes then that might be a good time to abstract anyway. The fact that you’re keeping them in sync means they aren’t just coincidentally the same. But this is very situational.
A Brief History of the Lawn Chair
I suggest watching a few and just drawing your own conclusions.

I'm not being coy, I just think that the conclusions I drew may be pretty unfairly negative and I don't necessarily want to bias you.
Four letters fewer makes this a markedly better comment by site guidelines, FYI.
The reason is that you won't know it's the wrong abstraction until it's time to modify it or add new features.
Voice in the news

https://decrypt.co/34598/crypto-social-media-platform-voice-...

Welcome post

https://app.voice.com/post/@salah/join-us-1593835144-1

Help and FAQs

https://help.voice.com/hc/en-us

The tech which makes Voice work

https://eos.io
The solution, except the more obvious ones bicycles and public transport, is that people that absolutely need a car for their daily commute don’t have more car than they need for that. Then when they need to haul something or go on a fishing trip twice a year they rent cars for that.

You would make narrower lanes if most cars looked like this. Not to talk about all the parking space you would save now already.
Reminds me of tango hybrid narrow car featured in silicon valley series.
>corporations are not hypocrites, either, because corporations don't hold beliefs. They make PR statements.Their belief is "I will say what I need to in order to be left in peace to maximize profits."

This is the definition of a hypocrite. I see in your comments an attempt for seemingly logically sound conclusions that stem from unsubstantiated aphorisms. "Corporations don't hold beliefs", "Morality is for people" not corporations.

Just because a corporation is made up from a group of people doesn't magically make it unable to hold any values. I would argue that it does hold values, values that are shaped by the people working there and the society in which it operates:
Profit-seeking institutions don't have morality because they are made up of profit-seeking people in a profit-seeking society.

I would expect your comment to be a prelude to why the capitalist model isn't working, why values are being eroded and eclipsed by the the need for profit, yet you stop short.
Out here in the boonies, the only FM broadcast still available is the so-called 'Vår Herres Radio'...
Amiga 1200 with AGA chipset, maybe?

From https://en.wikipedia.org/wiki/Amiga_1200 :

> 800×600i, 1024×768i (not officially supported)
I probably don’t know what I’m talking about, but maybe a high-end Raspberry Pi?
Ive always though about something like a project planning. They have to submit the project (proposals) before election and once elected, update their status, giving feedback later. And maybe even a kind of point systems, where if they dont get a minimum, they are out and we elect another one for the position.

Something like this:
I want to make illegal to ride bikes. So i have to draft the law, maybe meet someone against and in favor, redo if needed, pass by review, submit it to the congress (or whatever), work on the "comments" made at the discussion, etc.

Each of these steps are kind of "taks" in the sense of the project, and so, trackable. All can be done through technology and can even have some kind of automatic test of acceptance. And it can be acessible to everyone.

Anyway, it is just an idea. Never thought about that very deeply, and even the example may be wrong in steps haha.
Thanks. In that case, I liked your bit about userspace APIs as a potential path forward. Much like with userspace networking and storage layers that have become so pervasive lately.
> The issue right now is, I'm a single founder so I really have to be smart with my time and publishing things will just add to my work load.

Understood.

Do you store lines or full blobs at all? That's really where I came unglued on my first pass. I still want to reintroduce them somehow so that researchers can study changes more closely.

> On my simple dev machine which has 32gb of RAM, 1 TB of NVME storage, and a 2700x CPU, the search engine can easily index hundreds of million changes.

There's nothing quite like a good database on bulk hardware, is there?

> Are these repos public and on GitHub? If so, I can include them in my indexing in the future.

They are, but I am not sure about pointing them out just yet. What I'm doing looks to be a first for VMware, so we're moving cautiously.
I'd recommend to read whatever patio11 wrote about consulting like https://www.kalzumeus.com/2012/09/17/ramit-sethi-and-patrick... or https://www.kalzumeus.com/2012/09/21/ramit-sethi-and-patrick... . Also, there is a monthly freelance thread here https://news.ycombinator.com/item?id=23379195
This has been one of the hardest fought lessons I’ve learned it my programming career, but also one of the most fruitful. I am to make my abstractions too late rather than too early. My rule of thumb tends to me copy things six to seven times before you try to build an abstraction for it.
This looks awesome! Gonna try to use it for DVC where we need to show tables of experiments, metrics, etc.
“Musk Says Tesla’s Rebuilt Autopilot Software Coming in Two to Four Months”
I think there's a big cultural challenge with adopting duplication. It goes against most people's career growth objectives.

Being able to effectively create clean, re-usable abstractions is a measure of being a "senior" engineer at many places. In other words, to be viewed as senior, you need to be able to effectively write abstraction frequently. It's hard to measure an abstraction in the moment, so a lot of people assume that the senior simply knows better.

I find this extends to a lot of programming. Seniors will often use unnecessary tricks or paradigms simply because they can. It can make it extremely difficult for junior developers to grok code. Often this re-enforces seniority. "If only the seniors can work on a section of code, then they are senior". Likewise, there are so many books on crazy architectures and patterns. It's really neat to understand, but I've determined those books are pretty much self-serving.

----

I've found that my work is often far more limited by the domain/business logic than any sort of programming logic. I'll happily write code that looks really basic - because I know ANYBODY can come in and work with that code. If I write code that a junior needs to ask me questions like "what is this pattern?" or "what does this mean?", I've written bad code.

-----

With all that being said, every single job interview I've ever had expects me to write code at the level of complexity that my title will be at. They'd much rather see me build some sort of abstract/brittle concept than using some constants and switch statements. The prior looks cool, the latter looks normal.
Also look at https://github.com/launchbadge/sqlx. I love compile-time checked queries (it's optional).

It's simple to use too, async and includes a pool.
I'm not. Thiel is a terrible person who uses his capital in ways that simply buy the kind of justice he wants for himself, he just just used Hogan and the justice system as private tools to serve his goals.
> able to charge San Francisco agency rates and only pay Victoria, Canada wages
I recently built three of these. There's no kit, so to build one you have acquire all the parts and learn TQFP soldering. The result is a really neat little computer. I did a write-up on my blog:

https://www.fitzsim.org/blog/?p=365
I agree that over-engineered helper function hell can be a real problem.

I disagree strongly with strictly enforcing the 3x rule. The right abstraction can be helpful even if it is used only once. The right abstraction will communicate its purpose clearly and make it easier to reason about the program, not harder. Obfuscating implementation details is a feature not a bug, as long as the boundaries of the abstraction are obvious. Another benefit is it makes it easier to test the logical units of your codebase.

"It’s nice to pretend that a four word function name can entirely communicate the state transformation it does, but in reality you need to know what it does." Are you suggesting you are cognizant of every line of code of every library you use in your work?
Bring the idea that abstraction has a cost, like technical debt. It’s not something to be proud of, on the contrary, it must be justified and serve a true purpose and not be only an intellectual satisfaction.
Multiple Dispatch in Julia