Bach canon played forwards and backwards as a moebius strip - <AUTHOR> http://www.boingboing.net/2009/09/11/bach-canon-played-as.html

<comment><USER2> This video appears to contain two mistakes:

\- Since the second half of the piece contains so many short notes, the measures are physically longer on paper than the earlier measures, even though each half takes the same amount of time to play. When the piece is broken into two halves, the animation is forced to put the breakpoint partway into the "short note" portion to make both "sides" (a misnomer, I know) the same length.

\- The reverse playback version would, I'd think, be playing the notes "upside down" to work right. That is, notes that were low should be played high, and vice versa. I'd actually have to cut out and read sheet music on a real moebius strip to confirm this, however. (The video only gave one camera angle of the strip.)

<comment><USER3> The animation is stupid. You are listening to an audio clip of Bach being played forward and backwards simultaneously. You could do this with any song played in key.

A mobius strip has one side so it would be read like on paper. The twist is the result of representing a two-dimensional object in three-dimensional space.

</comment></comment><comment><USER4> Bach was so far ahead of his time it's kind of unbelievable.

</comment><comment><USER5> Markov chaining bach is also interesting

[http://www.caerwyn.com/ipn/2007/04/lab-77-unexpected- markov....](http://www.caerwyn.com/ipn/2007/04/lab-77-unexpected-markov.html)

</comment><comment><USER6> Quite an interesting twist on Bach.

ba dump dump chs :)

<comment><USER7> meh. sounded kind of one-sided to me.

<comment><USER6> Nice one! he he</comment></comment></comment>


HOW To: Create Ringtone For iPhone By Using iTunes - <AUTHOR> http://technologytosoftware.com/create-free-iphone-ringtones-in-itunes.html <comment><USER2> I regretfully do not have an iPhone yet, but I have always wondered why Apple handled ring tones that way. I never understood the reasoning behind charging $1.29 for a song and then charging another $1.29 to make that song also into a ringtone.</comment>


Food and Open Source come together thanks to a nice startup - <AUTHOR> http://www.businesshackers.com/2007/07/31/food-and-open-source-come-together-thanks-to-a-nice-startup/

<comment><USER2> "As per my opinion it is a very good and nice work, excellent design as per menus, important is very my clear outlook and visible buttons labels are also very much user friendly, there are some problem with web application which hides text links"

I think the bot is malfunctioning...

<comment><AUTHOR> Fixed</comment></comment>


Ask HN: Best career options for more individual programming-related work - <AUTHOR> For over a decade, I worked in a career that allowed me to work/collaborate with colleagues, but I was the only member of the team responsible for doing the work I was doing.  I liked working on this type of multidisciplinary team, but the field was a dead-end in terms of salary and raising a family.
As a result, about 5 years ago, I switched to doing software development (I had programmed some in my prior career).  Now, I work on teams where everyone else is doing the exact same kind of work (frontend software development).  I now realize that I much prefer to work in an individual-oriented role within a multidisciplinary team, and struggle to find meaning in work that everyone around me can do more or less equally well.  I also can't stand open work spaces and greatly miss my old office.  In addition, I'm usually the oldest one on the team (even though I'm only in my mid-40s) and younger co-workers with no family, etc. struggle to relate to me.
Bearing this in mind, what would be the best area for me to move toward at this time?  Data science and/or machine learning?  Or security engineering or pentesting?  My guess is that data scientists tend to work more frequently on multidisciplinary teams (also, I have a master's in biostatistics from long ago, and have learned R fairly well, so that will help with the transition I'm sure).
Do any of these career options feature a wider age range and more gender balance (I miss working with women and "older" colleagues, who often bring different points of view to work situations)?
I want to try to take into consideration the whole work environment before I make a career move, and not make the same mistake I made last time before starting software engineering.  I do love programming and do it even in my free time, I just struggle with the social aspects of it. <comment><USER2> Some other options:

1\. Possibly web development agencies? Seem to often have cross-disciplinary teams (designer + programmer + UX specialist). Some of them are terrible, I hear, but some of them sound like nice places to work.

2\. I've occasionally seem job postings for programmer jobs at a university, where you're helping scientists out.

3\. Python has a _very_ diverse set of use cases. E.g. PyCon has talks on everything from web development to distributed systems to data science to biology to graphics to education. And much higher percentage of women speakers and attendees than many (most?) software conferences.</comment>


Jeweler who made Tesla ring for Elon Musk gets locked inside Model X - <AUTHOR> https://www.engadget.com/2019/04/09/ben-baller-tesla-model-x/ <comment><USER2> Don't the Falcon wing doors open without power? [https://www.tesla.com/sites/default/files/downloads/2016_Mod...](https://www.tesla.com/sites/default/files/downloads/2016_Model_X_Emergency_Response_Guide_en.pdf#_OPENTOPIC_TOC_PROCESSING_d70e1591) (page 26)

</comment><comment><USER3> At least there was no fire.</comment>


Ask HN: How do startups make decisions? - <AUTHOR>

When multiple founders have equal equity stakes, how do you decide "where the buck stops" when there is a disagreement?
Do you agree beforehand that one person is the "CEO" or do you just flip a coin when something comes up?
What have you found to be the best strategies/tactics for making decisions in your ventures? <comment><USER2> It doesn't really matter what strategy you have, as long as you've agreed on a strategy beforehand. In the past, we've done coin flips, even/odd pepperonis on a pizza, rock-paper-scissors, even a ping pong game. Another alternative that I'm fond of is to have a disinterested third party to be a tiebreaker.

<comment><AUTHOR> Do you really think that "it doesn't really matter" how you make decisions concerning things like which direction to take the company, whether to hire a potential employee or not, or whether or not you should accept funding from a particular source? Are those really the sorts of things best left to RPS? It seems like you might want to have a bit more intentionality behind such processes that could seriously impact the success of the venture

<comment><USER2> I didn't say "it doesn't really matter" how you make decisions. The original post was about the scenario where multiple founders with equal stakes disagreed on a decision.

I'm assuming that they've both made their best arguments on each of their viewpoints and that both choices are rational and reasonable decisions, and yet they can't reach an agreement. In that case, no, "it doesn't really matter" how you choose which founder gets his way.

<comment><AUTHOR> Got it.

Thanks!</comment></comment></comment></comment>


Beginning Erlang web development using Yaws on Windows - <AUTHOR> http://www.hiveminds.co.uk/?p=35952

<comment><USER2> I do web development and erlang development and the thought of mixing the two horrifies me.

First of all, I think erlang is a swedish word that, roughly translated means, "makes threading easy and everything else a total pain in the ass."

Web programming is already a total pain in the ass because it buries you in every little concern from data storage to user interface, and then you have to go ahead and change everything a week later. Because of that I want my web development to be at the very highest level possible.

The idea of taking THE language/runtime that solves only concurrency problems and applying it to the web which inherently solves the problem of concurrency (load balancing and more hardware) makes me just feel bad for anybody going down this path.

If you want to play with erlang, which I recommend, then use it for the right reasons, and you'll get a better appreciation of what it can do.</comment>


Darpa Puts On Contest to Find 10 Red Balloons Across U.S. - <AUTHOR> http://www.nytimes.com/2009/12/01/science/01darpa.html?hpw <comment><USER2> I'm actually trying to spearhead an effort to win this and donate the money to Livestrong (<http://10loons.com>, <http://twitter.com/10loons>). My feeling is that raw data mining techniques are going to win this thing, but we'll see.

<comment><USER3> and our paths cross again :). My effort is <http://10balloons.com> and <http://twitter.com/10balloons>.

I'm curious though: as I've worked through this challenge, my focus has been drawn to post-contest plans, using this contest as a short run experiment to achieve a bigger goal. Do you have similar ideas, or are you just going to be done when the contest announces a winner?

<comment><USER2> Hey there! I've definitely been looking at this through a larger context, as there's a huge real-world application for things like this. You should send me an email: email@example.com

</comment></comment></comment><comment><USER4> Official DARPA Network Challenge website: <http://networkchallenge.darpa.mil/>

</comment><comment><USER5> Time to go buy some balloons...

</comment><comment><USER6> Link is restricted access, you are permitted to read about the balloons here <http://www.emilitary.org/article.php?aid=14878>

</comment><comment><USER7> ...why not 99 red balloons instead? :)</comment>


Machine Learning at Stack Exchange - <AUTHOR> http://kevinmontrose.com/2015/01/27/providence-machine-learning-at-stack-exchange/

<comment><USER2> I built a "visualizer" for your personalized data, check it out here:

