A Beginner´s Guide to Getting Things Done - <AUTHOR> https://blog.zenkit.com/a-beginners-guide-to-getting-things-done-3cc1a5123b98 <comment><USER3> I read David Allen's book in 2002 and immediately started implementing it. At first it felt like godsend. Capturing every "open loop" (everything that is not the way it should be = everything with a delta between current and desired state) and deciding for each of them if there is any action that I need to take and if so, what the very next step was - that practice alone released a ton of energy and gave me a sense of control. Prior to that I felt overwhelmed, had a sense of anxiety that there are things in my life that should be different.

Over time I realized that what GTD was missing (or not stressing enough) was the insight that in addition to knowing your commitments and deciding what we need to do to make them move forward we need to constantly remind us that resources are limited and priorities are not distributed equally but rather very asymmetrically. Only a few activities will have a major impact on our lives. The key is to focus on a few activities and deliberately ignore the other "80%". And while we ignore the other activities we have to learn to deal with the stress of not doing the other activities.

David Allen's method encourages people to keep lists of open issues. That's a very good practice. But it lacks the advice to implement a filter: To ignore 80% of the potential issues before we let them onto our lists. And to endure the stress that is caused by ignoring most of the things that want our attention.

Tl;dr: GTD does not stress making decisions and setting priorities enough (even though it mentions it in many chapters).

