Humans of Simulated New York: an exploratory comprehensive model of city life - <AUTHOR> https://arxiv.org/abs/1703.05240 <comment><USER2> Even though you can't draw any meaningful conclusions from this, I think this is a great effort. The results are weird in the sense that the results in the scenarios don't resemble our current outcomes. A couple of comments on that:

1) Models are hard to get right. You need to find the right balance between simplifications and reality. The results indicate something is not calibrated or functioning the same as our current state.

2) Models are intended to be simplifications. We draw meaningful results from very simple models (e.g. supply and demand) but without modeling the complex interactions it's hard to say what impact could a certain policy have on the _system_. Agent-based models are a way to do this and the computing power available is allowing us to experiment with this.

Re: #1. We may find that modeling and seeing outcomes similar to our own is very hard to get to. This may be due to model specification, or it could be that given the rules that govern our own interactions and intentions, our current state may be the one we just chanced upon.

This is a hard challenge to tackle but I'm glad that the authors have published this and shared their code. Don't expect to have prescriptive solutions from it anytime soon though.

<comment><USER3> You may also find that the theory upon which you are basing the conclusions is completely and utterly wrong.

And by that I mean most economic theory about how to run policy.

</comment></comment><comment><USER4> Seems similar to the various Simcity designs. I wish it was available in a form we could interact with. When designing simulations like this of real life, among other problems the initial conditions are hard to generate since real cities grow in historical contexts, not at some recent starting point. I assume the initial conditions probably result in a fairly unpredictable and chaotic end state.

<comment><USER5> The scifi book Blindsight has a similar concept - simulated environments for disease testing - but instead of creating a new simulation researchers use MMOs. Thinking about real-life examples, I wonder if a game like WoW with history and aspects of civilization would be accurate enough to research disease spreading.