[https://jlhonora.github.io/stackexchange- predictions/](https://jlhonora.github.io/stackexchange-predictions/)

I didn't know this data existed, and was a bit turned down when I saw the data was in JSON format. It looks much better with a graph! Check it out and tell me what you think. Any suggestions?

</comment><comment><USER3> >> ... however, the choice of algorithm mattered little... and the largest gains always came from introducing new features.

This was also the collective opinion of top Kaggle competitors as described in a post[1] on NoFreeHunch.

[1] [http://blog.kaggle.com/2014/08/01/learning-from-the- best/](http://blog.kaggle.com/2014/08/01/learning-from-the-best/)

</comment><comment><USER4> I think you neglected to fix the last picture.

<comment><USER5> Something of an in joke I suppose, but design thought it was funny enough to leave as is.</comment></comment>


Entrepreneurs need to get a life - Los Angeles Times - <AUTHOR> http://www.latimes.com/business/la-fi-smallbiz9may09,1,28826.column?coll=la-utilities-business <comment><USER2> the guy mentioned in this article sounds like a decent chap who is very focused on filling a need in an under served community but most of his ideas and insights are taken directly from "The E-Myth Revisited" by Michael Gerber.</comment>


Fertility Fraud: Artificial insemination doctors who used their own sperm - <AUTHOR> https://www.nytimes.com/2019/08/21/health/sperm-donors-fraud-doctors.html <comment><USER2> In its long term effect this fraud is similar to serial rape. But that's also true of serial seduction under false pretenses. Should the punishment for these things also be similar? I don't know.

From a Darwinian perspective even the death penalty is insufficient, since reproducing copiously is worth dying for. The only effective punishment would involve also killing or sterilizing the resulting children ... which is entirely unacceptable from our cultural perspective.

So to a Darwinian insemination doctor this may be something like a perfect crime, in that there is no prospective punishment that outweighs the benefits.

<comment><USER3> > From a Darwinian perspective even the death penalty is insufficient,

Darwinism has no bearing on legal matters. In fact the entirety of laws are opposed to darwinism

Plus we re probably the last generations that care for darwinism? It won't take long before it becomes normal to engineer your children.

<comment><USER4> >Darwinism has no bearing on legal matters.

While some laws are created to protect the weakest; a lot of inheritance, marriage and family laws follow their rationale directly from Darwinism.

<comment><USER5> Marriage and family laws predate Darwin and have nothing to do with "Darwinism". They are products of, in anything, human social psychology.

<comment><USER6> Marriage and family laws are based upon centuries-old cultural traditions that evolved and survived to the present day by virtue of promoting their own survival. That's Darwinism. The fact that they predate Darwin is as meaningless as the fact that Earth's orbit around the sun predates Copernicus.

</comment></comment></comment></comment></comment><comment><USER7> If the adult child finds out what happened, and the insemination doctor is still alive, is the child then entitled to a part of the doctor's (future) heritage?

Or if the child finds out when it is still small, or a teenager, will the child be entitled for child support payments from the doctor?

<comment><USER8> For the inheritance, not if there's a will.

But not all countries let you disinherit your children.

<comment><USER9> Here in The Netherlands it is possible, but only for 50%. So if you have 3 children, and you disinherit one (which is morally defend-able under certain circumstances) then that one gets (1/3) / 2 = 1/6 and the other two get 2/6 + 1/12 = 5/12 (or 4.5/6). In percentages that is 16,66666667% and 41,66666667%.

I find it a fair middle ground.

<comment><USER10> The only way to cut out little Johnny is to have a few dozen more kids, then!

<comment><USER8> Or die broke because you gave everything away before you bit the dust.

</comment></comment></comment></comment></comment><comment><USER11> Why is DNA testing not a mandatory part of the process? I thought embryonic genetic testing for show-stopping diseases was one of the major selling points of IVF. Would that not immediately set off alarm bells for paternity/maternity mismatch?

<comment><USER12> Not necessarily - you don't need parents DNA to do those tests.

Also DNA sequencing is one of those areas which experienced incredible cost reduction, much faster than for example general computing power under Moore's law. I.e. it used to be very very expensive. Heck, the first complete human genome sequencing was completed just 16 years ago, and the project took 13 years.

<comment><USER11> There was a story a few weeks ago of screwup in IVF involving not-father's sperm combined with mother's egg by accident. The resulting child is now unwanted by the couple.

Between that story and TFA, maybe it's time for regulators to step in and force DNA testing as early as possible in the process to positively confirm the match. It already costs an arm and a leg, what's another few hundred dollars to avoid creating black mirror situations.

</comment></comment></comment><comment><USER13> People at 23AndMe could run an anonymized query on their dataset to extract networks of lineages and see highly connected individuals. It would be fascinating to see some people with hundreds of offsprings because they are sperm donors.

What if their own children become sperm donors, etc. If two persons are born from sperm donors I imagine they have to check in case they are siblings or closely related.

<comment><USER14> > run an anonymized query ... see highly connected individuals

Doesn't sound very anonymized to me.

<comment><USER15> As the genetic sequencing graph grows, the odds of maintaining anonymity rapidly drops to zero. Poor choice of words on parent's part, but I think one can understand what they were trying to convey (datamining the genotype matrix).

Disclaimer: Interviewed at 23andme a decade ago. Good folks.

<comment><USER16> I think that commenter was thinking that 23andme would be able to identify many people as children of the same unknown person, but unless that person also submitted their DNA to the service, they would effectively be anonymous. An unknown parent of dozens or hundreds.

<comment><USER15> They'd only be anonymous if none of their family had used 23andme. CODIS already supports similar familial searches.

</comment></comment></comment></comment></comment><comment><USER17> Simple solution is to just work with a fertility doc who is female or a person of a different race than picked sperm. Will be obvious if child is mixed.

I am worried about future ethics of DNA sequencing. Esp if lab techs are corrupted. That will prob be the future - bastard children at scale.

<comment><USER18> > Will be obvious if child is mixed.

You have misidentified the problem.

</comment></comment><comment><USER19> Can't imagine what it's like to find this out as the offspring. On one hand it's a crazy violation of their very identity, on the other, they would not exist if not for that deception.

</comment><comment><USER20> I've posted several times about law lagging behind technology, and this is what I mean. If a new tech is in the horizon, you should already be able to realize what can be done with it, what damage it can cause.

I can't believe they call it sexual assault. It's as if it was beyond the realm of possibility to create new lexicon and they had to use only existing terms.

</comment><comment><USER21> I mean, that's a pretty damn effective way to ensure you reproduce on a grand scale, but I seriously question the impact it will have on the world. I'm already against sperm donation in general partly because of how much it can reduce genetic diversity, but I never factored this sort of rape-fraud (raud? fraupe?) thing into it

</comment><comment> lota-putty Women who received Doctor's sperm instead of

1\. Husband's sperm(low count)

2\. Healthy stranger's sperm (Stranger was chosen)

3\. Random donor's sperm

4\. ?

For 1 & 2 Doctor ought to be stripped from IVR practice, children should get 20y alimony.

Additionally, in case of 1 children should also get inheritance.

</comment><comment><USER3> The white lies we tell each other to make society work are coming out one at a time. That's why france disallows paternity tests. Then again is society ready to move beyond the nuclear family? i dont think so

<comment><USER22> Can you clarify your rationale about why France banned paternity tests?

<comment><USER23> France banned paternity tests for the sake of filation, i.e. to protect the rights of children and to promote stable families.

I differ with the previous poster in that I don't think that many men are unknowingly raising children that are not theirs. I've seen estimates that vary between .6% and 5%.

I do think that a man ought to have the right to know if he's the biological father and I think it's understandable if he wants to leave if he isn't. Yes, familial bonds are important but what kind of family do you have if the lies run that deep?

<comment><USER16> > I do think that a man ought to have the right to know if he's the biological > father and I think it's understandable if he wants to leave if he isn't.

Yes, but I've always assume reasonable people want to know this because it would prove infidelity by their spouse, not because they specifically care that their child shares their genes.

<comment><USER24> Many of us have no interest whatsoever in raising other people's children. Infidelity is a separate, though sometimes related, issue.

<comment><USER16> A child that you know doesn't possess your genes but you still accept, _is_ your child. Adoption doesn't count less. If you knew the child wasn't "yours" before the test, why would the test make a difference? If you didn't know the child wasn't yours before the test, surely the most significant part of the result for you is that there is some _reason_ that you didn't know before. That is, that you had been lied to, and were in the relationship and parenting the child under false pretenses.

I don't think that most people distinguish between a child from their own genes with an adopted child, unless there's some falsehood in play. At least I hope not.

<comment><USER24> You're putting the cart before the horse. The reason people care about the falsehood is because it results in a child which isn't the father's. The reason I decided to settle down with my wife was to have children. My children. I didn't get married to her so I could raise someone else's children. I am a biological being, whose existence is the result of 3 billion years of reproduction. I exist to perpetuate the genes which built me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> If it was about a couple going to a doctor and the doctor replacing the man's sperm with his own, I'd understand this, but if a woman goes to a doctor and asks for a sample from an anonymous donor with no further stipulations then I don't see why the donor shouldn't be the doctor. Of course, they should have been open about it, but still.

<comment><USER11> Anonymous yes, random no, at least not that I have ever heard of. You get a catalogue of various physical and socioeconomic traits from anonymous donors and pick the one that you want. Replacing that with any other is certainly fraud.

<comment><USER16> > You get a catalogue of various physical and socioeconomic traits from > anonymous donors and pick the one that you want. Replacing that with any > other is certainly fraud.

It's fraud, certainly, but the system you're describing (I'm not familiar with it) seems to be open to abuses that are almost as unethical. Surely genetic health is the only thing it really makes sense to take into account when choosing a donor. Some choices (race?) seem particularly icky.

<comment><USER25> You choose all of those things when choosing a partner for making a baby the old-fashioned way. Why is it Ok in that case but not this one?

<comment><USER16> Choosing your partner with the intent of having particular genes for your child (other than, as I said, general physical health) seems unethical to me too. People _do_ choose their partners on the basis of particular characteristics, but I would hope not for any reason so crass as manipulating the genes of their future children.</comment></comment></comment></comment></comment>


Ask HN: Good resources to master SEO - <AUTHOR>

Hi HN, I was wondering if you had any resources, tips and/ or suggestions regarding advanced SEO techniques (including link-building strategy).
Here are some of the resources I've already read or go to frequently (which I'd recommend to anyone interested in SEO):
- http://www.seomoz.org/learn-seo
- http://www.kalzumeus.com/2010/01/24/startup-seo/
- http://www.kalzumeus.com/2010/07/17/seo-for-software-companies/
- http://www.seomoz.org/blog
- http://www.seobook.com/blog
Looking forward to your suggestions! <comment><AUTHOR> clickable:

Here are some of the resources I've already read or go to frequently (which I'd recommend to anyone interested in SEO):

\- <http://www.seomoz.org/learn-seo>

\- <http://www.kalzumeus.com/2010/01/24/startup-seo/>

\- [http://www.kalzumeus.com/2010/07/17/seo-for-software- compani...](http://www.kalzumeus.com/2010/07/17/seo-for-software-companies/)

\- <http://www.seomoz.org/blog>

\- <http://www.seobook.com/blog></comment>


Expert predicts sex with robots for those under 35 - <AUTHOR> http://www.chron.com/disp/story.mpl/life/main/5414105.html <comment><USER2> Reading this article reminded me of "Thomas est amoureux" - <http://www.imdb.com/title/tt0262826>

Given that this guy is a chess expert, it's too bad the interviewer didn't follow the chess angle more and ask questions like "Who would you rather play with, a computer program or a person?"</comment>


CSS Tricks: Thinking Async - <AUTHOR> http://css-tricks.com/thinking-async/ <comment><USER2> The article has to do with loading javascript asynchronously and not CSS (title is misleading..).

Great article but it fails to mention something important. A lot of 3rd party scripts use document.write. What this means is that even if you try to load them up asynchronously you will fail because the browser will wipe out the DOM when it gets to those calls.

What you need in that case is a document.write override. I use writecapture (<http://github.com/iamnoah/writeCapture>) for all my async needs since it'll load up scripts asynchronously but will override any document.write calls in them to make the script truly async. This prevents the DOM from getting wiped out on an async load.

<comment><USER3> Just so you know, and easy mistake, but CSS-Tricks is the name of the website, not a reference to the language being used.

</comment></comment><comment><USER4> Don't include the name of the site in the title. Article has a lot of information on async javascript loading and nothing to do with CSS.

<comment><AUTHOR> My bad. Unfortunately I cannot edit the submission anymore. Or I don't see the edit button - which I don't think is the case.

</comment></comment><comment><USER5> >When you load JavaScript from a third party you should do it asynchronously.

When you load JavaScript from a third party, you shouldn't put it directly in your code! There exists a whole eco-system of providers that allow you to manage this now, called "Tag Management Systems"

I develop one of these (that is free to signup and use until you get to 1M PVs per month - opentag.qubitproducts.com).

OpenTag and most TMS-es have many advantages of putting specifc vendor code on your website.

* Only one line on each page - don't need to worry about bloating your home page. By doing this you get a nice separation of concerns between actual functional code and 3rd party code.

* Code can come from a tested library of vendor approved script templates - we have ovr 100 and are constantly growing.

* By using "universal variables" which telling the scripts specific values in a well-defined manner, you can easily configure scripts up. For example on a purchase confirmation page, you may have several scripts that fire off to remarketing, affilliate and analytics providers. By setting these variables up once, you can easily plug-in new variables when your marketing team requests it.

* You can tell scripts to only fire on certain scenarios - only on certain pages, or only when a visit came from a certain referrer or not when they come to a landing page with a specific utm parameter.

* Asyncs your document.write code at the click of a checkbox (or automatically if it is from the library)

<comment><USER6> Doesn't involving another third-party vendor add an additional point of failure to the system?

<comment><USER5> It is another point of failure. I'd hope that this point has a lower frequency of failure than otherwise.

Consider:

Adding one line of code to a page and then adding 5 scripts added from a vendor-approved and tested library.

Adding 5 snippets of code to your own site in various sections on various pages.

Because you would be putting some everywhere, some on specific pages and some only firing on special rules, you actually have a lot that you have to manage. You could just put this in your CMS or in some version control, but then they aren't all in one place anymore, but scattered all over your code. If you want to remove something, do you just remove it in one place or everywhere? If you need to make a change are you sure you have done it in all the right places? If you need to just pause something right away, how do you do that, without changing your live site?

All these things require changes which have a higher likelihood of failing, than doing it through a properly controlled automated system.

</comment></comment></comment><comment><USER7> 2 minor notes:

1\. This article offhandedly claims that document.write injection is async; it's been widely written otherwise; I'm curious as to what the evidence is.

2\. In the Cleaning House section, the Google Analytics code can be loaded without the ternary statement, and just use the protocol neutral code that's already being used there for Facebook and Twitter.

        add('//www.google-analytics.com/ga.js', 'ga');

<comment><USER8> The reason for #2 is that the domain name changes to ssl.google-analytics.com for the https version.

<comment><USER9> I've spoken with the GA team a few times about this. While the protocol- relative URL _works_ , it will throw an error in IE6 sometimes. Now you probably don't care about IE6 now. Good! But the GA team is not promising the naked URL will always work over SSL, so best to use the ternary with the subdomain.

</comment></comment></comment><comment><USER10> Please change the title. I thought this was about loading CSS asynchronously. Turns out it's just the name of the web page.

<comment><AUTHOR> I'm trying to do that, but I cannot find the edit button for it :|, I think that is not editable anymore.

</comment></comment><comment><USER11> Except css and fonts are already non-blocking in modern browsers?

The problem is fonts aren't loaded until the renderer sees the need for them. This is especially annoying in Firefox. I was thinking of trying to force the renderer to load the fonts earlier in the <head> area on some invisible elements but it may be too smart and know they are invisible. But maybe the body itself can be temporarily assigned the webfonts.

<comment><USER12> You are pessimistic! I would love to meet the person who declined to implement advance font fetching and then chose to implement an optimization to refuse to load a font explicitly requested and used.</comment></comment>


Health Implications of Reconnecting the Human Body to Earth's Surface Electrons - <AUTHOR> https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3265077/ <comment><USER2> Pay attention to author affiliations, and note same authors on related papers. Not saying that's necessarily problematic; just a caution.</comment>


Handling 350k Requests for $3 using Lambda - <AUTHOR> https://levelup.gitconnected.com/handling-350k-requests-for-3-using-lambda-c258ace3da58 <comment><USER2> This isn't actually one of those solutions where Lambda shines, pricing wise.

I would simply trigger a Lambda function once a minute (or every X minutes) using CloudWatch to fetch the latest articles and save them to an S3 bucket which I would expose and cache using CloudFront or any other CDN service.

This would lead to:

\- No Lambda costs as it would be covered by the monthly free tier of 1M requests.

\- No storage costs as the size of the stored data would be extremely small.

\- Really fast responses as the "response" would actually be a static file cached at the CDN.

\- The only parameter defining your cost would be your CDN of choice, which would cost somewhere between free and as low as $10/TB. For a project like the one in the article, that's hundreds of millions of requests for just $10.

<comment><USER3> > No Lambda costs as it would be covered by the monthly free tier of 1M > requests.

That's far from the full picture. AWS Lambdas are charged by units of computational resources that are expressed as multiples of 64MB of RAM used per 100ms, each rounded up to the next value and with a minimum charge of 128MB of RAM used. So you are only charged a fixed fee per request if all your requests are short-lived and barely use any computational resources. Long- lived processing tasks that require a bit of RAM are charged multiple times the value of a single request.

<comment><USER2> You're right, I should have mentioned that as well.

I didn't go into those details because I was strictly talking about the project in the article and the compute time limit would not be exceeded for this project either.

400,000 GB-s is free every month, and even if the Lambda function ran for 2,592,000 seconds (equals to a month, way more than enough) using 128 MB of RAM (again, more than enough for a task like this), it would only use 324,000 GB-seconds.

</comment></comment></comment><comment><USER4> It's like 0.13qps on average. Assuming a constant load and no spikes, a raspberry pi should also be able to handle this load, it would be nice to compare the performance

<comment><USER5> My Raspiberry PI model 3 would do roughly[1] ~250 req/s with an Elixir server I wrote. 350k @ $3 requests seems kind of expensive to me to be honest.

<comment><USER6> Is your pi at an AWS data center? How much to co-host it at an AWS-grade data center?

Sure a self-hosted pi is cheaper, but that's an apples vs oranges comparison.

<comment><USER5> The question wasn't about a PI in a data center was it? It was about how does this compare to a raspberry pi.

I'd even question whether or not the application needs to be in an "AWS-grade datacenter" since it does 1 query every 10 seconds but sure...

I'd be more than willing to bet hertzner's cheapest VPS (~$3.25?) would do over a million[1] requests per month pretty easily and they're inside a data center which is a pretty apples to apples comparison.

My point is that the cost per request is high, regardless of data center or not. That's a lot of money for such a low volume of requests.

[1] Which is still only a request like every 2 seconds.

<comment><USER7> I don't understand why you're getting downvoted. If you're serving simple content, the bottleneck is going to be the network card or disk, every time. In this case, you have static content: a well-written web server (not nginx, but mongoose or similar) can easily handle enough requests to saturate a gigabit uplink on a first gen Raspberry Pi.

Not that it has a gigabit uplink. But handling 100k req/s is trivial for a well-written server.

</comment></comment></comment></comment></comment><comment><USER8> Seems like a better argument for not using FaaS after reading it all.

It's also filled with "once you've done X Y is simple!" like:

> Once you have the template ready, you can simply deploy your code by > running: serverless deploy

which is true for all automatable tasks. The same can be said for any VM or shared hosting.

<comment><USER9> That completely misses the point of FaaS.

Devs don't want to manage VMs. Patching, gold loads, SSH configs, k8s, so on. You write code, you deploy, and you pay only when the function executes. It scales as much as you want it to, as much as it needs to, and quicker even than EC2.

There are very clear benefits to FaaS. It is certainly not for everyone, esp. if you already have a well functioning deployment pipeline.

<comment><USER10> > Devs don't want to manage VMs. Patching, gold loads, SSH configs, k8s, so on

Which devs?

I'm a developer and I enjoy most of these things. Working with k8s is a pleasure, managing VMs can be quite simple (and more often than not, is). I don't do much patching, but I "SSH" into our k8s pods quite frequently. I've never thought, gee I wish I had a lambda to simplify this. I know I _also_ don't represent all devs, but I'm never seen this comment made outside of it being an argument supporting FAAS.

<comment><USER11> K8s can be great but at a largish retailer (billions in yearly revenue) it took a team of engineers on the better end of the company's talent pool to manage the clusters. Those salaries can buy a lot of serverless service usage and according to uptime metrics better reliability. On top of it the teams adopting serverless generally had higher velocity. At scale there were a few use cases that needed to economize but... Largely not.

</comment></comment></comment></comment><comment><USER12> 3$ for 350k request is VERY expensive

<comment><USER13> Couple points here in this specific case

1) Lambda costs were shown as actually 50 cents for all this. 2) API Gateway was the balance of the cost, and actually isn't needed in this customer's use case. Lambdas can be placed behind application load balancers which are significantly less expensive.

Author also mentions other downsides such as "vendor lock-in," however his lambdas were written in NodeJs and it would be trivial to move his code to some other NodeJs delivery mechanism such as Fargate or ECS cluster.

The benefit here is his deployment with the ServerLess framework got him his MVP very quickly on a very scalable environment with minimal management.

<comment><USER14> API Gateway is the definite gotcha with serverless architectures. Whenever someone tells me how cheaper serverless is, I figure they haven't actually dived in to see how many AWS resources besides Lambda are required for a production deployment.

It is convenient in several use cases, but for an endpoint or even an entire API that is going to receive a lot of load, managing servers is the more economical approach.

If you need to get a one-off endpoint built that won't receive any significant amount of load, I think a serverless solution is great. But I wouldn't use it as my primary API architecture. Like most things in tech, there's no silver bullet. Context matters, and the best approach depends on many factors.

I still recall this article by the creator of ipify on how he's able to receive upwards of 30 billion requests per month on Heroku for a fraction of the cost of API gateway: [https://blog.heroku.com/scaling-ipify-to-30-billion- and-beyo...](https://blog.heroku.com/scaling-ipify-to-30-billion-and-beyond)

<comment><USER13> I run 8 different production API endpoints, all on Lambda, directly through Application Load Balancer instead of API Gateway, and they served 510 million requests last month for about $200.

Those API endpoints took me about a day to deploy using serverless deployment tools. They economically scale between extremely varied workload requirements. There are no complaints on my end.

<comment><USER3> > and they served 510 million requests last month for about $200.

In EC2, which is not cheap at all, that's between the monthly cost of one m2.2xlarge and m3.2xlarge instance, or two m2.xlarge instances, or 3 t3.large, or 7 t3.medium.

In other words, you can operae a small cluster on AWS for that price tag.

</comment></comment></comment></comment></comment><comment><USER15> Based on my experience here, figuring out how to run your service very cheaply is quite simple:

1\. Set up a somewhat convoluted, definitely not efficient, but kind-of cheap setup

2\. Write a blog post bragging about it

3\. Submit on HN

4\. Take notes as HN users inevitably tell you how to run your setup for much cheaper, while even providing double-checked rate estimates (you wouldn't want someone commenting that your estimates were wrong, would you?)

<comment><USER16> It's just a specific implementation of [https://meta.m.wikimedia.org/wiki/Cunningham%27s_Law](https://meta.m.wikimedia.org/wiki/Cunningham%27s_Law)

</comment></comment><comment><USER17> (This comment is unrelated to the use of lambda, and more of a note to the author)

The author comments that they prefer the light mode to their own dark mode. I think that the dark mode would benefit greatly from being designed (color wise) bottom-up as a dark mode, versus just trying to toggle certain things to be darker.

The big tell is that the lines separating each row of content appear to be the same color in both areas. This tells me that the color of the line is not determined based on the color behind it (either via transparency, via color manipulation manually, or via dynamic color manipulation from a tool like sass (ie, opacity(), darken(), etc...)

I do agree w/ the author that light mode looks better. I also tend to prefer dark mode UIs. I think that by mindfully revisiting color a lot of the visual noise will go away and result in a more pleasant experience.

tl;dr dark mode is not just inverting certain light colors to dark, it should be done with more care.

</comment><comment><USER18> I have a silent low-power ex-thin-client box sitting in my living room that is used to perform batch jobs. It's been running for about 2.5 years, cost about $26 to buy the hardware second hand, and maybe costs around $20 / yr in electricity. Internet is $0 as I'd pay for that anyway and it doesn't need much bandwidth. It executes about 85,000 batch jobs every fortnight, so call that about 5.5 million jobs total. So that's about 72k jobs to the dollar. Handwaving 1 request as being comparable work to 1 batch job, the lambda setup described here is doing about 117k requests to the dollar. I'm massively over- spending!

The box is currently using about 10% cpu (postgres processes) and has 2 gb of memory available. I guess I over-provisioned and should go looking for some customers to onboard onto my "cloud" to get better utilisation and help amortise my operating costs.

</comment><comment><USER19> Cloudflare is $0.50 per million.

<comment><USER20> $5 minimum though with 128MB RAM and upto 10m reads and 1m writes to their globally distributed KV store, plus free bandwidth and upto 50ms of CPU time (not wall-time). Also, something like API Gateway for routing requests isn't necessary with Cloudflare but options like RateLimiting and Firewall incur additional charges (which, imo, are quite expensive but might be necessary if one hits a certain scale, at which point, one might run their own cluster, instead: It isn't as difficult anymore to setup servers worldwide behind anycast).

</comment></comment><comment><USER21> IMHO this is poorly researched article. Couple of things mentioned as disadvantages of serverless are already solved in the market. 1\. You can use serverless framework or other framework available in market instead of doing everything in GUI 2\. Its easy in most cases to invoke locally by using serverless invoke local --function functionName.You don't have to redeploy. 3\. For monitoring you can create different Dashboards on AWS. Also a great solution is integration to Datadog or you can create alerts for specific number of errors or number of invocations and forward it to specific email address.

</comment><comment><USER22> I dream, that, maybe, sites which have something like "news feed" could export content not only in human-readable HTML/CSS/JS but, maybe, some machine- readable format too?

And such plugins, software products and extensions, as Devo will consume this unambiguous and common format, and will not need custom APIs, APIs keys, backends, HTML scraping & parsing and all custom work for each site they support, but one common way for all sites?

Is it possible on our technological level, or it is wild dream?

OH, WAIT! RSS!

</comment><comment><USER23> If the author is already making an extension, could they have the extension set the security policy for these sites and simply display them in iframes? No cost at all.

<comment><USER24> They're not actually displaying the websites; they're pulling the top stories via each site's API and rendering them locally.

</comment></comment><comment><USER25> I could tell you how I have handled millions of requests on a free AWS tier ubuntu system, but its not interesting enough. Just like this...

</comment><comment><USER26> That's just 8 requests per minute. Can do that easily on a $2.50 vultr VPS. Beat that :D

<comment><USER22> What you will do, if you are on vacations (or it is your sleep time, whatever time you prefer to sleep) and there are 100-fold increase in requests die to some reasons?

There are three ways:

(1) You use $2.50 VPS (or Raspbery Pi on your home link, it, really, will be enough for 8 rpm too) and you are Ok that everything collapses and your product/service will be unavailable for long (by current Internet standards) time: from several hours to several days.

(2) You use $40-$100 VPS or dedicated server and pay every month for 8 rpm :-)

(3) You sue something serverless and pay much more than $2.50 only for this surge.

Each way have its own upsides and downsides, and it is impossible to say which is better based only on «8 rpm» information without whole context.

</comment></comment><comment><USER27> Can the extension not make the http requests to get this info? Am I missing the need for a backend for this type of work?

<comment><USER28> As mentioned in the article, some of the data sources use API keys which the author didn't want to make available to end users.

</comment></comment><comment><USER29> Title needs a rate ... 350k requests/month.

Ok: the rest of the article was great. Thanks

</comment><comment><USER30> Friend link (no paywall): [https://levelup.gitconnected.com/handling-350k-requests- for-...](https://levelup.gitconnected.com/handling-350k-requests-for-3-using- lambda-c258ace3da58?source=friends_link&sk=2e3ce7eeb3e83ccad61b9dc2547aec1e)

<comment><USER20> archive: [https://web.archive.org/web/20200228185628/https://levelup.g...](https://web.archive.org/web/20200228185628/https://levelup.gitconnected.com/handling-350k-requests- for-3-using- lambda-c258ace3da58?source=friends_link&sk=2e3ce7eeb3e83ccad61b9dc2547aec1e&&gi=efd7fec1574d)

</comment></comment><comment><USER31> Is there anyone but me who uses the premium article on medium.com as a filter for what is NOT worth my time?

I believe in the tech space the majority of readers who write in depth worth to read articles are not incentivised by a few dollars kickback from their hard work from medium.com. They often write it for personal profile enhancement or company blog marketing reasons and want to reach maximum audience and will keep it free for all.

The problem nowadays though is that medium.com is often able to trick them by making the article premium through deceptive ui even when that is not their intention. Just look at the googlecloud medium blog and you constantly see premium articles there which seems bizarre.

<comment><USER32> I use medium.com as a filter in general.

<comment><USER33> I use HTTP

</comment></comment></comment><comment><USER34> Huh, 350K for $3 is good?

I'm handling Millions for $0 :/ with my [https://github.com/amark/gun](https://github.com/amark/gun) .

<comment><USER35> Does that mean you don't run any peer servers yourself? Is that recommended?

<comment><USER34> Not any that I have to pay for yet! :)</comment></comment></comment>


Is the World Ready for the Waterless Urinal? - <AUTHOR> http://www.wired.com/magazine/2010/06/ff_waterless_urinal/all/1

<comment><USER2> I think it is with all the resources we blow so carelessly; plus they have been around for the past 20 years. The guy listed is not the inventor and it would be greta if journalists would do their homework-rewriting history is too easily done.</comment>


10 fresh examples of diffuse shadow UIs - <AUTHOR> http://designhooks.com/10-fresh-examples-diffuse-shadow-uis/ <comment><USER2> Beautiful stuff, thanks for sharing.</comment>


The Wrong Stuff: NASA Astronaut on Making and Fixing Mistakes - <AUTHOR> http://www.slate.com/blogs/blogs/thewrongstuff/archive/2010/06/28/risky-business-james-bagian-nasa-astronaut-turned-patient-safety-expert-on-being-wrong.aspx

<comment><USER3> I never knew the Challenger disaster crew survived the explosion. It's a pretty damning indictment of institutional politics that steps couldn't be taken for similar situations to be non-fatal.

<comment><USER4> I used to be a mechanical engineer for several space shuttle missions. You're missing a critical element. Human space flight is _insanely_ dangerous with today's technology. Astronauts accept this and NASA's engineers accept this. The safety requirements for a shuttle launch are voluminous and arcane - <USER2> the point where they restrict the freedom of engineers to solve problems to a significant degree. Most people don't know that spaceflight technology has barely improved since the 60's. The primary reason is safety.

That a shuttle (and it's crew) blows up is regrettable, but when you strap a cargo truck to a giant tank of hydrogen and light it on fire, someone is going to die from time to time. It's not like they don't know what they're getting into.

Figuring out how to keep the crew alive after the shuttle's main tank explodes is just a bad idea. Wouldn't it make more sense to figure out a way to keep the rockets from coming apart in the first place? How many additional failure points would you introduce by creating a failsafe for that unlikely case (of which there are thousands if not millions).

Of course we should learn from failures, but the surest way to kill the space program is force it to be safer. If anything, they need to inject more risk into space flight so that better technologies can gain the ever-elusive "flight heritage". Trust me, astronauts would still line up for a chance to fly even if you doubled the risk of death.

<comment><USER5> > I used to be a mechanical engineer for several space shuttle missions.

I voted you up for this sentence alone. It makes anything else that follows that you say inherently more valuable to the discussion. thanks for contributing.

<comment><USER4> I would hope my comments stood on their own, but sometimes it's necessary to shed some light on the bias inherent in one's comments... I can't pretend to be an objective observer on this one.

</comment></comment></comment></comment><comment><USER6> This dovetails nicely with Atul Gawande's book "The Checklist Manifesto". Certainly we can't completely automate medical diagnosis and treatment, but we could go a lot further than we have thus far.

<comment><USER7> I thought one of the best quotes from the interview was _Telling people to be careful is not effective. Humans are not reliable that way. ... You need a solution that's not about making people perfect._

</comment></comment><comment><USER8> In related space matters: the ISS has a webcam!

Last week I saw a hurricane from space. Yesterday, they were struggling to get Win2000 to connect to a LAN.

<http://www.nasa.gov/multimedia/isslivestream.asx>

<comment><USER9> Wait, what is that a webcam of? I see a computer monitor, nothing spacey at all, and hearing Russian radio chatter.

<comment><USER8> Ah, yeah, right now it's switched to a map showing the position. Sadface. But the last few days it's been showing an interior view, and before that mainly exterior shots. You get a mission overlay a fair bit, too, which is a shame - I assume this is when video signal is lost.

The Russian radio chatter is ground talking to astronauts in Russian. There's also English radio chatter, too.

</comment></comment></comment><comment><USER10> I've read an article on the very same subject a couple of years ago. It started with the maiden flight (and crash) of the B-17, and how it then became the first plane with a check-list. What was it? Wired? The Atlantic?

<comment><AUTHOR> BusinessWeek: [http://www.businessweek.com/magazine/content/10_08/b41670780...](http://www.businessweek.com/magazine/content/10_08/b4167078066671.htm)

More about the B-17 history: How the Pilot's Checklist Came About: <http://www.atchistory.org/History/checklst.htm>

</comment></comment><comment><USER11> This is all applicable to our industry as well.

I've tried to foster a culture on my team, where nobody's in trouble when we find a bug. The only think I want to hear about is (a) how do we fix it, and (b) how do we prevent it next time.

The only thing that's going to be trouble is trying to hide a bug.

</comment><comment><USER12> The title must be an acknowledgement of the oft-mentioned "They Write the Right Stuff": <http://www.fastcompany.com/magazine/06/writestuff.html>

<comment><USER13> Actually, they both reference the 1979 Tom Wolfe book:

<http://en.wikipedia.org/wiki/The_Right_Stuff_%28book%29></comment></comment>


Haptik's Analytics Dashboard for Chatbots - <AUTHOR> https://haptik.ai/tech/analytics-dashboard-chatbots/ <comment><AUTHOR> At Haptik, we build new chatbots on a daily basis. These chatbots generate data, lots of it. Data including, but not limited to, what messages were exchanged, what data elements were used by the bot to respond appropriately and what problems were detected along the way. This amounts to huge volumes of data generated daily. Clearly, there is a need to interpret that data into meaningful, insightful analytics</comment>


Amazon to block Australian shoppers from its US website - <AUTHOR> http://mobile.abc.net.au/news/2018-05-31/amazon-to-block-us-site-in-australia/9820224 <comment><USER2> They have been increasingly blocking purchase of digital content (Kindle books, Audible etc) based on geographic region anyway to the point that the advantage of being an international/.com customer was getting smaller.

It annoys the crap out of me that content can be available in one region and not another, I want to consume it and happy to pay for it.

</comment><comment><USER3> This sounds like a publicity stunt. I mean, really, how hard is

        if (shipping_address[end-9:end] == "Australia")
        then
            pay_gst()
        else
            evade_sales_tax()
        end

<comment><USER4> They provided direct access to australians while destroying the local bookseller industry. Now they don't have to compete I think you'll find it is:

        if (shipping_address[end-9:end] == "Australia")
        then
            charge_australia_tax()
        end

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

</comment></comment><comment><USER5> Use a remailing service like shipitto to get around it.

If they start rejecting aus credit cards, get use a pre paid visa card. Use a VPN if they geoblock the website.

<comment><USER6> thats way too much effort just to buy in amazon

</comment></comment><comment><USER7> The funny thing is that Amazon does the opposite for its sellers. The will offer different terms for different areas, the just order from the area with the terms that are most in their favor.</comment>


Morocco's Extraordinary Donkeys - <AUTHOR> http://www.smithsonianmag.com/travel/Where-Donkeys-Deliver-Morocco.html

<comment><USER2> if i wanted crap like this i would go to reddit</comment>


Forget the bailout, start over: the New American Bank Initiative - <AUTHOR> http://radar.oreilly.com/2008/11/new-american-bank-initiative-r.html <comment><USER2> Maybe we should take the "states as laboratories for democracy" concept to an extreme. Designate some state--I offer you my home state of West Virginia--and isolate it from the current system. Then try the craziest stuff we can think of and see what works. People are pretty risk-averse when it comes to things this big, so if we lower the ante (WV is pretty low, love it though I do) maybe the other 49 states will agree to go along ;-)

<comment><USER3> Traditionally, California's been used as the test state: <http://www.google.com/search?q=%22as+california+goes%22>

</comment></comment><comment><USER4> So the process is something like this:

The government encourages banks to engage in risky lending.

Banks, with government support, make unusually risky loans and get into a bunch of trouble when the loans start going bad. This causes the banks to begin failing.

The government takes 700 billion dollars to fix the problem that they contributed to creating.

It is quickly discovered that the government is not spending the money effectively and banks aren't doing what the government intended them to do with it

Now... these Harvard grads suggest that rather than giving the money back to the American people to start over where the government went wrong in the first place, we instead entrust the government to create federal banks and hope they don't screw it up again. Sounds like a great plan. Really.

Sources on the govt's role in it all: [http://en.wikipedia.org/wiki/Government_policies_and_the_sub...](http://en.wikipedia.org/wiki/Government_policies_and_the_subprime_mortgage_crisis)

</comment><comment><USER5> As long as lobbyists exist, this won't happen.

<comment><USER6> You are right. After reading the title for this post, it occurred to me that we are at a pinnacle moment in US history. We suffer from slow innovation, excessive consumerism and financial greed, but any attempt to change these problems is quickly shot down because nobody wants to risk damaging the economy. But now, with a failing economy that fear, at least in political terms is gone. If our new President really wants to represent change then leading congress against the lobby must be the first place to start.</comment></comment>


Ask PG: HackerNews on Twitter - <AUTHOR>

I have been following @HackerNews on twitter and wanted to ask a question and request for a feature.
Question: I have noticed that not all the top stories are posted on twitter. What is the criterion for a post to make it to twitter feed?
Request: When a story is posted on twitter the link to the website is posted but not the comments link of HN. Since the title of HN posts are not long, can the comments link be also posted along with the original link? It will be extremely useful for users who use a twitter iPhone app to browse HN posts. <comment><USER2> I don't think its PG's account. Probably just the RSS feed tied to a bot.</comment>


Tell HN: My first hand experience with Healthcare.gov (a.k.a Obamacare) - <AUTHOR>

I am a consultant/self employed. I have been on a COBRA plan for the last few months (my wife's ex employer). For a family of 3, we are paying $2100+ for a decent health insurance (vision included but no dental).
I looked at healthecare.gov just to get an idea. Got a plan that has cheaper premium than COBRA even though the benefits are not exactly the same. So I decide to "submit an application".
The worst decision ever. Guess what, if you don't get the subsidy because "you are too rich according to the govt", you are better off buying it directly from the insurance company. They offer same plan/same price but no middleman.
Anyway, too late for me since I have already submitted the application via Marketplace. So now I wait for a couple of days before calling Insurance company to confirm.
For background, I submitted this application on March 11th,2014 which means that my coverage should be active April 1st,2014 (according to healthcare.gov rules [0]). But guess what, the insurance company tells me that my coverage has been activated effective Feb 14,2014. So now I owe them for Feb and March while I am double paying COBRA premium as well.
Big software glitch on their part OR a badly designed logic of some sort.
Fellow HN'ers, if you are not qualifying for the subsidy (most of us don't anyway), please refrain from using healthcare.gov and go directly to the insurance company. There is no law that you have to buy using the exchange. I didn't know that and was too stupid. Now I am paying the price.
So I have been on the phone with healthcare.gov for 45 mins and they are trying to "correct" it using their IT systems. God knows whats next. I wanted to share this not just to rant but to warn anyone in my situation.
[0]: https://www.healthcare.gov/what-key-dates-do-i-need-to-know/#part=2 <comment><USER2> Our experience is significantly different than yours.

My wife and I are on a Gold ACA plan through WA healthcare.gov. Without subsidy, our premiums are about 60% of what COBRA premium were going to be for similar plan. Outside the healthcare.gov, insurance companies quoted premiums that were 50-100% more than COBRA premium for similar coverage.

We couldn't afford health insurance premiums from COBRA or open market if it wasn't for ACA.

BTW, subsidy is based on your income and not on your net worth (richness level).

<comment><USER3> I had a similar experience. ACA Gold Coverage through Healthcare.gov was 50% the cost of hopping on my wife's existing company health plan, 30% cheaper than COBRA, and 80% cheaper than outside quotes. I was actually shocked at how affordable it was.

</comment></comment><comment><USER4> Thanks for the writeup. I'm in Texas, and we are not allowed any subsidy no matter the income bracket. My experience was that I received a better priced plan off market from an aggressive insurance planner than on market. Specifically about $80/mo less for slightly higher benefits. Young, single men can get the best rates off market. Older individuals may get a better rate on market.

</comment><comment><USER5> What happens if your past year's income doesn't qualify for the subsidy but the present year looks like it might? Can you submit for a subsidy at the end of this year and get reimbursed?

<comment><USER6> You will get any subsidy owed to you during your tax returns if you didn't already collect it. If you know your income will be lower you can write a letter stating your expected income and get the subsidy applied every month (at least in my state). In this case, during tax returns, you'd have to pay back any subsidy amount which you didn't deserve.</comment></comment>


Formula suggests how many relationships are needed before ideal partner - <AUTHOR> https://www.wsj.com/articles/in-love-probability-calculus-suggests-only-fools-rush-in-1486722600 <comment><USER2> Flagged because of paywall.

<comment><USER3> You should use "web" link under the article. The traffic coming from the search is not pay-walled.

<comment><USER2> Really? It didn't work for me, even switched to a different browser and to private mode. The flag stays.

<comment><USER4> I understand that the WSJ links have been increasingly problematic. Using the "web" link has been hit-or-miss for me as well, and as others have noted, it sounds like WSJ is going to close this workaround entirely.

That said, in the future, it would be useful to include a note that you tried the "web" link in your initial comment. Often "paywalled" comments are due to people not being aware of a workaround. It's useful to readers and those trying to help that you've tried the workaround and that it's failed. Thanks!

<comment><USER2> Okay, I will take this in consideration. Thanks!</comment></comment></comment></comment></comment>


The Windows 95 User Interface: A Case Study in Usability Engineering (1996) - <AUTHOR> http://www.sigchi.org/chi96/proceedings/desbrief/Sullivan/kds_txt.htm <comment><USER2> Very interesting. Seeing this I can't help but feel how much more tangible and solid the old Windows interface was looking. I miss buttons that look like buttons and Window edges that are so hard-lined they're easy to grab and visually separate from underlying windows.

<comment><USER3> Yes! The current flat design trend makes it difficult to distinguish clickable from non-clickable elements due to the fact that they are all flat. Android "Material Design" is even worse because of the dreadful pastel color scheme which makes things even worse.

<comment><USER4> That's interesting you find Material Design to be a further regression compared to flat design. Material Design's primary goal is re-establishing depth and dimension to interfaces with implied shadows and volumes across multiple depth planes, a move designed to reclaim what flat design has taken away.

<comment><USER5> It still looks like someone mounted binoculars on my eyes (everything's huge and zoomed in).

</comment></comment></comment></comment><comment><USER6> Seeing the windows 3.1 filesystem reminds me every time of the "Load DB from Backup" in SQL Management Studio. Even 2008r2 had the same restricted win 3.1 equivalent dialog.

It's amazing how such a dialog held out for so long resisting a change to a modern modern file selector.

Which brings me to windows 10, which has different dialogs for the same dialogs depending how you launch them. There are two different "Display Settings" dialogs depending on if you get there via the "control panel" desktop app or "Settings".

At least windows 95 was reasonably consistent, even if it feels restrictive after using windows XP and then windows 7 especially.

<comment><USER7> I don't think that "held out" is what happened with these dialogs. I think it's more like "don't fix what isn't broken" or "we forgot about that".

<comment><USER8> Very true. For the longest time, the dialog box to install new fonts on Windows was a hold-over from Win 3.1.

<comment><USER7> I never knew there was such a thing. I've always dragged fonts into the Fonts "folder" in the Control Panel.

</comment></comment></comment></comment><comment><USER9> I still maintain that Windows 95 was the pinnacle of desktop UX. Nobody else, before, since, or at the same time, has released anything better.

Every Windows version since has been incrementally worse. Hell, Microsoft started ruining it with Windows 98, by merging Windows Explorer and IE into something really terrible. I still miss Windows 95 Explorer. And then there was Microsoft's obsession with trying to turn the desktop into a web page... they ruined a lot of things, like the Find utility, and several Control Panel applets with that.

<comment><USER10> Been a very, very long time since I had this argument, but I do think System 7 was better. Absolutely not technically, but definitely in terms of a coherent and consistent desktop metaphor, especially across shell and apps.

W95 broke its own metaphors all the time (hell, it supported both MDI and SDI!) and wasn't consistent. Sure, you can drag and drop this document icon to this window, but try to drag a document icon on top of a window minimized to taskbar and you get a popup that tells you "we know what you want to do and why, but we're not going to let you. Do something else", which is a cardinal UX sin.

Even the look, which I really liked at the time, is a shameless lift of NextSTEP (another competitor for "pinnacle of desktop UX") with other bits pinched from OS/2.

<comment><USER9> What made me pick Win95 over System 7 is that Win95 absolutely nailed window management, while System 7's lack of good window management drove me up the wall.

The taskbar, and more importantly the ability to minimize windows to the taskbar, was a godsend. WindowShade didn't compare (and it didn't come with the OS until 7.5), and the oddball options in System 7's multitasking menu were frustrating to deal with. System 7 was a singletasking OS hacked to support multitasking, and it really shows.

About the only thing System 7 did better than Win95 with regards to window management was that they made sure to put the close box on the opposite side of the titlebar from the zoom box and the shade box, to prevent a misclick from closing your window (I've since incorporated this into my KDE configuration).

Oddly enough, it's the technical aspects of the classic Mac OS that fascinate the hell out of me. The whole OS was made of clever hacks. Resource forks were a stroke of genius, and I wish modern OSes had them. I spent so much time hacking around with ResEdit on my Mac as a kid, and later on I learned to appreciate the subtler things about resource forks. Like how the System 7.1 (and above) Finder lets you drag and drop FONT resources between files as if they were folders (they called this a "suitcase" instead of a "folder", but the UI was identical). And then there was the brilliant -- and rather scary -- hackery of how desk accessories were implemented (something that became unnecessary with System 7, but Apple still had the sense to hack the System 7 Finder to treat DA suitcases as programs, which itself was pretty clever).

Or, for that matter, System 7's extensions were the single most flexible method of modifying the behavior of the OS I've ever seen. Mind you, it wasn't exactly stable (untangling extension conflicts was a nightmare, even after 7.5 added a utility to help with it), and it was certainly insecure, but I really miss that flexibility and hackability in modern OSes. The only thing I've seen that comes close is Android's Xposed Framework.

Honestly, if there was one thing I missed about the '90s, it was the UX design across the board. Just thinking that Windows 95, System 7, and NeXTStep were all competing with each other at the same time makes me realized how blessed that period of time was, and how things have really gone downhill since.

<comment><USER10> You're right that W95 offered a better window management paradigm, but for me that was also hobbled by the inconsistencies: MDI apps handled windows differently from SDI apps, for instance, and you couldn't be certain what was minimized where. The Mac did have fewer features, but they all worked in a totally consistent and coherent way.

(You're also right about the technical aspects — Mac OS was a talking dog that also said very interesting things. Don't forget how you could install Control Panels and Extensions in the right places just by dropping them on the System Folder, or how you could make a disk bootable with just two files).

I too am pretty disappointed with the state of competition in UX right now. Man, at one point we had Amiga Intuition, SGI's Irix, OS/2, Sun NeWS, NextSTEP, Mac OS, W95 and NT all contributing pretty smart ideas to the desktop UI, and it was a genuinely exciting time. Android vs iOS is miserably dull in comparison.

</comment></comment></comment></comment><comment><USER11> From the article:

> We also collected data from product support about users' top twenty problems > with Windows 3.1.

As someone with a long term interest in Shell design, I'd love to know what these were ?

</comment><comment><USER12> One thing I'd like to see explained is the location of "Programs" at the top of the Start menu, rather than right at the bottom where it would be closer and less mouse movement. I do think the Start menu is a much better location for the program list than their earlier idea, a Programs folder on the "Desktop," and better still than the Windows 3.0 Program Manager. But I wonder what the thinking behind making the user mouse up past Run, Find, and Settings to get to Programs, when their research indicates that "opening a program" was the primary objective of a user. I know it's an old joke that "you have to click Start to Shut Down," but it does seem far from the way the Apple menu worked at the time for effectively the same thing.

[http://www.sigchi.org/chi96/proceedings/desbrief/Sullivan/kd...](http://www.sigchi.org/chi96/proceedings/desbrief/Sullivan/kds_fg05.gif)

"Launching Programs: Start Menu. Although we abandoned the idea of a separate shell for beginners, we salvaged its most useful features: single-click access, high visibility, and menu-based interaction. We mocked up a number of representations in Visual Basic and tested them with users of all experience levels, not just beginners, because we knew that the design solution would need to work well for users of varying experience levels. Figure 5 shows the final Start Menu, with the Programs sub-menu open. The final Start Menu integrated functions other than starting programs, to give users a single- button home base in the UI."

<comment><USER13> Am I the only one who misses the Program Manager? I've never found a reimplementation of the idea in any OS I've used since 3.1.

<comment><USER14> Windows 95 actually still included the program manager and you could have used it as your shell, if you really wanted: [http://toastytech.com/guis/win95progman.png](http://toastytech.com/guis/win95progman.png)

<comment><USER9> Well, _that_ link inspired me to go through that website and start browsing the Sick Windows Tricks section again... I'd forgotten about some of those.

Links if anyone's interested:

[http://toastytech.com/guis/misc.html](http://toastytech.com/guis/misc.html)

[http://toastytech.com/guis/miscb.html](http://toastytech.com/guis/miscb.html)

[http://toastytech.com/guis/miscc.html](http://toastytech.com/guis/miscc.html)

[http://toastytech.com/guis/win1x2x.html](http://toastytech.com/guis/win1x2x.html)

[http://toastytech.com/guis/misce.html](http://toastytech.com/guis/misce.html)

</comment></comment></comment></comment><comment><USER15> This is quite fascinating. All these practices are touted as modern design techniques, however they were being done over 20 years ago.

<comment><USER16> We're in an industry where absolutely nobody learns anything from the past.

People going to school to learn software development don't spend a week on DOS, a week on Novell 4, then a week on Macintosh 6.0.8, then a week on Windows 98, a week on BeOS, etc. There's no history education at all. No learning from past ideas. Not even any conception of history, really.

Compare it to, for example, a film class. Students learning how to create films _watch films_. They watch films from the 1910s, the 1930s, the 1950s, etc. They learn how their industry changed and matured over time. They get a solid sense of history, and an appreciation for their forebears. Software developers get none of that.

Anyway, this shouldn't come as a surprise, is what I'm getting at.

<comment><USER17> > People going to school to learn software development don't

...usually have offered anything that even purports to be a "software development" curriculum.

They usually have a "computer science" curriculum.

<comment><USER16> Well, yes... but I don't see how that changes or even addresses my point at all.

<comment><USER17> I think it explains the reason for your point: that people aren't being prepared for a career in software development (and particularly user interface design) by a curriculum that is _overtly not focused on software development_ , and particularly overtly not focused on human/software interaction, is unsurprising, and not a problem of curriculum being poorly designed for its overt purpose.

</comment></comment></comment></comment></comment><comment><USER18> That was really interesting, it reads like a write up of a modern project (other than having to _justify_ going non-Waterfall).

</comment><comment><USER19> It's interesting to see HTML from that time period too. Did HTML tags in <title> used to be rendered in browsers?

<comment><USER13> It's beautiful, is what it is. It loads instantly, doesn't download megabytes of crap and is very information-dense.

<comment><USER20> Though I think I really have to write some user CSS or a bookmarklet or something for pages like this, namely:

        body {
            width: 50em;
            margin: auto;
            line-height: 1.6;
        }

The Firefox Reader View is supposed to do that but it's way too narrow (30em I think) and way too often messes up some formatting essential to understanding the content.

<comment><USER21> Reader View being too narrow should get a fix in either the next release or the one after that, i.e. the fix is in Developer Edition, maybe already in Beta (I didn't check there), and a small change like that usually goes through Developer Edition and Beta in one release cycle each.

Basically, they now have a setting for that in the toolbox to the left, so you can decide yourself how narrow or wide you want it. They also added a setting for the line height, so even though you didn't complain about that with Reader View, you can now change that, too, if you should ever need it.

</comment></comment></comment></comment><comment><USER22> My main question here is whether this kind of rigorous user lab testing - at a time when things could still be changed - was also applied to Windows 8. That thing seemed such a top down dictated hot mess to me.

IMO the issue of productivity and discoverability has still not been solved on touch based UI, even with our post-iPhone interfaces. Shame that Microsoft didn't go back to these roots and innovated on exactly these issues.

<comment><USER16> I don't think _anybody_ does that type of user testing anymore. The last project I've seen a good write-up about was Office 2007, and that's a decade old at this point. Which is a shame.

Just _using_ most web-based UIs shows that there's almost zero usability testing going on in that field, and since more and more apps are web-based, well.

<comment><USER22> You'd think that MS would want to replicate their success with Win95. The task bar and start menu is easily the most iconic UI to ever come out from them and made them jump ahead of MacOS in terms of usability - and apparently it can all be traced back to this lab. The people responsible should all have been promoted to A level where their lab becomes the equivalent of a Steve Jobs product curator.

But it seems like MS at some point got on the high horse and started thinking that they can just shove anything down user's throat anyways. When they lost the entire segment of the fastest growing computing market, a competent CEO would have gone back and study why their 95 UI was so successful that everyone _wanted_ to buy their product instead of being forced to.

</comment></comment></comment><comment><USER23> It's interesting that they doesn't noticed that beginners often mix elements have to be double-cliked and which single-clicked.</comment>


Trump demands swing states with Democratic governors loosen Covid regulations - <AUTHOR> https://www.cnbc.com/2020/04/17/coronavirus-trump-demands-states-liberate-amid-protests.html <comment><USER2> What's the downside to Trump of demanding the "liberation" of swing states (particularly those with Democrat governers)?

Tweets are official orders, they've got the legal standing of a sneeze.

Suppose the governors go along with Trump. Two scenarios:

1\. "Liberating" the states works. Not that many more people get sick, their economy gets better. Trump wins! He ordered them to do something, and it worked! Trump's a Genius!

2\. "Liberating" those states doesn't work. Many people get sick, some extra deaths occur. Big deal, Trump just tweeted. He tweets what ever's on his mind.

Suppose the governor's don't go along with Trump, they listen to epidemiologists.

Same two scenarios, in (1) Trump can just write off the tweet. It was hot garbage from his lie-hole. No biggie. In (2), Trump's a genius! They should have listened to him.

This whole twitter thing should be illegal for the same reason that the USA has records laws and sunshine laws. It's essentially corrupt influence.</comment>


Domains About to Expire - <AUTHOR>

Just thought I'd drop this offer here.  I have a few domains that are going to expire on Tuesday, and I have never gotten around to actually using them.  If anyone is interested in getting them from me before they go back on the market, drop a note here and I'll get in touch with you.  I'm not looking to make any money off them, just want to give them a chance to see a better use than a spam page.
shoplist.us losethepen.com forgetthepen.com
Cheers <comment><USER2> Right idea!</comment>


Atomic Anxiety and the Tooth Fairy: Citizen Science in the Midwest (2014) - <AUTHOR> http://theappendix.net/issues/2014/10/atomic-anxiety-and-the-tooth-fairy-citizen-science-in-the-midcentury-midwest <comment><USER2> "The atomic testing of the 1950s raised unsettling questions. If the detonations in the South Pacific were sickening Marshallese people and killing Japanese fish stocks, were they also exerting milder effects as far away as the United States?"

Good to know that it wasn't "unsettling" until the possibility that it might have an effect on the United States was raised. Seems that we were as unconcerned by an "international uproar" then as we are now.

On a less sarcastic note, I wonder if the decline of trust in science in America has something to do with the current lack of a common enemy.

<comment><USER3> Science has become so politicized it was inevitable for it to become viewed as an enemy. Ask a hard core liberal for concrete evidence that carbon dioxide directly causes global warming and you will be called a bigot and worse. I'm sure there is equivalent for conservatives

<comment><USER2> Would you like said evidence? I can put you in touch with someone.

<comment><USER3> Yeah I've yet to see a causal effect determined. Link a paper if you have one, I'd be happy to read it

<comment><USER2> Are you really interested? If you can compile fortran I can link you to some of the climate models, as well as some papers, and you can run them yourself.

This isn't a trivial undertaking though.

<comment><USER3> "If you can compile fortran" \- if this is requirement to understand a model I already don't believe it.

I bet I can create a model for you that shows global emissions in developed nations have reduced because of the increased popularity of Goldendoodle.</comment></comment></comment></comment></comment></comment>


Ask HN Designers: Tips on negative space & visual spacing in general - <AUTHOR>

As a hack designer w/ no formal design training, one of the things I've often struggled with was spacing of things. I can navigate my way w/ determining WHAT to display and where, but I have never been happy w/ how I space things and organize them.<p>Are there any tips/hacks or methodology to go about that? Any good books? <comment><USER2> I like to work with elements so that there is geometric rationalization between the sizes of them, and the spaces between them.

I usually work with set "unit" sizes. Any time I have to make a decision about the size of something, or a piece of negative space I go to one of these sizes: 3, 5, 7, 9, 12, 16, 21, 28, 37, and on up by the factor of .75. Here is a video of my method in action: <http://www.youtube.com/watch?v=7i8gGqbNIHg>

The pioneers of typography only had a few sizes with which to work, and in many ways, that restriction was a blessing. You have to create your own restrictions in digital design.

It doesn't directly translate to web design, but typographer Jan Tschichold made some solid recommendations about determining the margins of books. I outlined those recommendations here: [http://www.kadavy.net/blog/posts/determining-proper-book- mar...](http://www.kadavy.net/blog/posts/determining-proper-book-margins/)

For understanding the subtle geometries of design, I recommend _The Geometry of Design_ by Kim Elam. I'll also have a few chapters about it in my upcoming book, _Design for Hackers._

</comment><comment><USER3> Think of it this way. Negative space is essential in providing spatial relationships between items. You need to guide your readers eyes, with purpose, and one way to do that is by being smart in use of negative space.

A lot of designers starting out focus on what to put in, where in fact, a good design is essentially what you leave out. It takes discipline and experience, but most of all, it's derived from a deep understanding of the project requirements at hand. A good designer is 70% researcher, 30% designer.

Are you trying to build emphasis on a feature or message? What is the goal behind this web/app page design? etc.

All are question that need to be answered and understood before the sketching period, way before a first mockup rendition.

One method or guide you with alignment is to use a grid layout. Grab a guided PSD file <http://960.gs/> and when you position your elements, try to build relationships between your elements by the way you align them on the grid.

Hope that helps.

</comment><comment><USER4> Work initially in black and white. If it doesn't work BW, it won't work in color either. Squint when you look at the page. Does the contrast still pop? If not, change the design.

Think about the content. What's most important? What do you want to emphasize?

Minimize the number of styles, fonts, and sizes. Group elements together.

Print it out and read it. Does it flow? Is there an eye-pleasing sequence of elements? Or is it a jumble. Look at designs that are very good. What makes them good? Try to apply the same principles.

</comment><comment><USER5> Have you tried using CSS Grid systems (960.gs, blueprint CSS)? It is a great way to start learning how to space things around. Try experimenting with simple boxes first, then replace them with actual design content.

I don't use them anymore, but I have used them as training wheels to get myself to where I am today.

</comment><comment><USER6> ui-patterns.com <http://developer.yahoo.com/ypatterns/>

When you design buttons think of them as empty boxes and ask people what they think that button does. It'll surprise you what people come up with other than your own opinion.</comment>


Ask HN: Is bcrypt still the state of the art for password hashing - <AUTHOR> I have been doing some courses on building backend servers with user login systems. The algorithm bcrypt is mentioned alot as an algorithm to securely hash passwords (salting & peppering). I wonder if bcrypt is still state of the art when it comes to password hashing? Is it still a secure option? <comment><USER2> See OWASP's recommendations: [https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet](https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet)

> Argon2[7] is the winner of the password hashing competition and should be > considered as your first choice for new applications;

> PBKDF2 [4] when FIPS certification or enterprise support on many platforms > is required;

> scrypt [5] where resisting any/all hardware accelerated attacks is necessary > but support isn't.

> bcrypt where PBKDF2 or scrypt support is not available.

</comment><comment><USER3> Yeh.</comment>


Facebook denies cookie tracking allegations - <AUTHOR> http://www.zdnet.com/blog/facebook/facebook-denies-cookie-tracking-allegations/4044 <comment><USER2> Can anybody tell me how a cookie on my computer would help:

"the logged out cookies are used for safety and protection including: identifying spammers and phishers"

How would that work?

"detecting when somebody unauthorized is trying to access your account"

I can see how that would prevent anybody to log in from another system, but how would ey separate a user doing that from a villain?

"helping you get back into your account if you get hacked"

How would that work?

"disabling registration for a under-age users who try to re-register with a different birthdate"

How would that work while at the same time allowing shared computers (as cited below)?

"powering account security features such as 2nd factor login approvals and notification"

How would that work?

"and identifying shared computers to discourage the use of "keep me logged in.""

That I can understand to be a feature, but why would it require more than a 'someone logged into Facebook from this account on this computer' flag? Certainly, it would not require storing a user ID?

</comment><comment><USER3> Even if Facebook -was- not completely clearing your UID it's not like it's impossible for them to track you. If Facebook -wanted- to track you without your consent IP + User Agent is likely plenty unique for that purpose.

But hey, finding malicious intent in anything Facebook does is cool these days, I guess.

<comment><USER4> "Malicious" is a term that _you've_ just applied.

An alternative way of phrasing it might be "applying some skepticism to Facebook's approach to privacy.

I don't think that such skepticism has anything to do with being "cool", I think it's warranted - Facebook's valuation is largely based on the value of teh data it holds and its ability to to track and analyse user behaviour.

The original article merely points out that logging out doesn't actually effect Facebook's ability to track & analyse, so why should we assume that it voluntarily throws away an important data collection opportunity?

<comment><USER5> "... Facebook's valuation is largely based on the value of teh data it holds ..."

For Facebook's larger investors, I've been wondering what kind of access or other benefit they (may) gain, beyond ROI.

</comment></comment></comment><comment><USER6> I don't believe Facebook is doing anything malicious, but it can never hurt to do a little investigation.</comment>