10 interesting stories served every morning and every evening.

1 510 shares, 27 trendiness

He Refused To Approve Challenger Launch, Exposed Cover-Up

On Jan. 27, 1986, Allan McDonald stood on the cusp of his­tory.

McDonald di­rected the booster rocket pro­ject at NASA con­trac­tor Morton Thiokol. He was re­spon­si­ble for the two mas­sive rock­ets, filled with ex­plo­sive fuel, that lifted space shut­tles sky­ward. He was at the Kennedy Space Center in Florida for the launch of the Challenger to ap­prove or dis­ap­prove a launch if some­thing came up,” he told me in 2016, 30 years af­ter Challenger ex­ploded.

His job was to sign and sub­mit an of­fi­cial form. Sign the form, he be­lieved, and he’d risk the lives of the seven as­tro­nauts set to board the space­craft the next morn­ing. Refuse to sign, and he’d risk his job, his ca­reer and the good life he’d built for his wife and four chil­dren.

And I made the smartest de­ci­sion I ever made in my life­time,” McDonald told me. I re­fused to sign it. I just thought we were tak­ing risks we should­n’t be tak­ing.”

McDonald per­sis­tently cited three rea­sons for a de­lay: freez­ing overnight tem­per­a­tures that could com­pro­mise the booster rocket joints; ice form­ing on the launch­pad and space­craft that could dam­age the or­biter heat tiles at launch; and a fore­cast of rough seas at the booster rocket re­cov­ery site.

He also told NASA of­fi­cials, If any­thing hap­pens to this launch, I would­n’t want to be the per­son that has to stand in front of a board of in­quiry to ex­plain why we launched.”

Now, 35 years af­ter the Challenger dis­as­ter, McDonald’s fam­ily re­ports that he died Saturday in Ogden, Utah, af­ter suf­fer­ing a fall and brain dam­age. He was 83 years old.

There are two ways in which [McDonald’s] ac­tions were heroic,” re­calls Mark Maier, who di­rects a lead­er­ship pro­gram at Chapman University and pro­duced a doc­u­men­tary about the Challenger launch de­ci­sion.

One was on the night be­fore the launch, re­fus­ing to sign off on the launch au­tho­riza­tion and con­tin­u­ing to ar­gue against it,” Maier says. And then af­ter­wards in the af­ter­math, ex­pos­ing the cover-up that NASA was en­gaged in.”

Twelve days af­ter Challenger ex­ploded, McDonald stood up in a closed hear­ing of a pres­i­den­tial com­mis­sion in­ves­ti­gat­ing the tragedy. He was in the cheap seats in the back” when he raised his hand and spoke. He had just heard a NASA of­fi­cial com­pletely gloss over a fun­da­men­tal fact.

McDonald and his team of Thiokol en­gi­neers had stren­u­ously op­posed the launch, ar­gu­ing that freez­ing overnight tem­per­a­tures, as low as 18 de­grees F, meant that the O-rings at the booster rocket joints would likely stiffen and fail to con­tain the ex­plo­sive fuel burn­ing in­side the rock­ets. They pre­sented data show­ing that O-rings had lost elas­tic­ity at a much warmer tem­per­a­ture, 53 de­grees F, dur­ing an ear­lier launch.

The NASA of­fi­cial sim­ply said that Thiokol had some con­cerns but ap­proved the launch. He ne­glected to say that the ap­proval came only af­ter Thiokol ex­ec­u­tives, un­der in­tense pres­sure from NASA of­fi­cials, over­ruled the en­gi­neers.

I was sit­ting there think­ing that’s about as de­ceiv­ing as any­thing I ever heard,” McDonald re­called. So … I said I think this pres­i­den­tial com­mis­sion should know that Morton Thiokol was so con­cerned, we rec­om­mended not launch­ing be­low 53 de­grees Fahrenheit. And we put that in writ­ing and sent that to NASA.”

Former Secretary of State William Rogers chaired the com­mis­sion and stared into the au­di­to­rium, squint­ing in the di­rec­tion of the voice.

I’ll never for­get Chairman Rogers said, Would you please come down here on the floor and re­peat what I think I heard?’ McDonald said.

The fo­cus of the com­mis­sion’s in­ves­ti­ga­tion shifted to the booster rocket O-rings, the ef­forts of McDonald and his col­leagues to stop the launch and the fail­ure of NASA of­fi­cials to lis­ten.

Morton Thiokol ex­ec­u­tives were not happy that McDonald spoke up, and they de­moted him.

That alarmed mem­bers of the pres­i­den­tial com­mis­sion and mem­bers of Congress. Rep. Edward Markey, a Massachusetts Democrat, in­tro­duced a joint res­o­lu­tion in the House that threat­ened to for­bid Thiokol from get­ting fu­ture NASA con­tracts given the com­pa­ny’s pun­ish­ment of McDonald and any other Thiokol en­gi­neers who spoke freely.

The com­pany re­lented, and McDonald was pro­moted to vice pres­i­dent and put in charge of the ef­fort to re­design the booster rocket joints that failed dur­ing the Challenger launch.

In 1988, the re­designed joints worked suc­cess­fully as shut­tle flights re­sumed.

McDonald con­tin­ued to work at Thiokol un­til 2001 and re­tired af­ter 42 years. He later co-au­thored one of the most de­fin­i­tive ac­counts of the Challenger dis­as­ter — Truth, Lies, and O-Rings: Inside the Space Shuttle Challenger Disaster.

In re­tire­ment, McDonald be­came a fierce ad­vo­cate of eth­i­cal de­ci­sion-mak­ing and spoke to hun­dreds of en­gi­neer­ing stu­dents, en­gi­neers and man­agers. He and Chapman University’s Maier held lead­er­ship and ethics sem­i­nars for cor­po­ra­tions and gov­ern­ment agen­cies, in­clud­ing U. S. Space Command.

Maier says that one of McDonald’s key mo­ments in his talks helps ex­plain his abil­ity to rec­on­cile his brush with his­tory.

What we should re­mem­ber about Al McDonald [is] he would of­ten stress his laws of the seven R’s,” Maier says. It was al­ways, al­ways do the right thing for the right rea­son at the right time with the right peo­ple. [And] you will have no re­grets for the rest of your life.”

It’s re­ally that sim­ple if you just keep it fo­cused that way,” McDonald told me in 2016.

He also framed re­gret an­other way, para­phras­ing a fa­vorite quote from the late jour­nal­ist Sydney J. Harris.

Regret for things we did is tem­pered by time,” McDonald said, his ex­pres­sion firm. But re­gret for things we did not do is in­con­solable.” McDonald then paused and added, That’s ab­solutely true.”

He seemed in­con­solable im­me­di­ately af­ter the Challenger ex­plo­sion in tear­ful calls home. He re­calls the painful con­ver­sa­tions in his book. I feel like it’s my fault,” he told his daugh­ter Lisa, a nurs­ing stu­dent in Boston at the time. Don’t blame your­self, Dad,” she said, also cry­ing.

Maier be­lieves McDonald lived out his life with nei­ther blame nor re­gret. He died with seren­ity and equa­nim­ity,” he says. I will miss him dearly.”

Allan McDonald leaves be­hind his wife, Linda, and four chil­dren — and a legacy of do­ing the right things at the right times with the right peo­ple.


Read the original on www.npr.org »

2 400 shares, 18 trendiness

Ladybird browser spreads its wings [LWN.net]

Ladybird is an open-source pro­ject aimed at build­ing an in­de­pen­dent web browser, rather than yet an­other browser based on Chrome. It is writ­ten in C++ and li­censed un­der a two-clause BSD li­cense. The ef­fort be­gan as part of the SerenityOS pro­ject, but de­vel­oper Andreas Kling an­nounced

on June 3 that he was forking” Ladybird as a sep­a­rate pro­ject and step­ping away from SerenityOS to fo­cus his at­ten­tion on the browser com­pletely. Ladybird is not ready to re­place Firefox or Chrome for reg­u­lar use, but it is show­ing great promise.

Kling started work­ing on SerenityOS in 2018 as a ther­apy pro­ject af­ter com­plet­ing a sub­stance-abuse re­ha­bil­i­ta­tion pro­gram. The SerenityOS name is a nod to the seren­ity

prayer. Prior to work­ing on the pro­ject, he had worked on WebKit-based browsers at Apple and Nokia. Eventually he made

