Flying a Cessna 172 for 65 days nonstop - <AUTHOR> https://www.aopa.org/news-and-media/all-news/2008/march/01/endurance-test-circa-1958 <comment><USER2> Awesome story but I'm really disappointed in the lack of photos. Does anyone have any good links?

Some fun facts: They refueled twice a day

They bathed by using a bottle of water

They didn't sleep well and once overslept and ran on autopilot

They refueled from a truck that drove under them. They hoisted a hose up. Their generator died half way through and they had to use a hand pump the rest of the time.

It was really boring up there.

<comment><USER3> The cessna take off speed is 100Km/h, does that mean that refueling truck had to go around that same speed, or maybe a little slower since the airplane did not have to rise?

Or did they have a modified wing?

<comment><USER4> Am not a pilot, but why would they need takeoff speed, rather than to just stay above the minimum speed before stalling? That $V_s0$ speed is more like 65Km/h.

<comment><USER5> Also important to note that's airspeed, not ground speed. If they're driving/flying into a headwind, the ground speed (the speed the truck cares about) is even lower.

</comment></comment></comment></comment><comment><USER6> I can't help but wonder how they went to the bathroom? Did they have a little cassette toilet in the back that they had to dump out every couple days?

Having flown a 172 for a couple hours I can't imagine wanting to live in one for two months. I'd go insane.

<comment><USER7> From another article posted above:

> This also inevitably leads one to the question: how did they use the > bathroom? Well, because the Cessna 172 doesn't come standard with a toilet, > and there was no room to install a permanent one, Timm and Cook had to rig > their own system. This took the form of a folding camp toilet and plastic > bags. Once they had been used, the plastic bags were then disposed of over > unpopulated areas in the desert around Blythe. According to Mark Hall- > Patton, the administrator of the Clark County Museum system in Las Vegas, "I > once asked John's widow if they handed down the waste during refueling runs. > She said, 'No. That's why it's so green around Blythe.' "

<comment><USER8> Steep face rock climbing has the same problem. If you climb for days on a vertical cliff, there is really just one directs where all the waste has to go. Better watch out that it doesnt hit your rope or some climber below you.

</comment></comment></comment><comment><USER9> This line made me smile "There was no way they could cheat and land at another airport to refuel without getting caught. Shortly after takeoff, a guy sitting in an open Ford Thunderbird convertible had painted a white stripe on the landing wheel, and that could never be reached from the cockpit, even with the little platform attached."

<comment><USER10> Said procedure could be repeated at the other airport though. Blockchain refills opportunity?

