Tell HN: 500 unread mails, 2K unread articles, 5K unread posts – I am drowning - <AUTHOR> And that's on top of the hundreds of tweets that I also "bookmark" in order to check later, on top of a couple of client projects I am currently working on, on top of my relationship that often feels neglected and on top of my life as an individual (= my friends, my family, books I want to read, movies I want to watch, music I want to listen to, places I want to go to, etc etc).
But to add some more context: I am a freelance developer (web, mostly), one of my clients is a company that has hired me to do data analytics for them in a field that's quite new (and so there's a lot of studying (about statistics) and research (about the field) from my side) and I really, really, like exploring, studying and learning new things in many areas.
So, over the years, I've been collecting pieces of knowledge or other general information that I found interesting. And now, I find myself just before the start of a new year (= reflectioning and resolutioning) and just before a commitment that will require some very effective time management for the next few months, thinking that I just can't do it.
Now, to "do it" means to take action over all of these ~7.5K items. With very simple mathematics, if each item requires an action of ~5' each (this number is quite off but I am using it just to make more sense), I need something like ~26 days of doing nothing else other than "actioning" on these items (or ~52 days if I split the day in two halves, etc etc). Not very possible.
And here I am, asking for thoughts, opinions, advice. How do I do it? I could just "-f delete -all" in my inbox, pocket and bookmarks folder but I just "can't". Have any of you been in any similar positions? How did you deal with it? Is it some sort of standard "digital hoarding" situation? Is there something deeper? Should I seek for professional help, maybe? <comment><USER2> Just stop. None of it is that important at all. Want to know more about a subject? Buy a book. Unsubscribe from all of your automated email. Stop bookmarking things. Live in the moment and free yourself from all of that anxiety.

Social media and blog posts should be passive entertainment. You aren't going to miss out on anything. You will accomplish more by letting it go.

You can do it! Just stop.

<comment><USER3> Agreed completely. Buying a book is the best way to really learn more about a subject, and saves me from the binge-bookmarking. I've also made it a habit to clear out my bookmarks at least once a year, based on if I've visited the site or not, and if I still have any desire to read/use what I bookmarked. I've also started making it a habit to try and keep my email as decluttered as possible. All-in-all, it's really helped me mentally and actually made me more able to stay focused on those things I really do want to learn enough to invest time into (currently Abstract Algebra, at the moment).

<comment><USER4> Part of me feels bad that this sort of thing doesn't freak me out, that I'm not bothered accumulating things like bookmarks, unread emails, and files. Maybe that I'm comfortable living with so much noise is why I go through periods where I don't get anything done.

<comment><USER3> It doesn't freak me out, per se, but it definitely _distracts_ me, as I do feel I should go back and look through them. That said, I've gotten much more done since adopting this habit, even if Reddit kills me time a lot nowadays.

</comment></comment></comment></comment><comment><USER5> I was in a similar situation last year. So I put everything in a subdirectory, pushing bookmarks, _etc,_ into an email-like structure. Then I wrote a script to count how many things there were to deal with, and chose an arbitrary deadline of Nov 30, 2019.

I had nearly 5000 items.

That told me how many things I had to deal with per day, and more importantly, for each day, it told me my target for how many there should be remaining, and how many did actually remain.

I then wrote a script that listed the oldest 5, the most recent 5, and 5 chosen at random. Every day I ran that script and without fail dealt with those items. The mantra was:

* Delete;

* Defer;

* Delegate;

* Deal with.

"Defer" doesn't simply mean "put off" \- it means that it is waiting for something before it can be done, so it goes in a special "pending" queue.

Then I also processed items that let me hit my numbers. Some were easy and I could far enough ahead of the game to let me take a day off, but mostly I just ran my "Choose 3x5" script again.

There were days when I slipped, and days when I got further ahead, but by November 1st I was down to under 200 items to deal with. And I've stayed at that, but now it's churn.

The secret, I found, was to have destinations for everything. Look at one of your bookmarks - why are you saving it? Where should it go? What should you do with it? Does it fit in an existing project? Do you need to create a new project? Should you simply file it for recall later when you need it?

* Does it require action?

* Should it simply be filed?

In my case, things built up because I didn't really know what to do with the thing I was looking at, so it went in the "Queued" pile and festered.

Deal with 10 things. Have destinations for them all.

Then you've made a start.

<comment><USER6> Nice, I like the 4 D's.

With regards to bookmarks.

* Websites you regularly read can stay as pinned tabs. If that costs too much RAM, bookmark them.

* Websites you read irregularly, can be put in bookmarks.

* Websites you'd only read once can be put in some kind of logging application such as an RSS reader, OneTab, etc.

I also believe something like Monica [1] can help with some issues. For example, say you're saving up items to buy as a present for your beloved one. With Monica, you could just link these in the CRM to the specific person, organized, and you also get to see what they got from you in other events. In that sense, I suppose "Deal with" is rather broad.

