skysight-inc/HackerNews huggingface dataset:
A version control system is an accurate audit trail of everything that has happened in the repository. Every create, delete, rename, every rwx mode change, every content change.

In BitKeeper files work like they do in Unix, there is a (globally) unique name for each file object. Where the object lives in the repository is an attribute of that object, as are the contents, the permissions, who has changed etc.

Here's a super common workflow that's easy in BitKeeper and miserable in Git. I'm debugging an assert. I want to see who added the assert. I pop into the gui that shows me the per file graph and contents, search for the assert, hover over the rev and see that it was done a long time ago. I look in the area above the assert and I see a recent change, hover over that, see the comments and go "hmm, maybe this". Double click that line and I pop into a different gui that shows me the whole commit that contains that suspect line.

Note that because I have a graph per file, I have checkin comments per file. More work for you poor committers but a godsend for us debuggers. More breadcrumbs are more better.

In Git, less breadcrumbs, single commit message. Git wants to go from the rev to the commit, it's miserable to look around in a file and then go backwards to the commit.

When I was supporting BitKeeper our average response time to bug report or a crash report was 25 minute. 24x7. The only reason it was that long was because we were all in North America so there was a window where we were all asleep. Response time 6am-6pm PST was typically under 5 minutes. And I credit the fact that the tool accurately recorded everything and you could find the history really easily.

Oh, and it didn't slow down as the repo got big. Git is fine in little repos but it sucks pretty hard in big ones. Sucks even worse if you are on NFS. I can dig up benchmarks, we built up a synthetic 4M file repo and ran a bunch of tests on it (it was a modified version of the facebook repo builder, the facebook one had some stuff in it that made Git look incredibly bad, we looked at that and decided that wasn't real world or fair, we took that part out).
I trained my predictive keyboard on Android on my Facebook messages and emails.
My man, quit your job. You're going to die one day. Whats the point of a big salary if you're miserable everyday. You will 100% regret not having the guts to have done what's in your heart.
Reddit takes down accounts suspected of ties to Russian propaganda
It’s more so someone doesn’t think I’m a lawyer, follow my Internet commentary and then come to harm themselves. The disclaimer is my way of saying “I am speaking beyond my circle of competence, but still think what I have to say is interesting.”
If you don't need a distributed system, I'd argue that Subversion is at least as sane as anything else, at least at the plumbing level, once you realize that it is not so much a VCS as essentially a remote file system with atomic multi-file operations, automatic sequentially numbered annotated snapshots after write operations, and near zero cost copy on write copying.

You establish a naming convention on top of that to use it as a VCS. For example, one common such convention is to have directories named "trunk", "tags", and "branches" at the top level, with your projects living in subdirectories under "trunk". Under this convention the way you represent a tag is by simply copying your project directory from trunk/my_project to a new directory named tags/my_project/tagname. Similar for branching...just copy to branches/my_project/branch_name.

Don't like that convention? Develop your own that fits your work better.
I created my own library after finding redux boilerplate heavy.
I haven't publicized it yet, but you can see it here - https://github.com/gunn/pure-store

It supports full typescript typing, and uses Immer to allow very direct store updates with immutability.
You've never botched a merge, try to undo it and accidentally lost work? It's happened to me and/or the people I work with roughly once a quarter since I started using git.
( @o@)
3 Dribbble Invites
Agreed, but I’d have guessed that the Windows / git compatibility horrorshow (at least in the early days) would have nuked git’s chances as well.

I’d have bet on the success of more friendly CLI UX and comparatively easier time on Windows even with the disamenity of Python.
Yes, it will take action by the Nobel Committee - to say they will only give Nobels to research that is openly published without copyright from day 1, and the federal government to state they will only fund research that is open from day 1.
Still need paid reviewers. Elsevier et al, have created a glory based peer review system where people who are worth vie for the cachet of being a reviewer.
You got a vote, in exchange I want 10% of all your karma for the next year, or your account password retain the possibility of "correcting" the growth path of your account.

