Solar plant has generated "supercritical" steam - <AUTHOR> http://csironewsblog.com/2014/06/03/our-solar-team-sets-a-hot-and-steamy-world-record/ <comment><USER3> This is important because it increases generator efficiency.

[http://en.wikipedia.org/wiki/Supercritical_fluid#Supercritic...](http://en.wikipedia.org/wiki/Supercritical_fluid#Supercritical_fluid_in_power_generation)

Supercritical fluid in power generation

The efficiency of a heat engine is ultimately dependent on the temperature difference between heat source and sink (Carnot cycle). To improve efficiency of power stations the operating temperature must be raised. Using water as the working fluid, this takes it into supercritical conditions.[20] Efficiencies can be raised from about 39% for subcritical operation to about 45% using current technology.[21] Supercritical water reactors (SCWRs) are promising advanced nuclear systems that offer similar thermal efficiency gains. Carbon dioxide can also be used in supercritical cycle nuclear power plants, with similar efficiency gains.[22] Many coal-fired supercritical steam generators are operational all over the world, and have enhanced the efficiency of traditional steam-power plants.

</comment><comment><USER4> > The $5.68 million research program is supported by the Australian Renewable > Energy Agency and is part of a broader collaboration with Abengoa Solar, the > largest supplier of solar thermal electricity in the world.

Australian Renewable Energy Agency (ARENA). Let's see what the first Abbott budget had to offer up on this matter:

> Finance Minister Mathias Cormann confirmed yesterday that the Australian > Renewable Energy Agency (ARENA) will be discontinued in the 2014-15 Budget.

Fun times, Australia. What fun!

<comment><USER5> The CSIRO really is a gem in this country's crown. The amount they return on investment given is really quite impressive and their focus is directed towards our partiuclar problems (e.g.: agricultural research, ocean-based research, etc.) which may not necessarily be considered as equally by overseas research centres.

To gut their funding is really very depressing.

<comment><USER6> Not trying to turn this thread into a political discussion but this announcement couldn't come at a better time for the Greens (for non-Aussies they are an environmentally focussed political party with influence via their holding balance of power to the major 2 parties). The Greens are looking to block cuts to the Clean Energy Finance Corporation. It's not the CSIRO but this showcases what some scientific investment can achieve and hopefully stops the planned cuts across our research facilities being too deep.

[http://www.sbs.com.au/news/article/2014/06/15/greens-move- bl...](http://www.sbs.com.au/news/article/2014/06/15/greens-move-block-clean- energy-cuts-sets-double-dissolution-trigger)

<comment><USER4> Ahhh, the CEFC. [http://www.afr.com/p/national/clean_energy_profits_up_in_smo...](http://www.afr.com/p/national/clean_energy_profits_up_in_smoke_qQFE6H3pjYYoCcKnOim9cL)

$200 million annually in profit by 2017 for the government through investment in renewables. But making money from renewable energy is, one should remember, 'utterly offensive':

[http://www.abc.net.au/news/2014-05-02/joe-hockey-wind- turbin...](http://www.abc.net.au/news/2014-05-02/joe-hockey-wind-turbines- utterly-offensive/5425804)

The CEFC is a commercial investment in actual rollouts of renewable energy with a 7% return on investment. The Abbott government, however, says 'bugger that, we hate evil renewable-tainted money' (or something like that) and is currently looking forward to passing legislation to abolish the CEFC as one of the first things the new Senate will do once the new Senate meets in about two weeks' time.

Note also that, if it weren't for that the $200 million might well grow to $520 million pretty handily - they've got $10 billion in applications:

> The Portfolio Budget Statement does not include the significantly higher > positive contribution to the Budget the CEFC would make if it was able to > continue to carry out its investment function over the forward estimates > period. Were it to do so, the CEFC would deliver a net cash surplus (profit) > for the Government of more than $520 million, net of operating costs.

This government is committed to throwing away $500 million and more for taxpayers in money companies are willing to borrow and pay back - <USER2> interest - to roll out renewable energy schemes.

It's like "Dear government, if you give us x amount of money, this lender over there will give us 2x of money, and I'll pay you back both, with interest. This is for us to change all the lighting across this huge area to use a third of the energy.", and the government saying, instead of "let's have a look at your business case and assure everyone this is a sound investment for us and your claim actually checks out and we'll all make money" a "lol, no".

</comment></comment></comment></comment><comment><USER7> Please keep in mind that efficiency in itself does not mean much. The variable you have to optimize is cost per unit of energy.

Supercritical steam is useful for fossil fuel generation because it is relatively easy to make closed off systems which can withstand high temperatures/pressures. The optimum for solar power might lie at the much lower temperature. Why? Because the cost of solar array as a function of desired temperature rises much faster than that of a fossil fuel generator.

<comment><USER8> They address cost in the article.

"So instead of relying on burning coal to produce supercritical steam, this method demonstrates that the power plants of the future could be using the zero emission energy of the sun to reach peak efficiency levels – and at a cheaper price."

They also say that it is not ready to be used commercially. But this organisation is quite good at making things commercially viable. Rather than just doing research for tax breaks.

From one of the researchers: "Steam flowed at around 330kg/hr , which equates to a little over 300kW of adsorbed solar energy. The experiments were designed to represent a single element of large scale design, so scale up is related more to multiplicity than redefining heat and mass fluxes."

This experiment was done so they could scale up production of power by just adding more of these.

<comment><USER9> Actually the CSIRO (Commonwealth Science and Industry Research Organisation) is owned by the Australian Government; so research for tax breaks isn't the reason. The CSIRO has a largely good reputation amongst scientists and researchers in Australia. And they have a reasonably good commercialisation rate as well; their WiFi patents (most of which have recently expired if I remember correctly) have earned the Australian government nearly one half a billion dollars.

<comment><USER10> And the current pro-coal/oil/gas Abbott government is cutting funding to ARENA (Australian Renewable Energy Agency), who funded this project, by $435 million in the new budget.

</comment></comment></comment></comment><comment><USER11> Can anyone explain just what it means for the steam to be "supercritical"? The article doesn't seem to have explained it at all.

<comment><USER12> Temperature-pressure phase diagrams (example linked below)

[http://images.flatworldknowledge.com/averillfwk/averillfwk-f...](http://images.flatworldknowledge.com/averillfwk/averillfwk- fig11_022.jpg)

have a line that separates gas from liquid, but this line has a finite length. One endpoint is on the triple point (solid, liquid, gas coexist at one P,T) and the other is on the critical point. That's where the distinction between gas and liquid vanishes -- the viscosity, index of refraction, etc of one phase approach those of the other until differences vanish altogether at the critical point. It's a little arbitrary to say that steam at a given temperature or pressure is supercritical (there IS a rigorous definition, T>T_criticalpoint&&P>P_criticalpoint, I'm just saying that it's a bit arbitrary), but the gist of it is that you're in the part of the phase diagram where movement in the phase plane is going to avoid the gas/liquid transition. Nothing physical happens in a liquid->supercritical or supercritical->gas transition and there are no phase transitions in the supercritical region.

This is exploited for the production of aerogel. Normally you can't dry out a gel and have it retain its shape because the liquid/gas interface during evaporation/boiling has enough surface tension to tear apart the microstructure of the gel. But if you scoot around the liquid/gas transition in phase space (e.g. by heating past T_criticalpoint, lowering pressure below T_criticalpoint, cooling below T_criticalpoint, and finally releasing any lingering pressure, or in other words liquid->supercritical->gas) then you can get rid of the liquid without ever boiling/evaporating it -> no nasty surface tension to tear apart the microstructure!

Here is a video of CO2 being heated past the critical point. Since there is a gas-liquid equilibrium, the system will move more or less exactly along the curve separating gas from liquid until it "slips off the end" into the supercritical region:

[https://www.youtube.com/watch?list=FLAv56CgHL4P8vk6FDm9s1Zw&...](https://www.youtube.com/watch?list=FLAv56CgHL4P8vk6FDm9s1Zw&feature=player_detailpage&v=GEr3NxsPTOA#t=150)

EDIT: || -> && in the formal definition

EDIT2: linked a phase diagram for those who don't stare at them all day :)

<comment><USER13> in layman's terms anyone?

<comment><USER14> If you heat water under a high enough pressure, when you release the pressure it instantly becomes stream.

Normally, when you boil water the vapourisation happens piecemeal. That's why you see bubbles rising to the surface. For supercritically heated water, the vapourisation is a runaway chain reaction, triggered by a reduction in pressure, so the whole body of water flashes into stream.

\--- Edit: added note about reduction in pressure being the trigger.

<comment><USER15> Apologies, I don't want to be pedantic, but this has nothing to do with being supercritical.

[https://en.wikipedia.org/wiki/Supercritical_fluid#mediaviewe...](https://en.wikipedia.org/wiki/Supercritical_fluid#mediaviewer/File:Carbon_dioxide_pressure- temperature_phase_diagram.svg)

You can note in this diagram that what you are describing is true whether or not the system is supercritical, and can be seen in how water will boil into steam when the pressure is decreased from atmospheric as well.

What you are describing is how higher pressures allow you to add energy to the water while it remains liquid, and how if you add enough energy it will overcome the enthalpy of vaporization and cause it to convert to steam as the pressure is reduced.

<comment><USER14> Point taken! I'm not an expert.

As I understand it, a container of boiling water will have liquid in the bottom half and steam in the top half. As the pressure and temperature rise, the steam/water goes supercritial, meaning the water/steam boundary disappears and the whole container becomes a homogenous mush of supercritical fluid.

Am I right in thinking that this supercritical fluid can flash into steam faster than a combination of water and steam? My thinking is that for a water/steam combination to convert into steam, the water molecules have to take the time to break their bonds and separate into a gas. For a supercritical fluid it's faster because there are no bonds to be broken?

I'd be grateful if you can correct the above, as I can learn something here.

<comment><USER15> There aren't really formal bonds being broken transitioning from liquid to gas, but I suppose it is fair to say that the supercritical state will transition more quickly to steam than a subcritical liquid with enough energy to become steam at atmospheric pressure.

The reason for that would be that there is a nucleation process in forming gas from liquid, which does take some time. Or at least more than not needing to do so.

There is some terminology you're using that bothers me, like "flash into steam" isn't really a good way to describe it. At that point you'd be better off describing it as "super pressurized steam" converting to "normal pressure steam" or something. It's just expanding, but there is no flash (which to implies a sudden change). It's gradually and continuously decreasing in density.

I think part of this may be confusion over how we overload the word "water" to mean "liquid water" as well as "water the chemical". I am meaning "water the chemical" which can be a solid, liquid, or gas. Steam is water that is a gas.

With a supercritical system, you can take liquid water, stay in the liquid state until the water becomes supercritical (where the liquid and gas phases are indistinguishable), and then move across a boundary from "liquid like" to "gas like", go back into a sub-critical state as gas, and never formally boil/flash/etc.

<comment><USER14> Thanks for the explanation.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> That's really great but the unsolved hurdle in solar power is energy storage. You can generate a large amount of energy on bright, sunny days but what happens at night when people go home and turn on their lights, television, and computers? Without a way to offer on-demand energy, solar will never be able to replace traditional coal and gas-fired plants. Wind power does fare better throughout the day, but is still subject to the whims of the weather. The big piece of the puzzle still to be solved is large scale battery/storage technology.

<comment><USER17> Why are people down-voting this comment? Is being correct not allowed? In Australia it is often not sunny for days on end, also it is often not windy for days on end, over huge areas of land - you know, like, bigger than a lot of European countries.

For wind and solar to be economically competitive with coal / gas / nuclear they have to be at price parity including 24+hrs storage. This isn't going to happen any time soon without massive government incentive.

Professor Barry Brook of Adelaide University has been blogging about this for a good few years now. We need to think critically about 'sustainable energy'. I encourage you all to read his blog [1], particularly the TCASE [2] (Thinking Critically About Sustainable Energy) series.

Let's level the playing field: ultimately there are only two good metrics worth considering a) life-time cost per kWh and b) life-time CO2 emissions per kWh --- but to level the playing field you need to consider each generating technology on a base-load comparison. It's no good comparing a 1GW gas plant and a 1GW nameplate solar installation _because the sun only shines about 6.5hrs per day averaged throughout the year in, say, Adelaide for example_ , so you typically need to over-build solar by a factor of 4 and then add storage. When you do that the life-time cost and life-time CO2 emissions aren't so crash got because of the massive amounts of energy intensive stainless steel, steel, and concrete required, plus new transmission lines.

If you want to see a real-world example of how wind _does_ work, check the UK National Grid Status site [3] - the wind hasn't been blowing in the UK for _weeks_ , presently their 8GW of installed wind is generating 0.82GW electricity.

The data speaks for itself, look at the graphs. A vote for wind / solar _is a vote for new gas_ _because_ gas is easily load following. Of course, the gas plant owners don't like that because when the wind blows their plants sit idle.

The whole renewable energy push is an expensive mess. I've commented elsewhere on HN about this, so I'll stop repeating myself now.

1\. [http://bravenewclimate.com/](http://bravenewclimate.com/)

2\. [http://bravenewclimate.com/?s=TCASE](http://bravenewclimate.com/?s=TCASE)

3\. [http://www.gridwatch.templar.co.uk/](http://www.gridwatch.templar.co.uk/)

Edit: formatting

<comment><USER18> > The whole renewable energy push is an expensive mess.

So what ? ALL energy production is. But I would rather take a clean, renewable source of energy over the polluting coal/gas or the unsafe nuclear kinds.

And a country like Australia would be amazing for renewables provided we could have a country wide power grid. It is windy almost every day in say Fremantle and likewise sunny almost every day in many northern/central areas.

<comment><USER17> I'm not convinced you read my comment, so I'll repeat it in tl;dr format for your convenience:

Once you tally up life-time CO2 emissions for solar & wind, including storage, new transmission lines, and loses for 3000km long transmission lines, neither of them stack up very well compared to, say, gas or nuclear.

And saying "nuclear is unsafe" is nonsense. Nuclear kills fewer people per unit of electricity produced than even roof-top solar [1], _including_ the deaths from Chernobyl and the deaths from the _evacuation_ of the area surrounding Fukushima Daiichi. (I say "deaths from the evacuation" because, as yet, no one has died as a direct result of the core melt downs [2]).

Saying things like "nuclear is unsafe because of Chernobyl / Three Mile Island / Fukushima" is like saying "Air travel is unsafe because of the Hindenburg disaster".

Burning coal for electricity has released in to the environment more radioactive material than nuclear power ever will. It's the only current technology base-load capable electricity generator that has a completely closed fuel cycle.

Additionally, we need to move away from saying things like "Australia would be amazing for" this or that technology. Aside from the evidence pointing toward 'renewables' being a dumb idea environmentally and economically (just look at the real world data), if China and India and the USA don't do anything about their emissions Australia might as well not even bother. If Australia doesn't do anything about transport (14%) [3], direct fuel combustion (15%) [3], and agricultural, emissions (15.9%) [4], we might as well not even bother. Electricity production emissions account for 36% [3] of Australia's GHG emissions.

1\. [http://www.forbes.com/sites/jamesconca/2012/06/10/energys- de...](http://www.forbes.com/sites/jamesconca/2012/06/10/energys-deathprint-a- price-always-paid/)

2\. [http://en.wikipedia.org/wiki/Comparison_of_Fukushima_and_Che...](http://en.wikipedia.org/wiki/Comparison_of_Fukushima_and_Chernobyl_nuclear_accidents)

3\. [http://www.carbonneutral.com.au/climate-change/australian- em...](http://www.carbonneutral.com.au/climate-change/australian- emissions.html)

4\. [http://www.csiro.au/Outcomes/Climate/Reducing-GHG/Carbon- Aus...](http://www.csiro.au/Outcomes/Climate/Reducing-GHG/Carbon-Australian- agriculture_CLI.aspx)

<comment><USER19> Your numbers about mortality are interesting, but you are not saying a word about the long-term pollution issues of nuclear. It's not like anybody is going to move in next to a meltdown site anytime soon.

Edit: I'd like to see some sources for your claims wrt the footprint of renewables, I haven't been able to find anything which supports your position.

<comment><USER17> See my reference from my first comment [http://bravenewclimate.com/?s=TCASE](http://bravenewclimate.com/?s=TCASE)

The Thinking Critically About Sustainable Energy series from bravenewclimate.com - TCASE 4 [1] in particular. It references this [2] document form The University of Sydney for wind, and this one [3] for solar. TCASE 5 [4] looks wave power, and TCASE 7 [5] investigates scaling up Andasol 1 to baseload.

I also recommend reading the comments sections of those blog posts, there's some good quality discussion there.

The "nuclear is bad beacuse meltdown" and "nuclear is bad beacuse bombs" tropes have been dealt with extensively elsewhere. Both are hyped up FUD. We're still waiting for Godzilla, or some green-glowing-three-eyed-monster to appear.

1\. [http://bravenewclimate.com/2009/10/18/tcase4/](http://bravenewclimate.com/2009/10/18/tcase4/)

2\. [http://www.isa.org.usyd.edu.au/publications/documents/ISA_Nu...](http://www.isa.org.usyd.edu.au/publications/documents/ISA_Nuclear_Report.pdf)

3\. [http://www.needs- project.org/docs/results/RS1a/RS1a%20D12.2%...](http://www.needs- project.org/docs/results/RS1a/RS1a%20D12.2%20Final%20report%20concentrating%20solar%20thermal%20power%20plants.pdf)

4\. [http://bravenewclimate.com/2009/10/25/tcase5/](http://bravenewclimate.com/2009/10/25/tcase5/)

5\. [http://bravenewclimate.com/2009/12/06/tcase7/](http://bravenewclimate.com/2009/12/06/tcase7/)

<comment><USER19> Thank you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> On the other hand Abbott's government in their recent budget announced cuts to CSIRO and Clean Technology Innovation Program. Go Figure!

<comment><USER21> I know it's done the rounds but I want to make sure that everyone has seen it...

John Oliver on Tony Abbott [https://www.youtube.com/watch?v=c3IaKVmkXuk](https://www.youtube.com/watch?v=c3IaKVmkXuk)

This guy man. I don't even know what to do about it.

<comment><USER22> Encourage everybody you know to vote for an alternative.

In particular, though, don't tell Abbott voters how terrible they are for voting for him. People will get defensive and actually strengthen their views under criticism. ([http://youarenotsosmart.com/2011/06/10/the-backfire- effect/](http://youarenotsosmart.com/2011/06/10/the-backfire-effect/))

</comment></comment></comment><comment><USER23> "The $5.68 million research program..."

It struck me how tiny the amount of money involved here is. Let's say this engineering effort was a one one-thousandth step along the way to developing the technology into a major energy alternative. Then that would be, what, $5B?

Perhaps I'm overestimating the significance of this discovery.

</comment><comment><USER24> I'm unclear on why supercritical steam is important for electrical generation. Anybody happen to know?

Reading through [http://en.wikipedia.org/wiki/Supercritical_steam_generator](http://en.wikipedia.org/wiki/Supercritical_steam_generator) indicates that Benson boilers are more fuel efficient (and perhaps less prone to explosion), but reduction in amount of fossil fuels used to turn a turbine seems to be sort of a moot point here.

Would super critical steam generation mean a solar plant can produce more electricity? Or that a supercritical steam generating solar plant is cheaper to operate?

<comment><USER25> I'm not an expert here, but I believe that the maximum possible efficiency of all heat engines is governed by the temperature difference between the heat source and the heat sink [1,2]. Increasing the water T/P to supercritical both increases the T at which it can enter the system and, from what I gather by the link you posted and from [3], also results in some simplification of the plant mechanics, which likely increases efficiency as well.

This should indicate that for a given amount of sunlight (or fossil fuels in a conventional power plant), a greater amount of electricity can be created.

[1]: [http://en.wikipedia.org/wiki/Carnot_cycle](http://en.wikipedia.org/wiki/Carnot_cycle) [2]: [http://en.wikipedia.org/wiki/Rankine_cycle](http://en.wikipedia.org/wiki/Rankine_cycle) [3]: [http://www.brighthubengineering.com/power- plants/32896-how-a...](http://www.brighthubengineering.com/power- plants/32896-how-are-supercritical-boilers-different-from-subcritical- boilers/)

<comment><USER15> This is the correct answer. Higher temperature steam allows a higher maximum power extraction potential.

</comment></comment></comment><comment><USER6> Does 'supercritical' steam have any storage benefit? Or is it more efficient use of the solar energy? I ask as I read some articles about using a similar focused mirrors to create molten salt which then could keep solar energy running after the sun went down, one of the major drawbacks of solar.

[http://en.wikipedia.org/wiki/Solar_thermal_energy#Molten_sal...](http://en.wikipedia.org/wiki/Solar_thermal_energy#Molten_salt_storage)

</comment><comment><USER26> Thinking aloud: could one build a combination fossil fuel and solar steam- powered turbine? When the sun is out, you use (supercritical) steam as they describe being able to generate. If the sun goes away, you feed the same turbine with steam generated with fossil fuels. You could use same turbine, condenser, etc but just switch the heat source (or use both) as the environmental conditions change.

</comment><comment><USER27> Amazing that even our most cutting edge power generation schemes are still just steam engines under the hood.

</comment><comment><USER28> Url changed from [http://sciencealert.com.au/news/20140506-25618.html](http://sciencealert.com.au/news/20140506-25618.html), which points to this.

<comment><AUTHOR> Thank you, appreciate the consideration.</comment></comment>


Propofol-induced deep sedation reduces emotional episodic memory reconsolidation - <AUTHOR> https://advances.sciencemag.org/content/5/3/eaav3801 <comment><USER3> I wondered about this at one point. I'd been under full propofol sleep a couple of times due to knee operations, and the experience was quite interesting.

You fall out of consciousness insanely fast. One moment you're talking to the anaesthetist about your name, what you're there for. You feel a cool sensation where the needle is. Before it's grown to your whole arm, you've vanished. I mean you're not dreaming, you're gone.

The only way you know you were gone is that there's no sensation of time. When you sleep, you feel like there's time. Under propofol I felt like my arm was cold, then I was groggy and waking up. In one action.

Maybe it's like dying, I don't know. But there's definitely this "system was rebooted" sensation as you come back to consciousness.

<comment><USER4> I've only been under once, and it was the strangest thing: I had an out-of- body experience. When I woke up, it was like I had two sets of "memories" (for lack of a better word): one was nothing (like you describe), and the other was the OBE. I presume that I wouldn't have been able to notice the span "nothing" (because it didn't contain any time or space references as I can tell) at all if there wasn't a sort of parallel overlay of the OBE.

By the way, this hasn't led to me drawing any particular conclusions about the nature of reality or consciousness. I didn't find it useful to hold a particular set of beliefs about these things before the event, and that didn't change afterwards. If anything, it just presents more questions.

<comment><USER5> I'm no neurologist, but I can picture a brain retconning the OBE as a reaction to the knowledge that time had passed when you didn't perceive that it did.

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

<comment><USER4> Yep, very plausible. Also, some parts of the brain would still be active, I wasn't brain-dead after all.

The OBE itself had some dream-like qualities, though one thing I did notice was that the "resolution" was superb, unlike my normal dreams. We're talking next-gen graphics. The closest thing I can compare it to is as if the entire field of vision was center of focus.

<comment><USER6> If you study lucid dreaming, more of your dreams will become like that. Extra real. You'll have to use "reality checks" to know whether it's a dream. That's usually how you wake up inside a dream to begin with, though. You'll be able to control some, too.

Lucid dreaming resources will teach you about all that. You'll probably enjoy it.

<comment><USER7> Lightswitches and digital clocks are common tests, as are punching, jumping and most kinestetic tasks.

</comment></comment></comment></comment></comment></comment><comment><USER8> I absolutely love the transition of propofol sedation. It's like the moment you dive into your pillow after a very, very long tiresome day. Where sleepiness feels more than justified, and you're allowed to follow.

Weird thing, I always start to talk English (German native speaker) while drifting away. Since I was a little ashamed of that, I once told the technician beforehand and he replied it's quite common and a known observation.

<comment> matt-attack I'm wondering what exactly is the commonly observed effect. Is it that English specifically dominates over any language? Or is it the 2nd language, whatever they may be, that surfaces?

<comment><USER8> He said forgeign language.

I hypothesize a foreign language might require some mental effort and isn't accessed the same as the native language. The fading consciousness might lose a native language sooner, maybe.

</comment></comment></comment><comment><USER9> Had propofol a few years ago when I went in to get some kidney stones blasted out. Can confirm what others are saying. They inserted the needle and a few seconds later I went from fully conscious to waking up at the end of the procedure with no recollection of time having passed, as if someone toggled my power switch off and on. When I came to, I was babbling incoherently to the nurses for a minute or so, but after that I was fully awake and felt as if I had just woken up from the best, most restful sleep I'd had in a very long time; it was a very pleasant feeling.

<comment><USER10> Yip. Can concur. Went in once during the first emergency episode and woke up feeling strangely tranquil. Happy is the only word I'd use during a time of my life riddled with chaos and uncertainty.

I went under a second time for the removal of the stent and used this second experience to confirm that it was indeed the anesthetic that confers this happy feeling post op.

I wouldn't wish kidney stones for my worst enemies though. That pain is horrible.

</comment></comment><comment><USER11> This is the least amount of words I understood in an HN headline ever.

<comment><USER12> If you trigger memories in a PTSD patient and then knock them out with propofol, you may disrupt the long-term storage of those memories or even create a window in which they can be changed. It's Eternal Sunshine of the Spotless Mind, essentially.

</comment></comment><comment><USER13> Am I understanding correctly that they found they can give you this chemical and then if you experience negative things you won't remember them (or you will but without negative connotations)?

<comment><USER14> When I was doing my anaesthetics terms we used more than just propofol. We used a cocktail for various effects. Propofol to knock you out. Volatile gas to keep you under. Opioid (usually fentanyl) so you don't feel pain. Suxamethonium to relax your muscles. Benzodiazepine (e.g. midazolam) so you don't remember anything.

Of course it's more complex than that since most of those also make it easier to keep you under.

<comment><USER15> I am amazed we somehow found out about all these concoctions. They seem to go so far from the norm without killing you. How are they engineered in the first place?

My moment was not propofol but another medicine for nausea/vomit - it worked in seconds just when I had resigned myself to throw up. I was shocked. How?

<comment><USER16> 5-HT3 antagonism.

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

Usually nausea is caused by the perception that your body "doesn't feel right." Serotonin is responsible for the feeling of wellbeing. Just so happens that subreceptor 3 is more about well being feeling of the body :-)

<comment><USER17> So that's why I get nauseous when I'm hungry.

</comment></comment></comment></comment></comment><comment><USER18> After propofol I came to mid-sentence. I immediately asked how long I'd been talking, as I had zero recollection of being awake or talking, and was told I'd been telling jokes non-stop for the last 5 minutes. When I say I have no memory of that, I mean like I have no feeling I even existed in the period between telling the doctor I was going under up until I apparently woke and was well into my spontaneous comedy routine.

</comment><comment><USER19> Psychiatry is undergoing a phase change, what with esketamine[Spravato]/ketamine and now propofol[Diprivan] becoming part of everyday practice. Look for MDMA and psilocybin to join them in the near future.

</comment><comment><USER20> My mother is a nursing assistant at a hospital. She's in the gastro wing where they do endoscopies and colonoscopies, most times with propofol sedation.

This stuff is true. She tells me people often experience discomfort and pain, and even complain during the examination (they don't go completely unconscious), but after they've woken up, they don't remember it! They may have some lingering pain, but they don't feel bad about the examination. The doctors say it went well, and they believe it.

</comment><comment><USER21> whoa

Wasn't this the plot of the podcast turned TV series Homecoming?

activate a memory, take medicine, suppress memory

rinse and repeat and having cured your PTSD the army can send you back to the war.

<comment><USER22> Not so sure you'd be "cured", since PTSD can alter the body's stress response.

</comment></comment><comment><USER23> This is interesting. A number of drugs are thought to function similarly from an interesting mix of classes such as propranolol (a beta blocker) and even steroids like dexamethasone.

Propofol sedation is a pretty big proposal for something like this so they'd need a comparative effectiveness trial I think.

</comment><comment><USER24> Imagine what you could do with soldiers if you gave them this every night. I imagine it'd also work wonders on political dissidents: just keep interviewing and drugging them until they can't remember their anger.

This is a truly magnificent achievement for all mankind.

</comment><comment><USER25> Imo they should look into isoflorane . Human studies were very promising

[https://www.ncbi.nlm.nih.gov/m/pubmed/23922809](https://www.ncbi.nlm.nih.gov/m/pubmed/23922809)

</comment><comment><USER26> Seems like most anxiolytic serotonin/downer psychedelics do similarly. (i.e. ketamine, mdma)

<comment><USER27> I wouldn't call MDMA downer.

<comment><USER26> Should have stated anxiolytic or* downer instead of /

<comment><USER16> Its a stimulant - <USER2>

</comment></comment></comment></comment><comment><USER28> >> We tested whether deep sedation could impair emotional memory reconsolidation in 50 human participants.

A study on 50 people doesn't sound like it has the statistical power to predict anything in the general population.

<comment><USER29> Depends on how random the group is and how much confidence you want out of such study.

<comment><USER30> And how great the effect is. If you recruited only 5 healthy humans at random and administered a new drug and 100% of them died instantly, you can probably make some useful predictions.

<comment><USER28> Yes, and the effect was tiny. See the caption in figure 2 for a summary:

      Scores (percentage) for each story per group:
      group A (n = 25 participants) reactivated mean (SEM) = 53.49 (2.29);
      nonreactivated mean = 59.20 (2.60);
      group B (n = 24 participants) reactivated mean = 59.52 (1.97);
      nonreactivated mean = 61.19 (2.11).

That's 6.03% difference between the groups on reactivated means and 2% on the nonreactivated means. Each group was 25 people.

What's the predictive power of this? What's the explanatory power? What did we learn? That 25 people reacted a little differently than 25 other people on a test after the same drug was administered and some more time elapsed between the times when the two groups took the tests.

There's nothing to see here.

Edit: Btw, both groups received endoscopy and midazolam or phenylpiperidine derivatives- so not only the effect measured was small it was also not possible to clearly attribute it to propofol, rather than the endoscopy or the additional drugs administered.

<comment><USER30> My comment used a hypothetical toxicity study where 100% of people died instantly as an example of a very large effect size. It did not address the Propofol sedation study.</comment></comment></comment></comment></comment>


Every book Paul Graham mentioned on Twitter - <AUTHOR> https://www.mostrecommendedbooks.com/paul-graham-twitter-books <comment><USER2> Another of this submitter's collection of Amazon affiliate links with no meaningful value-added content (tag=mostrecommendedbooks-20). Links are shrouded in redirection links now to hide this.

</comment><comment><USER3> This is cool! Needed to re-up my lockdown reading list.

</comment><comment><USER4> This is so good!

</comment><comment><USER5> Amazing! :)</comment>


NY Payroll Company Vanishes With $35 Million - <AUTHOR> <comment><USER2> This seems to be the URL [https://krebsonsecurity.com/2019/09/ny-payroll- company-vanis...](https://krebsonsecurity.com/2019/09/ny-payroll-company- vanishes-with-35-million/)</comment>


D3.js 5.0 is out - <AUTHOR> https://github.com/d3/d3/blob/master/CHANGES.md#changes-in-d3-50 <comment><USER2> Wow, didn't even know about the Fetch API. XMLHTTPRequest, the API that changed software forever by igniting a wave of more powerful browser applications, is finally going to be replaced. Funny that the last 20 years of the web were all built on this ridiculous API that Microsoft came up with to try and make Outlook work in a browser. Good riddance, but you will be missed. Not that any of us has used that disgusting API directly in the last 10 years.

<comment><USER3> We used to do that stuff using frames back in the day. You'd have a hidden frame, change its url and look at what that dom contains. At scale, too. I was amazed at all the hoo-haa around that "new" xmlhttp API

<comment><USER4> We did the same thing, and to dynamically pull in content into the parent context, we created our own script block tag.
...
 so that we could extract the JS and eval it in the parent context. The clunky thing was that you had to hand escape reserved html characters (&, <, etc) in your JS code. So many bugs...

</comment></comment></comment><comment> jake-low Shout out to Philippe Rivière for the awesome work on d3-geo-polygon[1] (mentioned in the release notes), which enables tons of new map projections like these[2].

Philippe, if you're reading this, thank you. I'm really excited about d3-geo- polygon and I know a lot of others in the community are too.

[1]: [https://github.com/d3/d3-geo-polygon](https://github.com/d3/d3-geo- polygon)

[2]: [https://beta.observablehq.com/@fil/polyhedral-projections- wi...](https://beta.observablehq.com/@fil/polyhedral-projections-with-d3-geo- polygon)

<comment><USER5> What are the use cases for this functionality? Genuinely curious.

<comment> jake-low Unusual map projections like these are often curiosities, but the can also be useful for certain topics, like mapping migrations[1][2][3] or showing airline routes[4][5].

[1]: [https://commons.wikimedia.org/wiki/File:Map-of-human- migrati...](https://commons.wikimedia.org/wiki/File:Map-of-human- migrations.jpg)

[2]: [https://nordpil.com/static/images/redknot_migration.png](https://nordpil.com/static/images/redknot_migration.png)

[3]: [http://ngm.nationalgeographic.com/ngm/0603/feature2/map.html](http://ngm.nationalgeographic.com/ngm/0603/feature2/map.html)

[4]: [https://imgur.com/5TFPcDa](https://imgur.com/5TFPcDa)

[5]: [https://imgur.com/6X91323](https://imgur.com/6X91323)

Additionally, this project is a generalization of a feature that already existed in D3 (clipping spherical polygons to map boundaries -- previously you could only do this if the boundary in question was the antimeridian or a small circle centered at the origin). That generalization will make it easier to use some more common map projections that were already supported in d3-geo- projection[5] like as Goode's interrupted homolosine and Mollweide projections. These are useful projections for showing things like population density[6] where you care about preventing distortion in the landmasses but don't care about the oceans. While these projections were possible before, they required the use of SVG clip-paths and other tricks to prevent drawing outside the map bounds. In theory they could now be simplified using the polygon clipping implemented in d3-geo-polygon.

[5]: [https://github.com/d3/d3-geo-projection](https://github.com/d3/d3-geo- projection)

[6]: [http://www.jakelow.com/essays/mapping-the-world- population](http://www.jakelow.com/essays/mapping-the-world-population)

<comment><USER5> Awesome. Thanks for the informative reply!

</comment></comment></comment></comment><comment><USER6> The sad state of affairs is that while D3 is brilliant in terms of API design, it is fairly low level, so few people use it directly. I've been using tools based on D3.js (like C3, NVD3) and it's been a joy.

However, last time I checked (~mid 2017), most of these hadn't migrated to D3 v4, so I'm not sure how fast v5 adoption will be. Maybe some will skip v4 altogether and go directly to v5?

At this point, I'm not sure which wrapper to use, because I don't want to get stuck with v3.

<comment><USER7> I've been using Billboard.js as a drop-in replacement for C3. It's a fork made specifically to work on D3 v4+.

[https://naver.github.io/billboard.js/](https://naver.github.io/billboard.js/)

<comment><USER6> Amazing, thanks. C3.js has been a real pleasure to use, so I'm glad this fork exists. Cheers.

</comment></comment></comment><comment><USER8> Finally, `d3.create`[1] - it has been a minor pain pointer in d3 to create a detached selection for quite some time :)

[1] [https://github.com/d3/d3-selection/blob/master/README.md#cre...](https://github.com/d3/d3-selection/blob/master/README.md#create)

</comment><comment><USER9> I'm looking to get my team into using D3 more as we begin to do more graphing and data visualization. Do any of you have recommendations on tutorials, classes and other learning aids?

</comment><comment><USER10> Promises instead of archaic callbacks. That's a feature I'm excited about!

<comment><USER11> promise is callback. When used in the context of the simple data loading scenario typical of D3, there is no difference.

<comment><USER12> Promises compose, bubble errors, lift sync errors, can be awaited, have combinators like Promise.all(), they're where the ecosystem headed, and more.

Thinking that promises are callbacks because .then() takes a function suggests misunderstanding.

</comment></comment></comment><comment><USER13> That seems like a small update compared to v4. Wouldn't it be better to brand it as a minor version and provide backwards compatibility with deprecation warning where Promises were added?

<comment><USER14> Regularly occurring major versions, with only a small amount of changes, has actually kind of become seen as best practice in the JavaScript community. React, Node, Angular and a ton of other popular tools now release a major version update every year or 6 months. The reasoning is that by taking small, backward-incompatible steps, then developers are more likely to make the effort to install the latest update.

To understand the problems the community is trying to avoid, one only needs to go back to 2015-2016, when Angular 2 was released. At the time, AngularJS (aka Angular 1) was extremely hot; it had in record time become THE framework for any front-end developer to learn, and it looked set to dominate the landscape for years. And then, Angular 2 came out and it had a TON of changes. The learning curve of some elements of Angular 2 was very high for the average developer (TypeScript, reactive programming). And worst of all, the "migration path" from AngularJS to Angular 2 essentially amounted to a rewrite of your front-end application. Most never bothered updating their app, and most devs moved away from Angular, especially when React was released. All of that AngularJS experience that we accumulated became "outdated" in the span of about a year.

<comment><USER15> Sorry, but this is a rewriting of history and the present facts, and I can't let it go unchallenged.

React was first released in 2013, whereas Angular (2) was first released in 2016. React was already a very popular and rapidly growing framework by that point, so the idea that people adopted it simply because of Angular 2 is clearly false.

And while the migration process from Angular 1 to 2 was painful, it's simply untrue to say that nobody bothered, or that every AngularJS developer moved away. If you look at a source like [https://hotframeworks.com/](https://hotframeworks.com/), which sources framework popularity data from GitHub and Stack Overflow, you can see that Angular has achieved a significant amount of adoption, and there are plenty of examples of people migrating successfully from 1 to 2+.

<comment><USER16> Sorry but your facts are just wrong. Angular2 was announced in late 2014, just about the time when angular 1 was becoming mainstream used by big banks and the like. Look at Microsoft's blog from early 2015 announcing the use of typescript in Angular2. Linking some generic website does not make your comment less toxic and I would strongly suggest you get your facts right before posting stuff like that here.

</comment></comment></comment></comment><comment><USER17> > D3 now uses Promises

Thank the lord!

<comment><USER18> Its funny, when I landed my first job as a software developer, in a statistical startup, I learned about promises using d3.queue[1]. This was before javascript had native promises, and around the javascript community was settling on A+ promises. But d3 was how I learned to write asynchronous code without relying solely on callbacks.

[1]: [https://github.com/d3/d3-queue](https://github.com/d3/d3-queue)

<comment><USER19> Likewise, but in jQuery, which in one version introduced a feature where you could add listeners to an ajax request and it'd get called after the response returned - I was like what? how? whoa!?

</comment></comment></comment><comment><USER20> Any good introductory tutorials for D3.js?

<comment> et-al Mike Bostock (creator of D3) has a bunch of great code examples on bl.ocks.org.

I would start with his General Update Pattern (the link below goes through 1-3), which is key to understanding D3 as binding data to SVG elements (hence the name Data-Driven Documents) and animating any transitions.

General Update Pattern: [https://bl.ocks.org/mbostock/3808218](https://bl.ocks.org/mbostock/3808218)

Also the documentation is great, so check out the intro here:

[https://d3js.org/#introduction](https://d3js.org/#introduction)

btw, if you're using D3 purely for charting, expect a lot of work to get something that looks decent. There charting libraries that have taken care of the styling and add functions on top of D3 to make your life easier.

<comment><USER21> Are there d3 only jobs? Aside from NYTimes, who is using d3? Thanks

<comment><USER22> We do at CB Insights (and we are hiring)

<comment><USER23> open for applications from europe as well?

</comment></comment></comment></comment></comment><comment><USER24> Is the best way to accomplish sugiyama still to use dagre-d3?

<comment><USER25> sugiyama?

<comment><USER26> See [1], looks like a method for drawing digraphs.

[1][https://github.com/d3/d3/issues/349](https://github.com/d3/d3/issues/349)

</comment></comment></comment><comment><USER27> Looks cool - would love to implement some things using D3! Would be interesting to know how people plan to handle browser incompatibility, or is it even a concern when approaching ~90% of browser usage support? [0] (for fetch, promises but mainly async/await in this case, if I understand it correctly)

[0] [https://caniuse.com/#feat=async- functions](https://caniuse.com/#feat=async-functions)

<comment><USER28> You'll have to manually include polyfills for both Promise and Fetch to support things like IE 11 or iOS 10.2.

</comment></comment><comment><USER29> Streaming responses is very cool

</comment><comment><USER30> Incredible work, by an incredible programmer.

</comment><comment><USER31> I love d3js, but I had the feeling it never got so widespread as jQuery. Similarly, from my feeling, it never had such a revolutionary impact. Maybe I am wrong because the data-driven approach (ie. data binding) inspired a whole generation of frameworks. But is there a showcase of famours sites using d3js for anything beyond visualizations (say in a similar manner how jQuery is used across all web page client logic)?

<comment><USER32> The entire purpose of D3 is to be used for visualisations, so no, it's not really used for anything like that and doesn't have as wide a scope as jQuery.</comment></comment>


upgrading your app to iOS 9 – 7 things you don't want to forget - <AUTHOR> https://blog.rollout.io/2015/08/ios-9-a-blog-post-from-the-future/

<comment><USER2> Great stuff man, I wonder how many apps would suffer from problems when trying to access directly Amazon s3, also how many app updates would get pushed just to update plist</comment>


One more way MS will engage with the open source and standards communities - <AUTHOR> http://blogs.msdn.com/b/interoperability/archive/2012/04/12/announcing-one-more-way-microsoft-will-engage-with-the-open-source-and-standards-communities.aspx

<comment><USER2> It's really easy to bash Microsoft based on their history of interaction with the OSS community - remember Embrace, Extend, Extinguish? However it is no longer 1999 and the environment has changed. Microsoft is no longer the Great Satan that everyone is scared will dominate everything. They'll act in ways that further their world view and bottom line (primarily Windows and Office) and if that means genuine engagement, they'll do it.

There are plenty of people within Microsoft who would love to be in this space. Endorsement (if that's what this is) could unleash a swarm of smart people working on hard problems for the benefit of all. And it could just be another marketing stunt.

<comment><USER3> It may not be 1999 but what about the whole OOXML thing? That's the first thing that springs to my mind when Microsoft talks about standards committees. I'm sure there are a lot of nice people working there, but I'm not going to hold my breath.

<comment><USER4> Yup, I note that that announcement mentions OASIS twice - the company that MS found very helpful to get OOXML rubber-stamped and fast-tracked into ISO. I think we should be vigilant for that tactic being used again...

</comment></comment></comment><comment><USER5> It's not a popular thing to say, but I think it's time to cut MS some slack. This announcement isn't actually all that surprising, given previous ones in the last few years.

Remember, this is a company whose CEO called Linux cancer. Think about the internal change that has to come about at MS in order for things like this to see the light of day.

What this announcement amounts to is anyone's guess, and it may go nowhere, but they're trying to participate in a meaningful way. They should be given _some_ credit for taking those steps.

<comment><USER6> If you ever worked in a big company, you should realize that this is pure and absolutely meaningless marketing.

Not only that, but this announcement is by itself absolutely content-free. If they announced that they'll port .NET to Linux, or open-source it completely, now that would have been an announcement worth sharing, because code talks, bullshit walks and unfortunately for them they have a long history of enforcing their monopoly, breaking standards and fighting against open-source and the open web and so they can't be forgiven that easily, not as long as Ballmer is still their CEO.

To their credit, they did release some cool stuff as open-source, like the F# compiler, or ASP.NET MVC and I hope this trend continues. However, marketing- fluff like this is meaningless.

</comment></comment><comment><USER7> As a former Microsoft employee, the only words that come to mind are "IT'S A TRAP!"

<comment><USER8> I really wonder how you see that. They're going to make a Microsoft-version of Joomla that doesn't work with the popular plugins?

These are different times. All technologies listed in the article are server tech, not end-user stuff (with the possible exception of Linux, but really Linux is only a competitor to Windows Server, and not to the desktop editions).

I doubt EEE will work as well in the server space; it feels more like a way to save Windows Server from losing market share in the wake of hyped tech like Mongo and Node.js. If they try to extend and extinguish such tools, people will move their apps to Linux.

</comment></comment><comment><USER9> I'm highly suspect of this motive. It seems like first stage of EEE.

It's odd they're putting emphasis on standardization of HTML5, when their latest browser is two years behind. Their HTTP 2.0 initiatives just seems like an attempt to retard Google's SPDY protocol.

<comment><USER10> Latest browser is IE10 and it might be behind ( but definitely not 2 years ), but think about how behind IE really was and how far it has come.

</comment></comment><comment><USER11> Open up your protocols first.

</comment><comment><USER12> Sorry... I can't help seeing "infiltrate" rather than "engage with".

</comment><comment><USER13> Now this is a very good thing. Any effort is at least a start, and they can't really make their relationship any worse.

</comment><comment><USER14> I'm genuinely intrigued to know why working with open source and standards requires you to set up a separate company. That's got to be some crazy internal politics.

</comment><comment><USER15> Reading the article it seems that the primary objective is to get the open source community behind Windows 8 and the windows phone.

"..work with the PhoneGap/Cordova and jQuery Mobile and other open source communities to support Windows Phone.."

Seems to be a rather one way street to me. When they stop claiming the rights to Linux and perhaps make Silverlight work in Linux I may believe they support open source.

</comment><comment> excuse-me I am really excited to be able to share with you today that the Empire has announced a new wholly owned subsidiary known as "Death Star Fluffy Ewoks" , to advance the company's investment in being nice to Ewoks.

Here is a picture of Darth Vader in a pink jumper to show that we are now nice and friendly</comment>


Ask YC: Office space - cheap or creative? - <AUTHOR>

I am in the process of looking for an office space to move my business so that I can hire some employees. I've looked at a number of spaces, and it seems that the ones that I like (the creative, interesting spaces) are expensive. The boring, plain and uninteresting spaces are more in my budget.
My issue is that I want to get one of the creative interesting spaces, and I'm trying to figure out if it's worth the extra cash. My company is currently making $ but it's all in consulting fees that could evaporate at any time. I still have cash from an angel investment,and I'm hoping to start making money from my core business in a few months. (Hoping)
Any advice? <comment><USER3> Every space (office or home) has an impact on those who occupy it. The top things to consider when choosing a space for a small starting company: collaboration, privacy, lighting, noise.

collaboration - depending on your type of business, choose a space that either promotes or discourages collaboration.

privacy - choose a space that lets your employees have a sense of privacy. Its not fun having the boss being able to see you all day long.

lighting - beware of bad lighting, from overpowering flourecents to blinding sunlight.

noise - internal (ie, deafening air conditioning) to external (ie, youre located next to a railroad crossing)

<comment><USER4> re: privacy - I've often wondered what the happy medium is between desks with no walls at all (cheap!), cubicle farms, and private offices (expensive)

and also which one fosters more creativity.

</comment></comment><comment><USER5> Probably more important: the location. Pick something in a nice urban environment close to public transit

</comment><comment><USER6> Not to be too critical, but if you are asking this question this is a possibility you are feeling pressured to get an office because "that's what professional people do" and not because it actually provides much tangible value. Get an office if you NEED one but make sure you absolutely have no other option (find contract/telecommuters/etc)... An office can seriously affect you burn rate which is usually bad news unless you have a clear path to profitability.

<comment><AUTHOR> Great question, but no. I have been doing the non-office thing for almost a year. I have 35 contractors working from me off-site. But my business has hit a point where I need to hire two full-time people (to keep it running) and my partner is soon going to be joining me....so we need a space.

<comment><USER7> We've got 2 full-time people working together on a development project. One (me) is in London, the other in Kansas.

Office space is overrated. Just give everyone an allowance to buy a big desk and a decent ADSL connection.

Daniel

</comment></comment></comment><comment><USER8> There are no "creative spaces" only creative people. Reminds me of the Mac vs. PC creative work argument. Find good people and they won't care if they work in a cool trendy "loft" in San Fran or a boring grey cubicle in a converted strip mall in Idaho. My workspace is exactly the size of two 19" LCD monitors.

<comment><USER9> There is statistical evidence that suggests ceiling height influences thinking patterns. Higher ceilings encourage creative thinking and lower ceilings encourage detail-oriented thinking. [1] Obviously both patterns are critically important to hackers and businessmen.

Likely there are a whole suite of variables associated with a physical space that have an effect on thinking.

Yay for good architecture and design!

[1] <http://www.csom.umn.edu/assets/71190.pdf>

</comment></comment><comment><USER10> Is it in the realm of possibilities that you can buy a bigger house with more bedrooms and then convert them into office space? That's what lots of folks do... There are many, many advantages of doing so.

You mentioned you needed to bring clients and investors to the office. As someone said, investors often like to see the bootstrapper be creative so you'll get bonus points. Some clients will be put off; others will think it's great - only you know. Sorry if this takes you off the track of your question.

To answer your question: you know what the best thing to do is. Asking for advice here is futile since, as you can see, you get so many different types of answers. Trust your instincts; no one knows the business better than you.

<comment><USER11> Be careful about zoning laws, though. Many houses are zoned solely for residential use and cannot be used for commercial offices. I am not a fan of zoning laws, but as a company executive you should be aware that converting spaces is full of legal pitfalls.

<comment><USER12> As I understand it, UK law is quite good in this regard. Any number of residents can work from home but no-one is supposed to commute to a residential property. This means that a reasonable number of founders can live and work in the same building.

</comment></comment></comment><comment><USER13> [http://www.amanet.org/performance- profits/editorial.cfm?Ed=3...](http://www.amanet.org/performance- profits/editorial.cfm?Ed=340) "90 percent of workers believe that better office design leads to better overall performance and gives the company a competitive advantage, and 90 percent of senior executives believed that a better physical working environment would have a positive impact on the bottom line"

[http://www.management-issues.com/2006/8/24/research/poor- wor...](http://www.management-issues.com/2006/8/24/research/poor-workplace- design-damages-productivity.asp) "even simple things such as good lighting and having adequate daylight can reduce absenteeism by 15 per cent and increase productivity by between 2.8 per cent and 20 per cent."

[http://www.cabe.org.uk/default.aspx?contentitemid=659&fi...](http://www.cabe.org.uk/default.aspx?contentitemid=659&field=sitesearch&term=The%20Impact%20of%20Office%20Design%20on%20Business%20Performance%20&type=0&addparams=%26amp%3btypeid%3d12) "In a 2003 survey by Management Today magazine, virtually all (94 per cent) of those responding said that they regarded their place of work as a symbol of whether or not they were valued by their employer. Yet only 39 per cent thought that their offices had been designed 'with people in mind'; and in another study no less than a third said that they were too ashamed of their offices to bring back colleagues or clients."

</comment><comment><USER14> I'd err on the cheap side, but avoid space that will impede productivity.

Your employees are costing you $50+ per hour (with burden and benefits) - <USER2> you have a more expensive space that'll result in 15 more minutes of productive work per employee per day (due to privacy, quiet, whatever)... Well, it's easy to do the math.

Creative spaces are good. Everyone loves a clubhouse, and that'll help with loyalty retention. But you can do a lot by getting a crappy space and then giving each employee $1000 to decorate their space how they will (including paint!).

</comment><comment><USER15> Will you be bringing clients to your office regularly? Or is it primarily a workspace?

Either way I would say go for the cheaper space initially. I think aesthetics do matter, but only to a certain extent.

<comment><AUTHOR> Yes, clients and potential investors.

<comment><USER16> Investors might even like a bootstrapping startup. They know their money burns well...

</comment></comment></comment><comment><USER17> I highly recommend reading the book Peopleware by DeMarco and Lister. It devotes a chapter to the programmer's environment and speaks passionately about how important it is to get it right. They get into details about offices. They also say that if you can't get the environment right, you might as well stop there. Of course, "environment" also includes things like frivolous interruptions, etc. Anyway, it's an excellent read:

[http://www.amazon.com/Peopleware-Productive-Projects- Teams-S...](http://www.amazon.com/Peopleware-Productive-Projects-Teams- Second/dp/0932633439/)

Joel Spolsky (another big fan of Peopleware) wrote on this when he had his office designed:

<http://www.joelonsoftware.com/articles/BionicOffice.html>

</comment><comment><USER18> "cheap or creative?"

Both.

Take the cheaper space and make it creative cheaply. There's lots of ways to do this (beyond my expertise). Home Depot and Ikea are your friends.

<comment><USER12> A friend rented the office of a furniture warehouse. It was cheap, creative and he was never short of chairs.

</comment></comment><comment><USER19> If you are still doing consulting, do you need your clients to come to your office? If so, will a 'cooler' office space impress them more, get you more business? If the answer is no, then save your money and go for a different space.

Do you even need a space at all? Do you need employees in the same office or could you all work from home (we ditched out office and work in this way and meet up once a week).

The final suggestion is to look for an apartment or house that you can rent or purchase and use that.

</comment><comment><USER20> Joel wrote this about moveable walls and cool offices.

<http://www.joelonsoftware.com/items/2007/04/13.html>

</comment><comment><USER21> Aesthetics are pretty important to me but I think I'd be more impressed with a startup making creative use of a boring space than one working out of, say, a generically hip loft.

</comment><comment><USER22> If you are not hiring programmers, then go for the cheap office space, but spend money on the furniture to make it look really nice. The location is important though - it should be in a lively area. Also, make sure you don't have to look at someone the whole day long, i.e, people are reasonably separate.

One can turn almost any space into a nice looking room. You just need an appropriate amount of inspiration and some outside help.

</comment><comment><USER23> Are you crazy. Save your money to make sure the company succeeds!

I heard this quote somewhere: Run your startup like a one story whorehouse.

It was mentioned by a VC who has seen many startups come and go. Not to say they are the final word, but I think its very true.

</comment><comment><USER24> Creativity cannot exist in a vaccuum, without some contraints put on it, it explodes in a million directions like so much debris.

So I second those who say you should take the opportunity to be creative with the dull space and make it your own :-)

</comment><comment><USER25> Stick to the budget. Never rely on hope when it comes to paying current bills.

</comment><comment><AUTHOR> Wow, thanks for all the suggestions and tips! I appreciate all the helpful advice!

</comment><comment><USER26> i think, you can make creative use out of boring office spaces with "creative interior decor."

Maybe concentrate more on "interior designer" on a "boring office space" for a change.

When in startups better to be frugal and creative.

<comment><USER10> Sine when do "frugal" and "interior designer" go together?

</comment></comment><comment><USER27> The answer is neither one.

You are on automatic pilot.

"I am in the process of looking for an office space to move my business so that I can hire some employees."

It is 2008. Hire your employees. Where they work is not your problem any more.

</comment><comment><USER28> I think you need to answer not what appeals to what you want, but what you need; and I come to that conclusion based on your very word choice "plain", "boring", "uninteresting". If you need the space, find out what your budget will allow and what meets the accommodations of your team.

Solve your problems first, and the rest will follow. 37Signals has been preaching it, and so will I because it _works_</comment>


Why you shouldnt join an accelerator - <AUTHOR> http://blossomstreetventures.com/blog_details.php?bcat_id=87&utm_campaign=Mattermark+Daily&utm_source=hs_email&utm_medium=email&utm_content=38905427&_hsenc=p2ANqtz--29ibnuPT1REKKwKpWPd51yPlSueoHPA2EgmT2oLad53JLTZfkFn1dY41YdpF-rqIWWO4SWTI1E8peUnDh2kJWLwIahw&_hsmi=38905427 <comment><USER2> Where are the successful accelerators? I count "success" as "have nurtured a number of companies that went on to be successful".

I think YC counts as one. But I think it counts as _the_ one. Accelerators (AKA incubators) go back a long way (e.g. techfarm back in the 1990s) and yc is neither the first or last. But I've looked at the proliferation of accelerators and have not seen a lot of success. There is idealab, but that's more a bill gross shop (like Kamens' operation) than a true accelerator IMHO.

My sole metric here is successful companies: those that went on to have significant impact.

Not to pick on anyone, but lets look at techstars's own report since to their credit they publish one: [http://www.techstars.com/companies/](http://www.techstars.com/companies/) . Two things jump out: they _did_ nurture a significant company: digital ocean. They list Sphero, who is doing great with BB-8, but who already had $40M invested and were willing to pay techstars' large fee basically for an introduction (that was hugely valuable). The rest of the companies, well, apart from sendgrid I haven't really heard of them (or the couple I have heard of are struggling). Worse, TS's published metric is funds raised by alumnus companies. It's hard to find a better metric but funds raised don't necessarily predict success, and after all these years you'd think they'd have more than 28 companies on their list.

</comment><comment><USER3> Stating the obvious: it is better to learn with the mistakes of others than with your own mistakes.

I enjoyed the reference to [http://autopsy.io/](http://autopsy.io/) this is a good resource to have. Reading this text was worth it as a bootstrapper even though i dont intend to join an accelerator.

</comment><comment><USER4> You can look at the graduates of an accelerator to get an idea of that accelerator's judgment. Then ask whether 7% for some cash is worth it.</comment>


Dark side of ergonomics in Rust - Avi-D-coder https://vorner.github.io/2018/04/08/Dark-side-of-ergonomics.html <comment><AUTHOR> The main problem I see with this reasoning:

The author provides some "extreme" examples of bad ergonomics, and posits there are milder examples of similarly bad ergonomics. But their examples aren't on the scale of "ergonomics", they're on the scale of "weakening language guarantees".

Instead of writing an essay with (intentional) strawman examples and then saying "trust me this could happen with any new ergonomics" is much less persuasive than just bringing up any legitimate concerns on offending ergonomic features. This essay is kind of arguing against no one and everyone at the same time: No one disagrees that automatic unwrapping is a bad idea, but it's ridiculous to say that "I reach more ergonomics by accepting more programs and hoping they do what the author have meant, so I don't have to bother the author with a compilation error." This isn't arguing against ergonomics, it's arguing against. . . I don't know, making Rust not Rust anymore?

<comment><USER2> I think a more charitable read is that Vorner is urging caution. Ergonomic changes are the "most prominent language work in the pipeline"[0] and there does seem to be a general consensus that Rust is harder to learn and should be made easier. The argument is that Rust should keep its priorities straight and not be seduced by ease of use to the detriment of the language's advantages.

But I agree that the danger remains hypothetical unless we can point to some dubious proposals that are gaining traction.

[0] [https://blog.rust- lang.org/2018/03/12/roadmap.html#language-...](https://blog.rust- lang.org/2018/03/12/roadmap.html#language-improvements)

<comment><USER3> I agree with your priorities, but I want to stress that don't think there's any reason to believe the people working on the language are confused about this. The ergonomics initiative has explicitly been about making certain things easier without introducing ambiguity or jeopardizing the safety guarantees Rust offers.

Like the OP says, the article is misguided, and if it has any effect, it will create FUD in people who have not followed the ergonomics proposals enough to know better.

<comment><USER4> I was part of a couple ergonomics discussions and I disagree.

Yes, in the end the changes don't sacrifice long-term maintainability over learnability/marketing, but that was a hard fight. And given editions will allow radical changes to the language and ecosystem every 3 years, I'm not sure how long that resistance is sustainable.

<comment><USER5> It seems to be that this is one of those fights where I (as a Rust developer) would _prefer_ that both sides fight as hard as possible. An article like this, by suggesting that the "ergonomists" move more toward the mindset of the "safety people", could cause _undue_ wins of the "safety people" over the ergonomists, when what should have happened is a careful compromise.

<comment><USER6> Can you really compromise on safety guarantees?

Isn't doing so just a rewrite of C++ ?

</comment></comment></comment></comment></comment></comment><comment><USER7> I've only just started learning Rust but having spent 38 years programming I largely agree with his sentiments.

Typing .unwrap() forces you to acknowledge that what you have may not actually be what you expect.

Explicit flow control makes what is happening clear to understand and reason about without jumping about the code via exceptions.

Type conversions should also be explicit, (and automatic type conversions would needlessly complicate the Type Checker in any event).

I am sure there are places where "ergonomics" can be improved, but it is far more important to avoid the many (accidental) mistakes made by other programming languages.

Rust is going to be around for a long time. So any mistakes made now will also be around for a very long time.

<comment><USER8> I don't think type conversions need to always be explicit, there just needs to be a lot of careful thought before they are.

Automatic deref would be an absolute pain to live without for example.

<comment><USER9> Type conversions have to be explicit when they are lossy, otherwise it's just useless noise and cognitive overhead that can lead to a bug.

<comment><USER10> Type conversions, even non lossy ones, can teach people to use the wrong type, in c++ it's very common to see people use a int in a for loop indexing an array when you should always use size_t for that purpose. This misuse is so widespread that people hardly even know that the size_t type exists. [https://www.viva64.com/en/a/0050/](https://www.viva64.com/en/a/0050/) has some nice material about why this matters and the type of bugs this can cause.

<comment><USER11> Personal opinion, heavy use of int is a code smell.

Ada with 'range' probably gets this right.

</comment></comment></comment></comment></comment><comment><USER12> The dislike of exceptions seems more common.

It puzzles me a bit. For numerical software, exceptions work quite well: for performance, all allocations are in the constructors, so the RAII idiom fits naturally. Using exceptions saves from writing a great deal of error-handling, which easily can have errors itself.

Has anyone seen properly-RAII-ed code where exceptions still have drawbacks ?

<comment><USER13> Say you have some code like,

        auto button = Button::create();
        window.addSubview(button);
        button.setLabel("test");
        button.setAlignment(Alignment::TOP_LEFT);
        button.sizeToFit();

If setLabel() throws an exception, you'll end up with a half-initialized button in the view hierarchy.

For exceptions to work predictably, all mutation within a try-catch block should be captured in a transaction that can be rolled back. Then you don't need to worry about each function possibly throwing an exception. Either the entire block commits its changes, or it's as if the entire block didn't happen at all.

<comment><USER14> > For exceptions to work predictably, all mutation within a try-catch block > should be captured in a transaction that can be rolled back.

Wouldn't that just be beautiful?

<comment><USER15> That sounds like a natural fit for Rust's lifetime-tracking mechanism. The compiler can automatically drop all initialized objects upon exception. In fact, I'm reasonably sure it does just that for panic handling.

<comment><USER13> That example is initialization code, but you'd run into the same problem even if the control were already initialized (and you were trying to set new properties on it). In that case, you'd likely have a borrowed pointer, so it wouldn't be dropped when the panic happened.

<comment><USER16> The pointer can be dropped. The pointed object cannot. So the problem of rolling back the transaction changes ownership, now our button should do sensible things in setLabel, to rollback changes made before an exception.

</comment></comment></comment></comment></comment></comment><comment><USER17> Speaking of ergonomics, I seem to write a good deal of this for short- circuiting in Rust:

        let x = match x {
          Some(x) => x,
          None => return None,
        }

Rust doesn't have any other way to short-circuit and it gets pretty tedious.

I think Kotlin's named returns are most ergonomic of all. That way you can just short-circuit from anywhere whether in the middle of a fold or a deeply nested iteration.

        fn foo() {
          for x in xs {
            for y in ys {
              if y == 42 {
                return@foo 42
              }
            }
          }
        }

The other thing I'd like for other languages to steal for Kotlin is how everything has the .let/.apply/etc. methods.

I'm rusty so this is more pseudocode, but these methods basically let you bring your own chaining to any value.

        let y = x.let { x ->
            x + 100
        }.apply { x ->
            println(x)
        }.let { x ->
            x * 2
        }

Once you use it, it feels pretty silly that library authors in other languages have to deliberately design a chainable API for the same ergonomics. ...And infuriating when you want to chain some more in other languages but you've run out of chain context.

Like when you use `.unwrap_or()` in Rust but still want to continue chaining on to the value. But can't because it's not in a container anymore with a chainable API.

        let x = maybe
            .map(foo)
            .and_then(bar)
            .unwrap_or(42);
            // ugh, want to apply a function to the result so
            // far but can't use `.map(to_base16)` because
            // it's been unwrapped into u32.

Just some things from my wishlist for the next language someone makes.

<comment><USER18>
      let x = match x {
          Some(x) => x,
          None => return None,
      }

This implies your function returns an `Option`, and that `x` is an `Option` too. In which case you can just do

      let x = x?;

<comment><USER19> I used it frequently when mixing `Result` with `Future`. For example,

      fn do_something() -> Box<Future<Item=(), Error=Error>> {
        let val = match do_result() {
          Ok(x) => x,
          Err(e) => return Box::new(err(e.into())),
        };
        // do something with `val`
        unimplemented!();
      }

<comment><USER20> If you want to cut down on lines, this is equivalent:

        let val = do_result().map_err(|e| Box::new(err(e.into())))?;

</comment></comment></comment></comment><comment><USER21> Is there any actual Rust ergonomics initiative that does what he's saying?

Or is he just talking about some generic possibility that isn't actually happening?

<comment><USER22> There was one in 2017 [0], and work started back then is going to be continued over the year [1]. It's not clear to me if there are going to be any new ergonomics proposals though.

[0] [https://blog.rust-lang.org/2017/03/02/lang- ergonomics.html](https://blog.rust-lang.org/2017/03/02/lang-ergonomics.html) [1] [https://blog.rust-lang.org/2018/03/12/roadmap.html](https://blog.rust- lang.org/2018/03/12/roadmap.html)

<comment><USER21> You misread my comment, I think.

I know that there are Rust ergonomics initiatives.

My question was: is there anything bad like he described in his post in one of these initiatives? Or is he just tilting at windmills?

<comment><USER23> The process is open for anyone to submit proposals so nothing stops wacky ideas to end up in rfc's. That does not mean they have a realistic chance of being accepted.

Nothing wacky was even close to being accepted.

The weirdest proposal that made it into rust was auto deref and I think that's a question of balance. I am on the side of the advantages outweigh the disavantages and rust without auto deref would not be a sane language but maybe some other patterns would have emerged.

</comment></comment></comment></comment><comment><USER24> I'm new to programming in the last few years, so please excuse my ignorance here.

When I hear/read the word "ergonomics", I think of proper posture and hand/head/eye position when you're working on a computer.

What does the word mean when used in this context?

Thanks. :)

<comment><USER25> Think of a tool, like a hammer or a screwdriver. Its handle must have the correct shape for a comfortable and strong grip; a handle that's too thick, too thin, or oddly shaped, will be hard to use. The tool's shape must not force you to hold it in a strange position. The tool's length must be adequate for the task; neither too long, nor too short. Now apply that to a software tool, like a compiler.

</comment></comment><comment><USER26> I agree with the overall sentiment, that ergonomics should not come at the cost of less safety or correctness. However, two of the three examples, I would actually consider to be _unergonomic_.

Specifically, empty/null values and exceptions. For small code examples they might seem ergonomic at first glance, but from esperience with large projects in scala, java, and c++. The actually add writing code more difficult (at least if you care about handling error cases at all).

Regarding null, I think it is much more economic to work with an Option or Maybe type, with operations like `map`, `unwrap_or`, and pattern matching than checking if values are null all over the place. Not to mention that if values can be null, you have to know the details of any function you call to know if you need to worry about null values at all. See [https://www.lucidchart.com/techblog/2015/08/31/the-worst- mis...](https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of- computer-science/) for more on how terrible null is.

Likewise with exception systems, in large codebases you end up with try/catch statements all over the place, because it's hard to know if the functions you are calling will throw an exception, and even if you know they don't _now_, maybe someone will add a throw later. With explicit result types, you know if you need to handle errors or not, and that won't change unless the signature of the function changes.

As for implicit type conversion, the example in the OP is obviously bad. But I don't think it sacrifices safety to allow implicit conversions for widening integer or floating point types, such as widening u32 to u64 or f32 to f64 (but not u32 to i32, i32 to u64, etc. I think u32 to i64 would be ok, but I'm not 100% sure).

</comment><comment><USER27> To be fair, the C++ noexcept feature isn't as powerful as it could be. There are languages with compile time checked exceptions, personally I prefer that to propagating every exception manually.

<comment><USER28> AIUI, this could be checked at compile time, but you could be calling a function that was brought in at link time so what's the point?

<comment><USER29> You could add some extra metadata descriptor to a function at a cost of space and checks... (like some functional languages do)

<comment><USER30> Good luck trying to convince C++ devs to add metadata to their binaries.

One reason why we have always to come up with our reflection solutions was because of this.

<comment><USER31> C++ adds metadata to binaries all the time, via name mangling ([https://en.wikipedia.org/wiki/Name_mangling](https://en.wikipedia.org/wiki/Name_mangling))

 _noexcept_ is part of the function type since C++17, so it will be encoded in binaries ([https://stackoverflow.com/questions/46798456/handling- gccs-n...](https://stackoverflow.com/questions/46798456/handling-gccs- noexcept-type-warning))

<comment><USER30> I doubt many would consider it metadata, specially since it goes away for all non public symbols on release builds.

</comment></comment></comment></comment></comment></comment><comment><USER32> Are any of these actually proposed to go into Rust? Or something like it?

<comment><USER33> I'm not really up to speed on what the Rust team is thinking, but basically no. These are not the kinds of things the Rust team would do to improve ergonomics. Correctness is forefront in Rust. The only thing I can think of like this op that has seriously been considered is automatic cloning for trivial types like `Rc`.

The Rust team thinks really hard about correctness before making any decisions and isn't going to add any ridiculous footguns to the language unless there's some organizational catastrophe that puts monkeys in charge of decision making.

<comment><USER4> I'd say there are a couple of things that apply:

* `?` can propagate values/short circuit control flow, but it also contains a hidden type conversion. The target needs to be a known type for it to compile.

* A proposed `catch` construct will include implicit type conversion for its result value.

Some things that came up in the past but met resistance:

* Removing project structure from in-code to being defined by the filesystem.

* Hiding `Result` types in signatures with special syntax.

* Dropping immutable by default, though this was pre-1.0.

Also, `Rc` and `Arc` are good examples for this. They do seem trivial, but having them auto-clone would mean:

* Every newcomer who writes `fn foo(val: Arc<Bar>) {}` instead of `fn foo(val: &Arc<Bar>) {}` or `fn foo(val: &Bar) {}` will get an implicit atomic increment/decrement at every function call.

* It also makes it a lot harder to reason about code if you want to use a clone-on-mutation-unless-not-shared strategy.

<comment><USER3> I think RC examples are very good, but in the case of special syntax for Result, isn't that a case where the two options are semantically the same, you just are wary of the less verbose/loud option (I have withoutboats' post in mind here)?

</comment></comment></comment></comment><comment><USER34> Now I haven't programmed enough rust to know if there's a real problem here, but I worry about things like NLL. It means that the borrower checker accepts more programs which is good, but it also means that the model you need to have of its behaviour to correctly predict how it acts is a bit more complex. There's a trade off there.

<comment><USER35> The code in the compiler is more complex, but the domain is now more fully covered, so there is less understanding needed for the programmer.

It now simply understands your intention, where before it would not. So previously you would write some code, be surprised that it does not compile, gain a thorough understanding of the limits of the borrow checker, write a workaround to appease the checker. Now you write the code, expecting it to be correct, and the borrow checker will agree.

<comment><USER34> > It now simply understands your intention, where before it would not. So > previously you would write some code, be surprised that it does not compile, > gain a thorough understanding of the limits of the borrow checker

Much more important than it understanding your intention is you understanding its limits. If it understands your intention 10% more of the time, but it's harder for you to understand what's going on when it doesn't, then that is not something everyone is going to find simpler.

Another word that gets applied to systems that try to guess at your intentions rather than operate according to an easily predictable model is 'magic'.

<comment><USER35> You would be right if it did guess, but it doesn't. It's not magic, I'm not sure if it still has limitations, but I think the idea is that it eventually does not have limitations.

It's not magic when a compiler compiles your correct code.

</comment></comment></comment></comment><comment><USER36> I think most of the ergonomics issues can be addressed by improving the tooling without needing to pollute the language. An IDE could provide snippets and autocomplete for common patterns.

<comment><USER4> I'd say Rust's first line of solutions for this is macro_rules. They are structured, allow common patterns to be re-used in various places, can be reviewed and maintained in one place and apply to all uses, they can even be distributed via crates.io.

</comment></comment><comment><USER37> > Typing of the .unwrap() makes me acknowledge it could be None. You know, the > effect "Oh crap, I better handle that too, right?". It forces me to fix my > mental model, and not write the bug, instead of fixing the bug later on.

How does this work for Mutex::lock()? Do you actually try to handle the case where taking the lock fails, because it has been poisoned?

<comment><USER38> From the documentation [0] for Mutex<T>:

      For a mutex, this means that the lock and try_lock
      methods return a Result which indicates whether a
      mutex has been poisoned or not. Most usage of a mutex
      will simply unwrap() these results, propagating panics
      among threads to ensure that a possibly invalid
      invariant is not witnessed.

      A poisoned mutex, however, does not prevent all access
      to the underlying data. The PoisonError type has an
      into_inner method which will return the guard that
      would have otherwise been returned on a successful
      lock. This allows access to the data, despite the
      lock being poisoned.

[0] [https://doc.rust- lang.org/stable/std/sync/struct.Mutex.html](https://doc.rust- lang.org/stable/std/sync/struct.Mutex.html)

<comment><USER37> The author argues that explicit unwrap() is good because it forces you to realize the value may be empty and think "Oh crap, I better handle that too." But the docs you linked say that "most usage of a mutex will simply unwrap these results" and not try to handle the case.

So it seems like the explicit unwrap() here is not preventing any bugs, it's just adding noise. Wouldn't automatic unwrap be better, at least in this case?

<comment><USER39> Again, it makes the programmer aware of possible issues and gives them a nudge to consider handling the error. This is very valuable.

</comment></comment></comment></comment><comment><USER40> Exceptions, errors and bugs are all different, have different semantics and subsequebtly different outcomes. Also the author is confusing noexcept with nothrow

<comment><USER41> >> Also the author is confusing noexcept with nothrow

I'm left wondering if that was an experiment to see if anyone would notice. I don't wonder about his point; most working C++ programmers don't understand the difference either. "...yet another keyword nobody learns to use."

</comment></comment><comment><USER42> Hmm yeah... I think I completely agree with this, the whole point of rust (for me) is safety and less surprises - the surprises tend to be misguided ergonomics.

But is this a real danger now? Is the ergonomics initiative trying to make rust into JavaScript or Ruby? That would be unfortunate, languages should be different and the point of rust is sacrificing some ergonomic for safety and in the end more power...

</comment><comment><USER43> I'm just reading it, but already like the disclaimer. :D

</comment><comment><USER44> Reddit discussion here: [https://www.reddit.com/r/rust/comments/8asb4i/dark_side_of_e...](https://www.reddit.com/r/rust/comments/8asb4i/dark_side_of_ergonomics/)</comment>


NSA tried Stuxnet cyber-attack on North Korea five years ago but failed - <AUTHOR> http://www.theguardian.com/world/2015/may/29/us-stuxnet-cyber-attack-north-korea-failure <comment><USER2> "...imposing further sanctions on North Korea, which he said was "not even close" to taking steps to end its nuclear programme."

North Korea - under the current leadership - will never end its nuclear programme. It is their most important leverage in discussions with other nations, and the main reason they get much more international attention and aid than other equally poor countries.

They may slow down development for a while, or claim to cease development at some point in return for aid, but a few years later it will return stronger than before. We've already seen this happen once.

Efforts to end the North Korean nuclear programme without significant changes to their situation are futile. The US should know this by now.

<comment><USER3> >North Korea - under the current leadership - will never end its nuclear programme.

well, Iran wasn't going to too (and add to that that there was Israel against the deal). I wonder what are the chances that in the time left Obama would do NK too, after Iran and Cuba (each will prove to be at least a regional history changing events).

Obama seems to be dropping the blind following of the ancient dust covered principles which were inherited from different epoch and acts pragmatically with open mind, and this is exactly what NK situation needs to. NK is already a nuke nation and they obviously wouldn't give it up (giving the history of their region, and the current regional situation..., and among other they obviously aware about the fate of Iraq who failed to develop their own and Ukraine who gave theirs up voluntarily 20+ years ago - the world is a tough place). Bringing them back into civilization though would let them to enjoy its fruit and thus would increase their perceived cost of using nukes, it would make them into situation where they would have a lot to lose while less reasons to use, thus decreasing the probability and interest in using the nukes.

<comment><USER4> >well, Iran wasn't going to too

The proposal by the Obama administration does not stop Iran from getting nuclear weapons. From a very, very optimistic perspective it may delay that by a few years. Iran will have nukes pointed at Tel Aviv sooner than later. Of course Israel is upset at the deal. Iran screams about starting a new Jewish Genocide daily. Israel has the moral right to defend itself and the Obama administration has throw it under the bus.

Diplomacy didn't stop Syria's nuclear program either. Israeli jet fighters did (Operation Orchard). When a nation has decided to get nuclear arms, only violence stops them.

Oh well, here come the downvotes from the anti-Israeli types.

<comment> vezzy-fnord _Iran screams about starting a new Jewish Genocide daily._

 _the Obama administration has throw_ [sic] _it under the bus_

Probably these two statements that would elicit allegedly anti-Israeli downvotes. Mostly I do not understand how a preliminary measure is throwing Israel's "moral right to defend itself" under the bus.

</comment></comment></comment></comment><comment><USER5> > "A spokeswoman for the NSA declined to comment. The spy agency has > previously declined to comment on the Stuxnet attack against"

That may be the easiest job in the history of history.

<comment><AUTHOR> sure beats being White House Press Secretary

</comment></comment><comment><AUTHOR> "Intelligience sources say a covert campaign to attack nuclear weapons programme was stymied by North Korea's isolated communications system..." \--- It seems like "process isolation" for an entire country.

<comment><USER6> Just like the Windtalkers ended up being more secure for communications than the German super-duper technological Enigma machine.

<comment><USER7> Security through obscurity is real.

<comment><USER8> Yeah but once someone casts a light on your obscurity you're screwed and you probably don't know it.

</comment></comment></comment></comment><comment><USER9> It really highlights the true nature of the threat the NSA represents to the freedom and liberty of all humanity to communicate and share. Their wanton, extra-legal, militaristic sabotage is a real chilling effect on all of society and humanity.

It always strikes me that we are so shocked at something like the OPM hack, when we go around like psychopaths abusing and destroying and manipulating whole societies on a regular basis. Will it really take something like China or Russia or Brazil or anyone else infiltrating, e.g., our financial system and either erasing transactions or falsifying transactions before we realize that "oops, hold on, let's stop this silliness that we started now that we are being hit". Do we really need to have a brush with our own vulnerability and mortality to decide it's a bad idea?

I personally don't think that we have seen the worst of it yet. It took the massacre at Hiroshima and Nagasaki, and the creation of exponentially more weapons that it would take to vaporize our planet to realize that we maybe shouldn't be such psychos, will it take something like destroying the financial system to realize we should just stop being psychos ... That some lines simply should not be crossed?

</comment><comment><USER10> I can't fathom why citizens of the USA don't understand that actions like this can be considered, by other nations, to be an act of war. Yet the US' people just let their government get away with it, like its no big thing .. and then cry about 'blowback' when it - inevitably - happens.

<comment><USER11> Given that legally the USA and NK are still at war, I don't see it changing much.

<comment><USER12> > Given that legally the USA and NK are still at war

For those, like me, curious about the situation, this is apparently something that has occurred several times in history[1]. In most if not all cases it seems to be pointless hair-splitting, but interesting nonetheless.

[1] [https://en.wikipedia.org/wiki/List_of_wars_extended_by_diplo...](https://en.wikipedia.org/wiki/List_of_wars_extended_by_diplomatic_irregularity)

(edit: markup)

</comment></comment></comment><comment><USER13> If a nation used a virus to cause a fast spinning centrifuge to violently collapse and spread radioactive material in the near vicinity, or if they sent a unmarked covert drone to blow it up with a precision bomb, is there a marked difference?

<comment><USER14> One is a clear act of violence by a third party, the other might go under the radar as a software error.

<comment><USER15> Besides, infecting the computers in a nuclear plant is not as easy as sending a technician a tweet with a link to the .exe or pulling a trigger thousands of miles away.

We still don't know how they infected the Iranian nuclear plant, so chances are there were some covert operations near the site.

</comment></comment></comment><comment><USER16> Heh, quick, put out a press release about how we didn't succeed to allay fears</comment>


Supermicro says investigation firm found no spy chips - <AUTHOR> https://techcrunch.com/2018/12/11/supermicro-says-investigation-firm-found-no-spy-chips/ <comment><USER2> It's not the hardware, it's the firmware I'm worried about. This is why firmware shouldn't be considered "trade secret" so that it can always be open to patching and auditing.</comment>


Stunning New Features of Android Studio 3.0 - <AUTHOR> https://hackernoon.com/stunning-new-features-of-android-studio-3-0-9ec53292f60e?source <comment><USER2> This article is poorly written. The first paragraph has a bad typo ("new brainer" instead of "no brainer"). Then they discuss the benefits of kotlin and delve into a discussion on why not just use TypeScript? TypeScript is not a language you can use to write native apps unless you are building on Cordova or react native, completely missing the point of kotlin.

</comment><comment><USER3> 'Stunning'? Come on.

hackernoon and medium, not worth clicking on links from either of them.</comment>