Freelance Rates Survey, 2011 (UK) - <AUTHOR> http://cole007.net/blog/86/freelance-rates-survey-2011

<comment><USER2> As a British native who began his career in the UK and later moved to San Francisco, I can tell you that the going rates for developers _(can't really speak about designers)_ is a lot lower in the UK than in the US.

It's part of the reason I moved here.

Switching to salary-paid positions for a moment (as they might be easier to compare to your own compensation), £28k (~US$44k) seems to be a going rate for a mid-level developer and £40k (~US$62.5k) for a senior developer in London right now. Ignore financial services-based engineering positions, although there are a lot less of those today.

Current equivalent in SF right now could be $75-$90k for a mid-level developer and $100-$150k for a senior developer (or more).

Keep in mind London is a more expensive city to live in than even SF, taxes are higher (yes even compared to CA+Fed), health insurance isn't included (ok, we have socialized medicine but my point is that's part of your comp here in US), sales tax in UK is 20%, and unlike the US you have to pay property tax (council tax) on the property you live in regardless of whether you rent or own it.

Living in the UK, especially London, is incredibly expensive and I sometimes wonder how I managed frankly :P

EDIT: Oh and the reason I think wages and rates are low is because software engineering isn't a primary industry in London and a great deal of developers end up working for marketing agencies etc where they are simply "code monkeys". The BBC is another big employer _(my former employer)_ but they only pay non-commercial wages as they are a public-service and it (used to be) seen as prestigious to work there.

<comment><USER3> £28k is a low graduate salary in the UK.

