Almost everything on computers is perceptually slower than it was in 1983 - <AUTHOR> https://tttthreads.com/thread/927593460642615296 <comment><USER5> This could be a copy-paste of rants I have written. I think marketing has ruined pretty much everything. Everything has a subscription now, and it's _in the cloud_.

My experience is that everything is slower than when I first started using computers as a child in the 90's, and it does it worse. You don't own anything anymore, upgrades routinely take away features, and nothing interfaces with anything else.

There are a lot of reasons why building an app on a web framework makes sense, but the fact that I routinely lose access to applications I've paid for because the company has gone out of business or stopped supporting them drives me insane. I can still install Excel 97 if I want to, but I have 0 confidence that anything I've bought from Google will work a year from now.

I mean, there is perceptible lag in character entry that never used to happen. Sure, my computer used to freeze inexplicably, but Atom crashes often enough that I don't consider that a win, and text has a noticeable delay before it appears on the screen when using Atom. Text entry is something I can implement flawlessly on a microcontroller and the majority of applications I use on a daily basis get it wrong.

<comment><USER6> We've even managed to slow down things like Excel 97. I played with a 486 laptop recently, and was completely amazed at how fast things like Word felt (once they'd loaded off the ancient hard disk).

The most immediately notable part was the typing, which felt completely instantaneous. I haven't found out exactly why, but the switch from serial to USB keyboard interfaces (and the lag therein) as well as the various windowing pipeline "improvements" over the years seem to be in the mix.

<comment><USER7> on PCs, keyboards were never "serial" as in "the serial port"(mice were), but they were always "serial" in the same way that the USB port is "serial". Perhaps it's better said that the switch from a special-purpose interface to USB is what introduced lag.

<comment><USER8> I know on microcontrollers, if you want to reduce jitter (by sometimes up to a magnitude), you disable USB. Ive noticed my interrupt loops on ARMs go way down when the micro doesn't have to service USB.

But then you have to use an STLink to upload programs.

</comment></comment></comment></comment><comment><USER9> I wonder how much of this is a result of UI designers deliberately putting tiny delays/animations into their UIs to make them more "usable"?

For example, it was a common piece of advice that if clicking a button opens up a dialog box, there should be a brief animation showing the box expanding from the direction of the button, so the user would associate the clicking of the button with the appearance of the box and understand where it came from. This does actually improve usability the first few times it happens, but over hundreds of iterations these tiny delays really slow down the overall experience of using the interface.

<comment><USER10> Just last week I discovered I could disable animations in Android through the hidden developer options. It's fabulous. The only initial quirk was no visual feedback when a picture is successfully taken, so it felt like i missed the button, but I've gotten used to it already.

<comment><USER11> Does anyone know if you can do the same with iPhone?

<comment><USER12> Settings -> General -> Acessibility -> Reduce Motion

<comment><USER11> Oh nice, thanks! Unfortunately it seems that apps still animate.

<comment><USER13> Yeah and I still see a lag from opening apps.

</comment></comment></comment></comment></comment></comment><comment><USER14> The front end developer at one of the companies I was working for nearly fainted when I told him I like Craigslist's web interface. The only criticism he could muster was "But it looks like the 90s". And then he proceeded to tell me off "because you don't want to learn how to use a new interface". Of course I don't want to, it is a skill with zero transferability. Learning how to be productive with an interface that only works with 'a' given app, for 'a' duration of six months until some bozo changes the whole UI, because some focus group decided that "it would look so pretty if ..." (and that is the best case scenario, mostly it is because some UI/UX guy was inspired while sacrificing chickens to a graven image of Steve Jobs) is bunk. The two most hated things that came out of Redmond in the last 20 years were the 07 rejig of the Office UI (so you had muscle memoried a bunch of key strokes that made you super productive, well the F U buddy, we are going with this weird ribbon thingie for no discernable reason - fixed that by recording a bunch of macros that did what Office 03 did) and the Win 8 UI. I mean which diseased mind thought that it would be a good idea? And if that was not retarded enough, to force it on server users.

