An 85-year-old tech entrepreneur who made her staff millionaires - <AUTHOR> https://www.msn.com/en-gb/money/business/the-85-year-old-tech-entrepreneur-who-made-her-staff-millionaires/ar-AACSD1h?li=BBoPWjQ <comment><AUTHOR> In the news today The 85-year-old tech entrepreneur who made her staff millionaires [https://www.telegraph.co.uk/women/life/85-year-old-tech- entr...](https://www.telegraph.co.uk/women/life/85-year-old-tech-entrepreneur- made-staff-millionaires/) but paywalled

<comment><USER2> Internet archive has it: [https://web.archive.org/web/20190614110432/https://www.teleg...](https://web.archive.org/web/20190614110432/https://www.telegraph.co.uk/women/life/85-year- old-tech-entrepreneur-made-staff-millionaires/)

</comment></comment><comment><USER3> If you want to learn more about women programmers in the 60s in the UK and why Stephanie Shirley had to open her own company (spoil: because women were actively push out of the field), Marie Hicks is the specialist.[0] She wrote a book, Programmed Inequality. She studied Shirley's story of course, and did an interview of Shirley last year.[1]

The article "only the clothes changed: Women Operators in British Computing and Advertising, 1950–1970" from Hicks is a great start into her analysis of the period. It's a very different history of computing and programmers that the one that was told just a few years ago.[2]

[0] [http://marhicks.com/](http://marhicks.com/) [1] [http://mariehicks.net/blog/?p=705](http://mariehicks.net/blog/?p=705) [2] [http://mariehicks.net/writing/clothes.html](http://mariehicks.net/writing/clothes.html)

</comment><comment><USER4> Thank you for sharing. This was a wonderful story of warmth bestowed to her by a generous but not wealthy family as a young child, and of her own grit and determination against resistance and challenge, and of giving back to others. I'm also quite astounded that married women in the UK could not open their own bank accounts without their husband's permission - in the 1960s.

<comment><USER5> This concept is called coverture. By law, upon marriage, a woman's identity merged with the husband's into a single legal entity. But in practice, all of the rights and responsibility fell to the man. Indeed the husband was also legally responsible for the misdeeds of the wife. This is because the wife was assumed to be acting under the orders of the husband, even if that were not the case.

It was really messed up.

<comment><USER6> It was, though it didn't last until the 1960s - the Married Women's Property Acts in the late 19th Century ended it.

The problem with mortgages was more quotidian sexism, I think: women weren't considered to be serious enough earners to be creditworthy for a mortgage.

</comment></comment></comment><comment><USER7> Thanks to F-International my mum had a IBM PC at home with a massive 20 MB hard drive. But "made her staff millionaires" is news to me :)

<comment><USER8> That lady is your mum?

<comment><USER9> Worked for her company I expect, and sounds like she wan't one of the ones to receive the stock grant mentioned :)

</comment></comment></comment><comment><USER10> I recently read her auto-biography and it was excellent.

[https://www.amazon.com/Let-Go-Extraordinary-Entrepreneur- Phi...](https://www.amazon.com/Let-Go-Extraordinary-Entrepreneur- Philanthropist/dp/0241395496/)

</comment><comment><USER11> Workers didn't have to drive themselves crazy being on call all night or working weekends. She actually operated a successful tech company with incredibly flexible hours!

 _For us you could work part-time, freelance, take a job share. You could do annualised hours, min-max hours, have a zero-hours contract (I know those contracts are very unpopular now but they did work well for us in those early days)._

<comment><USER12> Although she herself worked 80 hours as the article states

<comment><USER13> Which couldn't be more ok. Hacker news comes down hard on people who casually throw out their unrealistic work hours, but for some of us it's the only way we'd stay competitive. I'm 26 with 5 years development experience and frankly, not the smartest man in the world. Things don't come easy to me. I take longer than my peers to learn concepts in software and business. But where I win is in my ability to work harder than my peers and compound the knowledge I do have. Sometimes even, I am perceived as "smart" by those who haven't worked 1 on 1 with me. Watching someone learn something in a week that took you almost a month; or building a reasonably successful company without doing the 80 hour week thing kills me a little inside. But that's life. You're given some amount intellect and if you want success you will have to pay your own costs to reach success, which may or may not be as much as what your peers have to pay.

The only golden rule I follow, never expect another human to work as hard as me for something that mostly benefits me. I do not believe in shaming employees that only put in their 40 and get out. That's great, they care about different things in life. Some of them have hobbies, families, responsibilities, etc, and I respect that. But for the rest of us who have chosen personal business success as our long term goal and aren't particularly intelligent, we should not feel guilty for our 80 hour weeks. Sometimes it is just plain necessary. Stupid if it doesn't work out. But necessary if it is to work out.

<comment><USER11> Thank you for sharing your honest, unvarnished perspective. A prediction: if you do earn a ton of money and become really wealthy, lots and lots of people will think you are brilliant or even a genius.

In the mean time: how do you stay motivated to work the long hours? How do you maintain mental focus for extended durations?

<comment><USER13> Ha, I'm sure it's different for different folks but I attribute my lack of burning out (knock on wood) to caring about what I do beyond a paycheck. That and leaving town for a weekend every month or so to tune everything out and evaluate my progress really helps. I get down when I'm unsure that my time is being well spent. Re-evaluating my trajectory often does wonders to keep those emotions in check.

</comment></comment></comment></comment></comment><comment><USER14> I knew about F international I never knew that she started at Dollis hill GPO research which was the Bit of BT I worked in

</comment><comment><USER15> Something looks strange here. I thought in 1960s, coding was supposed to be women's profession - it was tedious and didn't make money - perfect example of what a sexist would expect a woman to do. Only in 1970s when some people started to strike it rich through coding, men flocked there and women in that field became ridiculed.

<comment><USER16> I suppose the thing that was peculiar at the time was that she was a female entrepreneur doing business in a male dominated industry. Women were probably seen as secretaries and in other "supporting" roles (like coding) but "big business" was dealt by men. Unfortunately, we've still not left that world behind.

<comment><USER17> What about all the male car mechanics?

</comment></comment></comment><comment><USER18> This is fancy

</comment><comment><USER19> "...in the 1960s, women couldn't legally drive a bus or even open a bank account without their husband's permission."

It would be laughable, if only it weren't so sad.

Funny how we decry Islam for the oppression of women, when only a few decades ago we weren't much better.

<comment><USER20> Yet we aren't any longer and they still are. What's your point?

<comment><USER19> No point other than that it's easy to forget that Western "enlightenment" is a very recent development.

That's not to equivocate bank account restrictions with being stoned for adultery. Or that we shouldn't push for even moderate Islamic countries to adopt liberal policies towards women's rights.

It's just an interesting perspective on Western history that gets lost on the moral high ground.

<comment><AUTHOR> Also the Islamic countries seem to be changing in the same direction. eg from Pinker

>Polls find that young Muslims in the Middle East are about as liberal as young western Europeans were in the early 1960s.

</comment></comment></comment></comment><comment><USER21> > but paywalled

Thanks for calling this out. As a fellow internet user I share your believe that we're entitled to high quality FREE journalism. If content providers wanted to get paid they should do something else. We don't care that they're trying to run a business, we're internet users and we DEMAND they give us everything for free.

<comment><USER22> Please see [https://news.ycombinator.com/newsfaq.html](https://news.ycombinator.com/newsfaq.html) and [https://news.ycombinator.com/item?id=10178989](https://news.ycombinator.com/item?id=10178989) and don't post like this here.

Also [https://hn.algolia.com/?sort=byDate&dateRange=all&type=comme...](https://hn.algolia.com/?sort=byDate&dateRange=all&type=comment&storyText=false&prefix&page=0&query=by:dang%20paywall) if you need more.

We detached this subthread from [https://news.ycombinator.com/item?id=20184800](https://news.ycombinator.com/item?id=20184800) and marked it off-topic.

</comment></comment><comment><USER23> The real story here is msn.com is still around? A relic from the 1990s.

<comment><USER22> It contributes its share.

[https://hn.algolia.com/?query=msn.com%20points%3E30&sort=byD...](https://hn.algolia.com/?query=msn.com%20points%3E30&sort=byDate&dateRange=all&type=story&storyText=false&prefix=false&page=0)</comment></comment>


Mono (.NET Framework) runs on the iPhone - <AUTHOR> http://tirania.org/blog/archive/2008/Mar-10.html

<comment><USER2> As a sometimes .NET developer that works in handheld devices, I think that this means that my bosses should get me an iPhone. True, we work for the manufacturing and utility industries and they'll never use the iPhone as a platform, but you know, I should still get one. For, uh, cross platform testing purposes and, er, other . . . job-related . . . .things.

<comment><USER3> And a playstation 3. Topographical network load testing.

<comment><USER4> A PS3 is probably the best bang per buck computing power you can buy for tasks that can be parallelized.

Quite a few scientists use a small cluster of PS3 for their data crunching.

<comment><USER2> Actually one of the guys I went to school with (<https://publications.dev.java.net/seanfitzgerald/>) mentioned something like that to me when details of the PS3 first started getting announced. He was doing Beowulf clustering stuff and mentioned that he wouldn't mind getting his hands on a few PS3s.

<comment><USER4> Of course... checkout Folding@Home stats <http://fah-web.stanford.edu/cgi- bin/main.py?qtype=osstats>

To make the comparison more relevant I look at the difference between Intel based Macs(because they are all relatively new computers) and PS3s

</comment></comment></comment></comment></comment><comment><USER5> I didn't recognise the site at first. This is Miguel de Icaza (creator of Gnome) personal site. Now the big question. Can GTK+ be added? ~ <http://developer.imendio.com/projects/gtk-macosx/></comment>


Top Canadian Startups (June 2009) - <AUTHOR> http://www.techvibes.com/blog/peer-1-canada-startup-index-june-2009

<comment><USER2> Lists like this are so bogus. It penalizes companies that actually sell a product behind their main web site like Freshbooks and my own Shopify (30) but rewards sites that are the product such as tr.im.

<comment><USER3> (I work for FreshBooks) I agree. First ones I actually recognized: PlentyofFish Media, RedFlagDeals.com, FreshBooks, Shopify, Skyscraper Source Media.

</comment></comment><comment><USER4> Good list of startups, but I think more metrics are needed than just Alexa rank (who still uses the alexa toolbar?)

</comment><comment><USER5> It's absurd that this list is missing backtype.com, run by two of our favorite Canadians from our YC Summer 08 batch.

</comment><comment><USER6> Only in the top10 there are 2 URL shortener (ow.ly and tr.im) I think I overestimated for a long time the concept that you really need an original idea to make money with the web.</comment>


Evictions vs Home Prices in San Francisco - <AUTHOR> http://dangrover.github.io/sf-ellis-evictions/

<comment><USER2> For context, NYC is doing about 50,000 evictions a year, which is about 25 times as many for 10 times the population. Source is trapped in a pdf here: [http://www.housingnyc.com/downloads/research/pdf_reports/ia1...](http://www.housingnyc.com/downloads/research/pdf_reports/ia10.pdf)</comment>


Google developing a micropayment platform & pitching newspapers - <AUTHOR> http://www.niemanlab.org/2009/09/google-developing-a-micropayment-platform-and-pitching-newspapers-open-need-not-mean-free/

<comment><USER2> This would be serious competition for upstart Online Journalism, which is building a similar system: [http://www.niemanlab.org/2009/09/journalism- onlines-charging...](http://www.niemanlab.org/2009/09/journalism-onlines- charging-clients-a-20-commission/)</comment>


Ask HN: How many unique visitors does HN have daily? - <AUTHOR> <comment><USER2> Well I visit once a day, so at least 1. To put that in monthly terms that would be approximately 1 unique visitor per month at least.

But seriously, the answer for ~3 years ago is: [https://news.ycombinator.com/item?id=9219581](https://news.ycombinator.com/item?id=9219581)

I would guess ~15% users.

</comment><comment><USER3> May be Alexa can help you:

[https://www.alexa.com/siteinfo/ycombinator.com](https://www.alexa.com/siteinfo/ycombinator.com)</comment>


The island of barefooters - <AUTHOR> http://minhajuddin.com/2012/12/08/the-island-of-barefooters <comment><USER2> There's a cultural divide between those attitudes - comfortable is the enemy of startups? Well, then call it something else. It isn't a bad thing - in fact in the end all you can live is your one life, whether in a corporation, startup or consulting. If you've built a cocoon around yourself in the form of a consulting business, its as good a cocoon as one in any other place. Better than some; it doesn't depend upon the whim of VCs or a board.</comment>


Another Go Mux (with regular expressions) - <AUTHOR> https://github.com/alexandrevicenzi/yagm <comment><AUTHOR> I'm learning Go, and I was looking for a Mux with regular expression support. Well, there are many Go muxers, so I decided do build another just for fun and to learn more about Go.

Maybe this is not the best and fast, but it works pretty well. Let me now what you think. :)</comment>


Creating a Web App from Scratch - <AUTHOR> http://css-tricks.com/app-from-scratch-1-design/

<comment><USER2> > This site just doesn't work, period, without JavaScript

Direct quote from the <http://www.coloredlists.com/> front page. I shudder to think of people out there emulating worst practices like that. Please, please read <http://en.wikipedia.org/wiki/Progressive_enhancement>.

</comment><comment><USER3> Presentation logic mixed in with business logic? Non-reusable models? Yuck!

<comment><AUTHOR> I agree.

But it shows me what a PHP and MySQL based web application may look like. It's a good glimpse of what web application looks like.</comment></comment>


Flexible way to install applications on a new computer? (not a ghost image) - <AUTHOR>

I would like something as a script or an automated task which runs multiple installers with no human intervention from a folder with installers or something.  Any tools or ideas? <comment><USER2> Windows? OSX? Linux?

If it's windows, ninite is pretty good (although maybe you're looking for less interaction).

For Mac you can use something like Brew Cask [http://caskroom.io/](http://caskroom.io/)

<comment><AUTHOR> Windows. Thanks

<comment><USER3> Ur. Best of luck. Many MSI installers can support silent installation from the command line, in which case you could run them through a batch file or similar. Otherwise, try AutoIt for automating installer UIs.

This issue is one of the many reasons I abandoned Windows for Linux years ago.

<comment><AUTHOR> Probably the same reason to adopt a module management approach on Win 10</comment></comment></comment></comment>


Welcome to Our Startup Where Everyone Is 23 Years Old - <AUTHOR> https://www.mcsweeneys.net/articles/welcome-to-our-startup-where-everyone-is-23-years-old-because-we-believe-old-people-are-visually-displeasing-and-out-of-ideas <comment><USER2> Vonnegut isn't dead.

<comment><USER3> He's just been outsourced to a growing distributed network of satirists. We call it the blockheadchain. We think it's going to disrupt the thought industry. It's an Uber for ideas. Patents pending.</comment></comment>


Passphrases via shell pipeline - <AUTHOR> http://leancrew.com/all-this/2015/04/passphrases-via-shell-pipeline/ <comment><USER2> Not an expert here either. I will say using a book as a corpus does remind me of LWIC software. How the shuf command was executed to generate a cryptologically safe passphrase doesn't necessarily seem to be extremly secure. Given that it's only to the 6th degree, I'm sure permutations can be computed though given the corpus as a database. I might be wrong technically speaking I understood your command structure but do not yet know intricacies of mathematical computational rates.</comment>


Show HN: New Kind of Servers Monitoring Nearing Completition (GitHub.com) - <AUTHOR> https://github.com/ProjectCloudly/Cloudly <comment><USER2> Your demo (from github link) has SSL warning.

</comment><comment><USER3> Looks very cool! And with alterging too. Cool!</comment>


Forget Climategate: this 'global warming' scandal is much bigger - <AUTHOR> http://www.breitbart.com/london/2015/01/30/forget-climategate-this-global-warming-scandal-is-much-bigger/

<comment><USER2> "You'd expect, as a result of this, that recent (ie late 20th century) raw temperature readings from urban areas would be adjusted downwards in order to make them more accurate. Rarely though, is this the case."

There is no significant Urban Heat Island effect as described by that essay. See [http://www.skepticalscience.com/urban-heat-island- effect.htm](http://www.skepticalscience.com/urban-heat-island-effect.htm) and [http://en.wikipedia.org/wiki/Urban_heat_island#Global_warmin...](http://en.wikipedia.org/wiki/Urban_heat_island#Global_warming) for overviews.

What cinched it for me was the work of the Berkeley Earth Surface Temperature project. See [http://en.wikipedia.org/wiki/Berkeley_Earth](http://en.wikipedia.org/wiki/Berkeley_Earth) .</comment>


Brain Scans Show Bullies Enjoy Others' Pain - <AUTHOR> http://www.washingtonpost.com/wp-dyn/content/article/2008/11/07/AR2008110701898.html

<comment><USER2> Please forgive my ignorance, but...can't you tell from the bloody smile on his face?</comment>


A Backup Solution? - <AUTHOR> http://www.aaronsw.com/weblog/backup2009 <comment><USER2> Article and most recent comments are over 6 years old... has nothing changed?</comment>


Google Should Do This - <AUTHOR> http://www.mattmazur.com/?p=12

<comment><USER2> No. This games the system. I could make automtons in HTTPUnit to spawn a bunch of browser instances, perform a bunch of searches, and vote on a bunch of search results, which then would aggregate into google's system, giving my automaton search result hits more weight. So I could make my automatons search for "John McCain" on N browser instances, then click on some hit-job site about McCain, which would then "weight" the hit-job site more, so next time a real user searched "John McCain" she would have a higher probability of finding the hit-job site than an actual site with the information she needs. Weighting results on a local instance might be a good thing. Aggregating people's search result clicks into a global weighting system is not.

Besides, google is nice because of clean, uncomplicated "look and feel". Cluttering this with vote checkboxes and so on not only allows for "gaming" the system, it is just plain ugly. An optional plug-in that collates data onto the local machine of the user is one thing. Anything beyond that is asking for trouble.

<comment><AUTHOR> PageRank can be maniuplated too, but it doesnt mean that its a bad way to determine the search results. It means that you need to have extra layers of security to prevent and detect fraud. Another example would be automating clicks on a competitor's paid search results, to drive up their advertising costs. Some people have malicious intent, but just because it's possible doesn't mean the idea is flawed.

But yeah, I'm not in favor of extra clutter on Google's search results which is why I'm advocating for the automatic, behind the scenes adjustments.</comment></comment>


The 10:10 code - global position in ten characters - <AUTHOR> http://blog.jgc.org/2010/06/1010-code.html

<comment><USER2> The article mentions GeoHash [1] and suggests 10:10 is better as it contains a check digit. The advantage of a GeoHash is you can have arbitrary accuracies. For example, if you take the GeoHash for Buckingham Pallace (gcpuuwme9mzp3) and remove the last 6 characters (to give gcpuuwm) then the GeoHash covers a large area of London.

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

<comment><AUTHOR> Fair enough, but that's not the use case for the code. It's designed to get someone who's using a consumer navigation device to a location with reasonable accuracy with high accuracy in entering the location itself.

<comment><USER3> You've said "that's not the use case" 4 times already, which is almost half the number of comments. Perhaps this is a clue that your proposal needs a bit of work.

That's the great thing about hacker news -- you can throw an idea at them, get some feedback, and iterate while it's still cheap to change.

<comment><AUTHOR> Or it's an indication that people are throwing up use cases that weren't what I was designing the code for.

For example, people have said that the ability to compare two codes is important to see how close they are. They've said this without justification and it is not a use case for which I designed the code.

Also, people have said that arbitrary levels of accuracy are important, they are not needed for a navigation device being used by an individual to get to a location.

Others have brought up the issue of using it instead of postcodes. It was not designed for that either.

<comment><USER4> But isn't it the case that a system for encoding location is more likely to be widely accepted if it can be universally applied to a wide range of use-cases?

<comment><USER5> _Maybe wide acceptance isn't the use case!_

It's okay to intend a tool for a specific purpose! It's okay to do _one_ thing _well_.

<comment><USER6> Then the blog post should mention what it does well. In my case, I figured out one place where it _would_ : <http://news.ycombinator.com/item?id=2674732>

This post left too many blanks, and we are trying to fill them in. If you don't show people _why_ we should use your tool, and _why_ it is better than the alternatives, people may not figure them out.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> We don't need a twelfth system for encoding lat/lon tuples. Pick an existing one and start using it.

Currently, we have:

\- decimal lat/lon

\- d/m/s lat/lon

\- UTM ( [http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_c...](http://en.wikipedia.org/wiki/Universal_Transverse_Mercator_coordinate_system) )

\- MGRS ( <http://en.wikipedia.org/wiki/Military_grid_reference_system> )

\- Geohash ( <http://geohash.org/> )

\- "Natural Area Code" ( <http://en.wikipedia.org/wiki/Natural_Area_Code> )

Please, suggesting something like this and encouraging people to implement it is like coming out with a device that only charges over micro-USB. Just... don't.

<comment><USER8> I completely agree, but was mystified by this statement...

*Please, suggesting something like this and encouraging people to implement it is like coming out with a device that only charges over micro-USB. Just... don't."

What's wrong with micro-USB? I look for it whenever I buy a new device, just 'cause all new phones, cameras, etc. use it (and only it) for charging. It's a nice standard. No?

<comment><USER7> I said micro-USB, not mini-USB.

<comment><USER9> Yes, micro-USB is the standard which most phones, and some other devices like the Sony Reader, conform to these days. What's wrong with that? I've never seen another phone connector standard become as popular; before micro-USB it was mostly proprietary connectors.

<comment><USER7> No, before micro-USB it was mini-USB, which worked great on fucking everything from portable hard drives to Blackberries (remember those?) for years and years.

Seriously, micro-USB is a solution looking for a problem.

</comment></comment></comment></comment></comment><comment><USER10> you could reduce the number of letters required without losing accuracy by being less precise at the poles (a simple lat/lon is over-precise there because the lines of longitude get closer together). it would require a slightly more complex transformation, but not by much (for example, you could make it uniform in lambert equal area - [http://en.wikipedia.org/wiki/Lambert_cylindrical_equal- area_...](http://en.wikipedia.org/wiki/Lambert_cylindrical_equal- area_projection)). in other words, by taking the sine of the latitude and then converting that to letters you can truncate more digits (because you the resolution you need at the equator and at the poles is the same).

also, i suspect geohash could be improved by using a fractal approach like <http://xkcd.com/195/> (<http://blog.xkcd.com/2006/12/11/the-map-of-the- internet/>) which should reduce the need for worrying about boundaries (ie make things more efficient).

in fact, you could combine the two.... [edit: although the fractal approach with equal area would mean that the distances of "nearby" points changed with latitude; it would be better to use an equal-distance projection.]

</comment><comment><USER11> Ham radio operators use a "grid square" code to specify locations, see

<http://en.wikipedia.org/wiki/Maidenhead_Locator_System>

this is particularly used in VHF/UHF operation where something special is happening if you contact somebody more than 200 miles away. (Last month I talked to somebody across Lake Ontario about 280 miles away with my handheld thanks to a tropospheric duct.)

Grid square codes range from 4 characters to 8 depending on how detailed you want to get. Less detailed than jgc's system, but already in use.

</comment><comment><USER12> I like this idea but since it requires changing everything in the world to deal with it, I think a better way to enter longitude/latitude co-ordinates would be better.

Or maybe not, since search will make all of this irrelevant :)

<comment><AUTHOR> It really doesn't require much change. The major GPS vendors could support it plus the online map services (so that's only a handful of people) and then businesses could start publishing the 10:10 code of their location.

<comment><USER13> Loads of GPS vendors and loads of online map services isn't "much change"?

<comment><AUTHOR> Truly, it's not that much change. It would be a small update to allow GPS devices to accept a 10:10 code and validate it, and the online mapping services could quickly add recognizing the codes with a regexp + check the checksum.

<comment><USER3> A small update in a well written desktop app? In the poorly written firmware that exists on many embedded device, that's a large change.

And given that there's thousands of devices, even it was just a small change it would be a huge massive change because of the number of places that need to change.

</comment></comment></comment></comment></comment><comment><USER13> Although that's interesting, there is a lot of advantages to a code based on postal areas. In both cases you can find out where on earth a code _is_ , but with a postal code you can figure out how 2 points are related, and you can easily aggregate statistical data.

If you have 2 10:10 codes/lat lon pairs/geohashs you have no way of knowing if they are in the same town, or are separated by a big lake. The longer the common prefix of the 2 post codes, the more likely the 2 locations are to be in the same place. If you're looking for "ABC 123", and you're outside "ABC 124", you're probably close.

When collecting statistics, you can ask people for the postal code, and then aggregate the data based on where people live by just truncating the postal code.

<comment><USER14> Firstly that's specific to how a particular region encodes its postal coding, which isn't worldwide.

Secondly, it's less true than you'd think within the UK. From <http://en.wikipedia.org/wiki/File:London_postcodes.png>, compare the locations of W2 and W3 or W12 and W13.

<comment><USER15> I agree. Canada uses a concept of FSAs (forward sortation areas) that correspond to regions. I don't think it's safe to rely on truncation under the Canadian postal system. I believe only the first three letters/numbers identify a geographic area, and this is the triple used by politicians and people who need to split up regions of provinces. As you might expect, FSAs are way smaller in major cities than out in rural areas.

</comment></comment></comment><comment><USER6> Small changes to the inputs can result in dramatic changes in the output.

For example: I _know_ that (50,1.11) is pretty damn close to (50,1.12); how do I begin to think about the distance from MEQ N6G 7RN4 to MEQ QYD 901Q?

In my mind, that's a pretty huge distance -- look how many places changed!

Not so: that's the difference between (51.0955, 1.13) and (51.0965, 1.13). Pull that up in a map. That's a difference of, what, a hundred feet or so?

IMO, a location encoding that can't indicate at a glance that two close locations are -- well, close -- isn't helpful.

</comment><comment><USER16> <http://spotwoo.com/>

My weekend project a couple of weeks ago, an attempt to solve this sort of problem. I was picking up a friend, and there was no easy way for his smart phone to tell me where he was. So I wrote a site to let 'im. I haven't finished testing it, but folks might be interested.

</comment><comment><USER17> If you are to make such a change, why settle for such low accuracy? What about height/floor numbers?

Also, what about geological changes such as the japanese earthquake? thousands of misdelivered letters...

<comment><AUTHOR> It's not designed for postal delivery. It's designed for everyday navigation.

<comment><USER17> There are cases where navigation codes won't be more practical than postal codes: Old cities with narrow streets and heavy buildings where GPS has no reception. Try navigating Venice, Italy with a phone GPS to get the idea.</comment></comment></comment>


How to Write an Opening Sentence - <AUTHOR> http://asserttrue.blogspot.com/2013/01/how-to-write-opening-sentence.html <comment><USER3> I was a journalist for 15 years on trade magazines, and not surprisingly journalist training pays a lot of attention to story leads.

One thing that the post neglects to say is: "it depends entirely on the type of article you are writing" a hard news story will have a different lead to a feature, column or colour piece.

Most traditional news stories are structured so that can be 'cut from the bottom' - get the salient facts into the first sentence and broaden out from there, so that if your piece gets cut for the sake of space, the sub knows that (s)he can safely cut the bottom paragraph first, then if more space is required, cut the paragraph before that, and that, so that if at the end of the day, your previous page 1 lead has been trimmed to a 1 sentence news in brief, the original opening sentence will still get the story told.

With the demise of paper, 'cutting from the bottom' isn't so relevant, but the same discipline still holds true when writing a story for the busy reader.

All that said _How do you write the opening sentence_? For a news story, or press release, my first editor gave me the best advice I ever received:

"Imagine you're walking into a pub to meet your friend and the story you're writing has just happened. Your friend is intelligent, inquisitive, but not necessarily an expert in your detailed field. You sit down, pick up your pint and say: "You'll never guess what - XXXXXXX"

That XXXX is your opening sentence.

... or at least it's the first draft. The exercise is good way of immediately revealing what your mind thinks are the most important elements or a sometimes very complex story.

<comment><USER4> This 'cut from the bottom' structure is maybe necessary but really fatiguing.

When I was learning Chinese, we had to read such news articles. When you have to analyze it word by word, it becomes evident that the authors is just diluting the sauce, adding more water every paragraph.

Maybe it is one of the reason for journalism to be a living dead. Interesting writings, the ones that hook their readship, are just the opposite: the more you read, the deeper you are immerged in the story (for fiction), the more you understand and discover (for non-fiction).

BTW: Just checked a bit pg's papers: they are not 'cut from the bottom', not at all.

<comment><USER3> I don;t understand why you think it's fatiguing. With a news story, the idea is that you should only have to read the first sentence to get the gist and to decide whether you want to read further.

Each subsequent sentence adds further detail, with the most salient facts always coming first. So you stop reading when you have as much detail as you want, safe in the knowleddge you're not missing anything too important.

If the author is diluting, simply repeating things already written at greater length they're not doing it correctly.

Just to reiterate, PG's articles aren't news stories so there is no need to follow this pattern. There are many other kinds of journalistic leads - <USER2> colour intro, the delayed drop, etc.

</comment></comment></comment><comment><USER5> Iain Banks manages to provide both one of the most memorable opening sentences:

"It was the day my grandmother exploded."

and my favourite opening paragraph (or two):

"Two days ago I decided to kill myself. I would walk and hitch and sail away from this dark city to the bright spaces of the wet west coast, and there throw myself into the tall, glittering seas beyond Iona (with its cargo of mouldering kings) to let the gulls and seals and tides have their way with my remains, and in my dying moments look forward to an encounter with Staffa's six-sided columns and Fingal's cave; or I might head south to Corryvrecken, to be spun inside the whirlpool and listen with my waterlogged deaf ears to its mile-wide voice ringing over the wave-race; or be borne north, to where the white sands sing and coral hides, pink-fingered and hard-soft, beneath the ocean swell, and the rampart cliffs climb thousand-foot above the seething acres of milky foam, rainbow-buttressed.

Last night I changed my mind and decided to stay alive. Everything that follows is . . . just to try and explain."

From _The Crow Road_ and _Espedair Street_ respectively.

<comment><USER6> Even though I'm not a great fan of his work, Banks did write one of the most memorable opening lines ever in _The Crow Road_.

Two other great examples:

William Gibson's _Neuromancer_ : "The sky above the port was the color of television, tuned to a dead channel."

Herman Melville's _Moby Dick_ : "Call me Ishmael."

Neither strictly tells the reader what the books are about, but they're great hooks.

<comment><USER7> " _William Gibson's Neuromancer: 'The sky above the port was the color of television, tuned to a dead channel.'_ "

That is one of my favorite openers, too, but it has seemed weirdly anachronistic for a while. Does anyone under the age of 30 remember television static? Will anyone in Gibson's future?

<comment><USER8> Youtube shows static when there's been some kind of error.

Which is kind a funny, considering nobody will understand that. :)

<comment><USER9> If it becomes common enough (i.e. a "meme") then suddenly everybody will "understand" it.

</comment></comment></comment></comment></comment><comment><USER10> Most people stop reading something after the first few sentences. In that crucial 10 to 15 seconds, a book (or essay, or article, or blog post) has to make, and win, a subconscious appeal to your attention. Your reader's attention span is like a snotty doorman at a hot club. Your opening sentence needs to grab his interest and sneak the rest of the piece into the door.

Consider the following examples from fiction:

"It was a bright cold day in April, and the clocks were striking thirteen." --George Orwell, _1984_

"It was a pleasure to burn." --Ray Bradbury, _Fahrenheit 451_

"As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect." --Franz Kafka, _The Metamorphosis_

Or these examples from nonfiction:

"Air-conditioned, odorless, illuminated by buzzing flourescent tubes, the American market doesn't present itself as having very much to do with Nature." --Michael Pollan, _The Omnivore's Dilemma_

"I like to take my time when I pronounce someone dead." --Jane Churchon, "The Dead Book"

"Out of nowhere I developed this lump." --David Sedaris, "Old Faithful"

This is not to suggest that opening lines should be pure gimmickry, or that they should be conceived entirely apart from the rest of the piece itself. Provocation for provocation's sake is a game of diminishing returns. Rather, the opening line should immediately intrigue the reader by establishing a compelling tone -- one that the rest of the work will follow.

Compelling does not necessarily mean brief, though in modern practice, the two are frequently corelated. That being said, some of the best opening lines in literary history are long and winding. The key is setting up intrigue, however many words that may take.

<comment><USER11> > "It was a bright cold day in April, and the clocks were striking thirteen." > --George Orwell, 1984

I think I've frequently heard this called a great opening line, and I've never worked out why. It doesn't tell me anything that I care about, it doesn't seem especially clever, and I don't notice myself having any other discernible emotional reaction to it.

Can someone explain?

<comment><USER12> It sets the scene really well: "A bright, cold day in April" is evocative of exactly that. It's not pretentious and it immediately puts a setting in the readers mind.

"and the clocks were striking thirteen." is an immediate juxtaposition of something non-intuitive. The first reaction is "Clocks don't strike thirteen! They strike a maximum of twelve!". It's just nonintuitive enough without necessarily being obviously nonsense. And so the reader is engaged to read the next sentence to find out what he means by thirteen. Get the reader to read the next sentence enough, and you've tricked them into reading the book ;-)

<comment><USER11> My first reaction is more like "okay, so it's one o'clock". I never really noticed that it was weird before, though now it's pointed out I can see that it is.

<comment><USER13> I think this opening line works better for people that don't use 24 hour time (namely Americans).

That is interesting, because Orwell was British, and I am fairly certain that 24 hour time was adopted in Britain before 1948.

<comment><USER14> The 24 hour clock is still not universally adopted in the UK. No English speaker says says "thirteen O'Clock" the way one might say "treize heures". English speakers might say "thirteen hundred hours", but only in restricted circumstances (e.g. in the military).

</comment></comment></comment></comment></comment></comment><comment><USER15> The first thing I did was apply this recursively to the article itself.

"When I was a 25-year-old Senior Editor of The Mother Earth News, I did a lot of rewrite editing."

Not bad! Started with an anecdote that got me interested. And it worked—I was interested enough to continue reading. Great article with some excellent writing suggestions for anyone.

<comment><USER16> Given the title of the link, I approached the article with intent. I answered the question "What does the opening line do for me?" before continuing. Here are my results:

* It is straight forward and obviously relates to the title, giving me the impression "An article about writing by someone who may actually know about it".

* It piqued my curiosity: "Is 25 young to be doing this job?" "I bet this was formative... how so?" "WTF is rewrite editing?"

* It nicely sets a tone of "here's some experience for you to chew on" (and the rest of the article keeps it decently.

Note: my opening sentence is a poor mimicry of calinet6's opener and of TFA's opener. Seems I need some practice :)

<comment><USER15> Ha! I didn't even consider my opening sentence. Thanks for noticing, I guess?

</comment></comment></comment><comment><USER17> Just wanted to add that this advice will necessarily change with the times. Something sounds trite and cliche if you've heard it (or something like it) too much. Most of the things that sound trite and cliche now sounded great the first time you heard them. That's how they got repeated enough to become trite and cliche in the first place.

If everyone followed the advice in this article, the advice would be terrible. Most people don't, so it's probably pretty safe for now. The general advice though, is to pay attention to what feels overdone and then don't do that. And don't stop paying attention, because it will definitely change.

<comment><USER18> A coworker of mine (25ish) had seen a lot of movies, but not Casablanca. So I loaned it to him. He said "my first reaction was 'this is so cliched' and then I realized that it rather was where many cliches came from"

<comment><USER19> I feel the same way about the sitcom Cheers. Both are great works, but now seem cliched!

<comment><USER20> Reminds me of the "Seinfeld is Unfunny" trope.

<http://tvtropes.org/pmwiki/pmwiki.php/Main/SeinfeldIsUnfunny>

</comment></comment></comment></comment><comment><USER21> "Simply tell the reader what the subject is."

There's an awful lot to be said for the practice of forswearing cleverness and just writing exactly what you want the reader to know.

<comment><USER16> To an extent I agree, however there is also the Title, so the opener can wander a bit from pure bluntness.

</comment></comment><comment><USER22> I think beginning an academic or a research paper with a question or something like "Some people say..." or "Recently" or "Nowadays" is often a very good strategy even though it might be clichéd, because telling the reader exactly what is going to follow in the text is very much expected. When I read with the sole intention of finding a specific piece of knowledge, I want to be able to tell from the introduction (or the abstract) whether I will find that piece of knowledge in the given text.

That being said, I think all other kinds of texts should be as story-like as possible, in the sense that they should be gripping and interesting from the very first sentence -- I _want_ to be a little bit lost and not know where exactly the writer is taking me. In this case, I really like the idea of jumping straight into a scenario (or anecdote), I remember having been suggested by my teachers in middle school to do so. Having opened the text with a scenario, you can also use it in the conclusion to wrap things up and let the reader know how the story ended, given the conclusions reached in the body of the text.

My book recommendation is "How to write a sentence (and how to read one)", [http://www.brainpickings.org/index.php/2011/01/27/how-to- wri...](http://www.brainpickings.org/index.php/2011/01/27/how-to-write-a- sentence/) It has whole chapters on both first and last sentences.

<comment><USER23> "Some people say..." openings can be problematic, because they can get the reader wondering, who? Who says that? Which pulls them away from the point you're trying to make. Better to start with a specific example of someone saying it: "John Smith thought men couldn't get breast cancer. On April 5, he found out he was wrong."

 _I really like the idea of jumping straight into a scenario (or anecdote), I remember having been suggested by my teachers in middle school to do so._

Yeah, this is an effective technique that's nearly as old as storytelling itself. It's called _in medias res_ :

<http://en.wikipedia.org/wiki/In_medias_res>

The name is Latin for "into the middle of things," which describes the idea: throw the reader into the middle of the story first, revealing earlier events later on where necessary. This lets you open on a dramatic note right away, which grabs the reader's attention, while setting up little enigmas -- who is this person? Why is she doing what she's doing? What does she want? -- for the reader to solve, which keeps them involved.

</comment></comment><comment><USER24> Here's one of my favourite opening lines (all right, make it paragraph!)

 _The Peacemaker Colt has now been in production, without change in design, for a century. Buy one today and it would ne indistinguishable from the one Wyatt Earp wore when he was the Master of Dodge City. It is the oldest hand gun in the world, without question the most famous and, if efficiency in its designed task of maiming and killing be taken as criterion of its worth, then it's also probably the best hand-gun ever made.... When a Peacemaker Bullet hits your leg you fall to the ground unconscious, and if it hits your thigh bone and you are lucky to survive the torn arteries and the shock, then you will never walk again without crutches.. And so I stood motionless, not breathing, for the Peacemaker colt that started this unpleasant train of thought was pointed directly at my right thigh..._ [1][2]

\---- Alistair MacLean, when 8 bells toll

[1] [http://jimalexanderwriting.wordpress.com/2011/05/05/first- li...](http://jimalexanderwriting.wordpress.com/2011/05/05/first-lines-last- lines/)

[2] [http://docmo.hubpages.com/hub/Writing-Tips-1-Seven-Hooks- to-...](http://docmo.hubpages.com/hub/Writing-Tips-1-Seven-Hooks-to-Tease- your-Reader)

</comment><comment><USER25> This article inspired me to go back over the posts on my blog and look at just the opening sentences. I found lots of ones that are, in retrospect, duds. But here's a few that I still like:

> You would think iteration, you know looping over stuff, would be a solved > problem in programming languages.

> Every now and then, I stumble onto some algorithm or idea that's so clever > and such a perfect solution to a problem that I feel like I got smarter or > gained a new superpower just by learning it.

> Ever since I decided to mesh the worlds of static and dynamic typing > together in Magpie, I've been wondering when the gears would really grind > together and halt. Today is the day.

> My little language Magpie has a feature that may at first seem really > limiting: all functions take exactly one argument and return one value, no > more, no less.

I spend a lot of time thinking about this because I think with blogs you have a _very_ narrow window of time to get the reader's attention before they "TL;DR" your post and move on. I usually write about programming languages, which isn't known to be a riveting topic, so this isn't easy. Going back over them, I think there is a pretty strong correlation between having a strong start and getting decent traffic.

</comment><comment><USER26> Absolutely loved this post. The opening sentence is just as important as the headline and subheadings. Great copywriters (and blog editors, evidently) know this. Coming up with original, compelling opening sentences isn't always as easy as it sounds.

Fantastic read.

<comment><USER6> In my limited experience, subheds often act as a crutch when the writer doesn't know how to move the piece forward onto the next point in a more natural fashion. At Uni, we were advised to avoid them wherever possible.

</comment></comment><comment><USER27> This kind of reminds me that, although I'll read a lot about programming and startups, I haven't learned anything about writing (formally) in many many years.

Does anyone have any good recommendations for books about writing non-fiction? The OP refers to a few book about writing fiction, which sound interesting (and that may be helpful), but I was wondering if there was something similar that targeted maybe copy-writing and just general business writing.

<comment><USER28> On Writing Well: [http://www.amazon.com/Writing-Well-30th-Anniversary- Nonficti...](http://www.amazon.com/Writing-Well-30th-Anniversary- Nonfiction/dp/0060891548)

<comment><USER27> Awesome, I just picked it up on Amazon. I'll give it a shot

</comment></comment></comment><comment><USER29> How do you write an opening sentence that makes me keep reading the next few sentences, really?

 _Microscopic attention span_ \- that's what will characterize most online readers if you're writing something online. In this context, any thought of "literary value/quality" is useless. As opposed to the OP, most are writing for maybe readers that have not real intention whatsoever to keep on reading. I know people that when they see an email longer than 5 lines of text on their display from someone unknown, they _just throw it away without bothering to read it at all!_

The questions I'd like answered are:

\- How can you write an opening sentence that the reader's semi-conscious mind decodes even before he decides to keep on reading or not (with a 90% probability of the second outcome), and makes him change his mind and keep reading instead?

\- Should I just add a "TL;DR" section on top of every long article I write because most people will not read it anyway, and hopefully at least this short message will get across? Or will this be a spoiler and make all readers just scan the "TL;DR" and nobody will read the full article now?

\- How to prevent the "scan to see how long it is and decide not to read it if its too long regardless of title or content" way of thinking of a larger and larger portion of the population (and not necessarily the most ignorant: a very smart person told me that we won't read something longer than a paragraph because "if you can't summarize it in a couple short sentences, the I'll assume you don't know enough about what you are writing for me to worth investing the time and attention to read it") So then, are we all condemned to write only "elevator pitches"?

\- Will overdoing it by using interesting "reader engagement tactics" just make the reader believe that I'm actually trying to sell them something and stop reading because of this assumption?

</comment><comment><USER30> From reading good writing, and by looking at opening sentences specially I came to the conclusion that the best way to start a chunk of text is by starting to say what you want to say. Just say what you have to say and don't think about it as an "opening sentence". By thinking of structure you lose perspective of the most important thing in any writing, the message.

My favorite writers get to the point quickly and effectively. Adding cruft is unnecessary and disrespectful to readers and usually only serves to make you feel better about your writing.

"Perfection is achieved not when there is nothing left to add, but when there is nothing left to take away" – Antoine de Saint-Exupery

<comment><USER31> >My favorite writers get to the point quickly and effectively.

It's not so simple. If the reader is interested in comprehending a large amount of technical or objective information quickly, then yes, by all means, start with the point, hold no cards above the table, and get to it.

But even this article demonstrates that _sometimes_ , a different approach is appropriate. "When I was a 25 year old editor" -- what the hell is a 25-year old doing being an editor of a paper? What kind of a paper is this anyway?

That - strikes my interest. That makes me want to continue reading. It draws me in. This is why I read - to shed the dust of everyday life - to be drawn in and whisked away to a fantasy world much more exciting than my own life.

The way to start a chunk of text is to be keenly aware of who your audience is, and what they want. And, equally, the way to begin reading a chunk of text is to either adapt to the the mold of the intended audience or simply reject the writing. It's not valid to say that starting a book in a coy, crafty, inviting way is somehow illegitimate because it doesn't get to the point right away. Some people prefer and enjoy that type of opening.

</comment></comment><comment><USER32> Here's a video on writing I got a lot out of. It also touches on opening sentences.

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

</comment><comment><USER33> I always liked Jay McInerney's opening sentence from Bright Lights, Big City: "You're not the kind of guy who would be at a place like this at this time of the morning."

</comment><comment><USER34> Of course writing fiction (for entertainment) is different from writing nonfiction (for information). For excellent fiction first-sentences: "Doro discovered the woman by accident when he went to see what was left of one of his seed villages." -- _Wild Seed_ , Octavia Butler. It introduces the main characters, and shows you their relationship and their relative importance to the plot of the novel.

</comment><comment><USER35> Thank you. I worked for the tech magazine for a couple of years and can recall pretty much the same experiences. Which is strange, since language was not English. However that problems and solutions listed seems to be language- agnostic.

</comment><comment><USER36> Take not that this applies to writing good landing page copy. It is very useful for commercial writing.

</comment><comment><USER37> It was a dark and stormy night.

</comment><comment><USER38> I've been writing 'seriously' for about 17 years.

I think what the OP says is great advice. The list is especially useful for beginner writers, because it gives them a specific guide to follow.

I was taught the value of an introductory sentence and paragraph differently. I was told to simply "Be specific!" If you have a look at his dos, this simple phrase is put to use in all of them. The don'ts are the opposite: they're vague. I default to this be-specific phrase when I write.

Having said that, writing is such a tricky thing. All throughout my academic history, I've been taught the 'principles' of style only to have to unlearn half of them and adapt to a new 'standard'.

As a few people have written, context matters.

In the end (and in practice), you have to consider your audience, how much time you have to write (if it is your job, because there are hundreds of content mills), develop your own style (this itself is a trite/clichéd remark), but most importantly, have a reason to write that word or punctuation. This last concept is what I adhere to, which is why I only write short stories and poems. Novels are a completely different beast, though I am working on one slowly but surely.

I can read Shelley and Keats and love every expressed emotion. Most people will tell me, "But it's soooooo cheeeesy!" Damn right it is. So? What's your point? Context. Business writing is not creative writing is not poetry is not a short story is not a novel. Likewise, romanticism is not modernism is not postmodernism is not magical realism is not anything.

If you think about it, writing is a very depressing art form. It is one of few skills that has a low price tag in a society yet is valued by everyone. "Oh, he's a great writer! Found his book for cheap at a used bookstore! $1 for a classic!" The only writers that make a good chunk of change are the Stephanie Meyers or the sci-fi writers that pump out a book a month. Author mills. It is rumoured that it took Ezra Pound about six months to write a three-verse poem. Can people even tell the difference? Some say they can.

It's difficult to go in to an interview and act like I really know how to write. My use of grammar and style is poor. I edit a lot. Revise, revise, revise. It takes me an hour or more to write a short paragraph. It doesn't come naturally to me. The only thing I do better than others is spell correctly.

There is an ongoing joke that is repeated pseudosincerely: the worst thing you can do is take advice from a writer.

So what do I know.

PS: One of my favourite opening sentences comes from Camus's L'étranger:

Aujourd'hui, maman est morte. (Mother died today.)

This one is from Kafka's Der Prozess:

Jemand mußte Josef K. verleumdet haben, denn ohne daß er etwas Böses getan hätte, wurde er eines Morgens verhaftet. (Someone must have been telling lies about Josef K., he knew he had done nothing wrong but, one morning, he was arrested.)

</comment><comment><USER39> Should you ask a question as an opening sentence?

<comment><USER40> You did and I read your whole post.

</comment></comment><comment><USER41> The air was _sultry_.

</comment><comment><USER42> Like that time someone told us how to design a well-designed site in 30 minutes, I decided whilst clicking through "How to Write an Opening Sentence" that I would read the first sentence and then decide whether I should listen to the guy on "how to write an opening sentence".

It read:

>"When I was a 25-year-old Senior Editor of The Mother Earth News, I did a lot of rewrite editing. "

I decided against it, so I didn't read any more of the post.

I will, however, tell you how you could write that sentence well:

"When I was 25, I spent three weeks figuring out how to get my articles to stay at a low reading angle, instead of getting flung back in my face by an impatient editor: the experience was invaluable, and it's time I shared how to write a good opening paragraph."

<comment><USER25> > spent three weeks

Unnecessary detail.

> how to get my articles to stay at a low reading angle

I don't know what this even means. What's a "low reading angle"?

> instead of getting flung back in my face by an impatient editor

This is factually incorrect. The author was the editor, and the person doing the flinging was the founder.

> the experience was invaluable

I'm not a fan of just blunting telling the reader "you should care about this".

> it's time I shared how to write a good opening paragraph

Redundant. The title of the article is "How to Write an Opening Sentence".

I really don't think what you have here is an improvement.</comment></comment>


Amazon pulls Washington Redskins merchandise from website - <AUTHOR> https://www.axios.com/amazon-washington-redskins-merchandise-92322ff6-d1f5-4194-a848-03b34c5a9bbe.html <comment><USER2> > The survey, as reported by the Washington Post, asked 500 people who > identify as Native American to pick from a list of words which one best > described their feelings about the Redskins name. The word most picked was > "proud."

[https://profootballtalk.nbcsports.com/2019/08/10/poll-of- nat...](https://profootballtalk.nbcsports.com/2019/08/10/poll-of-native- americans-view-of-redskins-name-finds-proud-most-common-answer/)

I think that Redskin in this case is very similar to Yankee or Queer. All are reclaimed epithets that many people now proudly identify with. We should no more consider "Washington Redskins" as insulting than "New York Yankees" or "Queer Eye". Such "reappropriation" seems to me wholesome and admirable.

<comment><USER3> A name change is all but certain, and has nothing to do with amazon.

I like your point:

Within the Southern United States, "Yankee" is a derisive term which refers to all Northerners, or specifically to those from the region of New England. —from Wikipedia

Good luck changing the Yankees name!!

<comment><USER4> Most of New England would take Yankee as an insult, but only due to baseball rivalry

Canuck is another dual-use team name/insult</comment></comment></comment>


20 days of inpatient care in New York - <AUTHOR> https://www.reddit.com/r/medicine/comments/g0ovry/one_day_of_care_in_new_york/fnata4g/ <comment><AUTHOR> This is a link to a reddit comment by a doctor in New York who has been sharing their experiences with reddit every few days. The linked comment contains links to the prior entries and the post the comment is attached to is the most recent entry.</comment>


Ask HN: What have we learned about Covid-19 over the past few months? - <AUTHOR> What have been the major things we thought were true about COVID-19 and fighting the pandemic that we now see are false? Where have we been most wrong?
Relative to what news outlets were most commonly saying a few months ago, in what ways is it worse (at an individual or societal level) than we were told, and in what ways is it less bad than we were told?
What's the best personal risk reduction strategy going forward with everything we now know?
There were various articles talking about the possibility of long term damage for covid survivors. It hasn't been years so we don't know for sure, but with the few additional months of data we have, does serious long term damage for survivors look likely or not? <comment><USER2> That a state/government is useful and/or required in solving civilization- scale problems. It is not; actually most states went right ahead with QAnon- level disinformation and a clusterfuck-style management, only caring about the politicians' image, while spending a monstrous amount of money for apparent nothing. In places where the government did nothing the people self-organized and the result was at most as bad as anywhere else, but without the monstrous debt.

People who rely on the government should now know they can't. People who support states because "people won't solve problems by themselves" should reconsider.</comment>


Redundancy vs. dependencies: which is worse? (2008) - <AUTHOR> http://yosefk.com/blog/redundancy-vs-dependencies-which-is-worse.html <comment> d--b This article is very important. I encourage everyone to read it, as it raises a lot of good points.

In my opinion, the problem it describes come from the vagueness of the concept of elegance, and how counterintuitive it is. It doesn't even have to imply modules or anything like that. In the simplest form it boils down to:

Would you rather write:

        if (a) {
            doSomething();
            if (b) {
                doSomethingElse();
            }
        }

or

        if (a && b) {
           doSomething();
           doSomethingElse();
        }
        else if (a && !b) {
           doSomething();
        }

Of course, there is no true answer to that question, and it always depends on the context. But many programmers will never ever consider option 2. And that is for two good reasons: 1, you make one more test, and 2 you duplicate the function call do doSomething(), so your program is larger. So mathematically speaking option 1 is more elegant, it's shorter, it's faster, it's lighter, what's not to like?

Well, multiply the ifs and the elses, and you will soon find out that option 2 is much more readable and changeable, which is the more elegant solution to anyone who's an engineer rather than a mathematician.

The tension it describes is that in every programmer is a mathematician and an engineer endlessly conflicting. This should be a good guidance for which style to use. Is this code a math code, or is it engineer's code. When you can answer that question, you can decide which style to write your code in.

<comment><USER2> I completely agree.

It's _vital_ to know what a, b, doSomething and doSomethingElse actually stand for, and what is the context. This is not a technical problem, it's a people problem (like almost all problems).

Take this, for example:

        if (userLoggedIn) {
          setCookie();
          if (itsANiceDay) {
            tellUSerToGoOutAndPlay();
          }
        }

And this:

        if (itsSunny && itsCold) {
          putOnSunglasses();
          putOnCoat();
        } else if (itsSunny && !itsCold) {
          putOnSunglasses();
        }

They both kind of make sense! Now let's see the other way around:

        if (userLoggedIn && itsANiceDay) {
          setCookie();
          tellUSerToGoOutAndPlay();
        } else if (userLoggedIn && !itsANiceDay) {
          setCookie();
        }

This one is just silly. We are mixing logic about two completely different things. Nobody would do that (many people would do that, I know. Too many)

        if (itsSunny) {
          putOnSunglasses();
          if (itsCold) {
            putOnCoat();
          }
        }

This one seems ok. Until you wonder what happens if it rains and/or it's windy. Then you'll refactor it to a "switch/case" for clarity. And it's all about the domain specific content! You cannot reason only about the syntax tree in isolation and come to a meaningful conclusion!

<comment><USER3> The problem with these examples is that _putOnCoat()_ should not depend in any way on _itsSunny_ , so there should just be two separate _if_ blocks. We should be discussing a scenario in which one condition is a subset of the other.

<comment><USER4> Why not? I've been on Rainier when it's cold and sunny.

<comment><USER5> I you didn't understand what the GP said. You can certainly have a day when it is both sunny and cold, but the checks would look like this:

      if(isSunny){
          putOnGlasses();
      }
      if(isCold) {
          putOnCoat();
      }

<comment><USER6> Depends on context, in a game you might only send someone outside if it's sunny. So if it's !sunny your staying inside and you don't need a Coat.

</comment></comment></comment></comment></comment></comment><comment><USER7> The article makes some very important points and it's certainly worth a read for every programmer.

What the article misses to address explicitly however is that the whole redundancy vs. dependency conflict is caused by modularization. Without modules there would be no conflict.

So the real questions to answer here are: When do you need modules or do you need them at all? What should be modularized? And, most importantly, how to choose smart boundaries? Good answers to these questions will save a project from a world of pain down the road.

The classic OOP / software engineering education these days lacks critical debate about software modularization. Modularization is almost always presented as a good thing. What nobody tells you however is that in real world engineering, on real world teams, modularization can cause _a lot_ of trouble if not done the right way.

<comment> loup-vaillant Code is basically a dependency graph. Each piece of code depends on a number of other pieces of code. (Dead code is an isolated island in this dependency graph.)

You want two things out of that graph: less nodes, because less code is simpler, better, cheaper. And less _edges_ , because understanding, modifying, or troubleshooting a piece of code requires knowing about its dependencies (hopefully, only the direct ones).

When the unit of organisation is the function, you kinda state that each function is a node, and the call graph are part of the edges (the call graph would cover everything in a purely functional settings, but side effect produces implicit dependencies). Trouble is, in any significant system, you're gonna have a _lot_ of nodes and edges. How to make sense of that?

That's why we have module. When you look at your dependency graph, you will most certainly note that parts of your graph are denser than others. Those clusters are the natural modules. If you formalise that, and draw module boundaries around those clusters, you can now have a two-level view: inside a module, you have a _small_ dependency graph, with a few outbound edges. Outside, you can visualise a coarser graph of module dependencies. Again, fewer nodes and edges, because you have grouped them.

Now the _real_ benefits of module is, once you start drawing boundaries, you have an incentive to make small interfaces, to minimise inter-module dependencies. Additionally, visualising the module dependency graph directly helps you spot spooky dependencies that probably shouldn't be there. You can then cut some dependencies out, simplifying your graph in the process.

Without modules, I don't see how you would manage this kind of scale. Oh and by the way, some monstrosities are so big that they effectively requires a _third_ level. But I've never worked on such beasts.

<comment><USER7> Yes, that's a very good picture of things. Now the dependency vs redundancy issue comes in when two clusters are made modules.

If they are _mostly_ separated but still have some connections to each other the question is what to do with these. Cut them off means having to replicate so ultimately redundancy. Leaving them in means dependency.

I guess the way modularization should be done is therefore as a min-cut through the dependency graph.

</comment></comment></comment><comment><USER8> It's kind of funny how, rightfully, the author paints a picture where the "horrible, enlightened external dependency" itself is antimodular to the T. Given that all modules supposedly have stable interfaces, documentation, tests, reasonable size, yada yada then one might expect that each of their dependencies takes advantage of these properties to maintain light and wonderful themselves.

Of course, this is a situation that's highly incompatible with C. Let's ditch that.

In ML modules are king. You probably make hundreds in any non-trivial program and the compiler will beat your ass if you muck up their interfaces. Anywhere. Packages are just sets of 3 public modules wrapped up in twine and a README file (coincidentally this is where "ownership and lifecycle" are managed, but, sorry, I'm going to ignore those for a moment).

This could be every bit as bad as I described before, but ML also realized that modules which just form a big dependency tree are actually quite annoying. The whole reason we define public APIs is so that there can be multiple satisficing inplementors, but this cannot be in 99% of module technologies today.

So ML has functors (not Haskell functors, certainly certainly certainly not C++ functors) which are "parameterized modules that actually work". One could distribute their command line parsing module with a pluggable serialization and a pluggable help display. See MirageOS for a giant example of this kind of system working out.

Does it really work?

Probably not. It's not in most maintainers DNA to functor-ize everything. It's even a significant challenge to do so since you need to define sufficient external _and_ internal public APIs and it's a significant community effort to standardize these sufficiently so that there is significant chance of re-use.

But at least it's a way forward. Fight the heavy module trees. Let's use some higher order reusability.

<comment><USER9> I've had some success with the object-oriented equivalent of the pattern. Perversely, I find it to be most effective as a political tool.

It's useful when someone doesn't like my minimalist solution to some problem, and starts peppering me with feature requests that will complicate the module and which I perceive to be of marginal utility. So I make that chunk of functionality pluggable, keep my minimalist implementation as the default, and publish some instructions for how to drop in a more complicated behavior. Then all I have to do is sit back and watch the original requester realize that they only think the stuff they were asking for is worth the effort if they can get someone else to be the one putting out the effort.

<comment><USER10> Love to see an example

</comment></comment></comment><comment><USER11> I generally agree with this. However, sometimes using a module is not adding a dependency, it is making an already existing implicit dependency explicit.

E.g. we have client and server code. Serialization configuration between the two is implicitly dependent upon each other - if the client expects dates in a different format than the server, things don't work. To make that implicit dependency explicit, we use a module, which also has the affect of making sure the two don't get out of synch.

</comment><comment><USER12> A very good article that aptly shows (some of) the hard & sticky questions we are confronted with all the time. How you answer these questions will determine the quality & stability of your code to a large extent.

I agree with the OP that commonly, " _dependencies are worse_ ". Redundancy will increase the quantity of your code, but dependencies increase its complexity. And quantity is always conquered easier than complexity.

</comment><comment> guard-of-terra This depends greatly on your platform. Java projects accept dependencies much easier than C++ ones because in Java it's much harder to cause trouble and also coding styles aren't radically different for different dependencies.

Perl&Ruby are even more eager, which should be strange since they're actually less safe.

<comment><USER13> Less safe? How so?

</comment></comment><comment><USER14> Excellent article. Just one quibble: he claims a module shouldn't be over 30k lines. Counterexamples: Linux, Postgres, Boost, LLVM, V8, all in the million line range. To be sure, each of these has an internal module structure, but that's irrelevant from the perspective of someone deciding whether to incur a dependency on one of them - the answer to which may very well be yes because they do enough to make it worthwhile.

If anything, larger modules like the ones I listed are more likely to be worth depending on because they do more. It's no coincidence that the author chooses command line parsing as a negative example - something trivial enough that the overhead of tracking a dependency may well outweigh the effort of implementing it yourself.

</comment><comment><USER15> It's interesting to read this with micro-services in mind.</comment>


Graphics Drivers - <AUTHOR> http://www.shiningrocksoftware.com/2015-12-13-graphics-drivers/ <comment><USER2> My experience with apple is that you should only use API calls that have been around for 5+ years, because everything else is essentially broken.

For a company that relies on GPU effects for everything, it's amazing how bad they are at supporting OpenGL. I remember a few years ago Valve basically wrote an open letter to Apple to fix their shit, and .. well you can play Portal now, but the state of OpenGL on OSX is still a disaster.

<comment><USER3> But now there is Metal, so I imagine that means that opengl will lag even more.

<comment><USER4> Yep, they've stopped adding GL stuff :/

<comment><USER5> Why not allow the graphics manufacturers to write the OpenGL code like on windows?

</comment></comment></comment></comment><comment><USER6> So, it seems like the renderer is doing a lot of small updates to buffers, causing pipeline stalls. The article does not mention the size, offset and alignment used to update uniform buffers, which may play a huge factor here.

The details of CPU-GPU buffer coherency are hardware specific, but using a larger alignment can help hitting the fast path. At worst, this ends up being a read-modify-write operation to the VRAM over a DMA transfer.

The alignment of individual writes should be at least 256 bytes, prefarably even more. A multiple of a CPU (or GPU) page size may help: 4k, 64k, 2M are good alignments.

In modern OpenGL (w/GL_ARB_buffer_storage)/D3D/Vulkan, you could use a persistent/coherent mapped buffer and explicit sync points. It makes this problem go away, but requires a bit more programming effort to set up correctly.

<comment><USER7> It's obviously not a hardware limitation if it works fine in Windows.

<comment><USER8> Drivers can map the DMA regions in differently.

</comment></comment></comment><comment><USER9> The problem is with the tool he's using. It doesn't seem to show the "idle" time when calling the OpenGL method. He's very likely hitting a CPU/GPU stall while the data is uploaded to VRAM.

As mentioned by Scott in the comments section of the article, the solution is usually like this (D3D12 has removed dynamic resources for example [0]) :

      So this means if you glBufferSubData into the same
      address between every drawcall, the opengl driver is
      forced to execute the command then sync before copying
      the new data over the old data, which is really slow.

      What you are meant to do instead is create a buffer
      with glBufferData that is large enough to hold at least
      one frame worth of uniforms. Then use glBufferSubData
      with a **different offset** for each drawcall's uniforms,
      so they end up next to each other in GPU memory. Treat
      it as a circular buffer.

[0] [https://msdn.microsoft.com/en- us/library/windows/desktop/dn8...](https://msdn.microsoft.com/en- us/library/windows/desktop/dn899125%28v=vs.85%29.aspx)

<comment><USER10> Or maybe not the solution, Scott has posted a "never mind" followup to his own comment.

Edit: also I think the blog author had no problem getting to the waiting diagnosis despite the tools not splitting the time into idle and working parts, since he zeroed in early on the option 3, "The GPU is waiting on the CPU (or vice versa) for something"

<comment><USER9> But his conclusion was wrong in my opinion. Updating many many sub parts of an array in random order will always be slower than updating it all at once.

He also didn't reach the usual solution to double or triple buffer everything that is uploaded to the GPU.

</comment></comment></comment><comment><USER11> Juggling uniforms and buffers is something that will get messy fast unless you take the time to organize it early on. I wrote my own preprocessor that can dynamically bake values into the actual shader code (by injecting text and recompiling the shader during run time) - which is useful for putting in values that are determined by the CPU but more or less constant through the life of the program (the preprocessor allows other neat tricks like automatically binding a slider to a variable to test a range of values for that variable). This also saves time where possible by minimizing CPU-GPU communication. During one test I did (which certainly is not conclusive) I noticed uniform buffers performed slower than using normal uniforms - not in uploading the uniforms but rather reading them in the code. This may have been due to needing to compute an extra offset or something.

</comment><comment><USER12> Hm, doesn't the glBufferSubData update the one and the same bit of memory on gpu, having the driver wait for the draws that dependent on the previous values to go through, before letting the update values through. You could use glBufferData allocate a new bit memory (with NULL ptr it would just be discarding the old values).

Other ways would be to fill a bigger buffer with all the different uniform values at once, and then pointing to right bits of it with the drawcalls.

<comment><USER13> Yeah. glBufferData should work fine in this case.

To be honest the Windows OpenGL drivers are the ones at fault here. Instead of reusing the old data store they seem to allocate a new one, just what glBufferData does. However the performance improvement for glBufferSubData implemented correctly is not enough to offset the huge amount of code that relies on glBufferSubData to behave like glBufferData. So I can see why a driver developer has opted to this behavior.

</comment></comment><comment><USER14> This is a nice follow up to this post [0] on porting a Windows game to OSX.

[0]: [https://news.ycombinator.com/item?id=10545143](https://news.ycombinator.com/item?id=10545143)

</comment><comment><USER15> Makes this post about Vulkan timely...

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

<comment><USER16> Vulcan is not supported on OSX or iOS. Instead, you are getting Metal.

<comment><USER3> .. You've got. Ships with ios8+ and osx 10.11 (el cap)

</comment></comment></comment><comment><USER17> And this is the fun of "portable" OpenGL, one code path per driver/platform....</comment>


University of California Proposes Online Degrees - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/c/a/2010/07/12/MN581EAQR0.DTL

<comment><USER2> _"We want to do a highly selective, fully online, credit-bearing program on a large scale - and that has not been done," said UC Berkeley law school Dean Christopher Edley_

There is absolutely no reason to be selective in an online college unless you are trying to create artificial scarcity.

This quote shows just how pointless college is.

<comment><USER3> "There is absolutely no reason to be selective in an online college unless you are trying to create artificial scarcity."

If every college let everyone in, it would be worthless. Colleges need to be selective. They should base admission on grades.

<comment><USER4> _"If every college let everyone in, it would be worthless."_

I think that HN, while not a college, might be a counterexample for this idea.

Here everyone can join and communicate, and yet we can maintain a high level of communication. The ones who don't fit are quickly flagged or simply won't come back again.

I think selectivity is good, however it doesn't need to be enforced in the admission step, it will happen in the middle of the process. People who would not be able to follow the course requirements would quickly drop out.

I'm not arguing that this idea would work (I don't really know), but based on the HN experience I think it should be considered.

<comment><USER3> "Here everyone can join and communicate, and yet we can maintain a high level of communication. The ones who don't fit are quickly flagged or simply won't come back again."

Universities aren't run by the students. There is only so much space in a university.

I think selectivity is good, however it doesn't need to be enforced in the admission step, it will happen in the middle of the process. People who would not be able to follow the course requirements would quickly drop out.

"I'm not arguing that this idea would work (I don't really know), but based on the HN experience I think it should be considered."

A forum is easily moderated by the people that go there. The forum owner only has to pay for the bandwidth and make sure the system us running. This isn't the case for a university.

A university has a finite number of spaces. Even an online university needs to have people grading/teaching the class (and they only have so much time in the day).

They don't need to limit it. However, would you like to go to a university that is just a glorified forum that is taught by people that might no the subjects, but not necessarily a professor?

<comment><USER5> _However, would you like to go to a university that is just a glorified forum that is taught by people that might no the subjects, but not necessarily a professor?_

Isn't that kinda how it is now? At least the part about your teachers being TAs and not professors.... At least a forum has some level of interaction.</comment></comment></comment></comment></comment>


Instagram's pivot into complexity - <AUTHOR> http://www.elezea.com/2013/06/instagram-video-complexity/

<comment><USER2> This post makes some interesting points about the additional complexities the Instagram team will face as they integrate video uploading, editing, and consuming into their users' activity streams.

I think there are some interesting reasons why Instagram needed to do this that are worth noting. Instagram's high level of user engagement is in my experience predicated on the way it captures (1) beautiful experiences that are (2) relevant to me (3) without the clutter of posts that are of any other category. Facebook and Twitter are both fantastic and I use them all the time, but Instagram is the first and last app I use every day because it is a purely positive experience to consume.

I think there is a certain saturation point where there is a maximum number of social apps that a person can afford to be engaged with at any point. While the idea of Vine was appealing to me, I have resisted it because I just don't have room to add another app into my consumption patterns. Same thing goes for Path.

So the reason I think Instagram did the right thing in adding video, and in fact had to, is that an app like Vine is really an extension of the same concept that Instagram did with photos. If I want to have that kind of experience, I would prefer to do it all in one place, and so I think there was always going to be a gravitational pull for one app to win in both of those categories.

Vine is great, and I have no doubt they will continue to see success in the myriad of other ways people use it that are dissimilar from Instagram. But I think Instagram did the right and necessary thing in taking on this added complexity.</comment>


Saving the right to information miracle - <AUTHOR> http://beta.thehindu.com/opinion/lead/article427427.ece?homepage=true <comment><USER2> Background? I'm trying to scan it and it appears I need previous knowledge of the Byzantine Indian legal system.</comment>


Ask HN: How do you know how much to charge for your services? - <AUTHOR> <comment><USER2> Have a look at job sites to see what a salaried position with your experience would get you. Use that to work out the hourly rate you would be paid and add 25-30% to cover your expenses for the time you spend on admin tasks or tasks that don't bring in any money. Multiply your new hourly rate by how long you think it will take you to complete a task. Over time you'll get better at estimating your time.

If you need to purchase something for the project I generally sell it to the client at cost and work the cost of the purchase into the overall price. Most clients would expect you to add a markup to purchases but they're pleasantly surprised when you don't. You still get your money and you get a happier client in the end. Everybody wins.

</comment><comment><USER3> However much you need for your business model to forecast a future you would be happy with.

So if contracting, enough to cover your cost of life, either from the outset or taking into account some forecast of growth due to experience or ability to scale. The more forecasting involved, the more frequently you need to evaluate it.

Sorry, I know not that helpful - but I do mean it with sincerity. It forces you to think of the fundamentals and avoid expensive wrong turns.

<comment><USER4> This is good advice. Start with the level of service you want to provide, then work back from there.

</comment></comment><comment><USER5> It depends on what services you are providing. Try looking at the market and see what your competitors/peers are charging for similar services that you want to sell, it's a good starting point.

In theory you should try to charge as much as your clients are willing to pay for your service. That might be very different amount based on how valuable the service you provide is to them.

<comment><USER6> I think the issue here is that many (most?) places don't really say how much they charge. They just say contact us for a quote.

</comment></comment><comment><USER7> Here's a list of methods to choose your pricing: [https://taprun.com/methods/](https://taprun.com/methods/)

</comment><comment><USER8> If applicable, I like to charge such that the implemented system will pay for itself within 24 months.

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

</comment><comment><USER10> Every time I start getting a lot of requests for work, I up my price. Ideally you should be getting about 3 requests for work per month. 4 is pushing it, it means you should be charging more.

Charge more until you stop being flooded with work requests.</comment>


Did We Overvalue Music? - <AUTHOR> http://www.varely.com/posts/59

<comment><USER2> two paragraphs followed by a "sign up to read more".

Content in that format is not going to do well on any social media site.

Even with a Vanilla Ice picture.</comment>


Show HN: From StartupWeekend Boston 2013: AskMore - real-time Q&A service - <AUTHOR> https://askmo.re

<comment><USER2> Really awesome idea, I can see this coming in incredibly handy during talks / presentations. Quick piece of feedback on the site, though. At a glance, it's a little tough to see right away what AskMore's main strength is - it's not until the 6th bullet in "How it Works" that I see "Ask the questions your audience wants to hear" and get that the main use is real-time question-asking for presenters. Maybe add a tagline like "real-time questions for presenters" (except worded better) on the homepage?

<comment><AUTHOR> great feedback, thanks! we're looking to reorganize the homepage and be more clear on what we're doing and what the value proposition is

</comment></comment><comment><AUTHOR> This is just the first version, a quick prototype that we launched after 2 days. What do you think about the idea?</comment>


Show HN: Our idea to aggregate awesome motivational/inspiring materials - <AUTHOR> http://stonecoldhustler.com/

<comment><AUTHOR> My friend and I had this idea and threw it together. We do front-end and UX work so there's a lot of functional/programming ideas we had that we don't have the skills to implement just yet.

For example, we thought it would be cool if users could sign up to receive a video/quote via email each morning, at the time of their choosing in order to start the day right.

Any thoughts, feelings, suggestions are more than welcome :)</comment>


Show HN: Data Science Congress 2020 - <AUTHOR> https://datasciencecongress.com/dsc20-speaker.php <comment><USER2> The theme for the virtual conference is World of Data with its pros & cons.

</comment><comment><AUTHOR> Some of the speakers: Vint Cerf, Toby Walsh, Rajat Monga, Usama Fayyad

</comment><comment><USER3> Great Speaker Lineup..Would love to attend</comment>


Show HN: AlexaRank.io (free alternative to Alexa's $120 tracker) - <AUTHOR> http://alexarank.io <comment><USER2> Nice project. Alexa might not like it very much though.

<comment><USER3> be careful using trademarked names.

</comment></comment><comment><USER4> If i were to enter a link that includes [http://](http://), it redirects me to HostGator's 404 page.

</comment><comment><USER5> I'm a lawyer. Awesome project, but definitely follow the advice from people in this thread. Change the domain name fast.

</comment><comment><USER6> Pick a domain name that contains the name of the company you're trying to undermine. What could go wrong?</comment>