Also: shit, you're penniless, why did I invest? Whyy?
Great story, thanks for sharing. I wanted to ask a quick question about something:

> Refreshing caches automatically

How do people usually handle this? Is this something done on the application layer or database layer? Where is the cache stored?
> I don't think there's a requirement to be very informed about the subject matter.

Why would you think that? This is a time limited, one day high profile public hearing.
IRL human relationships.
She settled the SEC’s civil case against her but the article indicates she remains under a separate criminal investigation.
We had it work, but out tech lead was onshore, would have daily standups, and would review all there code.

The biggest problem we had is that when they had a problem, such as access or a backend system not working, they would not tell us until the standup. They would not email us so we could start working on it 5 hours before the standup.
From one manager to another, if you haven't read it. Get a copy of "High Output Management"
However, mercurial offers both named branches (hg branch) and pointer branches (hg bookmark) and when I last used it, it seemed the consensus was shifting to one of two positions, (a) just use hg bookmark or (b) use named branches for long lived branches only (master/default, develop, release branches etc) and bookmarks for feature branches/dev use.
Taibbi: Watching Facebook and Senate Hypocrisy in Real-Time
Htop 2.2.0 released
Photo of Zuck's notes, by AP's andyharnik
The "index" is a silly dongle in Git. One way to get rid of it would simply be to make it visible as a special "work in progress" top commit, visible in the history as a commit. "git add -p" would just hoard changes directly into the WIP commit, if it exists, otherwise create it first. Some sort of publish command would flip the WIP commit to retained status; then a "git add -p" would start a new WIP commit. "git push" would have some safeguard against pushing out a WIP commit.

The "--cached" option would go away; if you have a WIP commit on top, then "git diff" does "git diff --cached", and if you want the diff to the previous non-WIP commit, you just say so: "git diff HEAD^".

stashing wouldn't have the duality of saving the index and tree. It would just save the changes in the tree. Anything added is in the WIP commit; if you want to stash that, you just "git reset HEAD^" past it, and later look for it in your reflog, or via a temporary tag.
It is extremely useful for all statements to be able to be used as expressions, to chain and nest values. It's purely syntactic clumsiness on the part of those language families that assignment and comparison are so close to the notion of "equals".
One of my favorite youtube channels does this: https://www.youtube.com/channel/UCO8DQrSp5yEP937qNqTooOw/vid...

And it bothers me. Even Linus put up a video explaining that he's sorry for the annoying thumbnails but it drives views.
Elasticsearch works for this use-case quite well, you'd store a fairly straightforward representation of the MySQL row as a document, query by the fields you're interested in and ask for aggregations on the matching documents. Common bitsets get cached automatically.
Direct link to :large version on twitter image host https://pbs.twimg.com/media/DadTMxlW4AAUz_h.jpg:large
Zuckerberg tells Congress Facebook is not listening to you through your phone
You're ignoring the 'reasonable person' argument which is important and forms a significant part of the legal system re: understanding contracts that you are signing. The reaction by the public and HN as a whole is perfectly justified. The permissions dialog is less interesting than the title of the app which wasn't "App to steal and repackage and sell your data you idiots!". In net, the app didn't tell the truth about itself, aided and abetted by Facebook's idiocy.
The Devs prefer it = improving the Devs workflow
OK, enjoy Git then.

Your claim about merging is false though, demonstrably. Picking a repo gca when you could have used a much closer file gca is better. BK does that and automerges, correctly, more frequently and is way way faster than Git.

I've written two source management systems. I'm confident in my knowledge. Arguing with some random dude who thinks he knows more than me is not really fun. So go enjoy Git. Lots of people are too busy/whatever to know what they are missing, maybe that's you. It's not me, I kinda like my audit trail to be accurate.

