Script-injected "async scripts" considered harmful - <AUTHOR> https://www.igvita.com/2015/05/20/script-injected-async-scripts-considered-harmful/

<comment><USER2> +1 for periodic re-examination of best practices.

<comment><USER3> The problem is to make them visible, specially to beginners.

<comment><USER4> I agree with this, I had no idea about the "good" practice in the first example. Is there any decent place that I can get truly up-to-date practices?

<comment><USER5> You might argue that the HTML 5 Boilerplate[1] is a good starting place for learning about best practices. The code & accompanying site contain a lot of comments that explain _why_ things are the way they are.

Problem is, of course, that the technologies used by a common page nowadays go far beyond the stuff present in H5B.

[1]: [http://html5boilerplate.com/](http://html5boilerplate.com/)

</comment></comment></comment></comment><comment><USER6> Very nice article indeed.

One commonly used variant I missed in the article and I'd be interested what it's positive/negative aspects are (if there are differences at all):

        <script>
            var script = document.createElement('script');
            script.src = "http://example.com/awesome-widget.js";
            script.async = true;
            document.getElementsByTagName('head')[0].appendChild(script);
        </script>

(Note the additional async param)

<comment><USER7> All browsers since FF 3.6 default inserted scripts to async=true

[http://mathiasbynens.be/notes/async-analytics- snippet](http://mathiasbynens.be/notes/async-analytics-snippet)

</comment></comment><comment><USER8> Thank for yet another gem of an article. As a mostly backend developer, I depend a lot on these types of posts to help me keep up with the current front-end best practices. Anything that is on igvita.com I pretty much absorb without questioning due to the consistently high quality (and correctness!) of the posts.

</comment><comment> mike-cardwell What if you stick this as the first thing in your body:

      <iframe src="/file.js" style="display:none">

And then at the very end of the body tag:

      <script src="/file.js"></script>

Wont that allow us to start a non-blocking fetch of the script early, but then execute it later? I assume it wont be fetched twice. Especially if you send future Expires headers.

<comment><USER9> Could affect rendering though, since the browser may treat the js as content to render. Probably should be benchmarked to make any conclusions.

<comment><USER10> In my experience, anything with display:none is not rendered by the browser and doesn't take up any real resources. I've used this trick with infinite side scrolling slide show type interfaces when I found that beyond about 20 elements, things started slowing to a crawl. Setting offscreen elements to display:none fixed it right up.

<comment><AUTHOR> "Doesn't take up any real resources" is anything but true. An iframe in particular is basically a new render process, which adds a lot of overhead. Just because you've set "display:none" on an element doesn't mean it's free.

</comment></comment></comment></comment><comment><USER11> What keeps browsers from running the scripts immediately and only blocking if/when the script actually does access the CSSOM? It seems like an easy latency win.

<comment><AUTHOR> In order to know that you need to execute it - therein is the problem. One idea we've been kicking around (on Chrome team) is to do "speculative execution" where we create a snapshot and start executing the script, and rollback if you start doing anything crazy with the CSSOM/DOM... As you can imagine, this requires some careful engineering and has its own (long) list of gotchas. No ETA, but definitely something that's on the table.

</comment></comment><comment><USER12> I like Dojo/AMD because when you specify dependencies, you implicitly give an execution order.

Now, that doesn't necessarily help for this kind of "top level" code, but wouldn't it be cool if you could say: "Load this <script> tag asynchronously, but only run it once the following other <script> tags finish"? (You can give <script> tags HTML IDs just like anything else, right?)

<comment><USER13> You can kind of do that-- the defer attribute of the script tag behaves similarly to async in that the scripts can be downloaded without blocking, but they are supposed execute in the order that they are included in the page (unlike async).

[http://stackoverflow.com/a/10731231/480033](http://stackoverflow.com/a/10731231/480033)

However, browser implementation isn't consistent so there's no guarantees really.

</comment></comment><comment><USER14> I don't understand why the browser treats the script injection case differently than the blocking script tag case, insofar as blocking on CSSOM is concerned. Why doesn't the browser download the script right away and then just hold up executing it while the CSSOM finishes? I can't think of why it waits to _download_ it.

<comment><AUTHOR> To clarify, both script-injected and regular <script> tags block on CSSOM: there is no difference there. Only the "async" attribute on script (i.e. <script async>) removes the dependency on CSSOM... which is why you should use it.

As for why the browser doesn't download the script-injected scripts: they're hidden inside of the inline script blocks. In order to figure out what you intend to do inside of that block, the browser would have to execute the JavaScript. The behavior that you want (download wait for CSSOM) is _exactly_ what you get when you use regular blocking tags - those are discovered by the preloader and requests are dispatched. That's what the first and second diagram in the blog post illustrate.

<comment><USER14> Oh I see. It's that it hasn't yet executed the injection itself. Not sure why I missed that, thanks.

</comment></comment></comment><comment><USER15> Very cool, thanks for revisiting the best practices of yesteryear!

Quick test in FF: seems it blocks either way, but at least schedules the fetch in the async=true case [http://i.imgur.com/AmNjhgz.png](http://i.imgur.com/AmNjhgz.png)

</comment><comment><USER16> I'm using LAB.js, which lets me declare dependencies between scripts, and then handles sequential or parallel retrieval and execution. Not sure how I could easily replace this as suggested in the article, unless I merge all js into one big file?

<comment><USER7> I'd assume LAB has this covered.

yepnope will load your script as an image away from the DOM so that it's already cached by your browser.

</comment></comment><comment><USER17> Do these page performance optimizations check out across the modern browsers? Chrome and Firefox tend to implement such things differently. Not sure about Safari, IE11, etc.

</comment><comment><USER18> Great stuff from Ilya as usual. But this tip is only important when you'd like Javascript execution to happen as fast as possible. The problem with async is that JS executes as soon as it is downloaded, and that may be before the page has fully loaded or the DOM has been built. For cases where your core content is in HTML and JS is only used for progressive enhancement, won't it be better to use defer?

Why isn't defer more popular?

<comment><AUTHOR> Unfortunately defer is broken in bunch of browsers - doesn't preserve order, etc. As a result, if you need to preserve order, you're better off with the async function queueing pattern.

Also, if you need to wait for DOM/CSSOM, then you can still use an async script and just install an event listener for DomContentLoaded / DomInteractive / etc., when it loads.

</comment></comment><comment><USER19> The underlying problem is the loading of the CSS is blocking (blocks DOM as well).

However, that problem is complex to workaround.

Using the async flag doesn't fix that problem, and the async flag also means that you need to make sure your scripts can run in any order (which will cause problems unless you are very careful e.g. use a loader that manages dependencies asynchronously).

</comment><comment><USER20> Another option is to inject the script:

A. At onDOMContentLoaded and B. Inside a setTimeout(func, 0) block

Then the browser's loading indicator will stop before the script has been loaded, executed and all its assets loaded.

Useful for social media widgets, etc.

</comment><comment><USER21> I'd say this post is mildly hypocritical. You're using two script-injected async scripts, one from Google Tag Manager and another from Disqus!

Which is to say: if it were _that_ harmful, then maybe you could try fixing them yourself and tell us how it goes? It would be great to provide some advice on how to convert a few popular script-injected async scripts from third parties (especially Google Analytics) into non-"harmful" ones.

</comment><comment><USER22> What's wrong with just putting the script tag before the closing body tag?

<comment><AUTHOR> If you put a blocking script at the bottom you're still stuck waiting for CSSOM. If you put a script-injected tag at the bottom you're also blocked on CSSOM and your script is not discoverable by the preloader. For more details , see the comparison table in the post.

<comment><USER22> I'm not talking about a script injected tag, just a normal tag which doesn't block CSSOM. If you put them right before the closing body tag you address both the CSSOM issue and the DOM blocking since the DOM has already been processed.

I understand that async also enables quicker execution of the script. What I don't understand however is why anyone would use script injection when you can just put the script tag at the bottom of the page to avoid DOM blocking.

What am I missing?

</comment></comment></comment><comment><USER23> Great - but what if I need to dynamically load some JS?

<comment><AUTHOR> Then you're "stuck" with a script loader. Make sure your script loader is itself not being blocked on CSSOM, and is not blocking DOM construction.

</comment></comment><comment><USER24> Does this mean requirejs being harmful?

<comment><USER25> Yes.

</comment></comment><comment><USER26> Meta, but if you're going to write an article named "X considered harmful", then X really has to be as least as harmful as GOTO's prevalence was in 1968. This article is about a little thing that's current between now and now+3y, and that doesn't really hurt anybody when done wrong. Coding a script tag the wrong way is not going to stop the software engineering industry from making fundamental improvements.

<comment><USER27> Agreed. The "X considered harmful" meme has really got to stop. There are a couple of articles/essays in which that expression really makes sense, but they are few and far between. This one is not one of them. The ones I've read that actually resonated with me have all been written by authorities within their field and regarding subjects of importance for software development as a whole, not niche subjects such as "CSS drop shadows considered harmful", etc.

(A well written article none the less!)

<comment><USER28> Especially since the original "X considered harmful" was not formulated by the author, Edsger Dijkstra. It was an editorial emphasis provided by none other than Nikalaus Wirth, who had the qualification of having written or having helped to write a long list of significant programming languages. Dijkstra's origin title was the much more humble "A Case Against the Goto Statement." Wirth's formulation provided a gravitas and finality that signalled a strong endorsement of the essay. The important takeaway lesson, in my mind, is that NOT EVEN EDSGER DIJKSTRA would have presented a paper with such a pretentious title. It was the judicious endorsement of a journal's CHIEF EDITOR. And it is quite literally, at this point, a pretentious title.

</comment></comment></comment><comment><USER29> considered by whom? Saying "it is my opinion that ..." of course wouldn't sound that important.

<comment><USER30> The "X considered harmful" construction has a long history in computer science, going back to Dijkstra's "Go To Statements Considered Harmful" paper. Wikipedia even has a page on it[1].

It can come off a little arrogant, but he's really just following tradition.

[1] - [https://en.wikipedia.org/wiki/Considered_harmful](https://en.wikipedia.org/wiki/Considered_harmful)

<comment><USER31> And I think, like goto statements, there's a cost/benefit analysis to be done when making this choice.</comment></comment></comment>


Samsung Pays Apple $1 Billion Sending 30 Trucks Full of 5 Cents Coins  - <AUTHOR> http://www.lematinal.com/mobile/technologie/18274-Samsung-Pays-Apple-1-Billion-Sending-30-Trucks-Full-of-5-Cents-Coins.html

<comment><USER2> 86.64 million nickels were produced in 2009[1]. This stunt would take 230.84 years of nickel production to pull off. [http://visualeconomics.creditloan.com/the-value-of-united- st...](http://visualeconomics.creditloan.com/the-value-of-united-states- currency-in-circulation/)

<comment><USER3> The facts about nickels in this thread are even more interesting the the hoax itself.

</comment></comment><comment><USER4> Hoax from 9gag, apparently

[http://daily.bhaskar.com/article/SCT-NEWS-rumors-saying- sams...](http://daily.bhaskar.com/article/SCT-NEWS-rumors-saying-samsung-pays- apple-1-billion-in-30-trucks-full-of-5-cents-coins-is-a-hoax-371.html)

The logistics of paying in nickels are challenging...Would have to ask a bank or the Fed for them, send trucks to load them up...not happening.

Samsung probably not writing a check yet, will appeal and no doubt the amount will be reduced, or they'll agree to long-term licensing.

</comment><comment><USER3> Dunno about the US, but in Canada (<http://laws- lois.justice.gc.ca/eng/acts/C-52/page-1.html#h-5>), a truckload of coins on their own would not be considered legal tender. For nickels, the most you can give is $5.

<comment> jack-r-abbit That is pretty smart. It allows people to refuse being paid in some crazy way like this.

</comment></comment><comment><USER5> "Source: Internet"

I found this the only funny part of the article.

</comment><comment><USER6> As a nickel expert, it would actually take more than 120 average semi truck trailers full of nickels to pay off $1 billion.

</comment><comment><USER7> So Samsung looked down the back of the sofa and found 20 billion nickels! Ha

Just how much would 20 billion nickels weight?

</comment><comment><USER8> That's some painfully unfunny satire.</comment>


Ryanair strike hits 55,000 customers across Europe - <AUTHOR> https://www.cnbc.com/2018/08/10/ryanair-pilot-strike-hits-thousands-of-flyers-in-europe.html <comment><USER2> It's depressing that someone can write 650 words about an strike and its effects and fail to describe the actual grievances of the employees striking.

<comment><USER3> Agree. Now I have to do research to see who is being unreasonable. The employees or the employer. Be much easier if the article gave a summary of the issues.

<comment><USER4> There are a few things mentioned in [0] and [1], unfortunately in german:

\- The contracts are based on Irish law and contain rules that violate German employment laws.

\- They have to pay for water on the flight, in addition to lots of other things (e.g. health checks, mandatory simulator hours). These costs can sometimes be deducted, but they argue the airline should pay for it in the first place.

\- When they are sick, they have to come to the office/airport and state their symptoms in writing.

\- Lots of Pilots are hired as contractors, not as full time employees. That would also violate German employment laws.

[0] [https://www.zeit.de/wirtschaft/2018-07/streik- flugbegleiter-...](https://www.zeit.de/wirtschaft/2018-07/streik- flugbegleiter-ryanair-flugreisen-sommerferien#warum-wird-bei-ryanair-auf- einmal-so-viel-gestreikt)

[1] [https://www.zeit.de/wirtschaft/2018-01/pilotenstreik- ryanair...](https://www.zeit.de/wirtschaft/2018-01/pilotenstreik-ryanair- gewerkschaft-cockpit-tarifverhandlungen)

</comment></comment></comment><comment><USER5> I would be surprised if Ryanair could keep going. Anecdotally, I know a number of people that will never use them again - either because they themselves have had problems or they know people that have. There's some real animosity growing towards them.

All things being equal, people would usually pick the cheapest flight. But Ryanair are now making it abundantly clear that their flights are not equal to others. When you pick a flight you need confidence that your flight will take off, and that you can get home. It amazes me that Ryanair are willing to lose people's confidence like this, it will take a long time to get it back, if at all.

<comment><USER6> If their whole business model is built around breaking EU labour laws and underpaying staff then good riddance.

<comment><USER7> This is like the premise for almost every massive corporation. At some point and time they bend and twisted the laws far enough, but not too far to get shut down to gain a competitive advantage. Banks are the best example -- always a game of cat and mouse with regulators. Every corporation tries to figure out how to pay the least amount of taxes possible, and pay their workers the least amount possible to get the job done.

</comment></comment></comment><comment><USER8> Ryanair seems to be skirting a very very thin line by steamrolling over labor disputes in the EU. I'd be very curious to know just who in that company is persuading executive leadership that these disputes don't represent an existential threat to the company and what their rationale is. Because is is the sort of thing that will bring the regulatory hammer down on them if they're not careful, and they don't seem to be being very careful.

Or worse, if anyone up there even cares to save the business. It could well be in the final stages of executive loot and plunder and we're just looking at the final stages where nobody even bothers to pretend they're interested in saving the business.

<comment><USER9> The CEO of Ryanair, Michael O'Leary, is vehemently opposed to unions and workers rights. I imagine this is as much a personal vendetta for him as it is an exercise to maintain low costs which of course is Ryanair's whole business model.

If they have to increase their spending on workers as a result of this action, it is more likely to be an existential threat to the company rather than any regulatory or customer reaction.

<comment><USER10> He's only opposed to unions and worker rights because they would affect the profits of his company, and by extension, how much money he makes personally. If Ryanair's business model is only sustainable by exploiting workers, then it is good that the company collapses because it's nothing more than a hack to transfer wealth from the workers and passengers to the CEO and shareholders.

Funny how these people only scream about redistribution when it's from the rich to the poor, and not the other way around.

</comment></comment></comment><comment><USER11> 30 years ago the only choices to fly Dublin to London were BA and Aer Lingus. Both charged identical fares and the cheapest fare was £150, ie well over £400 today. That rip-off was ended by Ryanair.

I'm not crazy about them but i like having them around.

</comment><comment><USER12> I have always picked Ryan air when I was in Europe as it was cheap despite being not available in many airports. The experience was not the nicest but to fly for 1 or 2 hours it seemed more than enough with just a single carry on. Hope the airline stays afloat and honors the labor laws while providing cheap air travel.

<comment><USER13> In fact, Ryanair flies to more airports in Europe than any other airline in the world[1], but skips some of the busiest ones because of their higher fees. It is rivaled by Easyjet in Western Europe, by Wizzair in Eastern Europe, and by Norwegian in Northern Europe. Most European low-cost fliers quickly learn the new tricks of each airline and couldn't care less about the customer service, as long as they can get them from A to B for the lowest price in the shortest possible time.

[1] [https://en.wikipedia.org/wiki/List_of_airlines_with_more_tha...](https://en.wikipedia.org/wiki/List_of_airlines_with_more_than_100_destinations)

</comment></comment><comment><USER14> My flight just got cancelled by Wizzair due to "weather problems" officially but I hear lot of rumors that something is brewing over there too.

This is the first time I experience a cancelled flight. It is absolutely disastrous. I could not make it to my holiday since they provided 0 communication and the next flight was in 5 days...

This will surely affect there bottom line. Right now I'm considering buying a car and driving 20 hours when I want to get home instead of taking a plane.

<comment><USER15> I've had flights cancelled in the EU before (Alitalia, Air France) and the rights for passengers are pretty clear and consumer friendly. See: [https://europa.eu/youreurope/citizens/travel/passenger- right...](https://europa.eu/youreurope/citizens/travel/passenger- rights/air/index_en.htm)

</comment></comment><comment><USER16> PBS did a piece, Frontline IIRC, about regional airlines and airlines like Ryan were discussed.

They essentially underpay employees by A LOT compared with the major airlines. It's how they keep their prices low. Pay little, charge for everything, but discount the price of the regular ticket by a lot.

And WHY would you take that job? Because it gets your foot into the door in the industry.

As a pilot, for you to become a captain (and earn more money), you have to complete certain thousands of hours of flight. And so you want to do that as quickly as possible. Regional airlines are a much easier to be hired into and you can get your routes on a very regular basis to make up all of your hours. Then, when you've completed your hours, you then apply to work for a larger airline with better pay and benefits.

</comment><comment><USER17> But if the Ryanair employees are on strike who will try to sell me lottery tickets three times during my 2 hour flight?</comment>


The joys of having a Forever Project - <AUTHOR> http://www.dev.gd/20130122-the-joys-of-having-a-forever-project.html <comment><USER2> For inspirational purposes- various people working full time on their Forever Project:

The Adams brothers, Dwarf Fortress: [http://www.nytimes.com/2011/07/24/magazine/the-brilliance- of...](http://www.nytimes.com/2011/07/24/magazine/the-brilliance-of-dwarf- fortress.html?pagewanted=all&_r=0)

Elon Musk, Mars colony: [http://www.wired.com/wiredscience/2012/11/elon-musk- mars-col...](http://www.wired.com/wiredscience/2012/11/elon-musk-mars-colony/)

Donald Knuth, The Art of Computer Programming: <http://www-cs- faculty.stanford.edu/~uno/taocp.html>

Hiroshi Ishii, Tangible Bits: <http://web.media.mit.edu/~ishii/>

(this is off the top of my head- I wish the list were longer, but it is late :) )

<comment><USER3> Yes, and for some people like me, reading and finishing the complete TAOCP series is a 'forever' project.

<comment><USER4> One of the side projects I have to embark on is writing a companion to TAOCP that shows how to implement the algorithms in a functional language, probably Scheme or some subset of Common Lisp. The main complaint I have about TAOCP is Knuth's insistence on using assembly language to illustrate the algorithms -- otherwise, they give what is probably the most in-depth description of the motivation and analysis of algorithms I have seen (much more detailed than CLRS, though CLRS is more complete).

Also, it is worth pointing out that there is no "complete TAOCP" yet. It remains a work-in-progress; I am looking forward to Volume 4B (though I have yet to actually finish any of the current volumes).

</comment></comment></comment><comment><USER5> I'd add one more thing to this article: don't throw these projects away, even if they seem failed/doomed/incomplete. Store them somewhere. Back them up. Whatever. You might need them.

Back when I was a teenager, I wanted to write an art package for an obscure computer (Acorn Archimedes). I wrote the first version in BASIC, then decided to re-do it in assembler. The assembler I first used couldn't cope with the size of the project in the end, so I wrote my own assembler; at that point I discovered C, so wrote it in that. Unfortunately the C compiler I used was so full of bugs I decided to port LCC to produce ARM assembler, but then I needed a linker, so I wrote that as well. Got it all working lovely to the point where it could compile itself.

At university I figured Intel PCs were more useful than my obscure computer so... I forgot about it. Lost it.

And to this day, I can't help but wish I still had it... I had written, and lost, a complete C development system, faster than any of the other compilers/linkers I tried, small footprint (it had to fit in a machine with 4Mb RAM), and ARM chips are now everywhere. Damnit!

So please... save your work.

<comment><USER6> "... art package for an obscure computer -> wrote my own assembler... port LCC... linker..."

Sir, you have one very well-shaved yak there [1]. Excelsior!

In other news, I sometimes see people bemoaning losing the "easy programming" that the era putatively had. I sometimes wonder if time has simply faded the scars of a world in which that's the sort of thing that might realistically happen. The era made some moderately difficult things easy (people mostly seem to miss the ability to slam pixels on the screen), and everything else really, really freaking hard, including many things we'd call easy today.

[1]: <http://www.catb.org/jargon/html/Y/yak-shaving.html>

</comment></comment><comment><USER7> Can you imagine how weird I felt when I finished my "forever" project?

Ever since school I wanted to write a simulation tool similar to one I've used in school, which basically lets you write differential equations in graphical form, and integrates them for you. And back when I was in school, I didn't know a thing about differential equations, and it all looked like amazing magic to me.

And while studying physics, I learned about DGLs and Runge-Kutta integration, and then I "just" needed to manage all the data (do a topological sort on the nodes to evaluate all the formulas in correct order), stuff it into the Runge- Kutta solver, and graph the output. Yay.

I never got around to writing the graphical front end, but the all interesting (to me) parts of the program are there. Oh, and it's written in Perl 6, the programming language I help to develop in my free time. If you're interested, check out <http://perlgeek.de/blog-en/perl-6/physical-modelling.html>

These days Perl 6 is my main "forever"-project, and it's coming along nicely.

<comment><USER8> Pretty awesome that you completed a project using a not yet released* programming language!

* for various definitions of the word released

<comment><USER7> It's enough that a compiler is released.

</comment></comment></comment><comment><USER9> Around 1980 I read Heinlein's "The Moon is a Harsh Mistress".

In 1993 I started sketching some ideas for a novel loosely - very loosely! - inspired by it.

I kept poking at the ideas, and tried to write the book several times. I never got much traction, but did end up writing and publishing several non-fiction articles in national magazines in this time.

In 2011 I started. I wrote 160,000 words and created a fairly epic (in scope) science fiction novel that tied in moon colonization, desktop manufacturing, genetic uplift, AI, open source software, and more.

In 2012 I kept going. I wrote a second draft, and it reached 180,000 words, and was a MUCH better novel. In September 2012 I kept going and wrote the third draft, splitting it into two novels.

Right now I'm taking a one month hiatus before writing the fourth (and final?) draft.

I hope to publish it later this year.

So far I've sunk over 2,000 hours into this project, and it's one of the things that I'm proudest of in my life.

All of which is to say: yes, hang onto your crazy side projects; you'll be glad you did.

<comment><USER9> I should add: I've become so interested in the world and characters and situations I've created (and so have a half dozen or so alpha readers) that I'm planning on writing another two novels as follow-ups.

<comment><USER10> Awesome! Some advice from a writing group I've attended: Find a good editor that has the time to do a good job. Think of it like this, you can have the greatest band in existence and it can sound like crap with a bad person on the mixer.

I'm not a novelist myself, more of a hobbyist but I've seen the results of good and bad editors in my little group. I've also run the mixer at my parent's church. The key to a good artistic performance is both you and the people supporting you. :)

</comment></comment></comment><comment><USER11> My forever project is a cooking robot. I've been thinking about how I'd approach it for years, but never had the chance to make what I thought would be a worthwhile start.

The stars aligned this year, and I'm actually able to work on it now. This is the current temperature of my stove: <http://dave-stuff.s3-website-us- east-1.amazonaws.com/>

<comment><USER12> That is awesome. That's the ultimate DRY (don't repeat yourself) thing humanity needs. It will free us from all the work required to raise the quality of our food, making eating well as easy as fast food.

<comment><USER11> That's the hope :) It's a surprisingly missing medium.

<comment><USER6> My personal touchstone for the beginning of the true Robot Age is a fully- automated McDonald's or equivalent being seriously deployed not as a tech demo, but because it is the best solution. Supplies in one end, someone carting the waste out the other, and everything else, including cleaning, should be done by the robot itself. (Though perhaps I'll bend on the cleaning. That does add another very significant level of complexity.)

<comment><USER10> McDonald's tried this and it turned out minimum wage workers are cheaper and break less than cooking robots.

<comment><USER12> Robots will be cheaper eventually. And very easily reprogrammed.

For me the goal is not cheap food but quality food.

And the most expensive part of going out for many people? Driving there, if you consider the cost of their time.

Ultimately, we will get robotic vehicles to do that part too. We will see some very small vehicles once robotic vehicles are commonplace, perhaps delivering only a single meal.

And we'll also see robotic cooks that can cook anything, so they may become so common you won't need to drive to them.

</comment></comment></comment></comment></comment></comment><comment><USER13> Maybe some forever projects are just huge time sinks with a plainly delusional background.

But how to tell?

I've been working on and off on my forever project for about 4 years now. It's cursed. I pulled the plug repeatedly for different reasons:

First time I started developing it, after a few months, a high-profile/highly- funded Open Source project with exactly the same features announced itself. I didn't want to spend time on something with so famous a competitor, it just didn't seem reasonable to duplicate/waste effort like that. If I'm honest, I was also kind of pissed that I was having such a hard time convincing people my thing was worthwhile, and then those guys come along and suddenly everyone acts like it's the most groundbreaking thing ever!

Second time, I started up again when the famous Open Source project kept drifting aimlessly somewhere between success and failure with no clear vision. I even enrolled in nReduce, mostly to keep me on schedule and make contact with like-minded developers. Then my mother got sick and died last year, that was the end of the project right then and there as I wasn't able to continue at that time. Maybe her death should have driven me even harder to develop this project, but the sad fact is that I just disintegrated unproductively.

Now I have to ask myself if I should ever continue this project. On the one hand it's not _that_ ambitious, so it won't really take forever. On the other hand, there is mounting evidence that I won't be able to pull this off (considering the two attempts before). Wouldn't my time be better spent to start something completely new? Difficult to say because that one project is still on my mind.

<comment><USER14> I'm going to guess that your forever project is a distributed social network. I think a lot of people (me included) are in a similar position. The challenges are really big, and most of us (me included) get disheartened at some point. I think at some point Facebook will drop the ball and something else will get to pick up the pieces. I guess that will be whoever had the stamina and resources to keep iterating.

<comment><USER13> _> I think at some point Facebook will drop the ball and something else will get to pick up the pieces._

I don't want to push this thread off-topic but I believe at some point Facebook, Google and others will have to open up their flood gates and allow information between them to be exchanged. I also think an open source project could nudge them in that general direction, especially when it gives people the option to just install it on their own servers like they would Wordpress or any other web app.

 _> I guess that will be whoever had the stamina and resources to keep iterating._

There must be literally thousands of those projects out there by now. Which brings me back to my original point: is it madness to try? Is a forever project that failed two times before even viable? At what point do you take a hint from the universe? How do you judge your own efforts, especially when nobody else cares about your work?

<comment><USER15> This is my Forever Project too.

> _There must be literally thousands of those projects out there by now. Which > brings me back to my original point: is it madness to try?_

Here's what I think: Don't blindly start Distributed Social Network Number 1,001. But pick 5 or 10 existing ones that look promising. Try them all. What's good about each one? What sucks?

Then, if one seems like a solid foundation, contribute and build on it. If they all seem too deeply flawed, learn from their innovations and mistakes and join others who are also learning. Explore other possibilities.

I was very excited about Tent.io, and wrote a small app for it, but after a few months began to see serious problems with its design. For now the Forever Project is on hold so I can build a music player. In a month or so I'll probably start thinking about what's next. My email's in my profile if either of you want to continue the conversation (or, if anyone reading has thoughts on this and wants to talk).

<comment><USER13> _> But pick 5 or 10 existing ones that look promising. Try them all. What's good about each one? What sucks?_

I'm kind of divided with myself on this one. I did compare some when I first started (there weren't very many of them around), and it was kind of obvious what decisions (mainly pertaining to the protocol itself) I didn't want to replicate. One of the reasons I started my own project was that I couldn't find something to be happy with. And I still can't, but admittedly I'm not looking that hard anymore.

The reason I'm reluctant to just go ahead and gather all the stuff I like from other projects is that contamination is a real problem. Especially in a space that, in my opinion, hasn't been solved yet.

 _> For now the Forever Project is on hold so I can build a music player._

Looking forward to your Show HN :)

<comment><USER14> > Looking forward to your Show HN :)

I can show you _my_ latest forever project distraction / music-player project, which I just blogged this morning and am feeling quite pleased with:

[http://www.joebutton.co.uk/blog/baremetal-midi- lv2-raspberry...](http://www.joebutton.co.uk/blog/baremetal-midi- lv2-raspberrypi/)

It's probably not the same kind of music player as graue's though.

</comment></comment></comment></comment></comment></comment><comment><USER16> I'm 42. I've had such a project since 14 or so, more than a 1/4 century. There has been long stretches of inactivity, exp lately. But, I've used it to learn many languages, GUI frameworks, OOP, the non-existence of silver bullets (aka OOP ain't all that), and many other topics/skills. Originally started in K&R C, then Turbo Pascal, Perl, C++ (it was new and exciting when I was in college), back to Perl, finally and for the long time now Python (with which I made more progress in shorter time than all other efforts/languages combined). Lately (last couple years) been toying with writing parts in Erlang.

I've long since accepted I'm not finishing this. I sort of don't want to. It's an old friend, I would miss if it went away.

</comment><comment><USER17> funfact: in the expression "reach exceeds grasp", your reach is what your fingertips can brush, your grasp is what they can wrap around.

The common-sense way of handling impossible projects is to break them down into doable sub-projects: components, layers, aspects etc. Then you can get satisfaction out of completing each of them. A psychological problem I have is accepting these as goals in themselves - if it doesn't do _all_ of the project, it feels like it doesn't count.

However, this is silly of me, because it is still progress. A journey of a thousand miles consists of steps - not just the first one, all of them. And even for a commercial project, an inadequate beginning (that still does something) is beneficial: people love the sense of progress more than everything already done, your updates give you publicity, and give customers a reason to upgrade. Even with regard to competitors, it's good to have room to improve, because when they've copied you, you've moved ahead. If you're already perfect, once they copy you, you've nowhere to go. You're a sitting duck (wrt engineering competitive advantage).

Of course, this article has a more joyful attitude towards such projects. Maybe I should try it.

<comment><USER18> In the best case you can break it down in reusable parts. I took some of the commandline tools I created for my forever project, and turned them into a stand alone application.

</comment></comment><comment><USER19> Ahhh yes, I know it well.

Personally mine has this terrible habit of consuming almost 100% of brain resources to the point where I literally can't do anything else productive. So often I have to say "no I'm not going to touch this for a month until I've got some real work done... then maybe I can take a look at it"

Still my forever project is coming to the point where I might be able to release it. Or rather, I'm running out of things to look at in it and think "that's not good enough I need to make it better", now it's mostly "that might not be good enough but I have no clue how it could be made better".

Which is rather pleasant :)

</comment><comment><USER20> Forever Projects are like stars, we set our course by them but never reach them.

I am now creating my Forever Company - where I can work in a way compatible with living a life and still make a difference. Some people will join my journey some will leave as I change course. I cannot imagine finishing my Forever Company either. But I know the next steps.

Thank you OP - some good inspiration there

<comment><USER21> I like the thought of a Forever Company. Often we start businesses to sell it, and then to start on something else.

In a way the forever company is you, 'Me Inc' as it were. Hopefully forever building and growing.

<comment><USER22> We're veering dangerously close to "personal brand" here. [http://www.theonion.com/articles/i-am-a-brand-pathetic- man-s...](http://www.theonion.com/articles/i-am-a-brand-pathetic-man- says,30545/)

</comment></comment></comment><comment><USER23> Great article!

My forever project is: the syntactically simplest high-level programming language. This had been kicking around in my brain for a long time, re- emerging every time I learned or read about a new programming language whose syntax seemed unnecessarily complex or conventional. As overwhelming as new language development is, I decided to set a goal for the end of 2012: a sufficiently complete proof-of-concept implementation, with documentation, to demonstrate the basic concepts. The result: <http://om-language.org >

Although the language itself isn't useful for anything yet, the side benefits of developing it have been many:

\- Developing my C++, Doxygen, and Unicode knowledge/skills to a high-advanced level, which I have applied in my professional software career.

\- Filling in lots of gaps in my knowledge of concatenative (and other) language theory.

\- Discovering that using prefix notation in a concatenative language works better than postfix: no stack underflows, no data stack needed, and a program effectively becomes a partially-applied function awaiting more data (i.e. the rest of the program), elegantly allowing for data pipelining and events. As far as I know, using prefix notation in a concatenative language is a first.

\- Discovering "panmorphic types": that when every piece of data can be expressed completely and equivalently in a uniform way (in this case, as a quoted program), data types become an implementation detail.

\- Rethinking how to best define "number" with respect to a computation, which has led me to arbitrary-precision arithmetic implementations, Riemann spheres, APL, and down all kinds of other interesting rabbit holes -- resulting in some new number theory ideas which I am fleshing out for incorporation into the language.

\- Learning all the glue technologies to actually release it (CMake, GitHub, etc.).

\- Writing documentation that describes it to others. This has clarified my thinking on it more than anything.

Most importantly: I've invented a real language! It feels good.

Although I'll be adding to this project forever, none of these benefits would have happened if I didn't set some goals for getting it out of my brain and starting to flesh it out. I encourage anyone with a forever project to do the same.

<comment><USER24> Your link is broken. It has an extra space at the end.

<comment><USER23> Fixed link: <http://om-language.org>

</comment></comment></comment><comment><USER25> My forever project is a novel. It's a great way to fall asleep. It's a project fun enough to focus on and ignore everything else, but completely stress-free so it's very relaxing.

I don't actually write my novel done or ever plan on doing so. I once tried during national novel writing month (nanowrimo), but that didn't work at all. Much better to keep it as a nice thing to think about as I'm falling asleep.

<comment><USER26> Mine is too. I'm actually on my second one. I started back in the late 1980's and spent some fifteen years planning and plotting the first one before I put that outline in a drawer and began planning and plotting the second one. I'm hopeful that someday all that writing around will morph into a real novel that other people want to read but even if not the process has forever changed me.

</comment></comment><comment><USER27> I'm an artist. Back in 1995 I started coming up with this dark urban fantasy, somewhat inspired by my unexpected homesickness when leaving New Orleans for Los Angeles. I ended up with an interesting setting and some flat characters.

The day of 9/11, the right lead walked into my head and started talking. I wrote down what she had to say and did the first drawings of her.

I made a few attempts at starting the thing, but I never got very far. Multiple attempts at the beginning, random story fragments. They started to form a narrative but some stuff was missing.

In the meantime I drew some other comics and a Tarot deck. Last year, late one night, I was hit by a new idea for this story. I wrote it down, looked at it, and realized it really tied a lot of the themes together at the climax. The ending was right, after seventeen years of it bouncing around my head. Soon after I did a few experiments at getting the rough, painterly look it's always had in my head in my artistic weapon of choice, Adobe Illustrator, and nailed it. My sketches looked pretty much exactly what I couldn't actually produce all those years ago.

This November, I made significant progress on the first draft of a full script for the whole thing. I didn't finish it but I have a complete skeleton, with flesh on its bones for the first few chapters.

And I think I'll be starting to draw it when my current comic is over sometime near the end of this year.

Some things just need a lot of underpinnings. I always knew I'd do it SOMEDAY. I just had to let it boil way way on the back burner for a decade, until I worked through all the real-life issues it's a metaphor for. And I am pretty sure at this point that it will be worth the wait.

When the time is right, your Forever Project will become the current project. And it will be awesome.

</comment><comment><USER28> Interesting perspective on long-term projects. I too am working on a service I consider my forever project, but one which may actually be launchable quite soon. I can definitely relate to the dreamy state the author refers to, as I too dream of a constant barrage of features I want to build into the service. This can quickly get out of control though and become endless as a developer delves deeper, but maybe that's why it's a forever project. You want this service to exist so bad for yourself, it doesn't matter if you're the only user. It's sort of like a nagging child. It's a part of you, no matter how many diapers you got to change.

<comment><USER29> I think that part of what the author is trying to convey about such projects, rather than they being de facto 'forever projects' is that such projects are worth it by the journey alone. Even if you don't ever reach the end of it - the inspiration and learnings it gives you is enough to motivate continue working on it.

</comment></comment><comment><USER30> When I started thinking about my forever project, <http://automicrofarm.com>, it certainly seemed almost impossible. But as I started implementing a subset of it, it got less and less impossible, and now is even feasible enough that we've got a product (vs. a proof-of-concept) prototype (of the subset, not the grand vision).

I think the author is spot-on with the speed-of-light analogy, but missing an insight: you can declare a _huge_ victory if you attain 90% (or 99%, or 50%) of your goal.

<comment><USER31> I don't know, it would be a pretty significant achievement to attain .5c!

</comment></comment><comment><USER32> This is a great article. It is great to know that there are other people like this. I always have had these projects that I can't forget off. There have been various, but after I matured, I ended up focusing in two.

They are still early, I have been unable to dedicate on them as much as I would have liked. Because I have lived most of my life with limited means. I used to not own a computer, nor internet. While I worked to save my family from poverty, all I could afford to do, was to buy books, and learn programming, and work on my projects in theory.

It took a long time, but now I am relatively well off, and have a great full time work. I am advancing my projects, but it is too slow. I am considering to at some point, to take maybe a full year or two, to focus on my projects.

My two (still early) projects are:

Reproduce the human mind, and emotions, in a computer. Human like AI: <http://www.ozkeebo.com/soul.project/> This is a problem that have fascinated me since child. I have meditated a lot on it, and have this hunch that I can pull it off. I am the kind of crazy and weird person, perfect for it. But I know that it is a hard problem. Maybe I will never be able to complete it, but at least I am sure that I will get great things out of it. Let's see how I will be doing in 10 or 20 years.

My other project, is a graphical programming language. This comes from my dissatisfaction in how we express programming languages. I feel like I want to shout to the world, that we are missing a huge opportunity here. I feel like we could be doing much better than what we have. But it is a lot of work, and it will also take me years of work, to prove if I really have a point. I will see.

Thanks for a great article, and a great hn thread anyway.

<comment><USER8> So what are your hunches that lead you to believe that a graphical programming language is the way to go? Not saying that it couldn't, but it hasn't really been a success so far.

<comment><USER32> I am 100% sure, that at least for me, I can imagine and design a graphics language, superior to text representation of programs. And I expect that for most people, once they surpass the learning curve, will also be better. And even more sure about it working for people new to programming.

We can represent programs using texts. text is a good way to represent sequences of information. So it fit programs well, to some extent.

But text is limited. Programs contains many kinds of information, that don't fit well with a textual representation. Hierarchical data, scope, branching flow, loops, etc. After you realize this, you can also replace text commands, with symbolic representations that are easier to parse visually, and that can convey their function better than just text.

You need to maintain an appropriate level of information density. This one of the thing that has made text representation of programs successfully.

The other key thing is the UI. We are highly productive in manipulating text with editors. A successful graphical language has to beat that. It has to make possible to manipulate the information more efficiently: faster, and with less muscular effort. Allow me to call this the field of "unconventional UIs".

When I was a kid, I only had access to computer for a brief time. But I had plenty of access to console games. I used to love videogames. I spent huge deals of time detailed studying them, drawing concepts, etc. Examining why I found most of them to be bad, some average, and a few gems. A key thing was the UI. The mechanisms to manipulate the game environment.

Well, videogames are a rich field of unconventional UIs. And it is a field that I know very well. My experience with all these game UIs, makes me pretty sure. A better, more efficient UI can be designed, to manipulate programs information, on a graphical environment, than existing UI from text editors.

that's it in short.

</comment></comment></comment><comment><USER33> Learning Haskell... It wasn't supposed to be a forever project, but c'est la guerre :-)

</comment><comment><USER34> Here's mine: <http://www.pubsoccermanager.com/> It has gotten really slow in the last year, but I am planning to do something around it full time. Most obviously it would be a game, but I also have a couple of other ideas of how to monetize.

</comment><comment><USER35> Haha this is so true. I used my forever project (indeed, a obscure fantasy football game =) ) over the past year as a narrative to pick up the basics of programming. Although the game is still not live, I learned so much building it.

Great inspiring read. Thanks!

</comment><comment><USER36> If there is a forever project, maybe you shd just get started on it full-time - it might be 'the one'

[http://statspotting.com/2013/01/that-one-idea-that-does- not-...](http://statspotting.com/2013/01/that-one-idea-that-does-not-go-away/)

<comment><USER37> Yes, I think if you are really obsessed with something for over 10 years, it's time to make it your life's work and not a side thing. But maybe the point is that you don't want that to happen as you lose your forever project (if it gets done) or fall out of love with it.

<comment><USER38> Not everything worth doing makes money though...

<comment><USER37> No, but I don't think that's necessarily the point of a forever project nor of life in general. It's not a goal of mine nor of none of my friends who have one; most of the projects from people I know cannot even make money even if (partly) completed.

Edit: If you mean, you need money to live; you of course need some money, but not as much as most people think. Which makes it a question of priorities mostly. There are plenty of fantastic places where $600-700/mo will get you far, even without losing that much from your 'previous life'. You have to sacrifice things obviously, but not that much (depending on what you are used to).

</comment></comment></comment></comment><comment><USER12> Mine is automating massage for physical therapy. Putting an end to muscular stiffness and the pain and loss of function it causes.

<comment><USER39> That's something I've been interested in (though not a project) for a decade or so. Links?

<comment><USER12> I've outlined the basic approach:

      http://deeptherapeutics.com

Determining how to apply that method to a common problem has taken a long time. Building a machine to do it is another set of challenges.

</comment></comment></comment><comment><USER40> I don't necessarily think that it needs to be a Forever Project, as long as it lasts for at least 6 months or so.

I've heard many smart people recommend having a bunch of small problems to always think of. I think Richard Feynman recommended it.

Some examples of these kind of mental problems that I've been dealing with over the years:

* How long does it take from the time that the planets are aligned to the time that they are aligned once again. This was a problem I thought of in ninth grade and was the reason why I learn programming at that age on my spare time.

* How does one construct a P2P filesharing application that does not have a central single-point of failure. I thought about this for a year or so in high school. Obviously, I also wanted anonyminity for the users if possible.

* Dreaming about the perfect configuration management.

* Mining common log line patterns and automatically extracting useful information for debugging, surveillance etcetera. How I would scale such an application, what it could be used for etcetera. This actually resulted in <https://github.com/JensRantil/disco-slct>

* Last year or so; How to develop a web application that uses CQRS, event sourcing and a distributed model. This also involves thinking about how this would enable smooth upgrading of subsystems, scaling of such system and security.

</comment><comment> ryan-allen I liked this article. I for one have been overly conscious on ends rather than means, and I forget that it was the means that got me into software development in the first place. I used to have so much fun! It never felt like work (it does now).

I haven't enjoyed it in a long while, this article makes me wonder if I should start one of my idea and develop it with no clear saleable end in mind. The thought of which takes a lot of pressure off what I got done this week, this month, yesterday.

</comment><comment><USER41> I had different forever projects at different points in time. I often come back to a planet renderer based on a certain algorithm (P-BDAM), but it lost its lure on me in recent times.

The older I grow, the more I know the way I work, my strengths and weaknesses.

I recently decided to create a behavior- / attribute-based framework for MonoGame, with functional reactive programming thrown in, and to my surprise, I currently make quick and steady progress.

<comment><USER42> Interesting rgd. the functional reactive programming. I am obsessed with this, in a networking/mobile device context instead of a gaming context - not that it should matter. And applying this to real problems beyond the toy problems that you find in tutorials on the web turns out to be real hard - this may end up becoming my Forever Project yet. Email me at hank[at]ml1.net if you want to discuss this.

</comment></comment><comment><USER43> Sounds to me like something Ze Frank calls brain crack.

<http://www.youtube.com/watch?v=0sHCQWjTrJ8>

<comment><USER44> I love this, but it really only applies to small ideas.

He clearly articulates the emotional weight of these forever projects though.

</comment></comment><comment><USER45> Hm. I actually have four things that qualify as a "Forever Project", and I've sunk a decent amount of time and money and energy into each one. Results... nothing worth noticing.

But I like the idea of a Forever Project: just a thing that's been in your head since forever and that you can't stop thinking about. Mine have gone through many different permutations over the last 15 years, including attempts to start a company.

</comment><comment><USER46> Been working on a programming language for four years and counting.

I intend to release it someday hopefully soon, but it will never truly be finished.

<comment><USER47> Release it now, it's no use just collecting dust on your hard drive. You can always improve it in the future—think of it being in constant development.

"Real artists ship."

<comment><USER46> Well, huge work in progress: <https://github.com/pshc/archipelago>.

But until I write the editor for it, there's really nothing to look at. Editor is coming Real Soon Now.

</comment></comment></comment><comment><USER48> I actually thought this was about those projects you make for a client that will never end. Clients that keep coming back with more and more changes. Usually accompanied by a Project Manger that's afraid of the client. I ocasionally have nightmares of _pressure cookers_ after working on a terrible website for more than a bloody year.

<comment><USER19> Extra bonus points if the original tech stack used on the website was wildly inappropriate because "it's only going to be a small website to do x"

And big globs of functionality keep getting grafted on until the point where you're terrified to touch anything in case it all falls apart.

<comment><USER48> Indeed. I did not know it at the time but it's called _The Salami Technique'_. Works best if you've got an inexperienced or scared Project Manager.

</comment></comment></comment><comment><USER49> Since childhood I have wanted to build on scale humanoid robot. Though I have not done anything towards that goal except some thinking of what kind of materials it has to have as the body. How to power it and what kind of brain it needs. Though currently the only thing stopping me from starting to build skeleton for it is money. :P

</comment><comment><USER50> "Live as if you were to die tomorrow. Learn as if you were to live forever." - So I guess my forever project is learning

</comment><comment><USER51> I'm designing a (runtime, highly flexible) graphical system to aid in the breaking-down, visualising and use of any data.

I don't like the term 'forever project' because it implies this will never be finished.

<comment><USER52> The idea is that the process is more important than the result. It's more important that you enjoy working on it than actually finishing it.

You sound more interested in processing the data than making the tool.

<comment><USER51> You are very right. Processing the data is what drives me. Its just hard to the point of impossible in my trained field(s) [architecture/GIS/planning/etc.] with current tools so I need to invent something to do it for me (which should help others in different fields too). Its on its way...

As for your first comment, I agree that the process is important, but finishing something can be important too, and the two [good process and good product] aren't necessarily mutually exclusive.

</comment></comment></comment><comment><USER53> My Forever Project is indeed a "game of some sort", to quote the article.

It's a real time game (HTML5) where every player is a programmable entity. You define actions to trigger, and you can add an AI to the bot so it can act when you are not connected (persistent world).

Even the user interface is programmable, and I'd like to add an HTTP API to call actions on your entity!

<https://github.com/lisezmoi/modul.io>

</comment><comment><USER54> Ideas age like wine:

[http://khitchdee.forumatic.com/viewtopic.php?f=2&t=33](http://khitchdee.forumatic.com/viewtopic.php?f=2&t=33)

</comment><comment><USER55> A while back I decided I would get a bit clever about my Forever Project. I evolved it into a setting instead of a single project, and that setting can contain as many sub-projects as I like. Even completely unrelated projects can be worked into it via my internal head-canon. It's a well I can keep going back to, and serves as an excellent starting place for smaller projects or brainstorming.

</comment><comment><USER56> Its like you were reading my mind. I definitely agree that getting discouraged by the lack of progress on my Forever Project is misspent energy.

</comment><comment><USER57> _Do or do not. There is no try._ ~ Yoda

I don't understand this idea of a Forever Project. A project/task is either important enough to do or it's a distraction in your life. Now if you're working towards that project because you don't have the resources, knowledge, people, at this point in time, you're making progress and that's a different story.

<comment><USER58> Take me as an example. My Forever Project is Physics. I have a degree in both CS and Physics. I made the decision years ago to work in the industry as a programmer, because it's more fun and pays better than being an academic, especially where I live. I'm not officially involved with my old University, but I still take part in their mailing lists, think about Physics in my free time, I even submit simple papers to journals [+]. I don't have delusions about being a good physicists or ever doing anything of any importance, but Physics still fascinates me, I like to ponder its problems and sometimes marvel at its beauty.

[+] <http://arxiv.org/abs/1208.4990>

Edit: Btw. you are right in saying that these things are a "distraction in life", but I think it's a good distraction, like a hobby.

<comment><USER57> I'm not sure I see this as a forever project, as a forever project would have a way to know when you're done, IMO.

Physics for you is an interest and a hobby. Those are great to keep you informed.

</comment></comment></comment><comment><USER59> Regarding the mention of GTD: I don't think it's incompatible at all. I think DA would say that it belongs on your Someday Maybe list, and you're welcome to bring it back up for review anytime you like. Just keep it in the system so it doesn't take over your life right now. GTD is exactly for this.

</comment><comment><USER60> I pretty much relate to that. I've started my "Forever project" two weeks ago. And yep - it's a game :-)

</comment><comment><USER61> Thank you for making me feel better about not having completed any of a number of Forever Projects.

</comment><comment><USER62> It is great to have a forever project. But we have only a limited time on this planet, so definitely not forever, and at some point you should look at yourself in the mirror and ask yourself, "Am I going to do this, or what?".

</comment><comment><USER63> Some forever projects probably fall in the "brain crack" category with a bit of "i could be famous if I wanted to" thrown in. Beware.

(brain crack is a term I think was coined by ze frank - at least that is where I saw it first)

</comment><comment><USER64> my forever project, of course, is to build the metaverse. I loved this article because i can reassure myself i am not crazy after all ... or at least that I am in good company :)

</comment><comment><USER38> A nod to the Forever War? :)

(Great book! <http://en.wikipedia.org/wiki/The_Forever_War> )

</comment><comment><USER65> My Forever Project is Deca. Well, that and the epic scifi/fantasy (first one, then kind of the other) story I want to write.

</comment><comment><USER66> My forever project: <http://popped.at>.

Real-time streaming photos shared on Twitter.

</comment><comment><USER67> My forever project's been going since 2008 (yikes!) I've been working on a computing environment for kids, and I'm super proud with how far it has come. <https://clubcompy.com>

I think modern machines and languages are far too advanced for the little little kids. So, I went the old school line-numbered, BASIC language clone route. I felt that that was the simplest (albeit crudest) approach to getting code into the computer that I've ever experienced.

Obviously, I want kids to learn to hack, so does everybody. But more than that, my angle is that I want the kids to become expert quickly and bump up against the constrained ceiling my language imposes, maybe after a year or two of tinkering. Then, I want to always dangle something more low level in the system like assembler/byte codes that they can graduate to and use to code more efficient/complex works with.

For the hardcore kid hackers, I figure by the time they master my assembler and get some chops, they'll be in high school and be eager to move on to more professional computer languages and Linux.

My computing history goes something like this: I got my start with Commodore 8-bit computers, hooked right away on type-in BASIC game listings in Compute's Gazette. (I'm still in possession of boxes of issues.) I was multiplexing sprites with 6510 assembly before I turned 10. I got my first C compiler, the lovely Microsoft QuickC 2.0, in 8th grade. Hacked on my dad's Tandy PC clone like a fiend all through high school. I skipped a year of computer science in college due to my superb AP Pascal test scores, allowing me to graduate in 4 years instead of 5! Did the artistic thing and joined NovaLogic straight out of college, hacking mostly Intel 32-bit Assembly ... to code their game installers, no less?! (Macho bunch, those dudes.) Moved on to a systems integrator in SF and have been developing intranet apps with them for over a decade, making a great living.

Family, house, cars, career -- I trace it back to BASIC and a mom with the means and foresight to invest some mad money in her little kid's hobby.

I don't think my story is all that unique for my generation, we 30-somethings have a quirky computing history. I do worry about the next generations, however. Maybe it's just the protective dad in me, but I see less and less hardcore geeks coming up the ranks; what I am seeing are people who lack context, cannot focus, and have little love for the craft. It's scary.

I feel ClubCompy is a calling: that in order to keep this whole software ball we have rolling, we need to make more hardcore coders. And don't start teaching them in high school, start in grade school.

I would be so honored to give kids a start to their life with computers. We could raise a generation of coders who are far better than the current crop, and give them their own quirky history to claim as well. That's my dream, at least.</comment>


Analyse Asia 81: Semiconductors are eating the world with Ben Bajarin - <AUTHOR> http://analyse.asia/2015/12/15/episode-81-semiconductors-are-eating-the-world-with-ben-bajarin/ <comment><AUTHOR> Episode Synopsis: Ben Bajarin from Creative Strategies and Techpinions joined us in an interesting conversation why semiconductors are eating the world. By giving a broad overview of the industry spanning across the globe with a significant presence in Asia with the major players, Samsung and TSMC, we dissect how the semiconductors industry and Moore's law are shifting the consumer electronics landscape from personal computers to mobile and now to Internet of Things. With the shift from US to China in manufacturing and hardware, we reflected on why it will be increasingly difficult for US to build their own consumer products and the future of consumer hardware will belong to the Chinese in the next two decades. Last but not least, Ben also shared the interesting insights arise from the recent Glance Conference focusing exclusively on the Apple watch.</comment>


U.S. Gov Privacy Watchdog Under Pressure to Recommend Facial Recognition Ban - <AUTHOR> https://thehill.com/policy/technology/480152-government-privacy-watchdog-under-pressure-to-recommend-facial-recognition <comment><USER2> Good but don't exempt the government.

Many local cities are building out vast networks. Including my very own Miami Beach Police Department.

<comment><USER3> If you're out in public then what privacy are you expecting?

<comment><USER4> Counter question. Do you expect/are ok with that the moment you leave your house you are constantly followed by a person with a camera recording everything you do. Which shops you visite etc.?

Because this is basically what this will sooner or later boil down to, except that's more subtle (i.e. instead of having a person following you you have a innumerable amount of cameras sharing the recording burden, but producing the _same end result_).

Also, you might want to say you don't have to hide anything.

But consider how "god" the cyber security of the police is (or most times is not). Also consider that there are frequently cases of police misbehaving by e.g. stalking or discriminating. (I mean there is a lot of police and they are human so it would be surprising if there wouldn't be such cases). Lastly consider how long it will take until police stations would want to sell some most likely very badly anonymized data about people in the city to e.g. shops.

<comment><USER5> You realize your phone is providing everything anyone tracking you needs, without FR, already, TODAY?

<comment><USER6> You can turn off your phone. You can't turn off cameras you don't control.

<comment><USER7> You can turn off your phone. You can't turn off the 1000s of phones around you that you don't control. With cameras, microphones, and GPS.

</comment></comment></comment></comment></comment></comment><comment><USER8> Title is somewhat misleading, although not intentionally so:

> The Privacy and Civil Liberties Oversight Board (PCLOB), an independent > agency, is coming under increasing pressure to recommend the federal > government stop using facial recognition.

The PCLOB exists to advise the government on compliance with civil liberties and privacy principles, not to recommend bans on private activities. This proposal would only restrict federal agencies, not third parties--unlike proposals by the EU which would ban private data processors and companies.

</comment><comment><USER9> Does this pertain specifically to facial recognition or does this also include other biometric markers? If solely facial recognition, then this means jack shit, as people will be identified with other measurements.

<comment><USER10> You're 100% correct banning facial recognition means jack shit. I guess it's a start though.

Chinese 'gait recognition' tech IDs people by how they walk [https://apnews.com/bf75dd1c26c947b7826d270a16e2658a](https://apnews.com/bf75dd1c26c947b7826d270a16e2658a)

<comment><USER5> And bad journalism gets repeated: 'gait recognition' is fraud now, it was something until proved to be unreliable and easily defeated several years ago. nobody peddling gait recognition is taken seriously - it is almost a line in the sand for technical idiots trying to cash in, not actual members of the security industry, just tech opportunists.

<comment><USER11> Easily defeated _if you make the effort_. Do you want a world where we have to consciously change our gait to "easily defeat" the recognition AI? If not, then it should be banned too.

<comment><USER5> All one needs is different pairs of shoes worn on different days.

</comment></comment></comment></comment></comment><comment><USER12> This is a good start. We really do need to regulate this stuff. There are far too many ways this can be abused.

</comment><comment><USER13> It would be helpful to have centralized reporting on what entities possess hashes or content that can be used to derive biometric telemetry, and tools that allow opt-in for of-age adults, and that offers accessible, no hassle options to destroy said data + severe penalties for violating said agreements (cannot do business in the region until data is purged to standards, etc.) I'd err on the side of "DELET THIS" ahead of worrying about the identity of the requestor.

</comment><comment><USER7> I'm using opencv with facial detection running in the browser as JavaScript. The technology is here and isn't going away.

Realistically, smartphones are tracking everyone all the time and provide rich datasets. Camera, microphone, and GPS. If you turn off location services your phone still connects to cell towers, WiFi access points, and Bluetooth beacons, as you drive or walk around throughout your day.

</comment><comment><USER14> > The agency, created in 2004, advises the administration on privacy issues.

So the agency came into existence as a fig leaf for the Bush administration... Any reason to believe it's grown teeth since then?

</comment><comment><USER15> I was just thinking the other day how you won't even have to tap your card to pay for something - just walk up to the register. The future is bright, but most likely - dark and terrifying.

<comment><USER16> The future is dark and full of terrors. 1984 and Fahrenheit 451 only scratched the surface. I truly expect in the future we'll voluntary put ourselves into the Matrix or the Oasis. It will be the only way to cope because real life will become so controlled.

</comment></comment><comment><USER17> I don't think this sort of thing is constructive.

Biometrics is GOING to happen.

I'd rather companies be (potentially) honest, rather than move on the next thing and not publicize it.

<comment><USER18> Since when has a for profit corporation been completely honest with the public, especially when it comes to something as controversial as this.

<comment><USER17> Well, if it's BANNED we KNOW they'll lie about it.

<comment><USER19> There are processes to punish people and companies if they violate a ban and get found out. Works for theft, murder and other things.

<comment><USER17> Doesn't really work for corporations. (See: Dieselgate). They don't get caught for years, if ever.

<comment><USER19> Then that needs to be fixed. We can't just accept that companies are above the law.

<comment><USER17> So, kind of tying back to earlier ideas.. the government should regulate effectively... a major source is "off road" engines like lawn mowers.

Diesel cars are not. (Trucks yes, but as ever ever those standards are far laxer)

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Facial recognition tech could save so much time and money though. Imagine how many man hours would be saved if teachers no longer had to take attendance? Shoplifting would hit all time lows since you wouldn't be able to get away with it short of wearing a mask into the store.

<comment><USER21> _Students_? You're proposing we track _students_? It says something that the first example that's used (not just you, I've seen it many times elsewhere, too) is that we track the only group of people who by-and-large cannot consent, and not only that, but in a way that has permanent implications for their right to privacy.

Further, the idea of facial recognition being used in every store is atrocious. Not only can they track you online, now advertisers and the government can track your offline spending habits and location at all times, too!

Why hasn't anyone proposed a use for facial recognition that isn't:

1\. Useless (like it is in iOS)

2\. Completely scummy (like it is in both of your examples)

3\. Using it to increase surveillance on populations that cannot legally offer consent in any way, in areas that they're forced to go to?

I kind of expect it here on HN, given how large of a proportion of adtech and other surveillance-oriented employees there are here, but I see it everywhere, and it's just confounding.

<comment><USER22> I'm pretty sure that umvi was sarcastic. Think about his last sentence.

<comment><USER21> I hate to cross-reference as that's technically breaking the rules, but their post history doesn't exactly suggest that they're being sarcastic, and their (three-person, all related) company's privacy policy seems to be "We're taking your data, and hell yes we're going to sell it."

<comment><USER20> I'm not being sarcastic.

The privacy policy I have on my website is used for exactly one app in the Google/iOS App store and is based on a template one I found on GitHub. FWIW, that one app collects exactly zero data on users other than whatever Unity collects for serving opt-in ads.</comment></comment></comment></comment></comment>


Freakonomics: What Went Wrong? - <AUTHOR> http://www.americanscientist.org/issues/id.14344,y.0,no.,content.true,page.1,css.print/issue.aspx <comment><USER2> Previous submissions:

<http://news.ycombinator.com/item?id=3349461>

<http://news.ycombinator.com/item?id=3355254>

AFTER EDIT: Oh, and the previous submission with the most comments:

<http://news.ycombinator.com/item?id=3350529>

As a few other HN participants before me have done, I note previous submissions (when I notice them myself) partly to figure out the vagaries of the duplicate thread detector here and partly to keep the emphasis here at Hacker News on new stories. Some old stories are very worthy indeed of further discussion, but looking at previous threads and their level of discussion can help busy HN participants who didn't notice the last thread(s) decide how much new discussion to engage in about a previously submitted story.

<comment><AUTHOR> That would be useful if either of those had comments, but it doesn't look like much of a discussion occurred on either. So I think this merits a repost and I can't say I understand the purpose of commenting to simply link to no discussion. Maybe you could enlighten us as to why you do that?

Edit: I see four comments in the link you added in edit. Unfortunately I find these kinds of comments to be a distraction; they don't actually add value to the discussion and instead contribute one more thing that must be filtered and often ignored. In the cases where there is significant discussion, it can be useful. But all too often it comes across as condescending and does little to actually build upon a new discussion.</comment></comment>


How to Find the Ideal Co-founder: A Seattle Startup Experiment - <AUTHOR> http://www.xconomy.com/seattle/2010/01/29/who-should-you-start-a-company-with-as-seattle-evolves-founderdating-has-an-answer/

<comment><USER2> I love this idea. They vet people for seriousness/intent. They check references. This seems so much more likely to generate a bona fide partnership (or at least a shot at one) than networking events or stuff like StartupWeekend, where you can get bogged down in bad-fit discussions fairly quickly (note: I still think StartupWeekend is awesome, mind you!)</comment>


On the Closing of Living Computers: Museum+Labs - <AUTHOR> https://rottedbits.blogspot.com/2020/07/on-closing-of-living-computers.html?m=1&fbclid=IwAR30zAZFD54sW4qfZ-X3GatKhMo6nNsuEEHuIQkKPq7ONWhKFBPQncBVIlM <comment><USER2> If you're wondering what this place was, it was a computer museum in Seattle: [https://livingcomputers.org](https://livingcomputers.org)

Unlike many other computer museums, the exhibited computers were almost all up and running, and volunteers and staff encouraged you to play around with them, even the IBM mainframes. You could even get remote access to the computers for telnet or ssh!

LCM's indefinite closure was announced not too long ago in the CoViD era, but fits with a longer pattern. Since the 2018 passing away of its creator, Microsoft co-founder Paul Allen, his sister and estate executor Jody Allen has been unwinding many of their diverse businesses and philanthropies for a more narrow focus, theoretically in line with his hope to give most of his wealth away after his death.

However, Allen's main business Vulcan ([https://www.vulcan.com](https://www.vulcan.com) ) continues and remains locally famous as a commercial real estate developer and Amazon's main landlord in Seattle.

<comment><USER3> This is devastating, not just for computer geeks in Seattle, but all over the world. The LCM was one of a kind.

I organize an annual developer conference [1], and one of the highlights of my life was renting this place out and inviting ~400 fellow devs to spend the night playing with mainframes & vintage PCs [2] and signing karaoke.

[1] [https://2020.cascadiajs.com](https://2020.cascadiajs.com)

[2] [https://twitter.com/ermap/status/1063697148514983936?s=21](https://twitter.com/ermap/status/1063697148514983936?s=21)

<comment> cthulhu-bot I was at that cascadia conference and getting to visit LCM was the most amazing and unexpected treat I could have ever imagined. It was an entire evening of geeked out bliss. I can't thank you enough for making that happen. The talks were all great but this for me was the highlight of the conference.

</comment></comment></comment><comment><USER4> This was one of my favorite museums in the world.

My wife and I have many good memories playing checkmo against a beautifully maintained PDP-8 At the museum. She just yelled out a genuine "No!" when I relayed the closure.

At one point they kept a binder of photos of victorious players.

We never made that binder and I guess we never will.

<comment><USER5> For anyone in tech visiting Seattle, this was always my first recommendation.

The hardest part about history is that human minds are unwilling to grasp the 'realness' of it. Being able to directly touch and play with the past reality really makes you appreciate how we arrived at modern computers.

</comment></comment><comment><USER6> They seemed to do what no other (perhaps very few) places have done; have real vintage machines accessible via the internet[1].

I know there are still real-hardware microcomputer BBS's (the C64 scene is arguably the biggest), but is there ANY other place that puts real big iron on the internet?

As a retro computer nerd, I hope these machines aren't silent in their storage units, and will one day again roam the internet with their descendents.

[1][https://www.livingcomputers.org/Computer- Collection/Online-S...](https://www.livingcomputers.org/Computer- Collection/Online-Systems.aspx)

</comment><comment><USER7> Does anyone have any ideas as to why Jody seems to be... betraying Paul's legacy, for lack of a better word? The only eccentric public indulgence of his that looks like it's going to survive is the MoPop museum, but that's because it's self sustaining.

<comment><USER8> It sounds like beyond MoPop and some of the brain research work, the legacy was not to be operating his projects, but rather giving away his fortune for causes.

I wish Cinerama was self-sustaining... and LCM is a huge loss... but I suppose they aren't 100-year institutions as they were created by Paul, but rather, showing us what is posible.

<comment><USER9> Which means that it's up to us to make these long term institutions somehow.

</comment></comment></comment><comment><USER10> fuck fuck fuck.

I had no idea it was being shut down, that place was really one of a kind. I think there are few places where you could see a running Alto. The scope of what was there and the breadth of what was running was simply incredible.

Sounds like it won't make a return which is truly heartbreaking.

<comment><USER11> I was able to visit this last year, crashing the Alto while trying to write some smalltalk was such a fun experience.

I doubt it could ever really make money but its just such an amazing experience.

</comment></comment><comment><USER12> Very sad to see them shut their doors. When I was writing a blog article on using the Unix command line, they gave me access to their PDP-11 running Version 7 as well as a VAX 11/780 running BSD Unix - completely free.

Was a bit of magic that made my day since I hadn't used either platform in, of course, a very long time.

</comment><comment><USER13> These folks provided vital help in helping the team reviving a Xerox Alto at the silicon valley Computer History Museum.

[http://www.righto.com/search/label/alto](http://www.righto.com/search/label/alto)

</comment><comment><USER14> Man this makes me sad. I got a membership about a year ago with the intention of bringing along some friends (after visiting with family), but looks like that won't be happening.

Playing Oregon Trail on some oooold machines was good.

</comment><comment><USER15> What? No! I've been there last year during my Seattle internship and it was the most amazing experience having grown up after most of the machines exhibited were around.

There have to be some philantropists around who got rich in computing and have an interest in keeping it alive.

It is one of a kind, I was raving about it to everyone. I'd be happy to donate even though it's across the world from me.

</comment><comment><USER16> >"I'd be lying if I didn't shed a tear when turning Rosencrantz (the VAX, running perpetually for a decade) off, wondering when it would run again."

This is truly sad -- VAX (at least the early ones where the CPU was implemented as cards with discrete electronic components) was the last truly transparent hardware...

</comment><comment><USER17> This is a real shame. I moved to Seattle at the beginning of COVID and never got to take a look before it closed. Hopefully they'll be back, maybe in a new location?

Edit: Maybe some tech exec with enough money that the museum's expenses are a drop in the bucket could help?

<comment><USER18> I moved here about five years ago, learned about the museum about a year ago. I now regret not finding time to visit, I'd assumed it'd always be there.

<comment><USER19> Similar story for me (I don't live in Seattle but I go there every few months). Except...last year we did a family trip where we needed for reasons to split the family for a day. So I used my free day to visit the museum with my oldest son. Feeling pretty lucky now to have had that somewhat random chance to visit. Also the bagel place next door wasn't bad.

</comment></comment></comment><comment><USER20> This is very sad news indeed. For years I have longed to visit this museum.

I hope that they choose to reopen or that it can be purchased and turned into a more sustainable operation. I would gladly donate at least $1000 to such a cause if a viable proposal could be formed...

</comment><comment><USER21> I really liked that place. I vacationed to Seattle and I saw it the same day as the Connections Museum, which is exceptionally fantastic.

Old telecom switches, some over 100 years old, still fully operational. The guided tour was just extraordinary. [https://www.telcomhistory.org/connections-museum- seattle/](https://www.telcomhistory.org/connections-museum-seattle/)

They have multiple phones hooked up to these old switches. After explaining the machine the tour guide picked up a handset, dialed a number and you'd hear "clickety clickety whir whir" and see these mechanical bars move around and the other phone would start ringing. You'd pick it up and have a conversation. Really magnificent. They had two 1960s video phones and you could have a conversation across the room.

There's a constant humming of belts and mechanical clicking, it's this really unique and distinct experience. Not many people were there the day I went so it was just me and a friend on what felt like a private tour. Very intimate. The guide was an old homebrew computing club member, extremely competent.

Also if this is your thing, Berlin has a computer gaming museum which is also amazing called Computerspielemuseum.

The living computer museum was just too good to be true. I hope it comes back. They had a Xerox Alto and an Apple 1 you could use. Just walk up and start typing away.

I had read a lot about the Xerox machines but I never used one. So it was just extraordinary to try all the things I've read about, it was like meeting a celebrity. The kludgy copy and paste before dragging was "invented", the VisiOn style menus, the clunky scrolling without scrollbars, all there.

They even encouraged you to program on punch cards to feed into some 1960s era machines they had running, including a CDC super computer. Or you could go use Unix on a teletype terminal and see the reams of paper pass by.

I had read Tracy Kiddals Soul of a New Machine about the Data General Eagle Computer, but I never thought I'd see one in person, just sitting there waiting for me to interact with it.

Or that I'd ever have a chance to just lounge on the couch of a Cray XMP.

The only things missing were foreign machines. No acorn or omron or any of the Soviet clones but if you set that aside, just great (unless there was a room off to the side dedicated to them that I missed... Quite possible)

As long as I'm plugging museums here's my short list: Imperial War Museum and the British Library, London, Philadelphia Museum of Art, Museo Nacional de Antropología, Mexico City.

Every 5 feet of all of those is just shocking in what famous and wonderful artifacts they have. Philadelphia's is world class, better than the MET, better than the Smithsonian, don't pass on it if you get the opportunity

<comment><USER22> Seconding how incredible the Connections telecom history museum is. I'm scared for them too, as they're definitely on a shoestring compared to the LCM -- I think they were only open one day a week and staffed heavily (if not completely) by volunteers.

<comment><USER23> They also have annoying power requirements (48v, 1000A) to run all of the legacy phone equipment, making it even more difficult to move. Their current landlord provides that to them as they are taking up the top floors of a phone company switch office (building was built for old gear which took up a lot more space and power).

<comment><USER24> Hi there! Connections Museum volunteer here. We're on good terms with our landlords (CenturyLink). While we are 100% volunteer run, we also are part of an independent non-profit, the Telecommunications History Group.

We've been keeping busy during quarantine, working on all kinds of restoration projects, and look forward to being able to give tours when that's safe again. For now you'll have to get by with our youtube channel.

And our power draw is more in the neighborhood of 200A than 1000A :) With respect to moving, the greater challenges are that everything is hard-wired together (not connectorized) and we'd need a space with 13+ foot ceilings that allows high floor loading.

</comment></comment></comment></comment><comment><USER25> I'm a bit confused as to why something like the LCM didn't have a trust setup so that it could operate indefinitely?

<comment><USER26> My understanding, hearing from Cinerama folks, was that Paul trusted Jody instead of putting things in writing.

</comment></comment><comment><USER27> If I'm reading this right, they are just pausing operations to save money, until COVID is over and they can re-open?

<comment><USER28> They are shutting down the museum and laying off the staff.

They may be able to reopen at a later time, but that is unclear now. The closure for that long may drain their finances beyond recovery.

<comment><USER29> I wonder if Bill Gates will up and keep that aspect of his one time friend's legacy alive.

<comment><USER28> Legend says he and Ballmer tried to take over Allen's share when they thought he would die of cancer. It could be a nice posthumous apology.

<comment><USER30> It's hardly legend, Allen heard them talking about it when they didn't realize he was in the office.

<comment><USER31> As nasty as something like this made them look, what is being discussed here makes it not unreasonable. They liked being partners with Allen but were worried about his heirs having control of their company as they might have taken it in a direction Allen wouldn't have approved.

</comment></comment></comment></comment></comment></comment><comment><USER19> Now we have a use for Elon Musk.

</comment><comment><USER32> I feel incredibly sad that I never visited this museum while I could, and won't be able to bring family and friends to visit it in the future. Hoping someone somehow will find a way to revive it again.

</comment><comment><USER33> [https://news.ycombinator.com/item?id=23713704](https://news.ycombinator.com/item?id=23713704)

</comment><comment><USER34> I can still log in to Rosencrantz, their VAX, at this moment. For how long? I guess my little donation would not save the place now :(

<comment><USER35> I couldn't login into their systems about a week ago. I just tried again after your comment, and now it works for me too. But yeah, for how long?

<comment><USER34> Same here, some time ago it did not work. I thought some old HW is causing trouble.

</comment></comment></comment><comment><USER36> Very sad :( I remember having the chance to go there and meet amazing people (one of them worked on the first micro kernel) being able to see a real PDP working ... I don't get why bill gates would not back up his friend s old project :(

<comment><USER37> Unbelievable with all the money sloshing around in tech that nobody has funded this. The museum was a very special place.

</comment></comment><comment><USER38> I loved playing with an actual, physical, working teletype terminal when I visited. It'll be really sad if they shut down for good.

</comment><comment><USER39> This is so sad. I love this place and it was a great place for kids to learn too. I hope it comes back one day, or something like it.</comment>


Fuck the Accolades. Seek the Criticism. - <AUTHOR> http://www.quora.com/Brendan-Baker/Fuck-the-Accolades-Seek-the-Criticism

<comment><AUTHOR> great short piece, concludes with this advice:

       If you're doing something big, people will compliment you. Most will
       give you accolades or be quietly supportive. But it's those who
       simultaneously support and challenge you who can help.

       The best teams know this. They embrace feedback and seek criticism.
       They find ways to change and improve. And they know that when someone
       criticizes them, it's an indication of respect. Only the people who
       really care risk helping us improve.

       Fuck the accolades. Find the knowledgeable criticism.</comment>


Should I Use A Button? - <AUTHOR> http://www.shouldiuseabutton.com <comment><USER2> So, I've always described the distinction between buttons and links this way:

Buttons do something, links take you some where. When I see a button, I assume something is going to happen. Something is going to change. An event is going to occur. When a button just takes me somewhere, it gets confusing.

I understand style is important, but for me, if it looks like a button, I'm going to assume it acts like a button. Acting like a link makes me worry that I missed something. That leads to frustration.

Buttons do, links lead.

<comment><USER3> Your second paragraph is worth more than that entire site.

<comment><USER4> buttonsdosomething-linkstakeyousomewhere.com is still free :P

(and so is shouldiregisteradoma.in)

</comment></comment></comment><comment><USER5> Using this site in IE9 is like an existential crisis -- pressing the button doesn't do anything, but it's there, so you're left wondering "should I use a button?"

<comment><USER6> In Chrome I had to click the first button 3 times before anything happened. I was beginning to think the same thing.

</comment></comment><comment><USER7> It would be great if there were some examples of good and bad buttons and their contexts.

<comment><USER8> Yes. This site had exactly as much content as its url.</comment></comment>