The first proper result for "graduate software engineer" is Red Gate, who obviously only recruit the top graduates, but still: [http://www.red- gate.com/our-company/careers/current-opportun...](http://www.red-gate.com/our- company/careers/current-opportunities/graduate-software-engineer)

<comment><USER2> Under the current economic climate, many graduates don't even find grad-level work and end up taking under-employment - the competition for the grad jobs that are out there is driving down salaries.

I also know people who 10 years after graduating are still not making £35k, although that's not specifically in the field of computer science.

It's rough back home right now :/

</comment></comment></comment><comment><USER4> My gf works for a recruitment company in the Netherlands, and my general feeling looking at these results is that they're on the low side. Senior developers here charge in the region of 50-70 euros/hour, or about 450 euros/day. I'm fairly sure a senior with plenty of experience in an in-demand technology can push the 70 up into the 80-90 rate, and niche areas like SAP can be even higher.

<comment><USER5> It's not stated specifically in the article, but from the large number of respondents who offer act as both designer and developer, I suspect this survey is focused on _web_ freelancers, as opposed to developers in general. I would expect to be able to charge far less for generic CMS-backed web site building than for more specialist areas.

<comment><USER6> Agree, I think there's a proportion of freelancers who do a mixture of boilerplate CMS development and backend development who have very different day rates for each just because the going rate for each is so different. It would be interesting to see the fraq.info web app expanded to include and use data from an ongoing survey which distinguishes between types of development.

</comment></comment></comment><comment><USER7> If you're a Canadian, you can join the Canadian Freelance Union: <http://www.cfunion.ca/>

They do contract reviews and they have some kind of deal on health benefits. They're also a local of the much larger Communications, Energy and Paperworkers Union which has something like 150,000 members in it.

Yes there's a market for low-cost work, but don't sell yourself short as others in the comments are saying. Let's get that minimum rate a little higher ;)

</comment><comment><USER8> Wow. I guess dev in the us is a lot more expensive. I will say that a mechanic at the tire shop that fixes my car charges $92 an hour for his time, and I feel some obligation to charge more than that, with my fancy high school diploma and noticeable absence of gang tattoos, felonies, etc.

<comment><USER9>
      >> mechanic at the tire shop that fixes my car charges $92 an hour for his time

This is not a valid comparison - he probably gets 40% of this, the rest goes to the shop. As a comparison, how much would a company charge for your time? Typically 2.5x your base salary (before benefits).

</comment></comment><comment><USER10> These figures feel a little on the low side. When I first did some freelance work, I used the tables at [http://www.itjobswatch.co.uk/contract.aspx?page=1&sortby...](http://www.itjobswatch.co.uk/contract.aspx?page=1&sortby=0&orderby=0&q=&id=900&lid=2618) to help work out a rate.

There seems quite a difference between hourly and daily rate.

</comment><comment><USER11> _"anything under £100 I removed as I felt this could not easily be distinguished between daily and hourly rate."_

So basically, he threw away all the data from people quoting high hourly rates, and now we're seeing a bunch of discussion here that can be summed up as "Gee, that seems a bit low, doesn't it?"

<comment><USER12> No, he threw away data from people who put under £100 in a daily rate and _didn't_ explicitly state it was an hourly rate. He threw away ambiguous data, yes it sucks data was lost but it means better "integrity" of the final results.

<comment><USER11> Don't you find it a bit suspicious that after throwing away all those numbers, he was left with nobody at all billing more than £75/hr?

And realistically, is there anybody here in the UK who is not a builder's apprentice and charges less than £100 per day? Think there are any _computer programmers_ billing out at £12/hr here?

I don't think the data was in any way ambiguous. And since he threw it out, he pretty much invalidated his survey.

</comment></comment></comment><comment><USER13> This seems low, speaking as a UK dev. It massively depends on the work you're actually doing though.

</comment><comment><USER14> Minor point, but I thought median is a better statistic compared to a mean when talking about compensation.

</comment><comment><USER15> £300 per day. That's £37.50/hr before taxes. Peanuts if you are a consultant.

<comment><USER16> In my experience it depends on the work. For consulting jobs where you go sit in a bank or whatever and bash out code onsite all day, £300 is low. But for freelance work, remote work, it's much harder to find anyone who will pay £300, let alone higher. It's not impossible but there's much more of a race to the bottom in the latter jobs than there is in the former.

<comment><USER17> To give a data point: I'm doing only remote work (except 12 days on site this year) and I'm really, really north £300 (my usual daily rate is 900€).

(see <http://www.logeek.fr/> if you're curious about the kind of work I do)

My opinion is that it's not a matter of money, but rather a matter of finding companies that work remotely and do it well.</comment></comment></comment>


Pros and Cons of Building a Site around FBConnect - <AUTHOR> http://troggerpath.wordpress.com/2008/12/11/32/

<comment><USER2> I'm not so sure about FBConnect. The author says that it makes it easier to launch since you don't have to build a registration system. Well, that's true, but you do have to hook into FBConnect which (for me) would be just as much if not more work.

The author similarly leaves out what I think are the most important pitfalls. Namely, that Facebook can simply decide to end FBConnect at anytime or make it so much less usable (like they did to applications) that it essentially kills you. The more users you get, the more valuable that data is, but with FBConnect you only have that data so long as you're on Facebook's good graces. Since you don't have any identifier (email, username, etc.) if Facebook terminates FBConnect, you may still have the rows in the database, but now they're not mapped to anyone since you no longer have access to Facebook.

Likewise, the more data you give Facebook, the more of a business advantage you give them should they ever decide that your time is over. They can easily track what sites are hot, how users use the applications based on what gets posted to walls, etc. Then they can run you out of business with something better integrated - like they did with some apps.

Without email addresses, you can't contact users. I hate sites that constantly spam me, but some email is valuable.

Finally, you're saying that your site isn't good enough for users to spend the time to open an account there. If you've made something good, your pitch shouldn't be, "well, it's really only worth using because you don't have to put in a new password." If you aren't getting an email from that person, then a registration is no-hassle (like here at HN). I put in a username and repeat a password twice (nearly as easy as logging in).

FBConnect really just looks like an attempt by Facebook to lock out competition both in the social network arena as well as the application arena. They can easily target your users for their own replacement of your site, they're getting your data on what's popular, they're in a position to shut you down should you impact their business plans.

<comment><AUTHOR> You're absolutely right. (I'm the author of the post, btw.) I've brought up these issues with Facebook in the past, and I've yet to receive satisfactory answers.

Using FBConnect is a calculated risk for us. It gives us the chance to grow faster (via News Feed integration), to make our site more social ("15 of your Facebook friends are on Trogger. Click here to follow them."), and to streamline the login/signup process.

As an early-stage startup, our top priority is to launch quickly and grow fast. We feel that FBConnect helps us do both of these things better than any alternative.

If we establish traction, and get a bunch of users, then we'll be paying a lot of attention to the points you brought up. I think it makes a lot of sense to have a contingency plan if Facebook significantly alters or restricts FBConnect, in a similar way they diminished the prominence of applications not too long ago.

At the end of the day, though, it comes down to growth. Many startups launch and fail because no one knows about them. FBConnect gives us the best opportunity to break out of this mold, and reach the proverbial hockey-stick a lot faster than would otherwise be possible.

<comment><USER2> Your post was definitely cool, but I felt you weren't one-sided enough ;-). Maybe you could provide a link to Trogger? Is it still in development?

As a piece of advice, I would recommend _very_ strongly that you get people's email even if it makes registration a two-step process. That way, if anything happens, you can generate temp passwords and email them with an explanation that Facebook terminated FBConnect, but you're still good!

</comment></comment></comment><comment><USER3> Facebook Connect is fantastic if you want to build an app that requires access to a user's social graph without being obtrusive. Anything else and it feels a little pointless.

That said, there are a million good reasons to access that social graph. We wanted to use it so that when you signed up to our site, we could see which companies your friends had worked at in the present/past, and thus show you jobs your friends may be able to refer you to. Since FB didn't accept us to their program, we had to build the connection infrastructure from scratch which a) sucked up a lot of time and resources and b) will never be as successful as using an existing network.

</comment><comment><USER4> The limited user base is the one that would do it for me. 100million people may seem like a lot, but that's less than 7% of internet users (<http://www.internetworldstats.com/stats.htm>).

I'm fairly sure that I wouldn't want to be turning away 9/10 of the people visiting my site...

You could go with OpenID - or use a third party like RPXNow.

</comment><comment><USER5> The real argument for FBConnect or any other connect mechanism (ie google's and myspace's connect) is that you suddenly get to use those social networks as distribution and promotional channels for your apps.

so its not so much about the ease of development/integration (which it actually is if you already have a registration system) its about user acquisition and reducing the barriers in doing so.

</comment><comment><USER6> facebook built fbconnect. it's okay</comment>


Shinysdr – Software-defined radio receiver application built on GNU Radio - <AUTHOR> https://github.com/kpreid/shinysdr <comment><USER2> "While it is not intended to be Chrome-only, no attempt has been made to avoid using facilities which are not yet implemented in other browsers. Safari (Mac, 7.0.4) is known to work functionally but with broken flexbox UI layout, and Firefox (29) doesn't work at all (WebSocket fails to connect). Currently, the client must have the same endianness and floating-point format as the server"

Isn't modern web technology great?

<comment><USER3> For someone's personal project I'm not sure why anyone would choose to avoid the new shiny features of their preferred browser given that those features will wind up in the others eventually. It was the same situation with HTML5 where devs jumped at the ability to write code that was forward compatible and to hell with any 'legacy' browser that wasn't modern enough.

For community OSS projects I would never expect them to spend time mucking about with cross browser compatibility given that they will be eventually consistent.

</comment></comment><comment><USER4> Can anyone recommend a decent overview of SDR these days coming from a software (non hardcore maths/physics background) perspective? A few years ago it seemed like a fascinating area but the hardware was still quite expensive. I guess it has gotten cheaper? I am mostly interested to see what kind of signals are in the local environment, and maybe increase my understanding of some common wireless protocols.

<comment><USER5> The thing that happened is RTL-SDR, which is _not_ the name of a product but refers to the _use_ of a mass-market TV receiver USB device that happened to have a raw IQ signal mode in the hardware (RTL2832U chip). This being so cheap ($15-20) lots and lots of people jumped on it and this created a lot of interest in SDR in general.

I don't have a good overview to recommend you, but for 'what kind of signals…' I do recommend grabbing a RTL-SDR device, and just reading about how to use it should give you lots of pointers into the rest of the SDR world.

</comment></comment><comment><USER6> I wish there was some images of the UI

<comment><USER7> > created ShinySDR out of dissatisfaction with the user interface of other SDR > applications that were available to me.

No pictures/live demo/simulator available.

:(

<comment><USER5> A public demo instance is blocked on adding sufficient anti-DoS provisions to the server. One possibility I've considered is to make a simulation-only version packaged for Sandstorm, which would allow for a one-click trial experience — but not show any actual RF, so the internal simulator would need to be made much richer to actually show off the features.

<comment><USER8> Or you know, you could just add a couple screenshots for people who are curious...

</comment></comment></comment></comment><comment><USER9> Is it usable on raspberry pi or any of the other ARM boards?

<comment><USER5> Some people have used it with Raspberry Pis; I don't own any myself. I tried a BeagleBone Black once and found that the CPU couldn't keep up. The CPU use will vary a lot depending on what sample rate you set and what demodulator you're using. Lots of room for improvement, too.

</comment></comment><comment><USER10> "I (Kevin Reid) created ShinySDR out of dissatisfaction with the user interface of other SDR applications that were available to me."

Well if you want to convince me that yours isnt crap either, you should have put a screenshot in the readme...

<comment><USER5> It turns out that UI is hard! But the biggest not-crap thing from back when I wrote that (persistent waterfall) is not actually visible in a screenshot; it would need a video.

— a video would make sense, wouldn't it.

<comment><USER10> Maybe :-) I am pretty interrested tho, not very much into SDR but I have one of those cheap dongle things laying around...</comment></comment></comment>


Fed up with slow and pricey Internet, cities start demanding gigabit fiber - <AUTHOR> http://arstechnica.com/business/2013/11/fed-up-with-slow-and-pricey-internet-cities-start-demanding-gigabit-fiber/ <comment><USER2> It never hurts to revisit this article:

The $200 Billion Rip-Off: Our broadband future was stolen

[http://www.pbs.org/cringely/pulpit/2007/pulpit_20070810_0026...](http://www.pbs.org/cringely/pulpit/2007/pulpit_20070810_002683.html)

</comment><comment><USER3> I'm all for the market in most instances, but I really hope Internet access starts to be treated like a utility in the United States. It is approaching the necessity of electricity a century ago (or water, gas, roadways, etc.) The market had zero incentive to invest so heavily in these utilities for such a drawn out return before the government financed the basic infrastructure. I know the analogy isn't perfect for a few reasons, but imagine where we would be if all these other necessities were privatized?

<comment><USER4> You are off your rocker if you think this is a market problem. Where I live now and where I lived previously (downtown Baltimore) there is some sort of regulation that keeps Verizon/FIOS from being able to provide service so the ONLY option is Comcast besides some shit 3g/Clear service nobody should use.

Just because the internet _is important_ doesn't mean the same laws of economics don't apply to it and it will somehow be better provided by government.

<comment><USER5> "some sort of regulation" is entirely devoid of information. If there indeed is a regulatory hurdle, what _precisely_ is it? Nobody that I can find has ever pointed out any regulatory hurdles for Baltimore FIOS, so if you make that claim, it would be nice to actually back it up.

<comment><USER4> [http://progressivemaryland.org/public/documents/2010/utility...](http://progressivemaryland.org/public/documents/2010/utilityreg/2010-1fios- whereisbmore-form.pdf)

>In the state of Maryland, Verizon currently offers FiOS service in Anne Arundel, Baltimore, Charles, Harford, Howard, Montgomery and Prince George's counties. Thus, the only major jurisdiction in the state that is not yet wired for FiOS is Baltimore City. Verizon recently told members of the City Council that they have no plans to apply for a franchise agreement with the Baltimore City Office of Cable and Communications.

I'm not sure on all the ins and outs of it. Feel free to dig more yourself but basically Verizon needs some sort of permit to lay cable and the city council or this office has a certain price for it that makes Verizon see it as unprofitable to provide the service then, unlike most other areas.

<comment><USER5> I have no issue believing that there are occasionally issues with permits, and that they might sometimes prevent neighborhoods from getting a certain kind of service

But given that Verizon is not rolling out any more FIOS nation-wide[1], I really have trouble believing it's a regulatory issue in this case. And they slowed down way before 2010[2]. VZW gave up on FIOS, plain and simple. Everywhere.

[1] [http://www.dslreports.com/shownews/Verizon-Again-Confirms- Fi...](http://www.dslreports.com/shownews/Verizon-Again-Confirms-FiOS- Expansion-is-Over-118949) [2] [http://www.huffingtonpost.com/bruce- kushnick/the-great-veriz...](http://www.huffingtonpost.com/bruce-kushnick/the- great-verizon-fios-ripoff_b_1529287.html)

</comment></comment></comment></comment></comment><comment><USER2> _" The old model was 'everybody has to have service,' which is where cable and telephone came from," Smith said. "This is a model that says, 'we can be patient while demand builds.' We'd like to see some of our most disadvantaged served, but we're not starting out with 'everybody must get service immediately.'"_

My understanding is that Chattanooga's gigabit service was rolled out as quickly as they could as limited by funding to everyone within the service area. My understanding is that they are the only city in the US with such complete gigabit coverage.

I've read that they are now selling consulting services to other communities looking to do gigabit rollouts. I'd like to know what their take is on that philosophy since it seems to be the opposite of what they did and they seem to be significantly exceeding revenue targets.

[http://www.chattanoogan.com/2013/9/17/259342/EPB- Increasing-...](http://www.chattanoogan.com/2013/9/17/259342/EPB-Increasing- Fiber-Optic-Speeds.aspx)

<comment><USER6> From what I recall, EPB initially planned for the fiber network to be used for their smart grid, which encompasses all of their service area, and then after that was built, they realized they had the capacity to run an ISP. They had the benefit of much of the infrastructure needed to deploy the fiber network already in place and not having to deal with access rights.

</comment></comment><comment><USER7> Maybe the municipalities should start asking Google why they were rejected. I'm extremely skeptical that cities are opening up to competitive fiber offerings -- a lot of it is political wrangling that most aren't even willing to deal with.

Cut the red tape and they will come. Fuck the exclusivity wheeling and dealing.

<comment><USER8> My understanding of the Louisville RFI is that it is to be an open access network. The prospect of a local fiber plant providing last mile connectivity between various ISPs and customers excites me greatly.

</comment></comment><comment><USER9> Once gigabit is in perhaps 25% of homes and businesses, everyone else will want it, too, and a tipping point will have been reached.

I'm guessing it will take that large a market for the really cool apps to become practical and well known: remote desktops and thin clients that serve up high def TV/movies and real-time high quality video telephone (finally). This will be when television and computers finally converge and we will stop thinking of them as separate and different products.

I have to admire Google. They not only envisioned this, but (as usual) very smartly went about implementing a demo. The "fiberhood" approach makes sense; it's the right way to roll out the service (or any non-essential service, really). Make money on neighborhood #1, and that pays for the rollout to neighborhood #2, and so forth.

The whole "either everyone gets it or no one gets it" approach goes out the window, and suddenly, every town wants it. Certainly it will have to be provided to "under-served" areas but the important thing is for there to be a solid business model, preferably with competing providers, else all the problems of a utility-quasi-monopoly come into play: indifferent customer service and support, uneven service quality, etc.

I can't wait until this comes to my town, just outside of Boston, but for various reasons I suspect Mass. will be among the last places to get it. Anyway--congratulations to those who have it, and just _don 't rub it in_!!

</comment><comment><USER10> here's some data points:

we're located in santa monica / west LA, in the middle of town, and our building had, until last year, had the following options for bandwidth:

* adsl ... $40/month for 3/.25 megabit

* EoC (sdsl) ... $1500/month for 15/15 megabit

* Bonded T1 / T3 ... insanely expensive.

Time warner business class moved in with fiber to the building and now we have:

* cable modem over coax muxed into fiber switch @ roughly $300/month for consumer-level speeds (30/5 megabit). which is what we use right now.

* Fiber to fiber (ethernet switch on customer premises):

10/10 megabit starting @ $1300/month (worse than EoC above)

40/40 megabit $2400/month

1gbps/1gbps for $14,000/month (yes $14 THOUSAND/month.

we pay $400/month at the datacenter for each of our 1gbit/1gbit links w/ a 100 megabit commitment.

<comment><USER11> If you are in Santa Monica City proper, Santa Monica has a not-well-known fiber network: [http://gismap.santa- monica.org/GISMaps/pdf/smFiberOpticsZoni...](http://gismap.santa- monica.org/GISMaps/pdf/smFiberOpticsZoning.pdf)

TrueCar uses the city's fiber network to connects between its buildings with dark fiber, get a gigabit cross-connect to its colo in downtown LA, and 500 megabits of nLayer bandwidth to the offices. The service has been fantastic and is cheaper by far than anything else we found.

See [http://www.smgov.net/departments/isd/smcitynet.aspx](http://www.smgov.net/departments/isd/smcitynet.aspx) for contact info.

<comment><USER10> unfortunately, we are literally on the other street of the city limit (centinela).

</comment></comment></comment><comment><USER12> When I was in Seattle, I had CondoInternet fiber which offered 100 mbps for $60/mo and gigabit for $120/mo.

Then I moved to Santa Clara, and my options are Comcast (currently paying for $50/mo for 50 mbps and actually receiving 10 mbps) or 24 mbps AT&T Uverse for $60/mo.

Why does Silicon Valley, of all places, have such slow and anachronistic Internet options?

</comment><comment><USER13> As an Aggie and former Bryan / College Station resident (of 15 years), it's fantastic to see them taking a lead on this.

BCS has always been pretty good for high speed internet (I had 2Mbps cable in 1999), but the price disparity between residential and business is insane, and speed increases have stalled somewhat in recent years. Suddenlink is pretty good, but that area has been the target of rather frequent cable company acquisitions and mergers (TCA -> Cox -> Suddenlink just while I was there), so it's not a foregone conclusion that things will stay "ok".

I love living in SF, but I have to admit I kind of like the idea that my "little Texas town" will probably get gigabit and a sensible fiber infrastructure long before SF or most parts of Silicon Valley will.

</comment><comment><USER14> The electric grid was built on subsidized money and is regulated as a natural monopoly. A large part of that grid is made up of utility poles.

If you want to be a cable provider or ISP, the easiest way is to put your lines on those utility poles. They are already carrying power lines to people's homes any way. Run some cables and you can avoid the extremely expensive proposition of building secondary infrastructure to support more cables running to houses.

When the local municipalities set up agreements with the cable providers, a part of that agreement states nobody else can be on the utility pole. This is why there is a monopoly.

If cities are really fed up with pricey internet, they need to re-evaluate these agreements they've made with the all the incumbents.

</comment><comment><USER15> having the same DSL connection over recent several years my price has gradually risen from $26 to $40 per month. I'd say something is really wrong with a technology sector if it has such negative price/performance dynamics.

</comment><comment><USER16> And in Australia we were getting gigabit (rollout was happening), then a new government came to power and said we don't need it, and that copper is fine.

[http://howfastisthenbn.com.au/](http://howfastisthenbn.com.au/)

</comment><comment><USER17> I would love me some gigabit. I'm in Independence, MO, just east of Kansas City, MO. I just switched to Comcast (puke) for $50/month for 50mbps. I was using ATT Uverse where I was paying $60/month for 16mbps (and actually getting 2mbps, hence the switch). Meanwhile, 10 miles West in KC they're paying Google $120 for gigabit + cable. I wish I could get in on that.

</comment><comment><USER18> Is it really all about the speed race? Why don't I ever hear about quality of service, smaller latencies, etc? Is it because it is less marketable? I am sure ISPs can ultimately do something about it.

If I am naïve, then please guide me.

</comment><comment><USER19> I hope this won't turn into something like:

"We offer Gigabit fiber*. Come and get it!"

Footnote: Speeds may get no higher than 200 Mbps most of the time.

If these investments are going to last for another decade, they need to offer at least 1 Gbps to everyone.

</comment><comment><USER20> Genuine question: why the obsession with gigabit? What applications demand it?

<comment><USER21> Game development.

Setting up a new workspace generally is a "go out to lunch and it'll hopefully be mostly done with the perforce checkout by the time you're back" affair on our internal LAN, nevermind if you wanted to work from home. Downloading the built assets through our internal tools takes a similar length of time, so you hopefully can wait until the end of the day to kick that off as you head out.

Various SDKs are delivered by download - my last download was 15GB, compressed. These often require frequent updates, which we save to local shares as a simple matter of expediency when shared widely.

Delivering complete, self contained milestones in specific formats causing 12-50GB .zips to be uploaded via FTP for hours... with the semi-frequent resort to sneakernet due to quota limitations, service issues, or just plain not having hours between when development for a build was stopped and when the build was needed someplace for a demo or whatever else.

I have an archive of some of those deliveries on my local machine. Even with a good 30%+ of my archives missing due to lack of drive space, the archives for the single project I've archives for total over a terrabyte. They're useful for reproducing bugs exactly on occasion. Between all the other projects, other employees, and monstrous shared resources like complete Perforce history, build machines and other servers... complete backup would probably be somewhere around the 0.1 _peta_ bytes mark... or close to a full petabit of data. And we're considered only a "small" business, under 50 employees!

Fortunately for us backups are fairly static, and the nightly rsync to offsite storage is _usually_ done bringing all our services to a grinding halt by the time work starts the next day. But it's sufficiently slow that those are our secondary backups, with primaries and restoration being done through sneakernet as the rule, not the exception, despite the "beefy" pipe. A second internet backup would push backup times into our workday, and if we're ever forced to do a major restoration through the internet, it's going to be extremely painful... days of waiting with employees unable to do their jobs. Expensive!

<comment><USER22> Wow I'm surprised game development is still like that. I haven't done game development in almost 9 years, but the "Perforce saturating the LAN" problem sounds very familiar!

So I'm actually working on a (binary) software distribution system, and I think it would work very well for this use case. This problem can be solved with software -- it doesn't require an upgrade to fiber.

The (straightforward) idea is to use content-addressed storage and differential compression, pretty much like Git does. Then you can actually sync data from your neighbor's machine, in a BitTorrent-ish fashion (possibly getting tiny amounts of metadata from a central server for consistency). Perforce definitely has problems with spurious lock contention, and just a few team members syncing from the same machine can easily clog its pipes if you're not careful.

I'm not up to date, but I'm pretty sure you can do better than Perforce's delta compression. You can probably do it with a single generic algorithm, but one way to really improve would be to use file-type specific compression, e.g. bsdiff or Chrome's Courgette for executables, and use other heuristics for game data, raw audio, video, etc. You actually want to avoid single-file compression in the repository so you can take advantage of the differential compression.

I can understand that the dynamics of game development teams means that this will never get written in house (although perhaps in the years since I've left, people started placing more emphasis on tools).

But for all the entrepreneurs out there, I wouldn't dismiss the market of selling tools to game developers. Perforce is a tiny company that I know made an absolute killing in that market, and I'm somewhat surprised that after a decade they're still the state of the art.

<comment><USER21> > Wow I'm surprised game development is still like that.

Some of the problems are fundamental. We're forced to use certain compressed and signed packaging schemes which aren't sanely delta compressable. We distribute in self contained blobs because not everyone has older versions lying around, or will not have a worthwhile pipe when they get to where they need to install things and will further sneakernet on their end. Even if we did assume sane deltas are possible, simple information density puts a lower bound on patch size based on how much content changed, and even that theoretical lower bound can frequently be too much and take too long for relatively "beefy" pipes. Heck, even with fiber, people will still be saving these things out to USB drives for good reason.

> Then you can actually sync data from your neighbor's machine, in a > BitTorrent-ish fashion (possibly getting tiny amounts of metadata from a > central server for consistency). Perforce definitely has problems with > spurious lock contention, and just a few team members syncing from the same > machine can easily clog its pipes if you're not careful.

That helps if the bottleneck is the server. Our perforce machines are beefy enough that our bottlenecks are frequently the client and the LAN pipe, neither of which will be helped by BitTorrent style networking. Work from home would be 100% pipe bottlenecked, as the work pipe is able to saturate it quite easily. FTP is still bottlenecked by either the developer's or the publisher's pipe, and wouldn't be helped by p2p either.

> I'm not up to date, but I'm pretty sure you can do better than Perforce's > delta compression.

There's always room for incremental improvements... but not enough to beat out fiber.

> You actually want to avoid single-file compression in the repository so you > can take advantage of the differential compression.

Not always possible due to format requirements. Windows 8 .appx packages, for example, are basically self contained signed .zips containing an application and all it's resources. Want to provide three builds? You just compressed and signed three different entire copies of all your built resources. For bonus points, those were .zip ed _again_. Insanity! But software cannot magically solve the social problems that let such designs reach the marketplace.

And since things break unless you use the exact "correct" certificate for signing, any script that generated the .appx from one set of resources would require distributing the actual private key which is a non starter...

</comment></comment></comment></comment><comment><USER23> Gigabit! I only dream of that. I'm happy that my ISP claims I can get 30 MBps here 10 miles outside town.

</comment><comment><USER24> Much like basic wage, gigabit fiber is a universal human right.</comment>


Discovery is the New Cocaine: Going Beyond Engagement - <AUTHOR> http://www.slideshare.net/mingyeow/discovery-is-the-new-cocaine-going-beyond-engagement

<comment><AUTHOR> hey guys, thanks for the positive feedback! we gave an early version of this at SXSW, and also at a couple of hacker events.

we are actually contemplating organizing a meetup focused on discovery, recommendations and such. Good idea? -

[http://web.meetup.com/125/manage/settings/desc/?returnUri=%2...](http://web.meetup.com/125/manage/settings/desc/?returnUri=%2F125%2F%3Fsuccess%3Ddetails2)

</comment><comment><USER2> This is the best "cheat sheet" for creating consumer web apps since that Joshua Schacter text file from a while back.

Nice work.

</comment><comment><USER3> I would have loved to see that presentation. Do you know when and where it was given?

<comment><AUTHOR> Hi there! We have a panel submission at SXSW 2009 - <http://panelpicker.sxsw.com/ideas/view/2033> ... So if enough people vote/comment, we will be speaking there. ;)

Also, would love to touch base if you are in SF - do ping me at email@example.com</comment></comment>


Boost Interval Container Library - <AUTHOR> http://www.boost.org/doc/libs/1_46_1/libs/icl/doc/html/index.html

<comment><USER2> Boost has lots of things. Why is this one particularly interesting?

<comment><USER3> The Boost Interval Container Library (ICL) is relatively new; it's new from 1.46.0, which came out on 21st February 2011, hence it's quite likely few people have heard of this before.

Also, the underlying implementation ([http://www.boost.org/doc/libs/1_46_1/libs/icl/doc/html/boost...](http://www.boost.org/doc/libs/1_46_1/libs/icl/doc/html/boost_icl/implementation.html)) relies on STL sets and maps, rather than using something more exotic like R-Trees or kd-trees, so this might spark some discussion about alternate implementations and their respective complexities.

I say might because intervals...well, don't really do it for me. Anyone have interesting applications?

<comment><USER4> If you annotate text, you frequently want to attach information to (word or character position) intervals.

And you do complex queries over these interval annotations, e.g. (for a simple example) "which sentences contain both a date and a room number".

Because of the scale of corpora, people often do the storage and queries over SQL databases rather than in-memory, but the principle is the same.</comment></comment></comment>


Show HN: Shortwhale – Get fewer, shorter, and better emails - <AUTHOR>

Dan Ariely and I are looking for ways to help people with high email load. One idea was Shortwhale, which we've tested for a few months now. The idea is super simple: It's a place to tell people how you prefer email and it offers a simple contact form that adds the necessary structure to email. Although technically trivial, it works extremely well for Dan. We have ideas on how to expand this but first we'd like to know if someone else might find this useful too (we know that this is only a solution for people who get tons of (unsolicited) email).
Underlying to all of this is the idea to put more demands on the sender (there are things to pick from a drop-down and people can create multiple-choice emails, which allows the receiver to answer with one click). However, what we found is that it can also make it easier for people to write Dan because it actually removes some demands from them: they know that he doesn't expect any formalities and the structure helps them too. And, above all, senders are more likely to get a response (and quicker).
Please have a look:
http://shortwhale.com
As an example, here's Dan's Shortwhale page (he links to it from his website and in his email signature):
http://shortwhale.com/danariely
HN, we'd love to hear what you think.
Many thanks, Dan Ariely and Dominik Grolimund
PS: If you're interested, Lifehacker published an interview with Dan where he talks about "how he works": lifehacker.com/im-dan-ariely-author-and-professor-and-this-is-how-i-1615748781 <comment><USER2> Your biggest challenge will be with users. Just imagine if you tell someone "Just email me using shortwhale.com/danariely". My mom and most non-hn friends would enter that in the "To:" section of their email client.

Users are stupid, and email is unfortunately an overdeveloped idea from an age long past. Attempts to replace it invariably face resistance from the multitudes of users who wouldn't react well with change.

I like the idea and recognize the need for a service like this, however.

<comment><AUTHOR> Thanks for the feedback. Agree, if you say it in a conversation, but it works well for Dan because he links to it from his website: [http://danariely.com/about-dan/](http://danariely.com/about-dan/)

<comment><USER3> You could easily extend this to support email forwarding.

e.g. email@example.com -> email@example.com

Messages sent to the inbound email address receive automatic replies with a link to the site, or for bonus points, an HTML form (for email clients that aren't ancient and terrible).

</comment></comment></comment><comment><USER4> Am I expected to watch 15 minutes of videos in order to understand how and what to email Dan? It's an interesting choice - in the context of efficiency and saving time - to decide to put in videos (and some >3 minutes) to watch in the FAQ.

While I appreciate that a lot of email is a problem for many people - solutions need to be aware of the preciousness of everyone's time not just yours (the recipient's).

</comment><comment><AUTHOR> Urgh, URL is not linked. Does it work in the comments?

[http://shortwhale.com](http://shortwhale.com)

[http://shortwhale.com/danariely](http://shortwhale.com/danariely)

<comment><USER5> Double-click URL, right-click, open link.

</comment></comment><comment><USER6> I can see how it may work when someone needs something from Dan. However if I am contacting him for his own benefit (something as mundane as reporting a typo on his website) I am most certainly won't jump through these hoops.

This is not too different from those obnoxious anti-spam services that require you to click on a link and solve a captcha before delivering your email to the recipient. That's just a No, because you make me do extra work for your own convenience even though I am already ultimately doing you a favor by replying to your email.

In other words, this form works as a mechanism to discourage emails from people who don't need anything from the recipient.

</comment><comment><USER7> Seems like this will most effectively work with high profile people / people in demand.

As an average Joe, my thought process:

\- I'm not going to make my friends and family contact me this way. It's just too impersonal. If a friend insisted I contact them this way, I probably wouldn't bother.

\- I can't enforce this at work, as much as I'd like to. Not to mention I'm cc'd or included in on a lot of emails that go to multiple people.

But for people like Dan Ariely, this could work great.

</comment><comment><USER8> This puts too much burden on the sending user. I think a better idea would be something that reads the email, categorizes it, and provides a short one or two sentence summary of what it's about.

<comment><USER9> There's already a tool that does this. Check out [http://www.sanebox.com/](http://www.sanebox.com/).

<comment><USER8> sweet

</comment></comment></comment><comment><USER10> Thanks for all the comments.

I think that the real issue is how to create a world in which we help the people getting our email understand us better -- including if and when we need an answer.

Email is currently sorted by time, and this is not representing correctly when people should stop their work and attend to it -- shortwhale is trying to solve this.

I also don't think that shortwhale is just for busy people, since distractions are bad for all of us.

Now, I getting back to work

Dan

</comment><comment><USER11> Looked through the web site and form and whatnot. I don't think people would go through an extra form to contact me, but I can see how it could be useful for people of note like that.

When I clicked in I was expecting this to be some sort of email filter that rewrote emails to be shorter (either by humans or by new summarizing algorithms) or a human virtual assistant to help follow some more complex rules than filters allow to help pare down inboxes. Seems like those would have a broader market.

<comment><AUTHOR> Yes, maybe. The main idea was to influence behavior (on the sender's end) somehow. This is along the lines of a lot of Dan's research. It goes a long way to tell people how you prefer email, what topics you're interested in, etc.

<comment><USER12> I agree that it goes a long way to tell people how you prefer email. However, enforcing those preferences (through something like shortwhale) is different than expressing your desire and then hoping that users follow those desires while emailing through ordinary means. In other words, there are two ways of forcing a user to follow those desires - technologically or through force of implied disapproval (with whatever outcome that disapproval would hold, such as non-response). Might this difference be a good opportunity for A/B testing, and perhaps thereby helping Dan's research?

I suspect that the force of disapproval would be just as effective as the technological force for 'meaningful' emails, but would lose effectiveness for less meaningful emails (where Dan's disapproval doesn't mean much to the sender).

If so, then the real issue may be that Dan is getting too many emails from people who don't care what he thinks. The classic way to deal with this is to have one address for people who know you (and care what you think) and another for the unwashed masses. The problem with the classic solution is that it requires someone to monitor the unwashed email, or you suffer the opportunity cost of ignoring possibly important messages from people you don't know (yet). I wonder if Dan is already using this method, and shortwhale is only for the unwashed email address, thus reducing the cost while keeping the opportunity?

</comment></comment></comment><comment><USER13> I can see this as being really helpful for university profs, for making it more difficult for students to send vague, impossible to answer questions about assignments.

</comment><comment><USER14> LOVE it! I have been in love with shortmail but never used it much because they were very unreliable, and finally closed. My e-mail overload comes from singups and newsletters not people, but it is a great tool to hide e-mail on a blog or twitter.

One request though. Could you check your gender form. I have twice changed to female, and it still shows male and refers to em as male.

</comment><comment><USER15> I love this idea and the videos where Dan agrees or disagrees with you are hilarious. Email overload is real and I think the form is a fairly unobtrusive way to filter contact.

Edit: It's also up on ProductHunt now: [http://www.producthunt.com/posts/shortwhale](http://www.producthunt.com/posts/shortwhale)

</comment><comment><USER16> These guidelines work pretty good for me: [http://www-user.tu- chemnitz.de/~heha/email.html.en](http://www-user.tu- chemnitz.de/~heha/email.html.en), basically:

* Plain text only

* Proper subject

* No long signatures

* No nonsense

* UTF-8

</comment><comment><USER17> Well, this is a verbose form asking me to keep my message short. Or shut up, even better. Nice.

</comment><comment><USER3> I think it's a fantastic idea to create Comment Forms-as-a-Service. Two thumbs up for including a FAQ with Videos. Do you have an enterprise version for corporate contact/support pages? I'm only half joking.</comment>


Hand Drawn Animation Tutorial - <AUTHOR> http://animationresources.org/?p=3572

<comment><AUTHOR> Link to index of all of the relevant posts of the tutorial: <http://animationresources.org/?p=1929></comment>


Black silicon photodetector breaks the 100% efficiency limit - <AUTHOR> https://phys.org/news/2020-08-black-silicon-photodetector-efficiency-limit.html <comment><USER2> The most relevant single sentence from the paper seems to be:

> _Special emphasis is put on the UV range (λ=200-350nm) where we show that > extremely high response, more than 130%, can be achieved at zero bias._

The material they constructed turns out to react well to UV light, so well that it proves their technique is worth further investment.

</comment><comment><USER3> Can someone decode/ELI5 please? (or did i just miss the joke...)

<comment><USER4> Normal p-n junctions (including solar panels and ordinary semiconductors) are light sensitive because one photon of light can strike and transfer its energy into creating one electron-hole pair (promoting one electron from the valence band to conduction band). This is called "optical generation", in contrast to "thermal generation". These electron-hole pairs are generated in the depletion region of the junction where they are quickly swept across by strong electric fields that arise from the junction itself. But in general, one photon = one electron-hole pair -- at most.

Avalanche photodiodes already exist and convert a single incident photon into multiple charge carriers. They do this using an externally-applied electric field. This externally-applied electric field enables "impact ionization" which means that one mobile charge carrier seems to be able to knock another one loose.

(As a thought experiment: imagine a bed of pebbles. Toss in another pebble, and it's likely to kick one of the existing pebbles free. Now, pretend the bed of pebbles is at a 45-degree angle to gravity. Toss a pebble in and it's more likely that the ejected pebble will itself kick another pebble loose when it lands. Make the angle steep enough and you get an "avalanche", hence the name.)

As far as I can tell, the novelty here is that the high electric field is created by the geometry and materials at the surface of the nanoscale needle structure, so some version of the avalanche effect happens without needing to apply an external electric field.

In the headline, efficiency refers to quantum efficiency (electrons per photon); conservation of energy still applies.

<comment><USER5> how does the avalanche photodiode provide more electrons that required to generate the external field?

<comment><USER6> It doesn't. The role of this kind of diode is not to generate energy but to detect faint amounts of light, to achieve that you spend additional energy on the external field.

<comment><USER5> Thanks, that makes way more sense.

</comment></comment></comment></comment></comment><comment><USER7> "Aalto University researchers have developed a black silicon photodetector that has reached above 130% efficiency. Thus, for the first time, a photovoltaic device has exceeded the 100% limit..."

Well, looks like the apparently correct physics which, up until now, defined the limit on photovoltaic efficiency -- _was wrong_... <g>

 _Physics is such a fickle subject..._ <g>

"You cannot change the laws of physics!"

-Star Trek's Scotty (James Doohan)

</comment><comment><USER8> This is super cool.

Excited to see the way this breakthrough will be absorbed into different industries.

Can anyone comment on the impact of this with regards to LIDAR tech?

<comment><USER9> It is probably not very useful for lidar, because the effect only works for UV wavelengths. At the normal eye-safe infrared wavelengths used for lidar the quantum efficiency of this type of detector is basically 0.

It does work well for general low light imaging and nightvision applications, you can get a black silicon sensor quite high QE (~80%-ish depending on what wavelength ranges you are interested in) commercially from [https://www.sionyx.com/](https://www.sionyx.com/)

</comment></comment><comment><USER10> So if "100%" efficiency is defined as one photon generating one electron...

...then what would _total_ energy conversion be according to this metric? Where the energy of the electric current _equals_ the energy of the photons? No energy lost? If this is above 130%, what's the ceiling? (Even if no materials exist that could ever achieve it.)

<comment><USER11> Total energy efficiency would entail extracting electron-volt from the photon. There isn't any real cap here except how much energy you can stuff into a vaguely stable photon and how much energy your PV cell can withstand.

PV cells usually excite at one one energy level; any photon with more energy just gives the electron extra speed, which is wasted. This paper is claiming to be able to extract the excess kinetic energy from the electron through collision by colliding with another electron and knocking it loose.</comment></comment>


PHP Graphic User Interface Library - <AUTHOR> https://github.com/gabrielrcouto/php-gui <comment><USER2> No right click is a pretty big deal breaker for any application I would want to develop.

[https://github.com/gabrielrcouto/php- gui/issues/46](https://github.com/gabrielrcouto/php-gui/issues/46)

If there are problems hooking up something as simple as a new mouseclick, the library is prohibitively primitive.

</comment><comment><USER3> I would honestly like to see how this holds up against Electron in performance. I know that may be setting the bar a bit low, considering one is a bundled chromium, and this just seems to interact with UI libraries directly.

Thought I don't know if PHP would be my first pick if I wanted to develop a desktop application. Then again Electron, and JS wouldn't be either.

<comment><USER4> My brief experience with PHP was pretty good. I remember it being fairly nice to work with, and really easy to get up and running with.

The choice of a Pascal program to do the actual drawing was interesting. I'd heard of Lazarus, but hadn't seen it used before.

<comment><USER5> "Fairly nice" compared to what?

PHP is easy to get started with, but it's amazingly baroque in terms of language design. It's the ultimate in "outsider art" becoming mainstream.

</comment></comment></comment><comment><USER6> This is a crowded area with python-gui and even tcl/tk, i.e. script language for desktop GUI development

<comment><USER7> That doesn't sound very crowded.</comment></comment>


Remote code execution affecting most iOS/macOS apps - <AUTHOR> https://blog.flanker017.me/cve-2017-2416-gif-remote-exec/ <comment><USER2> It's important to note that this bug has already been publicly patched in iOS 10.3 and macOS Sierra 10.12.4.

</comment><comment><USER3> Media file parsers seem to get hurt regularly [1] and can get targeted easily. Maybe we should rethink something there.

[1] 210 CVEs containing JPEG [https://cve.mitre.org/cgi- bin/cvekey.cgi?keyword=JPEG](https://cve.mitre.org/cgi- bin/cvekey.cgi?keyword=JPEG), 158 CVEs containing GIF, 127 CVEs containing PNG, and this covers just the common web picture formats.

<comment><USER4> One choice people sometimes have is the language to implement parsers in.

Among other languages, I think Go is fantastic language for parsers. Great basic types to work with, no need to typedef uint64 long long, easy to parallelize parsing logic and use up multiple cores. Race detector and other static analysis will help verify there's no easy to spot issues, and good code review for the rest. Built in testing facilities make it trivial to create tests anyone can run and reproduce.

Finally, if you're still worried about a programmer error leading to a panic, can use recover at the top level to ensure that it would get caught. The HTTP server does that for user handlers, so that a panic in a user-written handler fails that single HTTP request, rather than taking down entire server. But need to do this in all goroutines that are at risk, not just the main one.

I would feel so much more comfortable and confident implementing or reviewing code for parsers in Go than C/C++. Because Go is so short on features and highly explicit, it's just so much easier to read the code and be fully confident it does the right thing, and nothing else.

<comment><USER5> It's unfair to compare a 2017 re-write in Go vs. C++ that's festered for 20 years. If you want to do apples-to-apples Go vs. C++, first you'll need to compare it to well written C++11 (no need to crop C in this.) C++ without raw pointers and references is pretty safe, just like Go with the unsafe package can be, well, unsafe.

<comment><USER4> I wasn't comparing with a 20-year-old existing C++. I was comparing how I felt about doing an implementation or code review of a parser in 2017 in both languages.

</comment></comment></comment></comment><comment><USER6> Great write up! As a programmer interested in auditing for vulnerabilities like this and others, what does the community suggest as a direction to start honing my skills with proper learning material?

<comment><USER7> What do you want to get good at? 'Memory corruption' is the term of art for these vulns. There are a lot of areas you can learn "enough" of.

Start with the Micro Corruption CTF. See which part you enjoy the most (finding, analyzing, exploiting). Each use similar but different skills.

You need to get good at assembly/machine code. You have to learn the patterns of what compiled code translates back to (structs, exception handlers, logic, etc). Machine code is the one constant. Notice how the author had mapped C structs in his hex editor? That is the sort of thing that gets you back to a conceptual hacking level instead of being down in the weeds. Get good at doing those things.

</comment></comment><comment><USER8> Anyone know how this is bootstrapped to code execution? In the part written up, seems to get as far as "data reads past the end of a buffer".

<comment><USER9> When this happens, you can override the stack. As variables are pushed on the stack, you can influence the execution of the program, for example return address. This can be exploited using ROP (Return Oriented Programming) and then you've got full control.

<comment><USER10> This isn't always possible in practice and the article never suggests anything worse than crashing the app or preventing it from running.

<comment><USER11> In [https://support.apple.com/en-us/HT207617](https://support.apple.com/en- us/HT207617) Apple admits that this may lead to arbitrary code execution.

</comment></comment></comment></comment><comment><USER7> The point of this article should be the technical parts of memory corruption. Jailbreaks often exploit multiple bugs that could have the same title. The last wide Jailbreak for 9.3.3 I did entirely in the browser. It was nice of them to ask before exploiting my system :)

Still this is a fine bug.

</comment><comment><USER12> Oh wow... this is probably exploitable for drive-by downloads without opening a file. (The internal format of custom icons is PNG)

</comment><comment><USER13> TL;DR fixed in iOS and macOS. Please update.

</comment><comment><USER14> The page says to repro you just drag or send the file into any Mac app. But I couldn't get it to crash Safari or Preview on my laptop. OS X 10.10

<comment><USER4> > I believe this vulnerability is introduced in iOS 10, so iOS 9/OSX 10.11 > users are not affected

Probably introduced in macOS 10.11 or 10.12 then.</comment></comment>


Even asymptomatic people carry the coronavirus in high amounts - <AUTHOR> https://www.nytimes.com/2020/08/06/health/coronavirus-asymptomatic-transmission.html <comment><AUTHOR> >Clinical Course and Molecular Viral Shedding Among Asymptomatic and Symptomatic Patients With SARS-CoV-2 Infection in a Community Treatment Center in the Republic of Korea

[https://jamanetwork.com/journals/jamainternalmedicine/fullar...](https://jamanetwork.com/journals/jamainternalmedicine/fullarticle/2769235)</comment>


Call Granny - Helping Guys With Their Laundry Since 10 Minutes Ago. - <AUTHOR> http://callgranny.jeffbajayo.com/

<comment><USER2> Just an FYI - "You get to talk to real mom's and get help!" should be "You get to talk to real moms and get help!"

"Moms" in this case is not possessive, it's plural.

Otherwise, I like the idea. Who's manning the phone lines for you?</comment>


Multi-Project or Single Project - <AUTHOR>

In many areas of my life, I enjoy the efficiency of moving from uncompleted task to uncompleted task, as I get bored or hit a mental or physical stop.
I am cursed with rather a multitude of web application ideas, and the sheer number of them would dilute my efforts to such a point that I would never accomplish anything, were I to allow myself to float among them.  In self defense, I have implemented a policy of finishing one, to at least a beta level, before I get to start the next one.
I feel that this is not optimal though, as the parallel task approach really seems to work well in other areas of my life.
Do any of you work on multiple projects of your own simultaneously?  (Work doesn't count, as there are deadlines imposed by others at work, where our own projects have deadlines imposed only by ourselves.)  How many software projects do you work on at once, and how did you arrive at that number? <comment><USER2> Fail fast, right? Try to finish fast, too.</comment>


The Evolution of Petface - <AUTHOR> https://www.smithsonianmag.com/science-nature/evolution-petface-180967987/?no-ist <comment><USER2> It never ceases to amaze me that there are people who own pugs, yet refuse to eat a GMO tomato.

</comment><comment><USER3> I find it very interesting that so many people find these mutant dogs cute.

Generally humans find health and intelligence attractive, but for some reason this breaks down when it comes to pets.

My dream is to own an Australian cattle dog. They look like a buff dingo crossed with a raccoon. 100% would survive the apocalypse.

<comment><USER3> Just need a sheep farm first.

</comment></comment><comment><USER4> I have a Cavalier, but in hindsight I wouldn't get one again. Just to not encourage this 'cute' breeding. I'd get a Cavalier cross with another type of spaniel or poodle.</comment>


The Proposal to Redesign the Dollar That's Weirdly Blowing Up the Internet - <AUTHOR> http://foreignpolicy.com/2014/12/04/the_proposal_to_redesign_the_dollar_thats_weirdly_blowing_up_the_internet/

<comment><USER2> The designs shown make me feel forward looking, hopeful and excited. They make me feel like I want to get to work and make something of myself, my country and my planet.

The current designs in my wallet remind me of how I think of our country now, trying to get by on the momentum from past accomplishment.

And the two thoughts together make me wonder ... what are we trying to accomplish? As far as I can see, our greatest efforts as a country are trying to ensure that one part of the population doesn't accomplish anything that the other part doesn't want. We're living in the past and looking inward.</comment>


Ask HN: CodeContext – need your help visually contextualising software - <AUTHOR> I think this could become an awesome project but I need help from fellow developers to make this a reality pls :) Together we could build an awesome "live" software wiki of sorts! <comment><AUTHOR> this is the little bit I have so far... [https://github.com/davkap92/codecontext](https://github.com/davkap92/codecontext)</comment>


The Case for Slow Programming - <AUTHOR> https://ventrellathing.wordpress.com/2013/06/18/the-case-for-slow-programming/

<comment><USER2> I've worked with some "slow programmers" before, including one almost exactly like that guy and: no freaking thanks.

<comment><USER3> Can you elaborate? Are they just frustratingly slow?</comment></comment>


We use too many damn modals (2018) - <AUTHOR> https://modalzmodalzmodalz.com/ <comment><USER3> I was just about to share this our designer, who is always talking me down from modals, when I reached the bottom and discovered that our designer is in fact the author.

I seriously can't say enough for this message. Adrian helped us redesign our app 2 years ago, dispatching many many modals in the process, and delivering a huge increase in usability that our customers and users very much _do_ care about.

<comment><USER4> I implore everyone to read the fundamental book : about face

This book argues about a lot of UI topics, and with a lot of detail. It's the bible of UI design imo.

<comment><USER5> What's the book title? "About Face"?

<comment><USER4> [https://www.goodreads.com/book/show/289062.About_Face_3](https://www.goodreads.com/book/show/289062.About_Face_3)

This is a link, you can also search "about face interaction design"

</comment></comment></comment></comment><comment><USER6> There's a very simple rule of thumb: must the user give some feedback before it makes any sense to use the rest of the site? If so, it's fine to use a modal. Otherwise, don't. Some examples:

Payment page: not a modal. The user might want to add more stuff to the cart, even when they are literally one click away from purchasing. Blanking out the rest of the page means they now have to work _around_ the site to buy more stuff.

Error message: not a modal. The user is vanishingly unlikely to report an error immediately (obviously it's logged in any case), and probably just wants to try again with slightly different input.

Irreversible action confirmation: not a modal. For the same reason as the payment page, the user might want to do something else before retrying the irreversible action. Just display a _prominent_ message so the user knows the action is not yet done. Or, if at all possible, implement undo instead.

My job depends on it: OK, use a modal. We forgive you.

</comment><comment><USER7> I remember reading somewhere that most (modal) dialogs are just lazy design. It's easier to have a dialog component and throw whatever notice or controls in there. It's a predictable and flexible canvas.

Your password is incorrect? Error dialog. Easier to design and build that a warning state on the text-boxes and a message close to the login button.

Writing a post? Editor dialog. It's easier to design and build than something that's inline, grows to accommodate what you're writing, and works predictably when you scroll away or click something else.

There's something the user should know? Alert dialog. Much easier than figuring out where in the component hierarchy you should inject a warning, how it should look, what controls you should disable, etc.

<comment><USER8> Maybe it's lazy but the important question should be: is it good design?

I don't think it is, as it hides some information from the main page. But I think it can be done well and be useful, as said at the end of the article.

After all, OS use a lot of modals.

<comment><USER9> The more important question: do the people paying you care if it's good design? Because the people who have paid me thus far in my career have not cared.

<comment><USER10> Design is one of those things people often don't consciously notice, but affects their overall impression of a product.

I think there's a pretty universal consensus that a good design matters.

<comment><USER11> A lot of people don't understand design as something that goes beyond the surface layer, though. They see that someone picked a pleasing color palette and layout, but maybe they don't imagine that a designer would come and tell them to stop using modals.

</comment></comment></comment></comment></comment><comment><USER12> I don't want to complain, website is harder to read with all that 8 bitsh font type...Maybe normal post with one example for each idea would be good enough.

<comment><USER13> The irony of a website with a deliberately terrible and gimmicky UI complaining about a functional UI model that has worked for decades.

<comment><USER14> That's kind of what I thought too. Our app is very Modal heavy (including modal inception), but I can't think of any case where the suggested alternatives would actually be better. And that's backed up by the fact that our users regularly tell us how easy and awesome it is to navigate through it.

<comment><USER15> It's one of those things that when you prototype a design without them you really feel the difference.

</comment></comment></comment></comment><comment><USER16> I agree about modals. But seems like the same points can be made about the website's design that trying to teach others about modals, have you considered using plain text or a more readable website to convey your point across without resorting to 1-bit retro decoration?

Edit: 1 bit lol

<comment><USER17> I don't love retro design either but that seems irrelevant.

To anyone who's familiar with the topic it's immediately clear from the copy that the author understands it.

Considering that the target audience is other designers, why does the presentation matter?

<comment><USER18> > Considering that the target audience is other designers, why does the > presentation matter

I fail to see the logic here. Good design helps people learn easier. It's not like designers have some unique ability to learn equally well no matter how poor the design is.

<comment><USER17> Well context... the information the author is presenting is simple, right brain stuff. No one with UI experience is going to have a hard time digesting it.

It's not like he used gifs or flashing colors.

Now I kinda want gifs and flashing colors.

<comment><USER19> That isn't actually true. I think I have UI experience, but I would actually have preferred some mockup examples instead of 1 bit bmp pseudo-thumbnails to represent his ideas. Surely it would be better to show some good user interfaces.

</comment></comment></comment></comment></comment><comment><USER20> Modals are basically the fancy clone of old school javascript's alert(), and while everyone would rightfully be annoyed being "alerted" needlessly, designers have convinced themselves that it's fine to show modals frequently?

Edit: Claiming it's only designers' fault, or generalizing that all designers do that, is obviously wrong. I did not mean that. What I meant to convey (partially failed) is that examples propagate, and somehow design choices are the beginning of this propagation chain.

<comment><USER21> Modal dialogs are a lot older than alert(). alert() is an instance of a modal dialog, not the other way round.

<comment> seventh-chord My impression from seeing old windows version (never having used anything older than vista) was that in general using an extra window instead of a separate pane inside the window was more common. As far as I can tell, the old windows explorer would pop open a new window for each opened folder. Now it seems like most programs are run in half/full-screen; They arent really treated as windows. IDEs have their own window-layout system anyways, right? (Modal) dialogs are probably more at place in a world where windows is more that just the name of the os.

<comment><USER21> What I was getting at is that the important thing is the concept (which is about as old as GUIs), the other stuff is implementation detail. The 'modal' part of the a modal dialog is that it takes you out of the 'modeless' interaction state where you can take one of the many UI actions available to you to a state (mode!) where you can do very few things and nothing else.

Making GUIs less modal is a similarly ancient UI design holy grail. Applications are modes hence everything from OpenDoc to the just-announced App Clips. A familiar clunky modern mode is 'native' apps vs 'apps' in browsers - a big chunk of technologies many programmers work with today are directly or indirectly related to mitigating its effects.

<comment><USER19> Yeah I think nowadays a lot of people think "modal" means "a dom element positioned with respect to the viewport that prevents interaction with the rest of the webpage".

The classical sense of "a collection of related controls that prevents interaction with the rest of the application (however the collection, controls and application are implemented)" is surprisingly rare now, particularly since the older sense were often called "dialogs" (and indeed, "modal" was short for "modal dialog") - intended to emphasise that this was communication between the user of the application and the developer of the application to decide how the application should behave.

Therefore, a _modal_ dialog should be used when the communcation couldn't have happened before and cannot happen later, and the developer of the application cannot do something intelligent and allow the user to correct it later on. (For instance, just delete the thing and let them undo it - no interaction between the developer and the user actually needs to transpire.)

</comment></comment></comment></comment></comment><comment><USER22> Let me see if I can articulate this well:

The problem problem with modals in a web page context is that they go against the statelessness of the html request/response model. They end up building up a lot of local state in the client, both model state as well as UI state, that eventually need to be reconciled with the server. If the user closes the modal, is the data saved for later? Does the form reset? Does the server know anything about it? If it is a wizard, were previous steps saved? And so on.

After many years of working on and with intercoolerjs/htmx, I now typically prefer inline editing and wizards, to a modal solutions. It fits better with the web model, allows for proper URLs, etc.

The inline-edit demo from htmx is a good example of something that might be implemented as a modal by some developers, but works very well as an inline- edit UI instead:

[https://htmx.org/examples/click-to-edit/](https://htmx.org/examples/click-to- edit/)

(NB: I was lazy and did not make the URL update as I should have)

<comment><USER23> I'll try to condense it more. If you play a video game and a modal pops up, it takes you out of the experience. It's the same as (hypothetically) me having to go into my HN profile to find a list of comments I upvoted to then go ahead and downvote (versus just having the downvote button next to the post).

Can't teach this stuff, you basically need to be confronted by tons of bad UI in software, games, physical printed forms, processes, until you get a good sense of taste.

I can't _teach_ HN devs that my thumb covers both the upvote and downvote button on mobile. Can't teach it.

<comment><USER24> > Can't teach this stuff

There is literally a field of science called Human-Computer Interaction that teaches this stuff.

<comment><USER19> Yes but have you seen software - almost anything that's been developed since the growth of mobile platforms has basically done the exact opposite of what that field of science teaches.

This seems to confirm the op's point.

<comment><USER24> That fault lies solely with the designers and developers of those software.

"Yeah but they didn't know what they were doing and didn't want to learn" is a more appropriate take.

You can think of it this way: your neighbor nextdoor made a soapbox car. Does that qualify them to be your mechanic? Probably not.

</comment></comment></comment></comment></comment><comment><USER25> My biggest issue with modals, is that they never seem to be tested with mobile devices in mind. So when I'm on my phone, the ability to close it is often off the screen. The only choice is to leave the website at that point.

<comment><USER26> I often find the pattern on websites that I visit the site for the first time due to a link, read maybe half a paragraph, and then get a modal popup asking for my email address to subscribe. I've never read any content from them before, how would I know if I want to subscribe? My phone is also in landscape mode, so the modal's close button is off the screen, and I can't scroll to it cause it's an absolutely positioned modal.

So the only logical thing to do is avoid the site in the future, they're more interested in extracting money from their existing readers than getting new readers. Sorry, maybe if you had let me read one article I may have liked your content.

</comment></comment><comment><USER24> The key design principle overlooked here is Progressive Disclosure[1], which modals and dialogs can be very good at delivering.

Progressive disclosure retains user focus on a single task as opposed to showing everything at once. Accordions have similar function to modals and dialogs but adding further task controls to an already complex interface isn't always the best solution.

The author goes on to state that even full screen modals are bad, but what difference does the user see? If done well the user should still be able to use the browser back button, escape key, etc to navigate out. In modern applications, pages can transition from one to the next without a "full page load" -is that also bad for some reason?

Think of many popular mobile apps like Instacart, Doordash, etc that allow a user to dive into categories that slide on top of the existing content to give further controls; is that not ok?

Every element in the DOM can be applied inappropriately but that doesn't shift the blame to the elements themselves. One could argue an entire dedicated site that only uses modals based on the misuse of illegible fonts would be about as apropros.

[1] [https://www.nngroup.com/articles/progressive- disclosure/](https://www.nngroup.com/articles/progressive-disclosure/)

<comment><USER27> TFA is not saying all modals are bad, just most. Progressive disclosure is a fine thing, but that doesn't have to mean modals. Most of the time a discreet notification that doesn't interrupt the user's flow is what's appropriate; I think Tidal does a good job here, by highlighting _one_ feature per screen, and if I don't tap on it to see what it is I'm able to go about my way.

Since we're quoting NNGroup, here's their guidance on modals[1] (emphasis mine):

1) Important warnings

2) Critical to continuing the __current process __

Most modals are unasked for, not relevant to the user 's current needs (no matter what the dev/marketing might think), and unwanted. Modal to select filter settings when I've clicked/tapped the 'filter' button? That's a good use.

[1] [https://www.nngroup.com/articles/modal-nonmodal- dialog/](https://www.nngroup.com/articles/modal-nonmodal-dialog/)

<comment><USER24> TFA literally says don't use full screen modals, ever. I disagreed with examples of that not being necessarily relevant with the way today's applications can work.

Important from the NNGroup article you linked even demonstrates great modal usage and states "3\. Modal dialogs can be used to fragment a complex workflow into simpler steps." and "4\. Use modal dialogs to ask for information that, when provided, could significantly lessen users' work or effort."

That's important - modals are not just intrusive pop-ups as many designers and others in this thread have decided that they are. Again, every element can be used inappropriately but that doesn't mean the elements are to blame.

<comment><USER27> You're right about full screen modals, I've seen those done right and "never use x" is rarely right all of the time. And modals can be done well, but 90+% of the time I encounter them, they're not. They're not related to the workflow I'm currently engaged in, they don't save me any time, they don't serve me.

Again, I'm not saying (and I wouldn't characterize TFA as saying) modals _per se_ are bad. But the priors are such that absent any other information, modals are suspect.

</comment></comment></comment></comment><comment><USER28> In what context?

If you design a desktop application, like say Word then modals are more appropriate than the alternatives in many situations. For a site like Medium, a modal is an annoyance. If I asked for something (click Settings) then I am happier with my modal than if I didn't ask (we're going to stuff cookies on your page anyway, here is our arse coverer).

The underlying message I take is we "use too many things that make it easier for the coder and harder for the user". Sometimes that's a modal, but sometimes that's NOT using a modal!

</comment><comment><USER15> I hate modals - I'll never add them to products I build.

Edit: To provide a little more substance here - for example in one product of mine that actually has customers - confirmation is done via inline elements that slide into the page.

So you want delete a comment for example. The delete/cancel buttons slide into the box for that comment. No weird context switch for your eyes.

<comment><USER19> Since you deny a weird context switch for your eyes, are these actually inline elements? That would imply the size of the containers is changing. Which would surely be a weird context switch. But at least I can have no doubt what my action is about to affect - I get frustrated on sites when it says "you're about to delete these items" and i have no idea whether it agrees with me about which items I'm about to delete or not.

But if they're overlaid elements, like a context sensitive menu that contains two options - delete, cancel - is there any substantive difference between a menu and a modal? The main advantage of a classic menu over a modal seems to be that it has a implicit cancel option that is uniformally implemented. But nowadays, menus are implemented without toolkit support - yay dom, yay - <USER2> even that is not consistent.

<comment><USER15> This is what I mean: [http://imgur.com/a/hY9eM77](http://imgur.com/a/hY9eM77)

Content size doesn't change in my case and I would highly advise against changing the sizing of elements on the page for something like this.

The buttons are sized vertical based on the content up to a limit.

<comment><USER19> Yep okay, so I guess that's not inline by my definition (since it overlays the text). I have definitely seen webpages that change the size of the containing box to add in the confirmation message and buttons.

I guess it's an between case I didn't consider - it's maybe not modal with respect to the whole app, but it seems to be modal with respect to that one comment (you can ignore it and do something else with the rest of the program, but with that comment, you can't even read it).

</comment></comment></comment></comment><comment><USER29> Typing this from Ubuntu, Gnome 3 I think, in Firefox, I press Ctrl-S to save the page, and I get a modal dialog, which cannot be even moved. Sometimes, it actually obscures something that I cannot read on the screen.

If you have to use a modal element at least allow me to get it out of the way so that I can read the text under it!

<comment><USER30> Every time this happens in any environment, the information I need for deciding the filename is below the modal.

</comment></comment><comment><USER31> This is only tangentially related, but one thing I'm absolutely sick of is rounded corners. I don't know why, and I don't know if it makes any sense, but opening a page and seeing literally _everything_ with border-radius makes my blood boil. It feels like they're trying to protect me from sharp corners, as if they're dangerous. Come on, we're all adults here. We can take a few 90 degree angles.

<comment><USER19> > Come on, we're all adults here. We can take a few 90 degree angles.

I know that 90 degree angles on webpages are not more dangerous for children, parents, adults, or any other known subcategory of humans than for any other known subcategory of humans, but ... lots of people who use webpages and dev tools are actually children.

Didn't a lot of us get started as kids?

Have we collectively forgotten the olden days, when to print something, the solution was to ask the neighbor's next door kid? (who was probably you). Printers aren't any easier to use today than they were back then, but I guess that practice is over nowadays.

<comment><USER31> Fair enough, but some of the worst offenders of this aren't really targeted at children or something they'd be interested in. The new Github UI (which I adore, besides this particular issue) is a really bad offender for example. If you go to your profile page, there's not a single not-round border. The exception are the little squares showing activity, which makes it even worse because in the caption underneath they _are_ rounded. What happened there?

</comment></comment></comment><comment> seph-reed Modals are a good way to show complex content without throwing away your current render. Whatever you were doing before the modal came up, you can go straight back to that. No re-draws, no scrolling back to the place you were at.

Ofc we've all seen them done terribly.

</comment><comment><USER14> Modals are good for when you need to show a new blocking state without losing the current state. There are many valid reasons for that scenario. Even for modal inception.

Use them for that purpose, no need to swear them off completely.

</comment><comment><USER32> The one UX anti-pattern that needs to die for sure is what this site calls "self-spawning modals". They're not only on websites — iOS is very annoying with them for example.

</comment><comment><USER33> I've been preaching against modals and carousels for years. I'm a big fan of [http://shouldiuseacarousel.com/](http://shouldiuseacarousel.com/) and while I had long ago intended to create with a similarly implemented site that demonstrates the pitfalls of modals with a series of modals, this site does a pretty good job of highlighting the main issues and alternatives too

<comment><USER34> Wow, that's almost useable when you don't have to wait for a new ad to load with every click...

</comment></comment><comment><USER35> Hah! I often have the experience that indeed a modal should actually have been a new page, but I was too lazy to build the thing so I went with the modal. Then later the modal needs more options or fields, and I end up having to convert it to a new page anyway... lesson mostly learned now. Agree with the article.

</comment><comment><USER36> One thing I like to do is preview a link by Force clicking on it in my browser and scrolling through it–the preview window lets me scroll, but not interact with the page. For many sites this is quite convenient, because I can skim the page without being interrupted. But when modals pop up they cover the content and I can't read the page because I can't dismiss them! So if you're looking for another reason to drop modals, here's one.

Also, hilariously this website uncovers a bug in Safari where the cursor doesn't reset once you leave the page bounds, so I have a huge pixellated cursor hanging around until I click somewhere else :P

<comment><USER19> What does that mean? Force clicking? You apply so much pressue that it breaks a touchscreen/touchpad so that it makes a click noise when you tap?

<comment><USER36> In case that wasn't a joke: [https://support.apple.com/en- us/HT204352](https://support.apple.com/en-us/HT204352)

<comment><USER19> Oh, another of Apple's hidden features. Once upon a time, one button mice were a feature so that features weren't hidden and even beginner users could quickly become power users.

<comment><USER36> This used to be three-finger tap on older Macs.

</comment></comment></comment></comment></comment><comment><USER37> I must be in the minority as I love modals.

</comment><comment><USER38> I'm reminded of a quote in Inside Macintosh Volume 1: "But, gentlemen, you overdo the mode." From John Dryden, The Assignation, or Love in a Nunnery, 1972. That quote really stuck in my head.

</comment><comment><USER39> The list of reasons why modals are bad are all very subjective. A little more explanation would have helped make the case that modals are bad.

Not to mention that what should be a list is displayed as a table (-‸ლ)

<comment><USER40> I agree, the site visuals and short messages doesn't explain well why they are bad.

I'll try to fill that gap.

Modals switch the application normal mode to get your attention. So they interrupt your "flow".

Most of the reasons to use them could be resolved by other means, that are better in terms of UX but requires more work in both design and implementation:

\- Confirmation modals can be substituted with auto-save, undo, and restore, but is more complex to implement.

\- Modals to show more info can be resolved with progressive disclosure or by improving the information architecture.

However, like with many design choices there are cases where modals are a good option. For example, for certain confirmations and navigation the advantage of the modal is that the backdrop makes clear where do you go after dismissing the modal (bottom sheets in mobile are a example).

Another reason why modals get a bad rep is that they have all sorts of implementation issues in web, and in the desktop the mode change for a window is not prominent (macOS solves that with sheets, but Windows still has that problem)

<comment><USER41> They also break zoom and other features some people rely on a lot.

</comment></comment></comment><comment><USER42> There are so many bad modals in mainstream desktop software. Is there any good reason that an open file dialog completely disables all other interaction? What if I quickly have to task switch, or a piece of info relating to which file i wanna open is just off screen?

A personal favourite is osx Preview and the rename and move file drawer you can get from the status bar of an open file. That guy can't even be moved, and perfectly covers up the portion of a document likely to contain info relevant to a filename.

</comment><comment><USER43> The website is readable only at 30% zoom(couldn't zoom out even more) on the 4k 27" display also it messed up mine scroll wheel in some way, broke mouse cursor.

</comment><comment><USER44> Modals can be a lazy (and worst, wrong) solution. But I've found that pavlovian bashing of modals is as lazy and unproductive.

> And remember to always ask, kids: >"Why does this have to be a modal?"

In my experience people don't need to be remembered to ask this. And generally people can't justify why it shouldn't be a modal or why a non-modal solution is better than a modal one.

</comment><comment><USER45> Back when js frameworks became a thing, modals were a shiny ball that everyone wanted to put into their app (because they came with the framework). Designers that worked with these modals became poisoned to the fact that this is how a UI should look. Like an old hairstyle they're now thankfully going out of fashion.

</comment><comment><USER46> I've been using Azure a lot, and they use blades (essentially horizontal accordions) instead of modals.

I was playing with Alibaba Cloud's UI and it's all modals and feels much much nicer to use. I wouldn't use Ali Cloud due to Chinese ownership issues, but I do like their UX.

</comment><comment><USER47> Eclipse uses modals in the worst possible way. Usually you want to copy the name of a type or variable into a modal but you are already into two layers of modals. You will have to close all of them and lose progress. Using more than one layer of modals is always bad design.

</comment><comment><USER48> The awful readability of that website must be satire, right?

</comment><comment><USER49> The reason modals are so popular is because they work really well when trying to convert views to signups.

</comment><comment><USER50> Love this a lot! The author is right on most (well, all) of the statements.

</comment><comment><USER51> Very easy to use a modal if I'm editing other parts of UI.

</comment><comment><USER52> I have a rule: if I get an unnecessary modal, I leave.

</comment><comment><USER53> Oh I thought the subject is about the modal verbs

</comment><comment><USER54> Is this website considered "brutalist"?

<comment><USER55> In the web sense of "true to web form" brutalist? Not really, for instance the tables are not made to look like TABLEs and are in fact ULs and such. This design aesthetic might better be described as "(Mac) Classical". (Brutalist isn't only about minimalism.)

</comment></comment><comment><USER56> the worst thing is doing a modal that calls a modal, that's the worst offender of them all

</comment><comment><USER57> also see: popups

</comment><comment><USER58> I use full screen modals for my new project. A list of items. U click one and the item appears in a full screen modal. U close and you're at the same place you started.users love it and i dont see a problem with it.

</comment><comment><USER59> My main gripe with modal windows is the name. The first couple times some developer told me that's what she was using, I waited for her to explain what modal meant. But she did not, as if it was standard self-explanatory terminology. Way to name something a word that sounds like it has a standard (even deeper) meaning, but does not.

With time, I have just accepted that this is what modal means (I'm going to create a window of this type to display the data/filters), disconnected from any meaning of the term "mode".

But I still don't like it.

<comment><USER60> It's a term from the UI design world, and it goes way back. A mode is a state where the app accepts certain inputs from you, the user. A new mode means previous buttons and shortcuts are inaccessible, and the same input may produce different results. Either coincidentally or directly related, Vim's modes illustrate the idea well—in contrast to editors where input, motion and shortcuts for extra functions are available together.

[https://en.wikipedia.org/wiki/Mode_(user_interface)](https://en.wikipedia.org/wiki/Mode_\(user_interface\)) and [https://en.wikipedia.org/wiki/Modal_window](https://en.wikipedia.org/wiki/Modal_window)

The trouble with elaborate modes is that the user has to mentally keep track of which mode they're in (which is what the term describes); and that other functions are inaccessible even though they might be useful to resolve the situation. However, modal dialogs are a streamlined and visually distinct extreme of modes, with an established history, so some don't consider them problematic. (Modes that are difficult to notice are still a no-no.) OTOH dialogs are frequently used as cheap bail-out by programmers, especially in desktop interfaces—since they're very easy to produce, completely synchronous, and shift all problems onto the user.

<comment><USER59> Thanks for that explanation.

I guess I just have to live with it when I pop in and out of the UI coding world. Just like in Python a .method isn't what the natural word typically means, but just has gotten a domain-specific meaning attached to it in that world.</comment></comment></comment>


Briefcase 'that changed the world' (2007) - <AUTHOR> http://news.bbc.co.uk/2/hi/science/nature/6331897.stm

<comment><USER2> If you're interested in topics like this, check out Paul Kennedy's "Engineers of Victory". It basically talks about how the road to victory in WWII were a number of operational and technological challenges that needed to be solved.

[http://www.amazon.com/Engineers-Victory-Problem-Solvers- Turn...](http://www.amazon.com/Engineers-Victory-Problem-Solvers-Turned- ebook/dp/B004J4WNMG/ref=sr_1_1?ie=UTF8&qid=1408653723&sr=8-1&keywords=engineers+of+victory)

<comment><USER3> I don't know, the 1 star reviews like this one: [http://www.amazon.com/review/R2TK8WK4POCIF3/ref=cm_cr_rdp_pe...](http://www.amazon.com/review/R2TK8WK4POCIF3/ref=cm_cr_rdp_perm?ie=UTF8&ASIN=1400067618) make me view it with suspicion.

While it's not of the same scope, I can recommend R. V. Jones' _Most Secret War_ without reservation: [http://www.amazon.com/Most-Secret-Wordsworth- Military-Librar...](http://www.amazon.com/Most-Secret-Wordsworth-Military- Library/dp/185326699X/)

</comment></comment><comment><USER4> And yet, they couldn't develop an anti-mortar radar in time for D-day.

<comment><USER3> If not, they were close behind, e.g. [http://nigelef.tripod.com/tgtacqcb.htm#Radar](http://nigelef.tripod.com/tgtacqcb.htm#Radar)

Wikipedia tells us why those were initially Anti-Aircraft (AA) radars: [https://en.wikipedia.org/wiki/Counter- battery_radar#History](https://en.wikipedia.org/wiki/Counter- battery_radar#History)

" _The first radars were developed for anti-aircraft purposes just before World War II. These were soon followed by fire control radars for ships and coastal artillery batteries. The latter could observe the splashes of water from missing shots, enabling corrections to be plotted. Generally the shells could not be seen directly, as they were too small and rounded to make a strong return, and traveled too quickly for the mechanical antennas of the era to follow.

Radar operators in light anti-aircraft batteries close to the front line found they were able to track mortar bombs. This was likely helped by the fins of the bomb producing a partial corner cube that strongly reflected the signal. These accidental intercepts led to their dedicated use in this role, with special secondary instruments if necessary, and development of radars designed for mortar locating. Dedicated mortar-locating radars were common starting in the 1960s and were used until around 2000._"</comment></comment>


Who killed the air-powered vehicle? - <AUTHOR> https://herman.bearblog.dev/air-powered-vehicle/ <comment><USER2> Compressed air has only 10-15% efficiency end to end. Best case is compress with electricity - about 93% efficient. Then cool the hot compressed air to reduce the pressure to get more in the tank. This cooling wastes about 10% we are now at 73%. Expand in a 3 stage expansion engine to get rotational power.Compressed air expansion is a carnot type engine andhas about a 30% efficiency that falls to zero as the tank expands the air and the internal pressure drops to local pressure and the engine stops.Total efficiency 10-15%. They are used as factory jitneys where the use compressed air and it intrinsically safe - no gas/diesel spark or flame. The idea is 150 years old or older. Diesel/gas and batteries killed it and keep it dead</comment>


Show HN: I built utter.io in 10 days.  MVP FTW. - <AUTHOR> http://utter.io/

<comment><USER2> Cool idea, congrats on getting an MVP released!

My input isn't worth much but the "Ranchers" font bugs me like crazy. I switched that over to Tahoma and all of the slides instantly looked cleaner and better.

Also, you have quite a few JS errors in chrome.

<comment><AUTHOR> The fonts can be changed by creating a prezo and then editing the HTML. Here's a new prezo that took 2 minutes to patch for it: <http://www.utter.io/prezos/45001/>.

I refreshed the hero prezo cache to get rid of few of my errors, but Mike's viz stuff is still floundering around looking for it's resources. It's in an iframe, so there's not much I can do until I put the viz directly in the prezo.

Thanks for the comments!

</comment></comment><comment><USER3> The demo seems to be giving: "404 Not Found"

<comment><AUTHOR> Thanks. That should have been pointing to 'tour' instead of 'demo'. I've fixed it, but there's still no demo page! :) Working on a video for it today...</comment></comment>


Why "Don't Be Evil" is Wrong for Startups - <AUTHOR> http://brennenbyrne.com/2013/10/startups-should-be-evil/

<comment><USER2> In here, you talk a lot about scale vs. binary (evil vs. good). Shouldn't you also examine the morals of different startups on this sliding scale? Would you say that Google's "Don't be evil" motto is worse than nothing? Better than nothing? Somewhere in between?

Isn't Google making a conscious effort to try and do _something_ (even if it's a little misguided) better than all the companies who don't do _anything_?</comment>