Skip to main content

A lot of product makers snub Right to Repair laws

3 months 2 weeks ago
Refrigerators and game consoles are the worst, but Apple, surprisingly, rates well

A year after the Right to Repair laws passed in California and Minnesota, many product makers still aren't doing much to help consumers fix the gear they bought.…

Thomas Claburn

'Space Is Hard. There Is No Excuse For Pretending It's Easy'

3 months 2 weeks ago
"For-profit companies are pushing the narrative that they can do space inexpensively," writes Slashdot reader RUs1729 in response to an opinion piece from SpaceNews. "Their track record reveals otherwise: cutting corners won't do it for the foreseeable future." Here's an excerpt from the article, written by Robert N. Eberhart: The headlines in the space industry over the past month have delivered a sobering reminder: space is not forgiving, and certainly not friendly to overpromising entrepreneurs. From iSpace's second failed lunar landing attempt (making them 0 for 2) to SpaceX's ongoing Starship test flight setbacks -- amid a backdrop of exploding prototypes and shifting goalposts -- the evidence is mounting that the commercialization of space is not progressing in the triumphant arc that press releases might suggest. This isn't just a series of flukes. It points to a structural, strategic and cultural problem in how we talk about innovation, cost and success in space today. Let's be blunt: 50 years ago, we did this. We sent humans to the moon, not once but repeatedly, and brought them back. With less computational power than your phone, using analog systems and slide rules, we achieved feats of incredible precision, reliability and coordination. Today's failures, even when dressed up as "learning opportunities," raises the obvious question: Why are we struggling to do now what we once achieved decades ago with far more complexity and far less technology? Until very recently, the failure rate of private lunar exploration efforts underscored this reality. Over the past two decades, not a single private mission had fully succeeded -- until last March when Firefly Aerospace's Blue Ghost lander touched down on the moon. It marked the first fully successful soft landing by a private company. That mission deserves real credit. But that credit comes with important context: It took two decades of false starts, crashes and incomplete landings -- from Space IL's Beresheet to iSpace's Hakuto-R and Astrobotic's Peregrine -- before even one private firm delivered on the promise of lunar access. The prevailing industry answer -- "we need to innovate for lower cost" -- rings hollow. What's happening now isn't innovation; it's aspiration masquerading as disruption... "This is not a call for a retreat to Cold War models or Apollo-era budgets," writes Eberhart, in closing. "It's a call for seriousness. If we're truly entering a new space age, then it needs to be built on sound engineering, transparent economics and meaningful technical leadership -- not PR strategy. Let's stop pretending that burning money in orbit is a business model." "The dream of a sustainable, entrepreneurial space ecosystem is still alive. But it won't happen unless we stop celebrating hype and start demanding results. Until then, the real innovation we need is not in spacecraft -- it's in accountability." Robert N. Eberhart, PhD, is an associate professor of management and the faculty director of the Ahlers Center for International Business at the Knauss School of Business of University of San Diego. He is the author of several academic publications and books. He is also part of Oxford University's Smart Space Initiative and contributed to Berkeley's Space Sciences Laboratory. Before his academic career, Prof. Eberhart founded and ran a successful company in Japan.

Read more of this story at Slashdot.

BeauHD

CodeSOD: It's Not Wrong to Say We're Equal

3 months 2 weeks ago

Aaron was debugging some C# code, and while this wasn't the source of the bug, it annoyed him enough to send it to us.

protected override int DoCompare(Item item1, Item item2) { try { DateTime thisDate = ((DateField)item1.Fields["Create Date"]).DateTime; DateTime thatDate = ((DateField)item2.Fields["Create Date"]).DateTime; return thatDate.CompareTo(thisDate); } catch (Exception) { return 0; // Sorry, ran out of budget! } }

Not to be the pedantic code reviewer, but the name of this function is terrible. Also, DoCompare clearly should be static, but this is just pedantry.

Now, there's a lot of implied WTFs hidden in the Item class. They're tracking fields in a dictionary, or maybe a ResultSet, but I don't think it's a ResultSet because they're converting it to a DateField object, which I believe to be a custom type. I don't know what all is in that class, but the whole thing looks like a mess and I suspect that there are huge WTFs under that.

But we're not here to look at implied WTFs. We're here to talk about that exception handler.

It's one of those "swallow every error" exception handlers, which is always a "good" start, and it's the extra helpful kind, which returns a value that is likely incorrect and provides no indication that anything failed.

Now, I suspect it's impossible for anything to have failed- as stated, this seems to be some custom objects and I don't think anything is actively talking to a database in this function (but I don't know that!) so the exception handler likely never triggers.

But hoo boy, does the comment tell us a lot about the codebase. "Sorry, ran out of budget!". Bugs are inevitable, but this is arguably the worst way to end up with a bug in your code: because you simply ran out of money and decided to leave it broken. And ironically, I suspect the code would be less broken if you just let the exception propagate up- if nothing else, you'd know that something failed, instead of incorrectly thinking two dates were the same.

.comment { border: none; } [Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!
Remy Porter