[1] [https://github.com/monicahq/monica](https://github.com/monicahq/monica)

</comment></comment><comment><USER7> Everything you saved is "OBE" or "overcome by events."

That email about a product launch you've forgotten? OBE

That article about how to write a node.js app in es5? OBE and probably a 404

That song you wanted to listen to but never got around to adding to a playlist because you found better ones? OBE

Bookmarking, saving, noting, or whatever mechanism you use to save information for later does not mean you will ever have the information. If it's not important enough to be actionable starting a certain date, dump it, and if it becomes important, you will find it again.

<comment><USER8> Yes, this. It's about the freedom to forget. Important stuff bubbles up again and again.

This is why I mark everything as read once every couple of years and just give up. It's impossible to deal with everything.

<comment><USER9> Agree that this very wise to do. We are fooled into thinking everything is important and that we are always "behind". Being overwhelmed is generally not that you have too much to do, but it is that you don't know where to start. Following on from your process of dealing with email, I have a bunch or aggressive filters that mark emails as "not important" and "probably not important" and then I have a google script that runs constantly and auto archives old mails with those labels, because if I haven't dealt with them yet it's not the end of the world and they don't need to stick around - "OBE"!

</comment></comment></comment><comment><USER10> I've been in a similar path and, while I'm still not out of it, here are some of the things I've learned:

* It is OK not to read everything. It is OK to let go of old emails and tasks and articles that you've bookmarked a long time ago. They will resurface at some point when you'll need them.

* You need to understand that your motivation to read something new like a new paper, or a new blogpost, fades away pretty quickly. Next time you're about to bookmark something interesting, stop and read the damn thing. Waste some of your precious time to read it.

* Take a break, take a holiday, book a hotel somewhere alone and go through all your emails and bookmarked items. Do some reading, do some cleaning. Do what you have to do to reduce this infinite stack of information.

<comment><USER6> I can recommend using this flowchart "How to Get Motivated: A Guide for Defeating Procrastination" [1]. Consider putting it on your background on your computer.

> You need to understand that your motivation to read something new, like a > new paper, or a new blogpost, fades away pretty quickly. Whatever way you > use to obtain new things to bookmark, next time you're about to bookmark > something interesting stop, and read the damn thing. Waste some of your > precious time to read it.

Actually, I found out that if you procrastinate reading material, and you still want to read it in the near future (e.g. within a few months) it is probably worth reading it, and you should give it a whirl.

It is also OK to procrastinate with some material. For example, I still want to read Cryptonomicon, but I am intimidated by its size. However, good fiction ages well. I assume it is still a blast if I read it in 2025. So I don't feel a need for haste. I also consider fiction akin to gaming on a computer (pleasure is not useless, but can only be applied within leisure time), whereas non-fiction ages less good, and can be easier applied wrt your profession or life.

I find e-mail quite easy to deal with. I read it, process it (deal with it), and delete it (move it to trash). If I cannot deal with it right away, I don't delete it, but once in a while I go through my e-mails to get rid of such. If it is important (ie. important deadline), I star it. Approx once a year, I clean my mailbox, and make new folders for the new year.

As for news, a good newsreader with RSS which syncs between your devices yet respects your privacy is what I recommend. Don't follow too many websites, and make sure you differentiate between work(-related) and pleasure. Don't bother to follow all your websites. It is OK to miss news, comics, etc. Likewise, using Firefox on mobile and desktop allows to sync between the 2. I usually send my browser tabs from mobile to my laptop which is much more easy to interface with (IMO, YMMV, I'm from the previous century).

Also, I like to combine cleaning my stuff with other tasks. For example, you can do the dishes while listening to a podcast, or you can watch a documentary which does not interest you completely with something like reading the news. You cannot multitask, but you can change focus when it is interesting to you. This way, you can get more things done.

One thing I did learn, is that I should prioritize time with my daughter. I learned it the hard way (tho she's only 2 y.o.), and I guess if it doesn't occur to you, you can only learn it that way. Time with my daughter is the most valuable because she goes through her young life relatively quick, so if I want to experience these changes including the fun parts, then I have to spend time with her. Even if it is sometimes incredibly (mind-numbing) boring, there's no ups without such, and it isn't so much about me; it is about her, for her these experiences are interesting, and I need to remind myself about that.

[1] [https://alexvermeer.com/getmotivated/](https://alexvermeer.com/getmotivated/)

<comment><USER11> All I have to say is don't wait, read Cryptonomicon now!

</comment></comment></comment><comment><USER12> Stop stressing, mate. Since just not giving a fuck doesn't seem like quite an option for you, I'd do this (and have done this).

1\. Go through, spend maybe 45 minutes (15-30 would be better) collecting specific things that are relevant to "now," out of those buckets. Forgot an entire category of thing? Too bad, it isn't that important _now_.

2\. Then put everything else not collected, (don't start going through the shit again) into a a tarball (or whatever archive format you want).

3\. Put that tarball onto a USB drive (or a couple for piece of mind), untar it once to make sure it works right so you feel "secure."

4\. Then, and this is the important part, DELETE EVERYTHING you collected in the tarball (delete emails, bookmarks, erry' thing).

The noise and weight of just seeing it all there can make everything seem insurmountable. In fact, the noise will constantly get in the way of what is important, thereby putting more between you and whats important, causing even more noise until the loop spirals to where you are now.

You'll feel like a new person afterwards, within a day or two you'll probably be more productive and less stressed out than you have been in weeks. The reason being, is most of (if not all of at this point for ya) that electronic weight is expectations no one remembers or wants filled.

And don't forget the peace of mind from having all those forgotten expectations safely tucked away on a thumb drive... just in case.

Right now all this baggage is only preventing you from improving your work, improving your relationships, and improving your life.

Good luck, friend.

P.S. Its fun to go back through the drives years later when you re-discover them (you'll likely never use the drive after a week or two) and think "holy shit, I cannot even remember why I gave a fuck about any of this" as well as salvage a few forgotten gems.

<comment><USER13> Not giving a fuck is the healthy choice

<comment><USER12> +1 but sometimes it's hard to realize that (the healthy choice), the steps I outlined will at least get one started in that direction. After enough times (for me it was like 1.5) of doing the aforementioned, I was rid of the burden.

I deactivated my Facebook like seven years ago (? maybe more), with the intent of being able to "reactivate" it. But, I haven't, and have no urge to... turning it off was like a breath of fresh air. It let me know just how surface level all our interactions are on things like Facebook. Reading about friends or people you care about, almost anonymously or as a voyeur, without interacting except for the occasional "like" or "me too, dawg" doesn't make for good relationships. It makes for a (truthfully, shit) facsimile of good/healthy relationships. When I see someone now I haven't seen in a long time, there are things to talk about. I can express genuine heartfelt interest in them and their lives. If I'd been using Facebook to get sideline views into their lives I'd have my own bullshit expectations (or others) cast on to that relationship... and for what? Literally, fucking nothing but anxiety.

Don't get me wrong in 2019 it's not so great not having a Facebook as I do miss quite a few events, but _hey_ at least when I'm there, I'm actually there.

Achievement Unlocked: Not Giving a Fuck Level ∞!

</comment></comment></comment><comment><USER14> Flag them all as read and move on. Skim the emails.

If your life has moved forward without reading them then probably you can do just fine without them.

Take 10-15 minutes to review your subscription, there's probably things from which you can unsubscribe. Maybe things you're not interested in anymore or things that looked interesting but not enough to follow through.

At the end of the day, meh.

Information overload is a thing, be aware of it.

</comment><comment><USER15> I lost _all_ my bookmarks, which I had collected through the years. Realized it didn't affect me at all.

Some tips in general:

1.- Just realize you'll never have enough time for ALL the movies, books, bookmarks. Internet content is infinite.

2.- You need to be selective.

3.- More important: narrow down your interests.

4.- btw there's some apps to help with focusing, Focus is one of them, another is SelfControl (FOSS), Freedom, Cold Turkey, etc

5.- Do a cleanup of clutter every six months.

<comment><USER10> You probably felt relieved

<comment><USER15> Yes! oddly enough, I felt relieved, a weight lifted from my shoulders

</comment></comment></comment><comment><USER16> Sounds like a clinical case of memory hoarding.

From: [https://ocdla.com/memory-hoarding-obsessive-compulsive- disor...](https://ocdla.com/memory-hoarding-obsessive-compulsive-disorder- ocd-1964)

> Memory hoarding is a mental compulsion to over-attend to the details of an > event, person, or object in an attempt to mentally store it for safekeeping. > This is generally done under the belief that the event, person, or object > carries a special significance and will be important to recall exactly as-is > at a later date. The memory serves the same function for the mental hoarder > that the old newspaper serves for the physical hoarder.

I'll admit too that I have had thousands of unread emails and tens of thousands of bookmarks.

You have to come to realize that it's not all that important. And even if you can't, there's one way to start.

You fear that you'll lose the data, that it's important. So, save it all. Archive every single one of those emails, and export those bookmarks. Put them in a folder of their own and make a backup if you really care. Start fresh with a clean inbox and bookmarks folder.

If you were right, and you actually ever need the data it's still there. But the more likely scenario is that you won't, or it will be easier to just google the damn thing again. This is how you may begin to realize the behavior is irrational. It's how I did.

</comment><comment><USER17> Some decent advice so far, few different approaches. For myself I have 20k unread emails. I don't care. I've already taken a pass on the From, Subject and first line or so. Don't flag an email as a to-do unless you are actually committed to doing it, or you need to do it. Let everything else fall out of the bottom (so you can still search and filter up to a point)

With bookmarks, I would go against others here and say continue bookmarking anything and everything you think is worth a follow-up in the future, but also create a second list of "Bookmarks I must action", with the understanding that you are again, committing time in the future to ensure this gets completed.

Mediums such as films, music and TV, I try and set a realistic limit on how many items I have it my list before I simply purge the oldest items. If I was serious about them, I would have completed them already.

Just be honest, realistic, and plan.

</comment><comment><USER18> Just went down from 1000 tabs to 750. You are not alone.

But nowadays, I try to use money as a filter. If a link has a clear benefit for the job, read it. Otherwise discard.

<comment><USER19> Just close them. Close all of them, you don't need them.

If you need a specific page available for reference purposes, bookmark it.

Tabs are volatile and the "restore last session" functionality in modern browsers is imperfect.

<comment><USER18> Oh I think I battle tested firefox session restore. I can even say that after 1000 tabs, UI lags tangibly (not blaming mozilla for this of course).

Honestly 1000 tabs wouldn't much of an issue if I had some SQL-like way to filter / group tabs to bookmark them rapidly in bunches.

<comment><USER19> I'm genuinely curious as to how you keep track of hundreds of tabs, apparently without tree-style tabs or similar extensions?

Why not just bookmark them in folders once and for all?

</comment></comment></comment></comment><comment><USER20> This spring I sat down with my laptop and a new show to binge watch, and started looking at my inbox. Every time I found a new update from some mailing list I'd find the unsubscribe link, then search by some keywords and bulk delete them (places that sent email receipts are a bit trickier that way, but it's doable). Maybe 90 seconds per mailing list. Tedious, hence the TV.

The most obvious mailing lists removed a significant fraction of all of my emails. The long tail was trouble. When I'd done all I could stand, I went event-driven. Some infrequent spam would show up and I'd deal with it then. Now I'm dealing with a couple a week.

Most of my email is still 'spam' that I haven't brought myself to unsubscribe from yet. I've been thinking about it a lot lately and I may be there.

But I'm already at the point where if someone is trying to get ahold of me by email it works again, and that wasn't true for quite a long time.

<comment><USER21> One of the nice things about a fully-featured email filter (I'm using sieve on my own Dovecot installation but you wouldn't have to go that far) is making your own "bulk" mailbox. I have a sieve rule that's got maybe ten "or" conditionals in it, and does a darn good job of picking out mailing list/bulk emails and shunting them to their own box. I don't mind signing up for newsletters or letting merchants mail me so much, because I know those messages are all going to their own special home. I have an older-than-three- months autodelete on the mailbox, and manually move anything I want to keep (receipts, etc) into a "bulk-keep" mailbox, and that's it. Takes me seconds to scan each day, and doesn't pollute my inbox.

</comment></comment><comment><USER22> It is humanly impossible to read everything that's interesting, relevant, and/or important. That's OK. _Let yourself be human._ Stop. Throw away the 2K articles and the 5K unread posts. Don't even try to sort them. Just give yourself permission to not read them, and throw them away.

</comment><comment><USER23> Lose the FOMO, mark all as read.

<comment><USER24> I recommend this approach as the emergency nuke. As long as you commit to keep inbox zero afterwards.

<comment><USER25> I use the exact opposite approach.

My inbox is simply a message log. If I read something, I read something. If I don't, I don't. The number of unread will forever grow.

Things that need non-immediate follow up get snoozed.

<comment><USER23> Actually I do a hybrid of this--I archive all the messages I don't plan to read without bothering to mark as read. The only point in doing so is to gauge my incoming spam rate which I manage with unsubscribes, mark as spam, and rules.

</comment></comment></comment></comment><comment><USER26> A key insight is that knowledge loses value over time. An article a few years old might be a tip to buy a stock, a prediction of the outcome of an election or a technology stack that has since been superseded.

</comment><comment><USER27> Delete all those references. Then just read things instead of bookmarking them for later. If you don't have time, what makes you think time will magically be available later?

</comment><comment><USER19> I know exactly how you feel, I've had huge unread inboxes, plenty of articles to read, albums to listen to, DIY and other projects to do/finish, just generally a ton of stuff on an unmanageable to-do list. Not to mention the physical parts of those aforementioned things piling up.

The best thing that happened to me was that my girlfriend agreed to move in with me. That gave me a clear deadline for cleaning out and cleaning up the physical part of the mess, and really forced me to reevaluate which things to keep around and which to just scrap outright. When you have to condense two apartments into one, you have to be smart about which things you allow to take up space.

I took this mentality to my non-physical mess as well, unsubscribed from all mailing lists and took a hatchet to my open tabs, bookmarks and various read- later lists.

Nowadays I try to read or listen to or generally check out stuff ASAP instead of putting it off. For things like books, I keep a very short strictly curated list of authors/books that I would like to read next, I try to keep it to around 5 items at any given time.

I have ADD traits, and keeping myself from creating unmanageable to-do lists really helps me with that.

</comment><comment><USER28> How many of the emails are notifications of content or other spam? Get rid of them. Stop any and all social spam. Now deal with the actual important email such as correspondence from clients. As for the other junk the unread articles and posts.. mark them read or delete the notices and move on. If you find yourself with free time you can go hunting for interest but this stuff should never control your life

<comment><USER29> I really enjoy unroll.me because it allowed me to easily unsubscribe from the thousands of junk emails making it into my inbox. If I want to see some things, they are added to my "rollup" which is delivered daily. Turns out, I rarely read it. Nearly all of these social media notifications and mailing lists are completely worthless. How often has subscribing to a blog that is sometimes interesting actually helped you?

I still want to read and learn and to be in the know. So I'm on the lookout for a better way to surface things I care about. Maybe 5-10 things a day. For now hacker news seems to be working the best, but it'd be nice to have something a bit more personal without an infinite feed.

<comment><USER30> "your emails have been scanned and sold to third parties"

[https://www.howtogeek.com/304373/unrollme-is-selling-your- in...](https://www.howtogeek.com/304373/unrollme-is-selling-your-information- heres-an-alternative/)

</comment></comment></comment><comment><USER31> One way of looking at this: If you could only take action on those items, you wouldn't have to improvise; you'd be better prepared and educated for the future.

Yet this ability to improvise and dive into the unknown got you to where you are today. It got you a leg up and advanced your career.

And regarding the interest, that's also a factor worth considering: Somehow the feeling of interest quickly gives way to a fearful feeling of imminent loss of contact with knowledge which may be necessary in the future. However IMO given your skill in the tech area in general, this question of necessity should probably be itself held in question.

One alternative path is to build the capacity to create your own knowledge as needed, through tactical, specific problem-event-based analysis. Doing so narrows the time scope and the applicable scope of available outside information. In effect it narrows your filters to both limit your exposure to impossible swaths of "maybe I'll need it" information and also increase your leverage over the specific problem in question.

If you want any more help with this feel free to drop me a line.

</comment><comment><USER32> At least for me, there are two related issues: spending time in preparation for something I tell myself I should do but actually don't and the stuff I am saving in preparation for things I don't actually do overwhelming the stuff that I would actually use if I could find it easily. You can still bookmark and save emails just do so in a way that takes very little time and doesn't get in the way of what you actually use.

With email is when it gets to be too much I go through and deal with everything I must reply to right now and save all the rest in a new folder that I can refer to if necessary (this occasionally happens). I started doing this by telling myself that I would look through them if I got the chance, but that never happens.

With bookmarking and such the trick is to avoid letting the things you are most likely never actually going to look at get in the way of accessing the things you have read and want to be able to refer to quickly or are likely to be of particular use to refer to in the not too distant future (e.g. something related to a particular project you are working on). If you think organizing in a particular way might be helpful, try it but if you don't actually use it go to the lowest effort option (e.g. add an unsorted bookmark). Sometimes unsorted bookmarks can still be useful to find an article you remember looking at, although I often find it isn't possible in a reasonable amount of time so I've found the trick if I remember seeing an article I now want to read is to try a few quick searches of bookmarks but stop fairly quickly if I don't find it.

I also find it helpful to completely stop reading HN (and other stuff that isn't immediately useful) for a month or two now and then to get a better feel for how much time it takes and what I get out of it.

</comment><comment><USER33> I used to organize such things into a big folder structure by topic. Since it was mental effort to keep organized, I rarely did it and sometimes had tens of thousands of unsorted emails. Realized that if I needed to find something, I could always find it by searching, but sometimes an important mail fell through the cracks.

Now I stay on top of mail by sorting into "todo", "follow up" and "archive". I go through the first 2 every few days and archive anything I don't care about, and move things from follow up to todo if I feel I need to do some action. Typically this means sending a reminder to someone.

You can probably sort through 500 emails in a couple hours. If that's too daunting, just do 100 per day.

I disagree with others that say to delete your bookmarks. I would just archive them so you can find them by searching later if something triggers your memory. But from now you can save bookmarks in 2 folders. If something is interesting, save it in your archive and forget about if. If something is actionable or time sensitive, save it in a "todo", "to read" folder or open tab.

</comment><comment><USER34> I do not allow myself on the Internet after 5 pm unless it has to do with studying, work or shopping. If my mind wants to wander around and browse the Internet, it's free to explore the currently open tabs (that were opened and abandoned before 5 pm) and/or bookmarks. This helps me keep the deluge of info at bay and clear out the old tasks/bookmarks.

<comment><USER10> I actually bought a smart plug that can shut off my internet between 8pm and 6am the next day. I'll try it when I get back home after the holidays.

It's a bit of a hassle to setup because I control it by connecting to the WiFi which needs to be unplugged when I plug this smart plug :D but I couldn't find a bluetooth one on amazon (if someone has one please share)

<comment><USER35> I've seen this analog one in Germany: [http://www.massive- grow.de/images/stories/virtuemart/product...](http://www.massive- grow.de/images/stories/virtuemart/product/bild_551_1.png) , but it ticks as some part rotates.

<comment><USER36> Digital versions are also available. The only sound is when the relay activates or deactivates the power.

It's called a timer switch in English.

[https://en.m.wikipedia.org/wiki/Time_switch](https://en.m.wikipedia.org/wiki/Time_switch)

</comment></comment></comment></comment><comment><USER37> Delete all of it and only read things immediately, else don't read it at all. I try to enforce this rule on myself. The only thing I break this rule on is marking videos on Youtube as 'watch later' since it's mostly background noise when I put on videos. I'm even starting to move away from that and go to FIFO consumption there as well.

I'd echo the sentiment that if you're seriously interested in any topic, pickup a book. I have another life rule for myself- don't form a strong opinion on anything until reading at least 2 books on the subject. I also don't take anyone's opinion seriously without discovering they've read at least 2 books on it. It's just vetted, edited written material that's high quality.

Try it next time someone mentions global warming, see if they care enough about it to funnel those emotions into actually looking into it, in any meaningful way like reading a book..

</comment><comment><USER38> I'd consider seeing a psychologist. There is nothing wrong with that at all - no different to needing a physical therapist or dentist in my book.

In the short term I recommend setting realistic learning goals, which are rooted in the direction you want to take your hobbies/work, and then discover the places to find that information. Spending 100 hrs learning one thing is more effective than learning 100 different things. And that means deleting the bookmarks, or at least export them them to a csv and stick em in a repo for future searches. But no need to read em all.

The inbox- I don't know how important the emails are but go through them all and aggressively archive anything you don't need to follow up on. This might require several passes where you get more strict on what you keep each time.

Don't be a slave to your past self thinking you need to read everything. You can't read the whole web and there is no need to try!

</comment><comment><USER39> This is exactly the reason why I signed up for a pocket account and the browser extension.

Whenever I find myself distracted or anxious about reading an article or losing an important piece of information. I bookmark it in pocket and move on. It makes me feel better (less anxiety) and 99% of the time I dont go back and read it...

</comment><comment><USER40> I'll give you an actual plan.

Step 1: Clear your inbox to one page

Your inbox should be a to do list. Get it down to one page, all actionable. Any newsletters you haven't read at this point, delete it. Yes, it's valuable. But newsletters are a stream, not a chunk of gold you want to hoard. Whatever they brought you, there will be more later, and often the same thing.

Use [http://unroll.me](http://unroll.me) and unsubscribe everything, except the truly good ones.

What is good? Good isn't simply learning something. Good is _life changing_. It doesn't mean getting a job that pays 20% more, or landing an extra contract. It means something that becomes a "secret weapon".

If you have a to do list, clear/archive your inbox completely and move remaining emails to your to do lists. You should have a set time to read an email or respond.

Step 2: Clear out those tweets

Tweets are easy. You either read them now or you delete them now. Don't think too much. Remember, it's a stream of useful information. Like clean water, you'll have more later.

Step 3: Clean out those posts

Post are a bit harder than tweets. But it's the same concept. Skim then toss them away. If they're life changing, you'll notice.

Step 4: Clean out the articles

Now this is the hard part. Articles take a bit more time to skim.

Keep in mind Sturgeon's Law: 90% of everything is crap. This applies to articles (especially dev.to, Medium, and all these other personal branding blogs).

Out of those 2000 articles, cut it down to 200 non-crap ones. Don't read them yet. Just skim. If you're above 200, keep cutting it down.

Then you read them. At this point you've become very good at skimming, so you should get a good understanding of them quickly.

Good luck!

</comment><comment><USER41> Ignore all of them and move on with your life. Anything urgent enough you already would have gotten to.

</comment><comment><USER42> I tend to something similar, in smaller scale. Right now my Firefox browser has 67 open tabs in my phone, with links and tidbits of information that is interesting or relevant for me, waiting for review. But I don't really worry so much as before.

It used to be worse, with several hundredth tabs. I just lost them all one day, to my astonishment, while testing the "clean private data" feature: hadn't disabled the option to forget all open tabs. All were gone, and it really was for the better. It felt like a "mind cleanup" \-- although at the moment I felt very stupid :-)

You have been given good advice: just stop. At least for a while. Realize that all that pending stuff is neither Important nor Urgent [1], and just let it go.

[1]: Eisenhower Matrix and all that

</comment><comment><USER43> I just delete all todos (articles, news, tweets, etc) that are a few months old and that I haven't engaged with. If it's important and good enough, I will find the resource again. Most often, however, I have stopped caring and don't even bother with a follow-up.

</comment><comment><USER44> All other comments seem to be fixing the list, but the problem is not the list, the problem is that it makes you anxious.

Few sentences from a stranger won't change you but you're clearly using introspection so you'll be fine.

Just remember that you decided to post or do 100 other things than doing these e-mails or items. Did something change? If you are choosing something else over that stuff why do you think it's something that needs fixing?

If you truly believed that getting these things done is what you want, you would have done them. So just debug the program of yourself. You think that given some input (values, what you think is important) you should expect the zero inbox output. Sometimes the program works fine, you're just assuming different input.

</comment><comment><USER45> As someone with nearly identical psychology and habits in this regard, my advice is this:

Keep bookmarking and saving stuff, but tell yourself you'll process it later, with the help of technology that doesn't exist yet.

Procrastination is your friend here, not the enemy. Technically it's not even procrastination if you're deferring things on the basis of requiring better tools. You're just scratching an OCD itch of sorts and there's nothing wrong with that. I bookmark almost everything I come across that I find interesting, and I _hate_ losing data in any form.

For me, life is endless streams of data I can't hope to keep up with. I just cherry pick from streams either at my leisure or as is required of me.

</comment><comment><USER46> Simple: keep things bookmarked and save things you find interesting but don't notify yourself that they are unread. If you so desire on your own time to go through the things you saved, you can do that -- it's like your own personally curated reddit!

</comment><comment><USER47> The first thing to do is to get over the sunk cost fallacy. _I 've spent the time bookmarking all these articles, so now I better read them._ No. You don't need to.

Realize what you have. A collection of things you thought might be useful some day. Consider an encyclopedia. No one reads through an encyclopedia cover-to- cover. That's perfectly fine. You pick something out to read when you need it. Most entries go unread, existing as mere possibilities. You might be able to use your bookmarks like this.

For your emails, figure out which of them need an action on your part (probably the most recent ones). Everything else goes into the archive so that you can find them when searching in the future.

</comment><comment><USER48> I sacrificed the few hours necessary to get to inbox zero - it was worth it. 500 unread emails really isn't that much.

Articles + posts: I love the backlog. If something isn't relevant when I go to read it, I'll probably just trash it. And so the backlog serves as a relevance filter. The best articles I read are "relevant" in a timeless way, so checking to see if the article is still of interest in a different context ensures that what I read is indeed awesome.

Once you're caught up, try using www.minimal.app for reading lists, writings, etc. The Note Lifetime ensures that the important things get taken care of, while all else is let go. (I am building it.)

</comment><comment><USER49> Book time for research, and purge any of those bookmarks, etc that you can't get to during those periods. If you don't triage right away, the context is gone anyway and those resources aren't useful.

For the mail, just let it go. I have 40k unread emails that cannot be deleted for reasons... anything unsorted after 90 days should get dumped. Make a vip list and commit to reading those, the rest are junk and should just be purged or dumped somewhere.

Make a rule for yourself that you can follow and use that to liberate yourself from the anxiety of dealing with this big pile.

</comment><comment><USER50> Arbitrary numbers. Delete all the messages and posts and free your mind. There is much much much more to life than what you can find behind a screen.

If your notifications are hitting more than helping your mental health it's time to take a break.

Seriously, go outside and don't look at your devices for a week or two. It's not as hard as some might expect.

Then when you return, don't feel obligated to read all the things, be precise and deliberate in your actions and consumption.

You got this. It's just pixels and bits, we are the dust in the wind that matter.

</comment><comment><USER51> Delete them all now. Either you will die, or you will be free of them.

</comment><comment><USER52> A human life is not a permanent installation. It is more like a mandala. Constantly in the state of being made until it is complete, and then it is discarded.

Your life is a mandala. None of it will remain. Don't hoard physical things and don't hoard information. Let it pass through you. Delete the entire lists.

Believe in the stickiness of important things. After you delete the lists try to remember items from it. Read whatever you remember right away.

In the end there's really nothing you _have_ to do, even breathe.

</comment><comment><USER53> You have _only_ 500 unread email? I need to know your secret.

</comment><comment><USER54> I was in a similar situation before. Here's what I did -

Deleted FB & Twitter accounts. Unsubscribed from all emails. "Cleaned" my desktop (on laptop). Tagged other digital items like those saved in Pocket. Now whenever I'm in a commute or have a free item, I go through each save and ask myself - "Do I really need this item? Does it earn me any money? Is it worth my time?" If not, I just delete it then and there and move on.

</comment><comment><USER55> Unpopular opinion: I have seen this happening frequently for all the "freelancers" I know. They deal with multiple clients, multiple projects, multiple categories of work.

Have you thought of organizing the way you're doing business? Probably focus on more niche field. Cut down your clients, cut down your projects and focus on fewer.

Remember 80/20 principle? Ask yourself what gives you the most output and then remove everything else from your life?

</comment><comment><USER56> I was you some years ago.

I decided to change.

I deleted EVERYTHING.

It was hard but my life is better now.

<comment><USER22> Hard how? Hard to bring yourself to do it, or hard because it caused consequences when you did it?

<comment><USER57> If you're that worried, mass respond to every mail in inbox and anyone that's human or any business that gives a shit will resend their msg the next day.

</comment></comment></comment><comment><USER58> You'll really know if this content was useful by deleting it and seeing if there's an impact later. Like others said, you can get it back, but I doubt you'll see the need.

As a way to reduce the content you consume, give preference to what has lasted more than 10 years already. You won't be as current, but much of the new stuff isn't built to survive anyway.

</comment><comment><USER59> This just inspired me to go clean-up my bookmarks. Only have a couple hundred, but, still nice to throw out all the unneeded stuff.

</comment><comment><USER60> I was there. For me the solution was: bought a Kindle, put 5 books in it (3 fiction, 2 non fiction), and forced myself to not open my laptop except for (real) work for a few weeks. 0 web browsing. Never felt better. Really put things into perspective, and to be at peace with missing out and instead focusing.

</comment><comment><USER61> Focus on the client projects until you complete enough work that you can status them and let them know you are on vacation for a few days, use the vacation to focus on the relationship. How many days required to get the client projects to a point that they can spend a few days reviewing the completed work?

</comment><comment><USER62> Honestly, I prefer keeping things in queue for a while before reading them. A lot of things seem vaguely important at the moment I bookmark / archive them. By the time I circle back to those, most lose relevance. The ones that don't lose relevance are the ones worth reading.

</comment><comment><USER63> Moving from FOMO (Fear of missing out) --> JOMO (Joy of missing out)

</comment><comment><USER64> Mails:

Filter by sender, pick the least valuable first. Move all to trash. Unsubscribe to unimportant newsletter.

Knowledge:

Pick one, master it. Pick another one, master it. Do it one by one. Pick the valuable one first.

</comment><comment><USER65> humans are bad at planning the future, but very good with the present. read something interesting immediately or forget about it. if you are willing to postpone it , it's probably not important anyway. don't worry, the internet is not going to go away. even though we believe we follow different bubbles, the same articles are being circulated in all of them.

</comment><comment><USER66> My advice is to close the computer, shut off the phone, and buy a book. Not an ebook, but a "physical" book and start reading

</comment><comment><USER67> Delete all the emails that aren't from an actual person that you already know. Free yourself to forget about and delete the rest.

</comment><comment><USER68> If it was important to your well-being you would have already addressed it. Delete it all and start fresh. Or just stop altogether.

</comment><comment><USER69> Bookmarks are just bookmarks, follow a course

</comment><comment><USER70> Is this some sort of HN joke? Delete all that garbage and go do something, literally anything, not involving a computer.

</comment><comment><USER71> Recently I have passed 33333 unread e-mails. I guess the time to mark them all as read is approaching again :P

</comment><comment><USER72> Say you don't do anything about it but just leave it alone. What's the worst that could happen?

</comment><comment><USER73> Tar gz everything into a new 10tb portable drive n imagine you will come back to it later.

</comment><comment><USER74> What makes you think you have to take action on the entirety of your backlog of items?

</comment><comment><USER75> Don't bookmark things or save a reading list.

After that, your backlog should start shrinking.

</comment><comment><USER63> JOMO (Joy of missing out) > FOMO (Fear of missing out)

</comment><comment><USER76> Not worth freakin about Do what you can That's good

</comment><comment><USER77> I go through my bookmarks once a week. Generally after a week and in the context of a whole list of shiny things, this particular shiny thing doesn't seem quite so shiny. I find that I delete between 50% and 100% of this week's bookmarks without doing more than reading the titles.

If they don't fall in that bucket, they either go into:

1\. a project or todo that is captured elsewhere, and it gets attached. 2\. One of my text files in a "not now" folder, very roughly separated by major themes (they have titles like "Technical details" for programming/CS stuff, "Sciencey stuff", "Process/organization", "Parenting", and files for large future projects that I am slowly accumulating towards like "One volume world history" and "Alexandrine program for software").

3\. My read/review folder if I actually still want to read it. That folder I review weekly as well. If it's not something I still really want to read, I dump it into a subfolder called "archive" which is a guilt free trash can.

> Is it some sort of standard "digital hoarding" situation?

It's habits developed in scarcity failing when applied in glut. You probably don't need professional help. You just need to accept that you are going to trace a tiny path through the world of human knowledge. Once you accept that you're not going to archive the world in your mind, you find that you need different criteria. Look at your roles in life and goals and ask what information will serve to advance them. I am a father. I wouldn't seek out parenting books without that, as I don't find the information enriching, but there is information I need for that role. I hold a job programming computers. Details of my employer's internal tooling isn't something I would seek out without reason, but to do my job I need it. I am a human being that needs to take care of myself, and part of that is having positive, enriching things in my world, and certain information feeds that, but there is no obligation to assimilate the world in that. The information is allowed in to fit my needs, I am not contorted to fit its needs.

At this point, if you have a big time commitment coming up, I would dump all this stuff you have in a folder called "archive" and accept that you're not going to look at it for a while. You can review it weekly by looking at the folder "archive" (not its contents) and saying, "not this week" which will give you freedom for another week.

In six months you may look at it and go, "Yeah, never." and delete it. By that point most of what you would actually need in there you would have found again anyway.

Likewise, this is a good time to cut off twitter and all the feeds that are adding to this stack. That bookmark review I mentioned before is only for three to ten items a week, generally, which I find slightly too high.

</comment><comment><USER78> 1) Unsubscribe.

2) Delete.

3) Repeat.

</comment><comment><USER57> Get high and/or toasted and rm rf, B.</comment>


Social news for smart people via ongoing IQ tests - <AUTHOR>

<comment><USER2> Perhaps the best test would be having two buttons displayed to the user before they post a message:

"Please take an IQ test before you post" and "Post your message"

Since the people who take door #1 demonstrate intellectual penis envy and a lack of judgement on how to best spend their time (a fair criticism of me right now, since I'm responding to this post instead of working), you should only allow people who pick door # 2...

Seriously, I think the idea is a non-starter. Here are a few problems I have right off the top:

1) Big assumption that the quality of submissions and/or discourse is proportional to IQ. I don't think you can use IQ as a lever in this regard.

2) Even if 1) is incorrect, the IQ curve has a normal distribution. So, you'd cut off most of your users pretty quickly as your IQ requirements get higher. Last time I checked, it is a bad idea to actively trim a large chunk of people from your community. Especially by effectively telling them that they're 'too stupid'....

3) I'd be willing to bet that you'd alienate an important subset of people - intelligent mavericks, who wouldn't care to be part of some club based on a number. And I'd also be willing to bet that theirs are the viewpoints that would probably make your site interesting enough to come back to.

4) Adding onerous requirements (even if they are periodic) to allow people to contribute would probably result in a huge falloff in participation, and not just by the 'low IQ' club...

I'm guessing that I'm probably not in your target demographic, since I don't understand what benefit a site like this would offer - beyond feeling good about one measure of your intelligence.

</comment><comment><USER3> It is very important for any Social News website to cater to the lowest common denominator. I agree with some of the comments here that suggest that a lot of people might feel alienated.

It would probably work to abstract out the IQ of the user from the user himself. This means NOT having an IQ test per se and instead using relevant data mining techniques to measure the knowledge of the user based off of the user's posts and the rating that the user receives. I guess knowledge is a more relevant criteria for most people to read a given post, unless you expect someone to solve/crack a problem, rather than add content.

But, at the same time, if the metric (could call it IQ or KQ??)) can be internalized, and used to group people together and in turn used to attract people falling under a given group, might be valuable. A notion of relative IQ (of groups) would probably be more relevant here. (Creating an e-harmony for people in the same group and cater to their needs based on a given metric)

I also agree that this will apply better in a domain specific platform more than other generic social content platforms, simply because it would be easier to measure a given user metric. So, it needs to be as domain specific as possible.

Is anyone working on this kind of a model? Definitely an interesting problem!!!

</comment><comment><AUTHOR> Did anyone try such a thing?

For example, to vote/submit/comment, you might be required to solve an IQ test type problem first.

These problems might be chosen at random from ones created by other members of the site.

<comment><USER4> I like it -- a CAPTCHA for stupidity.

You could do pretty simple problems (like the Project Euler stuff), with a few random elements to keep things interesting -- especially because the smartest people would come up with shortcuts and be able to post more frequently than those who solved it by hand.

</comment></comment><comment><USER5> Some of the smartest people I know read Us Magazine and People religiously. If you want a certain population of users target what they are interested in.

Once you've screen them with your IQ test, do they really have to prove themselves again before submitting another link?

If you just want to write and take tests go play on okcupid.com.

<comment><AUTHOR> There are benefits to ongoing IQ testing.

First, this allows the community to raise or lower the bar for continued participation on the site.

Second, it limits cheating whereby you have a smart friend write the test once for you.

Third, this gets around the problem whereby you get an easy test just by luck.

Fourth, it will result in a membership highly interested in solving IQ type puzzles on an ongoing basis.

<comment><USER6> Make people always be required to be in the top 50% of members:) Sounds like an engaging competition to me.

</comment></comment></comment><comment><USER7> Someone who's IQ is reasonably high will still say uninformed things. Also, IQ does not change with age... so a 14 year old with a high IQ would fit right into your "elite community" and immediately spoil the party due to their lack of maturity.

Why not just form a blacklist of "stupid IPs". Keep your input productive... or die.

</comment><comment><USER8> The only problem with this idea is that communities evolve. Who gets to modify the test to seek out people with the new, desirable traits? The site creators? Oldest member of the community?

I think the concept of communities being self-policing still holds.

<comment><AUTHOR> There is no standard test to be used. The questions are created by members of the community. To vote/submit/comment, you will need to answer one of these questions chosen at random.

If you don't get it right, you might have to wait an hour or so before trying again with another randomly chosen question. And if you get too many wrong, you would get kicked off the site.

If many members start to see contributions from people who are not that smart, they could try to make their questions tougher. And so you would have a higher probability of receiving a tougher question.

If many members feel that the community is too small, then they might make their questions easier. And so you would have a higher probability of receiving an easier question.

<comment><AUTHOR> Yet another variation involves an IQ filter so that you can filter out submissions and links submitted by dumb people.

You could even do it with votes as well, so that a link submitted by a high IQ user but endorsed mostly by dumb people would not appear for you.

<comment><USER8> My response isn't very scientific, but it seems that having to take a "test" in order to be able to post or comment somewhere would immediately indicate that the community in question would be elitist and probably boring.</comment></comment></comment></comment>


Leap second insertion causes futex to repeatedly timeout - <AUTHOR> https://lkml.org/lkml/2012/6/30/122

<comment><USER2> LKML is responding very slowly if at all. Try:

[http://marc.info/?l=linux- kernel&m=134110453128431&w...](http://marc.info/?l=linux- kernel&m=134110453128431&w=2)

Another thread to watch:

"[PATCH -stable] ntp: Correct TAI offset during leap second"

[http://marc.info/?l=linux- kernel&m=134110635328824&w...](http://marc.info/?l=linux- kernel&m=134110635328824&w=2)

</comment><comment><USER3> Thanks. Firefox had been using lots of CPU on my laptop for no apparent reason, even after a restart. The workaround in the thread of running date -s "`date`" worked for me, and instantly fixed the problem.</comment>


Why I Don't Hate Git: Hidden Consistency - <AUTHOR> http://lucumr.pocoo.org/2015/2/17/ui-and-hidden-consistency/

<comment><USER2> (copied over from lobsters, with links to more material there: [https://lobste.rs/s/odj5y1/why_i_don_t_hate_git_hidden_consi...](https://lobste.rs/s/odj5y1/why_i_don_t_hate_git_hidden_consistency/comments/dtlwwf#c_dtlwwf) )

Haha, I spurred this debate with mitsuhiko over IRC yesterday. I was arguing with him over git vs hg yesterday, and this blog post is obviously his retort. Here is my defence of Mercurial:

Mercurial's design aims to welcome people who come from other VCSes. It started being welcoming to CVS and SVN users, and its CLI mimicked those, as well, as a few ideas of Bitkeeper. Git's initial design was very bitkeeper- like too, such as branching-by-cloning being the only way to branch. Nowadays, Mercurial also makes some concessions to git users.

Despite its various sources of inspiration, Mercurial works hard to keep all of these ideas consistent. Commands rarely grow new options. Many deviations from core functionality are first tested in optional extensions for a long time before going into the core. Lots of time is spent bikeshedding what a command's name should be, and what language the documentation should use. Consistency is very important. Backwards compatibility is tantamount. The CLI is the UI and the API.

A thing git is often lauded for is the simplicity of its internals, which are frequently deemed to be as simple as to not be internal at all. Despite being a binary format, Mercurial's revlogs are also approximately simple, which is why people sometimes write parsers in other languages.

But Mercurial is a lot more than just git-with-a-nicer-UI. There are many exciting features in Mercurial, features that I don't think will ever make it into git because they are just too different from the way git works. Mercurial Evolve really changes the way we collaboratively edit commits. Templates and revsets can be combined to program interesting extensions. New extensions can scale Mercurial into gigantic repos.

And because I think these ideas are so great and must be explored and improved, I will keep using Mercurial, teaching Mercurial, and improving Mercurial

<comment><USER3> No, Mecurial revlogs are not approximately simple. They were designed to be an append-only log for individual files, in the same way that CVS and RCS performed file-level change repositories. This choice causes problems when doing file renames and history merging because you need to either duplicate data or provide complex pointers between filenames which may not even exist in the tip.

I wrote a post comparing the file layouts a few years ago:

[http://alblue.bandlem.com/2011/03/mercurial-and-git- technica...](http://alblue.bandlem.com/2011/03/mercurial-and-git-technical- comparison.html)

The TLDR is that Mecurial revlogs were designed from lofty architectural goals (append-only formats, designed to be parsed forwards) whereas Git is just an object soup with pointers to other objects in the same soup. As a result, different file storage mechanisms have been created (direct file, push to remote HTTP/S3, BigTable etc.) and new features (bitmaps, packed archives, delta compression between the same and different filenames) have been grafted on over time. The format is also versioned, with feature versions being added at a later stage to the transport protocols that ship packs of these deltas between versions.

Frankly the only valid criticism of Git appears to be 'The command line flags are a little funky' and given the extensive Git tooling that has been built (it's provided by default in Visual Studio, Eclipse, IntelliJ, Xcode and others) the fact that command line tooling takes a bit of getting used to is really such a non-issue that I'm not going to waste further time talking about it here.

Mercurial is dead, but its fans just haven't noticed yet.

<comment><USER4> There are problems with Git's "object soup" approach, too. For example:

(1) The performance issues with "git blame" appear to be essentially unfixable. That tradeoff is by design [1]. Note that by "performance issues" I mean that git blame can take several minutes on some repositories (e.g. src/xdisp.c in Emacs).

(2) Git is pretty much tied to a 1:1 repository:directory model and cannot safely support a 1:1 branch:directory model with multiple branch checkouts sharing a repository (git-new-workdir as the closest approximation is not safe).

In general, a lot of operations on Git have an O(branch history size) or even O(repo size) complexity; that is not a problem if you do not need them, but it puts limits on what you can do efficiently with Git (at least without adequate caching and the necessary porcelain to use it).

That, of course, on top of the other criticism typically targeted at Git (poorly designed command line interface, difficult to understand internal model [2], possibility of data loss [3], etc.).

> Mercurial is dead, but its fans just haven't noticed yet.

Not everybody here is concerned with the silly Git vs. Mercurial war (the modern version of Emacs vs. Vi). My personal concern is that the result of widespread Git adoption is that VCS development has stalled and has settled for a "good enough" that I don't really consider good enough; Mercurial is interesting not because they're doing things better (though they do some things better, and other things worse), but because they appear to be the one team still actually experimenting with new things (e.g., changeset evolution). I really wish there were more going on with Bazaar (which is basically in maintenance mode now, and Canonical doesn't even seem to put a whole lot of effort into that, with lots of bugs still outstanding) or Fossil (which is mostly trying to be conservative rather than innovative [4]).

In short: Competition is good, monoculture is bad. The desire to have one VCS to "rule them all" worries me.

[1] [http://marc.info/?l=git&m=116991865311836](http://marc.info/?l=git&m=116991865311836)

[2] [http://people.csail.mit.edu/sperezde/onward13.pdf](http://people.csail.mit.edu/sperezde/onward13.pdf)

[3] [http://jenkins-ci.org/content/summary-report-git- repository-...](http://jenkins-ci.org/content/summary-report-git-repository- disruption-incident-nov-10th)

[4] Which is a worthy goal in itself, but it also means that they aren't really moving VCS development forward.

<comment><USER5> Your data loss example [3] is precisely _not_ data loss, like virtually every other example I've seen regarding git. The commits and history were definitively not lost, and although the article doesn't say, the repositories affected by this tool should have even still contained the history record of the old head(s), making rollback to the latest commits a fairly straightforward affair.

This is honestly no different than someone misconfiguring a tool for any other VCS and overwriting the repo's head with old junk. In the (other VCS) case, the fix operation is to go into VCS history and resurrect the correct head commits (e.g. via a 'revert' style operation). In git's case, the fix operation is ... go into VCS history and resurrect the correct head(s), traditional revert not being relevant to how git functions in such exceptional cases. It's either ignorance or disingenuousness to call git's behavior here, though different than SVN, hg, etc. as "data loss".

<comment><USER4> First, how do you know that no data was lost? There is no way to even verify that all data was recovered. They are pretty confident, but there's really no guarantee, is there?

More generally, yes, the case you are worried about is typically not when there are lots of repository clones in circulation (though the KDE case [1] shows that data loss is quite possible even then and that replication is no real alternative for proper backups [2]).

And, of course, the reflog will keep commits alive for a while and garbage collection will not occur while the grace period is over.

The situation where this doesn't work so well is personal/small group repositories or branches that only experience intermittent commits and that aren't being mirrored by a large number of users. In that case, user errors can easily translate into data loss when garbage collection finally catches up with you.

[1] [http://jefferai.org/2013/03/29/distillation/](http://jefferai.org/2013/03/29/distillation/)

[2] A practical example would be where a repository is so large that many contributors prefer to use shallow clones.

</comment></comment></comment></comment></comment><comment><USER6> Basically this says, "git's UI was so bad that it forced me to learn the internals, and once I groked the internals git made a whole lot of sense." That summary might sound like I'm trolling but I don't think that's a bad thing (else, why is git so popular?). I've been the mercurial "expert" on my team at work for the past 5 years and I can't count the number of little DAG diagrams I've drawn trying to get people to understand what was _really_ going on with their repository. I'm pretty sure there are a few people who still don't really understand how mercurial works under the hood. Maybe that's a positive aspect of mercurial...but maybe it's not :-)

Now, I will say that the internals of mercurial that you need to understand to gain enlightenment seem simpler to me than what you have to know for git. Mercurial has commits and commits have parent reference(s) that link commits together into a DAG. Commits might have a branch label. You move commits from one repo to another with push and pull. You create a commit with two parents by doing a merge. And that's it!

Git has those same basic concepts, but you also have to know about the index, and branches (which are really pointers to commits that may or may not be a branch in the DAG), and remote branches, and merges that aren't really merges because they just move the branch (which is a pointer, remember, that's why a "branch" can move) to the head, and all kinds of other interesting (and useful, no doubt) concepts.

</comment><comment><USER7> Three words against git: Detached Head State

I view git as a sort of shibboleth.

You can't really understand how git works unless you understand trees as a data structure. That excludes all but the hardcore types.

Some designers and CSS experts need to use source control, but Git is too complicated for them.

Once you get a detached head state or corrupted repo, then you need a git expert to clean things up. I once committed while in a detached head state, and so git ate my changes and I had to reflog to recover them. That is just insulting.

At my job, I work with some designers now, and they always leave the test server in a detached head state.

But when I switched from the GitHub client (yuck) to the SourceTree client, most of my concerns went away.

<comment><USER8> >You can't really understand how git works unless you understand trees as a data structure. That excludes all but the hardcore types.

DAGs and BSTs are taught in second year undergraduate classes where I'm at. What's hardcore about them? Serious question.

<comment><USER9> Non-programmers tend not to have taken undergraduate computer science classes!

<comment><USER7> Yes, that was my point. There are people who don't have a CS degree, that should use source control. For example, designers should use source control for their work. Explaining git to them is not feasible.

</comment></comment></comment></comment><comment><USER10> Good article. That old tutorial is scary :)

> I screwed up really badly before, merging wrong things together, > accidentally deleting data and much more, yet I never lost any data or felt > left abandoned by my tool.

I can relate for the most part. I can only think of one instance (in over half a decade) where I felt git's shortcomings: there is no way to get a deleted non-gc'd object from a remote to your local repository, even if you try to reference it by its sha1.

This happened to me when some bad changes were force-pushed to a repository on Github and did not have access to a machine which had the latest changes. My repository on Github still knew about the old commits, but they were unreachable by git itself.

<comment><USER11> > I can relate for the most part. I can only think of one instance (in over > half a decade) where I felt git's shortcomings: there is no way to get a > deleted non-gc'd object from a remote to your local repository, even if you > try to reference it by its sha1.

For better or worse (and I've wanted it to work too) it's an intentional security feature that you can only pull objects from a git remote that are reachable by its refs; that way deleted branches (e.g. containing data that wasn't intended for release) are instantly unavailable rather than needing to wait for GC.

<comment><USER10> Seems like a shaky justification. I understand not offering things that are up for deletion but there wasn't even a way to do git pull --i-really-want- everything or some such.

If you push passwords and keys to your git server, then force-push those things out, you most definitey want to run a gc. Git is a flimsy security layer around this.

<comment><USER12> Of course you can't run "git pull --i-really-want-everything", you're the remote attacker this feature is meant to protect against!

The use-case for this is that you're pushing to some shared hosting like GitHub where you can overwrite and delete refs, but you can't force a gc.

You don't want someone to scour your Git commit announcements and see "oops, deleted password!" and go and fetch the deleted SHA1.

</comment></comment></comment></comment><comment><USER13> Do others have examples of software "where the way it works is a crucial part of the user experience"? The one that comes to my mind is lisp macros; if you mess with them for a month or two you can't help but have a pretty good understanding of how they work. Clean internals can colonize your brain in a way that merely clean interfaces can never compete with.

<comment><USER14> I like Redis as an example in this category.

I also think this ties in with the law of leaky abstractions, in that a good understanding of that law will make ui designers choose lesser/thinner abstractions over bigger/leaky ones.

</comment></comment><comment><USER15> This article begs the question - what might a sane/consistent UI on top of git look like?

<comment><USER16> I'm surprised a facade hasn't emerged yet. Personally I think it's nigh impossible to sanely do merges with a GUI. I know people do, but I think they're crazy. Using git via any JetBrains IDE is the best I've seen.

<comment><USER17> I'm confused. Isn't the JetBrains IDE a gui? How can it be the best you've ever seen and impossible to sanely do merges?

FWIW, I've only ever done git merges in a gui, and never had any difficulty with it.

<comment><USER18> He might mean that he uses Jetbrains' IDEs with git for nearly everything, but feels that using it to merge things is madness.

It seems strange, but I really like having a console-based workflow with my VCS. I can leverage grep, shell aliases, and so on to customize my interface a fair deal, and the forced interaction helps keep me mindful of what I am doing.

</comment></comment></comment></comment><comment><USER19> The conceptual model matches the implementation - this is what Don Norman's "Design of Everyday Things" says is good design. When this is the case, a user can interact with the object's interface using logic and intuition and get predictable results.

I agree, git really embodies this.

<comment><USER20> > The conceptual model matches the implementation

I depends where on the conceptual stack you think you lie. I use fossil[1] because I don't have detached heads, need to understand the backing-store to reason about "where am I?" and have "porcelain" that seems to leave every single operational aspect laid out for me, instead of abstracting it away. When I work w/ version control, I work with files, and putting them away. Detached heads shouldn't be my concern, nor the conflicting ways describing how to sync[2], etc., etc., etc.

[1] [http://fossil-scm.org/index.html/doc/trunk/www/index.wiki](http://fossil- scm.org/index.html/doc/trunk/www/index.wiki)

[2] [http://stackoverflow.com/questions/15316601/in-what-cases- co...](http://stackoverflow.com/questions/15316601/in-what-cases-could-git- pull-be-harmful)

EDIT: spell 'porcelain' correctly.

</comment></comment><comment><USER21> Having grown up w/ git (svn was on the way out when I started programming) and then having had to use svn at a previous employer (I migrated it to git, eventually), I can't fathom a reason to prefer svn or to "hate" git other than ignorance.

You can spot an ex-svn user from a mile away by their commit history. We need rehabilitation clinics.

<comment><USER22> There are more VCSes in the world than just those two. Many people seem to credit git with all the virtues of distributed version control in general, without noticing that its interface is terrible and that the same ideas have been implemented in a much more friendly fashion by other tools. Git is popular because it is the official vcs of the Linux kernel, and the network effect did the rest.

<comment><USER23> > in a much more friendly fashion by other tools.

Examples?

<comment><USER24> Mercurial, Darcs, and so on...

</comment></comment></comment></comment><comment><USER25> I am getting a message when I push stuff to Github (or any remote) because there is a git config value that I need to set. I just did a search to try to understand the effect of each option for this value, so I could pick the one that best fits how I want git to act. I am approximately 90% sure I understand what each one does, however all of the explanations of them have some element of confusion or lack of clarity. This is the problem of using git.

<comment><USER26> Could your "problem of using git" be a result of "doing a search" instead of reading the documentation that Git provides? `git help config` gives documentation on all of its config values.

</comment></comment><comment><USER27> tangentially, that's a really lovely header font ("jim nightshade"). one of the very few times i've seen a "fancy" font work well in a post like this.</comment>