Skip to main content

German Startup Wins Accolade For Its Fusion Reactor Design

2 months 2 weeks ago
A German nuclear fusion startup called Proxima Fusion has unveiled its "Stellaris" fusion power plant designed to operate reliably and continuously without the instabilities of tokamaks. It's backed by $65 million in funding, with plans to build a fully operational fusion reactor by 2031. TechCrunch reports: Tokamaks and stellarators are types of fusion reactors that use electromagnets to contain fusion plasma. Tokamaks rely on external magnets and an induced plasma current but are known for instability. Stellarators, by contrast, use only external magnets, which, in theory, enable better stability and continuous operation. However, according to Dr. Francesco Sciortino, co-founder and CEO of Proxima Fusion, Proxima's "Stellaris" design is the first peer-reviewed fusion power plant concept that demonstrates it can operate reliably and continuously, without the instabilities and disruptions seen in tokamaks and other approaches. Proxima published its findings in Fusion Engineering and Design, choosing to share this information publicly to support open-source science. "Our American friends can see it. Our Chinese friends can see it. Our claim is that we can execute on this faster than anyone else, and we do that by creating a framework for integrated physics, engineering, and economics. So we're not a science project anymore," Sciortino told TechCrunch over a call. "We started out as a group of founders saying it's going to take us two years to get to the Stellaris design ... We actually finished after one year. So we've accelerated by a year," he added.

Read more of this story at Slashdot.

BeauHD

CodeSOD: A Secure Item

2 months 2 weeks ago

Kirill writes:

I've worked in this small company for a year, and on a daily basis I've come across things that make my eyes sink back into their sockets in fear, but mostly I've been too busy fixing them to post anything. It being my last day however, here's a classic

We'll take this one in parts. First, every element of the UI the user can navigate to is marked with an enum, defined thus:

enum UiItem { SectionA, SectionB, SectionC,...SectionG }

These names are not anonymized, so already I hate it. But it's the next enum that starts my skin crawling:

enum SecurityUiItem { SectionA = UiItem.SectionA, SectionB = UiItem.SectionB, ... SectionG = UiItem.SectionG }

A SecurityUiItem is a different type, but the values are identical to UiItem.

These enums are used when trying to evaluate role-based permissions for access, and that code looks like this:

if ((currentAccess.ContainsKey(SecurityUiItem.SectionA) && currentAccess[SecurityUiItem.SectionA] != AccessLevel.NoAccess)) return UiItem.SectionA; else if (!currentAccess.ContainsKey(SecurityUiItem.SectionB) || (currentAccess.ContainsKey(SecurityUiItem.SectionB) && currentAccess[SecurityUiItem.SectionB] != AccessLevel.NoAccess)) return UiItem.SectionB; else if (!currentAccess.ContainsKey(SecurityUiItem.SectionC) || (currentAccess.ContainsKey(SecurityUiItem.SectionC) && currentAccess[SecurityUiItem.SectionC] != AccessLevel.NoAccess)) return UiItem.SectionC; ..... else if (!currentAccess.ContainsKey(SecurityUiItem.SectionG) || (currentAccess.ContainsKey(SecurityUiItem.SectionG) && currentAccess[SecurityUiItem.SectionG] != AccessLevel.NoAccess)) return UiItem.SectionG; else return UiItem.Unknown;

Honestly, I don't hate the idea of having one data type representing the actual UI objects and a separate data type which represents permissions, and having a function which can map between these two things. But this is a perfect example of a good idea executed poorly.

I also have to wonder about the fall-through pattern. If I have access to SectionA, I only seem to get SectionA out of this function. Are these permissions hierarchical? I have no idea, but I suspect there's a WTF underpinning this whole thing.

Congratulations on Kirill's last day.

[Advertisement] Picking up NuGet is easy. Getting good at it takes time. Download our guide to learn the best practice of NuGet for the Enterprise.
Remy Porter