</comment></comment><comment><USER11> Video: [https://www.youtube.com/watch?v=vKZyy9FZRWY](https://www.youtube.com/watch?v=vKZyy9FZRWY)

<comment><USER12> Illustrated version: [https://youtu.be/3TDk34hnSXc](https://youtu.be/3TDk34hnSXc)

</comment></comment><comment><USER13> Seems like blood clots could be an issue since there's no way to effectively get your blood circulating effectively in such a small space.

</comment><comment><USER14> I was wondering how they did the re-fueling. It's via pickup truck on a straight road near Blythe California twice a day. That would have been a sight to see.

</comment><comment><USER15> I've always really liked this story.

As it mentions at the end of the article you can see the airplane hanging from the ceiling in the Las Vegas airport. There's a little mini air museum in there too with a few other aviation related artifacts. If you have a long layover it's worth seeing even though it's outside security.

<comment><USER16> The movie script writes itself.

Our heroes, trapped in a zombie filled Vegas airport, must somehow get the old 172 flying again to make their escape.

<comment><USER17> In that Zombie scenario I'd rather work for the ground crew doing the twice- daily refueling....

</comment></comment></comment><comment><USER18> Can anyone explain the thinking around the alcohol injection system?

<comment><USER19> Water-methanol injection was used in some early aeroplanes (and even cars) to improve performance, and reduced carbon buildup was a known side effect.

</comment></comment><comment><USER20> Fantastic story! Looking forward to following the new breed of aviation pioneers and adventures in space!

</comment><comment><USER21> pics or it didn't happen

</comment><comment><USER22> I wonder what would happen if they flew for more than 90 days putting them in violation FAR 61.57

> (1) Except as provided in paragraph (e) of this section, no person may act > as a pilot in command of an aircraft carrying passengers or of an aircraft > certificated for more than one pilot flight crewmember unless that person > has made at least three takeoffs and three landings within the preceding 90 > days

<comment><USER23> This was in 1958. FAR 61.57 was first created in 1999.

[http://rgl.faa.gov/Regulatory_and_Guidance_Library/rgFAR.nsf...](http://rgl.faa.gov/Regulatory_and_Guidance_Library/rgFAR.nsf/HistoryFARPart!OpenView&Start=1&Count=200&Expand=30#30)

<comment><USER24> Even then, it'd probably be fine if the passenger was (for example) a flight instructor.

</comment></comment></comment><comment><USER25> Awesome story, how did they manage the fuel?

<comment><USER26> If you read the article, you'd learn that they refueled twice a day by lowering a hose down to a speeding truck.

<comment><USER27> We shouldn't downvote for this reason. Some of us are on such a limited and remote internet connection that verbose HN comments are our only gateway to the article's knowledge.

<comment><USER28> Say what? If the page loaded enough for someone to know it was an awesome story, then they'd know how it was refueled if they read the article. That said, GP shouldn't have said "if you read the article" that way (I'm guilty of it too though), it's demeaning and is called out in the rules not to do it.

<comment><USER27> Agree with everything you said, but someone else described how they flew without landing. I appreciate this, because I specifically can't read the article :)

Also my score is -1 on that comment</comment></comment></comment></comment></comment>


On finally learning to program at the age of 40 - <AUTHOR> https://github.com/Dhghomon/programming_at_40/blob/master/README.md <comment><USER3> I'm in this boat. Finally started programming in 2018 at age 38 after a lifetime of playing around with computers as a hobby (thanks, dad!) and a first career in a completely unrelated field, as an attorney.

The linked article is about learning for pleasure, but there are also challenges associated with trying to enter the field as a second career. The technical complexity, of course, and the scale of what needs to be learned, can sometimes be overwhelming. It helps to bring as much humility to the process as you can muster. But peoples' perceptions can also be a challenge - no one quite knows what to make of you!

I like to think it's an opportunity. If you're able to combine domain expertise from your first career with a solid grasp of CS fundamentals and a good day-to-day working knowledge of your toolchain, that can make you a pretty rare interdisciplinary candidate. Perhaps that then informs how you market yourself and to whom.

Best of luck to anyone coming at this as a second career!

<comment><USER4> If you don't mind me asking, why would one give up a cushy, well paid attorney career and choose software engineering? Software engineering compensation _tops out_ below where an experienced attorney compensation _begins_. The least I've ever paid a lawyer was $250/hr.

<comment><USER5> In the U.S. only a very small percentage of lawyers ever get to the point where they make $250 an hour, and even if they do they only have a certain amount of years they can earn that much then if they don't make partner at whatever firm they're at they get put out to pasture.

During the time they're making that much money they're basically trapped working insane hours at one firm. Most lawyers don't even make six figures. Also, they can get disbarred if they make a mistake.

Software engineering allows for higher earnings for your entire career (though the ceiling might be lower on earnings), is less stressful and doesn't demand as many hours (in general) doesn't have a regulatory body that can take away your right to work if you get in trouble.

<comment><USER6> Disbarring is really not that common [1][2].

[1] "Disbarment is quite rare: in 2011, only 1,046 lawyers were disbarred." [https://en.wikipedia.org/wiki/Disbarment](https://en.wikipedia.org/wiki/Disbarment) [2] [https://www.rocketlawyer.com/blog/getting-disbarred-is- harde...](https://www.rocketlawyer.com/blog/getting-disbarred-is-harder-than- you-think-915832)

<comment><USER5> Yes, but it's always there as an option if the lawyer doesn't do what they want them to. Also, you can get in this kind of trouble for criminal charges unrelated to work done at your day job. I've known lawyers who got into trouble with the bar over getting a DUI or drug charges.

That kind of risk just doesn't really exist in software engineering beyond regular criminal background checks.

</comment></comment></comment></comment></comment><comment><USER7> The Logo screenshot used in this article was created by me for my own blog post here: [https://susam.in/blog/good-quality-dosbox-video- capture/](https://susam.in/blog/good-quality-dosbox-video-capture/) :-)

I contributed this image to Wikipedia at [https://en.wikipedia.org/wiki/File:IBM_LCSI_Logo_Circles.png](https://en.wikipedia.org/wiki/File:IBM_LCSI_Logo_Circles.png), so that it could be added to the Wikipedia article on Logo at [https://en.wikipedia.org/wiki/Logo_(programming_language)](https://en.wikipedia.org/wiki/Logo_\(programming_language\)).

It is fun to see this image being reused in this article!

Related: [https://news.ycombinator.com/item?id=24405420](https://news.ycombinator.com/item?id=24405420)

<comment><USER8> Very nice, and it was actually properly attributed, too.

</comment></comment><comment><USER9> The hard part here is getting a curriculum to learn software engineering. Writing code is much much more then just a language. So much time spent on that. Just learn one freaking language and move on.

eg. I started with Basic -> QW Basic -> Pascal -> PHP -> Perl -> ruby -> golang and a lot of others languages too.

Writing code is not the hard part.

follow something like this: [https://functionalcs.github.io/curriculum/](https://functionalcs.github.io/curriculum/)

Or if you want to be something specifc follow this and find resources to learn about the topics: [https://github.com/kamranahmedse/developer- roadmap](https://github.com/kamranahmedse/developer-roadmap)

<comment><USER10> You can also realistically learn Swift and then never have to write anything else again, until iOS stops being a career at least.

<comment><USER11> People used to think the same thing about Objective C

<comment><USER12> Yes, just as Flash/ActionScript. At a time, we almost believed Flash Player was everyone on the Internet.

<comment><USER13> Isn't ActionScript just a dialect of EcmaScript? I would guess transitioning from that to Javascript would be pretty easy.

<comment><USER14> Without the nice IDE experience though.

<comment><USER15> There was an IDE for ActionScript called FDT built on top of Eclipse.

<comment><USER14> I meant that JavaScript/HTML/CSS has yet to offer anything similar to the Flash development experience.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> I've been writing software pretty much my entire adult life.

But I was a manager for 25 years, which meant that I had to work on coding during nights and weekends. I got a lot done, but I really feel as if it stunted my development. Also, I was deliberately working on software that was designed to be taken over by folks with limited skillsets, so the tech edge was blunt. This turned out to be exactly the correct thing to do. That work has taken off in a _big_ way, and is now being extended in new ways, by some talented and up-to-date engineers.

So, three years ago, I left the company I'd been working at for 27 years, dumped a bunch of my money into a couple of companies, and started to re- educate myself.

It's working out very, very well. Far better than I imagined it would. I may never get paid a dime for any of my work, ever again, but I am producing some of the finest software I've ever written. I've learned a _ton_ , and I'm really just getting started. Over the weekend, I started work on a project that may or may not end up in open source, but will likely be one of the most ambitious projects that I've done. The last three years have helped me to get to the point where I have no issue diving in.

I'm pretty psyched.

</comment><comment><USER7> The article mentions that Logo did not provide a very good experience to the author. I am glad to know that he still found another way back to programming and had a great time with Rust. In my life, Logo opened a whole new world for me.

I began coding with IBM/LCSI PC Logo in my childhood days. The first line of code I ever wrote was:

      FD 100

That's the "hello, world" of turtle graphics in Logo. That simple line of code changed my world. I could make stuff happen in an otherwise mostly blank monochrome CRT display. Until then I had seen CRTs in televisions where I had very little control on what I see on the screen. But now, I had control. The turtle became my toy and I could make it draw anything on a 320 x 250 canvas.

The next beautiful piece of code I came across in the same language was:

      REPEAT 360 [FD 1 RT 1]

The code above draws an approximation of a circle by combining 360 short line segments. It showed me how control flow can be used elegantly to express complex ideas in a simple expression. And then I came across this:

      REPEAT 20 [REPEAT 180 [FD 1 RT 2] RT 18]

The above code draws 20 overlapping circles. The output looks like this: [https://susam.in/files/blog/dosbox- logo-1.png](https://susam.in/files/blog/dosbox-logo-1.png). By the way, it is the same image that the author of this article has reused in his article. :-)

At an impressionable age of 9, reading and writing code like this, and using simple arithmetic, geometry, logic, and code to manipulate a two-dimensional world had a lasting effect on me. Back in those days, I used to find joy in sharing some of my interesting Logo programs with my teachers and friends. I like to believe that my passion for software engineering as well as my love for writing code, sharing code, and open source development are a result of coming across these beautiful code examples early in my life.

<comment><USER7> For all the Logo fans out here, we have Slack and IRC channels at [https://bit.ly/fd100slack1](https://bit.ly/fd100slack1) and [https://webchat.freenode.net/#fd100](https://webchat.freenode.net/#fd100) . Most members of these channels are also Hacker News users.

Please do join it even if you don't remember Logo anymore. The intention here is not to discuss Logo but to share the joy of computing that we discovered through Logo and has remained in our lives. I hope to see you all there. :-)

<comment><USER17> FYI, we have some 50-40 year old Logo implementations from MIT backup tapes. Visit the freenode #PDP-10 channel to learn more.

</comment></comment></comment><comment><USER18> Now I feel like I need to apologize for TAing a class that taught Logo to college freshmen.

This was a CS class for non-technical natural science freshmen, so it was full of pharmacy, biology, geology students etc.

It's primary purpose was also to (in 14 weeks!) teach the barest detail of all of computing, from basic circuits (~1week) to Logo programming (IIRC < 4weeks) to data science and statistics using R (2weeks) and the concepts behind OOP (1 week, IIRC not on the exam).

Teaching Logo to 18 year olds that had never in their life been interested in programming was an eye-opening experience:

Some students (imo rightfully) only did the exercises to get through the exam, since all they wanted was to pass the class. Fair enough!

Others solved the exercises about for-loops one week, then started asking follow-up questions about infinite loops and accidentally inventing while- loops and their eyes lit up and you could tell that they _got_ it, even though this wasn't even their primary degree direction.

Looking back, as a CS student, I wish I had _taken_ more classes like this, designed to make you question if you were actually taking a degree in the direction of what you were most interested in.

Our CS program was math, math, math and 15% programming. Not really any jumping points from that (except into Mathematics).

<comment><USER19> Your last point is a good one. I started in math and had to take a few CS courses (which I ended up switching into), but I had almost no exposure to subjects outside those two. At least here in Canada, it feels like electives are de-emphasized and there's little opportunity to explore other subjects. I'm happy with the way things turned out but wish I could have taken a broader course load.

</comment></comment><comment><USER20> I remember discovering QBasic as a kid and being totally absorbed in it. I couldn't understand what an array was, so that halted my progress.

I rediscovered it as a teenager in highschool and wound up making a basic platform game with a mess of shitty spaghetti code goto statements and drawing lines on the screen. It was great. My dad wanted to encourage me but didn't know how, so he got me a C++ book from the library but it just made no sense and I couldn't get anywhere.

Fast forward to being 23 and deciding what to major in at University. I rediscovered the idea of programming and instantly fell back in love with it. I remember blowing through the entire first semester textbook in 2 weeks and really getting it. It felt like a super power had finally been unlocked. Still does.

I was so glad to reconnect with programming. I always feel I would have been an absolute whizz kid by now if I had really picked it up when I was a teenager and part of me is a little sad about that.

<comment><USER21> > discovering QBasic as a kid and being totally absorbed in it. I couldn't > understand what an array was

i started off programming with qbasic as well -- i remember when i finally figured out what arrays were and how to use them -- now if i wanted to animate many enemies/projectiles i didn't need to keep copying and pasting and defining more and more variables for each new entity! magic! at some point i got hold of a copy of darkbasic (a basic product with simple access to input, 2d graphics and sound) and made some home-brewed space invaders knock off -- all of the entity state was encoded as some horrible huge 2d array -- one index for entity id, the other index for attribute. probably all attributes were stored as integers, with different meanings depending upon the entity type, also stored as an int in one of the columns.

<comment><USER20> Haha amazing.

I remember one of my first real programs in uni after figuring out enough programming to make something but not to make it well.

I wrote this calculator for the various math and physics problems I had at the time and it had a nested menu system where when you clicked on a menu item it added that particular calculator/equation to a window pane.

It was an absolute rats nest, but boy was it good.

It's pretty incredible how you can make working software out of both well crafted code and absolute spaghetti.

<comment><USER21> > pretty incredible how you can make working software out of both well crafted > code and absolute spaghetti

yup. c.f. James Hague's "Write Code Like You Just Learned How to Program" [https://prog21.dadgum.com/87.html](https://prog21.dadgum.com/87.html)

</comment></comment></comment></comment><comment><USER22> Hey, another another person who started "later" in life checking in. I'm 36 but started when I was around 29. The common theme here seems to be "grew up around computers but fell into a different career"

My start was working for a company in a developing country who were struggling to find a way to escape spreadsheet hell. I was a business analyst but decided it surely couldn't be that hard to program and create some kind of system myself! A month or 2 studying "Head First PHP" and I started work on a system to help the company manage their import, export and container yard operations. A few months later I was done. To my knowledge (and absolute horror), they are still using it to this day.

I'm back in Australia 3 years ago, happily working as a senior dev, but reading some of the posts here really brings back memories of the excitement I would get when those "ah ha!" moments would strike during those initial first months.

<comment><USER23> On the other hand, if you made something that is still used "in production" for several years now, that's quite an achievement. Well done.

</comment></comment><comment><USER24> So while I learned to program BASIC at 10 or so on a Commodore PET, there were plenty of adults who were also learning BASIC for the first time in that same wave of early home computers. I had a friend whose dad (an optometrist) was very into programming their TI 99/4A. And I'm pretty sure my high school computer science teacher hadn't been programming a lot longer than I had (although he was a good teacher).

So in a lot of ways, learning programming as an adult is a tradition that is as old as home computers. You're never too old to learn something new.

<comment><USER25> I learned to program on a TI 99/4A, and my high school "computer science" teacher was actually a math teacher who took some interest in computers. I wish I had been able to take a fuller CS curriculum in HS.

<comment><USER24> it was actually pretty shocking how good my high school CS program was - <USER2> was Ontario in the mid-80's. I learned boolean logic and basic CS theory as well as getting to work on a full-fledged UNIX system (QNX). I even figured out how to write my own login prompt emulator to phish for other people's logins. What more could you want?

</comment></comment></comment><comment><USER26> I am a nudge over 40 and learning to discovers the joys of programming again. I am on the product side, have coded in the past around a decade ago (C++) as part of a rotation scheme at company and learnt BASIC in school.

The thing that got me interested in this again was the excellent 'Automate the Boring Stuff with Python' [https://automatetheboringstuff.com/](https://automatetheboringstuff.com/).

This was my best lockdown read so far. I have used it automate some dumb stuff I have to do at work (moving mouse clicking). Get real-time custom alerts on my bank transactions and a develop an app that logs into a site, searches keywords, scrapes results and sends me an email each morning.

Can't recommend the book highly enough.

</comment><comment><USER27> Wow wasn't expecting this to climax with Rust

<comment><USER28> Yeah that's quite an interesting take. This is the first time I've seen someone come into programming with their first real learned language being Rust. I'll be awesome to see more of this in the future. It gives me encouragement to properly learn Rust as well (my problem with learning languages is that I never actually want to write anything in any language so I can't actually learn the language without finding a use for it).

<comment><USER29> > (my problem with learning languages is that I never actually want to write > anything in any language so I can't actually learn the language without > finding a use for it).

This also seems the author's problem. It reads like he feels he should ought to learn programming but he doesn't actually have any particular problems he wants solved.

<comment><USER30> Well, in that case on should look at existing learning materials. Maybe something like Project Euler, advent of code or a good old fashioned dead tree (book).

</comment></comment></comment></comment><comment><USER31> 40 year old tech-entrepreneur here. In my 30s, I became the tech lead who I needed as a co-founder. I learned by doing, with periods of great intensity, over many years. There's so much I haven't accomplished yet and so much more to learn. Setting the right goals has been just as challenging as learning how to accomplish them. I take a first-principles approach to understanding fundamentals rather than simply hacking together a solution. This is a very time and energy-consuming approach, but it lends itself to stronger long-term results. Expertise compounds itself over time, block by block. The first year working with any new domain of material is always the hardest, but enduring the process ultimately yields great returns. Endurance is essential to growth. Anyone out there who is reading this and experiencing hardship, do not give up! These hard times will pass, your fears will subside, and a stronger version you will remain. You can achieve your goals!

</comment><comment><USER32> I've been a Linux sysadmin for more than 15 years. I've never been into programming except for a few batch scripts. However my last jobs involved a lot of deployment and monitoring custom stuff and combined with this DevOps hype I've been coding a lot of stuff lately. I kinda regret not improving my coding skills earlier.

</comment><comment><USER33> I think Turbo Pascal was the perfect language to learn programming. It has a simple core, a static type system without much bells and whistles but that's more solid than the C crazyness, it doesn't force the student to learn 10 different concepts at the same time before writing HelloWorld (unlike Java and other OO languages), but it teaches thinking about types and not only values (unlike scripting languages).

Sadly it's basically dead now.

<comment><USER34> and it had an amazing IDE for the times. My first useful programs were written in TP in the late 90-ties.

<comment><USER35> Turbo Pascal was always technically excellent in many ways, and also relatively affordable. (The Microsoft development tools were prohibitively expensive for most non-businesses.)

IIRC, the IDE started with Turbo Pascal version 4.0.

In earlier versions of Turbo Pascal (at least 3.0 and 2.0), there was no IDE. IRC, TP before 4.0 had some kind of simple text screen for switching between the compiler and a text editor.

I started with a copy of Turbo Pascal 2.0 for _generic_ MS-DOS (generic, in that it didn't use IBM PC BIOS features), which a computer shop owner kindly transferred from 8-inch floppy to the 5.25" oddball format that my not-very- PC-compatible used. The cover of manual was monochrome blue, rather than the more familiar multicolored one. [http://www.emsps.com/oldtools/borpasv.htm#tp2](http://www.emsps.com/oldtools/borpasv.htm#tp2)

I heard that Philipe Kahn named the company "Borland" because it sounded like an American astronaut name, so I suppose that could be the reason for the outer space theme (other than a lot of computer things having sci-fi space themes around then).

</comment></comment></comment><comment><USER36> Not quite the same story, but I've been programming since I was 5 or 6 years old and it took me until I was 30 to make a career out of it.

Turns out everything else that I've done with computers in the meantime helped and is a force multiplier in my job.

</comment><comment><USER37> Started my professional career as a teenager. I was in board rooms advising CEO's before turning 18. I started in infrastructure. First building gaming computers for clients then shifting to a new model servicing business clients by setting up servers, implementing computer and phone networks, setting up a PBX or VoIP system. Then transitioned from that to designing data centers and call centers for larger clients. Got deep into the architecture of ip transit layers. Fell into resale of existing tech and security for servers/networks/endpoints.

Cloud started eating the market for private data center facilities so I started a VoIP company. We did novel stuff with open platforms to create high density usage without performance impacts on 10 year old hardware (back when hardware was still expensive because cloud couldn't do telephony well). Had bad a business partner and got out of that.

Throughout all of this I somehow never needed to learn to code more than HTML/CSS.

I decided to learn when I turned 30 and my careers future was unclear.

About three months in, I realized that I needed practice building real world tech not just codeacademy. I hired a tutor to help me learn to program as I only had about 2 hours a week to spend on it.

After three years of being tutored I've written a data aggregator sifting through various order data and building custom reports, I've used machine learning to filter important content based on content, I've built integration with payment gateways and a basic ledger system to track payments, I've done all this to work on a startup. I've pivoted over time but the concept is still motivating me.

I still consult as a tech leader. I'm a much more capable leader having learned to code with my other skills coupled together.

My recommendation to any professional looking to learn these skills is to hire a tutor. I could spend 100 hours of trial and error that a person with 20 years of experience can figure out in 5 minutes. If you are based in the USA you can find someone for $50/hour or so overseas to help you. That's $400/month but still less expensive than many paid courses/schools and you get to set the criteria/agenda for your own needs.

<comment> Dhghomon- >My recommendation to any professional looking to learn these skills is to hire a tutor.

On a similar note, if you're not shy / don't have the funds you can stream yourself learning a language on Twitch and be inundated with people telling you what you should do every time you get stuck. [This guy]([https://youtu.be/IwbHcXsCWd0?t=5754](https://youtu.be/IwbHcXsCWd0?t=5754)) comes to mind. Every time he streams, a virtual army of advisors shows up to tell him what to do (to the point that he frequently has to tell them sorry, I really need to figure this out myself before I look at your solutions).

</comment></comment><comment><USER38> There's something about games as your motivation for learning to code that is quite unfortunate: Games, especially the popular ones, are monstrously difficult to write.

And I say this as a C++ HFT guy who's written a load of programs for all sorts of other things.

\- Games will break your OOP tutorial learnings. If you're starting out with a game, it is gonna get mighty difficult to fit whatever it is into a set of objects. By the time you come around to an ECS, you've probably got a fair bit of experience under your belt.

\- A lot of games have a realtime component. So now you need to know about performance, so that you can draw a frame in a few ms. To do that, you need an abstraction of the machine that includes things like cache misses and branch prediction.

\- Syntax for c++ is probably the weirdest among common languages, and you need to know it in order to do all the allocations and type safe calls. You'll need a bunch of knowledge about how the thing builds, which also isn't trivial. (Why h files?)

\- Games might have 3D graphics. Now you'll need a math course, and a bit of reading about some particular lib.

\- Games tend to have multiple abstraction layers. If you need a high performance data structure, you'll have to spend time on writing that while also thinking about the thing you're using it for. You might end up mixing the game logic with your data structure if your thinking is muddled.

\- You'll need some artwork. It's not as easy as you might think to come up with some nice colors for your characters. Textures, see 3D graphics.

\- Gameplay itself is a huge topic straddling coding, design and culture.

\- Want to play with the computer? Game AI is another huge one.

I'm not surprised if 99% of kids who thought they'd learn c++ gave up.

As for my own journey, it tended to be connected to trading. Before I did that, there were moments when I wrote code, including at uni, but they never amounted to a whole that could be used for anything useful. I think having a domain problem helped focus things a lot, in that certain things are prioritized. I still don't know how to do graphics, game AI, and artwork, because trading systems tend not to have those.

Once I got to a comfortable place in terms of skill, I branched out into apps and websites, though I don't consider myself an expert on those. That's also a useful journey, bringing in large areas of experience that I hadn't started with.

<comment><USER39> I was tinkering around in the Minecraft code and man, I have no idea how people use inheritance when designing complex games without completely losing their minds.

I know composition vs. inheritance is a nuanced debate, and there are people who can tell me exactly how to do inheritance the right way and why they feel it's better -- but after I learned how much cleaner composition feels I went with it and never seriously looked back.

<comment><USER30> I'm not sure what you mean. Subtyping is primarily used for polymorphism. A pretty common mistake is doing polymorphism at the wrong layer but not using polymorphism at all is also a mistake.

</comment></comment></comment><comment><AUTHOR> This story was rather poignant for me, as I am, let's just say quite a bit over 40.

I learned to program when I was in high school and noticed a Teletype 33 ASR in a corner of the math classroom. I knew about Teletypes from being a ham radio operator, but I thought they were just for sending and receiving text over the air or over a phone line to another Teletype. You could either connect to the other Teletype and type in real time, or you could punch a paper tape first and then send it over the air or across the wire at the full speed of 10 characters per second.

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

This Teletype was special, though. The school had an account with a local timesharing computer company, and for a mere $30 per hour ($200/hour in today's dollars) you could dial in and _run a BASIC program_.

[https://en.wikipedia.org/wiki/Time- sharing](https://en.wikipedia.org/wiki/Time-sharing)

Naturally my first program was:

      10 PRINT "HELLO"

and it printed HELLO!

You can probably guess the next line I added to the program:

      20 GOTO 10

Whoops! This wasn't just text scrolling on a screen, it printed out line after line on the roll of Teletype paper. Had to hang up the dialup modem fast.

That summer I got a job as "night operator" at the timesharing company (Transdata in Phoenix, AZ). The great thing about this job was they shut down the timesharing service at night. So I had their SDS Sigma 5 all to myself. My first personal computer!

I found a copy of the Algol-60 Report and taught myself Algol. And then Sigma 5 machine language. It was great fun to see how much of a program I could write on a single punch card (80 bytes).

We had a nice single-card program that you could put in front of a deck of cards to print out the whole card deck. But it was kind of slow, because it would read a card, print the card, read the next card, print that one, etc.

There were a few bytes left on that print program card, so I squeezed in code for a double buffer. It would read the first card, start it printing, and then _while it printed_ read in the next card, overlapping the reads and writes so it printed twice as fast.

That fall I went to Caltech, lasted a year and flunked out. I loved science and math, but when we got to partial differential equations my mind just couldn't handle it. But there was a systems programming class, and the final project was to write an infix expression parser and evaluator with operator precedence in assembly language.

I was the only person in the class to turn in a complete working program with test cases. I could probably tell you exactly where I was sitting when the instructor announced the results. I had found my calling, and have been at it ever since.

My secret weapon: while everyone was punching cards with their program, submitting the batch job, and waiting hours or overnight for the core dump when it crashed, I found an _interactive console_ on campus where I could code and run and test my program in real time. Just like the Teletype I learned on.

Moving forward to the present, I interviewed with a FAANG company last week. It reminded me a bit of the discouraging experience the article's author initially had with LOGO and competitive programming.

Everyone I interviewed with, and the company recruiters, were all super nice and supportive. But the gist of the interview process was to tackle four medium to hard algorithm problems and come up with not only a working solution but a perfectly optimized solution, in 15 minutes each!

The recruiters advised me to spend at least an hour or two every day for two weeks on LeetCode banging through as many algorithm problems as I could, timing myself to see if I could solve each one with optimized code in that 15 minute time limit.

There was also a system design interview focused on scaling out a backend system to support a billion users. I explained to the recruiter and the interviewer that this wasn't my forte, but I had a lot of experience with low level hardware interfaces and was really interested in a job in their hardware group. They don't hire for a specific role like that, though, they hire "generalist engineers", which means being able to come up with a fully optimized solution for any algorithm in 15 minutes - and without the ability to _run and test your code_.

In fact, they used an online code editor that normally lets you do just that, but this capability was disabled. I suppose they were trying to limit the online editor to match the capabilities of what you could do scribbling code on a whiteboard.

This all reminded me of what discouraged the OP's author so much about his initial foray into programming: the competitive coding competition with LOGO. That is fun for some people, but not for him and not for me. I would rather learn how to _cooperate_ with other programmers, not compete with them.

One of the algorithm problems stuck in my mind. Of course it was a LeetCode problem that you can read about here:

[https://leetcode.com/problems/valid-palindrome- ii/](https://leetcode.com/problems/valid-palindrome-ii/)

"Given a non-empty string s, you may delete at most one character. Judge whether you can make it a palindrome."

In Python, there is a simple solution for this:

      def is_palindrome_with_at_most_one_character_deleted( string ):
          if string == string[::-1]:
              return True
          for i in range( len(string) ):
              s = string[:i] + string[i+1:]
              if s == s[::-1]:
                  return True
          return False

If the string slice notation is unfamiliar, here are some references:

[https://www.google.com/search?q=python+slice+notation](https://www.google.com/search?q=python+slice+notation)

But of course this simple solution would not be good enough. What about the time complexity?

This LeetCode problem has 520,862 submissions at the moment, with 191,325 accepted. The solution above would not be accepted.

There is a faster solution, but it is less obvious and prone to off by one errors and other logic errors. It's not _that_ complicated, but not something I would expect anyone to code correctly and verify in 15 minutes.

If that kind of competitive programming was what programming looked like to me, I could see myself being easily as discouraged as the OP was.

Fortunately there are other fish to catch in this grand ocean of programming!

<comment><USER40> > Given a non-empty string s, you may delete at most one character. Judge > whether you can make it a palindrome.

My thought here is that you start from the outside working inwards. When you encounter a conflict you must decide whether to resolve it by deleting the left or right character. Trying both possibilities should be good enough. From that decision point you just keep comparing and if it fails that branch failed.

<comment><USER41> That's a quadratic solution. Try solving an inverse problem to get insight - how to know if a sequence is almost a palindrome and what's the "palindromicity" metric - and you will find the faster solutions. (I think it leads directly to a Knuth-Morris-Pratt like algorithm. And you can further apply a variant of divide and conquer on top.)

<comment><USER40> No it's not quadratic: since there is at most one conflict it will be linear.

<comment><USER42> It depends how you count. Is string reversion an O(1) or O(N) operation with N the string length? I believe is is O(N) and if you loop over it N times thats O(N^2), isnt it?

<comment><USER40> I didn't want to post code, but I guess it's the only way I can see to settle the debate. This should be manifestly linear.

        def check(s):
            is_palindrome = lambda s: s == s[::-1]
            if is_palindrome(s):
                return True
            d = [a==b for a, b in zip(s, s[::-1])].index(False)
            return is_palindrome(s[d+1:len(s)-d]) or is_palindrome(s[d:-d-1])

edit: It must be len(s)-d rather than -d, to handle d=0.

</comment></comment></comment></comment></comment></comment><comment><USER43> I'm on the same boat.

Kind of weird (and again in the same boat as OP) as I was probably among the few in my country to actually have access to a brand new IBM PC back in the late 80s as my father got it from the university as part of the research grant. Most of my friends were lucky to own a NES at that time. But I never got the idea to learn programming.

Even as I was super interested in games and game programming (idea eventually hit), I again decided NOT to take CS as my major back in the university. It looks like I'm trying to stay away from my hobby. No idea why.

Then finally a few years ago I suddenly decided to teach myself C++ and from there I gradually built up my knowledge here and there. C++ hit me as a very good language to begin with (not a good idea btw), at least on the side of game programming. As I'd like to program retro RPGs, custom engine came as a natural thing as the earlier games were very easy on graphics. Anyway I did program a half done map editor and game for an Ultima spin-off and that was pretty much it. Eventually I got myself a couple of nice jobs so I didn't have much time for programming at the moment, but still trying to get a bit done here and there, mostly data structure and algorithm as I want to get a bit deeper before working on any medium size game project.

Anyway I don't want to turn this into a professional job as that might be tedious (I work in a game dev company). Working on side projects could be very fun!

</comment><comment><USER44> I can sympathize. I always knew how to program since my teens. I'm 45 now, and didn't really start doing professional programming till I was in my late 30s. I worked hard for about 6 years to build up enough experience to feel confident doing this.

Now I'm at the point where my current job is pretty boring and we don't grow enough to bring in harder problems. But I also really don't want to move out to SV to work on Neuralink, sats, robots. Even though those problems are one that would be super interesting.

<comment><USER45> > I'm at the point where my current job is pretty boring and we don't grow > enough to bring in harder problems

This is usually the point at which I job hunt. Honestly, I need a place where new and interesting problems keep propping up. I don't think I'll ever settle but I do always leave on good terms.

<comment><USER44> Unfortunately I am in West Michigan. This is not a place with terribly interesting problems. I probably need to put together my own thing.

Whats the hardest problem anyone here has that they would pay money to have solved?

<comment><USER45> You'd be surprised how often people can't express the problem and can't find the proper software solution.

A lot of manpower in most organizations is wasted because they can't find a contractor who will listen to their problems and actually try to fix them.

<comment><USER44> Oh I'm not surprised at all. I'm guilty of this at my job as is everyone else where we work. What is our problem, what is our customers problem is always a hard question.

One of my big goals right now is to figure out how to extract problems out of customers in a useful way. (I seem to be heading more and more to product manager/product owner skill set).

</comment></comment></comment></comment></comment><comment><USER46> Felt this. I had a C64 which came with BASIC. It was a struggle to get it to do what I wanted. Years later, I realized I was trying to things like write functions which you just couldn't do. Gave up.

Years and years later I had a AMD K6 233, had opted to try Red Hat Linux because Win95 was awful and was obsessed with playing Quake which I knew was written in C. So, I tried to learn C. Several times. I never got to the "click" point.

John Carmack, as I remember it, said to learn programming, do nothing else for 6 months. Eventually, years later, I did take that advice. It worked. I remember vividly when I finally grasped pointers. I wrote and expanded a dice roller to gloriously stupid proportions; it was threaded, had a very easy to use and flexible configuration file format and I was working on adding networking when the hard drive died. No backups. Yay.

And a new problem appeared: I wasn't a rank amateur anymore, but for the life of me I couldn't think of any program I wanted to write. So the skills lapsed.

Then I would have too many ideas and interests which resulted in the same conclusion, but would have to relearn first. I'd also be pulled in so many directions (robots! comic book timeline! starship emulator! UNIX shell idea, but in Klingon!), the result was the same: I'd accomplish nothing, despairing of ever doing anything.

So, I remain a perpetual amateur.

</comment><comment><USER47> I started programming when I was a wee lad, and never stopped. Speaking as one of those insufferable "whiz kids" of the 80s, I say this: any path to discovering the wonders and joys of this technology is equally good. If you aren't a programmer, no matter what your age or background, now is a great time to start.

</comment><comment><USER48> Yeah so first off - great! It's a super rewarding skill to have and I'm grateful to be a programmer myself.

Turning that skill into your profession is going to be tough. I say this because I've been programming professional for 20 years or so and I'm currently interviewing. The process of getting a coding job has gotten extremely hard and demanding. 5-8 years back it was solely based on the interview; if you knew your stuff and could talk-the-talk, they'd generally take a chance you could walk-the-walk.

Now, it's gotten extremely unreasonable. Mostly in the 'code-challenges' being asked. I recently was given an challenge and after they gave me a small overview of it, I asked roughly what the time-box should be to get a feel for what they thought the effort take. The hiring manager said to me 'it shouldn't take more than 8 hours'. I was shocked. I've been given many coding challenges, they generally fall into the 2 hours or less category. 8 hours is a serious time commitment. I ended up passing because if this is what they find reasonable during the interview I can't imagine what kind of demands they'd place on me day-in-day out.

That's just one recent example. Before that I was asked to write a simple todo list, and given a time box of 2 days. In that case I chose to do it because I knew I could do something like that in way less than 2 days. I ended up using the full 2 days just sprucing up the UX. I ended up not getting an offer from that company because I bombed the 2 hour group interview which I knew would happen; our family pet had been suddenly ill and in the ICU for 4 days straight and my wife and I had maybe 8 hours of sleep over the previous 5 days. Of course I tried to reschedule but the technical recruiter was adamant this last interview was just a formality, they loved my star-wars themed todo list (Jedi-Do, it's on my github: [https://github.com/LowRezSkyline/Jedi_Do](https://github.com/LowRezSkyline/Jedi_Do)) and an offer was pending.

So it's one thing to learn programming and quite another to get through the crazy gate-keeping happening these days and land an actual job. Maybe it's easier for entry level programming positions, I have no idea.

Best of luck either way!

<comment><USER39> It's still reasonable in the enterprise world. There is a life outside of Silicon Valley.

I like a lot of other enterprise devs know if I studied for a few weeks for the interviews I could get a foothold into that universe, but it's just... meh. Not worth it. I like my life.

<comment><USER48> Yeah this is Denver where historically this kind of stuff never happened until recently.

It's also possible because of covid employers are being more careful/suspicious in their hiring process?

Having interviewed and hired countless programmers in past jobs I don't see the value in these kinds of exercises.

</comment></comment></comment><comment><USER49> On the same boat too. My first language was QBasic on a 286 on 90's.. I studied CS when was 18 but life put me on another direction and I worked on entertainment (music events) for 10 years until a crisis on my 30's. After that, I tried to be a designer but when doing my portfolio online I felt more pleasure coding my site than doing the works itself. Now I'm actively coding for the last 6/7 years and doing another graduation (IT Management).

</comment><comment><USER50> I would focus on one field and go deeper, be it c,c++,python,javascript...I have been programming for many years, looking back, lots of time spending on learning many different things at different times, which is bad actually. If I can do it again, I will focus more on one or two areas and excel there.

A neurosurgeon or heart doctor earns way more than a family doctor, the former is specialist and the latter is knowing-it-all-but-nothing-in-particular.

</comment><comment><USER51> Here I am, 30 years old learning to program for the first time. Specifically, the R and Python languages. I love it, but can't help and think how I would have got on it much earlier in my life if it wasn't for an alcoholic household and the abundance of veiled criticisms I received from my family for trying to use computing as an escape from the toxicity. Never too late!

</comment><comment><USER52> Remember driving home from work one day (SA when Linux was first making a noise in the Novell world) and wanting nothing more grand than to learn to properly code in (gnu) awk and expect (tcl). After 23 years I don't even enjoy coding anymore. It's about getting the task out of the inbox and into the outbox.

</comment><comment><USER53> Sigh.

Every new blog posts of someone finding joy in Rust makes me think there's something wrong with me.

I started with Ruby, then migrated to JavaScript, then was introduced to the joy of static types, first with Flow, then with TypeScript — and now I'm stuck. Dynamically typed languages, including Ruby, Python, or PHP, terrify me; I can't understand people singing praises to Python. OCaml looks ... ugly. Rust looks both ugly and weird. Haskell is luringly beautiful, but at the same time hard and elusive as a unicorn.

While Typescript is so nice and warm and cozy...

<comment><USER39> No, nothing wrong with you. People are just interested in different things.

I love posts that geek out over low level memory stuff, but I literally avoided learning ANY Javascript framework until _this year_ , to the detriment of many former interviews.

Neither is better. The most important thing you can do is expose yourself to a lot of different influences and then just drill down into what you're interested in, without having to justify it or apologize for it.

It's amazing where following your real interests will lead you, and the world that it will reveal to you. If you instead try to force-feed yourself, you won't learn much, because you won't stick to it.

</comment></comment><comment><USER54> Great story! I've always programmed, but went through the same nonsense in Calgary as you!

</comment><comment><USER55> I'm having a difficult time believing that someone picked up coding and is proficient in doing so at 40 years old unless they had prior experience in something that was similar. It takes years to become proficient in coding to the point where you don't utilize massive amounts of executive function (which we have a finite amount of in any given day). In addition the act of reading and writing code does a ton of damage to the Wernicke and Brocas area. Over time it can cause damage to the ventral what pathway to the point of complete speech impediment, memory loss and even Alzheimers.

Always be extremely skeptical of anyone learning to code in their 40s, they can do it for short stretches but it is probably not a good idea to pick up coding for the first time in your 40s since the probability of doing damage to your brain is going to be relatively high.

[https://en.wikipedia.org/wiki/Broca%27s_area](https://en.wikipedia.org/wiki/Broca%27s_area)

[https://en.wikipedia.org/wiki/Wernicke%27s_area](https://en.wikipedia.org/wiki/Wernicke%27s_area)

<comment><USER56> I started programming at 39 1/2\. (well except for a year or two of BASIC when I was a teen).

I've been doing it professionally for 9 years now and I turn 50 next spring. No brain damage noted yet.

<comment><USER57> > No brain damage noted yet

I'm assuming you haven't dabbled in the modern JS ecosystem then.</comment></comment></comment>


Google Compute Engine vs. Amazon EC2: Video Transcoding - <AUTHOR> http://blog.zencoder.com/2012/07/23/first-look-at-google-compute-engine-for-video-transcoding/

<comment><USER2> How could transfers from Google to Amazon be so much faster than from Google to Google?

<comment><USER3> I'm the TL for Google Compute Engine.

This isn't the performance we expect here and we will be looking in to see what is going on.

<comment><USER4> How do people get beta access? I'd love to look at moving workloads over to GCE.

<comment><USER3> Sign up and let us know what you are looking to do. We are trickling out invites but being careful that we can deliver a great experience (support wise and otherwise) to everyone.

<comment><USER5> A google product with a great support experience? This I gotta see.

<comment><USER6> Like most things in life, you get better support when you pay for it.

<comment><USER4> Honestly I've always gotten good support for Google products, either from friends at Google or through forums, since they are popular enough to have lots of users. Of course, I remember when Google was basically the only hiring destination for top people in the valley (2001-2004 or so), and I only narrowly avoided going to google myself.

I suspect they will do a decent job of supporting GCE, either through a premium offering themselves, or through third party developers -- same thing AWS has done. I had some meetings with AWS application/security platform consultants recently, and they do a really good job of it, you just have to pay for it.

This isn't a good argument for consumer products (if a random grandmother gets locked out of her gmail, and doesn't know anyone, she may be doomed), but I suspect any developer building products on GCE either knows someone or can pay for support, or can bitch in a high visibility forum and get help from third parties or by Google.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is nice, simple experiment design. However, I'm really surprised they only ran this once - or indicate trial counts and indicate range/distribution. I'd be curious if video transcoding is so consistent that a single measurement is enough to draw a conclusion; certainly network/storage transfer is not. Sure, time and bandwidth are not free...

<comment><USER8> Hi DMV - we ran the transcoding tests a few times, but transcoding performance is pretty steady across multiple runs (here and elsewhere).

Network obviously isn't; the numbers here include about a dozen test runs. We should make that more clear. Even a dozen isn't enough to be a scientific test, so hopefully we (or someone else) will do more benchmarking in the future.

</comment></comment><comment><USER9> Google cache: [http://webcache.googleusercontent.com/search?q=cache:http://...](http://webcache.googleusercontent.com/search?q=cache:http://blog.zencoder.com/2012/07/23/first- look-at-google-compute-engine-for-video-transcoding/&hl=en&prmd=imvns&strip=1)

<comment><AUTHOR> The actual page should be performing better now.

</comment></comment><comment><USER10> The comparison on cost is again on the EC2 on-demand pricing. Reserved pricing or spot pricing would cut that down substantially.

</comment><comment><USER11> Does 8 cores mean 8 cores or 4 cores/8 threads? The documentation is confusing.

<comment><USER3> I'd love to make our docs more clear on this. If you have a pointer to what is confusing we'll fix it up.

To be clear, for every machine type, we are offering a HT per virtual CPU. So that means that an n1-standard-8 instance gets 4 physical cores and 8 hyperthreads. (We are also offering 3.75GB of RAM and ~440G of ephemeral disk per vCPU).

<comment><USER11> I assume GCE is based on a space-shared design (1:1 pinned vCPUs); if that's not correct then this becomes harder. On [https://developers.google.com/compute/docs/instances#overvie...](https://developers.google.com/compute/docs/instances#overview) I see the term "Virtual Cores", but I don't want to hear about virtual cores. I want to know how many physical cores are backing the VM. (I don't find the term "logical core" further down the page helpful either.)

So I would say:

n1-standard-1: 1/2 physical core

n1-standard-2: 1 physical core

...

n1-standard-8: 4 physical cores

</comment></comment></comment><comment><USER12> bah, measurements without standard deviations are next to useless...

</comment><comment><USER13> Its not a fair comparison, but shouldn't they also be trying/using EC2 GPU instances? I would think a large transcoding service such as zencoder has at least looked into it at some point

<comment><USER14> Much of the SFX film industry is not using GPUs, at least not for final renders because differences floating point precision.

<comment><USER9> Floating point precision isn't the problem - when your output is 8 or 10 bit resolution, floating point differences aren't a big deal.

The biggest blocking factor is amount of code that needs to be ported to make it work. High end SFX companies spend virtually all their man hours implementing new stuff. They don't have the time to go back and reimplement everything, and their customers aren't so cost sensitive that they demand it.

<comment><USER14> Well, I know of at least one very large SFX shop that skipped GPUs for now because the results were not consistent with results from the host CPUs. But you're correct, man-hours to rewrite are more expensive than the CPU time in that application.</comment></comment></comment></comment>


Ask HN: Goal Setting Software - <AUTHOR>

Hey people,
Does anyone know of any good web based software out there that allows me to keep track of goals and the stuff I need to do to make them?
I used to use todo lists, but they're not quite what I'm looking for. I want something more along the lines of a roadmap, kind of what Trac has if anyone has used that...
Cheers
kev_the_dev <comment><USER2> If you're on a Mac, you could try OmniFocus. It's a pretty decent implementation of Getting Things Done (the core of which is what you're describing). I've been using it since it was in beta and I'm really happy with it.

It lets you make folders, projects, and actions. Actions can have start/end dates, repetitions, and contexts. The idea of contexts is that you should be able to see what actions are available to you at any time in any place. Actions can have sub-actions and you can specify whether the sub-actions have to be done in sequence or can be done concurrently. You can also set up a global quick-entry hotkey which will let you enter an action and have it placed in your Inbox so you can organize it later.

There's also an iphone app, but I haven't found it teribly useful. OmniFocus has the ability to grab tasks from Mail.app in a special (user-defined) format and I found that works as well for adding new tasks as anything.

The downside is that it's $80. I got it for $40 when it was in beta, and I think it's a much harder sell at $80. If you aren't interested in this, or aren't on a mac, just google "getting things done" or "GTD"

</comment><comment><USER3> How about Tracks? <http://getontracks.org/>

It's also based on the GTD philosophy, it's very easy to use and has some nice features. You can find an online version here, try the demo first to see if you like it: <https://tracks.tra.in>

</comment><comment><USER4> If you're on a Mac, get Things.

<http://culturedcode.com/things/>

Beautiful software, incredibly easy. I can't deal with get-things-done software, but if I had to use a program, this would be the one I used.

</comment><comment><AUTHOR> Just to further clarify what I want, I like to break tasks down so that I'm constantly working on the "Next possible logical step" no matter how small.

Most of the time I just write them in a list in a text editor, but then i get to the point where i need to clear out my scratchpad - thus losing track of my progress.

Obviously seeing my progress in a chart/graph is not necessary to get stuff done but it might help with motivation :)

<comment><USER5> In order to break down tasks into next smallest steps Chandler might come in handy. <http://chandlerproject.org/>

No matter what your collections will just keep growing (if you do not delete items but rather mark them _DONE_ ) so that could be a little demotivating.

</comment></comment><comment><USER6> It's not a web app, but I highly recommend OmniFocus for mac and iphone. The desktop app and iphone app can sync with each other, which is nice. I use it all the time, and it's great for doing brain dumps, then organizing projects and todos.

</comment><comment><USER7> I use GTD tiddly wiki. And I wrote about it on my blog <http://chanux.wordpress.com/category/computinglife/>

</comment><comment><USER8> Saw this - <http://www.joesgoals.com/>. I have not used it before. Why not try it out and let us know?

</comment><comment><USER9> If you're an Emacs user, I suggest the Org Mode package.

</comment><comment><USER10> I've been experimenting with gmail and tags but it's not much better than just using a spreadsheet at the moment.

<comment><AUTHOR> yeah, i haven't tried that myself, but I don't think it would improve my current situation that much...</comment></comment>


Peer Acquired by Twitter - <AUTHOR> https://www.peer.com/ <comment><USER2> What is Peer? Their site is empty. DuckDuckGo says: "Peer is the first feedback app that leverages the power of the work calendar to prompt for feedback right when it's fresh.", which doesn't mean nothing to me.

</comment><comment><USER3> Haven't heard of peer before. Amazing that they own peer.com!</comment>


Amazon Prime could face investigation over delivery complaints - <AUTHOR> https://www.theguardian.com/technology/2017/dec/17/amazon-prime-investigation-delivery-complaints <comment><USER2> This is purely anecdotal but lately I've been getting more and more delivered via Amazon's own carrier service. 100% of the time it is late. Some things have completely disappeared and never left the SF carrier facility. It's made me not order from Amazon a handful of times this past week out of being burned on a consistent basis.

It seems very un-Amazon of them. They clearly have the metrics to track this so I'm shocked they aren't diverting or doing something to fix the problem, whether that's incentivizing slower shipping or using other carriers (I realize the carrier deals they have are very complex and affect a whole load of other data points).

It's just odd to me that consistently the Amazon delivery service is what is being used and that it's consistently bad/delayed/etc.</comment>


On the Social Deficits of Current Mobile Device Design - <AUTHOR> http://whoisstan.tumblr.com/post/21753719270/on-the-social-deficits-of-current-mobile-device-design

<comment><USER2> This made me chuckle. I can picture it - the looking around trying to find something to grab onto as a conversation starter.

It's funny because to one personality type this is a negative impact and to others it is positive. Me - I'm thrilled that my generic device does something to help me from being approached by strangers.

And as a general tip - looking at the screen only makes you creepy it doesn't help - because you can't decide for someone else if what they are doing is interruption worthy. I know a guy in my office who does that and it makes me want to punch him in the face. ("Oh - you're on HN! Good, then it's not a problem if I interrupt you right now.")

<comment><AUTHOR> _chuckle_ is a good thing:)

Having a breadth of designs between generic and super special will relax the scene a bit, I am kind of freaked about our enforced gadget conformity. Lets get a little freaky!</comment></comment>


Spot the Fake – App Store Counterfeits  - <AUTHOR> http://pixiteapps.com/blog/spot-fake/

<comment><USER2> It really bothers me that this happens and a harder stance isn't taken. The poor end users who are duped into buying something sub-par, the poor developers who put time and effort into their app only to lose a customer to the fake.

Considering the App store is actually TERRIBLE to search, I can see why it is so easy to confuse people.

Honestly, I would love it if Apple actually sued those dodgy app developers for all the money they collected - and then some.

<comment><USER3> The App store isn't merely TERRIBLE to search, it's far, far worse than that. Someone at Apple should be embarrassed. Actually, someone at Apple should be shot for that abomination, but, alas, that sort of punishment is generally frowned upon in today's world.

But I don't think it's possible for Apple to sue dodgy app developers. I think (correct me if I'm wrong) that it only costs $100 to become a developer. So it's probably relatively easy for a scammer to create a fictitious entity. And even if it's not fictitious, can you realistically see Apple succeeding in a lawsuit against someone located in Russia or Ukraine?

I'm frankly surprised that there aren't more rip-off or malicious apps in the app store.</comment></comment>


Ask HN: What is your least favorite mainstream programming language, and why? - <AUTHOR> <comment><USER2> Perl5 because sigils become non-grammatical in complex expressions.</comment>


Bathroom hand dryers may leave your hands dirtier than before - <AUTHOR> https://www.msn.com/en-us/health/medical/bathroom-hand-dryers-may-leave-your-hands-dirtier-than-before-gross-new-study-says/ar-AAvPtOr?OCID=ansmsnnews11&ffid=gz <comment><USER2> At this point we should soon see recommendations to insert our hands in sterilized Ziploc bags after having washed them.

I fail to see why so much concern is directed toward this instead of door- knobs, workplace keyboards, payment PIN entry pads, etc.</comment>


Show HN: Staffjoy Boss – Automated Employee Scheduling - <AUTHOR> https://www.staffjoy.com/boss/ <comment><AUTHOR> Hello - Andrew Hess and I are the founders of Staffjoy. We went through the first YC Fellowship class, where we launched automated contractor scheduling.

Today we are excited to launch Staffjoy Boss, our automated application for employee scheduling. At the core, we have rewritten how scheduling works so that we schedule workers when they prefer to work. We have also added features like time off requests, clock-in/clock-out, and employment law compliance we make it easy to have Staffjoy run a business of hourly workers.

On the technical side, we've rewritten our algorithms to search beyond optimal staffing levels for canonical optimal solutions that make employees happy. So, if one person prefers morning and the other prefers afternoon, from an optimality perspective it doesn't matter who gets assigned to which shift - but we'll try to put workers in their preferred time slot so that they are happier and more productive.

Finally, today we are also announcing our first round of funding today with participation from Semil Shah, Ray Tonsing, David Ulevitch, and others. More details are available at [https://blog.staffjoy.com](https://blog.staffjoy.com)

<comment><USER2> Super cool. In grad school I developed a system to schedule TAs for a new student counselor. I used simulated annealing because it was related to something I had just learned in class, and because it wasn't heuristic.

It's an interesting problem because there are so many ways to define optimality. Does it mean working with the same manager? Working at the same facility? Minimizing travel between facilities? Number of shift in a week? etc. The problem can be extended with reinforcement learning with employee feedback. If there are manager preferences as well, there is a two-player problem with two perhaps competing interests.

I would love to work on this problem with high school scheduling for building both a master schedule and individual student schedules. No clue where I would get data though.

It's a very cool problem.

<comment><AUTHOR> I agree! We did an interview focused more on the pure mathematics side here:

[http://www.aistartups.org/2016/02/interview-with-philip- thom...](http://www.aistartups.org/2016/02/interview-with-philip-thomas- ceofounder.html?m=1)

Class scheduling for schools is a huge issue but selling to schools is a nightmare. That means that turning it into a business would be really hard.

<comment><USER2> Yeah anything with schools is a nightmare. It would be more of a project than a product for me because Zangle and MMS already have the market completely saturated, at least in California.

</comment></comment></comment></comment><comment><USER3> I have a number of friends who work in the restaurant industry including some very close friends who are opening a restaurant and their families have numerous restaurants throughout the Bay Area. I'm quite familiar with this pain point. Some questions:

1\. Who are you targeting this to - small businesses or large managed groups?

2\. How will you compete with time trackers as they get integrated with POS? Does yours integrate?

3\. How are you going to handle training? In my experience, people in the restaurant business do not know technology and any type of software requires extensive training.

4\. Do shift managers find value over using their own existing methods?

The pricing seems ok but it's a tough market. Small businesses with hourly workers do not have a ton of money, while larger groups already have solutions in place. Just my 2 cents.

<comment><AUTHOR> Restaurants are an interesting vertical because their technology is largely horizontally-integrated and heavily reliant on the POS system. We're currently working with courier companies and call centers primarily, and looking to move into retail, hospitality, and eventually medicine.

1\. Who are you targeting this to - small businesses or large managed groups?

Our target customers are in the range of 50 to 150 employees per location, and we support multiple locations (e.g. a chain). We've worked with teams as small as 8 and as large as 400.

2\. How will you compete with time trackers as they get integrated with POS? Does yours integrate?

The main benefit of time trackers in Staffjoy is that we can compare them to scheduled shifts. Detecting problems (missed shifts, truancy, clocking in without a shift) becomes significantly more powerful, and over time we can begin to model the performance of workers.

We support integrations and are amid publishing our first. At least one app is looking to trigger clock-in/clock-out events from their courier app to our API using this. We have an open-source Python client for our API and will be publishing better API resources in the coming weeks. [https://github.com/staffjoy/client_python](https://github.com/staffjoy/client_python)

3\. How are you going to handle training? In my experience, people in the restaurant business do not know technology and any type of software requires extensive training.

We're onboarding in new verticals very manually right now to learn the best way and develop more scalable training.

4\. Do shift managers find value over using their own existing methods?

Yes, because we automate a lot of decisions. The software shines when a new shift needs to be covered - e.g. somebody calls in sick - and the manager can find a replacement without having to recalculate a variety of overtime scenarios.

<comment><USER3> Cool. Happy to see you're focused on other verticals that would be willing to pay. I see it every day with my friends. Manager sends out PDF of schedule, giant white board in back office, calls to manager on day of shift to reschedule. Manual optimization to cover the over / under problems. Plus the laws. As an engineer I was screaming but never could figure out how to make the business a good sell over their entrenched ways and existing ways of tracking.

<comment><AUTHOR> Exactly. There are a lot of problems worth solving in the space - like shift swapping, communication tools, etc - but what we found is that distribution/adoption becomes the largest issue, so to solve issues like PDF schedules it is better to target the core inefficiency of how scheduling works.

</comment></comment></comment></comment><comment><USER4> Awesome, congrats. Is there a hybrid option between boss and the normal ataffjoy?

Secondly, how would this work for an events based company that may have 8 events throughout the world during a given time period?

<comment><AUTHOR> Flex is our product for contractors - where workers claim shifts.

Boss is our product for employees -where workers are assigned shifts.

They're very similar products, but we can't tell contractors when to work - they pick - and we don't have compliance built in for contractors (mainly because they pick when they work).

For the events company - we have timezone support for each location. As you start to add locations with different timezones, Staffjoy begins to show more localization information to aid in scheduling.

<comment><USER5> We have been looking for a solution. Can you talk more about compliance?

<comment><AUTHOR> Sure. For each role, you can set how many hours a person works in a workday (e.g. California limits 8 hours before overtime), and how many consecutive days they may work (e.g. California limits to 6 consecutive workdays in a workweek before overtime - we technically go beyond this and limit to 6 consecutive days independent of the window). For a worker, you may set how many hours per workweek they may work (e.g. 30-40 hours).

We define a workday as midnight to midnight, and you control the workweek start day when you create the trial.

Other nice-to-have features include that we try to give consecutive days off (like a weekend) when possible and we allow you to control the minimum amount of time between shifts to prevent "clopens" (e.g. when a worker closes at midnight then gets assigned the opening shift at 7am).

If you have more detailed questions, I'm happy to answer them via email too (philip at staffjoy)

<comment><USER5> Thanks Philip, rying to set up workers to roles, but kept on getting an error

<comment><USER6> Hi Ray, Thank you for reporting this. A fix is on its way out and should be live shortly.

</comment></comment></comment></comment></comment></comment><comment><USER7> Wouldn't consider this a "show hn". There's no code, demo or even screenshots I could see.

<comment><AUTHOR> You can set up a free trial (no credit card required) to get a sandbox where you can interact with the application!

<comment><USER8> Some sort of demo would be nice, Im not going to sign up for something when I have no idea what it is (beyond a text description).

<comment><AUTHOR> There's an 80-second overview on our Youtube:

[https://www.youtube.com/watch?v=9I_StYG_cI4](https://www.youtube.com/watch?v=9I_StYG_cI4)

</comment></comment></comment></comment><comment><USER9> I couldn't find the pricing page. It is nice that you offer a 14-day free trial, but, wouldn't a potential user want to know how much it would cost beyond that?

<comment><AUTHOR> Pricing is on the homepage -apologies for not copying to our Boss overview:

[https://www.staffjoy.com](https://www.staffjoy.com)

<comment><USER9> Got it. Thanks.

</comment></comment></comment><comment><USER10> How does it handle sick days? If I say I'm going to be sick tomorrow does it reschedule the entire next day or is that a manual process?

<comment><AUTHOR> For time off handling:

1) If you haven't been scheduled yet - a sick day or approved time off request blocks you from being scheduled

2) If you have been scheduled - Staffjoy removes you from the shift, and other workers can claim it. (When showing available shifts to workers, we maintain compliance so that only workers eligible to take the shift can do so).

<comment><USER11> I think the more pressing question that was implied by "sick days" is what happens if nobody claims the shift before the shift starts? Sick days are often unplanned and have much less notice, so other employees may have no idea that a shift is available or it might be to short of notice for any other employee to cover it. How do (presumably) manual overrides happen in this scenario?

<comment><AUTHOR> Right now workers can claim available shifts, and managers can assign them manually (including viewing whether an assignment may trigger overtime). More advanced shift swapping workflows will be published in the coming months too!

</comment></comment></comment></comment><comment><USER12> Congrats on the launch and the several weeks of iteration.

<comment><AUTHOR> Thank you!

</comment></comment><comment><USER13> s/Staffoy/Staffjoy/

<comment><USER14> Thanks, fixed.</comment></comment>


Venture Capital's New Normal - <AUTHOR> http://venturegeneratedcontent.com/2011/01/18/venture-capitals-new-normal/

<comment><USER2> "The reality is that there remains too much investment capital in pursuit of funding the handful of companies started each year that will generate outsized returns for limited partners.... For now, this new normal seems to be limited to the private investing market, not the public market, suggesting that this is not a bubble like the one experienced a decade ago."

The second sentence seems a stretch.</comment>


Jared Polis: Vote Democrat for Real Libertarian Values - <AUTHOR> http://reason.com/archives/2014/10/30/vote-democrat-for-real-libertarian-value

<comment><USER2> Democrats tend to be better on social issues and no worse on most other things.

Republicans make hay out of being for economic freedom, low taxes, etc., but history shows they don't really mean it. Spending increased dramatically under the last republican majority, and real taxation equals spending.

The only exception to the rule is sometimes found at the local level, where democrats in some regions have a history of being anti development which means real estate hyperinflation and pricing out the poor.

The rest of the issues, both parties tend to be equally awful.</comment>


Rolling Stone meets Steve Jobs: "I don't want to talk about Apple" (1994) - <AUTHOR> http://www.rollingstone.com/news/story/31896381/from_the_archives_a_revealing_interview_with_steve_jobs/print

<comment><USER2> If you think about it he is responsible for the first gen modern PC interface and it looks like he's going to be responsible for the second gen with the iPad on the horizon.

HyperCard is also considered by some to have been a precursor to the web..

I can't think of one other figure in the last 25 years that has shaped the industry this much in terms of innovation.

<comment><USER3> Tim Berners-Lee

<comment><USER2> Definitely up there. No doubt.

Interesting side note: _This NeXT Computer was used by Berners-Lee at CERN and became the world's first Web server._ from Wikipedia.

</comment></comment></comment><comment><USER4> Very interesting, particularly the parts where the goals he describes wander off from where Apple is today. For instance...

 _The Internet is nothing new. It has been happening for 10 years. Finally, now, the wave is cresting on the general computer user. And I love it. I think the den is far more interesting than the living room. Putting the Internet into people's houses is going to be really what the information superhighway is all about, not digital convergence in the set-top box. All that's going to do is put the video rental stores out of business and save me a trip to rent my movie. I'm not very excited about that. I'm not excited about home shopping. I'm very excited about having the Internet in my den._

...whereas these days "home shopping" for media is obviously a huge source of revenue for Apple.

<comment><USER5> It's interesting that in 1994, Steve Jobs considered it a foregone conclusion that video rental stores would get killed by the internet. He says it so blithely that it seems like it was conventional wisdom.

The interesting part is that a) Netflix wasn't founded until three years later, and b) it's only now that we're starting to get good products for renting movies via the internet.

<comment><USER6> He doesn't say that he _knows_ that the video rental stores are going out of business. He says about 'digital convergence in the set-top box', that "All that's going to do is put the video rental stores out of business and save me a trip to rent my movie." It's not hard to see that hooking the Internet up to a television saves will allow you to have video delivered to your television over the Internet. You'll notice that he's poo-pooing the digital set-top box in that quote, not praising it.

<comment><USER7> And yet we have AppleTV. :)

I think it was mostly posturing.

</comment></comment></comment></comment><comment><USER8> _Writing a new spreadsheet or word-processing program these days is a tedious process, like building a skyscraper out of toothpicks. Object-oriented programming will change that. (...) Because these objects will work with a wide range of interfaces and applications, they will also eliminate many of the compatibility problems that plague traditional software._

That object oriented programming thingy looks really cool! I've heard someone is writing a C with classes to do that. Once this is released, I'm confident bugs will be gone forever.

</comment><comment><USER9> Q: "You've called Microsoft the IBM of the '90s. What exactly do you mean by that?" A: "They're the mainstream. And a lot of people who don't want to think about it too much are just going to buy their product. "

I wonder if that makes Apple the Microsoft of the 2010's.

</comment><comment><USER10> _With our technology, with objects, literally three people in a garage can blow away what 200 people at Microsoft can do. Literally can blow it away._

and later:

 _I feel the same way about objects, with every bone in my body. All software will be written using this object technology someday. No question about it. You can argue about how many years it's going to take, you can argue who the winners and losers are going to be in terms of the companies in this industry, but I don't think a rational person can argue that all software will not be built this way._

How much of this has actually been realized? Certainly OO programming is the dominant model, but a lot of popular languages were created around the same time as this interview, and languages tend to reflect "best practices" from whenever they were first designed. Is OO popular just because it's popular, or because it's genuinely the superior approach?

And, as a bonus question, how much does that still hold now that concurrency is a major concern?

<comment><USER11> Who would've thought of multi-core CPU's at that time?

<comment><USER10> I'm not saying they were dumb for thinking OOP was a great leap forward at the time, I'm just wondering how correct they were in retrospect. OOP is ubiquitous enough that it's hard to find a baseline for comparison.

</comment></comment></comment><comment><USER12> I really like how we understand where his mindset was at that time. Toy Story wasn't released until 1995, so overall he was literally at a crossroads in his life, with a glorious past and a somewhat unknown future.

</comment><comment><USER13> "What's your personal relationship with Bill Gates like? _I think Bill Gates is a good guy. We're not best friends, but we talk maybe once a month_ "

Wow, thats interesting, I had no idea.

</comment><comment><USER14> He has been so spot on right about so many things it's amazing!

<comment><USER15> Stating this stuff in 1994, in the peak of cyber-hype, was not terribly prescient.

Steward Brand travelling to Xerox PARC in 1973, seeing what all those crazy ARPANET guys were up to, and stating "So much for record stores as we know them" -- _that_ was prescient.

</comment></comment><comment><USER16> His last remark is certainly poignant: "After that ... who knows? Maybe there's another locked door behind this door, too; I don't know. But someone else is going to have to figure out how to unlock that one."

Yeah, Steve. Someone else is going to have to figure out how to jailbr- er, "unlock" it.</comment>


Google faces scrutiny from Congress, DOJ over plans to encrypt DNS - <AUTHOR> https://www.engadget.com/2019/09/29/congress-doj-scrutinze-google-encrypted-dns/ <comment><USER2> Clearly better for users and worse for ISPs.</comment>


Ask HN: What do you use for diagramming? - <AUTHOR> Back in ye olde times everyone used Visio, which became Microsoft Visio.  Presumably the world has changed since then.<p>What do you now use for diagramming of things like networks or application architecture? <comment><USER2> Another vote for [https://www.draw.io/](https://www.draw.io/) but yED [https://www.yworks.com/products/yed](https://www.yworks.com/products/yed) is also very good.

</comment><comment><USER3> For work, lucidchart, which seems to be pretty standard for startups.

For personal stuff, I actually really like [https://sketchboard.me](https://sketchboard.me) and its hand-drawn style.

</comment><comment><USER4> I like lucidchart.

[https://www.lucidchart.com/](https://www.lucidchart.com/)

</comment><comment><USER5> i really like [https://online.visual-paradigm.com/](https://online.visual- paradigm.com/)

</comment><comment><USER6> How about Paper/pencil?

</comment><comment><USER7> draw.io

</comment><comment><USER8> Try Mermaid-cli

</comment><comment><USER9> Lucidchart</comment>


Why the N.Y.P.D. Dropped One of Its Oldest Crime-Fighting Tools - <AUTHOR> https://www.nytimes.com/2020/02/05/nyregion/nypd-memo-book.html <comment><USER2> Well! If i were a crime syndicate i would be putting alot if effort into cracking into THAT database!</comment>


How Do Plastic Bags Get into the Ocean? - <AUTHOR> http://news.discovery.com/earth/oceans/how-does-your-plastic-bag-get-into-the-ocean-151102.htm <comment><USER2> Where I live (coastal UK) the answer is quite simply that people throw them in. Yes really. More discard them in the street, where the wind does the rest. No evidence so far that the 5p mandatory charge is changing this behaviour. So yeah, I can believe that some large portion comes from coastal litter.

Someone's sure to pop along and mention commons, but a large proportion of people who my partner or I have questioned or upbraided about their litter habits seem to genuinely believe they're keeping someone in a job, which makes it more of a broken window fallacy.

Everyone should read Bastiat [0]

[0] [http://bastiat.org/en/twisatwins.html#broken_window](http://bastiat.org/en/twisatwins.html#broken_window)

<comment><USER3> In Iceland some folks find it more convenient to dump their old furniture into the sea: [http://grapevine.is/news/2015/11/01/caught-on-film- throwing-...](http://grapevine.is/news/2015/11/01/caught-on-film-throwing- furniture-off-a-cliff/)

</comment></comment><comment><USER4> Most shocking - because unexpected - news to me is the plastic waste from the laundry. First time I read about that was only a few months ago.

It means, all our super high tech modern wear finally poisons our drinking water. And the most sporty young cool dressed guys are the worst polluters. One more reason to stay with natural fabrics.

Industry always tries to convince us that their high tech stuff is superior. Honestly, after buying a lot of it, I doubt that's true. All the artificial clothes smell quickly and they are not warm at all. I am switching back to cotton, wool, real leather shoes and (for the winter) down: This all feels great (but needs more attention and care).

<comment><USER5> Really? If you don't go outside much, those materials are great. But a lot of synthetic gear is worth it. Cotton is cold when wet. Wool is warm when wet but moths eat it. Down is worse than useless when wet.

<comment><USER4> "Cotton is cold when wet"

yes, I see that point. For mountain climbers this is bad. For runners, its ok. At least I only stop when I am done and then I take a shower. Even in winter I run with a cotton t-shirt under a cotton sweat shirt. That's fine down to -15 degrees centigrade.

<comment><USER6> _For runners, its ok. At least I only stop when I am done and then I take a shower._

Until you get hurt and have to walk home, shivering the whole way because you wore cotton. I avoid the stuff for running. Plus a wet cotton sweatshirt just sounds miserable.

<comment><USER4> "Until you get hurt and have to walk home,"

You make me laugh. I run since - 30 years? Once in this time I hurt myself, once my wife fell badly and we had to walk home in the cold. Despite of this, we are still alive and well.

Otoh, coming back with a plastic shirt, in summer or in winter, being dry but smelling like a wet cat, THIS is ugly!

<comment><USER6> _You make me laugh. I run since - 30 years? Once in this time I hurt myself, once my wife fell badly and we had to walk home in the cold. Despite of this, we are still alive and well._

Do what you like, but I wouldn't rely on "I was in a car accident once, wasn't wearing a seat belt, and I lived!" as a reason not to take precautions. If you want to argue longevity and anecdotes, I've run for 40 years and have _never_ walked home. I still don't wear cotton when it's cold or wet.

</comment></comment></comment></comment></comment></comment><comment><USER7> The article mentions Baltimore's efforts to remove trash from the inner harbor. Here's how they're doing it: [http://baltimorewaterfront.com/healthy- harbor/water-wheel/](http://baltimorewaterfront.com/healthy-harbor/water- wheel/)

Here's a pretty impressive photo if it in action: [https://twitter.com/MrTrashWheel](https://twitter.com/MrTrashWheel)

</comment><comment><USER8> I live right next to one of the widest parts of the Charles River (Waltham) and since I don't own a dog I often pick up litter during my walks along the river (this behavior was encouraged by my brother early in my life... I'm not really a super environmentalist).

The reason I mention the dog is I have seen people litter (usually throwing a cigarette, can, or candy wrapper) and than the next minute are picking up their dog's shit. Irony at its best.

</comment><comment><USER9> Liberated copy of paper mentioned in article: [http://www.iswa.org/fileadmin/user_upload/Calendar_2011_03_A...](http://www.iswa.org/fileadmin/user_upload/Calendar_2011_03_AMERICANA/Science-2015-Jambeck-768-71__2_.pdf)

</comment><comment><USER10> The article doesn't actually focus on bags. I suspect that wind is a major pathway.

<comment><USER11> Right, it focuses more on small particles, especially threads. It sounds like most of those come from washing machines! Ugh, how can you prevent that?

<comment><USER12> You could put a filter trap on the drain, but you'd have to empty it often. People uses these for sceptic systems etc..

</comment></comment></comment><comment><USER13> I wonder how much car tyre rubber ends up in the oceans.

<comment><USER14> About 10x more than appears in your clothes dryer. Srsly. That fluffy blue stuff? A lot of it is nano-tyre.

</comment></comment><comment><USER15> Like everything else - by the rivers?)

</comment><comment><USER16> humans?

<comment><USER17> No. We do not throw them at all. Seriously ;) ;) ;)</comment></comment>