SerenityOS his full-time job, and funded the work through do­na­tions, sales of SerenityOS mer­chan­dise, and in­come from YouTube. (Kling posts monthly up­dates to his YouTube

chan­nel about Ladybird, as well as hack­ing videos where he walks through work­ing on var­i­ous com­po­nents in the browser, such as the JavaScript JIT


Kling an­nounced

the Ladybird pro­ject in September 2022. He said that the pro­ject started while cre­at­ing a Qt GUI for SerenityOS’s LibWeb browser en­gine. He de­cided to tar­get Linux as well as SerenityOS so it would be eas­ier for peo­ple to work on and de­bug while in Linux. In the post an­nounc­ing his in­tent to work solely on Ladybird, he noted that he had been fo­cus­ing all of his at­ten­tion on the Linux ver­sion of Ladybird. With that re­al­iza­tion, he de­cided to step down as benevolent dic­ta­tor for life” (BDFL) of SerenityOS so its de­vel­op­ment would not be held back:

Ladybird’s gov­er­nance is sim­i­lar to SerenityOS. Kling is the BDFL, with a group of main­tain­ers (currently ten) who can ap­prove and merge pull re­quests. The con­tribut­ing

guide notes that main­tain­er­ship is by in­vi­ta­tion only and does not

cor­re­late with any par­tic­u­lar met­ric”. Project de­vel­op­ment dis­cus­sions are held on a Discord server

(account re­quired).

Now in­de­pen­dent, Ladybird has dropped SerenityOS as a de­vel­op­ment tar­get, and has moved to its own GitHub

repos­i­tory. In ad­di­tion, Kling has re­laxed his self-im­posed pol­icy of ex­clud­ing not in­vented here” (NIH) code that had ap­plied to SerenityOS, which means that the Ladybird pro­ject will be able to make use of ex­ist­ing li­braries rather than writ­ing from scratch.

Comparing the README file in the stand­alone Ladybird repos­i­tory against the README

file in the SerenityOS repos­i­tory, the goal has evolved from cre­at­ing ” to de­vel­op­ing an in­de­pen­dent browser ”.

The changes to the sec­tion that enu­mer­ates the core li­braries for Ladybird pro­vide some hints about Kling’s plans to use ex­ist­ing li­braries rather than con­tin­u­ing to rein­vent the wheel. The core sup­port li­braries for the pro­ject in­clude home­grown li­braries for cryp­tog­ra­phy, TLS, 2D-graphics ren­der­ing, archive-file for­mat sup­port, Unicode, as well as au­dio and video play­back. In the pre-fork doc­u­men­ta­tion, they are de­scribed as al­ter­na­tives to other soft­ware. For ex­am­ple, Ladybird’s TLS (LibTLS) and cryp­tog­ra­phy (LibCrypto) li­braries are ”. The rather than” lan­guage has been re­moved in the jour­ney to the stand­alone repos­i­tory, and the LibSQL li­brary from SerenityOS has al­ready

been stripped out in fa­vor of sqlite3.

In a dis­cus­sion in the pro­jec­t’s Discord in­stance on June 5, Kling in­di­cated that font ren­der­ing would likely be re­placed with a third-party li­brary. A user asked on June 6 what would de­ter­mine whether a com­po­nent would be de­vel­oped in-house ver­sus us­ing a third-party li­brary. Kling re­sponded that if it im­ple­ments a web stan­dard, i.e DOM, HTML, JavaScript, CSS, Wasm, etc. then we build it in house.” Otherwise, the pro­ject would look to al­ter­na­tives unless we be­lieve we can build some­thing bet­ter our­selves”.

Ladybird is still in early de­vel­op­ment (“pre-alpha”) to­day. It cur­rently runs on Linux, ma­cOS, and other UNIX-like op­er­at­ing sys­tems. It’s also pos­si­ble to use on Windows with Windows Subsystem for Linux (WSL) ver­sion 2, but there ap­pears to be no ef­fort to tar­get Windows in­de­pen­dently at this time. At the mo­ment, the pro­ject does not pro­vide bi­na­ries for any plat­form. Interested users will need to grab the source and fol­low the


in­struc­tions. Users will need GCC 13+ or Clang 17, and Qt6 de­vel­op­ment pack­ages to play along at home. Ladybird com­piles and runs on, for ex­am­ple, Fedora 40 with­out a prob­lem, but it is a long way from be­ing suit­able for reg­u­lar use.

One might ex­pect that the browser would be more us­able with sites with sim­pler lay­outs and lit­tle to no JavaScript (e.g. LWN) than those with com­plex lay­outs and a fair amount of JavaScript (e.g. GitHub). However, this is­n’t al­ways the case—La­dy­bird ren­dered GitHub and many other sites well, if slowly. Browsing LWN anony­mously worked well, but log­ging into LWN, how­ever, con­sis­tently proved to be too much for the ap­pli­ca­tion. Each time, it ba­si­cally froze on the front page and click­ing links to ar­ti­cles did noth­ing.

Somewhat iron­i­cally, it was not pos­si­ble to log into Discord us­ing Ladybird. It does a fair job of ren­der­ing pages, but speed and sta­bil­ity are still want­ing. Each Ladybird tab has its own ren­der process, which is sand­boxed as a se­cu­rity mea­sure to pre­vent any ma­li­cious pages from af­fect­ing the rest of the sys­tem. However, it does­n’t seem to suf­fice to keep a sin­gle page from crash­ing the browser en­tirely. That’s to be ex­pected from a pro­ject that’s still con­sid­ered pre-al­pha, though.

The cur­rent fea­ture set is, not sur­pris­ingly, min­i­mal. Ladybird has a URL/search bar, re­load, tabs, can zoom in/​out on con­tent, take screen­shots, and (of course) has back­ward and for­ward nav­i­ga­tion. It does not, how­ever, have book­marks, a his­tory dis­play, ex­ten­sions, pass­word man­age­ment, print­ing, or even the abil­ity to save an im­age. WebRTC does not seem to be sup­ported yet. CSS sup­port seems rel­a­tively ro­bust. Ladybird passes 100% of the CSS Selectors tests for lev­els 1-3, for ex­am­ple, us­ing this

test. It gets a 53% score for level 4, while Firefox gets 71%, so not a ter­ri­ble show­ing at all. JavaScript sup­port seems solid, but slow: the ex­am­ples

here work, but they load slowly.

On the other hand, Ladybird does have tools for de­vel­op­ers, such as in­spec­tors for the doc­u­ment ob­ject model (DOM) tree and ac­ces­si­bil­ity trees, as well as the abil­ity to cre­ate dumps of var­i­ous things: the DOM tree and lay­out tree, com­puted styles, and so forth. It also has the abil­ity to spoof the User-Agent sent by the browser so that testers can try to get around sites that refuse to work with unknown” browsers. However, tog­gling the User-Agent was­n’t enough to get past Google’s gate­keep­ing to sign into Gmail—but it’s un­clear if that meant Ladybird was­n’t send­ing the string cor­rectly or if Google is us­ing other means to fin­ger­print non-ap­proved browsers.

Suffice it to say, Ladybird is not ready for main­stream use but it

does show po­ten­tial. In the past month, the pro­ject has had more than 880 com­mits from 49 au­thors. If the pro­ject main­tains that kind of mo­men­tum, or picks up steam, it could be­come a us­able al­ter­na­tive to main­stream browsers be­fore too long.

(Log in to post com­ments)


Read the original on lwn.net »

3 283 shares, 13 trendiness

Artist-Created Mesh Generation with Autoregressive Transformers

Recently, 3D as­sets cre­ated via re­con­struc­tion and gen­er­a­tion have matched the qual­ity of man­u­ally crafted as­sets, high­light­ing their po­ten­tial for re­place­ment. However, this po­ten­tial is largely un­re­al­ized be­cause these as­sets al­ways need to be con­verted to meshes for 3D in­dus­try ap­pli­ca­tions, and the meshes pro­duced by cur­rent mesh ex­trac­tion meth­ods are sig­nif­i­cantly in­fe­rior to Artist-Created Meshes (AMs), i.e., meshes cre­ated by hu­man artists. Specifically, cur­rent mesh ex­trac­tion meth­ods rely on dense faces and ig­nore geo­met­ric fea­tures, lead­ing to in­ef­fi­cien­cies, com­pli­cated post-pro­cess­ing, and lower rep­re­sen­ta­tion qual­ity.

To ad­dress these is­sues, we in­tro­duce MeshAnything, a model that treats mesh ex­trac­tion as a gen­er­a­tion prob­lem, pro­duc­ing AMs aligned with spec­i­fied shapes. By con­vert­ing 3D as­sets in any 3D rep­re­sen­ta­tion into AMs, MeshAnything can be in­te­grated with var­i­ous 3D as­set pro­duc­tion meth­ods, thereby en­hanc­ing their ap­pli­ca­tion across the 3D in­dus­try.

The ar­chi­tec­ture of MeshAnything com­prises a VQ-VAE and a shape-con­di­tioned de­coder-only trans­former. We first learn a mesh vo­cab­u­lary us­ing the VQ-VAE, then train the shape-con­di­tioned de­coder-only trans­former on this vo­cab­u­lary for shape-con­di­tioned au­tore­gres­sive mesh gen­er­a­tion. Our ex­ten­sive ex­per­i­ments show that our method gen­er­ates AMs with hun­dreds of times fewer faces, sig­nif­i­cantly im­prov­ing stor­age, ren­der­ing, and sim­u­la­tion ef­fi­cien­cies, while achiev­ing pre­ci­sion com­pa­ra­ble to pre­vi­ous meth­ods.


Read the original on buaacyw.github.io »

4 271 shares, 19 trendiness

Why Innovation Heroes are a Sign of a Dysfunctional Organization

A week ago I got in­vited to an innovation hero” award cer­e­mony at a gov­ern­ment agency. I don’t know how many of these I’ve been to in the last cou­ple years, but this one just made my head ex­plode.

The award was for an en­tre­pre­neur who worked against all odds to buck the sys­tem to turn her in­sight into an ap­pli­ca­tion. She had re­al­ized it was pos­si­ble to au­to­mate a process that was be­ing done man­u­ally — reen­ter­ing data from one spread­sheet to an­other and an­no­tat­ing it with ad­di­tional data from an­other sys­tem. Inspired by her own work prob­lem, she talked to her peers and other stake­hold­ers, built mul­ti­ple min­i­mum vi­able prod­ucts, and fig­ured out how to get en­gi­neer­ing, pol­icy, le­gal, se­cu­rity and every­one else in the en­ter­prise to ac­tu­ally ap­prove it. And then she fought with the ac­qui­si­tion folks to buy the triv­ial amount of ad­di­tional hard­ware needed to con­nect it. It was a de­vel­op­ment process that would’ve taken three weeks in a startup, but in­side this agency took 10 months (which was con­sid­ered fast.) At each step she was con­fronted with we’re not bud­geted for this” or this is­n’t on our sched­ule” and this is­n’t your job.” Most ra­tio­nal peo­ple would’ve given up and said you can’t fight the sys­tem“ but yet she per­sisted.

Having seen this sce­nario play out mul­ti­ple times at mul­ti­ple large cor­po­ra­tions and gov­ern­ment agen­cies, I could’ve re­peated the speech her agency di­rec­tor made at the cer­e­mony ver­ba­tim. Blah blah blah and a $100 bonus.” Everyone po­litely ap­plauded and went back to work feel­ing good. I was sim­ply de­pressed. Never once did any­one ever step back and say that what we just wit­nessed was lead­er­ship re­ward­ing and per­pet­u­at­ing a dys­func­tional and bro­ken sys­tem.

I’m con­stantly puz­zled why thought­ful and as­tute CEOs and Agency Directors never ask, Why is it that in­no­va­tions re­quire hero­ics to oc­cur in our or­ga­ni­za­tion? Why don’t we have a re­peat­able process for in­no­va­tion? What are the ob­sta­cles in the way of de­liv­er­ing needed in­no­va­tion with speed and ur­gency in our or­ga­ni­za­tion? Why is it that af­ter each one of these awards we don’t go back and fix the parts of the sys­tem that made cre­at­ing some­thing new so dif­fi­cult?”

Instead, every­one at this award cer­e­mony just went back to work like it was busi­ness as usual. I re­al­ized that in­no­va­tion in this or­ga­ni­za­tion was go­ing to con­tinue to hap­pen by hero­ics and ex­cep­tion rather than by de­sign. As I’ve seen play out way too many times, ul­ti­mately the in­no­va­tors get tired of bang­ing their heads against the wall and leave gov­ern­ment ser­vice or large com­pa­nies. Their or­ga­ni­za­tions he­m­or­rhage the very peo­ple they need to help them com­pete against ag­gres­sive ad­ver­saries or com­peti­tors who have them in their sights.

An Organizational Design Problem

Sadly, this was­n’t a sin­gle act of bad man­age­ment or mal­ice. No sin­gle in­di­vid­ual thought they weren’t do­ing their job. However, if any­one had taken the time to de­con­struct the rea­son for the road­blocks to in­no­va­tion, they would have un­cov­ered they weren’t just ob­sti­nate mid­dle man­agers, or a sin­gle bad process. Asking a se­ries of five whys,” (see this HBR ar­ti­cle) would have dis­cov­ered that:

The agen­cy’s ex­ist­ing processes were not de­signed for non-stan­dard work. As in most large or­ga­ni­za­tions, they were de­signed for the re­peat­able ex­e­cu­tion of pre-de­fined tasks. There were no re­sources avail­able for non-stan­dard work or any par­al­lel or­ga­ni­za­tion re­spon­si­ble for in­no­va­tion.The cul­ture of the or­ga­ni­za­tion dis­cour­aged ex­per­i­men­ta­tion and pun­ished the in­evitable fail­ures of a learn­ing and dis­cov­ery process.

Ultimately, the root cause was the en­tire gov­ern­ment agency lacked an Innovation Doctrine. This man­i­fested it­self as an or­ga­ni­za­tional de­sign prob­lem. There was sim­ply no per­ma­nent place in the or­ga­ni­za­tion for un­sched­uled in­no­va­tion to hap­pen. And even if there had been, there was no way to turn demos into de­ploy­ment with speed and at scale.

Innovation Doctrine

In peace­time and/​or when you’re the dom­i­nant su­per­power (or a com­mer­cial mar­ket leader), the em­pha­sis is on process, pro­ce­dures, and sus­tain­ment of ex­ist­ing sys­tems. Deviations from that cre­ate chaos and di­verge from the pre­de­ter­mined are not wel­comed, let alone pro­moted, and funded. They are elim­i­nated. This works great when the ex­ter­nal en­vi­ron­ment -competitors, ad­ver­saries, tech­nolo­gies, threats — is sta­tic. However in times of cri­sis, war or dis­rup­tion, these un­con­ven­tional thinkers and in­no­va­tors are ex­actly what is needed, and their ideas need to be rapidly de­ployed.

Well-managed or­ga­ni­za­tions re­al­ize that they need both in­no­va­tion and ex­e­cu­tion. With ex­e­cu­tion be­ing dom­i­nant in peace­time/​com­pet­i­tive ad­van­tage you have man­agers of process. In cri­sis/​wartime in­no­va­tion is dom­i­nant. Instead of mangers of process you need in­no­va­tion lead­ers who shep­herd ideas through an in­no­va­tion pipeline. (see this HBR ar­ti­cle.) Successful or­ga­ni­za­tions rec­og­nize that in­no­va­tion is­n’t a sin­gle ac­tiv­ity (incubators, ac­cel­er­a­tors, hackathons); it is a strate­gi­cally or­ga­nized end-to-end process from idea to de­ploy­ment.

While in­no­va­tion and ex­e­cu­tion have dif­fer­ent processes, peo­ple, and cul­ture, they need to re­spect and de­pend on each other. This am­bidex­ter­ity (see this HBR ar­ti­cle) and the in­no­va­tion processes that go with it re­quire an in­no­va­tion doc­trine — an over­all strat­egy and play­book for the en­tire or­ga­ni­za­tion and en­ter­prise that in­cludes an in­no­va­tion pipeline and processes in­tended to drive in­no­va­tion ef­forts, and de­scribes the role of in­no­va­tion lead­ers in an am­bidex­trous or­ga­ni­za­tion — all fo­cused on rapid de­ploy­ment of new ca­pa­bil­i­ties.

* Innovation hero­ics are a symp­tom of a lack of an in­no­va­tion doc­trine

* An in­no­va­tion doc­trine has a play­book, and in­no­va­tion pipeline and de­scribes the role of in­no­va­tion lead­ers in an am­bidex­trous or­ga­ni­za­tion — all fo­cused on rapid de­ploy­ment of new ca­pa­bil­i­ties

* All large or­ga­ni­za­tions — both gov­ern­ment and cor­po­rate—need an in­no­va­tion doc­trine or else risk be­ing out­paced by com­peti­tors.


Read the original on steveblank.substack.com »

5 256 shares, 20 trendiness

Testing Generative AI for Circuit Board Design

TLDR: We test LLMs to fig­ure out how help­ful they are for de­sign­ing a cir­cuit board. We fo­cus on util­ity of fron­tier mod­els (GPT4o, Claude 3 Opus, Gemini 1.5) across a set of de­sign tasks, to find where they are and are not use­ful. They look pretty good for build­ing skills, writ­ing code, and get­ting use­ful data out of datasheets.

TLDRN’T: We do not ex­plore any pro­pri­etary copi­lots, or how to ap­ply a things like a dif­fu­sion model to the place and route prob­lem.

Can an AI-powered chat­bot help with a task as pre­cise as cir­cuit board de­sign? These LLMs (Large Language Models) are fa­mous for hal­lu­ci­nat­ing de­tails, and miss­ing a *single* im­por­tant de­tail can sink a de­sign. Determinism is hard but su­per im­por­tant for elec­tron­ics de­sign!

Today, sev­eral shal­low prod­uct of­fer­ings are mak­ing AI for elec­tron­ics de­sign look mostly like hype. But I think there is real util­ity to be found here, if we can take a bet­ter ap­proach.

In this ar­ti­cle, we set LLMs to un­fair tasks that ex­pert hu­man cir­cuit board de­sign­ers han­dle day to day. We’re not look­ing for ba­sic help, rather push­ing on what it takes to help an ex­pert do their job bet­ter.

It would be ridicu­lous (today) to ex­pect great per­for­mance from these gen­eral pur­pose AIs on this ex­pert task, es­pe­cially be­cause it is prob­a­bly not well rep­re­sented in the train­ing data.

To test per­for­mance on dif­fi­cult de­sign tasks, we work with three of to­day’s lead­ing mod­els:

- Gemini 1.5 Pro from Google

- GPT-4o from OpenAI

- Claude 3 Opus from Anthropic

And ex­plore prompt­ing strate­gies to get the best per­for­mance out of all the mod­els on each task. As part of the prompt, we also look for op­por­tu­ni­ties to im­prove the per­for­mance by ask­ing the LLMs to write code to de­sign cir­cuit boards where pos­si­ble.

The best re­sults are re­ported for each model and for each task. Let’s dig in!

There is a lot to know in cir­cuit board de­sign, and no­body has mas­tered every rel­e­vant do­main. Asking an LLM stu­pid ques­tions is a great way to learn.

For ex­am­ple an RF en­gi­neer will know their own spe­cialty quite well, but might not be a mas­ter of sup­ply chain, power sup­ply de­sign, or how to shape cop­per re­liefs to get high yields at the fac­tory.

( Some RF en­gi­neers will scoff at this, but re­al­is­ti­cally the world con­tains peo­ple try­ing to learn things.)

To sim­u­late some­one new to a do­main, I avoid prompt en­gi­neer­ing, and use of pre­cise ex­pert vo­cab­u­lary. I asked the LLMs a sim­ple ques­tion: What is the de­lay per unit length of a trace on a cir­cuit board?

Claude 3 Opus was the clear win­ner here. Notice that it brought in the rel­e­vant con­cepts (microstrip, stripline, di­elec­tric), got the an­swer right, and pointed out crit­i­cal gotchas:

Notice the gotchas here! The speed of a sig­nal changes based on which layer of a cir­cuit board you route it on, and what the ma­te­ri­als are.

You would never know that look­ing at a most PCB CAD tools, (e.g. Kicad, Altium) be­cause all of their de­lay match­ing is in units of length. e.g. both these traces have to be 50 mm long’ is a con­straint you en­ter with a GUI. But that’s not cor­rect if you want your board to work - de­lay de­pends on which layer they are routed on, and what ma­te­ri­als are in your board.

Getting that right: A+ an­swer for Claude here.

Google Gemini 1.5 per­formed the worst on this ques­tion. Maybe be­cause it brought in a bunch of sources from the in­ter­net, and most of the writ­ing in this dis­ci­pline is dreck gen­er­ated by SEO con­tent mills. Incorporating AI sum­ma­riza­tion of lower qual­ity writ­ing seems to make the an­swers con­sis­tently worse.

One of the su­per­pow­ers of an ex­pe­ri­enced en­gi­neer is know­ing things like: A DAC + DSP sys­tem good enough for this au­dio pipeline should be about this big, and cost $1.40 in pro­duc­tion”. They’ll then go do some turbo googling and find it.

How well can an AI that’s been fed the en­tire in­ter­net do?

For this ex­am­ple I chose find parts for some­thing cool: a ro­bot mo­tor dri­ver linked by op­ti­cal eth­er­net (instead of the usual CAN se­tups). I want smaller ca­bles, hun­dreds of pos­si­ble de­vices, and com­pact ca­bles that can sur­vive IRL twist­ing and jostling.

You can see a com­mu­ni­ca­tion layer like this as the daisy-chained black ca­bling in this pic­ture from HEBI:

Time to use AI to find the parts should I use for the eth­er­net switch, and the op­ti­cal trans­ceivers.

Here’s the prompt:

I want to de­sign a daisy-chained com­mu­ni­ca­tions layer for a mo­tor dri­ver, us­ing 100M op­ti­cal Ethernet. Each mo­tor con­troller will have a mi­cro­con­troller that in­ter­faces to the Ethernet net­work over RGMII. It needs to be com­pact, ro­bust to me­chan­i­cal vi­bra­tion and shock, and han­dle tem­per­a­tures up to 60 de­grees Celsius. Please help me choose parts for the op­ti­cal con­nec­tors, trans­ceivers, and Ethernet net­work­ing de­vice.

1. Think step by step as an ex­pert elec­tri­cal en­gi­neer.

2. Carefully con­sider how com­po­nent choices re­late to the re­quire­ments.

3. I’ll give you a dig­i­tal cookie if you get the an­swer cor­rect.

Here I’m pulling more prompt en­gi­neer­ing tricks to boost the per­for­mance of the model, and be­ing care­ful in de­tailed spec­i­fi­ca­tions to re­ally get this to work.

My ini­tial guess for these parts would be:

- Use a small three port eth­er­net switch to for the daisy chain, hope­fully some­thing from Micrel (now Microchip) like the KSZ8863MLL.

- For the op­ti­cal con­nec­tor/​trans­ceiver I would go with the OptoLock part on the ex­am­ple sys­tem from Hebi. Very small and ro­bust choice.

It would be amaz­ing to get new sug­ges­tions for parts and ar­chi­tec­tures here. Something go­ing be­yond su­per­fi­cial ad­vice into some­thing prac­ti­cal would have huge im­pact!

Instead, per­for­mance across all mod­els was uni­formly bad and no amount of prompt­ing or fol­low ups could fix it. It felt a lot like try­ing to get AI to solve a vari­ant of the wolf, sheep, cab­bage prob­lem. It’s got the an­swer locked in, and it’s hard to get out of that basin.

Here’s a rep­re­sen­ta­tive con­clu­sion from Gemini 1.5:

Example Part Selection

- Optical Connectors: LC Duplex con­nec­tors (Amphenol or sim­i­lar)

- Optical Transceivers: 100Base-FX SFP trans­ceivers (Finisar, Cisco, or other rep­utable brands) with in­dus­trial tem­per­a­ture rat­ings

- Ethernet Networking Device: Microchip LAN8742A or Texas Instruments DP83848

Digital Cookie Time! 🍪

I hope this de­tailed break­down helps you choose the right parts for your daisy-chained mo­tor con­trol sys­tem. Please let me know if you have any other ques­tions.

- All mod­els missed that to get the daisy chain you need a three port eth­er­net switch. They in­stead rec­om­mend an Ethernet Phy, which is­n’t go­ing to do it.

- All mod­els rec­om­mend us­ing a huge SFP trans­ceiver. These are usu­ally found on big dat­a­cen­ter boards, and are not known for be­ing shoved into tiny spaces in a ro­bot joint, and then get­ting kicked around by Boston Dynamics em­ploy­ees.

Overall the gen­er­a­tive mod­els don’t demon­strate a solid grasp on what the mo­tor con­troller com­mu­ni­ca­tion net­work is, or what ap­pli­ca­tion-spe­cific con­sid­er­a­tions need to be made.

Without that the part se­lec­tions are way off. This is a con­sis­tent ex­pe­ri­ence. The LLMs will al­ways sug­gest some­thing, but it will be the average’ ap­pli­ca­tion and miss a lot of the im­por­tant sub­tlety. i.e. fiber op­tic eth­er­net hap­pens in the mostly in the dat­a­cen­ter, so an av­er­age ap­pli­ca­tion for fiber op­tic means a dat­a­cen­ter de­vice.

Trying to get them to choose an ADC, or sen­sor, or con­nec­tor, shows sim­i­lar average’ re­sults.

Maybe this speaks to the dif­fi­culty of the do­main. If you’re not within 10% or so of the global op­ti­mal per­for­mance in EE, your sug­ges­tions have near-zero value.

Sadly, most of the data you need to de­sign a cir­cuit board is baked away in PDF datasheets, in­stead of be­ing avail­able via APIs. Directly try­ing to parse PDFs with python tends to not go well, but LLMs should be pretty good at pulling data from these hu­man-struc­tured doc­u­ments.

I tested three dif­fer­ent way of pulling in­for­ma­tion out:

- Copy/paste from the PDF, stuff it into a prompt.

- Capture a por­tion as an im­age, have the LLM in­ter­pret the im­age

- Upload the en­tire PDF

I’ll be us­ing the data avail­able for the Nordic nR­F5340 WLCSP for the ex­per­i­ment. A lit­tle 4.0 x 4.4 mm Bluetooth chip, with an 820 page datasheet.

This is by no means the largest datasheet for a elec­tri­cal com­po­nent but has many typ­i­cal fea­tures in­clud­ing pin ta­bles, me­chan­i­cal draw­ings, ap­pli­ca­tion spe­cific notes, graphs, etc

This datasheet has sig­nif­i­cantly more con­tent than you might ex­pects for sim­pler com­po­nents - like OpAmps or dig­i­tal logic gates. If the LLMs are use­ful here, they will likely be use­ful for smaller cases.

This datasheet is about 570k to­kens, a lit­tle more than half the huge con­text win­dow avail­able from Gemini.

First step is a to make a linked sym­bol and foot­print (landpattern) for our com­po­nent.

The most ef­fec­tive method here was to load the en­tire datasheet into the LLM via the chat file up­load mech­a­nism, and then query it in­ter­ac­tively to get the de­tails right. Gemini 1.5 was the most re­li­able for this task.

Here’s the prompt to get the pin table (after up­load­ing the datasheet):

Please write the the pin table for the wlcsp ver­sion of the nR­F5340 as code us­ing the fol­low­ing for­mat:

1. One line for each pin

2. Each line struc­tured as [ pin-name | pad-num­ber | di­rec­tion | bank ]”, where pin-name is the name of a pin e.g. GND, pad-num­ber is the num­ber of the pad that maps to that pin, e.g, 28, di­rec­tion is Left is the pin is an in­put, and Right oth­er­wise, bank in­di­cates the func­tion, e.g. gpio.

3. Wrap num­bers fol­low­ing let­ters in square brack­ets, e.g. K3 be­comes K[3], C1 be­comes C[1], F10 be­comes F[10]

4. Replace pe­ri­ods with square brack­ets, e.g. P0.20 be­comes P0[20]

The AI then re­turns a block of text with our pin list in a us­able for­mat:

[ XC1 | A1 | Left | ana­log_in­put ]

[ XC2 | A2 | Left | ana­log_in­put ]

[ VDD | A3 | Right | power ]

[ VSS | A5 | Left | power ]

[ DECD | A7 | Right | power ]

[ DCCD | A9 | Right | power ]

[ D-| A11 | Left | usb ]

[ D+ | A12 | Left | usb ]

[ DECRF | B1 | Right | power ]

[ VSS | B2 | Left | power ]

[ DECR | B4 | Right | power ]

[ DECN | B5 | Right | power ]

… (continued)

It got this list ex­actly cor­rect, im­pres­sive for 95 rows of data buried in an 820 page datasheet. Usually I have to get a model to write a lit­tle code to reach that level of ac­cu­racy, but that was un­nec­es­sary here.

Next I gave it some ex­am­ple code for a BGA foot­print and had it gen­er­ate a new ver­sion based on the datasheet in­for­ma­tion. Here’s the re­sult­ing code:

; This test is based on the Nordic Semiconductor, nR­F5340

; Datasheet:

;  https://​in­fo­cen­ter.nordic­semi.com/​pdf/​nR­F5340_P­S_v1.4.pdf

; Drawing:

;  https://​in­fo­cen­ter.nordic­semi.com/​pdf/​nR­F5340_P­S_v1.4.pdf


val rows = 12

val cols = 8

val grid = Grid-Numbering(rows, cols)

val miss­ing = to-pad-is­land(grid, A[1] B[1] B[3] C[1] C[3] D[3] D[4] D[5] D[6] D[7] D[8] D[9] E[1] E[9] F[4] F[6] F[7] F[9] G[1] G[4] G[9] H[4] H[5] H[6] H[7] H[8] H[9]“)

val plan­ner = Full-Matrix-Planner(

; Several pads are not pre­sent

in­ac­tive = miss­ing,

pad-con­fig = PadConfig-D(

cop­per-D-adj = ipc-bga-cop­per(


den­sity-level = DensityLevelC


Read the original on blog.jitx.com »

6 250 shares, 57 trendiness

Internet Archive forced to remove 500,000 books after publishers’ court win

As a re­sult of book pub­lish­ers suc­cess­fully su­ing the Internet Archive (IA) last year, the free on­line li­brary that strives to keep grow­ing on­line ac­cess to books re­cently shrank by about 500,000 ti­tles.

IA re­ported in a blog post this month that pub­lish­ers abruptly forc­ing these take­downs trig­gered a devastating loss” for read­ers who de­pend on IA to ac­cess books that are oth­er­wise im­pos­si­ble or dif­fi­cult to ac­cess.

To re­store ac­cess, IA is now ap­peal­ing, hop­ing to re­verse the prior court’s de­ci­sion by con­vinc­ing the US Court of Appeals in the Second Circuit that IAs con­trolled dig­i­tal lend­ing of its phys­i­cal books should be con­sid­ered fair use un­der copy­right law. An April court fil­ing shows that IA in­tends to ar­gue that the pub­lish­ers have no ev­i­dence that the e-book mar­ket has been harmed by the open li­brary’s lend­ing, and copy­right law is bet­ter served by al­low­ing IAs lend­ing than by pre­vent­ing it.

We use in­dus­try-stan­dard tech­nol­ogy to pre­vent our books from be­ing down­loaded and re­dis­trib­uted—the same tech­nol­ogy used by cor­po­rate pub­lish­ers,” Chris Freeland, IAs di­rec­tor of li­brary ser­vices, wrote in the blog. But the pub­lish­ers su­ing our li­brary say we should­n’t be al­lowed to lend the books we own. They have forced us to re­move more than half a mil­lion books from our li­brary, and that’s why we are ap­peal­ing.”

IA will have an op­por­tu­nity to de­fend its prac­tices when oral ar­gu­ments start in its ap­peal on June 28.

Our po­si­tion is straight­for­ward; we just want to let our li­brary pa­trons bor­row and read the books we own, like any other li­brary,” Freeland wrote, while ar­gu­ing that the potential reper­cus­sions of this law­suit ex­tend far be­yond the Internet Archive” and pub­lish­ers should just let read­ers read.”

This is a fight for the preser­va­tion of all li­braries and the fun­da­men­tal right to ac­cess in­for­ma­tion, a cor­ner­stone of any de­mo­c­ra­tic so­ci­ety,” Freeland wrote. We be­lieve in the right of au­thors to ben­e­fit from their work; and we be­lieve that li­braries must be per­mit­ted to ful­fill their mis­sion of pro­vid­ing ac­cess to knowl­edge, re­gard­less of whether it takes phys­i­cal or dig­i­tal form. Doing so up­holds the prin­ci­ple that knowl­edge should be equally and eq­ui­tably ac­ces­si­ble to every­one, re­gard­less of where they live or where they learn.”

After pub­lish­ers won an in­junc­tion stop­ping IAs dig­i­tal lend­ing, which limits what we can do with our dig­i­tized books,” IAs help page said, the open li­brary started shrink­ing. While removed books are still avail­able to pa­trons with print dis­abil­i­ties,” every­one else has been cut off, caus­ing many books in IAs col­lec­tion to show up as Borrow Unavailable.”

Ever since, IA has been inundated” with in­quiries from read­ers all over the world search­ing for the re­moved books, Freeland said. And we get tagged in so­cial me­dia every day where peo­ple are like, why are there so many books gone from our li­brary’?” Freeland told Ars.

In an open let­ter to pub­lish­ers signed by nearly 19,000 sup­port­ers, IA fans begged pub­lish­ers to re­con­sider forc­ing take­downs and quickly re­store ac­cess to the lost books.

Among the far-reaching im­pli­ca­tions” of the take­downs, IA fans counted the neg­a­tive ed­u­ca­tional im­pact of aca­d­e­mics, stu­dents, and ed­u­ca­tors—“par­tic­u­larly in un­der­served com­mu­ni­ties where ac­cess is lim­ited—who were sud­denly cut off from research ma­te­ri­als and lit­er­a­ture that sup­port their learn­ing and aca­d­e­mic growth.”

They also ar­gued that the take­downs dealt a se­ri­ous blow to lower-in­come fam­i­lies, peo­ple with dis­abil­i­ties, rural com­mu­ni­ties, and LGBTQ+ peo­ple, among many oth­ers,” who may not have ac­cess to a lo­cal li­brary or feel safe ac­cess­ing the in­for­ma­tion they need in pub­lic.”

Your re­moval of these books im­pedes aca­d­e­mic progress and in­no­va­tion, as well as im­per­il­ing the preser­va­tion of our cul­tural and his­tor­i­cal knowl­edge,” the let­ter said.

This is­n’t hap­pen­ing in the ab­stract,” Freeland told Ars. This is real. People no longer have ac­cess to a half a mil­lion books.”


Read the original on arstechnica.com »

7 235 shares, 19 trendiness

The time I spent three months investigating a 7-year old bug and fixed it in 1 line of code

I orig­i­nally told the story over on the other site, but I thought I’d share it here. With a bonus!

I was work­ing on a hard­ware ac­ces­sory for the OG iPad. The ac­ces­sory con­nected to the iPad over USB and pro­vided MIDI in/​out and au­dio in/​out ap­pro­pri­ate for a mu­si­cian try­ing to lay down some tracks in Garage Band.

It was a win­ner of a prod­uct be­cause at its core, it was based on a USB prod­uct we had al­ready been mak­ing for PCs for al­most a decade. All we needed was a lit­tle mi­cro­con­troller to put the iPad into USB host mode (this was in the 30-pin con­nec­tor days), and then al­low it to con­nect to what was ba­si­cally a fin­ished prod­uct.

This prod­uct was so old in fact that no­body knew how to com­pile the source code. When it came time to get it work­ing, some­one had to edit the bi­na­ries to change the USB de­scrip­tors to re­flect the new prod­uct name and that it drew

Anyway, prod­uct ships and we no­tice a prob­lem. Every once in a while, a MIDI mes­sage is missed. For those of you not fa­mil­iar, MIDI is used to trans­mit mu­si­cal notes that can be later turned into au­dio by what­ever proces­sor/​voice you want. A typ­i­cal mes­sage con­tains the note (A, B, F-sharp, etc), a ve­loc­ity (how hard you hit the key), and whether it’s a key on or key off. So press­ing and re­leas­ing a pi­ano key gen­er­ate two sep­a­rate mes­sages.

Missing the oc­ca­sional note mes­sage would­n’t typ­i­cally be a big deal ex­cept for in­stru­ment voices with in­fi­nite sus­tain like a pipe or­gan. If you had the pipe or­gan voice se­lected when us­ing our de­vice, it’s pos­si­ble that it would re­ceive a key on, but not a key off. This would re­sult in the iPad as­sum­ing that you were hold­ing the key down in­def­i­nitely.

There is­n’t an of­fi­cial spec for what to do if you re­ceive an­other key-on of the same note with­out a key-off in be­tween, but Apple han­dled this in the worst way pos­si­ble. The iPad would only con­sider the key re­leased if the num­ber of key-ons and key-offs matched. So the only way to re­lease this pipe or­gan key was to hope for it to skip a sub­se­quent key-on mes­sage for the same key and then fi­nally re­ceive the key-off. The odds of this hap­pen­ing are ap­prox­i­mately 0%, so most users had to re­sort to force quit­ting the app.

Rumors flooded the cus­tomer mes­sage boards about what could cause this be­hav­ior, maybe it was the new iOS up­date? Maybe you had to close all your other apps? There was a ton of hair­brained the­o­ries float­ing around, but no­body had any de­fin­i­tive ex­pla­na­tion.

Well I was new to the com­pany and fresh out of col­lege, so I was tasked with fig­ur­ing this one out.

First step was find­ing a way to gen­er­ate the bug. I wrote a python script that would ham­mer scales into our prod­uct and just lis­tened for a key to get stuck. I can still re­call the ca­coph­ony of what amounted to an ele­phant on co­caine slam­ming on a key­board for hours on end.

Eventually, I could re­pro­duce the bug about every 10 min­utes. One thing I no­ticed is that it only hap­pened if mul­ti­ple keys were pressed si­mul­ta­ne­ously. Pressing one key at a time would never pro­duce the is­sue.

Using a fancy ca­ble that is only avail­able to Apple hard­ware de­vel­op­ers, I was able to in­ter­ro­gate the USB traf­fic go­ing be­tween our prod­uct and the iPad. After a loooot of hunt­ing (the USB de­bug­ger could only sam­ple a small por­tion, so I had to hit the trig­ger right when I heard the stuck note), I was able to show that the of­fend­ing note-off event was never mak­ing it to the iPad. So Apple was not to blame; our firmware was ran­domly not pass­ing MIDI mes­sages along.

Next step was get­ting the source to com­pile. I don’t re­mem­ber a lot of the de­tails, but it de­pended on hex3bin” which I as­sume was some neck­beard’s ver­sion of hex2bin that was better” for some rea­sons. I also ended up need­ing to find a Perl script that was buried deep in some uni­ver­sity web­site. I as­sume that these tools were widely avail­able when the firmware was writ­ten 7 years prior, but they took some dig­ging. I still don’t know any­thing about Perl, but I got it to run.

With firmware com­pil­ing, I was able to in­sert in­struc­tions to blink cer­tain LEDs (the de­vice had a few de­bug LEDs in­side that weren’t vis­i­ble to the user) at cer­tain points in the firmware. There was no live de­bug­ger avail­able for the sim­ple 8-bit proces­sor on this thing, so that’s all I had.

What it came down to was a tim­ing is­sue. The proces­sor needed to han­dle au­dio traf­fic as well as MIDI traf­fic. It would pause what­ever it was do­ing while han­dling the au­dio pack­ets. The MIDI traf­fic was buffered, so if a key-on or key-off came in while the au­dio was be­ing han­dled, it would be ad­dressed im­me­di­ately af­ter the au­dio was done.

But it was only sin­gle buffered. So if a sec­ond MIDI mes­sage came in while au­dio was be­ing han­dled, the sec­ond note would over­write the first, and that first note would be for­ever lost. There is a limit to how fast MIDI notes can come in over USB, and it was just barely faster than it took to process the au­dio. So if the first note came in just af­ter the proces­sor cut to han­dling au­dio, the next note could po­ten­tially come in just be­fore the proces­sor cut back.

Now for the so­lu­tion. Knowing very lit­tle about USB au­dio pro­cess­ing, but hav­ing cut my teeth in col­lege on 8-bit 8051 proces­sors, I knew what kind of func­tions tended to be slow. I did a Ctrl+F for %” and found a 16-bit mod­ulo right in the au­dio pro­cess­ing code.

This 16-bit mod­ulo was just a fi­nal check that the cor­rect num­ber of bytes or bits were be­ing sent (expecting re­main­der zero), so the de­nom­i­na­tor was go­ing to be the same every time. The way it was writ­ten, the com­piler as­sumed that the de­nom­i­na­tor could be dif­fer­ent every time, so in the back­ground it in­cluded an en­tire func­tion for han­dling 16-bit mod­u­los on an 8-bit proces­sor.

I googled optimize mod­ulo,” and quickly learned that given a fixed de­nom­i­na­tor, any 16-bit mod­ulo can be rewrit­ten as three 8-bit mod­u­los.

I tried im­ple­ment­ing this sin­gle-line change, and the au­dio proces­sor quickly dropped from 90us per packet to like 20us per packet. This 100% fixed the bug.

Unfortunately, there was no way to field-up­grade the firmware, so that was still a headache for cus­tomer ser­vice.

As to why this bug never showed up in the pre­ced­ing 7 years that the USB ver­sion of the prod­uct was be­ing sold, it was likely be­cause most users only used the de­vice as an au­dio recorder or MIDI recorder. With only MIDI en­abled, no au­dio is processed, and the bug would­n’t hap­pen. The iPad how­ever en­abled every fea­ture all the time. So the bug was al­ways there. It’s just that no­body no­ticed it. Edit: also, many MIDI apps don’t do what Apple does and re­quire match­ing key on/​key off events. So if a key gets stuck, press­ing it again will un­stick it.

So three months of lis­ten­ing to Satan bang­ing his fists on a pipe or­gan lead to a sin­gle line change to fix a seven year old bug.

TL;DR: 16-bit mod­ulo on an 8-bit proces­sor is slow and caused pack­ets to get dropped.

The bonus is at 4:40 in this video https://​youtu.be/​DB­fo­jDx­p­ZLY?si=oCUl­FY0YrruiUeQq


Read the original on lemmy.world »

8 221 shares, 13 trendiness

Barcelona will eliminate ALL tourist apartments in 2028 following local backlash: 10,000-plus licences will expire in huge blow for platforms like Airbnb

BARCELONA’S city coun­cil has an­nounced it will re­voke all li­censes for tourist apart­ments in the ur­ban area by 2028.

In a ma­jor win for anti-tourist ac­tivists, Barcelona’s so­cial­ist mayor Jaume Collboni an­nounced on Friday that li­censes for 10,101 tourist apart­ments in the city will au­to­mat­i­cally end in November 2028.

The move rep­re­sents a crush­ing blow for Airbnb, Booking.com and other ten­ants and a tri­umph for lo­cals who have protested about over-tourism and ris­ing house prices for years.

Announcing the move, Collboni said the ris­ing cost of prop­erty in the city — rental and pur­chase prices have risen by 70% and 40% re­spec­tively in the last decade — had forced him to take dras­tic ac­tion.

He said: We can­not al­low it that most young peo­ple who leave home are forced to leave Barcelona. The mea­sures we have taken will not change the sit­u­a­tion in one day. These things take time. But with these mea­sures we are reach­ing a turn­ing point”.

READ MORE: EXCLUSIVE: Tourism has gone too far’ — hun­dreds of pro­tes­tors tar­get F1 road­show in Barcelona city cen­tre ahead of Spanish Grand Prix

The deputy mayor for Urban Planning, Laia Bonet, hailed the move as the equivalent of build­ing 10,000 new flats’ which can be used by lo­cals for res­i­den­tial use.

Local of­fi­cials say that ten­ants will not be com­pen­sated be­cause the move, which will have to be passed with po­lit­i­cal sup­port, has de-facto com­pen­sa­tion by giv­ing own­ers a four-year win­dow be­fore li­cences ex­pire.

Alongside the re­vok­ing of tourist flat li­censes, Collboni an­nounced that new leg­is­la­tion would force build­ing con­struc­tors to al­lo­cate at least 30% of new homes to so­cial hous­ing.

The mea­sures are de­signed to al­le­vi­ate pres­sure on a hous­ing mar­ket which has seen sharp price rises in re­cent years, forc­ing many res­i­dents to leave the ur­ban area for the sub­urbs and be­yond.

Speaking to the Olive Press at an anti-tourist rally on Tuesday, one Barcelona res­i­dent, who gave his name as Alex, said lo­cals were an­gry at the massification of tourism’ with the cost of liv­ing and hous­ing forc­ing many young peo­ple to em­i­grate from the city cen­tre to the sub­urbs and nearby towns’.

He added: The peo­ple of Barcelona, like any city in the UK and else­where, have the right to live peace­fully in their own city. What we need is a bet­ter qual­ity of life, de­cent wages and, above all, an af­ford­able city to live in”.


Read the original on www.theolivepress.es »

9 159 shares, 11 trendiness

An oral history of text games and interactive fiction

You are stand­ing at the end of a road be­fore a small brick build­ing.

That sim­ple sen­tence first ap­peared on a PDP-10 main­frame in the 1970s, and the words marked the be­gin­ning of what we now know as in­ter­ac­tive fic­tion.

From the bare-bones text ad­ven­tures of the 1980s to the heart­felt hy­per­text works of Twine cre­ators, in­ter­ac­tive fic­tion is an art form that con­tin­ues to in­spire a loyal au­di­ence. The com­mu­nity for in­ter­ac­tive fic­tion, or IF, at­tracts read­ers and play­ers along­side de­vel­op­ers and cre­ators. It cham­pi­ons an open source ethos and a punk-like in­di­vid­u­al­ity.

But what­ever its pro­duc­tion value or artis­tic merit, at heart, in­ter­ac­tive fic­tion is sim­ply words on a screen. In this time of AAA video games, pres­tige tele­vi­sion, and con­tem­po­rary nov­els and po­etry, how does in­ter­ac­tive fic­tion con­tinue to en­dure?

To un­der­stand the his­tory of IF, the best place to turn for in­sight is the au­thors them­selves. Not just the au­thors of no­table text games—al­though many of the peo­ple I in­ter­viewed for this ar­ti­cle do have that claim to fame—but the au­thors of the com­mu­ni­ties and the tools that have kept the torch burn­ing. Here’s what they had to say about IF and its legacy.

The in­ter­ac­tive fic­tion story be­gan in the 1970s. The first widely played game in the genre was Colossal Cave Adventure, also known sim­ply as Adventure. The text game was made by Will Crowther in 1976, based on his ex­pe­ri­ences spelunk­ing in Kentucky’s aptly named Mammoth Cave. Descriptions of the dif­fer­ent spaces would ap­pear on the ter­mi­nal, then play­ers would type in two-word com­mands—a verb fol­lowed by a noun—to solve puz­zles and nav­i­gate the sprawl­ing in-game cav­erns.

During the 1970s, get­ting the chance to in­ter­act with a com­puter was a rare and spe­cial thing for most peo­ple.

My fa­ther’s of­fice had an open house in about 1978,” IF au­thor and tool cre­ator Andrew Plotkin re­called. We all went in and looked at the com­put­ers—com­put­ers were very ex­cit­ing in 1978—and he fired up Adventure on one of the ter­mi­nals. And I, be­ing eight years old, re­al­ized this was the best thing in the uni­verse and im­me­di­ately wanted to do that for­ever.”

It is hard to over­state how po­tent the ef­fect of this game was,” said Graham Nelson, cre­ator of the Inform lan­guage and au­thor of the land­mark IF , of his in­tro­duc­tion to the field. Partly that was be­cause the be­he­moth-like ma­chine con­trol­ling the story was it­self be­yond or­di­nary hu­man ex­pe­ri­ence.”

Perhaps that ex­tra­or­di­nary fac­tor is what sparked the cu­rios­ity of peo­ple like Plotkin and Nelson to play Adventure and the other text games that fol­lowed. The roots of in­ter­ac­tive fic­tion are en­tan­gled with the roots of the com­put­ing in­dus­try. I think it’s al­ways been a fo­cus on the writ­ten word as an en­gine for what we con­sider a game,” said soft­ware de­vel­oper and tech en­tre­pre­neur Liza Daly. Originally, that was born out of ne­ces­sity of prim­i­tive com­put­ers of the 70s and 80s, but peo­ple dis­cov­ered that there was a lot to mine there.”

Home com­put­ers were just be­gin­ning to gain trac­tion as Stanford University stu­dent Don Woods re­leased his own ver­sion of Adventure in 1977, based on Crowther’s orig­i­nal Fortran work. Without wider ac­cess to com­par­a­tively pint-sized ma­chines like the Apple 2 and the Vic-20, Scott Adams might not have found an au­di­ence for his own text ad­ven­ture games, re­leased un­der his com­pany Adventure International, in an­other homage to Crowther. As com­put­ers spread to more peo­ple around the world, in­ter­ac­tive fic­tion was able to reach more and more read­ers.


Read the original on arstechnica.com »

10 151 shares, 16 trendiness

Naval Historical Society of Australia

MenuRAN Vessels — Where are they now?What we do

You are here: Auster shoot­down over Sydney in 1955FOR more than three hours on a fine, calm August morn­ing in 1955, the eyes of Sydney’s sub­ur­bia were fixed sky­ward, anx­iously watch­ing the flight of a pi­lot­less Auster aero­plane as it cir­cled above and headed from Bankstown to the City, pur­sued by Service air­craft.

It was school hol­i­day time, the alert had gone out over the ra­dio, and the mums had herded in their chil­dren, po­lice pa­trolled ar­eas by car, cy­cle and foot, fire­men stood by their ten­ders, am­bu­lance men re­mained on the alert and fire­floats stood in readi­ness in the har­bour . . . all eyes still looked up . . . no one knew when or where the plane might sud­denly come hurtling down.

The end came — thank­fully five miles off the coast — when two Navy Sea Furies opened fire on the Auster. which lev­elled out pour­ing smoke, then started down in a slow spi­ral. The two Navy pi­lots fol­lowed it down, fir­ing two or three more short bursts on the way and with a splash, the er­rant air­craft, still in one piece, hit the wa­ter at 1142 and dis­ap­peared. It was all over!

The me­dia had a field day . . with such news­pa­per head­ings as Possible dis­as­ter in flight”, and Thousands watch air drama of fly­away plane”, reach­ing the over­seas press. Politicians asked em­barass­ing ques­tions and crit-icism of the Services fol­lowed as did a Department of Civil Aviation en­quiry … but how, when and why did it hap­pen?

On the morn­ing of August 30, 1955. Mr Anthony Thrower, aged 30, of Granville, Sydney, rented an Auster from Kingsford Smith Aviation School He had com­pleted only one cir­cuit of his planned one hour prac­tice when the en­gine failed 10 feet from the ground. Landing the plane in the mid­dle of the strip he climbed out, swung the pro­pel­lor by hand (there was no self-starter) and the en­gine im­me­di­ately roared into life. In a mil­lion-to-one chance the brake failed to hold and al­though pi­lot Thrower grabbed a wing strut to check the plane he was quickly forced to jump clear, just avoid­ing the tail. Aided by a favourable south-east wind with well trimmed con­trols, the pi­lot­less plane sped across the strip and be­came air­borne. It then nar­rowly missed the con­trol tower, which was sub­se­quently evac­u­ated, and other air­port build­ings then slowly cir­cled the aero­drome at low al­ti­tude After con­tin­u­ing right hand cir­cuits of Bankstown for a fur­ther 15 min­utes the Auster steadily gained height and be­gan drift­ing to­wards the city.

Bankstown Aerodrome of­fi­cials alerted con­trol per­son­nel at Mascot who broad­cast a gen­eral alarm to all air­craft as well as the po­lice and other Government or­gan­i­sa­tions. One re­port stated that a school­boy might be at the con­trols. The po­lice ra­dio sta­tion at Bourke Street broad­cast at al­most one minute in­ter­vals the plane’s last known where­abouts.

Meanwhile, Commander J. R. W. Groves, RAN, was re­turn­ing to Schofields aero­drome from ex­er­cises, with three other per­son­nel on­board. At 0850 the Navy Auster was alerted by Mascot of the run­away plane. Nearing Bankstown they saw it at 1500ft and climb­ing in tight cir­cles. Approaching to within 50 yards it was noted to be un­oc­cu­pied and that the con­trols were fixed in the one po­si­tion. The Navy light­plane con­tin­ued to pur­sue the un­manned air­craft as it gained height pass­ing over the Sydney sub­urbs of Punchbowl, Bexley, Hurstville, Rockdale, Mascot, Alexandria, Redfern and fi­nally ar­riv­ing above the cen­tre of the city about 9.30 am.

In the mean­time anx­ious moth­ers in sub­urbs where the plane passed over herded chil­dren, who were on school hol­i­days, into their homes. Police pa­trolled ar­eas by car, cy­cle and foot. Firemen stood by their trucks and am­bu­lance of­fi­cers re­mained on the alert, and fire­floats stood in readi­ness in the har­bour. No one knew when or where the plane might sud­denly come hurtling down.

By 0953 the Auster was over Vaucluse at 5000 feet. RAAF Wirraway A20-728 de­parted Richmond at 1010 to join the chase. Onboard was Wing Commander D. R. Beattie and Squadron Leader Tom James. The tar­get was con­tacted at 1020, miles off­shore and now at an al­ti­tude of 7000 ft. Instructions were then re­ceived that they were not to open fire un­til the Auster was five miles off­shore and there were no fish­ing or coastal boats be­low. The run­away plane con­tin­ued climb­ing in tight or­bit to 10,300ft and at 1045 hours reached a point es­ti­mated at five miles from the coast.

Two fir­ing passes were then made with the hand held Bren gun from the rear cock­pit with­out any no­tice­able ef­fect. Before de­part­ing the Wirraway rear canopy and fair­ing had been re­moved and Squadron Leader James was so cold, it was mi­nus five de­grees cel­cius — that he was un­able to change the mag­a­zine and his hands were stick­ing to the gum.

Meanwhile a RAAF Meteor had ar­rived from Williamtown near Newcastle and af­ter di­rect­ing it to the tar­get the Wirraway broke off the at­tack and re­turned to Richmond. The Navy Auster, which had now been air­borne some hours, headed for its base at Schofields at about the same time.

But luck was not with the RAAF that day. Firstly a Meteor pi­loted by Squadron Leader Holdsworth, had been de­layed some 13 min­utes on de­par­ture when a Sabre pre­ced­ing his de­par­ture, had burst a tyre on land­ing and ob­structed the run­way. Then af­ter ar­riv­ing in the tar­get area, and in the Meteor’s ini­tial fir­ing pass from the rear, both can­nons jammed af­ter only a few rounds had been fired. Some strikes were ob­served on the star­board plane of the Auster.

Squadron Leader Holdsworth then re­quested that two more Meteors be sent and the re­ply was re­ceived that they were on the way in ad­di­tion to two Sea Furies from the Naval Air Station at Nowra. While await­ing their ar­rival A77-80 made four passes di­rectly be­low the run­away Auster and pulled up sharply in an at­tempt to dis­lodge it from its flight path and into a dive. However, the jet wash was not suf­fi­cient and the plane con­tin­ued in the same de­ter­mined fash­ion.

Sea Furies from 805 Squadron Nowra ap­peared on the scene at 1135 and were pi­loted by Lieutenants J.R. Bluett and Peter McNay (both aged 26), of the Royal Navy, who were on ex­change duty in Australia. LEUT McNay low­ered his flaps to slow down and ap­proached to within 100 yards of the tar­get to again con­firm it was un­oc­cu­pied. Then, pulling up astern he gave it a short burst from his four can­nons. LEUT Bluett fol­lowed this with a beam-on at­tack and af­ter about 15 rounds. a great sheet of flame rose from the cock­pit. From the first strikes on the Auster un­til the time it hit the sea was min­utes.

At 1145 a po­lice broad­cast an­nounced the Auster has been shot down. It’s all over.” The bar­rage of calls from anx­ious en­quir­ers grad­u­ally sub­sided at the po­lice, news­pa­per and ra­dio sta­tion switch­boards through­out Sydney.

When the Navy Sea Furies re­turned to Nowra, en­thu­si­as­tic ground­staff quickly painted a small yel­low sil­hou­ette rep­re­sent­ing an Auster on the fuse­lage of LEUT Bluett’s plane. This 26-year-old British pi­lot had seen eight months’ ac­tion in the Korean war from HMS GLORY on ground at­tack. LEUT McNay had only been in Australia eight months af­ter com­plet­ing his train­ing in England.

The in­ci­dent did not quickly sub­side here. Embarrassing ques­tions were di­rected in Federal Parliament to. the Government of the day by both Mr C Chambers (Member for Adelaide) and Mr F Daly (Grayndler) dur­ing the Budget de­bate the fol­low­ing month. They asked why was so much money be­ing spent on de­fence to an Air Force and Navy that took over two hours to shoot down an un­armed light air­craft?

Aviation au­thor­i­ties stated that nearly dead calm” weather had prob­a­bly pre­vented a ma­jor dis­as­ter as the Auster could have crashed any­where on its route had it been a windy day. The then Department of Civil Aviation held an en­quiry.

The harsh crit­i­cism against the Services was un­founded though and de­spite some ini­tial bad luck the Navy and Air Force had per­formed cred­itably on a dif­fi­cult and elu­sive ENEMY. In ad­di­tion they were pro­vided with an ex­cit­ing Tuesday morn­ing over and around Sydney with a free but stub­born tar­get to prac­tise on.

View a story about this in­ci­dent on Youtube https://​youtu.be/​0e­hAQVhOL3k

Sign up for our monthly e-newslet­ter.

This field is for val­i­da­tion pur­poses and should be left un­changed.

Night of the midget subs — Sydney un­der at­tack

Australian Naval History Podcasts

This pod­cast se­ries ex­am­ines Australia’s Naval his­tory, fea­tur­ing a va­ri­ety of naval his­tory ex­perts from the Naval Studies Group and else­where.

Produced by the Naval Studies Group in con­junc­tion with the Submarine Institute of Australia, the Australian Naval Institute, Naval Historical Society and the RAN Seapower Centre

Life on the Line Podcasts

Life on the Line tracks down Australian war vet­er­ans and records their sto­ries.

These record­ings can be ac­cessed through Apple iTunes or for Android users, Stitcher.


Read the original on navyhistory.au »

To add this web app to your iOS home screen tap the share button and select "Add to the Home Screen".

10HN is also available as an iOS App

If you visit 10HN only rarely, check out the the best articles from the past week.

If you like 10HN please leave feedback and share

Visit pancik.com for more.