<comment><USER15> Craigslist has an amazing interface. It's so easy to use. It's ugly, but who cares! I don't care if it's pretty. It does exactly what I want. There was a great article on this a few years ago that I think is perfect: [https://m.signalvnoise.com/why-the-drudge-report-is-one- of-t...](https://m.signalvnoise.com/why-the-drudge-report-is-one-of-the-best- designed-sites-on-the-web-c34f764c3c4c)

<comment><USER16> And honestly, to make it not be ugly would really only require some tasteful CSS, not a redesign or rewrite in some JavaScript framework.

</comment></comment></comment><comment><USER17> In the name of usability, we have practically neutered these computing machines. I think optimizing for user experience is partly to blame for this. You don't want users to have a confusing experience the first time they use the application, and you want the application to look good and be inviting. But that may be at cross purposes with making applications that allow open- ended exploration. Exploration implies that the user is driving the process, which suggests that the UI is not actively trying to constrain them to the usage patterns it is designed for.

I think pretty much everything in computing is like this. By setting our sights on enabling users rather than training operators, we have not only limited what they are able to do, we have actually turned ourselves into users, and we're basically unable to program without the help of frameworks, libraries and Stack Overflow.

<comment><USER18> > I think pretty much everything in computing is like this.

But then there's Dwarf Fortress, Blender, Vim, Emacs, ...

Accounting for Sturgeon's Law, things aren't _quite_ so bleak.

<comment><USER19> Did we forget how Emacs used to mean "Eight Megabytes And Constantly Swapping?"

Saying that as an Emacs User for almost 20 years now. Even today there are things that can bring Emacs crawling to its knees. The moment you start adding auto-complete to a big project, or if you have your files hosted in some NFS server, you're SOL.

<comment><USER20> The autocomplete is somewhat easy to fix in principal. Just offload to a daemon for the autocompletes, for example.

No, I haven't bothered with it. :( I did setup GLOBAL, which is quite nice. Though, many languages nowdays would benefit greatly from a presentation compiler. Which seems silly, at the extreme. It isn't like projects have gotten more complicated in scope. They have ballooned in implementation complexity, though. :(

</comment></comment></comment></comment><comment><USER21> Last year, in a fit of nostalgia I finally bought an Apple IIe, a system I had wanted 30 years ago, at a garage sale. Somehow in moving it back to my house, I dislodged the floppy controller card, leaving the system to boot from ROM. I turned it on, it beeped, and there was the prompt. I perceived it as instantaneous. I know that from that point I could have written a BASIC program and saved it to a cassette tape. The anecdote falls apart once you actually start trying to boot ProDOS from disk and have to rely on the something besides solid state.

This experience got me thinking. What has changed in the meantime? Computers have become communication devices and communications devices have become computers (though even this ancient Apple came to me with a modem installed). Developer time has outstripped hardware costs, and somehow an hour of developer time is worth the same as wasting a million hours of the users' time (1 million users x 1 hour or whatever formula you wish).

I think we all recognize this problem, and it's already too expensive to fix. The hardware and software space are too federated, too balkanized, too complicated to ever integrate a system into a cohesive whole in the way the Apple II was.

<comment><USER22> > Developer time has outstripped hardware costs, and somehow an hour of > developer time is worth the same as wasting a million hours of the users' > time

Key point here. It's hard to get the biz guys and product managers to agree with spending developer hours on performance improvements, because it's hard to measure the effect it has on business metrics. Does making your application take 750ms to launch rather than 8 seconds really bring in more sales? Who knows? Nobody tries to measure it either, so we'll never fix the problem.

Feature cram, on the other hand, is easier to justify, which is why every application eventually ends up with a plug-in interface, theme-able, skin- able, able to read E-mail, and able to interact with Facebook and Twitter.

<comment><USER21> And I'm not even talking specifically about application performance, though what you're saying is still absolutely spot on. Think of all the time wasted because of poor, or incomplete documentation. An I sympathize with anyone writing documentation. We're definitely still in the era of move fast and break things.

These costs which accrue to everyone because no one can afford to take it on themselves, I would call externalities in the same sense we do when talking about pollution.

</comment></comment></comment><comment><USER23> The core point of the entire thread can be summed up by one of the tweets; "I believe well designed keyboard interfaces and well designed GUI interfaces have exactly the same learning curve."

I agree with this. A properly and well designed keyboard interface is faster than any mouse. On the other hand, a properly designed mouse interface can be fast too. Both need to be applied when it makes sense.

I can also resonate with the GMaps example; people find it rather ridiculous that I prefer to use pen and map to plan routes but GMaps simply does not cover the complex demands of holiday routes with family.

<comment><USER24> IMO Google Maps became completely awful when they made that new version of it, and they've been doing everything in their power to continue making it worse. Sure the scrolling is a lot smoother, but it's missing just a ton of features that the old version had. Plus the problems mentioned in the tweet storm, everything disappearing as soon as you change one item. PLUS that stupid side- bar that takes up half the screen now.

Edit: Here's another good one I just ran into -- I can't sign out of just one Gmail account. I have to sign out of _all_ my Gmail accounts, and sign back into the ones I didn't intend to sign out of.

<comment><USER25> I suspect most of gmaps' problems are there because it's an advertising company. They don't want you to plan a route, they want you to click on local search ads: [https://support.google.com/adwords/answer/3246303?hl=en](https://support.google.com/adwords/answer/3246303?hl=en)

Note that if they clear your pins so you have to re-search for something, that's potentially another CPC payment to them...

You can sign into _multiple Gmail accounts_? How on earth does that work, does it involve the menacing prospect of "linking" them?

<comment><USER24> I'm not really sure how it works under the hood, not being terribly familiar with how these login systems work, but you can basically (in your browser) click "add an account" and it will open a new tab and you can sign into the account. So right now I have 3 tabs open for gmail with 3 different accounts.

</comment></comment></comment></comment><comment><USER26> Given the speed of modern computers, I'm fascinated by the fact that so many processes complete in human-scale time (seconds-minutes), rather than milliseconds or years+, depending on problem complexity. If times for compute tasks have some power law distribution (a big if...), I'd expect a very small part of that distribution to overlap with the 'seconds' range.

Then again, computers do _so many things_ in the millisecond range and faster that maybe what we observe IS only a small fraction of the total.

<comment><USER27> It's a relief to do a bit of Go from time to time, render a complete html template in 40 ms (with almost 2 MB of JSON data) instead of spending forever figuring out the JS framework du jour to do the same thing, only with it feeling a lot more involved, heavyweight, and slow - even if said framework claims to be faster than all the other JS frameworks.

I think I want to do back-end or terminal-based interfaces again. Native interfaces. Mmmmm

<comment><USER28> This has nothing to do with Go and a lot to do with choosing the right tool for the job. Maybe Go is the best tool for you in this job, but a given js framework can serve someone else just as well if it is in their expertise area. Don't confuse your expertise with language/ecosystem pros and cons.

<comment><USER29> This has nothing to do with choosing the right tool for the job, but with performance, which this discussion is about. Practically all JS frameworks, having multiple levels of (near-inscrutable) abstractions naturally degrade the performance and certainly contribute to the trend the submitted twitter thread is talking about.

</comment></comment></comment></comment><comment><USER30> No? Getting on a BBS in 1983 at 300 baud means text files "downloaded" at the same speed you can read. Word processors were crazy painful to use, and incredibly slow. A text editor was just a line-by-line replacement. My TRS-80 would slow to a crawl even making the most basic (ha!) of programs.

Over the years, I've often thought about why computers never seem to get faster - mostly it is because people have a tolerance for response speeds, and that is unchanging. So software sits somewhere inside that tolerance range, because why be ultra fast when most people don't really care that much?

<comment><USER31> Yeah. For me in 1983 loading something meant 5 mins waiting for the cassette to play through. Switching to a different program meant repeating the process again.

<comment><USER30> One of the computers I had was cassette tape based, and the tape "reader" broke. I was rather shocked to find I could use my parents cassette player and connect its output to my computer, and it would (generally) read tapes just fine. As a bonus, I figured out how to have the speakers on the tape player on at the same time so I could listen to my programs being read in :D

</comment></comment></comment><comment><USER32> It's a tragedy of the commons. It's very rare for one piece of software to be solely responsible for slowness, but each individual piece contributes just ever so slightly.

I happen to know quite a bit about front-end technologies, so I'll speak to those. Bootstrap is around 100 kilobytes. One hundred thousand bytes - <USER2> gzip and minification. By itself, is it slow? Not very. Bootstrap fans will point you to endless benchmarks and tests that show its impact on performance. Same with React: one hundred and forty five thousand bytes, after gzip and minification [0]. According to React fans, React is blazing fast!

But development happens, so you throw in a few hip libraries and frameworks and suddenly Slack takes one billion bytes of RAM. Whoops. "But it's not React's fault!" Sure it's not. If React is the only bloated thing on your site, it will work great. But chances are that if you've got React, you've also got Bootstrap, and some visualization things, and some code from Stackoverflow that iterates over your DOM in O(n!^n!). And all of that is how things get slow.

Now, I might be a bit biased, because I spent years of my life working on a CSS framework 100x smaller than Bootstrap, but I think that if everyone spent time optimizing the size of things to be 100x faster we could get back to snappy UIs. Yes, it would be hard, and yes, it would require compromises, but the result just _feels_ good. There's something about a webpage loading in 250ms, or a button reacting as soon as you tap it, that just feels nice. Maybe it means not using React; maybe it means you don't use as many nice-to-have frameworks, but I think it's an achievable goal.

[0] React fans will point out that if you don't need to interact with the DOM, this gets smaller. Yes, this is true, but obviously for most webpages you kind of need DOM interactions.

<comment><USER33> I've written many sites with React, Bootstrap, and a dozen or three other third party dependencies, but I've never run into a case of a button not responding when clicked or things taking a noticeably long time to load (assuming that the server processing or sheer size of the payload over the network isn't the cause).

I think a lot of it boils down to "don't do work you don't have to." But there's nothing about a framework that causes -- or saves you -- from that.

<comment><USER32> Great work on the sites you've made! Unfortunately, most of the time when I see a simple webpage not responding or lagging heavily, it's made with React/Bootstrap.

It's particularly tragic when the page is only text and images.

</comment></comment></comment><comment><USER34> This! I once took over programming a point of sale system that our (internal to the company) users were complaining about. Turns out there was no concept of tab sequence, you had to use the mouse for everything. I asked the previous programmer to show me how to use the form he created, and he started typing a phone number using the _top row_ of the keyboard instead of the numpad. But hey, it had lots of javascript!

<comment><USER35> I don't get your point about typing phone numbers. When I was being taught to touch-type in first and second grade, my teachers told me that I should type on the top row, not the numeric keypad. Not sure why. Maybe because it takes less time to move to the top row and back? Anyway, to me, typing numbers on the top row is not an obvious problem.

<comment><USER34> I mentioned that because I thought it showed how he'd never really watched one of the users in their job- once you get used to the numpad it's a _lot_ faster. You can type in a long number very quickly without taking your eyes off the screen.

</comment></comment></comment><comment><USER36> The web feels slower than it was 10 years ago too.

It's fascinating how we tend to over-engineer and bloat things.

<comment><USER27> The web is hundreds of times more feature-rich than 10 years ago too though. But, sites like HN are some of the few that are still built like they were 10 years ago. The rest all adds rich JS frameworks (for supposed faster interaction after the first load), a few billion social links, ads, cookie banners, "sign up for our newsletter" or "pay our subscription pls" popups when you first land on them, rich fonts, animations, images, etc.

I mean it's a lot nicer if you look at it from a distance after it's loaded, but it's not as snappy as it used to be.

<comment><USER36> I agree modern websites look a lot nicer... Or do they?

They all look the same: big images, not much text, the top bar, yeah this newsletter thing to upsell with these crappy (but effective) marketing techniques...

Somehow I feel old school websites (HN, Reddit, and so) are more sticky, more addictive, more unique. They focus on what we really want: contents and communication with others.

<comment><USER36> Another thing I realized it's nonsense lately: object oriented programming.

It's often an over-engineered bloat that only works for trivial Programming 101 courses (yeah the famous Employee or Bike class). But in 10+ years of programming, I found that OOP is just a complete mess (you end up with awful classes in your code like Service, Manager, AbstractFactory, and so).

I wish we could just use variables and functions, that's all we need really. :)

<comment><USER37> > I wish we could just use variables and functions, that's all we need really.

You still can. You need decent data structures too, but I never in over 20 years really "got" OOP. It seemed needlessly complicated. Functions and data always seemed to do the job for me.

<comment><USER38> OOP as most people get to know it seems to be a bleak application of the original concept.

And the original was not aimed at dealing with the internals of a single program sitting on a single CPU, but grand simulations running on massive clusters. There each "object" would could very well be a process of its own, running on its own dedicated hardware.

Effectively OOP became another one of those buzzwords on the bingo board...

</comment></comment></comment></comment></comment></comment><comment><USER39> I think what guy is actually experiencing strong feeling of nostalgia for older times. And I understand that. I see it on myself more and more with coming years too. We were simply born in some era, which holds strong memories in us. We hold sentiment to old things (programs), because somehow they're connected with best memories from time we were much younger. And the best memories are usually bounded to age around 20 - 30. Ask senior to tell you a story from his time and there is high probability that the story will be from their younger times, than from older ones.

My point is, that maybe todays software is not all that bad. We just don't feel the same needs as 20 year old guy somewhere at Google who programmed it. And it also works apposite way too. Show 20 year guy Visicalc, what he will think about it. Or check teens reactions to Windows 95.

[https://www.youtube.com/watch?v=8ucCxtgN6sc](https://www.youtube.com/watch?v=8ucCxtgN6sc)

<comment><USER40> But maybe it is. On nearly every metric that matters to power users software is worse.

Control? We have less.

Options? Less.

Ownership? Not that we ever had it, but now you don't even get a disc. Licenses are even more restrictive.

The pace of 'upgrades'? Way, unnecessarily faster

And when the business dies now? Now you're fucked.

There are stories of mechanics running their shops today with 40-year-old dinosaurs, where their biggest logistical issue is getting old parts to repair when it breaks. It was sad that the magazine article I read that story in laughed at the "backwards" proprietor, when in fact he is a hero for standing up to the current trend of users-as-serfs cloud everything.

<comment><USER41> "Options? Less."

How so, given that more people are able to write software, and it's easier to create something than ever before?

"And when the business dies now? Now you're fucked."

How is that any different than before?

<comment><USER40> You've answered your own question... more people are learning to program, from fewer and more professionally run sources, which preach a gospel that prizes engagement, conversions and ease-of-use, over empowerment, functionality, or choice. Plus, with this larger and more mainstream community, where 'coders' are pulled in off the street with little technical knowledge (let alone passion) who never grokked complex apps anyway, produce what they know. The end result is a sea of gimped, appliance-like 'apps' that do little more than funnel users towards business objectives.

And when the business died, their software still ran. Hard-won expertise kept it running. No stupid CEO or developer could stop you, and neither could they pull the rug out from under your feet with a sunset or some other shitty move. You bought your software and that, mercifully, could be the end of your relationship with that publisher.

<comment><USER41> This doesn't really address my point. You still haven't explained anything regarding choice, or any of your other points.

</comment></comment></comment></comment></comment><comment><USER18> What's _really_ annoying and frustrating to me is that, even with a browser extension/plugin like Vimium, websites and webapps seem to almost go out of their way to break my ability to use my keyboard.

A lot of the changes that break usability for me are purely cosmetic changes that, e.g. replace a `button` with an `img` or `svg`.

</comment><comment><USER42> The corporate culture to release a product in time rather than having it perform fast ruined the IT world and is infecting the FOSS ecosystem too. Just throw away all VM-constrained or interpreted languages (or use them only for prototyping) and the problem is almost solved. Then make everything work offline unless it is absolutely necessary to do the opposite (backups, updates etc). Rediscovering the lost art of optimization would also help a lot.

<comment><USER43> This does not work. The economic incentives are biased towards fast releases of mediocre software. Whoever delivers faster and cheaper tends to win.

Quality is detrimental to the business. Good software does not require support. Paid support earns money.

An initial release that is stuffed with features takes longer to develop (the competition gets the customers) and has fewer incentives for later upgrades (less income after initial release).

Software cannot really improve unless quality standards become mandatory. The liability disclaimer should go. Engineers don't get a free pass if their products don't work. Why should software be treated differently?

</comment></comment><comment><USER44> Funny to have a rant on UX on medium not suitable to long form posts.

It is sadly very similar in desktop realm. You can't copy text from the most part of the interface. There can be an error and you have to rewrite it to find what is this all about. The computer has this already written down, it's just silly. That is the one thing that usually is better about webapps. Of course there are silly designers who want to expose their users to the same limitation, by blocking copy or context menu. But usually they don't do this, because it's more work.

That's why CLI will likely never die. By default you can manipulate the data to your heart's content. It may be slow and sometimes half-assed, but it still will be faster. You don't have to rewrite anything. It's a bit sadly the closest we have to a data-oriented system. Where one can manipulate all available information without massive hurdles. Only with some hurdles.

What else: Oberon, Plan9 interfaces (Acme!), Powershell, AppleScript (? - <USER3> I was using OSX at work few years ago I couldn't find reference manual of the language), certainly more throughout the history.

We can't do anything useful in 2d and yet we are working on VR/AR interfaces where undoubtedly we will make same mistakes (and more!).

<comment><USER45> > By default you can manipulate the data to your heart's content.

[http://blog.vivekhaldar.com/post/3996068979/the-levels-of- em...](http://blog.vivekhaldar.com/post/3996068979/the-levels-of-emacs- proficiency)

</comment></comment><comment><USER46> Recently I discovered how well sapGUI works from the UX perspective. It is essentially an glorified graphical 3270 terminal emulator which runs applications that very often rely on user entering cryptic but human readable IDs (there is lookup functionality integrated in essentially all such fields, but frequent users typically do not use it that much).

Another interesting fact is that the 3270/sapGUI/dynpro model is almost perfect match to how HTML forms work (with the inline lookups and such stuff being the small part that would require some trivial JS/AJAX). I don't understand why today's web apps universaly try to reinvent the wheel by being "single page", emulating desktop WIMP interfaces and such things when simple HTML would work perfectly fine.

Edit to add another point: For our anime conventions I wrote our own online ticketing system. It has web interface for customers and general administration, but the on-site box office uses ncurses interface which intentionally has very ISPF-ish feeling to it, genral consensus of the staff seems to be that it is significantly more efficient and intuitive than web based systems used by other local conventions.

<comment><USER47> 3270 is really fascinating evolutionary dead end. I don't have first-hand knowledge (wish I had!), but as far as I can tell it is bit like high-level ncurses/dialog(1)/forms built in directly to the terminal layer. Of course being very proprietary very enterpricy tech, there isn't that much information about how it worked in practice, but it certainly feels like a very different path for UIs.

<comment><USER46> 3270 allows user to edit screen contents without interaction with host computer and allows host computer to mark screen regions as user editable or not. Interaction with host mostly consists of sending (text) framebuffer contents back and forth.

SAP's dynpro is abstraction layer on top of that which presents somewhat higher level view of that (forms and fields, not framebuffers and characters) and also allows 3270's behavior to be emulated on normal character-oriented terminals (obviously by ncurses-like software running on host). This abstraction is sufficiently high-level that sapGUI can look like somewhat modern desktop application instead of obvious 3270 emulator. (Windows version of sapGUI allows you to render parts of UI as embedded HTML or ActiveX components, but that capability does not seem to be used that much outside of SAP's development tools)

From programmer's point view it is not that different from web 1.0 application built on semi-modern form handling library (eg. WTForms or whatever your all- in-one webapp framework provides). Probably only difference is that for web frameworks you will have if(form_submitted_and_valid()) somewhere, while in SAP body of that conditional and rest of the controller implementation are always two distinct procedures.

</comment></comment></comment><comment><USER48> This lends itself to supporting functional physical design. I'm getting tired of the screenification of everything. I don't want a touchscreen in my car. I want a bunch of knobs that I can reach for, feel, and use without looking at them. I cannot do this with a touch screen.

<comment><USER49> i strongly agree. a physical thing is just more expressive, and when designed right, that can be leveraged. cars are the example ne plus ultra of how touchscreens arent always a great idea

</comment></comment><comment><USER50> > And it's worth noting that HYPERTEXT, specifically, is best with a mouse in > a lot of cases. Wikipedia would suck on keyboard.

A decade ago I would navigate web pages quicker than now. I was using Opera, which had keys for navigating from hyperlink to hyperlink (spatially, using shift+arrow keys). It also keys for navigating to the logical previous and next page--that is, not navigating history, but following "link rel=prev" and "link rel=next" links. Unfortunately, the web evolved to make this harder. Everything is a hyperlink and no one uses link rel tags anymore.

<comment><USER51> It's possible that the vimium extension for chrome will give you what you want. The 'f' shortcut gives something similar to what you want.

</comment></comment><comment><USER52> The thing that _horrifies_ me about all of this is that instead of criticizing or fixing issues most people adapt what they do and even how they think to match all the deficiencies in software. Often, users simply can't imagine systems that work fundamentally differently and better. Often, when deficiencies are pointed out people start _defending_ the mess and pointing out all the clever (half-assed, really) workaround and hacks they came up with. They are proud of all the time they spent (wasted) learning about obscure and counter-intuitive software functionality. They are proud that barely-working plugin/extensions/add-on they found and set up. All of that to do thing that should be trivial to begin with.

One counter-point, though.

 _> I make no secret of hating the mouse._

If you look at the original uses of the mouse it was great. Especially in systems like Xerox Star. Star allowed people to perform complex tasks with almost no learning curve.

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

(Note how they weren't shy of using keyboard either. There are dedicated hardware buttons for standard commands like copy, find, repeat, "properties" and even for common text editing actions. Meanwhile, our keyboards don't have dedicated keys for undo, redo, cut, copy and paste - operations that are used in almost every application today.)

Trouble is, we lost most of the driving ideas behind Xerox-style interfaces. Using a predefined set generic, powerful commands. Object-oriented UI. Uniformity of representations. Modern system have those things only as vestigial traits and in very limited contexts.

I don't think there were any quantum leaps in conceptual UI design since Xerox Park times. There were some minor improvements in very specialized apps and significant regression in software that's used universally. For examples, phones and tables almost completely lost drag-and-drop functionality and generic file UI.

For example, drag-and-drop is a very powerful concept, because it allows you to perform actions by combining things you already know about - and those "things" figure out how to interact in the best way possible. So, for example, instead of having N "Print" buttons in N applications you can have a singe drag-file-onto-printer-icon action that does different things based on the type of the file. [BTW, this is also the key idea behind the original notion of OOP.] Unfortunately, that's not how it works in modern UIs. They don't use _either_ the keyboard or the mouse to their full potential.

<comment><USER53> People get used to doing things a certain way. When they have to overcome a terrible interface, an attachment forms. It's no different than the pride of those that live in physically harsh environments.

Habituation is a powerful thing.

</comment></comment><comment><USER54> I think a lot of the perceived slowness is now the fact that so much more is reliant on the network now - and more often than not requires several hops over the public internet to some data centre somewhere.

As a reminder - network is really really slow compared to pretty much anything else: [https://people.eecs.berkeley.edu/~rcs/research/interactive_l...](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html)

I'd not be surprised if the author's library search terminal from the 80s had a local copy of the index, or at least the index was stored on a server on the same lightly-loaded LAN as the terminal.

My home laptop is hugely, hugely faster than ones I've had a decade ago for local workloads, but my network connection's latency and bandwidth have not improved nearly as fast.

<comment><USER55> Network latency can be one reason but I found the lack of optimisation to be a bigger factor. As long as a programme somehow works many developers won't try to optimise it. That gives us Electron apps which are easily 10x slower than a comparable native app (pgAdmin is a prime example).

</comment></comment><comment><USER56> The day I sold my Atari ST, I pulled it out of the stack of old computers, connected it to a monitor, hooked up a disk drive and turned it on.

Poof: Desktop with a working mouse cursor in under one second.

I booted a nearby PC, and then hit reset until it booted. In the time that the "hot shit" 386 box took to get to a DOS prompt, the ST booted about fifty times. To something with graphics.

Modern system boot times depress me. We have database servers that take 15 minutes to POST. Doing updates or diagnosing hardware-level issues with these things is g l a c i a l l y slow. I work with message queueing systems that are not shy about several seconds of latency -- what are these stupid things doing? The datacenter they're running in is less than a hundred microseconds wide, and everything is high-end XEON CPUs with SSD and more cache than the first 30 computers I used, put together.

Sigh.

<comment><USER57> Everything is faster when you build it into ROM. The cost is flexibility. Should you wish to run another OS on that ST, ypu would have to bootstrap it through TOS.

<comment><USER58> On a modern system, you could use flash RAM to get the same speed with all the flexibility advantages.

<comment><USER57> Indeed and unlike the 90s, SSDs are cheap now. :)

</comment></comment></comment></comment><comment><USER59> I'm still thankful for [https://tinyapps.org](https://tinyapps.org) even well after it has gone nearly read-only!

 _To qualify for TinyApps, a program must:

1\. Not exceed 1.44mb

2\. Not be adware

3\. Not require the VB/MFC/.NET runtimes. Also, preference is given to apps which are 100% self-contained, requiring no installation, registry changes, etc.

4\. Preferably be free, and ideally offer source code. Shareware will only be listed if there is no freeware alternative._

</comment><comment><USER60> Fortunately we still have a choice. That's also one of the main reason I'm always using command line if it makes sense. In most cases you get instant or near-instant results. Our lives are too precious to waste them on sitting by the computer and waiting for the results - only because some people decided we should do it this way, and other people followed, and still other people had to implement it, dealing with mediocre infrastructure and additional complexity, usually with mixed results.

Nobody will steal this freedom of choice from me.

</comment><comment><USER61> > i posit that nobody wants autocomplete-style live DB lookups. They don't fit > the mold that autocomplete fits in.

1\. I live-code an example in about:blank with devTools window open.

2\. I roll my own little jQuery-like closure for the sake of convenience.

3\. It works.

4\. I close the browser and forget about the thing.

5\. Later, I decide I wanna test out a feature of the Web Animation API, so I open my browser to about:blank again.

6\. I remember that I used a little closure last time-- as I type the var name Chromium pops up an "autocomplete-style live DB lookup" menu. At the bottom is My Little Closure from last time!

7\. I move the mouse down to the relevant line in the menu. Or, I use keyboard arrows to navigate to it. Or I keep typing and narrow down the menu options.

Useful? Check. Discoverable? Check? Obtrusive? Negative-- in the case that I don't every want previously typed expression, that menu option is put at the bottom out of the way of the more common JS internals and DOM methods.

Default settings in a terminal (or terminal-based GUI) generally require the user to either type something to get into a history mode, or type tab to do completion. But both of those options are less discoverable-- they require me to know ahead of time that I want to retrieve something. With devTools it shows me what can be retrieved so that I know what's available _even if_ I'm a neophyte.

</comment><comment><USER62> Its 2017 and I wait for my computer. I wait on Linux, I wait on Windows. This sucks hard. It is still complicated to search for stuff or to morph data from one representation into another. The web is even worse. And lets not talk about sharing data or other computer-resources with others.

When looking back at what people invented in the 80s till today, I hardly see much progress.

I don't care much about how much RAM an application takes, I care about speed. The next big OS should have a golden rule, never make the user wait. That's the ultimate goal which all OS's fail to address today.

What I want in the end is most times some text which is layout in a visually pleasant way, some images, some videos. I thought multiple times about writing a program which would fetch all data from all the websites I'm interested in, messengers, email-accounts and so on and store them somewhere – so that I could later view them (with whatever program) without any fucking delay.

</comment><comment><USER63> This puts to more eloquent words the very same thing that I've been ranting about to peers and coworkers for years. Cheers for that; I'm going to share this with them.

</comment><comment><USER37> > i posit that nobody wants autocomplete-style live DB lookups

Amen. I abhor this. I always get tripped up on these "smart" autocomplete entries.

</comment><comment><USER64> Awesome. Looks a lot of people are frustrated with this like I am. More importantly there is nothing wrong with me :)

</comment><comment><USER65> Perception of speed means a lot. I once was evaluating reporting apps back when people did reporting on the desktop. One app would render all the pages and then start displaying them. Another app would display each page as it rendered them. Which was faster? Overall, the first. Which _felt_ faster? The second.

</comment><comment><USER65> > one of the things that makes me steaming mad is how the entire field of web > apps ignores 100% of learned lessons from desktop apps

Burns me up too but I think this is by design. Meaning, web app developers generally don't want to listen, even when their bringing that to the desktop in the form of "native" apps.

<comment><USER38> Feels like this is the cycle of computing.

First came the big irons.

Then came the desktop.

Then came mobile.

then came the web.

And none of the later ones seems particularly interested in learning from those that came before.

Maybe it is willful ignorance, maybe it is youthful hubris...

</comment></comment><comment><USER66> The computer store I used to work at switched from an dedicated cash register to a PC based QuickBooks POS system and it was a POS (piece of sh __).

Windows based GUI app. You couldn't ring up anything without looking at the screen, taking your hand off the keyboard to move to the right input box constantly.

</comment><comment><USER55> The argument about function keys resonates with me. I still use F5 (refresh) and F2 (rename) but can't remember when I last used any of the other keys. Instead of using F6 for a function in a programme I now have to use something like CTRL+Shift+K. Why? Why not utilise the keyboard properly?

</comment><comment><USER67> About the google maps things. Anybody knows an alternative where I can measure things (like the length of a named road or the width of a building) and count things (for example, I draw a polygon, and I want to know the number of houses within it).

<comment><USER68> OsmAnd is pretty good for measurements and stuff.

[http://osmand.net/](http://osmand.net/)

</comment></comment><comment><USER69> The point of sale system shown in the tweetstorm is this one, and is highly recommended if you're even in an occasion where you need to sell stuff.

[http://keyhut.com/pos.htm](http://keyhut.com/pos.htm)

</comment><comment><USER70> I wonder if there is a business model for a company to recreate the 1995 native desktop UX for popular web services (scraping, API). Relatedly, how much various web SaaS tools can be... de-webbed without significant loss of functionality?

</comment><comment><USER71> If this resonates with you check out "The Humane Interface" by Jef Raskin.

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

</comment><comment><USER72> Gmaps is so far ahead of anything available in 1983 that a comparison is almost silly.

<comment><USER73> Except for actual, physical maps, with indices for finding locations, and all kinds of markings to denote things of interest (such as restaraunts, museums, etc.)

<comment><USER74> Physical maps don't necessarily have:

\- satellite imagery

\- reviews for destinations

\- automatic re-routing

\- traffic congestion

\- toll/public-transit information

\- On a mobile/gps enabled device you get your location as well

\- etc.

Comparing physical maps to Google Maps is one-dimensional: you can see a specific area (if you had the foresight to buy it before hand!) with roads and mile markers.

<comment><USER44> Do people actually use satellite imagery other than to appreciate how cool is to look at one's house from above?

Reviews are mostly around average 3 stars for most places. Because there are two types of revies: 1 star - waiting times were horrible, the meal was cold and waiter was rude; 5 star - the best meal I ever had, everyone was cheerful and helpful.

Automatic re-routing is good. Especially with traffic information. However it is miserable where there are unknown closed roads. It will constantly reroute you to the closed road. You can't pick a road segment and remove it from consideration. Then you are back to experience of physical maps. However slightly worse, because you don't know road numbers - up to this point they were irrelevant.

Traffic congestion is a big plus.

Public-transit is also a great thing.

<comment><USER74> > Do people actually use satellite imagery other than to appreciate how cool > is to look at one's house from above?

Definitely! I used it when trying to find a good spot to view the recent eclipse - I wanted to find an open place that would not be obstructed by buildings, trees or mountains. I've used it to understand better how water drains through my community and across my property.

> Reviews are mostly around average 3 stars for most places.

That is exactly what I'd expect!

> Because there are two types of revies

That seems to be hyperbole.

> Automatic re-routing is good. Especially with traffic information. However > it is miserable where there are unknown closed roads.

That's definitely true. Paper maps would not have this information either. In a worst-case scenario, you could use a Google Map like a paper map - <USER4> routing and trying to plan a route manually!

</comment></comment></comment></comment></comment><comment><USER75> My CPC took 30min to load a game from datasette.

</comment><comment><USER50> One way to improve this is to do like gmail and provide keyboard shortcuts in addition to the point and click interface. (It has to be explicitly enabled in settings, but it didn't have to be that way). Like the author is claiming, it takes very little time to get used to and you get more productive quickly. The only problem I've run into (also covered by the OP) is that input focus might be different than what you think and you end up quickly doing unintended things to your email. Luckily there's an undo function for that.

<comment><USER38> Ugh, now i am reminded of how Youtube hijacks the home button to mean "start playing the video from the beginning". This makes it impossible to scroll back to the top of the page quickly using a keyboard.

</comment></comment><comment><USER76> No doubt, Microsoft office took tasks that was 1 button and made it 5+ clicks. And this feature creep expanded everywhere with companies thinking they are smarter than you, so they try to train "you" to work their sites.

Also why I don't like apple computers, you use dos/windows/linux, and get to an mac, and if you don't know the secret gestures or commands, its just painful.

Its like how Gnome 3 took over and had to redesign everything, then finally came back to Gnome Classic.

Or Windows said TILES is the future, deleted your start button, then went "My Bad" and gave you a start button again.

Directories are disappearing, now its "Search Boxes" everywhere.. Good luck if you know the asset file, and the file doesn't have the name "asset" in it. Or if the damn file has permissions for you to even open it if you find it.

Don't even get me started on android phones, I hit dialer, and I don't get a keypad when I need it, I'm in a menu tree now and dialer wants to display current contanct info.. grrr.

Yeah, KISS is no longer a thing, its all wiz-bang, we can do it better than you. NoSQL is awesome! Oh wait, back to SQL we go. Perl SUCKS! Python2, er, 3 now.

Get off my yard.

</comment><comment><USER77> This rant has some good points, but completely misses other very important points. The main one being that those "really fast interfaces" were only fast or even useable if you spent months to years learning how to use them. They were also horribly limiting. (For example, with no mouse and no way to change where the input is focused, you can't re-sort the lists by a different field.)

I worked for a major cash register manufacturer writing DOS-based software for point of sale (PoS) systems in the 90s. One thing our customers (big stores) constantly reiterated was that training costs were very high and retention very low, so they wanted simpler-to-use systems, but with no less functionality.

The big wins tended to be combinations of hardware that made the process easier (think grocery store scanners), and better UI on screen that was easier to understand and use. We ended up making a graphical (but still DOS-based) UI along with some specialized hardware (an LCD screen with function keys around it so the command name was right next to the key, but could change per screen). It's been used for the past 20 years by the likes of Walmart, Target, and the USPS, so I guess it worked. (I haven't worked on it in 20 years, so I'm sure it's changed from how it was when I was there.)

It may very well not be as fast to load any given screen or respond to any given command. But it costs less to train people to use it, and it's easier to understand. I believe that it also helped improve checkout speed, as well, which was important to some of the bigger stores.

I feel the pain the OP has, but I don't think their rant is entirely justified. There are good points (especially about maps!), but they're also seeing the past through rose-colored glasses.

</comment><comment><USER78> I certainly agree. The one case where this isn't necessarily true is a fresh boot. Granted, my reference point starts from the 90s, and that's assuming you're booting from an HDD (not an SSD, flash, or restoring cached state from quick/fast boot).

<comment><USER63> I disagree with that. Even spinning HDDs are several orders of magnitude faster than even the main RAM of computers from 20 years ago.

<comment><USER79> Not in latency, by a very long stretch (500ns 30 years ago).

<comment><USER63> Not in latency but definitely in throughput. I remember being amazed 20 years ago at 3MiB/sec throughput when copying some files around. Today, even a spinning disc can sustain 160MiB/s and peak at 240MiB/s (personal anecdotal evidence) before looking at RAID or hybrid SSD options.

Sure, latency is still pretty bad. But a well-designed application is going to minimize individual seeks required, and therefore minimize the total aggregate latency cost.

It's the same way across the internet; a well designed application is going to minimize the latency cost across a socket by minimizing the amount of synchronization (seeking) required to continue work. TCP connection, TLS handshake, HTTP processing and routing, application processing to disk/database, multiple queries/seeks to handle the request... it all adds up.

</comment></comment></comment></comment><comment><USER80> Well, this is a cute bit of nostalgia, but it used to take 6.5 seconds to redraw the terminal screen at my local library, which was connected to some distant system at 2400bps.

</comment><comment><USER81> Software fatigue for sure

It is so bad on iOS with and iPhone I am trying to figure out how to live without one.

Doing anything productive on iOS takes 12 clicks, 6 button pushes and takes 9 minutes.

<comment><USER82> As an app developer I have been guilty of this in the past as well. I really try to make interfaces instantaneous nowadays so you can keep hammering away while in the background things like fetching and saving happen.

Things like naive saving (always continue immediately assuming inserting or updating really happened), command queues and aggressive preloading can make applications really quick again despite they're just an interface for an API.

</comment></comment><comment><USER83> "GOD FORBID i click on anything while its loading" hahaha that's how you distinguish experienced from not experiences users

</comment><comment><USER84> But, you know, clearly AI is going to replace the job of people making maps in the future. Because software just keeps getting better.

</comment><comment><USER85> Oh, man. That Google Maps peeve absolutely speaks to my soul. Every single time!

</comment><comment><USER86> this [https://www.youtube.com/watch?v=4YgLVFXpuq0](https://www.youtube.com/watch?v=4YgLVFXpuq0) from chrome dev summit

</comment><comment><USER87> everything seams a bit much. There are so many things you just could not do at all in 1983, like HD videos or 3D engines or even rendering Mandelbrot fractals

<comment><USER88> The weirdest thing is when navigating to an HD video is slow, individual folders take entire seconds to open up, then when you finally get to the video file and open it, the video runs smoothly and perfectly. What on earth is the file navigator doing??

</comment></comment><comment><USER89> totally agree. eventhough machines and networks are faster than ever. The Web apps are getting slower everyday. :(

</comment><comment><USER90> Ehhh?

* I remember spending hours, sitting on my new 2GB hard drive, formatting it to FAT32. Or defragmenting every week... because that disk format was rather subpar compared to modern file systems.

* I remember the 10+ Floppy Disks that needed to be manually swapped in and out to install... something. I think Microsoft Word. Or maybe it was Windows. In any case, Floppies were slow as all heck, and when CDs came out everyone was amazed by their speed.

* I remember being able to "see" the flood fill algorithm in "Paint" applications line-by-line fill up regions. Computers didn't have the memory to fill up those regions in one pass back then and had to resort to slower algorithms.

* I remember waiting multiple minutes to download a 5MB file in the 90s. 56kbps downloads 5MB in 11 minutes, for example. Even small pictures were unreasonable to distribute on the internet, let alone audio or movies. Flash was popular because a lot of it was rendered vector art and could fit into the ~3MB or 4MB size needed to be practical.

* I remember the dial-up sound. It took multiple minutes to CONNECT to the internet, and you couldn't use your phone while you were on the internet. To check your email took at least 5 minutes before you saw your first email. ~2 minutes dialing in, a few more minutes downloading the emails, and then finally you could begin reading them

\</comment><comment></comment><comment></comment><comment>

Seriously, did the author here ever use 90s technology? I remember searching through 3 CDs worth of information to write reports in the 90s.

Yes, CD-rom based encyclopedias. You'd juggle CD-roms constantly to do things that are as simple as "Wikipedia" or "Google" today.

We are way, way wayyyyy faster than the 90s. I can imagine that one would be jaded by the past, but... speed? Nah man, we're way faster today than back then. Its not even a close contest.

\</comment><comment></comment><comment></comment><comment>

I mean seriously, when did people stop using Floppies? It was like, 2004 or 2005 if I remember correctly. And there was a good chunk of time in there where we spent many minutes burning CD-ROMs (when our data was too big for Floppies: MS Word documents easily over the 1.44 MB limit...) but Flash Drives were way too expensive to be practically used.

I think some people used those "Jazz" and "Zip" drives as a "floppy replacement", but really it was burning CDs / DVDs (which had a significant delay to spin up and write). Modern Flash drives are instant. Modern cloud- storage is instant.

I cringe at the thought of returning to the 90s. I have a 30MB Powerpoint sitting on my desktop that I've been working on between my home and work. Do you have any idea of how much time it would have taken to transfer that back and forth in the 90s?

<comment><USER91> Do you also remember that the Word that you installed from 10 floppies was a lot more responsive than the Word you subscribe to now?

You are saying hardware is a lot faster now. And you are correct. What he is saying is that applications are a lot slower, in spite of the faster hardware. And he is also correct.

<comment><USER90> Word hasn't gotten much slower or faster in my experience. Honest.

Word has a bunch of additional features that are nice to have. We have spell- check and grammar check today, layouts that don't explode, decent "styles system" (kinda like LaTeX's tagging: you can change a style throughout your document pretty easily under modern Word)

I'd take Word 2016 any day over Word 97. Granted, I'm one of those "strange" people who see absolutely nothing wrong with the modern Ribbon (way better than menus inside of menus, that change from system to system. My school's toolbars for Word 97 looked completely different than my home computer's toolbar... it was kind of ridiculous)

</comment></comment></comment><comment><USER92> git is _very_ fast

</comment><comment><USER93> Was originally a tweet-storm -> [https://twitter.com/gravislizard/status/927593460642615296](https://twitter.com/gravislizard/status/927593460642615296), if anyone is confused by the stream-of-consciousness style.

It is frustrating that I've got a machine on my desk more powerful than supercomputers a generation ago, and it locks up and can't refresh the screen as fast as my relatively slow typing on a regular basis...

<comment><USER94> > Was originally a tweet-storm -> > [https://twitter.com/gravislizard/status/927593460642615296](https://twitter.com/gravislizard/status/927593460642615296), > if anyone is confused by the stream-of-consciousness style.

I don't mean to detract from the point, but this piece would be helped so much by properly fleshing it out into an article. presenting it as a sequence of 92 tweets is combining the worst of both worlds.

<comment><USER95> I thought the choice of medium was itself an ironic comment on the crappiness of modern computer usage. Tweetstorms are essentially unreadable, even with a tool like this thread aggregator.

<comment><AUTHOR> Precisely my response on first encountering the content.

Wherein I discovered that this particular tweet aggregator _could_ be initiated by a third party (others ... cannot).

[https://plus.google.com/+TimWesson/posts/VSGs2BddARD](https://plus.google.com/+TimWesson/posts/VSGs2BddARD)

</comment></comment></comment></comment><comment><USER96> I agree with this guy that having to use a mouse is often a chore and inefficient. Google search used to have a feature where you could hit tab after a search and it would auto select the results in order, but that seems to be gone. We need more features like that. Keyboard control supremacy will come back, it is inevitable.

</comment><comment><USER97> My terminal responds more quickly than it did in 1983. In every other way computers have subsumed televisions as entertainment devices, and have performance characteristics appropriate to their main uses.

Because of Moore's law advances, the industry has learned to design for the next generation CPU. Before Moore's law was understood, industry designed for the current hardware and everything was extremely fast.

In a way I wish RIM had won the smartphone wars, but after the patent loss and removal of the click wheel, the devices were far less usable.

Apple's foray into Skeuomorphism offers us a history of the competitive landscape for usability and design. Skeuomorphism is a way of avoiding the learning curve associated with abstractions. If the software is meant to let the user take notes, making the screen yellow with lines on it helps the most abstraction-resistant users grok what is going on.

Most adults can't do basic algebra, so it should be no surprise that the dominant mobile software platform succeeded only after substantially dumbing down the UI to the point where it was essentially abstraction free.

With Jony Ive taking more control of iOS we are finally breaking free of the Skeuomorphic training wheels. Google's material design is an ambitious attempt to create an abstraction that retains some of the more textural and familiar "material-ness" of real-world objects, without resorting to crude mimicry. I wouldn't say it's close to perfect, but it is promising.

So consider the need for a fast GPU and high res graphics in a mobile device to be (in a sense) a tax that we must pay to help the small percentage of abstraction-phobic luddites understand how to write a note or add a meeting to the calendar. It also makes the device useful for gaming and for watching TV, which many people enjoy doing and which create massive revenue for content companies.

Apple came to dominate the smartphone market because it understood that consumers wanted an all-purpose device that didn't shove too many abstractions down anyone's throat, had decent video games, would let you watch TV and movies, did not feel like using a computer.

With Android, Google has mostly stayed behind by about one year to cut costs and capture market share, but has increasingly been focusing on delivering a top-tier experience and offering/supporting top-tier hardware.

Movies, shows, and songs make up 99% of most users' stored data. So of course the device needs to work with that data. Any comparison to 1983 cannot consider such massive data because it was unfathomable. Back then we thought calendars, note taking, simple spreadsheets, etc., were what computers were good for. Nobody realized that they would become handheld TVs with a built-in gossip rag with custom content about all of our friends.

We will someday reach a point where a mobile device reaches "peak dopamine", meaning that no further improvements will be necessary to make the device more entertaining or more addictive. We have a long way to go, and a lot more transistors will be needed in the hardware to reach peak dopamine, so we can expect the trend to continue. UI responsiveness figures in somewhere, but is obviously not the main driver of hardware cost increases.

<comment><USER97> Wow this comment is getting a lot of downvotes. I'm curious what I said that offended.

</comment></comment><comment><USER98> tl;dr we have a network layer? what is this garbage

</comment><comment><USER49> its all about the command line! right!? that thing rules!!

</comment><comment><AUTHOR> There's a ton here, virtually all of which I agree with strongly and have long-harbored and deep frustrations with.

I've addressed a number of them in "The Tyranny of the Minimum Viable User", arguing that this is a case of Gresham's Law and market interactions, _in a domain with a tremendous range of human capabilities_. The result though is a disenfranchisement of more capable users.

[https://www.reddit.com/r/dredmorbius/comments/69wk8y/the_tyr...](https://www.reddit.com/r/dredmorbius/comments/69wk8y/the_tyranny_of_the_minimum_viable_user/)

There's the whole matter of computer inputs, and the tremendous and persistent utility of keyboards.

There's my immense frustration with mobile computing, where a near perfect set of physical characteristics (form-factor, self-supporting-but-removeable cases, stow-away keyboards) are sabotaged at every possible point by atrocious and user-hostile OS and application design and lock-down, crippled storage and capabilities, gratuitously thwarting advanced use. The lack of form-factor and compatibility standardisation means that keyboard- and case-pairing to devices _requires not manufacturer but model-specific compatibility_. Warrenties are not honoured (Logitech). Devices aren't updated (Samsung/Google).

[https://ello.co/dredmorbius/post/lqgtwy_rhsfbdh5cdxb1rq](https://ello.co/dredmorbius/post/lqgtwy_rhsfbdh5cdxb1rq)

On the failure of systems to cross-reference, I give you Pocket, which absolutely and deliberately stymies advanced use and actively gets worse the more you use it. I've submitted long and detailed feedback to Pocket (now part of Mozilla), and whilst acknowleged, there's been absolutely no movement on any of these, even the simplest, such as incremenetal search through my copious tag classification. _It literally takes several minutes to swipe through this by hand._ The application -- intended for long-form reading -- _has no search-in-page functionality_.

Whiskey. Tango. Foxtrot.

[https://www.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_...](https://www.reddit.com/r/dredmorbius/comments/5x2sfx/pocket_it_gets_worse_the_more_you_use_it/)

I'd really like to know how the hell to clobber the tech industry with a cluestick, because the present model is absolutely not working.

</comment><comment><USER99> Nice rant, but sadly as he says, this is just how it is. There are very few pieces of software I use that aren't absolutely chock full of brain dead stupid behaviors....not just mildly annoying or difference of opinion style issues, but downright dumb/broken. Gmaps is a good example, my blood pressure always rises while trying to use it.

<comment><USER55> No, the people on HN are the ones who could change it. Many here develop software. The current mantra of many is to avoid premature optimisation. Who cares about a function that runs 50ms? Well, in reality this function will at some point run within other functions and needs to be called 10 times, adding half a second to page load. Micro services are also really nice to develop but you'll almost always pay with performance. Even inter-datacentre latency adds up if you need 100 calls until you can show the result to the user.

</comment></comment><comment><USER100> Back in the mid eighties rendering very simple three dimensional scenes using ray tracing took a great deal of time.

"...images generated using some of the above improvements to ray tracing. They all took approximately 50 minutes each to compute on a VAX 780." \- From [http://www.cs.yorku.ca/~amana/research/cones.pdf](http://www.cs.yorku.ca/~amana/research/cones.pdf)

Example image found here: [http://www.cs.yorku.ca/~amana/research/images/spheres.jpg](http://www.cs.yorku.ca/~amana/research/images/spheres.jpg)

A DEC VAX 780 cost over a hundred thousand dollars - [http://www.computerhistory.org/revolution/mainframe- computer...](http://www.computerhistory.org/revolution/mainframe- computers/7/182/736)</comment>


Ask HN: What does the possible meltdown mean for people living in Tokyo? - <AUTHOR>

I know a lot of cats on HN are pretty educated on a whole range of topics. I live in Tokyo, and have come to realize I know next to nothing about how this could play out. Throwing it out there for anyone that has the education to answer and has been following the latest reports.<p>Also a shoutout to http://twitter.com/timeouttokyo/ for doing an amazing job keeping everyone in the know as stories develop. <comment><USER2> the worry is when the container is compromised

</comment><comment><USER3> Clickable:

<http://twitter.com/timeouttokyo/>

</comment><comment><USER4> Check the winds!

Chernobyl is only 100km from Kiev, but as the winds were blowing in the opposite direction the Ukraine's capital was unscathed and the majority of fallout was over Belarus.

[http://www.reuters.com/article/2011/03/12/japan-quake- wind-i...](http://www.reuters.com/article/2011/03/12/japan-quake-wind- idAFL3E7EC0A620110312)</comment>


FBI: If you knew what your phone company tells us, you'd probably sue - <AUTHOR> http://www.aclu.org/blog/national-security/fbi-if-we-told-you-you-might-sue-1 <comment><USER2> You know you might not be serving the public interest if... "The stigma of working with the FBI might cause customers to ... file civil actions to further prevent the disclosure of information"

<comment><USER3> Serving national interest is different to serving public interest despite some similarities.

<comment><USER4> I'm with Kirk on this one, the Good of the one sometimes outweigh to good of the many as is the case here.

<comment><USER5> I'm with Spock on this one, the needs of the many outweigh the needs of the few... or the one.

Which is my roundabout way of saying that violating the constitutional freedoms of an entire people is probably not worth it just to catch a few bad guys.

<comment><USER4> That was kinda what I meant here. The good of the one (Individual) and the many (the gov and everyone's security)

<comment><USER6> I think all you two have proven is that the proverb doesn't really apply here :-)

</comment></comment></comment></comment></comment></comment><comment><USER7> This why the recent iPhone location data "scare" doesn't make sense to me. The wireless carriers must have MUCH more extensive location data on a much larger user base. I understand the growing concern over privacy issues as more companies begin aggregating user data etc, and I'm glad that people are (hopefully) becoming more aware of this issue, but shouldn't we react a bit more proportionately to corporate violations of user privacy?

<comment><USER8> The iPhone scare was about the availability of data. If someone finds/steals your iPhone they can with little effort recover the GPS data. As oppose to federal bureau or phone company who are, at least theoretically, bound by law.

<comment><USER9> "If someone finds/steals your iPhone they can with little effort recover the GPS data."

Except that it wasn't GPS data - just a list of cell tower and wifi hotspot pings.

<comment><USER10> Except that it is GPS data ... the file "consolidated.db" does contain a list of (your) latitude + longitude + timestamp -- and when this was discovered, that file contained location data for the last 10 months (probably since iOS 4 was released).

This data is indeed used by Apple to build a database of Wifi hotspots and cell towers, along with their locations, doing this to improve their location services when GPS data is not available (the first iPhone could show you your location by doing triangulation on the cell towers nearby).

The fact of the matter is that if you can get your hands on such an iPhone (without a security fix, which I'm sure it's available by now) - you can find out where that iPhone has been.

You know, a simple search on Google could have told you the answer to this -- now you've just added noise.

<comment><USER11> Can you point to a page that says there are indeed latitude + longitude + timestamp that follow a user's location?

From what I've read, the database was a cache of nearby cell tower and wifi hotspot locations from Apple's servers, not the GPS-calculated (or even tower- triangulated) location of the user.

</comment></comment></comment></comment></comment><comment><USER12> This is why you should use Skype. The only phone service not based in the US... oh, wait a second.

Seriously, though, I wonder if the FBI can eavesdrop on a Skype call. It seems like it would be damn near impossible because it is peer to peer and encrypted.

<comment><USER13> See <http://en.wikipedia.org/wiki/Skype_security>

My understanding was that some global intelligence organisations can request decryption and that China is doing this actively [see above link].

I also recall reading some time ago that organisations that work exclusively with skype to provide some add-ons can be given access to decrypt.

Further, there was also that techcrunch article - [http://techcrunch.com/2010/07/08/skypes-innermost- security-l...](http://techcrunch.com/2010/07/08/skypes-innermost-security- layers-claimed-to-be-reverse-engineered/) \- which spoke about this

</comment></comment><comment><USER14> Honestly at this point, most people should expect this sort of behavior from any type of telecom company. Yeah, it sucks but it's the name of the game. Take into consideration that the gov owns the air space/spectrum these companies use, and you'll understand why they're so compliant with releasing information. The only way this will change is if there's a privatization of air space which at this point is seemingly impossible.

<comment><USER6> I don't know that privatization is a panacea for the government corruption we see here. And you are right that privatization of airspace is impossible (read: undesirable). How about taking steps to curb government corruption?

<comment><USER15> That's pretty pie in the sky too barring an entire reform of our economic system. How about we take steps to get everyone using strong client-side encryption?

<comment><USER16> Have you ever tried to get someone to use gpg?

Now take that pain, and multiply it by a million or more.

I do agree with you, and am using gpg.

<comment><USER15> I've actually actively started to petition clients to use GnuPG since the HBGary hack, but I agree that it's difficult to make progress. Someone has to develop interfaces to make it usable. This is especially needed for web mail clients, the Firefox extension that used to allow this on GMail is no longer maintained.

I'm not a browser hacker so I'm not sure if it would be easy or hard to get this integrated, but ideally the browser would have built-in support for crypto on designated input fields, i.e., "encrypt this text box" option on right-click. I'm sure it would be hard, but I bet if Mozilla and Google got together and worked out a common interface that allowed Gmail et al to pass information to the browser (like whose keys should be used), this would eventually get implemented and be awesome.

As usual, Microsoft is the biggest roadblock with Outlook. Hopefully if your company is using Outlook it can afford a license for PGP, which afaik is the only complete crypto extension for Outlook.

<comment><USER17> Actually, though I've dabbled but little, it seems pretty easy to get arbitrary encryption on firefox. For an example, look at the LeetSpeak addon, which provides a bunch of ways to transform text, both in textboxes and on the page. The real challenge I can see is to provide a good interface for sellecting from the (potentially hundreds of) public keys at you disposal to encrypt with.

</comment></comment></comment></comment></comment></comment><comment><USER18> Are you kidding? While we're a litigation-happy society, we are also entirely content with letting government and business trample all over us without raising an eyebrow, much less a finger.

We let companies get away with destroying the economy through sloppy and greedy irresponsible behavior and then we cover their asses by bailing them out. Because the committees that determine their bailing out are filled with former/current executives of the same companies they're bailing out (Goldman Sachs, for example).

We let companies stick dangerous and unproven chemicals in our food, soda, animals with little evidence that it's safe beforehand and little oversight afterhand, because the various government agencies (FDA, for example) are staffed primarily with executives of the companies that are trying to ram these things through (aspartame, roundup-ready seeds, rbgh in milk, etc).

We have food that is mass produced in conditions that are horrifying to anyone who, even if they love meat like I do, don't like to see living creatures abused and tortured in the process and that are filthy and commonly spread disease (that we see reports of all the time on the news when there are outbreaks and recalls), because the FDA and other agencies are - again - staffed with current/former executives of the biggest food manufacturers and processors in the world.

Hell, we even have government officials shutting down public run juvenile rehabilitation centers so that private ones can take their places and then those private companies paying judges directly to incentive's them to send juveniles to jail. I forget where this was (the northeast is what I remember), but a couple years ago it was huge news and it actually happened. The judge in question (and there may have been more than one) received millions of dollars in payola from the private prison industry system that built the juvenile detention centers. As a result, the judge just kept sending kids there. First time offenders. Kids who did very little to deserve it (get in a fight at school, use foul language, skip school) would get about two minutes of face time with the judge before he sentenced them to the facility. And once at the facility, they would keep kids indefinitely, until _they_ said it was time to go. So a two week sentence could turn into a year. (Oh, found the story: [http://www.reuters.com/article/2009/02/13/us-crime-usa- judge...](http://www.reuters.com/article/2009/02/13/us-crime-usa-judges- idUSTRE51B7B320090213) \-- "Two judges pleaded guilty on Thursday to accepting more than $2.6 million from a private youth detention center in Pennsylvania in return for giving hundreds of youths and teenagers long sentences.")

So if we know all of these things and we don't care (I'm sipping on a diet coke and eating a processed microwave burrito right now, for example), why should I expect that people are going to give much more concern to their privacy or the liberties of anyone else around them? Unless they think you're taking jesus away from them, cheap gasoline away from them, or their $5 latte away from them, or their favorite television show away from them . . . _they don't fucking care_.

Not only don't they care, but a big percentage will always play the role of apologist. For _anything_. FBI pouring through your personal information, using your geolocation data. Whatever it is, the complaining voices are always few and the people taking action even fewer.

<comment><USER19> RE: Juvenile centers, there was a 60 minutes recently about private companies paying judges. Here is the link:

[http://www.cbsnews.com/video/watch/?id=4798743n&tag=mnco...](http://www.cbsnews.com/video/watch/?id=4798743n&tag=mncol;lst;8)

</comment></comment><comment><USER20> Question: if you're embarrassed about the idea of the FBI knowing something about you, then why are you cool with the idea of the phone company knowing it?

<comment><USER21> The phone company doesn't have the ability to bash down my door and point guns in my face, and I can switch providers if I don't like them.

<comment><USER20> Are you committing crimes?

If so, you can hardly complain about the FBI breaking down your door.

If not, then gaining additional evidence doesn't make it _more_ likely that they're going to break down your door.

<comment><USER22> > If not, then gaining additional evidence doesn't make it more likely that > they're going to break down your door.

Unless they tap your lines without a warrant to gain one. I thought we were passed the "if you're not a terrorist you have nothing to hide" mentality.

</comment></comment></comment></comment><comment><USER23> I wonder how much of this applies to Facebook.

<comment><USER24> If the feds don't have root-level read access I would be shocked.

<comment><USER25> Prepare to be shocked, but they don't. I mean, other than busting down the doors and taking the servers they need.

Remember that guide that was leaked a few weeks ago, detailing the procedure required for law enforcement agencies to get user info? Presumably that is not some sort of elaborate conspiracy to convince Facebook users that the government is not monitoring each and every one of their check-ins.

<comment><USER26> The FBI has free-range to do whatever it wants on Facebook. All they need to do is submit a request to the FISC which approved 100% of such requests in 2010

[http://arstechnica.com/tech-policy/news/2011/05/domestic- sur...](http://arstechnica.com/tech-policy/news/2011/05/domestic-surveillance- court-approved-100-of-2010-warrant-requests.ars)

<comment><USER27> Was it really 100%? I thought it was only 99.998%, or something close to that.

</comment></comment></comment></comment></comment><comment><USER28> Again, this is all ancient news. We've known for years now that the FBI has had eavesdropping ability not just on phones but on the Internet. We've had whistle blowers talk about installing large routers to duplicate and divert Internet traffic on huge top-tier ISP levels.

Time and time again, no one cares or at least cares enough to do anything.

<comment><USER29> Many people I talk to only think about their cell calls and do not know about mic recording as well. They also do not know that this can occur while the phone is off.

<comment><USER28> That sounds a bit more tin-foiley. That would require modifications to firmware and phone software that would require direct cooperation from a lot more parties. It would also be relatively easy to discover (vs snooping of traffic that is out of your control).

(edit) Thanks for all the info. I hadn't heard as much about this stuff.

<comment><USER30> Actually it isn't. There's been documented evidence if this very thing being carried our in at least 1 large case[1][2][3]. I'm actually sure there's been some exploits in the wild that have even been presented at Blackhat before, but I can't locate the links properly right now; on the iPhone.

[1] <http://en.m.wikipedia.org/wiki/Covert_listening_device>

[2] <http://news.cnet.com/2100-1029-6140191.html>

[3] [http://www.schneier.com/blog/archives/2006/12/remotely_eaves...](http://www.schneier.com/blog/archives/2006/12/remotely_eavesd_1.html)

<comment><USER31> The documented evidence is from a case in 1996. According to the article:

 _Some handsets can't be fully powered down without removing the battery; for instance, some Nokia models will wake up when turned off if an alarm is set._

I'm not so sure that this is still a common practice for modern phones.

<comment><USER32> As far as I'm aware all modern phones will at least partially wake up to sound an alarm even when turned off/

Does the iPhone/Android phones do this?

<comment><USER28> "Wake up"??

If my Android phone is off, it's off. It doesn't turn itself on, period. If it's just idle, screen off, with lots of stuff asleep, sure it will "wake up" in that the screen turns on, and sound an alarm. But that's it.

<comment><USER33> That is not true at all for Android. Ask any Android developer. it is entirely possible to code an alarm callback that will not activate the screen at all, but can use a network to send and recieve data.

This is done commonly by builtin services.</comment></comment></comment></comment></comment></comment></comment></comment>


A Go contract design combining the strong points of official draft v1 and v2 - <AUTHOR> https://github.com/dotaheor/unify-Go-builtin-and-custom-generics/blob/master/contracts.md <comment><USER2> That's a lot of new, effectively, keywords that you're introducing. I don't know if that's a bad or a good thing, but I suspect the community will have a hard time with it. Otherwise this is a creative solution.

<comment><USER3> It uses effectively only the one keyword assure. The constraints look like fields on the type variables, which have an ambiguity with package private method expressions with the same name.

<comment><AUTHOR> The constraint expressions are expected to be used in generic declaration body scopes instead of top package scopes. For example: [https://github.com/dotaheor/unify-Go-builtin-and-custom- gene...](https://github.com/dotaheor/unify-Go-builtin-and-custom- generics#contracts), so I think the ambiguity should not happen.

</comment></comment></comment><comment><USER4> I would love to see something along these lines in Go. It would probably not end the abject negative reactions people have to the language as I suspect those are not actually about _what_ it lacks, but it _would_ solve some practical problems.

Metaprogramming is the root of much complexity in programming, but the main alternative is reflection. I suspect that with sufficiently advanced metaprogramming reflection is essentially never needed, but you end up with other costs.

In Rust you might find yourself deriving nearly every struct with a laundry list of traits. This is a cool feature, but I think the equivalent situation in Go is worth considering. Go doesn't have traits or macros, but it does have reflection. In effect, in Rust you can choose what is generated off of your structs, whereas in Go you get a baseline amount of generated information and you choose what to do with it at runtime.

Despite being undoubtably less efficient at runtime, it has its advantages. You don't have to think about deriving Debug, for example, because there's enough reflection information to do the needful at runtime instead. In Rust you may pay more executable space per struct in some cases due to having to generate lots of bits of code, whereas in Go you end up with a lot of little bits because each struct generates some data.

The important thing to think about here is that these approaches are actually not so different. They shift costs around differently, but they ultimately accomplish similar things. I think inherently the Rust approach feels much more powerful, and I think that's a fair assessment, but the Go approach is flexible. The same struct metadata can print debug information, and not only that, it can do so in multiple formats. It can be used to serialize and deserialize data like JSON. I maintain a small library called Restruct that implements binary serialization a la Kaitai Struct that uses reflection.

Not having generics has been a huge advantage and disadvantage of Go from the beginning. Generics really do carry a lot of implications. On a sliding scale of generating interface implementations from structural information at compiletime to purely reflection based strategies, I think there is a sweet spot.

My knee jerk reaction to contracts in Go was that it sucked. It seemed like a very weak implementation of metaprogramming. However, I've come around to thinking it might be the way to go.

Having advanced templates would be useful too, but they would have drastic implications as well. What I like about contracts is they feel self contained. It feels like everything else around the contracts usages is fairly normal and it won't have a strong impact on how Go is written today.

So while it won't make a lot of people happy, it will probably help the day- to-day Go programmer a bit, by providing the ability, finally, to generalize functions. I'd argue there are rarely many circumstances where this is really needed in day to day Go programming, and therefore this fairly minimal approach shall serve the language well.

I think the future of Go and how it fits in with other modern programming languages will be firmly cemented by which approaches are chosen to solve common Go problems in Go 2 and 3, and this is certainly a big one. If you feel unsatisfied by this, I think there is still room for more new programming language research, and highly recommend people try languages like Zig, Nim and of course Rust. Go may not be your thing or maybe not suitable for your use cases, and I suspect its possible it never will be suitable for all use cases after all. The same can be said about all programming languages for the foreseeable future.

Regarding this particular draft, my only real input is that I dislike the assure syntax for some reason. It would also be great to avoid new keywords if possible, though I have no idea how you could avoid that here.

</comment><comment><USER5> I'm a C programmer, and I don't really see what adding this additional complexity will really bring to the language. I always think of C as half typed. I get all the benefits of static typing where it makes sense, but I'm also not afraid to do some casts and throw around some void pointers. Go has it so much better with the underlying type attached to the interface.</comment>


Tumblr security hole (the gaping kind) - <AUTHOR>

My friend noticed this: If you login to your tumblr account then manually go to /admin it takes you to the systemwide tumblr admin... wow. <comment><USER2> Probably better to let Tumblr know first, then us.

Edit: just confirmed that it works.

Basically let's you search users by id or email then give you ability to change their email/reset password.

<comment><USER3> I just shot them a mail to let them know.

Ironically they don't obey one of the primary rules of usability for websites: have a link to contact info on the front page.

<comment><USER4> I've complained about it before. Not only is it not on the front page, for a long time it just did not exist.

</comment></comment></comment><comment><USER5> This should not have been posted before it was fixed. We all make mistakes, even stupid ones, and I'm sure none of us would like this happening to them. A bit of professional courtesy would have been in order.

</comment><comment><USER6> Did someone at least remove Jakob Lodwick's blog while the exploit was open?

<comment><USER7> lol

</comment></comment><comment><USER8> They turned it off at 4:07 eastern

<comment><USER7> I'm very disappointed in you all, I'm sure we could have had a lot of fun in the mean time...

</comment></comment><comment><USER9> Tumblr posted a notice. 27 accounts were accessed, 1 was modified (guess who... Julia Allison)

<http://blog.davidville.com/2008/04/15/security-notice/>

</comment><comment><USER10> That is absolutely unbelievable.

</comment><comment><USER11> What the hell is Tumblr? And what happened to vowels?

<comment><USER12> Tumblr is an awesome blogging platform that's dead simple and has some Twitteresque social features (ie following) built in.

Also has a great bookmarklet and a neat api.

<comment><USER13> And a non-existant QA department apparently?

<comment><USER11> QA departments are notorious for not being very creative. You'd need a star QA department to find the /admin hole, I think.

<comment><USER14> No, you just need functional tests. Having these kind of bugs in a spare time project is fine, but if you call yourself a startup and ask customers to trust you with data, you need to seriously consider security issues.

<comment><USER7> yea i mean it seems to be a first step obvious point.

</comment></comment></comment></comment></comment></comment><comment><USER15> Don't you think it's a tad unreasonable-- almost stupid-- to post something like this here? At the very least, it's immoral.

You can essentially take control of Tumblr.

</comment><comment><USER10> [4:09 pm] Problem fixed. Response time: 43 minutes.

</comment><comment><USER16> Did you or your friend happen to report this to them before posting it here?

<comment><AUTHOR> yeah he said he told them. I would have more sympathy if it was an obscure hole, but something this big is just disrespectful to their users.

<comment><USER10> This is a pretty critical exploit . . . you'd think they'd take the app down or at least change the admin URL while this is resolved. I shouldn't at this moment _still_ be able to reset an arbitrary user's password by going to that URL.

<comment><AUTHOR> ...and how many people have found it and not said anything? we've all used poorly secured admins here and there, but /admin seems particularly egregious.

<comment><USER10> _...and how many people have found it and not said anything?_

Scary.

<comment><USER17> It was only open for an hour.

<comment><USER10> No, it was only open and _public_ for an hour. It could have been open for months, maybe longer.

<comment><USER17> It was the result of a change today, right before it hit Hacker News (so sayeth Marco of tumblr in the #tumblrs irc channel, anyway; I believe him).

<comment><USER18> As we know, hackers regularly turn random door knobs to see which doors open. Logs i can see show more black hat attempts than white hat, so either OldGregg's friend got lucky or a few exploits might have already been made.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER19> If that's true, the lead developer should be fired on the spot. They use that "good" old "security by obscurity". I thought this technique was dead long ago....

<comment><USER20> a little harsh maybe....developers make mistakes...probably just forgot about it while trying to get the initial release out the door.... its not like tumblr is a bank or the DoD

<comment><USER19> ok, maybe :) But forgeting to secure your admin area deserves more than a simple warning. Can you imagine if the person that discovered the vulnerability decided to delete all the user accounts?

<comment><USER13> Or try out the usernames and passwords on say BofA?

<comment><USER21> The passwords aren't stored in plaintext, they said.

</comment></comment></comment></comment></comment><comment><USER22> Lesson: Man your support email 24/7.

Oh, by the way, if you can't code, have somebody look at your code.

</comment><comment><USER23> does anyone else find it ironic that in apologizing for their SNAFU they list the full name of the one person effected most by the incident?

"We'd also like to make a special apology to Julia Allison, whose account was temporarily affected by our mistake."

</comment><comment><USER24> I didn't know what Tumbler is and I created an account just to confirm the hack (the security hole is still there). But this got me thinking about another post at HN on how to market your site - I guess a blatant (fake?) security hole is one way to do it.

<comment><USER25> Uh yeah. You must be part of the same marketing team that advises car manufacturers to stage huge vehicle safety recalls. That'll really get the customers knocking.

Tumblr has a great but small team, just like most of us on this site. As someone who makes mistakes, I offer them empathy and sympathy.

</comment></comment><comment><USER10> It'll be interesting to see how this news spreads through the Twitterverse. Break the popcorn out: [http://www.tweetscan.com/index.php?s=tumblr&u=](http://www.tweetscan.com/index.php?s=tumblr&u=)

</comment><comment><USER26> You may want to change your passwords and your mobile email address. Both were accessible.

<comment><USER10> Is that true that the passwords were revealed? All I saw was a reset link that I didn't click on.

</comment></comment><comment><USER27> "Earlier this afternoon, during alterations to our administrator code, "

The thought of them just doing live deploy freaks me out.. not the best practice.. ever.. ever .. for a major site like theirs

</comment><comment><USER28> I actually don't know what Tumblr is. Is it a twitter clone or something?

<comment><USER10> They were the first popular tumbleblogging platform. It's a really good service, this incident notwithstanding.

The perverse irony of all of this is that the incident reminded me that I've got a Tumblr account. Before today, I hadn't logged in for over a year!

</comment></comment><comment><USER29> Still works. Still up. Still the dumbest thing I've ever seen.

</comment><comment><USER30> I can't believe, >30 min out, that this is still open

</comment><comment><USER31> The posts on this thread show how news.yc has gone down the tubes.

</comment><comment><USER32> Not anymore people. Nothing to see here, hole is fixed

</comment><comment><USER33> And it's fixed

</comment><comment><USER34> it works. i just told them too.

</comment><comment><USER35> They shut it down now...

</comment><comment><USER36> Holy crap! That's true..

</comment><comment><USER37> Screenshot or it didn't happen ;-)

</comment><comment><USER38> Whoa.

</comment><comment><USER39> The MIT computer lab used to forgo passwords. If you wanted to dick with the system you could, so it removed the thrill of "breaking in". You could mess with other people's accounts but they could mess with yours, too. Kind of like how everyone in Texas carries guns starting in kindergarten and so everyone is really polite.

I think it's a great lesson so I think I'll make my startup's vital information globally accessible (admin functions, source code, even my billing info for the ISP) and trust to my fellow human beings' goodwill.

I love you guys!!

</comment><comment><USER40> Chalk one up for PHP!

<comment><USER9> More like a bad and/or careless programmer...

<comment><USER40> More like platforms that pride themselves on always leaving security entirely up to the programmer...

<comment><USER41> This is the dumbest comment I've ever read on here.

<comment><USER42> I agree</comment></comment></comment></comment></comment>