<comment><USER6> This article: [https://www.google.pl/amp/s/mrepidemiology.com/2011/09/07/us...](https://www.google.pl/amp/s/mrepidemiology.com/2011/09/07/using- video-games-to-model-real-life-outbreaks/amp/)

And an amazing podcast, "This week in virology": [http://www.microbe.tv/twiv/twiv-7-viruses-in-video- games/](http://www.microbe.tv/twiv/twiv-7-viruses-in-video-games/)

</comment></comment></comment><comment><USER7> It's not completely fair to judge the quality of this paper by the first few references (8 and 25, in particular), but it does make me extremely dubious. It's not really appropriate to cite Ed Glaeser in an urban modelling paper (or anywhere, really, other than as a cautionary example), and that interpretation of Bettencourt and West won't bear much scrutiny either. I won't address the…contributions (I work in a department that does a lot of urban modelling and ABM – it's cited in the paper – but I'm not a modelling / ABM person myself)

<comment><USER8> @urschrei: Seconding the request for Glaeser criticism.

<comment><USER9> Glaeser is cited in the context of advocating for cities as a green solution (basically, the compact city advantage). See his comemercial book 'The triumph of the city' [https://fee.org/articles/the-triumph-of-the-city-how-our- gre...](https://fee.org/articles/the-triumph-of-the-city-how-our-greatest- invention-makes-us-richer-smarter-greener-healthier-and- happier/?gclid=CjwKEAjwtbPGBRDhoLaqn6HknWsSJABR-o5sMMq72bB0CsX2TH6_PaT7scV8BTJ8W9etZbofzXq30hoCnkXw_wcB)

</comment></comment></comment><comment><USER10> Interesting what turned out to be the best scenario.

 _The scenario with 'Low technology' seems to be the most reasonable one with an initial decrease in quality of life that rebounds in the later run of the model. That seems to happen, as prices remain much lower than those observed in the 'Average' and 'Positive' scenarios, although not at zero as the 'Negative' one_

Where the scenario »Low technology« is defined as follows.

 _• a massive solar flare from the sun disables all electronic equipment

• a bioengineered super-nutritional food is available

• disease has been totally eliminated_

</comment><comment><USER11> I suggest it is a near certainty that these New Yorkers are living in a simulation.

</comment><comment><USER12> A static version of HOSNY can be explored on our website: pubsci.agency!

</comment><comment><USER13> That is how it begins.

</comment><comment><USER14> This is breakthrough. I'm telling you, it is a game changer, and it was coded by women -- which is also significant.

Simulation of human life combined with reality capture and BIM software are going to change the game. So-much-so that the market price of commodities like copper and aluminum are going to become of GLOBAL interest.

This could not have come at a better time than when scientists are freaking out about the Great Barrier Reef being almost completely dead.

<comment><USER6> I think you're getting downvoted because your comment sounds like rambling.

Perhaps you have some good ideas, but the form is terrible.

<comment><USER15> I assumed it was a bot incorporating unrelated keyphrases.</comment></comment></comment>


Ask HN: Fastest IMAP implementation? - <AUTHOR>

I set up Google Apps for my start-up and IMAP is painfully slow (in Outlook at least and I've seen it on the Mac as well). Based on research, I'm not the only one experiencing this.  So, is there an email provider where IMAP is blazingly fast or do I just have to live with this? <comment><USER2> The best course of action would be to sync your imap folders to a local server (OfflineImap with dovecot is an amazing combo). I'm using Google Apps like that, and it's blazingly fast. It does eat a lot of disk space locally aswell, but that's something I can afford for now.</comment>


Triplebyte's CEO apologizes for planing to make user profiles public - <AUTHOR> https://pastebin.com/n0b03k6g <comment><USER2> This feels like a case of being easier to apologize than to ask permission.

Also it doesn't require any amount of thinking to know that taking private data you were given in confidence and making in public is immoral.

It should also be illegal.

<comment><USER3> Or a PR stunt. This sort of backpedaling has become very common to promote brand awareness

<comment><USER4> Or even crazier thought, he figured it was a good idea and then rethought it out when the HN backlash happened.</comment></comment></comment>


Cloudflare: Public keys are not enough for SSH security - <AUTHOR> https://blog.cloudflare.com/public-keys-are-not-enough-for-ssh-security/ <comment><USER2> The first section of the article doesn't clarify that losing track of your private keys is a bad thing (infers private and public keys are the same).

Saying that, I'm a big fan of the design Cloudflare are doing here and it greatly limits the attack surface. There are however other ways of doing this but I suspect CF's approach will get more traction due to the lower setup cost.</comment>


What the World Would Look Like If All the Ice Melted - <AUTHOR> http://www.nationalgeographic.com/magazine/2013/09/rising-seas-ice-melt-new-shoreline-maps/ <comment><USER2> "There are more than five million cubic miles of ice on Earth, and some scientists say it would take more than 5,000 years to melt it all."

And it's unlikely we'd keep burning fossil fuels all that time.

More context from [https://en.wikipedia.org/wiki/Sea_level_rise](https://en.wikipedia.org/wiki/Sea_level_rise) :

"Sea level rise has been estimated to be on average between +2.6 millimetres (0.10 in) and 2.9 millimetres (0.11 in) per year ± 0.4 millimetres (0.016 in) since 1993[3] and has accelerated in recent years.[4] For the period between 1870 and 2004, global average sea levels are estimated to have risen a total of 195 millimetres (7.7 in), and 1.7 millimetres (0.067 in) ± 0.3 millimetres (0.012 in) per year, with a significant acceleration of sea-level rise of 0.013 millimetres (0.00051 in) ± 0.006 millimetres (0.00024 in) per year."

If sea level rise continues at its current rate of 3mm/year, we'd expect to see 30cm (1 foot) of sea level rise by 2100. If the rate doubles to 6mm/year (as some expect), expected rise will be 60cm (2 feet). That's unpleasant but not an existential risk to humanity.

The maps in the article look dramatic, but they're predictions for the year 7000AD. People can move and adapt in that timeframe.

</comment><comment><USER3> Original post is from 2013.

It's a good article, but it is a few years old.</comment>


Apple reveals unencrypted heart of iOS 10 code - <AUTHOR> http://www.bbc.co.uk/news/technology-36594705 <comment><USER2> Either awesome move to crowdsource vulnerabilities and improve stability...or horrible internal mistake.

The code (of course) isn't public, it's just that the kernel isn't encrypted. Some places are reporting it inaccurately.</comment>


Why Do We Sleep Under Blankets, Even on the Hottest Nights? (2017) - <AUTHOR> https://www.atlasobscura.com/articles/blankets-summer-hot <comment><USER3> >You may think it's unnecessary to use a blanket at 10 p.m., when it's still hot, but by 4 a.m., when it's colder and you're unable to shiver? You might need it.

We have a common saying for this in Turkish. When somebody feels hot and insists on sleeping without something covering them, we say something like "it snows on a sleeper at night, you better take this on you" and hand them a minimal sheet to sleep under.

<comment><USER4> Quite randomly, regarding Turkey, I just watched the movie Midnight Express. Then watched Midnight Return right after. Only because I saw someone on HN talking about how many cats there are in Istanbul, and name-dropping the movie. Now I really want to go there. Without smuggling any hash of course. Crypto hashes are okay right? ;-)

<comment><USER5> have you watched KEDi? :)

<comment><USER4> Just watched KEDi on Youtube Red [1]. Made me cry. I love my cats so much but they live the best lives when they have the freedom. And I don't know how to deal with them getting sick or dying. With kids, you usually hope you are the first to go. But with pets that have shorter lives, how to cope? There is a lot of wisdom in the movie with regard to the special relationship and insight cats give us to life itself. I have such a deep respect for Turkey now, I even have new respect for Islam. Allahu akbar. May peace be with you my friend.

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

</comment></comment></comment></comment><comment><USER6> Well, this is complicated. One of the linked studies shows the _opposite_ result claimed in this article. This article says:

" _About 60 to 90 minutes before a usual bedtime, the body starts losing core temperature. There's a physiological explanation for that: when the body is heated, we feel more alert. And conversely, when the body cools down, we tend to feel sleepier. Cooler internal body temperatures are correlated with a rise in melatonin, a hormone that induces sleepiness. A bunch of doctors tested this out by making people wear skinsuits—they kind of look like cycling outfits—that dropped their body temperature just a touch, one or two degrees Fahrenheit, to see if they'd sleep better. They did. "_

But when I look at the linked abstract, it says:

" _By employing a thermosuit to control skin temperature during nocturnal sleep, we demonstrate that induction of a mere 0.4 degrees C increase in skin temperature, whilst not altering core temperature, suppresses nocturnal wakefulness (P <0.001) and shifts sleep to deeper stages (P<0.001) in young and, especially, in elderly healthy and insomniac participants. Elderly subjects showed such a pronounced sensitivity, that the induced 0.4 degrees C increase in skin temperature was sufficient to almost double the proportion of nocturnal slow wave sleep and to decrease the probability of early morning awakening from 0.58 to 0.04. Therefore, skin warming strongly improved the two most typical age-related sleep problems; a decreased slow wave sleep and an increased risk of early morning awakening._"

It's worthing noting that the abstract disagrees with the article in two main dimensions: it's only a small change in surface skin temperature, _not_ core body temperature; and the abstract says it's a temperature _increase_ , not a decrease.

<comment><USER7> Presumably, there is an optimal temperature range for sleeping, and for healthy (not young/elderly/insomniac) adults, that temperature range is slightly below their normal temperature. That corroborates Tade0's comment below - observing that starting to feel cold at the wheel means the driver is in danger of falling asleep.

I've also embarked on long (16 hours at a time) drives, and can confirm starting to feel cold means I'm starting to fall asleep. But what I do next to continue being awake is this - I __turn up __the A /C. When I'm freezing cold, I can't fall asleep. Similarly, when I'm sleeping at night and the blanket has been ahem, stolen, by the significant other, I wake up from being freezing cold.

So back to the seemingly contradicting data -

>increase in skin temperature... shifts sleep to deeper stages (P<0.001) in young and, especially, in elderly healthy and insomniac participants

Likely, these _ab_normal individuals are past the "comfortably cool" temperature perfect for sleeping and are instead too cold to sleep. Therefore, a thermosuit that negates that effect and brings their temperature back up to at least "comfortably cool" aids these individuals' sleep. The logic behind this also holds for the article's claim that babies (worse at thermoregulation) need more blankets.

<comment><USER6> I agree with your assessment of the research. But my point is that the linked article does not; it claims that the research used a suit which _cools_ the participants, which is not the case. It, unfortunately, uses an incorrect understanding of the research (a cooling suit) to support a more well- established, true statement (core temperature drops around sleep).

<comment><USER7> Hmm. I see, you're quite right - they either cited the wrong skin suit study or potentially assumed not too many people will click on "They did [sleep better with cooling suits]."

</comment></comment></comment></comment><comment><USER8> It's a weight thing for me, and not a warmth thing. I crave the feeling of something on me when I'm sleeping. Probably a sense of security. I've been on the eternal hunt for something heavy weight, and low heat. Currently using 3 x varying weights of knit cotton blankets, and does the job.

<comment><USER9> Definitely. You know when you get an x-ray at the dentist and they put that lead blanket over you? I love that thing. I wonder if they make those in a king size...

<comment><USER10> Look up gravity blankets.

<comment><USER11> Also called "weighted blankets".

The rule of thumb for optimum blanket weight is 10% of body weight + 1lb.

</comment></comment></comment></comment><comment><USER12> If it's too hot, I use a sheet. I think the explanation is pretty simple: crawly things that may come and bite us.

<comment><USER13> How would a sheet help with that?

<comment><USER14> Dunno about crawly things, but mosquitos definitely first go for body parts not covered by sheets.

<comment><USER15> which is pretty ineffective since mosquitos are quite good at finding the body part that's uncovered. If you sleep like a cocoon and don't move i guess that works.

<comment><USER16> Point the fan at the uncovered part. Mosquitos tend to dislike fan airflow. Also works outdoors. The airflow also triggers your pressure sensors so spontaneous firing isn't an startling issue if the fan breeze hits something other than your head.

Obviously for use in the hot summer; also if you sleep with a fan pointed at you in Korea, you'll catch fan death and die. Cultural myths about fan death is an interesting sleep related topic. With respect to nature vs nurture, different cultures certainly do weird things such as fan death related to sleep but the vast majority cross culturally like blankets; that would imply blankets could be genetic in some weird way not merely cultural.

</comment></comment></comment></comment></comment><comment><USER17> From the comments here, it seems few people read the article. This one is worth it; informative and well well written.

<comment><USER18> Most people don't read the article. They don't even finish reading the title and are already typing "Heeeey, I don't".

<comment><USER19> ... are already typing "First post!" (oops, I'm in the wrong place).

</comment></comment></comment><comment><USER20> Offshoot question that's always bothered me. How did ancient humans sleep before pillows?

I can't image finding a comfortable sleeping position on a bare floor with no pillow. But other animals like dogs seem fine.

<comment><USER21> It's all about what you're used to.

For a year or two I didn't sleep with a pillow, I can't remember why I stopped using one or why I started again. I was still sleeping on a mattress though. I just used my arm as a pillow.

When I'm hiking, I'm sleeping on the ground without a pillow, and I've never had a problem with it.

<comment><USER22> On the flip side, I always need an inflatable pillow or a pillow section built into my inflatable mattress when I'm camping, otherwise I need to sleep on my backpack or a pile of clothes or something. Can't sleep without a pillow for the life of me.

</comment></comment></comment><comment><USER23> My dad and his army unit would sleep under wet bath towels in the sweltering El Paso summer nights, in the late 1960s. He would wake up in the middle of the night, when the towel dried up and stopped cooling with evaporation, and have to go get it wet again.

It seems like an evolved reaction - make sure we are under cover, out of sight while sleeping and helpless. But given how much we move around, snore, talk, and make commotion while sleeping, having a simple cover may not help much. Maybe it was evolved for a smaller frame?

<comment><USER24> Wet bath towel sounds...horrible! Wouldn't you develop something like 'trench foot' after a while from being constantly wet?

<comment><USER25> No, "can occur in temperatures up to 16° Celsius (about 60° Fahrenheit) and within as little as 13 hours" [https://en.m.wikipedia.org/wiki/Trench_foot](https://en.m.wikipedia.org/wiki/Trench_foot)

It's caused in large part by reduced blood flow to the extremities due to the cold. If you are useing damp cloth to keep cool then you will have plenty of blood flow. Unsanitary conditions do make increase the risks.

<comment><USER26> I don't think they meant trench foot _per se_. If you lie in a bath, your wet skin goes soft and is relatively easily rubbed/peeled away around the extremities (toes, fingers).

I've noticed similar softening when walking with sweat/rain-soaked socks. Also assumed it was the condition people talk of which makes keeping feet dry on jungle expeditions so important.

<comment><USER25> Got it, however tap water is far more sanitary than jungle water, also walking around is going put a lot more stress on your skin than sleeping. Also, there is a difference from having a damp cloth on you and having water sloshing though your boots.

Historically the only option was to be constantly setting though a heat wave for days at a time. Though drying sweat leaves behind a lot of salt which does help simply being a little damp is not a huge deal.

</comment></comment></comment></comment></comment><comment><USER27> I guess I'm one of those weirdos that doesn't. I get hot really easily, so unless the sheets are really light cotton, I roast. Oddly enough, though, I love heated mattress pads. I can crank it up to 10 and sleep without sheets just fine.

Something relevant: does anybody have suggestions for weighted blankets? My SO is into big, heavy comforters and other bed coverings (no idea what they're called) and she'd probably enjoy that.

<comment><USER28> Hospital blankets must be made from lead, but I don't know where they get them. Quilts are usually pretty dense.

I have this argument with my wife: in the winter we have a very nice down comforter. It is plenty warm on its own. She likes to through a heavy quilt we have on top of that. I say that it makes the bed colder... the quilt compresses the down in the comforter and it loses much of its insulation ability that way, more than the insulation added by the quilt on top. She refuses to accept this argument and says it's warmer with the comforter plus the quilt. I haven't wanted to win the argument badly enough to start taking measurements, but as a compromise, we've worked out having her double up the quilt on her side.

<comment><USER29> A long time ago they may have been made out of thick wool. I don't know if you've ever heard of or slept under a "military blanket" of the wool variety, but they're incredibly heavy and warm for their relative thickness.

</comment></comment></comment><comment><USER30> Do we?

I sleep under just a thin sheet when it's warm, and above a certain temperature I definitely prefer nothing at all.

But there is certainly something comforting about the weight of a heavy blanket, that much is true.

<comment><USER31> I definitely don't. I live in a moderate climate and I'm under a blanket/sheet of any kind maybe 9 months a year.

</comment></comment><comment><USER32> It's an interesting question, and could have imagined people sharing their beds with pets, but with livestock? Is funny.

I personally have sleeping problems in rooms that are too warm, and warm blankets don't help. It's not when going to bed but a few hours in - <USER2> REM time? I wake up panicking as if I'm suffocating. That's why I always sleep with the window open, also when it freezes on the winter. My SO is not so much a fan :).

<comment><USER33> Oh god, I'm not the only one who has this? I had trouble sleeping in a room my parents made for me and they wouldn't believe me when I said the room is too hot. If it's like 74F or above or so I can't sleep and I'll just continually wake up with that suffocating feeling.

Is there a name for this? It doesn't seem normal and I'm dreading it come summer in a city with no AC...

<comment><USER34> Damn, my wife is like that. I'm always cold, winter or summer. But i hate heavy bedding, and prefer light sheets and down comforters. But then, for many years, I slept in a nylon sleeping bag on a foam pad.

<comment><USER35> Got hit with an unexpected blizzard once when I was on an FTX in Colorado, in December. Pure freaking misery (slept in a mummy bag with a watch cap on). Never been so cold in my life, before or since. My right foot still starts to ache whenever I get cold.

So, I live in Florida now. Usually sleep with just a sheet, until my wife steals it at 3AM and wraps it around herself 5 times so I can't get it back.

<comment><USER34> I had a Goretex bivvy bag for sleeping outside. And I carried both polyester and goose down bags, and a boiled wool blanket. So I was well prepared.

</comment></comment></comment></comment></comment><comment><USER36> I don't. Currently I have really effective heating and cooling in my apartment, that I am not billed separately for, so the temperature is pretty close to 70F (21C) all the time (the apartment management has even exhorted people to keep the heat turned up in the winter so pipes don't freeze).

I don't feel comfortable (and sometimes feel cold) unless I am under a flat sheet, but I haven't used a blanket in years.

The only way I would ever use a blanket is if the room temperature was significantly below 68F (20C) but even if I preferred that, it's not allowed due to the risk of causing a flood.

</comment><comment><USER37> Amazes me that nobody seems to have noted (so far) that making a bed/sleeping nest is common behaviour among all the great apes. e.g. Mountain Gorillas make an elaborate (fresh) nest each night, covering themselves with some of the bedding preparatory to sleep. So why would humans be an exception?

There seems to me to be something much more deeply wired in us than has so far been suggested.

</comment><comment><USER38> It's currently summer where I live and my wife has been sleeping upstairs at our room with two freaking blankets (one of them pretty heavy). Since NYE I have been sleeping at the ground level of the house where it's cooler, practically naked every night, desperate to be able to sleep without sweating profusely. I guess my wife really likes her serotonin bump.

</comment><comment><USER39> Come to Hawaii in the summer. Not in a hotel, just in a normal apartment like a normal person. You'll ditch any covers whatsoever.

<comment><USER40> I used to live in the Philippines with no AC and even then, except for the hottest nights, we slept with light sheets/blankets on. Sometimes with the fan blowing under the blanket on hot nights.

<comment><USER39> > except for the hottest nights

<comment><USER40> Fewer than once a month.

</comment></comment></comment></comment><comment><USER41> Anecdotally, when camping I often wake up shortly before dawn when temperatures have dropped.

I imagine that poor thermal regulation and lower serotonin in the early morning is partly the reason for waking up early. I wonder if this is a hold over from our early days as a species; as hunter gatherers it would be advantageous to be up and awake before it's light out.

</comment><comment><USER42> People have even invented special fans for people who want to sleep under covers on hot days.

[https://www.today.com/video/fan-designed-to-blow-cool-air- be...](https://www.today.com/video/fan-designed-to-blow-cool-air-between- sheets-939533891569)

<comment><USER43> Let's skip the news spam. Link to Kickstarer [https://www.kickstarter.com/projects/bfan/the-bfan-for-a- coo...](https://www.kickstarter.com/projects/bfan/the-bfan-for-a-cooler-more- restful-nights-sleep)

</comment></comment><comment><USER44> For me it was just a habit thing. I was used to having a blanket and felt uncomfortable without it. I realized this was silly, and made a conscious decision to try sleeping without a blanket. After a couple of nights, I got used to it, and it was not a problem.

<comment><USER45> I trained myself when sleeping on a cot to not need a blanket because it was so hot but immediately after returning to a bed I started using a blanket again. I can still sleep on a cot though with no blanket. I think you can train yourself with context to sleep with our without a blanket.

</comment></comment><comment><USER46> When I lived in a hotbox of an apartment with no AC, on the hottest nights, I slept naked on top of all the sheets with a fan constantly blowing air over me.

I've always preferred for the room temperature to be cold, with a bunch of heavy blankets on top of me, though.

</comment><comment><USER47> I have zero evidence, but I think it may have to do with sense of touch. For me it's more comfortable to be in a cold room under a blanket than to lie on a bed in a warm (or even hot) room. Similarly, I'm one of many people who enjoy lying in a bathtub. It somehow feels relaxing. The touch, the pressure of warm water.

Studies on autism might shed more light. Temple Grandin even built herself a machine which would touch her from sides, the way cows are.

</comment><comment><USER48> no mention of the (apocryphal) story of people using dogs (dingos?) to keep warm when sleeping in the australian outback, where a cold night is known as a 'five dog' night. not sure how true this is, see [http://www.metaphordogs.org/Dogs/entries/threedog.html](http://www.metaphordogs.org/Dogs/entries/threedog.html) for details.

</comment><comment><USER49> Because the author and the researchers have not tried living in the tropics near the equator before. Here in Singapore, if you don't turn on the air-con, the heat and humidity acts as a blanket. This is not an exaggeration. Most of the people I know don't use blankets unless the AC is turned on.

The fact that the temperature seldom go below 27 degrees at night also helps.

</comment><comment><USER50> Does anyone else feel that they sleep more deeply if they have an animal curled up next to them? I have a cat, but I'm sure when I sleep with him next to me on the sofa I sleep more deeply than normal.

I always wondered if there was some sort of caveman-type response, in that we knew the animal would be more alert and would wake us up if danger came near.

</comment><comment><USER51> Some brilliant person once pointed out that apart from temperature a sheet is like white noise for your skin, which after all is a big sensory organ. Without a blanket all the tiny hairs on your skin pick up tiny air currents or whatever energy is going on in the room unless youre covered in clothes.

<comment><USER52> I have to have a blanket, or at least long sleeves, otherwise I am greatly disturbed by my own breathing as it reflects from the wall back into me.

My partner think I'm nuts.

</comment></comment><comment><USER53> For me, there's a privacy dimension. I don't want people to see what I look like, or am doing, when I'm asleep, when I don't even know what that might be. Although, the privacy feeling might just be my subconscious brain's way of telling me to get a blanket.

</comment><comment><USER54> It isn't on/off for me. Every night is a bit different, even though my thermostat has the same setting day by day. One foot uncovered. Or two. Or neither. Thick blanket, or thin, or both. Many options and throughout the night the configuration changes.

</comment><comment><USER55> I'm the opposite -- maybe because I'm Asian in Asian country. I would rather sleep without aircond and no blanket. I don't understand why people set the room as cold as possible but sleep with the thickest blanket they can find.

<comment><USER56> It's reliable. Studies have shown cooler temperatures yield better results. Thermoneutrality when completely naked though is close to 30 degrees Celsius, so in a consistently hot climate it would make sense to have barely anything on you.

</comment></comment><comment><USER57> I'm reminded of why we have a need for soft, comforting things (Harlow's monkeys): [https://www.youtube.com/watch?v=OrNBEhzjg8I](https://www.youtube.com/watch?v=OrNBEhzjg8I)

</comment><comment><USER58> I think it's just comforting having warmth to doze off to. My late cat seemed to jump on the bed at my feet on all but the hottest nights.

Anyhow, just gone midnight and it's 24ºC indoors which is pretty mild for summer - doona weather!

</comment><comment><USER59> The amount of coverage that you need may vary. Experiment and you can find the combination that will help you both fall asleep and stay ventilated during the hot nights.

I figured out I just need 3 areas to cover to feel really comfy:

\- feet (socks are enough)

\- lower back

\- my face around the eyes

<comment><USER56> For hot sleepers, this can be immensely difficult to get right. I struggled with insomnia for months in part due to the fact that temperature fluctuated as the convecs heater sucks. Best results were to keep the room cool enough that I could sleep with a sheet and light comforter. Having the comforter "partially" covering when I felt hot doesn't work. Layering sheets doesn't work either, as by the time you've piled enough, it traps too much heat which doesn't escape.

I tell you, it's all such a head ache.

</comment></comment><comment><USER60> I wonder about spider bites or something. Imagine sleeping on the forest floor with no covering, ants would crawl on you and stuff. Well, at least at picnics they do. A lot of bugs are nocturnal I think.

<comment><USER61> Mosquitos, in practice, are one of the main reasons to cover up if sleeping outside.

</comment></comment><comment><USER62> What about the possibility that our ancestors who slept under cover where better hidden from nocturnal predators (smell and sight) and maybe bitten by fewer pathogen-spreading insects?

</comment><comment><USER63> I used to sleep without a blanket or sheet when I was in South India. But the weather is nice and hot, which allows me to sleep without a blanket. Not in cold places.

</comment><comment><USER64> TL;DR:

These are the reasons

1) Various studies have indicated that sleeping with a weighted blanket can trigger an uptick in the brain's production of serotonin 2)The other element that might explain our need for blankets is what Hoagland refers to as "pure conditioning."

<comment><USER65> > a weighted blanket can trigger an uptick in the brain's production of > serotonin

Surely that could be a result of conditioning.

<comment><USER66> Well anti-anxiety compression vests work for cats and dogs and there's some very preliminary evidence that deep pressure touch improves subjective relaxation [https://www.ncbi.nlm.nih.gov/pubmed/3688151/](https://www.ncbi.nlm.nih.gov/pubmed/3688151/)

This is actually the first time I've ever heard of weighed blankets. As someone with severe anxiety that's helped with a hard squeeze, I'm very interested in getting one, I just wish I could try one first.

<comment><USER65> > work for cats and dogs That could still be conditioning.

> deep pressure touch improves subjective relaxation That could still be > conditioning.

I'm not saying it definitely is conditioning, but I don't see enough evidence to rule it out.

For example, these animals could associate the pressure with the warmth and comfort of being the in the womb. So in a way they've been conditioned by being in the womb. Maybe animals grown in a 'test tube' wouldn't give the same results.

</comment></comment></comment></comment><comment><USER67> I find it nearly impossible to sleep blanklet-less. I guess it's encouraging to know even the Papua New Guineans feel the same.

</comment><comment><USER68> Ugh no.

I hate sleeping under covers, and only do it when necessary. On some days I just turn up the heat enough to be able to sleep without them.

</comment><comment><USER69> My guess is that the warm and snug feeling of behind under a blanket evokes the womb. Same idea for white noise while sleeping.

<comment><USER70> This isn't a common myth and was addressed in tr article:

"I'm very suspicious of anyone who implies that this goes back to the feeling of being in the womb," she says. "I think that's very far-fetched."

<comment><USER71> Human behavior is part biologically programmed so to say that this is far fetched is to ignore evolution.

<comment><USER72> There's a difference between the argument that people have an evolved biological preference for warmth and pressure, and the argument that this is because it evokes conditions in the womb.

Without elaboration, the latter sounds like Freudian psychobabble to me.

</comment></comment></comment></comment><comment><USER73> In Australia there's a specific phrase, "top of the bed night".

It's self explanatory. And these nights happen all summer.

</comment><comment><USER74> In Sydney 30 degree C nights? No blankie.

<comment><USER75> Yep if it's >25C no blanket for me, especially on humid days (e.g. in Brisbane).

</comment></comment><comment><USER71> I didn't read th article but from what I understand the need for cover comes from the time we are infants, where swaddling and being covered feels secure and comforting. I think the need for a cover is carried all the way through adulthood as an ingrained means of protection of outside elements.

<comment><USER76> Perhaps you should have read the article:

> If you Google around for this question, you'll end up with a bunch of > theories about blankets simulating the warm, enclosed feeling we had in the > womb. There could be some element of theoretical protection or security > imbued by the blanket, which might be another bit of conditioning, but > Hoagland thinks the womb comparison is pretty unlikely. "I'm very suspicious > of anyone who implies that this goes back to the feeling of being in the > womb," she says. "I think that's very far-fetched."

<comment><USER77> "I think that's very far-fetched." She thinks wrong. I don't see why her unsubstantiated opinion is different than anyone elses.

</comment></comment></comment><comment><USER78> Because there are mosquitos, otherwise I wouldn't sleep under blankets

</comment><comment><USER79> In Sicily during summertime definitely no blankets...

</comment><comment><USER80> I don't, until the mosquitoes come feasting.

</comment><comment><USER81> Do people really sleep under blankets on nights >20C? I don't, despite the 'history of bedding'.

<comment><USER82> Personally, I have trouble falling asleep without at least a light bed sheet.

</comment></comment><comment><USER77> "We" don't.

</comment><comment><USER83> All that to show an affiliate link to a blanket company at the end?

</comment><comment><USER84> I need something covering me. I'm sure it's a culture/childhood thing to an extent, but I can't sleep without a layer. It's another reason why I always wear shorts and a t-shirt to bed too (plus I can't stand the idea of making my sheets filthy even more quickly by wearing less).

<comment><USER85> I cannot sleep with any layer, very uncomfortable indeed. To be honest, I cannot stand the idea of getting irritated by clothing during my sleep. Not only that, even the faintest bit of light or even the slightest periodic ticking of the clock (or anything for that matter) annoys me. A thin blanket will do in the summer, but usually tucked to the side when hot, and a second blanket of the same material in the winter, a third blanket of the same material as a bed sheet. Everything needs to be dead quiet and super dark when I'm sleeping. I'm trying to achieve the darkness to the point where the capability of the human eye adaptation to low-level ambient light won't matter (absolute pitch black).

</comment></comment><comment><USER86> I found the serotonin thing very interesting. I regularly wake up at night with new very negative interpretations about social interactions and intentions. I've wondered where those ideas come from. Maybe the super low serotonin levels provide this misery for me.

<comment><USER87> There's such things as "weighted blankets." Maybe try? Not endorsing or recommending. I've never tried, probably never will. Just an FYI.

</comment></comment><comment><USER88> As we're seeing here, we don't always. Taking the premise as true though, maybe it's modesty, or a way to normalize temperature fluctuations? From my experience in the Phillipines though, I'm with the rest here who are denying the premise of the article.

Plus no sheets means no anti-monster force fields.

<comment><USER89> In my childhood blankets were the bests against monsters. And burglars. Totally agree.

</comment></comment><comment><USER90> tlnr: we don't know but it's nice.</comment>


Review My App: Things I Did - <AUTHOR> http://things.vikinghammer.com/did/

<comment><USER2> Well, _what_ exactly do you want us to review? You created a classic login/logout and it easily displays what you submit to the server. That works great. But what else?

You need to create more value. Any good hacker can whip this up in 10 minutes. I can get the same functionality out of gmail...or a pencil and a piece of paper for that matter.

</comment><comment><USER3> I think this is a good idea, and I actually use a similar in-house app regularly.

If you're working on a lot of little things, or handling maintenance on a large project, it can be difficult to keep track of all the things you actually did in a week, especially since a lot of them probably weren't planned. A simple work log can help quite a bit.

It's also fun to plot your log entries on a timeline, to see a visual representation of how busy you were in any particular period of time.

That said, being able to try it out without signing up, or even just watch a screencast of you using it would really help evaluate it.

</comment><comment><USER4> I think you forgot to include a user interface.

</comment><comment><USER5> yeah, it seems kind pointless. I get the idea of wanting to be able to remember what you did and feel accomplished and reflect on where you could have done more work, but it really doesn't do much.

Also, if people are actually going to use the service, you at least need to make it very easy to tell it what things they did. They may not be near a computer or want to fire up a browser, log in, etc. to tell you what they did.

Instead, you need them to be able to tell you via SMS, iphone app, IM, and any other text communication system they want.

Integrating with things that already track things they did, like their github commits, would be cool too.

You either need to scrap this or make it a lot better

</comment><comment><USER6> Things i didn't do: 1) build an interface 2) spend any time on design 3) include a demo or let people try it without logging in 4) define the problem I am trying to solve/people I'm trying to reach

</comment><comment><USER7> Let me use it without having to login. If I want to save my list, then allow me to do so through registering.

</comment><comment><USER8> At least show a screenshot or something to give me an idea what I am signing up for. Otherwise I am not signing up.</comment>


Digg vs. the human hand: Why the world needs an editor - <AUTHOR> http://shortformblog.com/tech/digg-vs-the-human-hand-why-the-world-needs-an-editor#disqus_thread <comment><AUTHOR> This is something of an extension of a rant I posted here last night: <http://news.ycombinator.com/item?id=880792>

Between that and the (very funny) Digg parody, it helped me collect my thoughts a little. Would love your thoughts on this matter. :)</comment>


Quantum information in quantum cognition - <AUTHOR> https://quantumfrontiers.com/2019/05/26/quantum-information-in-quantum-cognition/ <comment><USER2> Slightly off topic... I was excited to realize that this was by Nicole Yunger Halpern, who also wrote this interesting paper on quantum voting systems and a quantum analog of Arrow's impossibility theorem: [https://arxiv.org/pdf/1501.00458](https://arxiv.org/pdf/1501.00458)

</comment><comment><AUTHOR> Some more background from John Preskill:

"The idea that quantum effects could have an important role in brain function is not new, but is routinely dismissed as wildly implausible. Matthew Fisher begs to differ. And those who read his paper (as I hope many will) are bound to conclude: This old guy's not so crazy. He may be onto something. At least he's raising some very interesting questions."

[https://quantumfrontiers.com/2015/11/06/wouldnt-you-like- to-...](https://quantumfrontiers.com/2015/11/06/wouldnt-you-like-to-know- whats-going-on-in-my-mind/)

</comment><comment><USER3> Here's an interesting lecture on the same subject: [https://www.youtube.com/watch?v=2_sgFETJzak](https://www.youtube.com/watch?v=2_sgFETJzak)

A lot of hypothesis and speculation in this, but nevertheless very intriguing. One thing that caught my attention is how the molecular structure of a lot of common psychedelics (Psilocybin, DMT) have pockets, where quantums are allowed to be in superposition, and during the process of metabolizing we are essentially collapsing them.

</comment><comment><USER4> Can anyone with a background in quantum information theory tell me how QI models the distinction between a quantum system being measured or unitarily evolved? Nicole Yunger Halpern talks about these things as if the measurement process were a well-defined thing happening at a specific instant in time. How and what do quantum information theorists think about the measurement problem these days?

On another note, having read John Preskill's article ([https://quantumfrontiers.com/2015/11/06/wouldnt-you-like- to-...](https://quantumfrontiers.com/2015/11/06/wouldnt-you-like-to-know- whats-going-on-in-my-mind/)) on the whole topic, including his reference to the zebrafish ([https://www.nature.com/news/flashing-fish-brains-filmed- in-a...](https://www.nature.com/news/flashing-fish-brains-filmed-in- action-1.12621)): Assuming that quantum mechanics does influence cognition as proposed by Matthew Fisher, wouldn't mapping the (zebrafish's) brain then influence how it works?

<comment><USER5> You treat them as separate things. Kinda. You have the measurement mechanism and you have the unitary evolution mechanism. There are varying degrees of sophistication for modeling the measurement mechanism, and there's ways to have unitary evolution with simultaneous measurement, as well as weak measurement, and there's systems where you can probe the dynamics of a measurement. For instance, you can "watch" a quantum jump or even stop and reverse it (Z. K. Minev et. al. 2018). Generally these things are all modeled using the Stochastic Master Equation. In the end though, the SME is just unitary evolution of a small system coupled to a large markovian bath, with a Bayesian update added. In other words, one could derive the SME by taking an infinitesimal evolution of the unitary system (coupled to the bath) followed by an infinitesimal bayesian update, followed by unitary, followed by Bayesian update, etc. These things are all well covered by Gardiner Zoller 97, and Dan Steck's quantum optics notes, available at [http://atomoptics- nas.uoregon.edu/~dsteck/teaching/quantum-o...](http://atomoptics- nas.uoregon.edu/~dsteck/teaching/quantum-optics/quantum-optics-notes.pdf) .

Some would say that the SME is the fundamental thing, the Maxwell's equations of quantum information with measurement, and that the instantaneous measurement you may be familiar with is just a limit of the SME's evolution. Some might also say that the SME is a thing you derive from weakly coupling a stream qubits to a system and then performing hard, instantaneous measurement on those qubits. The math makes no distinction.

<comment><USER4> Thanks a lot for the reference, I will have a look!

</comment></comment></comment><comment><USER6> This seems fascinating but most of it is way above my understanding. The main conclusion I got was that "entanglement between phosphorus nuclear spins in Posner molecules might stimulate coordinated neuron firing", and that this could have implications in a wide array of other applications, but requires further research to be proven true.

</comment><comment><USER7> Even if evolution wasn't smart enough to use those mechanisms in human brain, quantum computers can probably take advantage of them.

<comment><USER8> That would mean evolution was smart enough to use those mechanisms in quantum computers, using human brains as a transient intermediary to that end.

</comment></comment><comment><USER9> Also can't really understand what this is, but I seem to have arrived at a conclusion of this being an answer to "what if we could store quantum information in the brain's cells and call it 'quantum cognition'". Is there something else going on?

<comment><USER2> Theoretically, it's not just limited to brains and neurons! Phosphates are extremely prevalent in living organisms, and Posner molecules are just a special arrangement of these common molecules which can prolong entangled quantum states. For example, from the blog post:

"Posners are believed to exist in us and might participate in bone formation."

And on a slightly different level, from the abstract: "This work opens the door for the QI-theoretic analysis of biological qubits and Posner molecules."

This could end up being a foundational paper.</comment></comment>


Facebook's Political Rule Blocks Ads for Bush's Beans, Singers Named Clinton - <AUTHOR> https://www.bloomberg.com/news/articles/2018-06-28/facebook-s-ad-transparency-rules-caused-delays-for-advertisers <comment><USER2> This should be completely unsurprising; the implementation of rules/laws is always imperfect, even before you get into the challenges of doing this at the scale of internet advertising.</comment>


C-for-all: Extending C with modern safety and productivity features - <AUTHOR> https://cforall.uwaterloo.ca/ <comment><USER2> I like the general idea, but the result seems just as full of garbage as C++. Remember the first time you saw a lambda declaration in C++? That sequence of familiar-seeming characters to mean something _totally_ different probably threw you a bit. I know it did me. C-for-all's constructor/destructor syntax reminds me of that.

      // bonus doc bug: "with" hasn't been introduced yet
      void ^?{}( VLA & vla ) with ( vla ) { // destructor

The syntax for redefining ++ or -- (which already seems spurious) is even more opaque.

      S & ?+=?( S & op, one_t )

Other features, like left-to-right declaration syntax and postfix function calls, seem to have no use except to make one programmer's code harder for another programmer to understand. Then they throw in the rest of the kitchen sink, with all of C++'s overloading and polymorphism and inheritance plus both kinds and traits. The result is even more complex and even more surprising (in a bad way) to actual C programmers than C++ or for that matter APL. If not for the absence of templates, I'd say Cforall's complexity is a strict superset of C++'s.

If I wanted a direct C replacement with minimal improvements, I'd try D or Zig. If I wanted a systems programming language that had more differences but fewer surprises, Rust or Nim. The last thing I'd want is something that's both more baroque (rococo?) and less known than any of those.

</comment><comment><USER3> It's interesting how "evolutionary approach" is used. Compare with C2: [http://www.c2lang.org/](http://www.c2lang.org/)

I think that in the case of C2 it's still a language that will rely on the same paradigms as C, whereas C-for-all is more of a "kitchen sink" style of language that moves very far from C in how the natural code solutions are. Just the small change adding destructors and constructors is a feature with huge impact on how data will be managed (for better and for worse)

(Full disclosure: I have contributed to C2 in the past and I'm working on the C3 lang which is feature and syntax-wise based on C2 but goes further: [https://www.c3-lang.org](https://www.c3-lang.org) )

<comment><USER4> Also think that C2 makes more sense.

</comment></comment><comment><USER5> This has been posted here a couple of times in the distant past but for whatever reason I can only find one old post:

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

Anyway, it seemed like an interesting project the last time I looked at it but Rust wound up getting all my attention.

<comment><USER6> Here's the discussion from 2018 [0], which has some responses from people involved with the C-for-all project.

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

<comment><USER5> Yes. That's actually the discussion I was looking for. Good find.

</comment></comment></comment><comment><USER7> Could someone expand on why Rust "isn't a systems language"?

<comment><USER8> I think that assertion muddles their argument.

Their key points seem to be that Rust (and other existing languages) lack backwards compatibility and have different memory management strategies. Lumping Rust in with GC languages is confusing.

Whether either of those things matter is another story. From using TypeScript, I'm personally inclined to believe that a superset of a difficult language can't solve all of the underlying problems, while a totally new language can.

<comment><USER9> All memory allocations in Rust follow a `malloc`-like API that ends up calling `malloc` and similar at some point.

<comment><USER10> With memory management, the question is often when and how to release resources, not how to get untyped memory from the operating system.

<comment><USER9> Sure, but in Rust, the programmer writes code that calls malloc manually, which is completely different from Java.

</comment></comment></comment></comment></comment><comment><USER11> I really don't need an extended-C with productivity features... as that's one of the defining points of C(the language is small). Fixing the warts (like different behavior between the overflow of unsigned ints & signed inta) would have been fine.

I personally want a better stdlib for C; fix the defiancies of <string.h>, removing the global locales (changing function behaviors according to LC_* was a really, really bad idea[0]), etc...

Does anyone know of an alternative stdlib for C?

[0] [https://github.com/mpv- player/mpv/commit/1e70e82baa9193f6f02...](https://github.com/mpv- player/mpv/commit/1e70e82baa9193f6f027338b0fab0f5078971fbe)

<comment><USER12> [https://www.musl-libc.org/](https://www.musl-libc.org/)

<comment><USER10> That doesn't fix the issues mentioned. (Whether it's an "alternative" stdlib for C is debatable; nobody ever said that glibc is "the" stdlib for C…)

<comment><USER13> It is the de facto standard on Linux.

<comment><USER4> That doesn't make it the official implementation of ISO C, just one among many.

</comment></comment></comment></comment></comment><comment><USER14> I'm sure a lot of very smart people are working on this, and I don't want to detract from their dedication, but man this language looks like a mess. And in no small part because it wants to be backwards compatible with C (the reasoning is unconvincing -- _why not_ just use C++?).

In the age of Go and Rust, which already have a hard time finding niches, I don't really think there's any room for a language like this. And on the other hand, from a research standpoint, it's probably a lot more interesting to build a new language from the ground up.

<comment><USER15> I don't know, I work in the games industry and we're currently building a small project that's probably 95% C(the only C++ we have is for one library that has to have a C++ wrapper). It's just.....we don't need the C++ features, the compilation times are instant(last project I worked on was a large AAA game in C++ and compiling it from scratch was about 40-50 minutes on a single workstation), and pretty much all libs are C anyway. I'm not going to make the performance argument since it's mostly irrelevant nowadays, but I just don't see us using C as anything out of ordinary.

<comment><USER16> Long compile times are almost always because of bad use of header files which include basically everything, insteda of only the used component. And this sometimes is because of bad separation of concersn / modularization.

<comment><USER17> I used to agree with this, but having spent a while in a very good C++ project (by C++ standards), even if we try to always forward declare and not include any unnecessary headers in headers, we still have a clean debug build time of 30-40 minutes. Even changing a single line in a cpp file, will still take around 30-40 seconds at best with incremental builds. I think long compile times are in the eye of the beholder, but often it feels like people have just gotten used to unnecessarily long compile times because they've forgotten how fast computers are and how fast a compiler should be for most of the work except for maybe some of the more complex optimizations in -O3. It kills productivity, and should really be a much larger focus than it sometimes seems to be.

<comment><USER18> Well said, I could not have said it better. Just to add, the productivity boost you get from short build times, in a long run, think of a project you work on for years, will out perform ANY gain you get from using a library, templates, and the like that kills your build time.

</comment></comment></comment></comment></comment><comment><USER19> Can we talk about the proposed new features:

How are tuples different from structs? You can pass around and return whole structs (not pointers) just fine in plain C.

Underscores in int literals should probably be proposed to the ISO committee for C itself. A similar concept works successfully in OCaml. (Binary literals would also be useful).

I've never felt that C lacked sufficient control structures, and the new ones proposed here just seem like they will confuse people. What specific problem is each new control feature trying to solve?

Adding exception handling (to C) seems like an actively bad idea. What are the semantics? How does unwinding work exactly and how would it interact with resource allocation?

Coroutines are today successfully handled in libraries, so I'm not sure what you gain by adding them to the language.

<comment><USER3> I wonder how they propose to solve exceptions, destructors, constructors and overloading while being more compatible with C than D. Apparently a beta was promised for "early 2019" according this: [https://github.com/cforall/cforall](https://github.com/cforall/cforall) but nothing is forthcoming.

Already announced in 2007: [http://lambda-the- ultimate.org/node/2181](http://lambda-the-ultimate.org/node/2181)

<comment><USER3> Oh, looks like they have a partly completed compiler with a c transpiler backend: [https://cforall.uwaterloo.ca/trac/browser](https://cforall.uwaterloo.ca/trac/browser)

</comment></comment></comment><comment><USER20> if safety is what they want without departing from C just use MISRA-C

 _> While C++, like C∀, takes an evolutionary approach to extending C, C++'s complex and interdependent features (e.g., overloading, object oriented, templates) mean idiomatic C++ code is difficult to use from C, and C programmers must expend significant effort learning C++. _

the _" significant effort"_ for learning C++ pays off (financially), while this certainly does not.

<comment><USER21> MISRA-C is just a set of rules. It does not stop humans making stupid mistakes or ignoring rules, and causing safety to be violated.

It not as hard as rust where the binary is not built if a rule is violated.

<comment><USER22> Is it possible to check for compliance with MISRA-C rules programmatically?

If it is then it can be made part of the build process and the effect will be the same: the binary will not get built if the rules are violated.

<comment><USER4> It is, but many developers have allergy to static analysers.

</comment></comment></comment></comment><comment><USER23> I was excited to read about this. An upgraded C would be nice. Unfortunately, after the homepage, this seems disastrously opposed to anything resembling a "better" C.

The features page feels extremely painful to read. It took me at least two minutes to even begin to make sense of the first section: "Declarations", then an explanation of Tuple, immediately followed by:

      int i;
      double x, y;
      int f( int, int, int );
      f( 2, x, 3 + i );      // technically ambiguous: argument list or comma expression?

Tuple isn't mentioned again until seven or so lines after its explanation. After reading further, I realise they aren't linked in any way, but this was confusing at first. I thought I was missing something major about the syntax.

      [ y, i ] = [ t.2, t.0 ];    // reorder and drop tuple elements

I don't know what this even means. If this:

      [ i, x, y ] = *pt;      // expand tuple elements to variables

pulls out tuple elements into variables, and this:

      x = t.1;        // extract 2nd tuple element (zero origin)

accesses tuple elements: then what is "reorder and drop" and why does the combination of the above two behaviour result in an ostensibly different third behaviour?

It gets worse the further down the page I try to understand. Very claustrophobic and presented as a mish-mash of syntax examples. I can't see how this is any better than C's syntax, honestly. What C would benefit from is a better baked-in stdlib, OR an easily available, downloadable, lib of helper functionality that doesn't require any modifications to existing code (eg. when I want a hashtable in an already-established project, I don't want to modify my existing structs!)

<comment><USER24> Take a look at D. Some of D's features (such as alias this and mixin templates) may seem strange, but they come from decades of experience with C++ features- Walter Bright and Andrei Alexandrescu, two C++ pioneers, are among D's foremost advocates. WB made the first end-to-end C++ compiler, and AA wrote Modern C++ Design. GCC 9 now supports D.

</comment></comment><comment><USER25> Wow, this is quite a trainwreck. I think it's possible to improve C while keeping compatibility with C programs, but that's not how you should do it.

I think an improved C would be quite useful, but you really should be careful with what you include it, and keep the language simple. A lot of functionality feels like added because it could be added (WTF are nested routines). This way lies worse C++.

In particular, I wouldn't look too much into what C++ does. Rather, I would look into what Go, Rust and Zig do. `?{}` and `^?{}` are clearly inspired by C++ constructors and destructors, but that's not the only way (in fact, it's a rather bad approach if you want to keep things simple). For instance, you could avoid having constructors and require full initialization for structures with destructors. Hypothetically, it could look like this.

        struct Point {
            int x;
            int y;
        };

        struct Point new_point(int x, int y) {
            return { .x = x, .y = y };
        }

Meanwhile, C-for-all is mostly missing actually useful features. Slice types ([https://www.drdobbs.com/architecture-and-design/cs- biggest-m...](https://www.drdobbs.com/architecture-and-design/cs-biggest- mistake/228701625)) would be huge, but they are nowhere to be seen. Vtable dynamic dispatch? Missing. Borrow checker? Missing. Module system (maybe a stretch, but...)? Missing.

<comment><USER10> Who owns the return value of new_point?

<comment><USER25> The function that calls `new_point`, the value is moved. Similarly, consider the following case.

        struct Point a = new_point();
        struct Point a2 = a;

Assuming `struct Point` has a destructor, this would move `a` into `a2`, and prevent accesses to `a` after `a2` assignment, as `a` is no longer considered to be alive at this point. C++ has a wrong default of cloning instead of moving, but a new language could fix that.

<comment><USER26> Why is cloning rather than moving the wrong default?

<comment><USER27> It isn't. Cloning is what actually happens under the hood, if a and a2 are in different memory locations. Making a inaccessible after the assignment is merely a convention. With a struct that only has data members, there are no further consequences.

If the struct contains a pointer, you need a kind of additional contract that says how the memory that is pointed to is going to be managed, particularly when it is going to be freed and by whom. And that is where move semantics establish a constricting convention that is intended to make that unambiguous.

</comment></comment></comment></comment></comment><comment><USER28> Linked page explains rationale, see also the list of features : [https://cforall.uwaterloo.ca/features/](https://cforall.uwaterloo.ca/features/)

<comment><USER29> So this is loading for you?

<comment><USER28> Yes, some of the many features : Tuples, left to right declaration syntax, references with auto dereferencing, constructors destructors, nested routines, extended case with ranges, choose (switch with no fallthrough), overloading and polymorphism.

<comment><USER22> Quite lot of that sounds like Turbo Pascal/Delphi.

<comment><USER28> The even added with for structs member usage in a block.

</comment></comment></comment></comment></comment><comment><USER30> For some time I have been puzzled that clang and gcc don't provide an option/ABI (maybe -safe or -mcpu=x86-64-safe) for memory safety.

Last I checked, memory safety for C (e.g. fat pointers with bounds checking) seems to impose a ~60% performance overhead on traditional processors (with hardware support it could be much less.) In many (most?) cases, that overhead is worth the improvements in reliability and security.

For certain applications (probably anything network facing) I'd probably want to compile the whole OS, libraries, and software base with -safe.

</comment><comment><USER31> What does powered by Huawei mean? Are they what Mozilla is to Rust?

<comment><USER32> It's a more general thing. Like elsewhere in the former British empire, the CCP is getting their fingers in the pie, and siphoning research product back to the weapons and surveillance industry in China.

We aren't in as dire a situation here in Canada as Australia [0] seems to be, but there's a reason it was so difficult to serve that Huawei extradition.

[0]: [https://www.news.com.au/national/victoria/news/its-a- police-...](https://www.news.com.au/national/victoria/news/its-a-police- station-honouring-a-police-state-outrage-as-melbourne-cop-shop-raises-chinese- communist-flag/news-story/7d59fc8558a59eec0693c26fb9dbf31c)

</comment></comment><comment><USER10> More interesting page, IMO: [https://cforall.uwaterloo.ca/features/](https://cforall.uwaterloo.ca/features/). Personally it has a bit more than I would be comfortable adding to C while taking the similarity stance they are. Are there safety improvements planned with regards to bounds checking?

</comment><comment><USER33> I dream of "better C" as something that I wish existed. Not a "alternative to C" like Rust or ADA (that is BETTER, but not C). I think:

\- A C developer must find as low friction as possible to use it.

\- It will look alike C as much as possible.

\- Will not bring a big semantic/syntax departure

\- Not bring any novel stuff or Gc. BetterC is C as will be written by the BEST of the developers with the BEST practiques applied, and removed (as much as possible) the most obvious mistakes or ill-advised features.

\- BetterC must be/have a transpiler. Even if that break for a while perfect behaviors it provide a way to cleanly upgrade things forward. Because BetterC is well writen C, the user will be encouraged to use it with the confidence of be in the ecosystem.

\- BetterC must be incorporated (eventually?) as a front-end in a C compiler (like LLVM). So is like have "strict on" available.

\- This mean is better if is backed by the community as a long, step-by-step goal of C. This also mean must be done for people that actually love/like C, just want it to be better.

\- Must provide a set of blessed libraries like unicode strings, arrays, numbers, dates, etc. If not in-built at least included so most that use C as all-around lang not get out (similar in this case as Rust)

\- Must encourage rewrite of critical pieces of code, despite zero-cost of FFI with C.

\- Fix stupid syntax issues like dangling else. This is the "easiest" part I think.

\- Find the biggest issues of the langs/common libraries and kill them.

\- NOT ALLOW STUPID BY DEFAULT. Bring the "unsafe" keyboard here. No excuses!

\- Bring sane macros.

\- Bring AGTD, pattern matching, for ... in ..., and hopefully, fast fast compile times.

</comment><comment><USER34> Here's a snapshot from the Wayback Machine, given the original website is down [https://web.archive.org/web/20181206232625/https://cforall.u...](https://web.archive.org/web/20181206232625/https://cforall.uwaterloo.ca/)

</comment><comment><USER35> Some interesting ideas here. However, C is being improved in an evolutionary fashion; the latest revision was C18 in 2018. I like languages like this (my favorite is D), but the only C successor language I use is C11 (this is what clang targets; C18 is an incremental minor update to C11 that only fixes errata).

        x = t.1; // extract 2nd tuple element (zero origin)

Zero-based indexing in a programming language is not necessarily a dealbreaker but is always a worrying sign about how hard the designer thought their design through. (This does not apply to the design of C, which does not have zero- based indexing; arrays are indexed by offset rather than "from zero".) These are structs with fewer names and less ceremony involved. Why would the first field be "field 0"?

<comment><USER36> Modern computers encode the first address of memory as a binary word of all zeros. In an array, a pointer to the array + 0 is the first element. A pointer to the array + 1 is the second element. C is low-level, so it makes sense to follow the machine idiom.

</comment></comment><comment><USER37> Obligatory name-drop: Zig is an awesome low level programming language targeting the same space as C and CForAll. It isn't at all compatible with C on the source level like CForAll is, but it does make it super easy to interop with C, because it can include .h files. That means it lets you move projects from C to Zig file-by-file. Because Zig benefits from decades of insights about how C could've been better, it has way fewer footguns and higher productivity.

Obviously CForAll has a learning curve advantage over Zig, being based on C directly, but for any readers not aware, I'd say, also check out Zig.

[https://ziglang.org/](https://ziglang.org/)

<comment><USER38> Zig is, however, unsuitable for interactive media or scientific computing due to the unfortunate lack of operator overloading (which is touted as a "feature"), rendering it less general purpose than I'd like.

Other aspects of its design look good however.

<comment><USER39> Im not super sure what specific use case you are after but are you sure you can't do this in some ways with comptime generics? I have to be able to do most generic-like stuff with comptime (though I sometimes have to change the implementation a bit). I also really value how clear the lack of overloading makes the language. This way of clearly being able to follow the control flow is one of the things I like that they kept from C.

<comment><USER38> Yes I've tried zig a fair bit and the lack of operator overloading made the use untenable. The "ability to follow control flow" is, IMO, a silly argument. I will concede that `comptime` is a nice feature.

</comment></comment></comment></comment><comment><USER40> I would like to see C with _just_ the borrow checker - nothing else. I assume someone has probably already done this, and I just don't know about it.

The primary advantage of C is that, and this just parphrasing a Linus Torvald's quote - it was developed at a time when computers weren't that powerful and so it's very close to assembly such that a proficient C programmer knows _exactly_ what's going on under the hood.

I can't say the same for Rust or C++ which both spit out an enormous amount of code thanks to monomorphisation and all the other "zero cost" abstractions they employ.

</comment><comment><USER41> It started out so great, but at the end I was left with the impression that someone was just trying to shoehorn features into C with quirkier syntax than C++. That type declaration syntax will probably haunt me in my sleep.

</comment><comment><USER42> Just use the c2rust[1] tool to "extend" C.

[1] [https://github.com/immunant/c2rust](https://github.com/immunant/c2rust)

</comment><comment><USER43> YAFUATMCWCIN

Yet Another Fucked Up Attempt To Make C What C Is Not

C is not "unsafe" as in "flawed": it's designed to fill certain gaps. Its syntactic stability through the decades - as well as its "minimalism" (for a lack of better word) - are among its most important features.

Personally I have been having an hard time trying to figure out why there's some part of the industry that desperately tries to change what C is in a way or the other.

...but probably I'm just an old Valley fart. Apologies for the rant.

</comment><comment><USER44> I'm very surprised that no one here has mentioned the Cyclone language[0] yet. It seems to me that it tried to address the same niche as C-for-all.

[0] [https://cyclone.thelanguage.org](https://cyclone.thelanguage.org)

<comment><USER10> > Cyclone is no longer supported

This might be the reason.

<comment><USER44> Like I said, it tried to be an answer to similar problems, yet it failed. By the logic of C-for-all creators, Cyclone falls into the "evolutionary approach" group. Why Cyclone did not succeed in spite of "revolutionary" languages with similar aims gaining traction is what I don't quite understand. I have never had any occasion to try Cyclone though, so I'm only basing my assumptions on what other people were saying about it. Still, its design appeals more to me than, for example, Rust, because ability to include C headers directly is IMO the very essential thing necessary to productively rewrite an old codebase.

</comment></comment></comment><comment><USER45> The one thing I like in c for all seems to be (not sure) but generally every valid c program is a valid c-for-all program. People mentioning C2 seem to ignore that C2 is incompatible with C. Or perhaps I'm wrong on that.

</comment><comment><USER46> Like we extend the web with "security" ... seems like a recipe for success.

</comment><comment><USER47> It is concerning that a pro Chinese government entity is sponsoring this project. They're infiltrating North American institutions, where's the oversight?

</comment><comment><USER48> HN Kiss of death

<comment><USER49> HN's version of Slashdotted.

They might well use UWaterloo's CS Club infrastructure, which can withstand enough traffic. For instance, the FOSS mirror at [https://mirror.csclub.uwaterloo.ca](https://mirror.csclub.uwaterloo.ca)

<comment><USER50> Or they should use a static website and handle any amount of traffic on a $3 VPS :)

</comment></comment></comment><comment><USER51> Thanks

</comment><comment><USER52> C with modern safety and productivity features is called "C++" and has been around for decades. I'm amazed at how much effort people will expend just to avoid the C++ boogeyman. No, writing C++ does not automatically make your code bloated. No, using C does not guarantee lean design.

Plain C ought to be considered a legacy language and not used for new code. There is zero reason to prefer it over whatever style of C++ you'd like. If you want procedural struct-based C++, you can have that, but gosh, don't write C.

<comment><USER53> > writing C++ does not automatically make your code bloated

Sorry, but it does.

<comment><USER52> No, it does not.

<comment><USER53>
      $ cat hello.c
      #include <stdio.h>

      int main(void)
      {
       printf("hello world\n");
       return 0;
      }

      $ cat hello.cpp
      #include <iostream>

      using namespace std;

      int main(void)
      {
       cout << "hello world" << endl;
       return 0;
      }

      $ gcc -o hello_c hello.c
      $ g++ -o hello_cpp hello.cpp
      $ ll hello_*
      -rwxr-xr-x 1 root root 5880 Dec  5 14:13 hello_c
      -rwxr-xr-x 1 root root 7424 Dec  5 14:14 hello_cpp

I see 1544 bytes of bloat. Hope that helps.</comment></comment></comment></comment>


Australian children's author Mem Fox detained by US border control: 'I sobbed..' - <AUTHOR> https://www.theguardian.com/us-news/2017/feb/25/australian-childrens-author-mem-fox-detained-by-us-border-control-i-sobbed-like-a-baby?CMP=share_btn_tw <comment><USER2> What possible reason could they come up with to do this? Do we have the same problem in Border Control that we do in our Police, bullies just bullying because they can?

<comment><USER3> Yes, we do. Border Patrol is even less accountable.

They've decided they have authority over 2/3 of the population on some absurd argument that anything within a hundred miles of a border and/or the ocean is under their jurisdiction. [https://www.aclu.org/other/constitution-100-mile- border-zone](https://www.aclu.org/other/constitution-100-mile-border-zone)

They can shoot and kill a kid in another country and not be sued or extradited: [http://www.dallasnews.com/news/immigration/2017/02/21/cross-...](http://www.dallasnews.com/news/immigration/2017/02/21/cross- border-shooting-case-supreme-court-asks-constitution-stop-border)

<comment><USER2> I'll have to follow that case.

</comment></comment></comment><comment><USER4> There are some previous discussions:

[https://news.ycombinator.com/item?id=13729770](https://news.ycombinator.com/item?id=13729770) (15 comments)

[https://news.ycombinator.com/item?id=13730736](https://news.ycombinator.com/item?id=13730736) (4 comments)

</comment><comment><USER5> Its only a matter of time before this craziness begins to have negative effects on economy of the united states.

<comment><USER6> Indeed:

[http://www.traveller.com.au/trump-slump-us-tourism- industry-...](http://www.traveller.com.au/trump-slump-us-tourism-industry- down-us185-million-since-trump-took-office-gued8k)

[http://www.telegraph.co.uk/travel/destinations/north- america...](http://www.telegraph.co.uk/travel/destinations/north- america/united-states/articles/trump-travel-ban-has-casts-a-shadow-over-us- tourism/)

[https://www.bostonglobe.com/lifestyle/travel/2017/02/14/trum...](https://www.bostonglobe.com/lifestyle/travel/2017/02/14/trump- ban-causes-tourism-drop-and-industry-fears-lasting- effect/yzMAVzeLvqywP8gEekoFsL/story.html)

[http://www.independent.co.uk/travel/americas/us-election- pre...](http://www.independent.co.uk/travel/americas/us-election-president- trump-victory-america-tourism-a7407316.html)

</comment></comment><comment><USER7> Is that really all the fault of Trump? Not being from the US, my impression was that traveling to the US has been an ordeal for quite a while now (maybe since 9/11)? There were also famous cases of people dying, wasn't there a taser incident and one (mentally disabled?) person being choked to death? There was even a Tom Hanks movie about a guy stuck at an airport indefinitely. All before Trump.

<comment><USER3> The Tom Hanks movie was set in Paris, and based on an actual case there: [https://en.wikipedia.org/wiki/Mehran_Karimi_Nasseri](https://en.wikipedia.org/wiki/Mehran_Karimi_Nasseri)

<comment><USER8> My reading is that the movie was set at JFK in New York, based on real life events which took place at Charles de Gaulle in Paris.

<comment><USER9> The movie was set at JFK, but it could not have happened there in real life because US airports do not have international transit areas with restaurants or shops. The area before passport control usually contains bathrooms and little else.</comment></comment></comment></comment>


Ask HN: The end of CRUD apps? - <AUTHOR> I can't believe the amount of work that's put into designing, building, testing and maintaining CRUD apps. Now that every restaurant, festival, taxi company, school, appliance, store, insurance company, airline, bank, etc. want their own apps, things are even worse.
Having contributed to the development of dozens of apps, I feel like we're just reinventing the wheel over and over again. The amount of duplicated effort is insane, considering that most of these apps basically do the same things (basic CRUD). Clearly, this process is inefficient and doesn't really scale.
Although there has been attempts at tackling this problem by building general purpose CRUD clients (hopefully higher level than a web browser), I don't know that any of them succeeded.
I would like to understand why we don't have universal CRUD clients that replace apps, and what it would take for one to succeed. <comment><USER2> Always wondered why a marketplace for code generation templates never took off.

</comment><comment><USER3> There's a new trend of "codeless" apps that require little to no programming , that could advance us far on that problem, you should look into it.

<comment><AUTHOR> There's a trend? I've never heard of it.</comment></comment>


How VC Works – A Beginner's Guide - <AUTHOR> https://simplanations.substack.com/p/2-how-vc-works-a-beginners-guide <comment><USER2> This is great. I'd love to see more on how the basic VC model, described admirably here, contributes to the weird dynamics of the startup ecosystem.

E.g. if the fund size is large enough, VC partners can do very well ($ millions a year) purely from the fee. So they are incentivised to close large funds, and for that they need to demonstrate _potential_ , which is easiest to achieve through huge valuations on paper for their portfolio rather than actual exits.

Like, I'd love to see some relatively impartial analysis of stuff like that, because mostly the only people who talk about it are ranting.

<comment><USER3> Hey, thanks! I am the author of this. I am certainly thinking of writing about such dynamics. Also want to cover how lead investor dynamic plays out which leads to due diligence being passed on/skipped and other signalling stuff. Still struggling with the structuring of the piece though

</comment></comment><comment><USER4> Even though a lot of engineers want to raise VC (or work for companies that have) the incentives are weird and it can influence your work/job in ways you might not expect.

When you take VC, you're given millions of dollars to build something huge, but it's also a Faustian bargain because you're limiting your range of outcomes.

You might grow a nice, profitable business, but if you can't 100x (or 1000x) their investment, your investors will be unhappy.

shameless self-plug: I just interviewed Sumukh Sridhara (AngelList Engineer, @vcstarterkit on Twitter) about VC from a programmers perspective on our podcast [1] and he's really, really good. If you're a dev looking to learn more about this, give it a listen.

[1]: [https://podcast.newline.co/episodes/a-software-engineers- gui...](https://podcast.newline.co/episodes/a-software-engineers-guide-to- venture-capital-with-angellist-engineer-sumukh-sridhara)

<comment><USER5> The return profile depends a lot on the stage of VC you're at - while a 100x return might be plausible for an early angel investor (who also expects 90% of their investments to go to zero), lots of later stage VC's will be quite happy with the more consistent 5x outcome.

</comment></comment><comment><USER6> Quote: "Being a VC is fing hard".

But what he won't tell you is much much harder to be a founder/engineer who actually does stuff.

It's not clear how different this is from say hedge fund? I would imagine it's the same set of people who just found a nice, easy alternative?

<comment><USER7> I think the word "hard" is a bit overloaded in this thread.

Yes, I'm sure VCs "work hard" in the sense of putting in lots of hours or doing demanding work, but really, who cares about that. Lots of people, up and down the socio-economic spectrum work hard in this sense. It's not a helpful distinction. And I'm not impressed by hard work in this sense.

I have often wondered what it is, exactly, that VCs and executives and SVPs and bankers do that makes their services so valuable and so venerated. As I already mentioned, it's obviously not just because they are physically "working so hard." To me it's equally obvious that it's not because they are incredibly smart or wise. I assert with great confidence that (as a general rule) truly smart people are not wasting their time with work that is in any way associated with the movements of small green pieces of paper.

I believe that what is meant by "working hard" in the context of this set is a certain willingness to make deals or sales at all costs. By wisdom is meant intuition and connections or a rolodex (ie. the ability to get certain people on the phone).

But I know this for sure: _something isn 't hard if there aren't any real consequences for failing_. And in the United States, if you are lucky enough to clear certain bars, you are exempt from failure. "Failure" and "hard" in this post means not closing a certain deal, but it doesn't mean anything like financial ruin. It means a minor roadbump, perhaps some professional embarrassment, and then onto the next money thing.

This is why I think these people are so utterly unworthy of the fawning adulation paid to them by SV folks desperately wanting to be rich, suckling at the teat, fantasizing about someday standing on that shiny stage with the little yellow ball mic, arms outstretched, telling everyone about their fantastic vision in broken sentences.

<comment><USER8> > truly smart people are not wasting their time with work that is in any way > associated with the movements of small green pieces of paper.

What you call "movement of small green pieces of paper", others might call "resource allocation", which is a pivotal function in civilization-building.

<comment><USER7> I don't disagree, but I maintain that it isn't something that most of the best and brightest spend a lot of time thinking about.

The fact that the acquisition of lots of money is an end in and of itself pursued by a class of skilled "elite" white collar workers (like VCs) is basically a side effect of the "resource allocation" you mention run amok coupled with faulty wiring in our monkey brains.

<comment><USER8> Acquisition of lots of money is not the same as moving money around, which was your original point.

Acquisition of lots of money is also a proxy for impact — if you provide just $3 of value to every American, ONE TIME, congrats, you're a billionaire.

Hell, there are 7.8 billion people in the world. If you can get 1% of them to pay you a penny once a year, you're making $780k/year.

Most smart people spend a lot of time thinking about _building empires_. Making money is just a really nice side effect of building the empires.

In this world, there are 2 endeavors that make a LOT of money: empire building and macro resource allocation. The majority of the best and brightest will spend a lot of time thinking about those two endeavors no matter what the underlying system is. In a parallel universe where all resource allocation and production is driven by the government — your elite class will simply be in the officer ranks of those bureaucracies. It's no different from the military where the elite West Point graduates enjoy greater status than the enlisted rank-and-file.

</comment></comment></comment></comment></comment><comment><USER9> Nice explanation. The LP and GP parts feel a little wonky though

>they don't run the VC firm (hence the term 'limited').

It's from the concept of limited legal liability more than who runs it.

Same for GP - generally just a legal shell. practically it doesn't really do the stuff the article implies. The actual running of it is usually in a third entity (again to separate legal liability). And the carry sometimes goes to a fourth.

<comment><USER10> [1] is a good resource.

[1] [https://www.amazon.com/Mastering-Private-Equity- Transformati...](https://www.amazon.com/Mastering-Private-Equity- Transformation- Investments/dp/1119327970/ref=sr_1_1?dchild=1&keywords=mastering+private+equity&qid=1590501034&sr=8-1)

</comment></comment><comment><USER11> > VCs are expected to generate a 25-35% annualized return compared to the > 12-15% that public equity markets generate and much higher than the 8-10% > return that debt markets give.

What does "expected to generate a 25-35% annualized return" mean here? Is that the mean/average annualized return of a VC fund? Or the "wished for" annualized return?

<comment><USER5> It's a very aspirational target. 25% annualized return (after fees) is a top decile fund. I've heard that number as a target before, but rarely and from investors that weren't used to the market. 12-15% from public markets is a top quartile hedge fund, still a great return but a little less aggressive than the VC number.

<comment><USER12> Under this definition, it would seem as if Andreesen Horowitz is not anywhere close to a top decile fund[1]. Does anyone know which ones are? Data on VC returns seems hard to come by.

[1] [https://www.theinformation.com/articles/andreessen- horowitz-...](https://www.theinformation.com/articles/andreessen-horowitz- returns-slip-according-to-internal-data)

<comment><USER5> For industry wide statistics, something like [https://www.cambridgeassociates.com/wp- content/uploads/2018/...](https://www.cambridgeassociates.com/wp- content/uploads/2018/05/WEB-2017-Q4-USVC-Benchmark-Book.pdf) is pretty good. All returns there are gross, not net, but they show top quartile funds returning 15-20% gross over the last decade, varying a bit year to year.

For specific fund performance, I don't know of anything public. Most of the big names have had some funds with >20% returns, usually as they get bigger those get harder to maintain.

</comment></comment></comment></comment><comment><USER13> Naive question: does this same paradigm apply to angel investing?

<comment><USER3> Not really. A major difference is an Angel invests his own money, not someone else's like a VC does. So the incentives are different. The angel also sources deals differently and invests only in very early-stage companies (mostly at idea stage), so the risk-return picture is even more skewed.

</comment></comment><comment><USER14> I hate it when blogs do this. Does it hurt to put the full word in the title (or at least first paragraph) instead of the initials? It took me a relatively long time to understand what the article is about when I was reading it.

I don't know about you, but Venture Capital is _not_ the first term I think of when I hear VC.

<comment><USER15> What is the first thing you think of? The only other thing I can think of is Viet Cong, and it seems pretty obvious from the title it's not about them.

<comment><USER14> Due to the quarantine and the current crisis, VC is wired to Video Conference or Voice Chat in my brain. The title gives no clue whatsoever. How does X works can have any word in place of X and it would still make sense.</comment></comment></comment>


Incubator Lemnos Labs Is Looking For Its Next Class Of Hardware Startups - <AUTHOR> http://techcrunch.com/2012/04/24/lemnos-labs/

<comment><USER2> If you're cynical about Silicon Valley and all the mobile local social apps these days, I suggest spending some time at Lemnos Labs and similar hardware communities.

When I first walked in, I saw a giant machine that makes hamburgers. And an electronic car. And a guitar with an app store. And a from-scratch coffee machine. It's truly amazing and IMO much more substantial than many other startups I know.

For the longest time it seemed as though entrepreneurs in Silicon Valley shied away from hardware startups just because they aren't as leveraged as software startups. I'm glad to see a healthy hardware hacking community emerging in the bay area and hopefully we'll see lots of more hardware startups in the future.</comment>


Apache finally signs off Hadoop database after 7 years of development - <AUTHOR> http://www.theregister.co.uk/2015/02/24/apache_signs_off_hadoop_database/

<comment><USER2> Wow, that's some time! Powerset was acquired under the "old Microsoft" watch, which basically meant that HBase was jettisoned and who-knows-what happened to the talent internally. Michael Stack, IIRC who was the main driver of the codebase, ended up at StumbleUpon working on it there.

The early days were pretty rough. I tried using a really early version as a search engine pending-crawl list and it would lock up constantly under heavy load. Later versions seemed to get better and better. I haven't used it in a few years, but I imagine it must be performing quite well.</comment>


Ask HN: Web framework choice paralysis and commitment - <AUTHOR> I have been doing web dev professionally for 8 years. I started as I love to make things. I mostly make web apps & APIs.
I have since hit a wall, I am struggling to make things. Not because I am out of ideas, but because I am paralysed by languages and frameworks. I am struggling with filtering and the Fear of Commitment.
I know many think frameworks are a curse, but after years of hand rolling, I want one. It's a blocker for me wanting to make new things that almost always need auth, emails, and billing.
Question: What language(&web framework) would you recommend I invest in, as someone that enjoys making over the art of programming?
Now I use Node. It has allowed me to build cool things, at a great cost. Having to hand roll a lot of things is insecure and very time consuming when you're trying to make things quickly.
I have since been looking for alternatives
Go: A wonderful language, maybe my favourite, but ultimately falls short where Node does - no mature frameworks, with added verbosity.
Ruby&RoR: It appears to be on the decline, although it's hard to see through all the click bait articles. I wish I had learned Ruby & RoR years ago, I was burned by the complaints that it was not fast enough, but nothing I have made has needed to care about the speed! ;)
Elixir&Pheonix: Looks promising, same hype that RoR had when it was growing. Though this is where the Fear of Commitment enters. I know so little about Erlang and the origins of Elixir that this would be a great leap of faith.
PHP&Laravel: My first programming language. Laravel looks like it has come a long way and is extremely feature rich, but the PHP language never sat well with me.
Python&Django: I have never touched a line of Python, I have heard great things them, but this would be a completely fresh start for me, the same issue that Elixir presents, but with a much more mature language and framework.
Thanks. <comment><USER2> I would suggest building a small (not much more than toy) project in each - perhaps starting with a tutorial and then trying to extend it.

You can't really go wrong with any of these frameworks, but each one has a different philosophy. One philosophy may better fit your way of thinking than another. That's how I chose Django over Rails a decade ago, and haven't regretted it since.

</comment><comment><USER3> Sounds like by "mature framework" you actually mean a full-featured one rather than a lighter one?

Because for instance Node.js has several mature frameworks (in terms of stability) for doing HTTP servers such as Express. But Express comes with just the most fundamental building blocks and it's up to you to pick and choose what you need to complete the stack for yourself.

<comment><AUTHOR> Good point -- I would agree with that.

Express is what I have mostly used and loved it, it deals with a lot of the lower level stuff while I was learning my way around developing web apps and APIs. But now with each new project I am faced with dealing with user auth, emails, billing, migrations and what have you, I'd love to transition to something that allows me to focus mostly on business logic.

<comment><USER3> Have you looked at Apollo framework (for node) by any chance? I know it's not in your list of interests, but it might be worth checking out.

Other than that, I have heard really nice things about Elixir/Phoenix. Everything is a stream so it does depart a bit from the others. Python, PHP and Ruby are all more traditional setups.

</comment></comment></comment><comment><USER4> Based on impressive performance alone. Rust's Actix is worth a look.

If you stick with Node. Take a look at Hapi.js

Best of luck ;)

</comment><comment><USER5> Java was my first programming language before moving to Python. Though I have nothing to show for all the years I have been learning programming, about 6 years now, I realise I can easily pick new languages. Just last night, someone posted a link to Pony, a relatively new programming language. Ever being the procrastinator, rather than do what I should always be doing, on my mobile phone in a remote part of Somalia I saw myself almost a third through Pony's documentation. I wouldn't have a problem picking Pony. Last week, on a similar procrastinating mission, I saw myself halfway through a Haskell course notes and slides from a UK based university. Picking Haskell seemed also easier for me unlike what I almost always hear. As easy as that might feel to me, I have nothing to show for all the years I have been learning programming. Well, maybe, except for a few Pandas scripts that I occasionally use at work for data analysis and transforming some spreadsheets. And another script for posting data from an Excel file through a certain API – a report we need to share externally.

Now, as easy and productive a language and framework as Ruby and Rails are, the perfectionist in me couldn't adopt the same. That seems to be a big mistake I made. Just like you, I followed and internalized whatever was said about Ruby – the negative stuff. I regret not picking Ruby. And just like you, I also seem to be suffering from an analysis paralysis. Ruby and Rails, while I haven't had the time to teach myself any of the two, they are certainly easy to pick and very capable for whatever tasks you throw at them. Pick them and stick with the two.

On the sides, I am currently also dabbling with Elixir/Phoenix and I find it easy to pick. Well, your experience might end up being different from mine. But, life shouldn't be about what is new and shiny but what makes you productive. Elixir/Phoenix might end up being the language/framework that I will eventually complete developing something useful in but something else, here, on HN might end distracting me for the next few days/weeks. Well, we don't know that yet. Anyway, don't be like me, pick something you know and are good at and stick with.

You seem to also be experienced in JavaScript/Node. You could also pick a framework within that ecosystem and move ahead with - Express, Hapi, Sails, etc. Anyway, just stick with either Rails and something else within Node. But, you would rather just stick with Ruby/Rails. Within Ruby you wouldn't have to continue wasting time and effort trying to find out which framework to use. In the meantime, just strike Go, Elixir/Phoenix from your list. They seem to be only there to distract you and make you continue wallowing in the rabbit hole that is an analysis paralysis.

Thankfully for me, I do have a non-programming job that pays the bills. At least for now. And were it not my procrastination, I probably would have been a software developer by now – if wishes were horses, they say. However, I think the lack of proper tech opportunities might have been hindering me from make a move. Well, whatever it is, do not be like me and Ruby/Rails should be great.</comment>