<comment><USER4> That's why I've combined GTD lists with Eisenhower Matrix (prioritizing over Urgent-Important quadrants). Random but good video explaining it: [https://www.youtube.com/watch?v=tT89OZ7TNwc](https://www.youtube.com/watch?v=tT89OZ7TNwc)

I did run a software product once that was combining GTD and Eisenhower Matrix, which worked quite well. It's now discontinued but a short video in case interested is still online, [https://www.youtube.com/watch?v=22S_1Qjq2J0](https://www.youtube.com/watch?v=22S_1Qjq2J0)

<comment><USER5> I independently developed a similar system in college, but it had a specific ranking for tasks. I put each task into two lists: the first sorted only by urgency/due date and the second sorted by importance. Then for each task I multiplied the rankings from the two lists to get the final task order.

This worked well for me because things naturally rose in ranking as the due dates got closer. That way I had plenty of time to work on really important projects, without jeopardizing moderately important things that suddenly became urgent at the last minute.

</comment></comment></comment><comment><USER6> I recently started making small handwritten TODO lists that I keep in my pocket. It has significantly improved my productivity. Every morning while I'm getting ready, I usually think of about seven or eight things I really want to get done that day, and if I'm lucky, I'll actually do one or two. With this method I find I'm getting about four or five things done.

I find that the act of actually handwriting the TODO lists helps solidify exactly what needs to be done and in what order. Keeping it in my pocket is also a nice mnemonic. I'm always feeling the paper when I reach for my wallet or something so I don't forget. I keep a pen in my pocket too so I can add stuff to the list and cross things off as I finish, which is really satisfying. It's also useful for capturing various little thoughts, observations, project ideas, and other things that float into my mind at random points.

It works better than task management apps or calendar reminders on my phone. It's a pain to configure those sorts of things and I actively try to avoid staring at my phone too much. Sometimes the old-fashioned approaches are the best.

<comment><USER7> > pneumonic

mnemonic?

<comment><USER6> Thanks!

</comment></comment></comment><comment><USER8> While I most probably don't follow the tactics of GTD (haven't read them and don't want to) I aggressively follow a strategy that really works for me : reducing cognitive load. I make a point to commit nothing except the task on hand to my working memory.

When I say "I should remember to", I immediately stop and use a Messenger bot I coded for that purpose

When my wife say "Can you remember to" I immediately ask her to put it into our shared calendar, or I add it to the same bot

When a coworker says "can you do X", we add it as a trello card with the appropriate priority

People start to get used to it, they probably assume that I have very bad memory or that I'm weird, and we make it work :-) I feel very light since I started enforcing these procedures

<comment><USER9> "commit nothing except the task on hand to my working memory" is essentially the summary of GTD done approach.

<comment><USER10> What character did you insert after "G" in "GxTD?" It's not rendering on my browser, weirdly.

<comment><USER11> I wondered the same thing. It shows up in Chromium but not Firefox. It is apprently character 0x14, or ASCII for "Device control 4". First time I come across this character !

</comment></comment></comment></comment><comment><USER12> GTD is the utopia of productivity. Everyone attempts to reach it but almost no one (if any) ever will. Those who get the closest realize that you can't live your life like that.

In my world GTD become a goal in itself rather than a way to better manage your life.

With a few exception (calendar) I lived my life in a way that would make a GTD enthusiast cringe.

I am always impressed by those who attempt to do it but never surprised when they finally give up.

<comment><USER13> You make the bizarre claim that nobody successfully follows GTD because you've never done so, and you know many others who have also failed to do so.

That's like a fat dude looking around at the donut shop and saying "nobody ever sticks to their diets, haha!"

I've used GTD for years. I just shattered your claim.

<comment><USER14> As a side note: diet doesn't work long term:

> After about five years, 41 percent of dieters gain back more weight than > they lost. Long-term studies show dieters are more likely than non-dieters > to become obese over the next one to 15 years.

> ... The study found that a single diet increased the odds of becoming > overweight by a factor of two in men and three in women. Women who had gone > on two or more diets during the study were five times as likely to become > overweight.

More [earlier]:

> men with severe obesity have only one chance in 1,290 of reaching the normal > weight range within a year; severely obese women have one chance in 677. A > vast majority of those who beat the odds are likely to end up gaining the > weight back over the next five years...

[https://www.nytimes.com/2016/05/08/opinion/sunday/why-you- ca...](https://www.nytimes.com/2016/05/08/opinion/sunday/why-you-cant-lose- weight-on-a-diet.html)

<comment><USER13> You're right — most people will fail to stick with diets, exercise, and personal organization. Frankly, it feels hilarious that researchers had to spend time proving that claim. Just look around!

On the other hand, there's a powerful minority of people who _do_ stay disciplined. They get a lot of stuff done.

Lastly, although it's easy to fail, it _is_ possible to join that powerful minority.

<comment><USER15> It's not only possible, it's so much easier than most think. It's just a case of just doing it, like cleaning your room or washing your dishes.

<comment><AUTHOR> "Just doing it" seems to be the solution to a lot of things. Whether it´s trying new things or starting a business. I´ve learnt the hard way that overthinking and then not doing is worse than just doing and then failing. Out of failing you actually learn and get better. Out of overthinking comes .. literally ..nothing.

Gary Vaynerchuk always preaches the "concept" of putting in the actual work. Also a variation of "just doing it" but with the side-note of "actually go out and do something"! Really important stuff because most of the people nowadays don´t get that and think success will somehow come around the corner one day.

</comment></comment></comment></comment></comment></comment><comment><USER16> Every time I tried to do GTD it just makes me unhappy.

It is something related with encoding all the little things, put them into boxes, organize. And ultimately becoming the robot executing the tasks that I have set for myself. The list _becomes_ the things I have to do, it grows larger and larger, there is never enough time.

Instead, let the brain do what it does best; forget. Put the really important things in the calendar, like Tax and VAT returns. All the rest in not important. Then pick two tasks for the day. It's all a bit fuzzy and that's what I like the best; it leaves room for my creativity.

<comment><USER17> Sounds like you'd like Zen to Done, a modified version of GTD.

The basics is here: [https://zenhabits.net/zen-to-done-ztd-the-ultimate- simple-pr...](https://zenhabits.net/zen-to-done-ztd-the-ultimate-simple- productivity-system/) (and there's a longer ebook version for sale, too).

</comment></comment><comment><USER18> In theory, GTD is great.

In practice, it comes up short in several ways.

TLDR - For some years now, I use a system called Agile Results [1]. It's a method (with less marketing behind it than GTD) which has been gaining traction for a lot of good reasons. I couldn't be happier with it.

I won't get into the details, but its biggest edge against GTD is the flexibility. With Agile Results, you can let go for a couple of hours or days, and the system doesn't fall apart, it's more organic. It's oriented towards Results in several domains of life, in a balanced way. The manner in which it breaks down the hierarchy of projects, temporal horizons and relative importance of tasks is the real key. It solves the same problems as GTD (eg, your mind is for thinking not remembering [of course, you can still incorporate spaced repetition for what you want to remember long term]). But it solves them in a way which is more organic, focused and iterative. If you only implement a portion of it, it has the proportional benefits - it's not all or nothing. It also lets you integrate parts of other productivity systems.

There's a book about it [1], and a 30 day program to getting started incrementally [2].

I realize it sounds like hyperbole, but, after some years using it, I consider the problem of productivity essentially solved.

[1] [https://www.amazon.com/Getting-Results-Agile-Way- Personal/dp...](https://www.amazon.com/Getting-Results-Agile-Way- Personal/dp/0984548203)

[2] [http://www.30daysofgettingresults.com/](http://www.30daysofgettingresults.com/)

[3][http://www.asianefficiency.com/agile- results/](http://www.asianefficiency.com/agile-results/)

<comment><USER19> So I just read through your [2].

The first part seemed good and reasonable, though towards the end (from day 10 onwards) I felt like the guy was kind of just trying to come up with stuff to excite the reader, and which in my mind cluttered the simplicity of the rest, i.e. the 3 things a week, 3 things a day, hotspots, monday vision and friday reflection (+ dump your brain, but everyone says that).

Would you mind giving a more concrete telling of how you have implemented this system in your life and which parts of this 30 days-thing you find to be indispensable and which are just fluff?

</comment></comment><comment><USER20> Has anyone low in conscientiousness had any success with GTD? It seems to me like this system is amazing for people who are already very conscientious but not well organised.

</comment><comment><USER21> The hardest part for me is consulting my lists.

Does anyone ever get so bored (or motivated?) that they say "hey, I wonder where I could find a huge list of tasks to choose from!"?

I email myself reminders. I put items in my google calendar. I've occasionally used google todo lists. I use Remember The Milk. I have iCloud notes and text files. I have Jira tickets.

I never look at these things. Or at least, I never consult them with proper regularity.

Working with todo lists has reduced my mental burden, but I STILL have those things hanging out in my head that I know I need to do, yet aren't written down. Or maybe they are, but they also occupy space in my mind. Again, far less than before I had a "system", but even with the "system", I don't find much relief.

I have maybe 30-40 items in my RememberTheMilk list. Some have dates, many don't. Many of the ones with dates I've been postponing for 6+ months. Which means to consult the list (which I do only every 3-5 days) is a burden in and of itself, because now I have to re-schedule a lot of things. I could leave these items without a date, but then they'll be even LESS likely to get done, because they're down somewhere at the bottom. And the list is too long for me to regularly look over and feel I have a handle on. So I create calendar items with reminders for things I really need to do, say, sometime this afternoon. But maybe 2pm was a bad choice because I got involved in something, so I'll ignore the alert. now I have to look back at the calendar and see there was a think I was supposed to do in the past.

I don't know -- I'm getting better, I guess, but the difficulty still seems to be the actual DOING.

<comment><USER22> I'm the same exact way... Tasks and reminders are spread across multiple services, but I never check them.

Have you tried offline notes?

It's not sexy and it doesn't sync with all of your devices, but for computer- related tasks the only to-do list I've had consistent success with is large post-it notes. It's always next to my keyboard so the effort required to consult the list is next to none.

<comment><USER21> Yeah, I've bought and used notebooks, but my best results are with post-it notes.

</comment></comment></comment><comment><USER17> NOTE: If you find GTD "too technical" or "too overwhelming" give a try to ZTD, zen to done.

It's a modified version that keeps goals and main tasks for the day front and center.

[https://zenhabits.net/zen-to-done-ztd-the-ultimate-simple- pr...](https://zenhabits.net/zen-to-done-ztd-the-ultimate-simple-productivity- system/)

</comment><comment><USER10> >Lastly, if something might require action someday, but not now, it is added to the someday list. These are things that you want to remember, but shouldn't be cluttering up your 'next actions' list. Things like 'Learn Japanese' or 'write a book' go here.

So let's take "learn Japanese" as the example, because that is a goal of mine and I already am engaged in achieving this goal.

Before having any awareness of this GTD concept, I simply have been studying flashcards daily (anki, 5 new words a day), and when I get a chance read and do exercises from a Japanese grammar book I bought. Down the road, I know I need to at some point engage in watching Japanese TV, listening to radio, and finding Japanese speakers to engage with in conversations to improve my reading ability.

I know these things because I already learned Chinese and I figured out the smaller steps to break down, but how on earth would I break these into "actions" (from the article - "Every project should have an "next action") if I had no concept of how to learn a language?

For example, another goal I have is "become a dank ass motorcyclist - <USER2> knee!" Right now I just putt around in the Santa Cruz mountains and do what I can, but what would I put for "next action" for this project? I guess schedule a track day?

Basically, how do I learn to break large tasks I know nothing about into "actionable items?"

<comment><USER23> > how on earth would I break these into "actions" [...] if I had no concept of > how to learn a language?

If you don't know how to break a larger task into actions, you are simply unable to perform the task, regardless of whether you use GTD or not. What GTD does is make you consciously aware of the process of breaking down larger tasks into smaller actions.

> Right now I just putt around in the Santa Cruz mountains and do what I can, > but what would I put for "next action" for this project? I guess schedule a > track day?

It sounds like you think that the "next action" needs to be different from the previous one. It is not. If you want to learn the piano, you can just perform the action "practice the piano for 30 minutes" every day, unless you decide that you want to take a different "next action" at some point.

<comment><USER10> So in the GTD system, an action can be a permanent, do-every-day thing? How would you decide it's "done" then? (assuming lots of long-term goals require "practice x for y/times per z" events)

<comment><USER24> You may pick a piece you want to play of modest complexity and difficulty. You're "done" when you can play it. But are you really? No, you just pick another, harder, piece.

The practice is to get you to that skill level. If you simply enjoy playing, you may never be done. But you know that each day you have allocated 30 minutes or so to practice.

</comment></comment></comment></comment><comment><USER25> tiny reminder that emacs org mode is somehow pretty suited to implement GTD [https://duckduckgo.com/?q=emacs+gtd&t=ffsb&atb=v84-7&ia=web](https://duckduckgo.com/?q=emacs+gtd&t=ffsb&atb=v84-7&ia=web)

<comment><USER26> Nicolas Petton (maintainer of Indium) wrote a great blog post about his org- mode GTD workflow: [https://emacs.cafe/emacs/orgmode/gtd/2017/06/30/orgmode- gtd....](https://emacs.cafe/emacs/orgmode/gtd/2017/06/30/orgmode-gtd.html)

</comment></comment><comment><USER27> The guide being an ace with the GTD technique is some thing the book answers quite well at the end of it.

Its a thing called 'Constancy of purpose', its simply a way of saying you can be productive, only if you do work that is satisfying to you. Once you find such work, and you get drowned by it, GTD helps you be organized and work through it in sanity.

The problem for most people is working through boring drudgery day in and out, until boredom becomes routine. Brain begins to largely see what it has memorized as pointless to be played out on paper, and sooner than you realize you drop out of GTD. So to an extent you need to be doing new, exciting and at least satisfying stuff to get your GTD regimen going.

Once you are involved with such work. GTD is plainly simple. Just list out all tasks in the order of urgency and goals. That is life, decade, yearly, monthly and weekly goals. Then at weekly level, write down stuff and prioritize them. Anything that can be addressed in 5 minutes, just do that right then. Other stuff goes in the order of priority. You review your list every week, and lastly the important concept of deadlines. Once you commit to a job, finish it within a timeline or it becomes irrelevant after a while.

The other stuff to GTD is your regular discipline of being motivated, focused etc.

<comment><AUTHOR> Great explanation! The part with the satisfying stuff is really important. No system works properly if you don´t want to get stuff done.

Purpose combined with "actually doing stuff" is the point I guess. One without the other equally results in nothing meaningful.

</comment></comment><comment><USER28> There's no magic bullets for this sort of thing. Try something and see if it works. If it doesn't work, try something else. Incrementally improve your processes.

</comment><comment><USER29> Getting Things Done is by far the most influential book I've read. It has changed the way I think about everything.

However, I have never been able to find a good implementation of the system. I know that David Allen (GTD) and Charles Simonyi (Intentional Software) were working on something at some point, but I haven't heard anything since.

<comment><USER30> The only implementation I have found worthwhile is paper, and to a certain extent, plain markdown/org files in Dropbox. Everything else, like OmniFocus and whatnot has had severe issues with the flexibility inherently required.

<comment><USER24> Out of curiosity, what are your issues with OmniFocus?

I have some issues with it (primarily that it's hard to share information from it with other people), but otherwise I find it to be a fantastic _personal_ tool for GTD (I'd use it for work, but my office is all Windows).

That said, I do like paper and org-mode at least as much. I definitely find paper best for writing down my intentions and clarifying them before I enter them into OmniFocus.

<comment><USER30> I currently still use Omnifocus for part of my system because it is still pretty great, and has excellent cross-device support, but my gripes are:

\- The context support is weak. It ideally would be replaced by a tagging system, but I doubt that's coming at this point.

\- No support for making sequentially dependent tasks -- I can't mark task A to be doable as soon as task B completes. (I guess I could, if I do a lot of sub-projects with sequential dependency)

\- In addition to this, subprojects are janky. They're just kinda awful to use, from the awkward indentation to the fact that the side-bar projects view is not actually a full tree, and just works with folders. This would need to be changed to also expand/be usable for sub-projects, not just for folders and top-level projects.

\- The system maintenance tools are lacking. One of the core tenets of GTD is to make sure that every project always has a next step, and OmniFocus has no support for this whatsoever, aside from manual review. I realise that paper also doesn't do this, but it seems like something a digital solution should have.

\- No sharing information, as you said, aside from exporting things as TaskPaper.

\- Support for deferments, but not for Tickler files, which are one of the handiest things about a paper-based system.

\- Reference and storage, per nature of OmniFocus, has to be completely separated, which adds jank. I realise this is massive scope-bloat, so it's probably not fair to complain about.

Things I really like and will probably keep even after I drop OmniFocus:

\- The dedicated mail drop. I think even after I move away from OF, this is going to be something I keep.

\- The "due" list view. OmniFocus pushes you towards using this a lot, even if it's not completely in the spirit.

\- The good integration between my laptop and phone is going to be hard to live without again.

I hope this shed some light on my gripes and issues with OmniFocus. :)

</comment></comment></comment></comment><comment><USER31> Write down ideas...

I'm very skeptical that this would work, because I have ideas about all kinds of topics all the time. My list would be so crowded and mixed that it would be hard to prioritize anything. At the end I would see on paper that there is too much stuff going on in my head, something that I already know...

<comment><USER32> If lots of creative bits floating around in your head works for you, and doesn't distract from accomplishing the day to day things, then all good.

The thing I've seen most about "GTD doesn't work!" feelings is the assumption that 'doing GTD' is all or nothing. "record everything and become task robot" is one extreme.

The core idea is "use something other than your mind to keep track of the core things you want to be reminded of later, and the stress of 'what was that thought again?' can go away."

If you get to a point of not worrying about what might have fallen between the cracks, you've got enough of a system and I call that 'working'.

My "GTD" system doesn't look anything at all like DA explains it, but the concepts were enough to push me in the right direction and find what works to keep that worry at bay.

</comment></comment><comment><USER33> While that advice is fine, I do not feel like I am getting things done. It feels more like I am getting things out of my way. And while I have to admit that getting things out of your way, is the first step towards getting things done, I still feel like my mind ist creating ideas/projects at a much higher rate than I can finish them.

This is probably because my mind loves great ideas and doesn't feel satisfied by small ones. Yet small ones are the only ones I am able to finish within an acceptable margin of time.

So the result is, I have a few large ideas I am working on from time to time and a list of smaller ones I barely even touch, because the price of time to finish one of them doesn't weight their value. And in the end I am getting nothing "done" ;-)

At least I have fun working on my own ideas :-)

</comment><comment><USER34> I'm using zim [0] for implementing my task management. But I'm honestly not very convinced of GTD. I know GTD for years and was pretty motivated in implementing it, but later in combination with software tools like Redmine it felt like a burden to me. Maintaining the system itself was kinda time wasting. Now I at least have my zim desktop wiki, which centralizes all my TODOs (adding dates to TODOs is possible).

[0] [http://zim-wiki.org/manual/Usage/Getting_Things_Done.html](http://zim- wiki.org/manual/Usage/Getting_Things_Done.html)

</comment><comment><USER35> Off topic, but I'm often puzzled and peeved by the characters that get used as apostrophes. The HN submission uses a standalone acute accent character (U+00B4), which renders with way too much spacing around it. The article itself uses a right single quotation mark (U+2019) in the page title and in the article body, but uses a genuine apostrophe (U+0027) in the author's name. The quotation mark at least renders more or less the same as an apostrophe would. The accent character must have been introduced by the HN poster using a misconfigured keyboard when they manually re-typed the title.

</comment><comment><USER36> Seems like agile development for the individual. My only concern is that it will only work as well as it does for our company. To be fair, i do not think my company uses agile correctly (more rules than guidelines)

</comment><comment><USER37> A trick I used to use while in college was that if I ever dreaded the magnitude of the task that was in front of me (preparing for an exam, or working on my thesis or whatever), I'd spend half an hour making a very systematic time-table for it. So if it was preparing for an exam, I'd nicely spread all the chapters of the book I had to read into whatever time I had left. Even if the plan was a little unrealistic, the fact that I had made it made me feel in control of the situation and worked wonders for my mental state.

</comment><comment><USER38> Instead of having twelve tasks now you have 15, because you also need to keep track of the twelve tasks you are not doing. the problem is often more about getting started than getting done.

<comment><AUTHOR> That is absolutely true. Wihtout actually getting started, nothing happens. No system can "make you" more productive. You make yourself more productive by implementing the system.

</comment></comment><comment><USER39> What a great article! I wanted to read the book for a long time but never had enough time. The article really seems to summarize it and makes it understandable. Well done! I´ve also stumbled upon this one on the same blog. It explains the implementation with Zenkit. I guess it would be worth a try. [https://blog.zenkit.com/how-to-set-up-gtd-in- zenkit-902fa696...](https://blog.zenkit.com/how-to-set-up-gtd-in- zenkit-902fa6960f8)

</comment><comment><USER40> I beg to differ from what author says. Am kind of reluctant to materialize all my thoughts, it can be good to note down the ideas but with what author suggests to take dump of my entire brain and its thought is bit over rated. My point being, when we note down too many things our capacity to remember things gets really bad. It's like am totally dependent on the notes for any action i want to do next. Over the period i feel we will have very poor memory.

</comment><comment><USER41> Most important for me:

\- remember nothing (clear head), write down everything (and with enough detail to really remember e.g. some decision instead of just jotting down a keyword)

I have yet to figure out how to handle too much to do though... Sure, just drop the less important stuff, but at some point something will break or someone else will depend on work I didn't do.

</comment><comment><USER42> As far as processing the inbox goes, I feel like GTD has too much overhead. "Inbox Zero for Life" works better than anything I've ever tried:

[https://xph.us/2013/01/22/inbox-zero-for- life.html](https://xph.us/2013/01/22/inbox-zero-for-life.html)

</comment><comment><USER43> One thing that does increase my productivity is keeping track of what I do during the day.

I didn't have productivity in mind when I started doing that, but the fact is, as I want the data to be accurate, as soon as I hit the "Work" button I focus on work and only on work.

Not sure I recommend it thought...

<comment><USER44> What do you use to keep track of your data?

<comment><USER43> Atimelogger

</comment></comment></comment><comment><USER45> To all the people with the little and big todo lists, live a little. Let life surprise you.

<comment><AUTHOR> I guess that´s why many people don´t even start with trying to implement GTD into their lives. They fear being "too organized". What many people don´t get is that after "clearing your head" and really using GTD you have more space in your mind to actually live and be creative.

<comment><USER46> Wish I could upvote this twice. The problem people have is all the stuff that needs to be done - a mountain of email, Christmas shopping, personal projects, and such. Ignoring it won't make it go away.

If you can't work because a dog is biting you in the leg, one response is "I'm too busy to fight with a dog right now, and fighting with a dog isn't much fun, so I'll just ignore it and focus on my work instead." Not sure that's the best path to productivity.

</comment></comment></comment><comment><USER47> I just wish that I had finished reading the implementation of CFRunloop so I could compare it with GTD.

</comment><comment><USER48> I just use google inbox. It's brilliant UX is guiding me through GTD without even knowing it.

</comment><comment><USER49> I first encountered GTD in 2007. After about 8 years of trying, I finally accepted that GTD didn't work for me.

I think _any_ workflow management has to be tailored to your personality. I digged that from the start and did not fall into the trap of being 100% David Allen compliant.

Some of my issues:

\- My lists grow long. Way too long. I recall he suggests looking at the Someday/Maybe during the weekly review. That just overwhelmed me.

\- Not enough attention is paid upon "upkeep". I know you're supposed to clean things out every week, but it was a lot of work, and mentally draining. David Allen did not seriously address cognitive load.

\- I could never work out a system to handle "Waiting For" tasks. Managing it all on paper was impossible. And software never seemed to get it right.

\- Although he talks about the 10000 ft view, etc - I felt he didn't give any real advice on looking at the bigger picture. GTD is an _excellent_ way of focusing on minor projects while neglecting major ones. One needs to prioritize, and he just expects you to prioritize somehow.

Those are the ones I remember off the top of my head.

It definitely was not a waste of time, though. Some positives that came out of it:

\- Not treating your Inbox as a TODO list

\- Getting a filing cabinet (this paid dividends _immediately_ )

\- Making me learn more about org-mode customization in my attempts to implement GTD in it.

\- Self knowledge about what works for me and what doesn't.

GTD is the flow that everyone goes through before encountering what works for them.

I later discovered the One Minute Todo List ([http://www.michaellinenberger.com/TheOneMinuteTo-DoList- Eboo...](http://www.michaellinenberger.com/TheOneMinuteTo-DoList-Ebook.pdf)). This filled in a lot of the gaps in GTD. His explanation of work stress in his book was very relevant to me.

However, even that didn't fully work for me, and I continue on my quest.

Lately, the thing I'm realizing one thing: As long as I don't control my inputs, nothing will work for me. Inputs are things like:

\- Work my boss gives me

\- RSS/Facebook/Twitter/News feeds

\- Email

\- Pretty much anything else that feeds into your TODO lists

Allowing a lot of stuff to get in to your inbox (GTD inbox, not email inbox) will make managing it much harder. Take a deep look at what category of items get in there, and start applying limits. I'm experimenting doing that with email by making incoming email based on whitelist only: If the sender's address is not in my whitelist, it will _not_ show up in my inbox, and the the sender will get an email with instructions on how to get their quarantined email into my inbox (i.e. prove there is a human behind the email) as well as their email address in my whitelist.

<comment><USER50> What's a good tool for managing the various lists/projects? I've tried Google Docs, Apple Notes, and Txt files.

I'm good at making giant "inboxes". From there I move them into 20-30 separate files, but it's tedious -- trying to find the right GDocs tab in Chrome.

Then it's hard to pick out the top must-do items from the 20-30 lists.

<comment><USER49> >What's a good tool for managing the various lists/projects? I've tried Google Docs, Apple Notes, and Txt files.

Dunno, frankly. I use Org Mode. It's good enough. Others use TaskWarrior.

>Then it's hard to pick out the top must-do items from the 20-30 lists.

Which gets to my point of "If you don't limit inputs, nothing will work". I mean, you _can_ make it work if you have huge lists, but your system will be heavy on maintenance. So for me the challenge isn't "How do I handle so much data?" but "How do I make sure my lists are not long?"

I'm debating switching to anti-TODO lists. Decide my focus for the next month/year/whatever. Pick a few projects I want to do in them. Everything else (incoming or in existing lists) go into a "Do not do" list. Once I'm done with my current projects, I'll examine that "Do not do" list and decide on another project. This way I don't spend too much time babysitting lists.

Yet another system to try.

<comment><USER50> I think GTD has the concept of a "Maybe Someday" list.

Edit: or "Someday Maybe": [https://facilethings.com/blog/en/someday- maybes](https://facilethings.com/blog/en/someday-maybes)

</comment></comment></comment></comment><comment><USER51> Here's how I get things done for tech related projects but it can be used for any other project. It's just what works for me but I am sharing it in case it can help someone else. Take what you want from it.

I maintain everything in notes, I use apple notes but you can use whatever as long as it's very quick to access and modify. I tried many tools / sites but I noticed that the moment the list is maintained on some service/site I start maintaining it less. With notes, it's one click away and accessible from my phone. I also avoided tools that require me to click to create a note, click to delete, or anything slightly complicated. I just need to move lines of text around with my keyboard.

Start by creating a new note for the project.

I define the begin/end boundaries of the project by creating a list of high level tasks. If you can go directly to low level tasks why not. Tasks can include define & create API endpoints, research tasks, modules to implement, devops stuff, docs, marketing, etc... I spend a good time creating the list. Sometimes days.

I start working on the tasks and while doing so I add/remove more detailed tasks as things become clearer and group related tasks. For example, I might have a group of tasks related to an HTTP API, and another group that lists the modules I need to implement. If a module is big enough it might become a new group and tasks related to it will be added.

      while more_tasks:
          new_tasks = execute_next_task()
          if new_tasks:
              add_tasks(new_tasks)

As I stumble on ideas while working on the project, I add them to a Backlog group sorted by priority. These tasks might need more thinking and can either get dropped or moved later to get implemented. What's important to me is to get these ideas/thoughts out so that they don't distract me.

Let's say you're creating a new saas product. When the project is complete, start creating new tasks related to running the business like 'research keywords', 'create adwords campaign', etc.

I also have a list of various personal todos, and a list called 'Context Switching' which I use to list the projects I am currently working on which includes work and non-work related projects. It clears my mind and feels less overwhelming when I can look at a note and know exactly what I am working on. It also help me not feel 'lost' and maintain priority. The main goal of this is not to keep tasks in my head.

What's important is to always know what you need to work on. If you don't know, then spend time (hours/days) figuring this out.

I live by these notes. The notes are of course useless if not constantly maintained.

</comment><comment><USER52> Does anyone else find the trademark hilarious?

</comment><comment><USER53> Sounds exactly like 'How to get what you want' by Raymond Hull, 1967. Just that the system was reversed.

</comment><comment><USER48> todo task: do GTD

</comment><comment><USER54> This was mercifully shorter than the Cal Newport book. That's about all I can say for it.

Ivan Sutherland had the secret, and it only took one paragraph to share it:

' _I used to hate washing dishes. I would delay as long as possible. Eyeing the daunting pile of dishes, I would say to myself, "I 'll be here forever at this dumb task." The enormity of the task deterred me from starting. I still dislike washing dishes, but I now get the dishes done promptly because I learned a simple procedure for doing the job from my wife's uncle. The procedure starts out "Wash first dish..." I have a similar procedure for starting travel vouchers, it goes "Record first expense..."_'

edit: his rationale was equally short and sweet:

' _Each of my little procedures embodies two different aids to getting started. By invoking a familiar procedure I reduce my need for courage. By breaking the task into smaller tasks through emphasizing that only the first dish need be washed or the first expense need be recorded, I reduce my estimate of risk. Both mechanisms work. These sources of courage are sometimes called "discipline," especially when being taught to the young. Discipline relies on a practiced use of routine subgoals to avoid defeat by fear. Its highest form comes when the Lieutenant, charging up a heavily defended hill, says, "Follow me men!"—and they do._ '

<comment><USER55> There is a second step to this: 'You can stop if you want to.'

Just washing one plate does not mean I have to wash all of them. Stopping after only half of them is acceptable and preferable to not starting. So I can pick up and wash one without worrying about the full task.

<comment><USER56> A similar trick works for avoiding sugary treats: don't strongly oppose this desire - instead say to yourself you can eat it at a later time and move your mind to something else.

(When you finally eat whatever it was you so much desired, you didn't really fail, because you are only consuming 1 unit for those 3/5/whatever days, instead of one every day...)

<comment><USER57> I use this trick when I want to buy something online which I don't absolutely need. I'll add it to a wish list on Amazon (or even put it in my cart) and then leave the site. When I come back a few days or weeks later, I often find myself asking why I ever wanted that thing in the first place and remove it.

<comment><USER58> The same approach works for unimportant tasks/ideas as well. Put them on a list, and if after a few days you don't care about them anymore, just delete them and be happy that you didn't waste your time on that.

</comment></comment></comment></comment></comment><comment><USER59> Here's the short version: make to do lists and folders and shut off your phone and email for an hour so you don't get interrupted. It's like weight loss techniques. They all work if you follow them.

<comment><USER60> Sure, but, in a more pessimistic view, what it's the meaning of 'they all work' if average people can't follow it?

</comment></comment><comment><USER61> The problem for me is habits, not projects. I've yet to find an acceptable solution to keeping habits going.

<comment><USER62> Does [http://sidcha.com](http://sidcha.com) help?

</comment></comment><comment><USER63> tl;dr go read your old TODO notes.

dont't know what I was expecting...</comment>


The Single Sign On - <AUTHOR> http://thedailywtf.com/Articles/The-Single-Sign-On.aspx <comment><USER2> This situation is virtually made for client-side certificates:

1) You won't need passwords beyond whatever it takes to log in locally.

2) You can assume the hospital computers are physically secured. (Well, I wouldn't, but apparently they do.)

3) The hospital changes machines very infrequently and probably _wants_ a human in the loop every time a machine changes.

4) You can have certificate generation and registration get handled by the on- site IT staff. It is once in a blue moon, and makes them feel like they're not getting paid 6 figures to clear paper jams and reboot Windows.

5) You can mumble any sort of cryptographic magic to scare away people who know just enough about security to be dangerous.

<comment><USER3> There is one problem with this - now that you've deployed client side certs you now have to implement a software distribution product just to deploy certs to the 100's of computer that require them... or, in this article case, the _single_ computer) :)

Systems Management vendors love to sell software distribution products to help reduce the distribution requirements for client side certs, but in the end most folks will balk at the price and end up resorting to the sneaker-net approach.

<comment><USER4> Wouldn't you be able to do this via Active Directory group policy?

<comment><USER5> That's the route I would have gone, just write some tiny local web app which authenticates against AD and then redirects to the external service.

I don't know why they wanted to go ip-based or even bother with cookies since AD queries are practically free.

In ASP.net with all the builtin integrations for AD that's a one day project.

</comment></comment></comment></comment><comment><USER6> This is a perfect example of why it's important to understand not just what your client is asking for, but why they think they need it.

The same lesson goes at least as much, imho, for negotiation - I used to see this all the time at my last job. We'd be negotiating a deal with some counterparty, and they would ask for something completely unnecessary and completely unpleasant (for our side). Sometimes it was just a negotiating ploy so they would have an ask to drop in exchange for something they wanted more, but often as not they just hadn't thought about whether or not they really needed Onerous Provision X. And if instead of fighting over Onerous Provision X you tried to figure out why the other side thought they needed it, and then tried to address that need in some other way, the whole thing went a lot more smoothly, you usually didn't need to give them Onerous Provision X, and everybody walked away feeling like they got what they wanted.

The point of which rambling story, I guess, is that in spite of the linked piece being presented as Idiot Client Asking for Dumb Things, the real lesson is that half the time a ridiculous request is actually just an opportunity to meet the underlying need in a better way.

</comment><comment><USER7> _"But we don't need to change it for everyone," Craig jumped in, "just one client. Surely, you can do that!"_

That's probably the most frustrating thing I hear from non-technical people, because they really think they're making it easier. Sadly Kolmogorov complexity is not yet a required course in schools.

<comment><USER8> Can you elaborate on Kolmogorov complexity and its relevance to someone who has not encountered the term before? (I have wikied it: <http://en.wikipedia.org/wiki/Kolmogorov_complexity> but sleep deprivation may be hindering my ability to spot the link)

<comment><USER9> To someone who doesn't understand what's going on, it may seem simpler to make something work for one person than to make it work for lots of people; but in fact the version that works for lots of people may be no less simple. (It may even be simpler, if it's necessary to put in special-case testing to make sure that only one person can use it.)

From an implementer's perspective, the right measure of the complexity of a system is "how much code does it take to implement?" (which is more or less Kolmogorov complexity) rather than "how many things can it do?" or "how wide is its range of possible behaviours?".

A few other remarks on Kolmogorov complexity:

1\. "Random" is often best understood as "of high Kolmogorov complexity": a sequence of numbers is random if there's no way to generate it that really saves anything over listing all the numbers; no pattern that makes it predictable. (In practice, what you usually care about is that certain restricted kinds of pattern don't occur, which is kinda like a version of Kolmogorov complexity where you're limited to using programs in a language that isn't Turing-complete.)

2\. If you apply Ockham's razor in the form "prefer hypotheses with lower Kolmogorov complexity" together with Bayes' theorem, you get something that in a certain (rather artificial) sense is as effective a problem solver as anything mechanized can be. Unfortunately it's unimplementable in practice, because ...

3\. It's more or less always impossible to determine for sure what the Kolmogorov complexity of anything is. (Because to be able to do that you'd need to be able to answer the question "do these two programs do the same thing or not?", and that's equivalent to the halting problem.)

4\. (This is controversial, but it's my opinion and that of at least some other contributors here.) When assessing (e.g.) scientific hypotheses for "simplicity" or "parsimony", something like Kolmogorov complexity is the Right Way to understand (un)simplicity; failure to appreciate this is, e.g., what makes some people dislike the "many worlds" interpretation of quantum mechanics on the grounds of extravagance, or think that "God did it" is a useful explanation for otherwise-surprising features of the universe.

<comment><USER10> 3\. It's quite possible to determine what the Kolmogorov complexity of _something_ is, it's only impossible to determine what the Kolmogorov complexity of _everything_ is. The halting problem only states that it's impossible to prove whether an _arbitrary_ Turing machine halts. There're many Turing machines that can be proved to halt, some quite easily. For example,

      int main(int argc, char** argv) {
        return 1;
      }

can be proved to halt pretty easily, just looking at the CFG for the program.

<comment><USER9> I think that even in practice being able to determine the Kolmogorov complexity exactly is very decidedly not the usual case; you need to know that _every_ program shorter than your candidate fails to do the right thing.

Your general point is very much correct, though. A clearer-cut application: In general, one cannot prove that a program does what it's supposed to; but if doing that is important, "all" you have to do is _write_ it in a way that makes a correctness proof possible.

</comment></comment></comment></comment></comment><comment><USER11> Is it just me, or did was the annoying sales guy completely right about the technology being possible, able to satisfy the client, and successful in closing a profitable deal for the company?

What weird dailywtf parallel universe is this?

<comment><USER12> The WTF is the fact that a single employee would cost a company several tens of thousands of dollars plus several weeks of development time all because that employee didn't want to remember a password.

<comment><USER13> Actually, the WTF is that nobody bothered to mention (or ask) that only a single employee used the system.

<comment><USER14> The salesperson did say that there was only a single client...

"But we don't need to change it for everyone," Craig jumped in, "just one client. Surely, you can do that!"

<comment><USER15> He would have meant one client as in one company, not one user.

<comment><USER16> Perhaps the salesperson meant "one client machine" and the programmer assumed that, given the context, meant "one client company." Client can be a rather ambiguous term.

<comment><USER17> You're giving the sales guy far too much credit.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> That was actually a pretty clever solution he came up with. I didn't see the punchline coming.

<comment><USER19> I only caught the double-entendre in the title after reading the article.

<comment><USER20> I only caught the double-entendre after reading your comment.

</comment></comment></comment><comment><USER21> I don't think it's funny and I don't think either the hospital or the consultants/contractors/employees who built this system are worth their weight in salt.

It was a horribly expensive move and had very little benefit to the system or the patients or the hospital. It was a huge waste of money and it is decisions like this that are sending health care costs through the roof.

How incompetent must you be to go through all that and find out after months of work and thousands, perhaps tens of thousands, of dollars spent that what you were doing benefited only _one_ person for less than 1 minute a day?

It's a really sad state of affairs that this scenario exists. Pathetic really. If I was the hospital, I'd fire the contractors and the stupid person running the system who can't remember a password. These kinds of people end up costing you more and more and more in the long run.

<comment><USER22> It's unfair to blame the consultants when it was entirely the client's project manager's fault. It's the PM's responsibility to figure out how many of her company's employees will use it and whether or not it's worth the cost. There's not a whole lot the consultants could have done, even if they had had the foresight to ask "By the way, is this only going to be for one user?" or "Are you really sure you want to do this?"

</comment></comment><comment><USER23> Hilarious, and yet, sadly, this must be true. I've been asked countless times by end users why they must login to applications. I think the general population of business (read: average) computer users honestly thinks that passwords should not be required for accessing any information. These are the same type of users that have post-it notes with passwords attached to their monitors and probably write their ATM PIN# on the back of their debit cards.

<comment><USER24> I think people get the need for a password, it's just that for the average office job, you have something like at least half a dozen different passwords, with different complexity requirements and different reset schedules. At work I have different passwords for:

Windows login

Expense report system

Timesheet system

Employee information system (where I can view my pay stub, w2, etc)

401(k) provider

Insurance provider

Various ftp or other file sharing services for shuttling data back and forth with clients.

And that's in addition to the all the normal passwords I have for personal stuff. What's worse is most of that is used infrequently so the login process never has a chance to sink into muscle memory. The login process is pretty much forgot/reset password every time I use it.

<comment><USER25> If you have that many passwords, why not make some sort of base password and then riff off of the base password for everything that needs access (and have a mental sequence for when an item needs a reset)? If your base password is at the highest complexity requirement, the only thing you need to remember is the individual sequences.

I do this for my passwords and it's been working for me for years ...

<comment><USER24> That's more or less what I do. Not everyone cottons on to this scheme though. With the logins I might use once every 6 months or so, it can still be hard to remember which variation I'm on, especially if it's a "three tries then you're locked out" system.

</comment></comment></comment></comment><comment><USER26> Oddly enough, I've actually DONE this with off the shelf products, and didn't really consider it that big a deal at all. The only thing that needed modification was the app I was writing that needed federated access to.

If the company is using a recent Active Directory, it's a snap to set up OpenSSO within their environment to consume Kerberos tokens to authenticate the user (in a browser) via passwordless login.

From there, you can configure OpenSSO to federate authentication by providing your site a SAML token, which, when consumed for authentication, means that the only thing you really have to worry about is authorization -- e.g., what a given user can do from within your application.

One of my best friends is a developer who often cries 'impossible', only to brilliantly solve whatever problem a week later, usually with some fairly creative thinking, but I've always considered that his one biggest downfall -- crying wolf.

That said, I certainly get that if you're an app developer for a given product, the work that was sold was well out of scope.

<comment><USER27> _If the company is using a recent Active Directory, it's a snap to set up OpenSSO within their environment to consume Kerberos tokens to authenticate the user (in a browser) via passwordless login. From there, you can configure OpenSSO to federate authentication by providing your site a SAML token, which, when consumed for authentication, means that the only thing you really have to worry about is authorization -- e.g., what a given user can do from within your application._

You're forgetting that the client's IT people thought that VPN was 'inherently insecure.' What makes you think that they would install this when they would not install a VPN?

<comment><USER26> Honestly, it sounds like the software they custom-developed to act in that role was a knockoff of the basic functionality. The flip side is that OpenSSO uses in-built Kerberos encryption, and generates token-based session headers that contain zero sensitive information.

Honestly, you may well have a point, in that the customer may well have only been receptive to the chosen solution because it was custom-developed, but I was mostly balking at the developer's initial reaction of 'impossible'. Not only is it not impossible, it isn't hard to do, and certainly didn't require reinventing the wheel when a perfectly adequate solution exists that would not only have worked well, but worked for de-passwordifying OTHER web services as well (potentially).

</comment></comment></comment><comment><USER28> "And not just followed, but followed, tested, certified, re-certified, and double-tested."

HIPAA doesn't prescribe specific technological mechanisms or official certifications. IIRC, a username and password assigned to an individual user is sufficient. I believe there are some audit-ability (who saw/wrote what) requirements as well, but it's been a few years since I dealt with HIPAA.

As a user of a system for which inappropriate data access can get you fired, you should be concerned if it does not have strict authentication mechanisms. Sally can blame Bill for having looked at some famous person's medical record.

Such snooping is actually is a recurring real problem at major hospitals which treat famous people. The Cleveland Clinic sort of solved it by assigning people like Drew Carey (widely known to be a Clinic patient) a pseudonym. All electronic records are under that name, so most people looking wouldn't realize who the patient was. A VIP office handled billing reconciliation. It's a cute security through obscurity mechanism although it's probably well known on which dates Drew visited the Clinc and which physicians likely saw him.

</comment><comment><USER29> Great article, and I'm also not surprised, I had to work with a doctor once and basically took care of all her IT tasks because she was COMPLETELY technology averse and also forgot her logins all the time. I wasn't sure if this was normal of medical professionals, but this article just further reinforced that image.

</comment><comment><USER30> OK, I'm not a web developer: I do embedded systems and hardware interfacing, so go easy on me :-)

Assuming that the hospital network was secure, then why couldn't the system, when receiving a request from that single IP, request a cookie? If the cookie doesn't exist, then that user has never logged in and is then given an identifying, non expiring cookie and from then on is allowed access and is identified? Knowing the hospital's external IP would serve as authentication.

I know just enough about web apps to be dangerous, so someone please tell me what's wrong with this idea?

<comment><USER31> That's not a problem if you know the end game, which is that only one person in the hospital will ever know about it, but if you assume more than one person in the hospital will need access, you need to provide user-level permissions to prevent patient records from falling into the wrong hands; if you just give everyone in the hospital the exact same level of access, you're exposing a lot of things to a lot of people that shouldn't know about them.

</comment></comment><comment><USER32> Those of you with sales teams, what guidance do you have about sales people promising features that don't exist without getting input from the rest of your team?

<comment><USER33> Fine as long as it's for a lot of cash. If the customer is willing to pay for it, I'm happy to jump through crazy hoops.

<comment><USER31> Really? What if the client demands that your application is in "3D holograph" and won't accept anything that doesn't pop out of the monitor without any special assistance from the user? You're OK with selling that even though, no matter how much money they produce, it would take years and years of development, and may not even be possible until some other foundational technical breakthroughs occur?

Please don't take this too literally and tell me all the reasons why 3D holograph is feasible, you get the point.

<comment><USER34> For enough money upfront I'll get started today. For something really out of the norm a good salesperson should have gotten the customer to agree to an amount of money that would make it well worth it, whatever the task may be. I think for any outrageous example you come up with the cost will bring the customer back to reality.

<comment><USER31> It's dishonest to pitch it as a product you're selling when the technology to build it doesn't even exist yet. You can't say "Sure, we can do that for xxx million dollars and ten years", because you don't know if you'll have it all figured out even after xxx million and ten years, because nobody knows what would actually be required to produce that product. There may be some theory, but if that theory is erroneous for your application and you placed bets on it, you're screwed.

You have to pitch as a research investment. If a company wants to give you money for that kind of research, that's great, but you really need to make clear that it's not something you can just go and implement even if you have an infinite supply of money.

</comment></comment></comment></comment></comment><comment><USER35> One lesson (relearned) is to never say anything is impossible to do with a general purpose computer unless it actually violates a law of physics. (Even then, have a think about if you can achieve the same goal without said violation)

With computers, the answer is always yes, but you might not always like the bill at the end.

</comment><comment><USER36> "After going back to the drawing board, Gerald came up with another idea: configure the firewall proxy server on the client's side to add a custom HTTP header (X-Forwarded-For) that included the original IP address. That idea went over just about as well: HTTP headers could be forged, and a malicious employee inside of the company could hack in too easily."

I believe this is a perfectly acceptable solution, except they should strip any existing X-Forwarded-For headers sent by a client and only auto-login users originating from the NAT.

Problem solved... I think?

</comment><comment><USER37> 1) add a cert signing server that you control to the client's browser, 2) install a self signed SSL cert in the client's browser, 3) done.

(assumes over https, which for HIPAA stuff should be a given)

</comment><comment><USER38> One for all and all for one!

I don't know, maybe I would have opted for a enterprise level account with Roboform?

</comment><comment><USER39> Couldn't they just let the browser remember the password?

<comment><USER40> Yeah, but then the user would have to type the password in once. Apparently, even this was too much.</comment></comment>


Klarna, an Online Payment System Popular in Europe, Eyes Global Expansion - <AUTHOR> http://www.nytimes.com/2014/08/25/technology/klarna-an-online-payment-system-popular-in-europe-eyes-global-expansion.html

<comment><USER2> First serious potential challenger to Paypal by the looks of things. Definitely one to watch! Thanks for posting</comment>


Fried eggs with jam: A short history of the USSR through its food - <AUTHOR> http://www.theguardian.com/world/2015/oct/15/cccp-cookbook-short-history-of-the-ussr-through-its-food <comment><AUTHOR> \-- Eggs were one of the first foodstuffs to disappear at the beginning of the second world war, but the Soviet authorities were quick to find a solution, in the powdered eggs provided by the US under the 1942 lend-lease programme.

\-- Initially people reacted to powdered eggs with caution, and the government responded by taking coordinated action. One after another, Soviet newspapers featured articles claiming that while powdered eggs contained almost every nutritional benefit known to mankind, regular eggs were filled with pathogens and fats that weakened the body.

\-- In the mid-1950s fresh eggs began to re-emerge on grocery shelves. At first people were understandably doubtful, so the authorities immediately commanded the press to reverse their previous statements and a "new" idea came into vogue: fresh eggs are enormously healthy and nutritious.

This says so much about the power of the media.</comment>


Ask HN: Is there any point in using mailto: links any more? - <AUTHOR>

I know that you can get a mailto handler for web clients, but from what I've seen not many people use them.
We're moving to an approach where we have a contact form. This doesn't appear to work as well - our guess is that people don't like filling in their email on the web (it's also an extra step).
Does anybody have any hard data on usage of the mailto? We've done some A-B, but don't have enough data to draw out anything significant. <comment><USER2> We have both on the contact page, and we get more people filling out the form than emailing us, which I guess is surprising but the contact form is _right there_ whereas the email link is a click away.

I really prefer them to fill out the form, because when we can associate their message with their browser, cookie, and IP address, I can get all kinds of useful information eg whether they came from an AdWords link, how many visits to the website they've made, whether they've ever clicked through a newsletter, their IP address (which I can use for geolocation), whether JS is enabled, etc etc.

I also find that it's easier to block spammers via the contact form than the email link, because of all this information I know about them.

<comment><USER3> _I also find that it's easier to block spammers via the contact form than the email link_

Definitely. Even without looking at information like cookies, IP address, it is much easier to filter comment span than email spam.

</comment></comment><comment><USER4> It's funny you should ask this just now--Chrome has recently started to offer the option of opening mailto links in GMail. I think it presents this option as soon as you open GMail, so pretty much anybody using GMail on Chrome will be familiar with it. I suspect this means mailto links have suddenly become much more practical for a larger number of people.

<comment><USER5> i'm totally one of theses people. whenever i accidentally clicked on a mailto link some crappy tool popped up and wanted my attention.

now that it only opens a new gmail tab it's the first time that it's become useful to me!

</comment></comment><comment><USER6> On Windows machines, mailto: links set off my spidey sense because accidentally clicking it may initiate an Outlook setup dialog that causes churn. Windows folks who just haven't bothered to set this up may prefer a contact form or a clickable pre-selected input box, e.g. <http://jsfiddle.net/V6XAQ/>

<comment><USER7> Quick, painless, and makes mailto useful: [http://updates.html5rocks.com/2012/02/Getting-Gmail-to- handl...](http://updates.html5rocks.com/2012/02/Getting-Gmail-to-handle-all- mailto-links-with-registerProtocolHandler)

<comment><USER8> Is there any way to detect if such a handler is registered? So you can use mailto: then and otherwise just make it a text field?

<comment><USER9> I sincerely hope that there isn't. I really don't want a web page to know which email provider I use unless I choose to tell them.

<comment><USER8> I was thinking more along the lines of a simple query is a handler registered at all, not any info about what the handler actually does.

<comment><USER10> How would a website tell the difference between a crappy handler like Outlook Express Installer or a real handler like Gmail (or actual Outlook Express for those who use it)?

</comment></comment></comment></comment></comment></comment><comment><USER11> I agree. mailto: links firing Thunderbird for people who don't use it is so not cool.

Actually, I think the mailto: protocol has a lot of potential but has been mostly neglected by browsers. Only recently did Chrome announce the support for using gmail as an alternative for opening mailto: links.

Anyway, I decided to do something about it and cooked up a small snippet [1] that opens up a modal window every time a user clicks on a mailto link and lets him send a mail via MailerJS [2]. Just paste the snippet in your web page and skadooosh, all mailto: links get so much more awesome!

Might also write a Firefox extension that enables using gmail for mailto: links when I get some time.

[1]: [https://github.com/creatorrr/Snippets/blob/master/mailtofix....](https://github.com/creatorrr/Snippets/blob/master/mailtofix.html)

[2]: <http://mailerjs.com/>

<comment><USER12> > Might also write a Firefox extension that enables using gmail for mailto: > links when I get some time.

I see the option to register mailto: protocol with Gmail and Yahoo mail in my Firefox profile. Is it there from the beginning or it only appears after visiting them?

</comment></comment><comment><USER13> On my personal blog I use `mailto:` as I feel most people visiting either have mailto setup or know a mailto link when they see one and avoid it.

On a website that non-techies will see? I would have a contact box for sure.

<comment><AUTHOR> Yeah. Definitely the later.

The trigger for the question was a very strange support request -- turns out OS X Mail Setup was launching and the user was very confused...

</comment></comment><comment><USER14> I would never use a contact form if I can avoid it, I like to have a copy of my outgoing mail in its original form.

For me a button to copy the email-address directly to the clipboard would be the best solution.

</comment><comment><USER15> This is a little off topic, but... As a matter of fact, Chrome is not the first browser to offer that mailto config. At least Opera and Firefox already had (a long time ago) a way to customize the mailto handler to open a given client / webmail client. However, that process was way to difficult and obscure for most users. So -and given they have a special interest in it- Chrome became the first ever browser to come up with a frictionless webmail setup (only for Gmail, obviously). Anyway, as others stated here, it is not so clear for users: I had my girlfriend asking me what that message meant, and I was thinking it twice before answering her.

Besides the excursus, as tikhonj said, if that idea becomes a trend, it could modify a bit the landscape. I feel comfortable when I can choose.

A problem I had with forms is that people may and will eventually mistype their address. And, from a customer relation management point of view, that is a very bad thing, as you will never be able to get back to the user (if you are not asking for another way to contact, and even in that case, you could not get back to them). On the other hand, an email has always a sender.

It's also a fact that an email could easily become unnoticed in the spam folder. That's why I've found myself wondering if there could be room for a service that would fill the gap between both solutions (and be convenient for the sender and the receiver).

Regards!

</comment><comment><USER16> It is usually quite easy to spot mailto: links, and hovering over the link will usually make it extra clear (at least in Chrome, in the bottom left corner a small box with the url's location is displayed).

I usually just right-click the link and select "Copy email address" (chrome) and paste it into gmail.

</comment><comment><USER17> Personal feelings of course - not tested. I have a contact form on my site... but I use mailto links all the time as a reader - I have a protocol handler set up to use gmail by default and I think this will become more common.

I say yes, but maybe employ some tasteful iconography (stick an email icon right before or after the link, such as 'icon-envelope' from here: <http://twitter.github.com/bootstrap/base-css.html#icons> \- maybe use CSS :before or :after classes.)

<comment><USER18> On Chrome, GMail now asks if it can assume control of mailto: links after login.

</comment></comment><comment><USER19> I have this little service that I haven't figured out how to monetize, FlyerMe.info. Without sounding like an ad, it lets you print the heading of your flyer and a QR code and scanning the code takes you to a mobile-friendly version of the flyer (text and all). At the bottom I use mailto: so you can mail yourself the link from your phone.

I thought this was acceptable because I think most people have their email clients set up on their phone (unlike many people with no desktop email software).

</comment><comment><USER20> I prefer mailto links, since I keep a copy of the mail I send to you. Using my mail program also means I can CC and sign the mail. Plus, I'm not restricted to a 30x5 character sized text area to type my letter in. And I've got your email address in case I need to ask you more. All plusses for mailto:.

What's probably a problem is that many people use web mail clients, and the browsers do not have a standard way to assign mailto: handlers to websites.

</comment><comment><USER21> _"... We're moving to an approach where we have a contact form. This doesn't appear to work as well ..."_

I'm no fan of forms.

An email address I can rely on my email program to work, not so with forms that depend on 3rd party code/design. Email just works. On a deeper level though forms just seem to get sucked into _nothing_. There is no destination so it doesn't feel like you are contacting someone directly.

</comment><comment><USER22> We use a little 'Ask Us' form in every footer where people can drop a question. I was surprised how many people actually use it. (Because there's a captch attached to it. Yeah, I was lazy). Still, the e-mail is right next to it but people prefer the little 'Ask Us' form. <http://royaltyfreemodels.com/>

</comment><comment><USER23> I like mailto on websites, since I don't like contact forms so much. When I click on the mailto links, Thunderbirds open and I can start writing, very comfortable.

</comment><comment><USER24> Email forms are a turnoff. In the back of my mind, it feels like the message will most likely end up in some black hole.

</comment><comment><USER25> mailto: links are definitely useful. At least I get to see who I am emailing. A contact us form somehow turns me off. I may want to send an attachment or something more which I can send using my own mail client.

We should provide both a form and the mailto link to the users and let them use whatever they prefer.

<comment><USER26> Not only that, but the _user_ is automatically getting a copy of his mail (Sent). This is not a given with some custom form.

</comment></comment><comment><USER27> Short answer: provide both, user choice

<comment><USER28> Providing an explicit choice is rarely a good idea.

They just want to contact you somehow, they don't want to click mailto: and then have to configure their browser or something.

A solution might be to provide a contact form, but in the header of the form also note that it will send email to firstname.lastname@example.com. Make the email address a link, and savvy users will know to click on it.</comment></comment>


Hanging with hackers can make you paranoid - <AUTHOR> http://news.cnet.com/8301-27080_3-10302236-245.html?part=rss&subj=news&tag=2547-1_3-0-5

<comment><USER2> I don't know, but this sounds like a hell of a lot of fun. Perhaps it's just the reporter pumping up the story, dunno, but it really conveyed the image of a meeting of passionate people that enjoy what they do.

</comment><comment><USER3> Having been at Defcon 17 this year, I can say that this was _not_ the highlight of the weekend. Speakers were arrested on CCW charges, ATMs compromised, potential Korean spies playing press, arcade games erroring out, etc. None of that was the big show. What they aren't talking about is the SSL Strip null byte attack, or the mobile phone fuzzer app that was released.

If you ever get the chance to go, take it. Defcon is an experience you will remember, and it is extremely valuable for us hackers to attend, if for nothing else, for the contacts and friends you'll meet.

</comment><comment><USER4> Interesting that the fake ATMs might have been placed independent of the conference... That means that everyone else at the casino was _not sufficiently paranoid_ , and it took a hacker conference to reveal the deception.

</comment><comment><USER5> It's not paranoia if they really are out to get me.

</comment><comment><USER6> I'm sad to say that some european hackers are reluctant to go to defcon because of the risk of being "registered" or even arrested.</comment>


Beam – The World's Most Advanced Router - <AUTHOR> https://www.indiegogo.com/projects/beam-apps-computers#/ <comment><AUTHOR> Which of their claims are valid and which ones are pure marketing bs? It seems like their just shoving a VPN and HTTPS into a router</comment>


German Rocket Internet Plans $7B IPO in October - <AUTHOR> http://dealbook.nytimes.com/2014/09/23/rocket-internet-of-germany-prices-its-i-p-o

<comment><AUTHOR> Here's the prospectus: [https://ipo.rocket- internet.com/sites/default/files/files/Ro...](https://ipo.rocket- internet.com/sites/default/files/files/Rocket%20Internet%20Prospectus.PDF)</comment>


Linear vs. Binary Search - <AUTHOR> https://schani.wordpress.com/2010/04/30/linear-vs-binary-search/ <comment><USER2> Of particular interest:

Binary Search _eliminates_ Branch Mispredictions [http://www.pvk.ca/Blog/2012/07/03/binary-search-star- elimina...](http://www.pvk.ca/Blog/2012/07/03/binary-search-star-eliminates- star-branch-mispredictions/)

<comment><USER3> *When it compiles to CMOV intructions.

<comment><USER4> I had two points in that post. The first, obvious, one is that binary search can be micro-optimised to combine decent algorithmic properties with an enviable constant factor.

The second one is that, when linear search outperforms binary search, it does so by breaking out of the search, which needs conditional branches. Binary search, despite its bad reputation, has conditional branches that are easily converted to conditional moves or masks; even a loopy implementation is amenable to trip count prediction (it's a function of the log of the size of the array). If we must avoid mispredicted branches, binary search is intrinsically a better option than linear search.

<comment><USER5> Wouldn't cache line misses dominate? Linear search benefits from prefetch.

<comment><USER6> Modern architectures really necessitate a good understanding of the instruction pipeline and caches to squeeze out the best performance.

If I remember correctly, Python's hashtables are initialized with 8 buckets that are linearly searched and then switched to a real hashtable implementation when grown past that size.

I have worked with the L4 microkernel where sooo much emphasis was put on keeping instruction and data footprints as small as possible every time the kernel is entered in order not to dirty i- and d-caches.

And I have also seen game engine developers do amazing things in this regard. An interesting development in the gaming space is data-oriented-design that deviates from OOP among other things for performance and parallelization. See [http://www.slideshare.net/mobile/cellperformance/data- orient...](http://www.slideshare.net/mobile/cellperformance/data-oriented- design-and-c) (though I don't agree with the three "lies" mentionened, I do like the data-centric approach).

</comment></comment></comment></comment></comment><comment><USER7> >> ...use linear search if your array is below around 64 elements in size, binary search if it's above.

Back around 1980 when I first looked into this the generally accepted cutoff was 25 rather than 64. I don't think people were unrolling loops in the tests back then so it's hard to tell whether loop unrolling or changes in CPU architecture is the greater factor in moving the cutoff point from 25 to 64.

<comment><USER8> Something to do with the ratio between instruction cache size and cost of a jump to the pipeline?

<comment><USER9> I suspect memory bus width and latency also plays a role.

</comment></comment></comment><comment><USER10> This is a bit contrived example because if just searching for an integer in a large array, the memory bandwidth is going to be the bottle neck.

When dealing with small arrays (like the example of 0-250 integers, ie. less than 1 kilobyte), the figures are around 20-120 nanoseconds. In other words, the difference is around one main memory reference ("cache miss") between the best and the worst case.

While this is somewhat interesting, the lesson to take home should be that most of the time, smart memory usage is more important than what the CPU executes. Warming up the caches (e.g. __builtin_prefetch) is as efficient an optimization as rewriting and unrolling the entire loop and should be done first. If the caches are warm and the search is still the bottleneck, then it's time to consider the other optimizations.

<comment><USER11> I also think he should have covered the time it would take to sort an array. A linear search wouldn't need to be sorted, but a binary search would. He made his cut off at around 64 elements, but if you'd include the time needed by binary search to sort the array, the cut off limit would be a higher than that -- but would also introduce a lot of other complexities to consider in a production system.

<comment><USER12> I really doubt there's any data size for which sort + binary search is going to be faster than linear search. The former has higher complexity (so it's going to be slower for large inputs) and more expensive operations (so it will be slower for small inputs).

You can also think about it as a sort of reductio ad absurdum: Assume that the array is actually already sorted and you use a sorting algorithm with O(n) complexity for already sorted data. In this ideal case you'd need to do n (for sorting) + log n (binary search) predictable operations. For linear search you'd only need to n operations of the same type. In practice you'd need to do n log n operations for sorting, I don't think you can avoid unpredictable branches, and instead of just loading elements sometimes you'll move them around.

</comment></comment></comment><comment><USER13> _int middle = (min + max) >> 1;

This will work for n < MAX_INT/2\. For larger n, middle must be calculated as min + ((max - min) >> 1), which is one subtraction per iteration more._

Making middle an unsigned int should make (min + max) >> 1 work for all int values.

<comment><USER14> That's not guaranteed to work.

If min+max is a negative signed int, then the result of right shifting is implementation dependent.

Instead, you could do

        int middle = (unsigned)(min + max) >> 1;

Still, this relies on the original indices falling in the non-negative range of signed ints.</comment></comment>


Use JavaScript code in your Dart apps - <AUTHOR> http://news.dartlang.org/2012/09/use-javascript-code-in-your-dart-apps.html

<comment><USER2> Finally! (not related to TypeScript being released, right?)

Sarcasm aside, I really wanted Dart to succeed, but I want to say, too little, too late.

TypeScript has interop in day 1, and is 100% seemless, they won, that's it, end of story.

Even if Dart VM is amazing, even if the language is genius, how can you beat a langage that is just JavaScript + static typing?

I would shift resources out of the Dart project for now, join the TypeScript team and do a Google-Microsoft bipartisan project for the benefit of the world...

I'm sure some people from Microsoft are getting job offers from Google as we speak...</comment>


Why Linode moved to KVM - <AUTHOR> http://www.itworld.com/article/2937714/cloud-computing/why-linode-moved-to-kvm.html <comment><USER2> Hope that mess of a rack behind the guy in the photo isn't part of their hosting infrastructure...</comment>


Ask HN: Why does technological disruption excite people? - <AUTHOR> <comment><USER2> Getting excited by new things isn't unique to just tech enthusiasts, I believe it to be common for humans in general</comment>


Cufon: 56 lines of HTML for 1 line of text. - <AUTHOR> http://paste.ubuntu.com/1097834/

<comment><USER2> What am I not understanding?

<comment><USER3> The same thing as me apparently. Besides, are we really still using cufon?

It's from here: <http://www.splunk.com/company>

We're remarking that this is silly, right?

<comment><USER4> This code is generated. Doing it by hand would be crazy but letting a script do the work for you is not that crazy.

Cufon was the best way to use custom fonts 3 years ago. It apparently worked for these guys when they built their site and it's still working, apparently: no need to jump on another bandwagon every 6 months.

FYI, the real HTML for this single line of text is

Every Company is a Data Company

which seems very reasonable to me.

If you want other examples of necessary crazyness and uglyness, look at all the code needed for one of those "share" buttons or at all the html needed to create a lightbox.

</comment></comment></comment><comment><USER5> Imagine how many TrueType instructions this is!</comment>


The U.S. Is Losing Its Lead in Patents - <AUTHOR> http://www.businessweek.com/innovate/content/apr2009/id20090422_521441.htm <comment><USER2> I would not use the patent system as a metric anymore. There are so many dubious and outright laughable patents. There is so much misuse of patents to (ironically) hamper real innovations in competitors. And so much important work is difficult to have any meaningful patent on, like software.

Here are things that _have_ caused a loss of innovation leadership. Lousy education. A _ridiculous_ immigration policy. A tendency for companies to...outsource R&D, and generally take short-cuts on things that are important enough to not be half-assed in the name of "cost savings".</comment>


ShareDrop – P2P File Transfer Using WebRTC - <AUTHOR> https://sharedrop.io <comment><USER2> There's a clone at [https://snapdrop.net/](https://snapdrop.net/) which loads a little faster and works a little more reliably in my experience.

FAQ: [https://github.com/RobinLinus/snapdrop#frequently-asked- ques...](https://github.com/RobinLinus/snapdrop#frequently-asked-questions)

<comment><USER3> Damn... that's _very_ slick.

<comment><USER4> And the server side is only 229 lines ([https://github.com/RobinLinus/snapdrop/blob/master/server/in...](https://github.com/RobinLinus/snapdrop/blob/master/server/index.js) ); quite the feat.

</comment></comment></comment><comment><USER5> There's this situation that comes up again and again: It's 2019 and I want to send a (potentially large) file from my phone to my computer, or from my computer to my wife's computer. How do I do it?

\- USB connection? I don't want to dig out my cable and climb under the desk to plugin the USB cable.

\- Samba share? Forget it.

\- FTP server app? Works, but usually quite slow and painful.

\- Start a HTTP server to serve the directory? That works, but seriously?

\- Sending via E-Mail or Dropbox? Oh FFS, both devices are connected to the same WiFi access point, how can it be that uploading the file to a cloud hosted across the world and downloading it again from my other device is the simplest approach?

So far, Sharedrop is the simplest solution I know that works across any device that has a modern browser and that allows me to send the file directly from one computer to the other, without the need for logins or accounts or external software or arcane command-line incantations.

(The WebRTC Datachannel stack is horrible and mostly neglected by browser vendors, especially Google, but that's another story...)

<comment><USER6> I have found btsync (now Resilio Sync) the best available p2p solution, albeit requiring sync app installation, still you need some app anyway, being it the browser, file manager etc..

It uses local network when available and of course internet when not. It also does iOS.. if only more apps were supporting FileProvider functionalities, so you don't have to import-duplicate all the synced data first.

<comment><USER5> It requires installing proprietary software on all devices though, while your browser already brings along an open source and mostly standardized P2P stack.

<comment><USER6> There are open source alternatives like syncthing, which is still not as user friendly.

Also single file sharing seems interesting, but this is not what you usually do on daily basis... You just want to drop some file to shared folder most of the time, or to have a ton of different files synced automatically.

<comment><USER7> I've tried syncthing as well as btsync (now called resilio); it's not just less user-friendly. It tends to be _much_ slower and eat tons of CPU due to a different algorithm. Resilio has a free tier that works fine for me, and I don't have an inherent issue with a proprietary program that works well. It's a very convenient solution, I haven't had issues, and highly recommend it.

</comment></comment></comment></comment></comment><comment><USER8> After working with WebRTC and realizing its potential I immediately disabled it in my webbrowser.

One fear was to become a peer in a (copyright infringing) p2p-network, unknowingly just by visiting a random website.

WebRTC can be very useful but I think browsers should ask for special permissions like they do for camera access etc.

<comment><USER9> It's ridiculous that this isn't turned off by default. Here's a Firefox extension which does exactly that: [https://addons.mozilla.org/en- US/firefox/addon/happy-bonobo-...](https://addons.mozilla.org/en- US/firefox/addon/happy-bonobo-disable-webrtc/)

<comment><USER10> Why risk installing an add-on when you can achieve the same end just by using about:config to set media.peerconnection.enabled to false?

<comment><USER9> My thought was, that the extension is very easy to switch on/off. However since installing, I have never wanted WebRTC to be on...

</comment></comment></comment></comment><comment><USER11> Just shows "Loading" and the warning "firebase.js:39 FIREBASE WARNING: The Firebase database 'sharedrop' has reached its peak connections limit."

But if this is interesting, checkout [https://instant.io](https://instant.io) which uses the webtorrent protocol.

<comment><USER12> There's also [https://file.pizza](https://file.pizza)

</comment></comment><comment><USER13> You really shouldn't need any server-side at all for something like this these days (thinking about firebase).

Webtorrent should be mature enough.

We did something similar back 5 years ago for our BSc thesis project, using a DHT and Namecoin for distributed key exchange. Abandoned and obsolete, but in case anyone's interested: [https://github.com/rymdjs](https://github.com/rymdjs)

<comment><USER14> You still need a way to establish a connection between the two browsers.

<comment><USER15> No you don't, sort of don't. When you look at the Bugout [1] library, you see that they're using the infrastructure of WebTorrent to fix that.

I emailed the author and he said he's working on a form of infrastructure in which the infrastructure takes care of this problem.

So yea, you don't need a signaling server then. I'm pretty sure the extended version of this idea also includes STUN servers. And I think you'd always need to pay for TURN servers as the NAT is then simply disabling P2P all-together [2].

[1] [https://github.com/chr15m/bugout](https://github.com/chr15m/bugout)

[2] Context for people who are like what are all these terms?

In WebRTC when you have 2 computers behind different corporate networks trying to connect they need to go through a router. A router performs Network Address Translation (NAT), the internal IP (usually 192.168.178.xxx, definitely not always) needs to become the public IP. The problem is that when both networks are too complicated in its structure, then WebRTC cannot work in undoing this layer of translation.

In order to circumvent this, they tunnel your data through a server that has a public facing IP. They call this a Traversal Using Relays around NAT (TURN) server. IMO, you could just see it as an intermediary that shoves data from A to B and vice versa. However, IMO this defeats the point of P2P as you need a 3rd-party helping you to get the data to the other side.

Note: other relevant ideas are signaling servers (i.e. knowing each other's reachable address through an intermediary server)

and STUN servers (a server that tells you your own public facing IP address).

<comment><USER14> I would argue that this is still "a way to establish a connection between the two browsers" and therefore does not contradict my comment, but this does seem very interesting and I will look into it further.

<comment><USER15> Oh, I misread, haha. Thanks for pointing it out.

I fully agree with you.

Man, my thinking got lazy these days. I read an argument a while back on HN saying that WebRTC is not purely P2P, I was basically insta-responding to that.

I need to read more carefully.

</comment></comment></comment></comment></comment><comment><USER16> [https://instant.io](https://instant.io) by u/feross [0] is another tool that I use: It does BitTorrent over WebRTC [1].

[0] [https://news.ycombinator.com/user?id=feross](https://news.ycombinator.com/user?id=feross)

[1] [https://webtorrent.io/faq](https://webtorrent.io/faq)

</comment><comment><USER17> PC and Android on same hotel wifi didnt find each other. Understandable, scanning QR code paired devices nicely.

Did speedtest.net

       on PC: 14/10 Mbit down/up with  8ms ping.
       on AN: 35/ 7 Mbit down/up with 13ms ping.

Transfering AN -> PC at 3 Mbit/s

When refreshed site on PC to try another direction my PC is stuck on "loading". After restarting browser it went trough, but now my Android is stucked at loading. After completely closing firefox in Android I was finally able to pair again to do speedcheck in other direction:

Transfering PC -> AN at.... 20 MB file transferred, by eye, 20% and got stuck.

Well, the search continues...

<comment><USER18> You're encountering basically what I've seen myself when trying to use any of these P2P services. Most of them don't work at all, and those that do seem to work too slowly to transfer a file of any reasonable size, even on the same WiFi. I have no problems with any other transfers, including torrents, which all run at full speed. But WebRTC stuff just never works for whatever reason.

</comment></comment><comment><USER19> ShareDrop author here.

It's really great that people are still using it, after almost 6 years since the release! It was first announced here on HN: [https://news.ycombinator.com/item?id=7468328](https://news.ycombinator.com/item?id=7468328). Fun fact: on the same day Facebook announced Oculus acquisition ;)

Also, sorry that the service was down for some of you yesterday - it's using a free Firebase account that has a limit of 100 connections - usually it's enough.

</comment><comment><USER14> I've been using file.pizza for the exact same thing. Can't evaluate sharedrop right now because it is dead, but I find that the aesthetic of file.pizza makes it very approachable for a lot of people, though some people might consider it untrustworthy because of it.

</comment><comment><USER20> I've been using this for months now, it's great to quickly transfer files via WiFi on the same network. Right now, I guess it received the HN hug of death.

</comment><comment><USER21> This is pretty neat, and in my quick testing between Chrome and Firefox on both Android and Windows, it worked well.

A quick search on HN shows that this was first posted 6 years ago as a "Show HN" \- looks like it's come a long way since then: [https://news.ycombinator.com/item?id=7468328](https://news.ycombinator.com/item?id=7468328)

<comment><USER22> For me, on Chrome, it just stays on "Loading":

DOMException: Failed to set the 'binaryType' property on 'RTCDataChannel': Blob support not implemented yet at [https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4...](https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4761e62c6e4d.js:3805:171) at [https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4...](https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4761e62c6e4d.js:3806:279) at [https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4...](https://www.sharedrop.io/assets/vendor-6deb0f828efb7a002b3c4761e62c6e4d.js:3892:117)

</comment></comment><comment><USER23> Shameless plug to Firefox Send ([https://send.firefox.com/](https://send.firefox.com/)) with ffsend ([https://github.com/timvisee/ffsend](https://github.com/timvisee/ffsend)).

Crypto is done on the client. The key is in the share URL and is not sent to the server.

<comment><USER5> It's not P2P though, so a different sharing model than Sharedrop.

</comment></comment><comment><USER24> I don't like webrtc based solutions because the speeds are subpar.

My phone and iPad are on the same WiFi network and both have a link speed of roughly 400mbps.

Using trebleshot(a oss file sharing tool like shareit/midrop) I was able to get 30-40MBps which is pretty insane speed if you ask me.

But sharedrop didnt't work. It failed with "could not establish direct WiFi connection with peer" error and with snapdrop that someone else suggested I could only get speeds of up to 15mbps(or roughly 2MBps).

I only use trebleshot on android and trebleshot via the web interface to transfer between iOS and android. It's the fastest tool I have ever used and I strongly recommend it if you are looking for a tool like that.

TLDR being, webrtc based tools for p2p file sharing suck.

</comment><comment> VvR-Ox It's wonderful just like SnapDrop and I recently found another one: [https://github.com/spieglt/FlyingCarpet](https://github.com/spieglt/FlyingCarpet)

I love the "Air Drop" feature from apple and I'm very happy we can do this on linux now without the need to explain someone how to open a socket in the terminal ;-P

</comment><comment><USER25> This is a neat idea, I have had the same idea and been meaning to work on this for a while. Thanks for building this.

Can you share the technical details behind this? Also, what is your business model? Freemium?

</comment><comment><USER26> Trying at work (behind aggressive firewall). Loaded on my Mac OK with Safari first time. On my iPhone (same wifi) I just get 'Loading'.

Have we killed it?

<comment><USER27> I thought that too - it just takes ages to load on iOS for some reason

</comment></comment><comment><USER28> I've seen a lot of suggestions for alternatives but nobody's mentioned station307.com yet

</comment><comment><USER29> How does this differ from filepizza?</comment>


The Sound in Havana: What Americans Heard in Cuba Attacks - <AUTHOR> https://apnews.com/88bb914f8b284088bce48e54f6736d84 <comment><USER2> [https://storage.googleapis.com/afs- prod/media/afs:Medium:145...](https://storage.googleapis.com/afs- prod/media/afs:Medium:1450160048/1000.mp4)

[https://imgur.com/a/tkMAo](https://imgur.com/a/tkMAo)

[https://imgur.com/a/s1a1M](https://imgur.com/a/s1a1M)

<comment><USER3> You got a more descriptive caption for the imgur link?

<comment><USER2> sorry not something that would fit in 80 characters or so, start here:

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

And really there is not much the image divulges, the audio was modified, recorded on unknown device, and the compression affected it, but there are hints.</comment></comment></comment>