Even Linus admitted to me in my kitchen that Git's audit trail is lossy. But go enjoy Git, I'm glad it works for you. Knock yourself out.
You would want to talk to a lawyer (which, if you are starting a business, you will want to have one), but you are not required to incorporate your business if you don't want to. However, incorporation does offer several benefits, which is why some people choose to do it.
The 84 million number is just for Cambridge Analytica.

The real number is north of 2 billion.

"Malicious actors have also abused these features to scrape public profile information by submitting phone numbers or email addresses they already have through search and account recovery."

"Given the scale and sophistication of the activity we’ve seen, we believe most people on Facebook could have had their public profile scraped in this way."

https://newsroom.fb.com/news/2018/04/restricting-data-access...
Not the franchise tax.
WWII generals invented drone strikes (V2, anyone?) and cyberwarfare (using computers to disrupt operations).
> Still need paid reviewers.

Why, exactly? Wouldn't the article's solution be a better way of going about it?
I hear this a lot about Tyler. It just shows that the commentor never read the linked articles or did any research. Tyler and his Grandfather are not on speaking terms due to the whistle blowing and likely never will be. Tyler very much forgave any inheritance and was likely to be bankrupted due to his heroic actions, yet he did them anyways because it was the right thing to do. Maybe his grandfather's position got him into the job in the first place, but Tyler very much was facing a life of endless poverty for his whistle blowing.
There is noway I could keep up with the number of sources I like to keep up with without RSS. Not providing a useable RSS feed as a site is a dealbreaker for me: I will not come back regularly, if at all.

I've been using the oldreader (what a blessing) since Google Reader died (what a shame).

Love the google auth integration (as soon as I log in to my gmail, all my subscribtions are available, no matter what machine I am on ATM), but I never ever thought about paying for the service since it is more then complete for me as it is.

Maybe I should since I truly appreciate it and have found 0 alternatives over the years (and no, I am not going to roll my own, nor host anything, nor install apps across all my devices).
I strongly disagree - this one is on Facebook. For building a system that even allowed a "quiz" to ask for message permission in the first place.

