A metabolic master switch underlying human obesity - <AUTHOR> https://news.mit.edu/2015/pathway-controls-metabolism-underlying-obesity-0819 <comment><USER2> The phrase that being overweight is "simply calories in vs calories out" is both trivially true and completely unhelpful.

It's similar to thinking we have solved poverty. People living in poverty should spend less and make more. Problem solved.

The much more interesting questions are

1\. Why does it take some people more food to reach the same level of satiety as others?

2\. Why do some people's bodies burn off excess calories through things like non-exercise activity thermogenesis and other store it as fat?

3\. Do different types of food effect long term satiety? By changing what we eat can we effect our weight in the long term?

4\. How does the body increase hunger and turn off self-control when there is reduced food intake?

The only known "solutions" we currently have to obesity are dieting and exercise. The problem is the long term efficacy rate of dieting is around 5%. If dieting were a drug it would never pass FDA approval for effectiveness. Exercise has only modest effects and is probably more effective as preventing weight gain than causing weight loss.

We still have so much more to learn. We are just at the beginning of figuring out the causes and solutions to this issue.

<comment><USER3> > The phrase that being overweight is "simply calories in vs calories out" is > both trivially true and completely unhelpful.

Why is it completely unhelpful? The corollary is that if you adjust your intake to X (where X might have to be determined empirically for the individual), and use planning and your conscious brain to know when and what to eat, you _will_ lose weight.

This is a revelation to some people, who, once they realize the simplicity of it and plan around it, are able to completely change their bodies. Many of these same people try various intuitive plans that don't work for them (because they don't have the intuition) or try to manipulate exercise first (which makes some people increase appetite).

If you don't believe me that it works, is useful, and is a revelation, go lurk on the myfitnesspal forums for a while or /progresspics on reddit and read how people succeed.

<comment><USER4> The reason that it isn't helpful, despite you're peer reviewed, laboratory evidence cited on MyFitnessPal postings, is that the causal mechanism that common sense derives from this is completely incorrect.

People aren't fat because they eat too much. People (and mammals) eat too much because their fat cells are being metabolically triggered by environmental and/or genetic factors to store fat at a higher than normal rate, diverting calories from operational needs, thus stimulating hunger.

Bears don't go into hibernation because they've gotten fat. They get fat because their endocrine system begins gearing up for hibernation, and telling their fat cells to kick into overdrive growing. They will literally burn muscle while simultaneously gaining fat in this stage, like all hibernating mammals. The other side effect of growing fat cells is massive hunger, obviously.

In humans, simple things like not eating sugar can help correct the endocrine factors which, for a lot of people, cause the fat cells to do this. However, genetic factors are going to be a different story.

I say this as somebody who is fit and active, but have had running buddies who are fat. Pitting will-power against metabotically driven hunger ends, in the long-term, with biology winning every time.

Without endocrine/genetic factors taken into account, reduction in calories in simply causes a mammalian body's system to reduce calories out by making the subject less energetic.

<comment><USER5> > thus stimulating hunger.

Then go hungry every now and then once you know the causal link. It's not like it's an irresistible force to which you have no choice but to succumb.

> Pitting will-power against metabotically driven hunger ends, in the long- > term, with biology winning every time.

In my experience [sample size: 1] it's entirely possible to ignore hunger for quite some time.

Additionally there are options such as adding filler ingredients that help with reaching satiety with fewer calories. Carbohydrates with a low glycemic index which get absorbed more slowly, thus avoiding a boom-bust cycle as far as your blood sugar levels are concerned are also something you can adjust. This also helps staving off the next hunger for more hours.

It's certainly not an inevitable "I'm hungry, therefore I must eat and grow fat" link that can't be broken.

<comment><USER6> There are also plenty of factors which can lead to overeating which are not caused by the hunger response (i.e. craving food based on learned behaviors, peer pressure, desire for a particular taste, boredom, depression, etc).

The grandparent's post seems highly suspect to me. Hunger no doubt plays a _role_ in obesity among some individuals, but the ultimate determinant is how many calories are available to be processed versus how many are expended, regardless of _why_ they have been ingested.

<comment><USER7> When you take a hypothetical individual and lock them in a room and control their food you can give them a restricted calorie diet and they will lose weight.

No-one credible denies that.

What the people arguing against CICO are saying is that it's fucking stupid pointless advice to give to a population because while true it's not helpful. We know it's not helpful because we've been saying loud and clear it for many years and obesity rates have risen in almost every country every year.

"We could cure cancer if we just kill all the cancer cells" is true but not helpful.

"We could fix world hunger if hungry people just grew food" is true but not helpful.

<comment><USER6> I'm going to quote the grandparent here:

> People aren't fat because they eat too much. People (and mammals) eat too > much because their fat cells are being metabolically triggered by > environmental and/or genetic factors to store fat at a higher than normal > rate, diverting calories from operational needs, thus stimulating hunger.

Is hunger really the primary cause of overeating for those who suffer from obesity? This seems unlikely to me.

It's true that calin/calout is a simplification, but there are _many_ who outright deny it. They may not be credible to _you_ , but they are still powerful voices across all media and their gospel is happily accepted by many.

> What the people arguing against CICO are saying is that it's fucking stupid > pointless advice to give to a population because while true it's not > helpful. We know it's not helpful because we've been saying loud and clear > it for many years and obesity rates have risen in almost every country every > year.

Posts like yours that deride calin/calout as a useless oversimplification miss the mark; of _course_ it's a very basic fact, not a treatment plan. It's crucial that people _understand_ that this is the mechanism at play if they want to succeed at regulating their weight, and despite your assertion that "nobody credible denies it" there are a lot of big names who will sell you all kinds of solutions that ignore it, and focus on specific distractions rather than looking at obesity as a complex disease with many causes that lead to calorie surplus.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The paper is: "FTO Obesity Variant Circuitry and Adipocyte Browning in Humans", Claussnitzer et al 2015; fulltext: [http://www.nejm.org/doi/full/10.1056/NEJMoa1502214](http://www.nejm.org/doi/full/10.1056/NEJMoa1502214)

<comment><USER9> So I checked my rs1421085 status and luckily I don't have the obesity variant.

I guess the cause of my overweight is my laziness then :)

<comment><USER10> If I read this correctly, and I have genotype CC, then this would mean that I'm at risk, right?

<comment><USER11> I'm completely unfamiliar with this stuff, but from the article:

"In risk individuals, a thymine (T) is replaced by a cytosine (C) nucleobase, which disrupts repression of the control region and turns on IRX3 and IRX5. This then turns off thermogenesis, leading to lipid accumulation and ultimately obesity... Switching the C to a T in risk individuals turned off IRX3 and IRX5, restored thermogenesis to non-risk levels, and switched off lipid storage genes."

So yes, CC is taken to mean "risk" and CT is likewise "non-risk".

As always, one finding doesn't indicate ultimate truth, so take this all with a grain of salt (or not, depending on what 23andMe has to say about your sodium intake).

<comment><USER12> So TT is lowest risk? That's what I have. I don't really gain weight...

<comment><USER13> Damn it, I'm CC.

"Switching the C to a T in risk individuals turned off IRX3 and IRX5, restored thermogenesis to non-risk levels, and switched off lipid storage genes."

Hurry up CRISPR-CAS9. Need this fixed!

</comment></comment></comment></comment></comment></comment><comment><USER14> It would be interesting if they could find some food that flipped this on... clearly obesity is reaching epidemic proportions and there appears to be some correlation between this and the consumption of processed foods. It would be interesting to figure out if there's something in our food that is flipping the switch to lead down that path. Now that we have some (apparently) credible evidence correlating these switches with obesity, it would be handy to be able to see what to avoid to prevent this switch from being triggered... also if there's something that's not in control of the drug companies that we could eat to flip it back.

<comment><USER15> >there appears to be some correlation between this and the consumption of processed foods.

Really? I would love a source on this, because it seems that the #1 reason is that the average portion size has increased greatly in the past 30 years while people are exercising less and less.

It would be great if we could find a way to "flip a switch" to make weight- loss easier, but it's downright foolish to pretend that we are gaining weight for any other reason than that we are eating too much and exercising too little.

This "processed foods make you fat" nonsense is infuriating because it just validates people's beliefs that their weight problems have nothing to do with their personal habits, instead placing the blame on the quality of the foods they've been eating.

<comment><USER16> There's a moderate amount of evidence that the type of food plays a significant role in overconsumption of calories. One factor is differing satiation for the same number of calories, i.e. 300 calories of some foods make you feel fuller than 300 calories of other foods. There is also something specifically weird going on with a handful of foods that seem to promote ongoing consumption to degrees seen much less often with other kinds of food. Soda and salty/fat snacks are two where people are observed consuming _huge_ numbers of calories in kind of a chain-consumption binge, which is much less often seen with, say, pork chops or broccoli.

<comment><USER15> >One factor is differing satiation for the same number of calories

>a handful of foods that seem to promote ongoing consumption

>people are observed consuming huge numbers of calories in kind of a chain- consumption binge

As I said: It has absolutely nothing to do with the foods or how they are processed; it has everything to do with how much people eat of these foods.

Fatty/Salty foods can promote overconsumption, but blaming the foods for a person's lack of self-control is, as I said previously, incredibly foolish.

Sure, food trends may have increased the amount of fatty/salty foods on the market in the past 30 years, and this certainly would contribute to the obesity epidemic. However, the burden ultimately rests on the consumer to ensure that they are not only consuming healthy foods, but that they are consuming healthy portions of these foods compared to the amount of exercise they get daily.

I could easily eat 3 Big Macs for lunch, but I am aware that that would be 1600+ calories, so I don't.

<comment><USER14> > As I said: It has absolutely nothing to do with the foods or how they are > processed; it has everything to do with how much people eat of these foods. > > Fatty/Salty foods can promote overconsumption, but blaming the foods for a > person's lack of self-control is, as I said previously, incredibly foolish.

Not everyone has the same self-control/discipline. Exploitation of this fact by food companies is becoming more visible as time goes on. One that immediately springs to mind are the slogans for products such as Pringles: "Once you pop, you can't stop!"