Everybody (and Facebook best of all) knows that users will click [Accept] or [I've read the 27 page T&Cs] or [I hereby give Cambridge Analytica my firstborn child] without even slowing down to consider any consequences - in return for another tiny dopamine fix.
If someone chooses to work there then clearly their cultural norms are questionable. Once it became obvious there are two choices - accept the culture or leave.
“No, not wittingly”
This is why I'm a big fan of yoda notation where applicable

if (2 == x)
This seems a lot less about go and much more about changing the approach to the problem.
The New Yorker published a cartoon along that vein last year with "Insecurity Questions":

https://www.newyorker.com/humor/daily-shouts/insecurity-ques...
> For a reason.

For what reason?
Bullshit.

It is trivial to you, and you're just being a jerk.

Fucking educate people. Don't Condescend.
On Leaving Facebook
Great post. Does anyone know why it says the "Email address is invalid" when I try to subscribe using my email?
You want old, ugly, slow, pain-in-the-ass and proprietary,? Try ClearCase. Expensive. Drain on productivity (all commits were individual file based, meaning it was extraordinarily easy to miss a change; also had no concept of an ignore, so really easy to miss adding a new file). Also, very. fucking. slow. A moderately sized project (or VOB in clearcase terminology) could take an hour to update. I've probably lost a year of my life waiting for clearcase to complete. Also, it had a habit of just royally fucking up even trivial merges (dropping braces in C++ code, for example, or ignoring whitespace changes in python code for another).
Then customers don't pay taxes, their employers do. You can keep going around in circles adding another link to who pays pointing to where they got their money. Saying anyone else but the entity signing the check pays a tax gets silly.

The only time you can dispute this is when the tax is directly on an activity that requires two participants. Who pays sales tax, the buyer or the seller?
How to think like a programmer – lessons in problem solving
I once built a micro service in Go that saved about as much. Took me a couple of days (meetings and all that) from start to deployed. It still runs on the same cheap aws instance. Go is really good at that sort of thing.
I dunno, my kid wont allow me to be at a mindfullness state at any time he is with me...
You can focus, if the kids are elsewhere, with relatives or friends, otherwise, forget about it. Constant attention. At least this is true for my kids...
Seeing that always made me think that everything would be exaggerated, and the video was likely not worth my time; I also spend very little time on YouTube, so the two are probably related (namely that I don't like video-based content)
When you aren't strictly referring to an equation.
The Dystopian Future of Fake News Is Being Developed in Seattle
> On top of that, if you form your business in San Francisco, you are mandatory charged a 4% "Healthy San Francisco" city tax that is supposed to helps pay for employee's healthcare.

This is misleading right-wing B.S. This only kicks in once you employ 20 or more people.[1] Anyone reading this on HN, if they eventually do employ 20 people, probably would want to offer them health insurance by that time.

[1] http://sfcityoption.org/hcso-compliance/employer-spending-re...
On a side note, do those CTAs actually work? I have a hard time believing anyone reading one and thinking "I wasn't going to like/share/comment, but I am now because of this reminder!"
A 50w LED that follows along externally?
Amsterdam's Red Light district has got nothin on Youtube. If you merged it with Shibuya or Times Square, maybe. But what I saw there a few years ago was downright demure in comparison to the clickbaity crap people try on YouTube.
If you like this, I'd recommend following the JAXA YouTube channel. Beautiful HD moon footage:
https://www.youtube.com/watch?v=L0GX-nGSXMA
https://www.youtube.com/watch?v=H1KWtG66lEQ
Hand-assembles on from raw bytes

Upon receiving the file you discover no program will open it
Comparing HEVC-based and AV1-based: there's a tech demo (that I've posted here...a lot now heh) at https://people.xiph.org/~tdaede/av1stilldemo/. Both AV1 and x265 intra look great. If the artifacts when you compare to originals bug you, remember this is just a test at a level where JPEG is painfully blocky, and you can go higher!

Visually, I think AV1 adds less DCT-ish noise, but tends to blur small, low-contrast details a little more than x265. (Compare the ends of tree branches on the default image, Crepuscular Rays, or faraway tiles and details in Mercado dos Lavradores. Haven't done objective measurements though--you may disagree.) I, personally, like AV1's tradeoffs better, at least from what I see there. Patches of ringing draw attention, whereas slight blurring is something we're used to ignoring since it comes from lots of things besides codecs; natural vision and camera images aren't completely sharp either. (Dunno why AV1's that way, but might be that it does more aggressive deringing with that filter Monty's posting about next.)

The photo caption on the comparison in this story suggested the same conclusion re the detail vs. noise tradeoff, for what it's worth: https://www.cnet.com/news/google-mozilla-av1-photo-format-co...

The paper on the deringing filter included subjective tests, and it suggests that test subjects liked its results more consistently than you might guess from the changes in objective metrics--small sample size though: https://arxiv.org/pdf/1602.05975.pdf

Sometimes you may want x265's bias towards more detail; in the Tiger image, AV1 "cuts" the whiskers near the top of the image shorter than x265 does. Tricky to 'teach' encoders that some detail is more important than others despite both being equally low size or contrast.

Given they're both a ton better than JPEG, the big advantage to AV1 for a random developer is the openness; we can use it w/out needing to either take a legal risk or lean on the implementation of some company that's dealt with the HEVC patent mess for us.
Bitbucket is down (it's back up now)
https://status.bitbucket.org/ shows that its up, but navigating to https://bitbucket.org/ says "internal server error".
This was all happening at the time when Obama was over in France campaigning for his preferred candidate. Why is that not considered equally improper?
Thanks very much, this was my curiosity.

Okay everybody, JPEG XS is just software for magic boxes. Nothing to see here, implementing it is pointless.

Actually wait. Argh. What are the patented bits of the encoding process? Now FOSS has to go add those to the "but we can't come up with this" list. Grr.
Something I've noticed is that I don't tend to subvocalise when reading code, but if I do, I generally read "x = 10" as "x e. 10" rather than "x equals 10" (so basically just the first syllable). I will read "if x = 10" as "if x equals 10".

Not sure why/how I picked it up, but similar principle, I suppose.
Damn, that's pretty ruthless how they blew you off like that after you did 90% of the work (coming up with an idea). And one that's already been implemented many times.

Just shows you how lazy some people are!
I think this is a concept that I find myself perplexed about. The defense of a lot of the use of acquired data is, "but you opted in!", which is of course true. However, when we give software access to things it's usually expected that the access is to conduct tasks pertaining to why we would want that software in the first place. For example when I use a web browser I give it internet access so that I can browse the web, or whatever. Not so that it can phone home and tell a company what websites I've been browsing. I feel like the defense, "yeah, but you opted in to allowing it access to the internet!" is a bit misleading.

Perhaps the personality quiz example that seems to be the cornerstone of this whole CA story is different: I'm not sure what your expectations would be allowing such an app access to your messages would be. However, there are quite a few examples of strange behaviour of software running on phones that it's pretty clear that isn't what you had in mind when you opted in. An example that comes to mind is Facebook apps activating your microphone to log conversations with people you have in person (I'm not sure there is any proof of this one yet but would anyone be surprised?): when you opt in to microphone use it's so that you can make calls on the app not to invite spying. "But you opted in!" Yeah, okay. "Sorry!" - Zuckerburg
But if they're located in CA, which many of them are, they still have to pay the $800.
I added the year.

I'm not sure I can fix the fact that the Russian president was in his underwear, out in the road looking to find a pizza. Or the fact he snuck out the next night.

If you could help me make the title less inflammatory? Happy to help out.

It's a great title. It's a great story. It's people being people. But if I missed it, give me a suggestion of how to fix it.
> Git lacks native wiki and bug tracking. If you want these essential features, you have to install additional software such as GitLab, or else use a third-party service such as GitHub. And even then, the wiki and bug reports are centralized, not distributed.

Is a distributed bug reports etc even desirable? How would they work?
> As someone who has used (in a professional setting) version control systems ranging from RCA to SVN to the current crop (git, mercurial, even darcs), the fact that git versions the repository as a whole instead of individual files is a godsend.

This. A thousand times this. A change isn't a single file, it's likely a changeset of multiple, sometimes hundreds or thousands of files. Most often, you need to know the entire changeset, not just what happened with one file. This is especially true of large-scale refactoring where you're changing the public interface of something. Depending, that can have a far-ranging impact and you want to see that history all together.
No, they all suck. Here is a graph rendering of a simple ClearCase repository:

https://svn.apache.org/repos/asf/subversion/developer-resour...

ClearCase is 20 years old or so, but no git gui comes close.

The reason is git's peculiar object model. It has nodes (commits), edges between nodes (parent references) and references (pointers to commits) but no branches. That means it is not in general possible to tell which branch a particular commit belongs to. Asking a question like that just doesn't make sense i git's world. Therefore visualizing complicated branching scenarios, in ways that makes sense to users, becomes almost impossible. This is why people advocate rebasing https://blog.carbonfive.com/2017/08/28/always-squash-and-reb... The idea is to "lie" to the vcs because otherwise your history becomes a hodge-podge mess of merges. :)

Btw, all other features of ClearCase were just horrible and brain-damaged. But the branch visualizer kicked ass.
Why do people root for anything? Emotions, aesthetics, etc. You can't always stop yourself from having that reaction, so you may as well let it out. Myself, I'm rooting for the spacetime-from-entanglement family of quantum gravity theories, because they're frickin cool.
Seems to be up now
An earthquake remains the only plausible fix for the California NIMBYism.
Unauthenticated flag flipping yields remote code execution
We took too long to open source it, people didn't like it being closed source and used for the Linux kernel. RMS was hugely butthurt that we had the best system and all open source had was CVS and SVN.

Whatever, it paid the bills nicely for almost 20 years.