Certain foods cater to, nay exploit, addiction and human behavioral traits. You can't exploit weaknesses in the human psyche and then say "it's their own fault," without assuming any responsibility or blame.

That's like blaming a drug addict entirely for becoming addicted to crack and not apportioning any of the blame to the dealer... not everything is entirely the fault of the... I'm struggling for a better word than victim, but that's not really the word I mean. Most addicts are at first desensitized, then conditioned and then coerced into trying what they become addicted to long before they become addicted.

Food companies have been slated to add chemicals into their food that have been found to correlate with addiction, to keep people coming back for their product. The media desensitizes, conditions and coerces people into trying their product. Portions are decided not based on what is a scientifically proportionate amount of food, but what is most profitable or will make the "client" keep coming back for more - to feed the addiction - in exactly the same way that dealers cut their drugs with chemicals that feed addiction and keep the addict coming back for more - even though many of them want desperately to quit.

<comment><USER17> > Food companies have been slated to add chemicals into their food that have > been found to correlate with addiction, to keep people coming back for their > product.

What does this even mean? Barring the more obvious "correlation != causation" issue here, this seems... logically fuzzy at best, and also reeks a bit of the "chemicals are bad" fad. Do you happen to have examples of such chemicals that "have been found [by whom?] to correlate [how strongly?] with addiction [to themselves? to something else? to what?]"?

</comment></comment></comment></comment></comment></comment><comment><USER18> It is better to think of this as a target of intervention with drugs and other therapies than as a "gene therapy" product.

The article says that the key process is enabling thermogenesis:

"Follow-up experiments showed that IRX3 and IRX5 act as master controllers of a process known as thermogenesis, whereby adipocytes dissipate energy as heat, instead of storing it as fat. Thermogenesis can be triggered by exercise, diet, or exposure to cold, and occurs both in mitochondria-rich brown adipocytes that are developmentally related to muscle, and in beige adipocytes that are instead related to energy-storing white adipocytes."

If you apply all the methods in terms of exercise, diet, and exposure to cold, you are pushing this switch the right way -- some people might need harder pushing than others.

</comment><comment><USER19> Thought exercise:

Extend a finding like this out to the (il)logical conclusion 5, 10, 15 years out -- we figure out what causes the body to store fat, we develop the wonder drug that everyone's been waiting for that 'flips the switch' (even in otherwise healthy people), and suddenly everyone has 7.5% bodyfat and weighs exactly as much as they want to.

And then....what? Well from a macro scale, I think some things get better -- overall population health goes up, obesity/fat-related diseases go down. But does heart disease? I wonder if it goes up -- if everyone looks like they've wanted by shutting off the body's fat stores, does the motivation to do cardio go down for some people? (Cardio has huge benefits for things way beyond your bodyfat, but that won't stop a big chunk of the population from giving up on it.)

And from a purely superficial angle -- now everyone who wants one has a "ripped" body. But some guys are still bald, or have back hair, or or or. We'll still find a way to feel bad about ourselves, even with six-packs.

Thoughts?

<comment><USER20> > And then....what? Well from a macro scale, I think some things get better -- > overall population health goes up, obesity/fat-related diseases go down. But > does heart disease? I wonder if it goes up -- if everyone looks like they've > wanted by shutting off the body's fat stores, does the motivation to do > cardio go down for some people?

I don't understand the tendency some people have to find a negative in something that is mostly positive. It doesn't make sense to me. Sure, some negatives MIGHT happen, but are you really trying to justify not moving forward with this research because some people might use it as an excuse to be lazy? Really?

What if everyone being the weight they want gives them more self-confidence, which gives them reason to get out more? What if there's less depression? What if there are fewer people with diabetes? There's potential to have some really great effects on the population at large here.

<comment><USER19> > are you really trying to justify not moving forward with this research > because some people might use it as an excuse to be lazy? Really?

No of course not! Hence my mention of 'thought exercise' \-- I'm trying to spur discussion, get some other peoples' input, and explore an idea.

My initial instinct was "awesome! health and low body fat for everyone!" I'm a perpetual optimist, but one of the most valuable skills I've learned as I've gotten older is the recognition that there's always _some_ con to the pro, and I think one of the valuable things about a community (and a discussion) is the exercise of looking at all sides of topic.

(Which, btw, you've provided, even if unintentional ;)

<comment><USER20> Heh, apologies for being reactionary in my comment. Seems like we're on the same page then. :)

</comment></comment></comment></comment><comment><USER21> "By editing a single nucleotide position using the CRISPR/Cas9 system — a technology that allows researchers to make precise changes to a DNA sequence — the researchers could switch between lean and obese signatures in human pre- adipocytes."

How far off are we from therapy using the CRISPR/Cas9 system? I would imagine that while it's easy to edit the sequence for cells in a petri dish, editting the cells of an entire organism (human) is not likely to happen in our lifetime?

<comment><USER22> Radiolab had a story on it: [http://www.radiolab.org/story/antibodies- part-1-crispr/](http://www.radiolab.org/story/antibodies-part-1-crispr/)

As I recall: it works great, is super cheap (~ $80 per application?), and is pretty easy to use, they successfully used it on rats already and it seems like it should work on any type of organism.

</comment></comment><comment><USER23> > "Obesity has traditionally been seen as the result of an imbalance between > the amount of food we eat and how much we exercise, but this view ignores > the contribution of genetics to each individual's metabolism"

People might misunderstand this to justify laziness. I have an obese co- worker, who likes to eat several hundred grams of chocolate along with soft- drinks daily. He always quotes genetics to counterargument my elaborations on the first law of thermodynamics.

<comment><USER24> People who have never struggled with their weight typically talk about obesity as if it is an uncomplicated phenomenon, an equation to follow, and pretend that cause and effect are obvious and easily discernible.

If he is consuming ridiculous quantities and types of food, it probably means he has given up. Spend enough time carefully controlling your diet and producing minimal gains while the people around you don't seem to have to put any effort into maintaining their weights, and you will give up too.

People are complicated and biology is complicated, and yet every thin person in the country thinks they can express The Fundamental Truth About Obesity in a single sentence.

edit: I will reply to several responses here - your experience that 'losing weight is simple' is not a data point, it's an anecdote. Losing weight _is_ simple for quite a few people. It's also astonishingly difficult for quite a few other people. Stop acting like your personal experience is strong scientific evidence for your point of view.

<comment><USER25> Myself, I've got a choice. Either I'm at a constant weight and I'm stupid due to low blood sugar, or I end up gaining weight. It's incredibly hard for me to find the right balance, I haven't managed it yet.

<comment><USER26> My body's response to caloric restriction defies the math behind all the weight loss calculators I've seen. I don't even know how it's physically possible. Which sucks, because I find it fairly easy to limit my calorie intake, but have to eat at nearly concentration-camp levels to drop weight, which isn't fun.

However, my body responds _very_ well to exercise, especially strength training. Less convenient (takes time, space, maybe some equipment) but, conversely, works _way better_ for me than any tables/calculators I've seen say it should. You might try that, if you haven't.

</comment></comment></comment></comment><comment><USER27> _" The paper is a tour de force, according to Evan Rosen, a professor of medicine at Harvard Medical School who was not involved in the research."_

That's some pretty high praise.

Also, it wasn't entirely clear to me if they're already testing this on humans. They mentioned using the CRISPR/Cas9 to manipulate genes in human cells, is that just donated human tissue?

<comment><USER28> From the article: "the researchers gathered adipose samples from healthy Europeans"

</comment></comment><comment><USER29> What I don't like is how the press and often scientists make every paper seem like something was newly identified. With no disrespect to the authors of this particular study, they didn't "unveil a new pathway". Several previous works over the past decade have honed in on this exact "master switch".

E.g.,

Identification of FTO as relevant to obesity (2007): [http://www.ncbi.nlm.nih.gov/pubmed/17434869](http://www.ncbi.nlm.nih.gov/pubmed/17434869)

Connection of FTO and IRX3 (2014): [http://www.ncbi.nlm.nih.gov/pubmed/?term=24646999](http://www.ncbi.nlm.nih.gov/pubmed/?term=24646999)

</comment><comment><USER30> In this context, this report from 23andMe is interesting....perhaps old news: [http://blog.23andme.com/wp- content/uploads/2015/03/5-N8XiOLk...](http://blog.23andme.com/wp- content/uploads/2015/03/5-N8XiOLkGIgydwX_SS- IQ_23-08_Genetic_Associations_With_Traits1.pdf)

</comment><comment><USER31> I found the master switch. It's called self-responsibility.

<comment><USER32> What if you were a fat kid. Other kids made fun of you and adults told you to "lose weight", but never gave you actual tips just "eat healthy and move more".

How do you go about eating healthy as a 10 year old? You don't. You eat what your parents put on the table and if your parents are also fat there is going to be a lot of fatty foods and few healthy foods and the healthy foods will often taste horrible in comparison.

How do you go about moving more? You could play outside, but who plays outside these days? You just spend your time playing video games and even if other kids are into sports ball you are fat and slow, and most likely to complain, so no one wants to play with you.

Now imagine this goes on for ~20 years. You are now pushing 30, being overweight/obese your whole life. When people talk about weight they just tell you to "lose weight", but again without any solid steps just: "have self control and eat less and move more".

Running is out of the question because of your bad knees, under your weight. Walking is fine as long as you take it slow and don't walk too long. So your gains are very minimal, you don't even sweat (expect from the Sun) since you can't go fast or long before your legs start to hurt. So people tell you it's all about food, so you try to lower your food intake. It's hell for a week, but somehow you manage it. You starve yourself for two months which feels like 5 years.

You manage to lose weight, not that you know how much since no scale is big enough for you, but your pants start to sag. So you do what people around you want to do, you celebrate, because what's one night of having fun going to do, right? You got your new smaller pants and it's time to hit the town. Next thing you realize it's 6 weeks later, you are shoveling cake in your face at alarming rate and your pats are starting to look like skinny jeans. You feel like shit, and since you were a kid what have you been doing when you feel like shit? You grab a soda or a cupcake or something else that's bad for you.

It's not just about having self-control, because you have life time of nagging about your weight on your back. People have always told you that you weren't good enough, that you should lose weight, but no one has taken the time and guide you on the right path. Losing weight is simple in theory, but hard in practice and it takes a lot of time and effort, more than most people are willing to dedicate.

<comment><USER31> No matter what you are responsible for your body. Period. Full stop. I am not responsible for your body. As an adult your parents are not responsible for your body. The government is not responsible for your body. You and you alone are responsible.

Your body may be more susceptible to holding onto fat than the average person. You may have genetic markers that makes you more likely to over indulge. There are one of a million factors that may make you more likely to be overweight. But literally none of them change the fact that you and you alone are responsible for your body.

<comment><USER32> It's easy to say that, since it is true after all, but you are not helping in this matter at all. You are not going to get a single fatty to lose a pound of weight by telling them: "hey! it's your fault!". Fatties know that, but that doesn't mean it will in any way make them change what they are doing.

<comment><USER31> Constantly searching for genetic markers as excuses doesn't help either. It's not your fault! Your genetics cause you to over eat and hold on to all of the fat! And you know what that changes? Nothing. Literally nothing. You can shift blame to genetics or make excuses on how your parents didn't teach you how to eat healthy but it doesn't matter. At the end of day one and only one person holds the keys of responsibility.

<comment><USER32> I never said anything even remotely about genetics.

And I never blamed my parents, they did what they thought was best, but I dare to suggest that adults constantly telling kids: "you should lose weight" for years doesn't do any good. At worst you start to resent everyone who says that and then you are in deep trouble.

If you have been skinny to normal weight your whole life you have no idea how hard it is to keep up with a diet and how easily it gets out of hand. Kids are the place where we should start treating this epidemic and it doesn't start with nagging them every time they visit a doctor/nurse. It starts with proper school meals which favor salads instead of shit like pasta, rice and potatoes, and removing shit like coke machines from school property. With PE classes where kids actually get exercise and isn't just about playing few rounds of sports ball. And some actual advice with weight problems and proper after school activities (these probably should be sports ball activities) which don't cost a lot.

Maybe I'm way off base here. Maybe I'm just crazy. But I know what my educational system is like and for most part it ain't helping.

<comment><USER33> Some changes happening. Here in Iowa, our high school has a fitness loft, and PE is about everything you say. Cardio, weights, running, inclusive activities and good sportsmanship all play a part. My boys are lean and mean, in no small part because of their high school experiences!</comment></comment></comment></comment></comment></comment></comment>


Show HN: ngPaneManager – A docking panel system for AngularJS - <AUTHOR> https://github.com/opuslogica/ng-pane-manager <comment><AUTHOR> Hey HN! This is a docking panel system I've open-sourced out of another project of mine. In case you missed it, there's an online demo here [https://opuslogica.github.io/ng-pane- manager/test/demo.htm](https://opuslogica.github.io/ng-pane- manager/test/demo.htm).

I was very satisfied with how well two-way data-binding maps to the problem of docking panels, and I figured this could be useful for things like online code editors. Would love to hear some feedback!</comment>


David Maxwell, open source strategist at Coverty to speak at SLUOSG - <AUTHOR> http://sulug.stanford.edu/index.php?option=com_content&task=view&id=118&Itemid=1 <comment><USER2> If anyone is in the area, I recommend attending this. David is a former NetBSD security officer and an all around smart guy.</comment>


Ask HN: How to Send Money to Users? - <AUTHOR> How can I send money to users (much like how Patreon sends money to their creators)?<p>Payment gateways don't seem to cater to this - except Stripe which only supports US debit cards. <comment><USER2> It really depends on who you are sending money to. Assuming your sending to people with bank accounts a remittance service would work, like transfer-to (recently renamed Thunes) [1] and EMQ (sea only) [4]. There are several services like this, and its how mobile wallets and remittance agents (electronic ones) send cash. You may need several to provide maximum coverage if operating globally.

Each country also has their own remittance providers [2] so if you are serving a specific country it would be worth digging to find out who has the best APIs. Mastercard has a service [3] that supports 80 countries but your recipients require a card. Note if your recipient is a business with an EDC machine there is a nifty way to send them cash using MC VCNs (what some global hotel booking sites use).

Most remittance providers now send to wallets in addition to bank accounts, which can be used to send cash to non-banked users. Though in practice this could be a pain for them and coverage is limited and the mobile wallets vary in quality and KYC restrictions.

1\. [https://www.thunes.com/](https://www.thunes.com/)

2\. Only use licensed ones! Spotted this one operating in us: [https://www.dwolla.com/](https://www.dwolla.com/)

3\. [https://developer.mastercard.com/product/mastercard- send](https://developer.mastercard.com/product/mastercard-send)

4\. [https://www.emq.com/](https://www.emq.com/)

</comment><comment><USER3> I think you might have to consider getting licensed for something like this in the US. There are all sorts of AML regulations for money transmitters.

</comment><comment><USER4> If it's something like refunds, the common approach is to have some ewallet with credits and track how much you owe them.

There's a popular mobile game show here that does that. Once you win $50 or some treshhold, they let you cash out, which is handled through a manual process. It's tedious but it meets anti-money laundering and gambling regulations.

</comment><comment><USER5> Actually, how to send money to end users at scale is a terrific problem. Scenario is something like you run a federated "micro-work" site and you want to compensate ~1M. Ideally, what we want is something like Square Cash for small business with an API.

</comment><comment><USER6> Fiverr sends money via PayPal, bank transfer or a Fiverr Revenue Card which looks to be powered by Payoneer.

</comment><comment><USER7> This is an excellent question. I have yet to discover a good API based method. Let me know if you find one.

</comment><comment><USER8> PayPal has an API for this that IIRC isn't just tied to PayPal funny money accounts.

</comment><comment><USER9> Crypto :)

<comment><USER4> This is actually a good answer. Crypto was built for this and you don't have to worry about triggering any anti-fraud or anti-money laundering safeguards.

<comment><USER10> But, people might not know how to cash out. 90% of people will want cash.

</comment></comment></comment><comment><USER11> TransferWise has a payouts API.

</comment><comment><USER12> PayPal?</comment>


David Rockefeller, Philanthropist and Head of Chase Manhattan, Dies at 101 - <AUTHOR> https://www.nytimes.com/2017/03/20/business/david-rockefeller-dead-chase-manhattan-banker.html?_r=0 <comment><USER2> Can we request an autopsy to make sure he's not a lizard?

</comment><comment><USER3> I think that's the last of the billionaire Rockefellers</comment>


Reliance Jio is world's largest startup with USD22.65B investment - <AUTHOR> http://economictimes.indiatimes.com/industry/telecom/reliance-jio-is-worlds-largest-startup-with-rs-150000-crore-investment-mukesh-ambani/articleshow/51613248.cms <comment><USER2> Wouldn't we rather discuss real startups that are not funded by conglomerates.

I came across this startup called Agatsa and here's their story.

It started off as a search for an easy to use ECG device, that required no help from a medical technician, led these two engineers to develop one themselves.

This led to the launch of a pocket-able heart monitoring device that is able to compute and provide an in depth analysis of ECG reports when a person places his/her thumbs on the device. All it takes is 15 seconds! This device is validated by more than 500 doctors and is known to be 98% accurate.

Pretty fascinating right? Watch the video to learn more!

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

In case you would like to they have a fund raising link as well.

</comment><comment><USER3> Mukesh Ambani really needs to go look at a dictionary and figure out the definition of a startup. You really cannot call one side project of a huge corporation like Reliance a startup.

</comment><comment><USER4> Reliance Industries, one of the largest holding companies in India, starts a new venture to launch a new LTE mobile network. What makes this a startup?

</comment><comment><USER5> This is clickbait title. In what sense of the word is Reliance Jio a startup? It's a division of a big co.</comment>


Smuggling Data in Pointers - <AUTHOR> http://www.undiscoveredfeatures.com/2011/11/smuggling-data-in-pointers.html <comment><USER3> I implemented this in the core data structures for IE5. We were very memory constrained as we had to run on Win95 machines with something like 12MB of RAM. I was counting bits.

The base level of the tree wasn't really a node DOM but rather a stream of document events (start element, text, end element, etc). We put these in a binary tree that was balanced as a splay tree. To drive memory usage down I reduced the {parent, left, right} pointers down to {child, next, left_child_bit, next_is_parent_bit}. 'child' pointed to the the first child. I knew if it was the left or the right child based on the left_child_bit. 'next' pointed either to the sibling or the parent, depending on the 'next_is_parent_bit'. However, to really realize the savings, I needed to hide these bits in the pointers themselves.

Other tricks that we used to save memory:

1) Put rare data into a hash table indexed off of the 'this' pointer of the object. Have a bit to indicate if it was there or not. We called these lookaside pointers.

2) Embed objects in other objects to save pointers back and forth. The embedded object would do math on its this pointer (based on bits for which embedded member it is) to get the this pointer of the parent object.

I'm not sure, but I suspect that one of the reasons I think that current IE is slower now than it should be is that a lot of these optimizations are no longer necessary and cause more problems than they solve.

<comment><USER4> Kudos to you for such a widely released implementation of somewhat insane coding.

Crashes back in Windows 95 days suddenly make a lot more sense to me...

<comment><USER3> Actually, by the time it shipped, 80% of the crashes were due to insane reentrancy issues due to the componentized nature of IE.

For example, when tearing down a page, we would go ahead and release the laster of the references to the ActiveMovie COM objects. That component was using a separate thread and wanted to shut it down cleanly during clean up. It used windows messaging to communicate to the thread and had to run a message loop. That message loop would also dispatch messages to our top level window. If the wrong message came in at the wrong time in this situation we would have code dealing with a semi-destructed data structure and it would crash. I dealt with a lot of these issues by being very defensive when calling out to anything. Things like lots of null checks, saving references to be released until the end, etc. Of course there was a perf cost for each of these that we monitored closely.

I don't _think_ that any of these were the root of security problems. Those were more due to the impedance mismatches at the level of the shell/browser host and the URL deliver services.

</comment></comment></comment><comment><USER5> This technique is commonly called "tagged pointer"

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

They are commonly used in interpreter implementations to distinguish between pointers and integers (if the LSB is 0 then the value is a pointer, otherwise (v >> 1) is an integer value)

<comment><USER6> Just for the record and to provide additional references, the technique of reusing a pointer for integer representation is rather old, for example fixnums refer to the same technique in Lisp implementation, IIRC, in Smalltalk this refers to SmallIntegers.

</comment></comment><comment><USER7> The Glasgow Haskell Compiler uses tagged pointers to implement lazy evaluation. Suspended computations are created as heap-allocated "thunks", and the runtime will tag any pointers to a thunk that is known to have already been evaluated, which can save one indirection when you need to "force" the thunk to get a value.

Furthermore, for thunks of algebraic data types with only a few alternatives (e.g. booleans, the Maybe type) the tag will encode _which_ of the alternatives the pointer actually points to. So if you are case scrutinising a boolean you can decide which branch to jump to by inspecting the pointer only with no memory access.

This last trick doesn't work if the number of alternatives is > 3 (for 2 byte alignment) because there aren't enough bits available.

</comment><comment><USER8> Some software for the Motorola 68000 did something a bit like this (though probably more for space savings/convenience than atomicity): the 68k had 32-bit pointers but the top 8 bits were ignored so some programs would store extra data there. You didn't even need to mask off the bits to dereference! I remember the Amiga ROM Kernel Reference Manuals actually warned against doing this, as later CPUs in the 68k family _did_ pay attention to the top byte in a pointer.

<comment><USER9> Surprisingly, the original AmigaBASIC written by _Microsoft_ (yes) used this very technique and thus failed catastrophically on later AmigaOS versions where the memory bus was no longer 24 bits.

Further, on the Amiga, any sensible pointers were generally 4-aligned anyway (you couldn't read words or longs from odd addresses and I think reading longs from 2-aligned addresses was slower, too, so nobody wanted to do that) so, theoretically, if you were to abuse this to the maximum effect you could've stashed 10 bits of excess payload data into an address: 8 bits in the bits 23-31 and 2 bits in 0-1 of an address. Any pointer was internally just a 32-bit address register value so you certainly had bits to spare!

<comment><USER8> Ha! I didn't know AmigaBASIC did that.

I almost mentioned the fact that pointers were pretty much always aligned on the 68k, but I never really head of anyone using those bits to store anything. The top-8 had the "nice" property that the hardware did the masking for you.

I do remember that certain parts of the Amiga OS (particularly in the file system, I believe) used "BPTRs" which were essentially pointers shifted down 2 bits -- in other words, the word index instead of the individual byte index. Normal pointers were called "APTRs" by the code that used BPTRs.

<comment><USER9> Yes, the APTR / BPTR divergence had something to do with AmigaDOS (the disk operating subsystem) was originally written with BCPL. While it was later rewritten in C, however, the ABI had to remain compatible and thus the pointer-mangling continued. I don't remember if they had any use for the extra two bits or whether the addressing scheme was coined particularly just to access a 4x large address space.

</comment></comment></comment></comment><comment><USER10> This is precisely how Ruby's object ids work. An object id is an 8-bit aligned pointer to the object's location in memory. The low 3 bits are used to identify booleans, fixnums, nil and symbols.

I'm sure this was borrowed from a lisp implementation.

<comment><USER11> Lisp machines typically had direct hardware support for these tags - <USER2> machines used 36 bit words, 32 bits of data and 4 bits of tags:

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

<comment><USER12> Also, SPARC has direct hardware support for this (for the cases that are relevant for JITed code, ie. arithmetics). But sadly, on current implementations it is often somehow emulated and thus slow.

<comment><USER13> It's because there isn't much point. Most Lisps use a tagging scheme like:

00 = Integer 01 = Pointer

With 00 as the integer tag, integer addition and subtraction can be done directly without masking off the tags. Multiplication and division need the tags masked, but are slow anyway. The tag can also be stripped off for free on any architecture that offers BASE + OFFSET addressing (just subtract 1 from the desired constant offset).

</comment></comment></comment></comment><comment><USER14> This is also a common technique used by modern Javascript implementations. A much less common and slightly more interesting approach (to me) is NaN boxing - that packs tags into unused NaN bit ranges of doubles that are encoded per the IEEE-754 format.

Chakra uses the bottom most bit to distinguish SMIs from pointers.

<comment><USER15> LuaJIT uses NaN-tagging too.

</comment></comment><comment><USER16> While this tagged pointer construct is pretty common but makes some people wretch, realize that the entire web is built upon this same concept, only bigger. The nan/nun-boxing that is used by various dynamic engines (e.g. All JS engines) relies on the fact that pointers on x86-64 hardware only use 48-bits of memory address space. They use the remaining 16 bits in the double for flags pertaining to what type of object it is. This has a nasty side effect of preventing these engines from running on any 64-bit architecture that does not have this memory address space restriction (e.g. Sparc, POWER). One either has to force the environment to only allocate space out of the lower 48-bits or come up with some other kind of encoding scheme to indicate if the address is a "far" address and should be added to the 48-bit base.

</comment><comment><USER17> In the Linux kernel, the internal Red-Black tree (rbtree) implementation uses this trick to save memory.

Quoting LWN:

"The anticipatory, deadline, and CFQ I/O schedulers all employ rbtrees to track requests; the packet CD/DVD driver does the same. The high-resolution timer code uses an rbtree to organize outstanding timer requests. The ext3 filesystem tracks directory entries in a red-black tree. Virtual memory areas (VMAs) are tracked with red-black trees, as are epoll file descriptors, cryptographic keys, and network packets in the "hierarchical token bucket" scheduler."

<http://lwn.net/Articles/184495/>

</comment><comment><USER18> If you're serious about smuggling data in pointers, there's probably a lot of mileage on the other end of the pointer if you're writing 64-bit code. While 32 bits can address 4Gb, you only need another 8 bits (say) to get a terabyte, leaving maybe 24 bits to cram with whatever you feel like.

<comment><USER19> The enormity of 64-bit pointers is something Don Knuth has complained about because it wastes a lot of memory for programs that don't need that much address space. And it actually matters for some of the stuff he writes. The old Motorola had an addressing mode that used 16 bit relative pointers. Does Intel have anything similar for x64?

<comment><USER19> Replying to myself :( The mode was called PC relative addressing, and resulted in smaller, faster code on the 68000, but things had to be written in 32k chunks. I seem to recall that it was required for the original Macintosh before they wrote a proper program loader. Anyhow, some of Knuth's code (hiss BDD package at least) has hacks to reduce the size of pointers.

</comment></comment></comment><comment><USER20> This is a really dirty hack to do and it only works if your addresses are always aligned to a 2^n byte boundary. That said, there are plenty of cases where this dirty hack is perfect for the job.

Atomic lock free data structures is one example. Tagging the pointers can be used notify that a node is going to be deleted in order to avoid the ABA problem (as mentioned in the article). Tagging pointers is absolutely essential for more complex lock free data structures, like doubly linked lists.

This can also be used in a garbage collector to add a few bits of metadata. In a GC you can (and probably should) decide to use memory objects with proper alignment, which leaves you with a few bits to store data in. A perfect solution to implement something like Lisp cons cells.

</comment><comment><USER21> OS X Lion uses tagged pointers for some CF objects: [http://objectivistc.tumblr.com/post/7872364181/tagged- pointe...](http://objectivistc.tumblr.com/post/7872364181/tagged-pointers-and- fast-pathed-cfnumber-integers-in)

Search for OBJC_IS_TAGGED_PTR in [http://opensource.apple.com/source/objc4/objc4-493.9/runtime...](http://opensource.apple.com/source/objc4/objc4-493.9/runtime/objc- private.h)</comment>


Why you shouldn't use ENV variables for secret data - <AUTHOR> https://diogomonica.com/2017/03/27/why-you-shouldnt-use-env-variables-for-secret-data/ <comment><USER2> Docker boldly solving something that previously was a non-problem. Congratulations.</comment>


Will cloud security ever be sufficient? - <AUTHOR> http://www.zdnet.com/blog/virtualization/will-cloud-security-ever-be-sufficient/3918 <comment><USER2> If it isn't sufficient for non-cloud systems, how is it expected to be sufficient 'up there'? Ah...I don't think so, less secure, in fact.</comment>


Early Adopters – Testers – Lgcy Beta App - <AUTHOR> https://testflight.apple.com/join/xnIx2xyJ <comment><AUTHOR> Hello If you're interested - please download our beta app and provide feedback to firstname.lastname@example.com

The purpose of lgcy is to capture every moment of your life story and make it last forever. What's different with our application is that a user can have multiple timelines - public or private - with the ability to add people to private timelines which can be shared content between those added.

Please note - this is the beta app. We have a lot more features we want to add - our main focus is based around creating your life story with each post added. If you're interested in joining our team, please don't hesitate to contact us.</comment>


Using Github issues to track house repairs - <AUTHOR> https://github.com/frabcus/house

<comment><USER2> I once suggested to my wife that we use the RT bug-tracking system to keep track of household chores. And then, I said, we could create an RT account for each of the kids, and buy each of the kids an iPad Mini, with the Safari homepage set to the RT page, so that as soon as they opened their browsers, they could see what chores they had to do, and easily report on their progress!

For some reason, she was not convinced.

<comment><USER3> RT?

<comment><USER4> Request Tracker. I used it for a few years for tracking IT requests and it is solid for general request... tracking. Lots of plugins, very mature.

<http://www.bestpractical.com/rt/>

</comment></comment></comment><comment><USER5> I'd suggest not adding stuff like "Front door lock stopped working" or "No one to watch the house while we're on vacation next week".

</comment><comment><USER6> Is there any particular reason you are using GitHub issues instead of a more traditional todo list app?

I'd be worried about strangers opening issues about my house...

<comment><USER7> GitHub's Issues system is pretty undervalued as a workflow/project management system. Especially once you learn to use milestones regularly.

It also lets you tack on collaborators to share the blame and responsibility. :)

Of course, you could well argue that it's a problem that it doesn't have the push, alert, and geofencing capabilities that make to-do services great to have.

<comment><USER8> So true. I use it to track every detail of my personal projects and never had the feeling that anything was missing.

</comment></comment></comment><comment><USER9> That's funny, though I think something like Trello is more appropriate for this.

<comment><USER10> Trello is definitely better suited for something like this. Heck, Kitchen Remodeling is even used as an example on their Tour page: <https://trello.com/tour>.

The reasons for using GH Issues that frabcus mentioned, such as simplicity, setup time, being public, etc. are all covered by Trello as well. In my opinion, GH Issues shines when used with an actual software project, otherwise you're better off using something else.

</comment></comment><comment><USER11> On a related note, it's funny that "issue tracking" is somewhat constrained to software development (or, put another way, the software development domain has some of the better tools for the task) when it's really applicable across industries.

Several years ago I put together a very-slightly-modified version of Trac (<http://trac.edgewall.org>) to keep track of maintenance issues with a vehicle fleet. It's worked nearly flawlessly for years and serves the purpose extremely well.

Are there any commercial projects that have taken this approach? "Software- style issue tracking for brick-and-mortar businesses"

<comment><USER12>
      > it's funny that "issue tracking" is somewhat constrained
      > to software development

In other industries they're just called something else, "help tickets", "work orders", etc.

</comment></comment><comment><USER13> This is why I love BitBucket's unlimited free private repositories.

</comment><comment><USER14> I'd just prefer a pen and paper :-|

</comment><comment><USER15> You should take a look at <http://www.redbeacon.com/my-home/> Its a tool built specifically for tracking household repairs and projects. Plus, Redbeacon can connect you with home service pros (plumbers, handymen, etc) if you need help with any of your tasks.

disclaimer - I'm an engineer at Redbeacon. Many of the team members use our My Home tool for all kinds of projects around the house.

</comment><comment><USER16> I recently began using a support ticket system (OS ticket) for similar reasons. Everytime I find something that needs maintenance around my house or building, I email support and it makes a ticket, which is then routed to the right employee to fix it. My welder does most of the building repairs, and he gets contractors for bigger projects. Now I can just look at the notes on the support ticket to see what has happened.

</comment><comment><USER17> I think this is cute but I would be worried about trolls unless you have it locked down somehow.

<comment><USER18> Really not an issue. I haven't had any, and have been using it for a year!

<comment><USER19> Well it took significant willpower not to submit a pull request for a screened-in porch and a water slide ...

</comment></comment></comment><comment><USER20> I think it's better to use a tool that is more than a simple todo list. It should be specific to your home and it should learn what your home needs. <http://redbeacon.com/my-home>

</comment><comment><USER21> if his place looks nicer than mine, I'm going to clone it. Cue the "You wouldn't steal a car" brigade....

</comment><comment><USER22> Using a free account for that type of application is an abuse of Github. Free accounts are for open source projects. Get yourself a payed account for that.

<comment><USER23> I don't think free public repositories are gift to the open source community, but freemium system designed to get people to convert to paid accounts with additional features. This project doesn't require the additional features.

<comment><USER24> Actually, there are no extra features with GH's paid plans, from what I remember. Paying enables private repositories, and all of the good stuff is still available for open source projects.</comment></comment></comment>


Freelancer.com a bad site for workers - <AUTHOR> Has anyone else here found freelancer a bad site for workers? I think, from the point of view of workers, that the site is little more than a scam or a fraud. Recently worked there on a project, and the employer refused to pay! I arbitrated, and freelancer ensured that he paid me, then let him put a 'revenge comment' in my feedback! What sort of crazy system is that? How can I ever arbitrate against a non-paying employer in future. And if I can't, what protection do I have on this worthless scam or fraud site? <comment><USER2> > Has anyone else here found freelancer a bad site for workers?

Yes, lots, of not all advise is to avoid that and similar platforms. Use the search at the bottom of the HN page and search for "freelancer.com"

\- Freelancer.com is destroying my life

\- Why you should think twice about Freelancer.com

\- Freelancer.com: Crazy or Evil?

\- Warn HN: Don't use www.freelancer.com platform

\- Freelancer.com scammed me What should I do?

</comment><comment><USER3> Aggresive charging practices is for me one of the top reasons for me to avoid such websites. Website charges a large percentage fee based on the project's cost before the project begins, and then becomes difficult with refunding when the client refuses to cooperate.</comment>


Disabling npm's progress bar yields a 2x npm install speed - <AUTHOR> https://twitter.com/gavinjoyce/status/691773956144119808/photo/1 <comment><USER2> Unfortunate that it's just a link to an image on Twitter, but not entirely surprising. Kicking off a thread to manage stdio is the usual solution, since even polling requires a syscall, which requires memory to change hands, which bumps latency some.</comment>


Volatiles Are Miscompiled, and What to Do about It [pdf] - <AUTHOR> http://www.cs.utah.edu/~regehr/papers/emsoft08-preprint.pdf

<comment><USER2> Looking at the generated code for their watchdog example and their workaround of forcing a function evaluation, it looks like the common cause of this bug amongst all of the compilers is the optimizer not respecting volatile. It's easy to understand how this could be the case.

Imagine you work on a production quality C compiler. The pedestrian pieces (e.g., lexer, parser, AST) have been stable forever. The piece that you're very likely going to be working on is the optimizer (or maybe the code generator) to make use of new techniques or new instructions. While you're going about your business, you're probably not thinking about that arcane corner of the C language spec that discusses volatile. What's more, when you finally complete your feature, all of the compiler's test suites pass because there's insufficient coverage for volatile.

The biggest contribution of this paper, besides the fact that it identified this issue across various compilers, is the notion of access summary testing and advocating for it to be included as part of the test suite for C compilers.

<comment><USER3> At least gcc's generated code has no possibility of working at all, and the system will reboot in a loop the first time it's powered up. So you're only 30 seconds away from finding that bug. (Of course, once you notice that the watchdog is being triggered it's going to be several hours of debugging before you realize that your compiler just optimized out the check.)

<comment><USER2> Hours of debugging? Days even!

Really, how often when you encounter a bug do you think it's a compiler bug? Never. It can't be. Compiler writers are infalliable.

You'll first think it's your program, or maybe you misunderstood how volatile works, so you'll read the spec again. You'll write a poodle to isolate the problem. That will reboot each time too. Then you'll think it's some odd race condition related to volatile. But you're just doing a load and a store. The reboot happens every time, OK, that's promising. Then maybe, MAYBE, if you're awesome, you'll think to look at the generated assembly. And when you realize you have a no-op, you'll start to think if you maybe inadvertently specified something wrong in your -O parameters. Because how could the compiler be wrong? It's never wrong.

Code generation bugs are the worst.

<comment><USER4> I think it's a safe bet to _start_ debugging with the notion of a correctly working compiler...

But then, I've found bugs in compilers and standard-libraries for embedded a few times already, they are much less battle-tested than your regular x86_64-linux-gnu-gcc. So at some point, I normally switch into "trust no one" mode and start reading disassembler outputs in the vincinity of the crash-site ;-)

<comment><USER5> That's when you start finding bugs in the disassembler.

<comment><USER4> ...and in your hex-editor? ;-)

</comment></comment></comment></comment></comment></comment><comment><USER6> This paper misstates the proper behavior of volatile to start

In particular, it says "For every read from or write to a volatile variable that would be performed by a straightforward interpreter for C, exactly one load from or store to the memory location(s) allocated to the variable must be performed."

This is wrong. It later kind of gets it right for C, explaining about sequence points, but it entirely misses that implementations are free to combine and eliminate multiple volatile accesses within the same sequence point.

Now certainly, most of what was reported were genuine bugs (and John reports a lot of correctness issues). But it does/did nobody favors to start with an incorrect definition.

<comment><USER4> I think if you replace "straightforward interpreter for C" with the "abstract state machine" in the standard (I'm looking at ISO/IEC 9899:1999 right now), at least the first half of the sentence you qoute it's pretty much what the standard says:

❝An object that has volatile-qualified type may be modified in ways unknown to the implementation or have other unknown side effects. Therefore any expression referring to such an object shall be evaluated strictly according to the rules of the abstract machine...❞ (§6.7.3)

For combining multiple volatile accesses within the same statement, I think I cannot find an answer in the standard.

</comment></comment><comment><USER7> Related: [https://www.kernel.org/doc/Documentation/volatile- considered...](https://www.kernel.org/doc/Documentation/volatile-considered- harmful.txt)

Sounds like "volatile" variables don't really provide good semantics for most uses even without considering compiler bugs, so it's better to just use explicit load and store macros or functions.

<comment><USER8> That is the reason the compilers mostly didn't care: the semantics of the language "volatile" is seldom what is needed "in the real world programs."

<comment><USER9> As the paper notes in the introduction, "volatile" is heavily used in embedded software where synchronization primitives like kernel's spinlocks aren't readily available.

The "buffer_ready" in the paper is a very good example that I have seen many times in the real world. If anyone can share the "better solution" that avoids "volatile" (and works on a bare-bone ARM microcontroller for example), I would love to see it.

<comment><USER8> I haven't programmed ARM myself and there are different ARMs, but as far as I understand (inspired by post from cnvogel), on most CPU's even non-ARM ones, you need to use intrinsics like these which exist on ARM:

Memory barrier instructions:

[http://infocenter.arm.com/help/topic/com.arm.doc.faqs/ka1404...](http://infocenter.arm.com/help/topic/com.arm.doc.faqs/ka14041.html)

GCC example:

[http://stackoverflow.com/questions/6751605/data-memory- barri...](http://stackoverflow.com/questions/6751605/data-memory-barrier-dmb- in-cmsis-libraries-for-cortex-m3s)

As far as I understand, volatile doesn't give you the needed "barrier" semantics (what is not allowed to happen before or after, on the deep hardware level) if the code with "volatile" works, it can be just an accident.

<comment><USER10> I don't know the details for ARM, but generally, microcontroller type CPUs don't do any reordering, so no need to prevent it with barriers. And if you do use volatile correctly (and the compiler is not broken), you don't need compiler barriers either. You also might not need any CPU barriers when the cache controller is configured to treat certain regions of the address space as uncacheable (which might be used for MMIO regions).

<comment><USER5> Modern high-performance ARM cores such as the Cortex-A15 do plenty of reordering. Even when using strongly ordered memory mappings, you still need barriers to prevent reordering between normal and strongly ordered accesses. No amount of volatile will help with this.

<comment><USER10> The parent's parent was talking about microcontroller class ARMs, though. Also, you don't necessarily have to order "normal" with regards to strongly ordered accesses. If it's only about ordering accesses to MMIO, it doesn't matter when some arithmetic result gets stored to RAM relative to those accesses, all that matters is that the hardware sees the register reads and writes in the right order. Ordering only matters for stuff that is shared in some way, for private data, the illusion of naive serial execution is guaranteed anyhow.

<comment><USER5> A common scenario is filling a data buffer in normal memory (cached or non- cached doesn't matter on ARM) before initiating a DMA operation by writing to a device register. In this situation, a barrier is required to prevent any of the normal writes being reordered around the DMA initiation which would then see stale data in the buffer.

Discussions about barriers (or volatile) are only meaningful in the context of related accesses, so explicitly mentioning this isn't really necessary.

<comment><USER10> I don't really get what you are trying to say. Sure, there are cases where you need barriers, both the CPU and the compiler kind, nobody denied that. Still, in low-end stuff, PIO and cache-free in-order execution still are well and alive, and volatile can be perfectly sufficient under such circumstances.

<comment><USER11> _I don 't really get what you are trying to say._

volatile is an antipattern. Don't use it. Don't encourage other people to use it. It is not a thing which should be used, by you. To use it would be wrong, because not using it is correct.

Use atomic instructions.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Quote from intro:

"Although the symptoms of this compiler bug—spurious periodic reboots due to failure to reset the watchdog timer—may be relatively benign, the situation could be worse, for example, if the hardware register were used to lower control rods, cancel a missile launch, or open the pod bay doors."

So _that 's_ what the problem was with those pod bay doors.

</comment><comment><USER13> so, is this kind of quickcheck for c code generators?

i'm a little surprised at how much worse clang fared.

<comment><USER14> Note the article was written in 2008 and clang was first released in 2007. "LLVM 2.2 was released on February 11, 2008, and LLVM r53339 is a snapshot of the source code from July 9, 2008." They later in that paragraph describe the improvements in clang over such a short time.

Also, it seems there are quite a few compiler bugs being found, even today. This looks like a very productive field of study, though the same could likely be said for software correctness in general. [http://blog.regehr.org/archives/1061](http://blog.regehr.org/archives/1061)

This particular paper's software (its modern equivalent) is at [https://github.com/csmith-project/voltest](https://github.com/csmith- project/voltest)</comment></comment>


Unbundling AWS - <AUTHOR> https://www.tclauson.com/2019/09/11/Unbundling-AWS.html <comment><USER2> One major thing this doesn't consider is the technical limitations which are latency & bandwidth.

(1) You save a ton of money on bandwidth when you move data from AWS to AWS

(2) Your stack, in most cases, needs to be near each other to minimize latency. Databases get wrecked by this.

This is why, cloud database providers have to often transparently show you which cloud you're launching on [1] which effectively means AWS is going to get a good share of it anyway. My uninformed guess is that EC2&S3 are by far their biggest money maker which is going to be what unbundlers target.

I'm all for the unbundling and will probably take part in some of it, but I don't think it will be that easy.

[1] [https://www.cockroachlabs.com/product/cockroachcloud](https://www.cockroachlabs.com/product/cockroachcloud)

<comment><USER3> > You save a ton of money on bandwidth when you move data from AWS to AWS

This is only because AWS grossly overcharges for bandwidth. If you move all services that have high bandwidth requirements to providers with reasonable prices you'll save a significant amount of money.

<comment><USER4> Within a single AZ. Inter AZ is charged. It's also frustrating that AWS infra doesn't optimize for same AZ (and only fall back to another AZ if an AZ is impaired). For example, a client in us-east-1a can hit the Aurora reader endpoint and be directed to an instance in 1b even though there's a healthy instance in 1a.

</comment></comment></comment><comment><USER5> Once you have significant data on AWS it costs you so much to transfer it you are stuck with them. Their data fees are insane, and so are their storage fees.

Also, AWS is slow. If I have a filer with 500TB of disk I should be getting 5-10GiBy/s reads, and burst writes should be that fast too. With EFS I get 200MiBy/s MAX. Likewise EBS and emphemeral SSDs top out at 250MiBy/s, which is just abysmal.

AWS security is so complicated now, at the control plane layer, that hardly anyone understands it.

So if there was a competitor that gave real hardware performance and a simpler security validation at a reasonable price, they could win business. But I don't see Oracle/Azure/GCP etc doing that.

<comment><USER3> > AWS security is so complicated now, at the control plane layer, that hardly > anyone understands it.

IAM and security management are the worst parts of AWS. It's complex an unintuitive. I always second guess my choices, wondering if I've left a gaping security hole somewhere.

<comment><USER6> I too have been wondering the same. Does anyone else see a need for some external service that examines resources/permissions and give a clear picture and ongoing monitoring for changes? Are there any services that already do this well?

<comment><USER7> Amazon makes one [https://aws.amazon.com/config/](https://aws.amazon.com/config/)

</comment></comment></comment></comment><comment><USER8> The analogy in the article is wrong. Aws is not a marketplace and does not enjoy network effects.

I.e. if developer A uses AWS, this does not affect developer B.

What AWS enjoy is economy of scale (huge capex) which should help reduce price (but I am not sure that this is happening), and being first to market (Nobody got fired for choosing IBM).

Basically the main value prop today, as I see it, is saving the operation costs (human cost), by offloading them to amazon.

This will be solved by Kubernetes operators.

Moreover, most of the new computational intensive workload (E.g. IOT / AI ) is better done on the edge.

<comment><USER9> There are more than one type of network effects. This one is called "Indirect network effect". What you have written is direct network effect.

As more developers start using AWS, there forms a large developer ecosystem around AWS tools and services, and therefore "developer B" will find it much easier and cheaper to use AWS, indirectly.

<comment><USER10> I don't think that indirect network effect is particularly strong in this case, though.

There are similar ecosystems around Azure and Google Cloud, and there are plenty of tools that support all 3 clouds equally.

I really don't think AWS is getting any kind of meaningful competitive advantage here these days. And if there's any at all, it's dwarfed by technical, financial, and strategic factors.

<comment><USER11> In BigCorp, which is ~half of all business, there is consistent pressure to standardize: cost, security, education, etc. There are all sorts of other levers too, like negotiated group deals -- at places like Netflix, AWS is effectively free, while any other vendor requires going through procurement. Competing with a negotiated loss leader - free - sucks. Azure benefits a LOT here due to other MS bundling.

I'm increasingly convinced all this means we are entering a telco-like monopoly era for Big Cloud software, starting at the infra layers and steadily moving up. I'd love a more savvy approach from Elizabeth Warren to be less 'break them up' to more 'these are the anti-competitive bundling violations.'

</comment></comment></comment></comment><comment><USER9> I am all for unbundling AWS, but I think it's different from Craigslist.

Craigslist is a consumer facing app, which is much easier to "unbundle" than something like AWS which faces enterprises. Even if some "unbundle wannabe" starts getting traction, I think Amazon will simply catch up by lowering the price as much as possible and putting more resources into improving the developer experience for the corresponding service.

But if anyone has some great insight, please share. I would love to see this "great unbundling of the AWS" happen.

<comment><USER12> A frequently overlooked aspect in enterprise is billing, accounting and supplier agreement overhead.

In enterprise, Joe developer can often add / use more AWS services and it just goes on the giant enterprise bill, no questions asked.

If you want to use a third party service, waay more work. Supplier assessment needs to be done (by the department that does that) looking at security, company stability, data sovereignty etc. Procurement get involved to negotiate supplier agreement with the vendor and your project needs a specific budget line item which might require a trip to accounting. To get signoff and justify your vendor selection you might also have to do a stupid internal evaluation thing / bakeoff (even though of course you know the thing you really want) where you build feature matrix and carefully adjust the rows so your preferred vendor gets the most ticks.

All this paperwork can take weeks or months.

While a lot of the AWS service offerings are sub-par compared to alternatives, the technical work of papering over this is usually less risky than dealing with all the internal departments which will delay your project if you try to use another vendor.

I think this is a big driver towards bundling being a win for them.

<comment><USER13> Heck, I work at a 20 person company and this is still generally true. No one is stopping me from using a new service, but using AWS means no new paperwork and no questions.

Actionable advice on this would be: If you're B2B, have an option for yearly billing via invoice.

Billing yearly via invoice vs a monthly direct debit means our finance people deal with payment, and just ask Engineering once a year if they should pay this weird bill they got. Billing via direct debit means I have to do paperwork every month. I don't enjoy things like paperwork. I do enjoy things like building a single customer MVP version of your service on AWS in a couple hours. You can guess which I'm going to choose if you don't offer yearly billing.

<comment><USER14> Seems a bit risky to wait a whole year to collect what's due. I don't believe I ever heard of yearly invoicing like this.

Of course, if your small company would like to _pre-pay_ towards an approximation of your early invoice I'm pretty sure some company would be accommodating.

<comment><USER13> I figured paying for a year up front was implied.

<comment><USER15> Not sure how that could work since most services are based on consumption

<comment><USER16> Consumption buying is mostly done through the AWS marketplace. Its a good model for companies to try a new vendor but AWS is going to take a big wet bite out of the vendors bottom line. Buying licenses directly from vendors is going to benefit both sides if they have a known demand. You'll generally see an "all you can eat" license after a certain threshold.

</comment></comment></comment></comment></comment></comment></comment><comment><USER17> In the tech circles I hang out we think of AWS as the next operating system. In 10-15 years it will be mostly invisible to the application programmer due to abstractions built on top of it. This is a new frontier for startups.

<comment><USER18> alternatively in 15 years there will be less than 0.01% workloads that a mainstream 2-way Epyc XXXX Server with 512 physical cores 64TB RAM and 10,000,000 IOPS will not handle so 90% of cloud services will become meaningless :).

<comment><USER19> > _90% of cloud services will become meaningless_

As will that Epyc XXXX server, absent a well-peered and hardened services mesh for it to plug into.

Cloud shouldn't be used for just someone else's computer. It's not the compute or the storage, it's the network.

<comment><USER18> Thats cloud ad copy :) >90% of cloud services are there to deal with workloads that need to span machine boundaries. The only thing you need for that Epyc XXXX server(s) is decent colo service + cloudflare. Cloud is the new mainframe and with things being cyclical might repeat it's fate to a degree.

</comment></comment></comment></comment><comment><USER20> Kind-of alluded to in the article, but if you're going to unbundle AWS, you're going to have to figure out how to get the bandwidth 0-rated. One of amazons biggest moats (imo) is that they can realize monumental cost savings on bandwidth while making it very pricy to other service providers. So if you need to architect bandwidth-hungry or "high scale" applications, going outside of AWS becomes way too expensive. Even privatelink tacks on bandwidth charges.

You'd have to look at DB providers like Elastic to see how to do this, I think. But it's going to involve a very complex and high touch deployment & support environment. This effectively "prices out" certain classes of applications as too expensive for value returned. Again I could be looking at this very wrong, and figuring out how to build profitable unbundled AWS services would be a great business, but it's hard to see how to successfully execute.

<comment><USER21> I think the Cloud is a result of a gradual move towards centralization of networked software built by software developers living in countries where DSL and cable broadband was rolled it early. It was a bit like mainframe developers back in the day. I remember people discussing "fat clients" vs "thin clients".

We forgot what it's like to have dialup, and the innovative generation of decentralized software protocols (IRC, Usenet etc) faded into obscurity. Even Email and the Web are now centralized!

Well the companies won and now we have a feudal kingdom again where we are the _data-serfs_. We have been well-trained like pavlov's dogs using notifications and rewards (likes, comments) to till the _datafields_ and plant fresh crops, use our social capital to reshare articles etc. And you know that you're a serf when that notification lights up on your master's device and you pause talking to your girlfriend, wife or child to look at it and maybe act on it.

And of course governments love having a central place they can implement censorship and spy on everyone.

This has got to stop. It's not just a technological topology problem, it's become a sociological problem and even a problem of democracy and society. THE SOLUTION IS OPEN SOURCE SOFTWARE that will disrupt the landlords of the Web (Facebook, Google, Amazon etc.) as much as the Web once disrupted the landlords of the Internet (AOL, MSN, Compuserve).

The first HTTP browsers weren't better than AOL at anything except one thing... ANYONE could permissionlessly host a web browser.

What realistic alternatives do we have to Facebook today? Google Docs? That anyone can easily host and share stuff with friends to easily collaborate? It would have to have people's identity and contacts stay consistent across domains, without owning them and storing them on centralized servers like Facebook.

I know a few attempts. Diaspora, Solid, Mastodon and Matrix. I also liked Sandstorm a lot, and OwnCloud was ok. They have not reached mass adoption. Scuttlebutt is slightly better in that it can interoperate with everything. The biggest winner in the last few years has been the DID standard, although it solves one problem only.

There is also an innovative project called MaidSAFE which raised around $10M and spent 12 years so far building this back-end. I have high hopes for it once it is released and plan to make Qbix Platform interoperate with it. Check it out: [https://maidsafe.net/](https://maidsafe.net/)

We will eventually replace the idea of a startup running a database that has to scale, with an open source startup that releases software that anyone can pay any hosting company to run and makes money via tokens. That was the dream of cryptocurrency. The first kind of startup extracts rents via a SAAS model and forcibly bundles infrastructure management (Slack, Salesforce, Twitter, Etsy, you name it). The other doesn't care about cheaper "cloud" costs so much, because anyone can host it (Wordpress, Magento, Drupal etc.) and the hosting costs are miniscule for each individual client business. Wordpress and Magento and Drupal are all valued in the billions, as open source companies. Maybe people on HN should strive for this rather than "Zero to One" "competition is for losers" "build a monopoly and extract rents" Peter Thiel style facebook startups.

Do we need something like this? Or am I just ranting?

 _EDIT: why whenever I post this subject, it is heavily downvoted with no actual replies or explanations showing me why my position is wrong? Is there a coordinated effort to downvote this position without further engaging with it?_

<comment><USER22> You are missing the biggest key to everything: The network effect doesn't happen if people have to install software. FB and twitter et all are so pervasive because the 90% of the population that is tech illiterate can use it by just signing up. When you talk about things people can pay any host to run, you've already lost the argument. Aside from the need to install, now people also have to pay for hosting, which is a huge negative.

<comment><USER21> I disagree, because Wordpress powers 34% of all websites in the world. Surely that is an example of adoption? Showing it's possible for non techies to own their own stuff?

What about the Web? Why did people install web servers instead of hosting on AOL? Because web Browsers existed, and let you consume that data. Couldn't you likewise argue that no business would want to mess around with hosting their own website and a bevy of competing hosting providers would never displace AOL?

<comment><USER23> > I disagree, because Wordpress powers 34% of all websites in the world. > Surely that is an example of adoption? Showing it's possible for non techies > to own their own stuff?

This is a very bad example since most of them are insecure, out of date, and not actually run by the non-techies. Most people just contract it out, once to someone who said he could setup a Wordpress site for cheap, and then they just pay them or someone else to make any major changes. If it isn't that, it's another company, or Wordpress itself hosting their instance, again, the software isn't being run by the "non-techie".

> Why did people install web servers instead of hosting on AOL?

I don't think a lot of people did, again, they paid someone else to host it. Shared web hosting was, and still is, a very large market.

<comment><USER21> That's what I said. There are companies which are in the business of hosting and they compete unlike the monopoly on hosting Facebook.

People pay them to take care of hosting. But they have a _choice_.

</comment></comment></comment></comment></comment></comment><comment><USER24> > As an early stage investor, I'm hard-pressed to name any tectonic shifts > that have had as much impact on startup formation.

Gross exaggeration. Most startups should worry less about 100% uptime and scaling than about sales. A dedicated server or two goes a long way, and it isn't/wasn't really that much harder.

<comment><USER25> It's really crazy the myopia I see with posts like this. I've worked in the B2B space mostly in healthcare.. When you get a sale to business where they are outsourcing a major piece of their functionality to you. You can't shrug and not worry about uptime. If you're building Twitter it doesn't matter.

<comment><USER26> Right, but at least where I work (Austria/Germany) if a healthcare provider is outsourcing their data to you, they won't allow you to use AWS anyway (data has to be on your servers, in the same country, run by a company owned in that same country). So even if you are in the situation where you have to worry about uptime, AWS isn't a solution.

<comment><USER27> AWS and Azure both partner with local companies to meet the data residency/sovereignty requirements, IDK about healthcare regulation though.

</comment></comment></comment></comment><comment><USER28> > some of their offerings shift from being best-in-class to being very > reliable and with a 'just-ok-but-well-integrated' user experience.

I would go further and say that some of their experiences are buggy and often non-functional. Ever tried to search for a service in ECS? The results load from the backend, and it's a _frontend based search on the backend set_. Meaning it will say your service does not exist, but you're only searching on that page * offset.

Then there's the Elastisearch fiasco... [https://spun.io/2019/10/10/aws- elasticsearch-a-fundamentally...](https://spun.io/2019/10/10/aws- elasticsearch-a-fundamentally-flawed-offering/)

There are many examples where basic AWS functionality is broken.

</comment><comment><USER29> One missing point is the support for customers and partners. AWS and Azure provide amazing support experience which emulates and improve what Cisco, HP, IBM did in the Enterprise space many years before: TAC, Forums, certifications, partner ecosystem. When you have an issue someone will actually respond to it. I was interested in Google Cloud but their support was non-existent, seems to be that their leadership came from the consumer world where a person is just dumb and their product is always perfect. Specifically I had an issue with Firebase which I found the answer on Stackoverflow eventually (app was down for few hours because Google blacklist my environment by mistake). Since my company relies on high availability, we needed to work from day 0 with AWS on the design and have a person which would be available to respond to queries directly. Looks like with new Google CEO that's changing but just cares about large enterprises . With that in mind AWS and Azure to me will become a binary option.

</comment><comment><USER30> A 1GB hosted Redis instance is $40/mo on Azure (which I'm told is competitive with AWS/GCP) yet a "bare-metal" instance with 1GB of memory (in which you can configure to run Redis yourself) is $5/mo.

Are all hosted infrastructure prices this inflated?

<comment><USER2> Backups, configuration and failover. Which traditionally meant a db guy or an ops guy which costs money. I've done it for multiple database technologies and doing it right is not at all easy or cheap on time.

With that said, Kubernetes _might_ fix this because they have access to more parts of the system in a generic API. With tech like KubeDB[1] and other operators[2] we might see these prices coming closer to bare-metal.

[1] [https://kubedb.com/](https://kubedb.com/) [2] [https://github.com/zalando/postgres- operator](https://github.com/zalando/postgres-operator)

<comment><USER30> Does running Postgres in a container hurt performance?

<comment><USER31> No.

<comment><USER32> It used to be unreliable. Is it not now?

<comment><USER31> I don't think so. We run a bunch of things in k8s / docker and you can achieve bare metal performance.

</comment></comment></comment></comment></comment></comment><comment><USER33> A lot of the value of AWS is its integration within itself. (even if it can be full of rough edges). I think the danger with unbundling is that your competing project needs to be clearly so much better that people are going to be willing to go through the hassle of configuring a lot of complicated networking to work with what they already have, along with separate billing etc. Not saying it can't be done, but it means the barrier to entry is really really high. You're not just convincing them your service is better, you're also convincing them that it's so much better that they should be willing to take on extra headaches for it.

If I were to compete with aws, I think the area I'd really go after them with is better kubernetes support. I've yet to see any cloud provider really do it well, to be honest (which isn't surprising, development on kubernetes moves so fast and it's so advanced, it's kind of amazing, but that does mean it's really hard to make it nice outside of a "works for a demo" kind of deal). Azure and GCP do kubernetes a little bit better, but I think if someone were to come in and say, like, I don't know, we can do kubernetes on bare metal so it's much faster than through a VM, and all our services are natively integrated, that would be a cool story.

The other area I might compete with AWS is in finding niches where organizations might be hesitant to build an operations department, but they really need cloud computing. So, for instance, maybe scientific computing or something like that. If you could make a really useful cloud that can be administered by someone who barely knows linux, that could be a thing.

</comment><comment><USER34> Hm, I don't think the craigslist analogy works.

For the same reason it's difficult to argue there's opportunity for "unbundling Facebook" by launching a new image sharing service, building a news aggregator to compete with newsfeed, building a new messaging app to compete with Messenger, etc.

The main reason I disagree with the premise is security / compliance requirements of large customers (a large percentage of the market). The largest purchasers of AWS-like services prefer to work with as few vendors as necessary to minimize the number of vendors they need to worry about during security audits, contracting, etc.

The other obvious problem is, similar to Facebook, AWS has a "network effect", in that all AWS services live in the same physical data centers, which results in potentially competing services suffering from higher latency than "native AWS" services which might make it harder to compete.

Consumers did not have the same level of loyalty to Craigslist as business have to AWS.

</comment><comment><USER35> LAMP was a simple stack. It was performant, and not bloated. That's why 1000 different datacenters could provide the same service. Are there such sub- bundles in AWS that are cheap enough to run without amazon's scale ? Do people even need that huge scaling capability or is AWS just convenient?

<comment><USER36> I honestly don't get this myself. I understand AWS for a fast moving startup, but I'm seeing friends start hobby projects that will never need more than one $5/m shared dedicated host, and pay $60/m for worse performance.

<comment><USER37> Personally I use DigitalOcean for this sort of thing. But this is why AWS has Lightsail [https://aws.amazon.com/lightsail/](https://aws.amazon.com/lightsail/) to service that use case and then let people upgrade later to full AWS.

</comment></comment></comment><comment><USER38> [https://twitter.com/br_/status/979442438254166016](https://twitter.com/br_/status/979442438254166016)

> "selling AWS at a loss" is crisp shorthand for a lot of startups' business > models!

</comment><comment><USER39> It is usually easier to dump costs to the already hefty AWS bill than push a completely new service provider through procurement process.

</comment><comment><USER40> How does the Unbundling work if the Services you are Unbundling runs on AWS?

I dont understand how Craglist and AWS relates? Craglist.... is a .. list or a market place. AWS is literally like a Fortune 2000 business that is in itself fully vertically integrated from Hardware to Software and Network.

And then you have economy of scale, and Good enough is enemy of Best. The barrier of Entry to recreate Craglist is less than a rounding error in recreating AWS or even any part of its sub component.

I dont have any numbers to back me up on this, so take this with the biggest grain of salt. I do think there is a Market for provider that sits underneath AWS or GCP, something like DigitalOcean. AWS or GCP are like Enterprise product with millions of features being offered to all, while DO is like a simple to use product that is scaling up its feature offering. And it offers the essential of Cloud Hosting with Better experience. ( Comparatively Speaking )

Or Heroku with their own Infrastructure, ( or Cheaper Pricing )

</comment><comment><USER41> I made a similar argument [1][2] about tipping the cloud computing market from vertical to horizontal integration. One important aspect of this transformation is to maintain the feel of an integrated cloud provider, and not let the customer/end-user deal with the cost of heterogeneity [3].

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

[2] [https://speakerdeck.com/bassam/opening-up-the-cloud-with- cro...](https://speakerdeck.com/bassam/opening-up-the-cloud-with-crossplane)

[3] [https://crossplane.io](https://crossplane.io)

</comment><comment><USER42> There's definitively a market for unbundling services from Amazon, but the problem is that people forget what the actual killer feature of AWS is; IAM and Instance Metadata Service.

<comment><USER43> Can you elaborate? After your comment I started thinking I must not really get IAM.

<comment><USER19> IAM = dynamic role based access to _and among_ all your things, through policy-as-code.

If you just Allow: *, you might not care. If you practice least privilege, this is hard to do another way.

</comment></comment></comment><comment><USER44> Small note: I wouldn't count the serverless framework as cloud agnostic. Yes you can use the framework for all major clouds but you have to adjust your project for that. Serverless does not abstract the events, function context or other service APIs which would be needed if it would be really cloud agnostic = you can deploy your project to different providers without changes.

</comment><comment><USER45> Craigslist didn't try to improve their product which left me opportunity for other startups than there would have been otherwise.

</comment><comment><USER46> > There are obvious differences between Craigslist and AWS. The most important > is that Craigslist (and each of the category spawn) is a marketplace, and so > has the powerful advantage of network effects.

Isn't AWS also a marketplace?

<comment><USER47> No. It's only amazon selling services, not everyone. Amazon is a service provider.

<comment><USER48> This is... Kind of true, kind of false.

The AMI marketplace is probably the biggest and most long running example of a marketplace where others are selling services (software licenses/support), but privatelink allows people to make a SaaS and not only sell it on a marketplace on AWS, but also do so with an endpoint in your VPC so you don't have to go out over the public internet.

I have no idea how well utilized that sort of thing is, so in reality it might be similar to there not being an option in the first place, and I'm sure in general Amazon sells far far far more services themselves, but it is possible for people besides Amazon to sell services on AWS.

</comment></comment></comment><comment><USER21> Most profits are obtained by bundling closed-source or costly infrastructure together with stuff that is cheap but inseparable from it, so you can extract rents.

That's why open source unleashes an explosion in innovation.

</comment><comment> awinter-py author's focus on datadog & metrics tools as the place to innovate is a smart way in

in particular, declarative dashboards (from code) and declarative alerts (from code) would make my life a lot easier

feedback-based / ML alerting thresholds might also hit the spot -- this is an area where black box isn't safe enough and some innovation is needed

getting any piece of information from datadog or amzn / goog's in-house dashboards is like pulling teeth -- they're _so_ slow and clunky

</comment><comment><USER49> AWS is expensive for what it is. I really don't understand the hype machine around what they provide, since openstack has been around for a few years.

</comment><comment><USER50> 1\. AWS got business advantage of buying 100+ services at once, without going through procurement, invoicing, GDPR Data Processing Agreements, on/off boarding, same support, good security and uptime, credibility of keeping backward compatibility for decades etc.

There should be open platform that would eliminate that advantage.

2\. EC2 and S3 when used properly would be harder to beat. You can get reserved discounts, spot, elasticity... Moving them would require paying for bandwidth which easily makes playing field uneven.

3\. The higher layer of services CloudWatch, ElasticSearch, Cognito got much higher margins, yet lacking functionality and quality. Much easier targets for disruption.

</comment><comment><USER51> I've not come across the term JAMstack before, why doesn't this make sense for using with AWS as the author suggests?

<comment><USER52> AWS is best for big projects with lots of data processing in different ways that need scale, that's what all the features are for. JAMstack usually implies a simple text API which you could use on AWS AppSync for example but there are much simpler horizontal alternatives since a tiny websocket server can handle many 100,000s of users.

</comment></comment><comment><USER53> another point: you don't pay for services you don't use, so AWS is not "bundled" to begin with. you get to pick and choose. in such a model, i don't see any benefit in fragmentation tbh.</comment>


Legally evade taxes; buy your own offshore company. - <AUTHOR> http://loophole4all.com/

<comment><USER2> I thought perhaps that the 'Paolo Cirio Ltd' at the bottom of the page was a fake company name, but it actually exists. Its first annual accounts are due to be filed in a couple of months, so I'll make a calendar note to download them then.

[http://data.companieshouse.gov.uk/doc/company/08188080](http://data.companieshouse.gov.uk/doc/company/08188080)

</comment><comment><AUTHOR> Loophole4all is another art project by Paolo Cirio, one of the people behind the recently HN front-paged "Google will eat itself" project. This is probably one of the most interesting pieces of art and social commentary I've come across. Especially relevant to tech since Facebook, Apple, etc. are infamous for using these tax evasion schemes. (Note: the site was launched a year ago.)</comment>


How Doughnut-Loving Cops Became a Stereotype - <AUTHOR> https://www.smithsonianmag.com/smart-news/how-doughnut-loving-cops-became-stereotype-180956730/?no-ist <comment><AUTHOR> tldr: In the 1950's, doughnut shops were some of the first food businesses commonly open late at night. They became hot spots for police working the night shift since it gave them a place to grab a snack, fill out paper work, or even just take a break.</comment>


Show HN: SSH key deployment and account provisioning made easy (v2) - <AUTHOR> https://bastio.com

<comment><AUTHOR> Hi, one of the creators here. We got some really great feedback last time and went back to implement a daemon-based service. We are interested to know what server admins think of this tool, and what they find most useful about it. Also, we are adding a bastion-as-a-service soon. Thanks.</comment>


Facebook TransCoder AI converts code from one programming language into another - <AUTHOR> https://venturebeat.com/2020/06/08/facebooks-transcoder-ai-converts-code-from-one-programming-language-into-another/ <comment><USER2> the beginning of the end.</comment>


Mars One Is Still Completely Full of Shit - <AUTHOR> http://www.gizmodo.co.uk/2015/08/mars-one-is-still-completely-full-of-shit/

<comment><USER2> I hope no one honestly ever thought Mars One was anything besides an elaborate sham to get people to pay an 'application fee' so the creators could walk away with a quick buck.

Edit: not even a quick buck, they've nearly raised 1m - [http://www.mars- one.com/overview-of-donations-and-merchandis...](http://www.mars- one.com/overview-of-donations-and-merchandise-revenue)</comment>


Borland's ObjectVision - <AUTHOR> https://www.youtube.com/watch?v=mQKESLjVdE0 <comment><USER2> I worked at Borland just before this came out. CASE (now called "no code") was hot then and didn't really absolve anyone of programming or debugging skills. And it still doesn't.

Best part is the beginning where the teacher says you can learn "everything you need" to write Windows apps in an hour. Of course you can!

<comment><AUTHOR> Yes, marketing a "visual" programming tool for non-programmers always struck me as a bit reckless, if not dishonest. But ObjectVision was fun while it lasted though. The way it automatically connected ("linked") with desktop databases was impressive for its time.</comment></comment>


Show HN: Fibery.io – New work management platform - <AUTHOR> http://fibery.io <comment><USER2> Don't mess around with scroll... also no https?

<comment><AUTHOR> We've used Readymag for the website, will check how to enable it.

</comment></comment><comment><AUTHOR> Fact: Fibery.io is written in Clojure</comment>