Skip to main content

BBC World Service digital switch backfires as online audience drops

2 months ago
MPs say the Beeb closed broadcast services expecting audiences to migrate online, but digital reach has fallen instead

Britain's push to drag the BBC World Service into the digital age hasn't gone quite to plan, with MPs warning the broadcaster's "digital-first" strategy has shrunk audiences rather than growing them.…

Carly Page

Hydropower Line From Quebec Could Power a Million NYC Homes

2 months ago
The Champlain Hudson Power Express, a $6 billion, 339-mile buried transmission line, will soon deliver Canadian hydropower from Hydro-Quebec to New York City. The project could supply up to 20% of the city's electricity and power roughly one million homes throughout the year. "This is far and away the largest project I have ever worked on," said Bob Harrison, who has worked in infrastructure for 40 years and is the head of engineering for the Champlain Hudson Power Express. "We like to say it's the largest project you'll never see." The New York Times reports: The massive power project, expected to provide energy to a million New York City customers a year, travels underground and underwater, from the northern plains at the Canadian border to the filled-in marshlands of coastal Queens, much of it loosely following the Hudson River. Its construction included the underwater installation of more than two million feet of cable imported from Sweden. It also required special boats, loaded with equipment that could shoot water jets deep into the sediment, to create trenches for the cable. Then, when it came to placing cable beneath the landscape, more than 700 land-use easements were needed, plus an additional 1.55 million feet of cable. The Champlain Hudson Power Express has found a way to plug into the city, but it wasn't easy. The work included 10 new manholes and more than three miles of new underground circuitry, according to Con Edison, the city's primary electricity provider. "It was literally a hand weave under the streets of Queens," said Jennifer Laird-White, the head of external affairs for Transmission Developers. The hydropower travels from Canada via two buried cables that are as round as cantaloupes. Those lines snake for hundreds of miles under a lake, several rivers (including the Hudson for about 90 miles) and through buried trenches alongside train tracks and roads. The cables resurface in Astoria, Queens, where a converter station shapes, filters and refines the raw power into a product that New Yorkers can consume. In two cavernous rooms that could be mistaken for "Star Wars" sets, the electricity flows through 30 hanging structures encased in what look like metallic, dinosaurlike exoskeletons. Each one weighs about as much as a small humpback whale and contains microprocessors, thousands of valves and fiber wires. "I am still wowed when I walk into that facility," said Mr. Harrison, the engineer. "I mean, it is just mind-boggling."

Read more of this story at Slashdot.

BeauHD

CodeSOD: Poly Means Many, After All

2 months ago

Capybara James sends us some code which is totally designed to be modular.

This particular software accepts many kinds of requests which it then converts into a request for a ListView. This is a perfect example of where to use polymorphism, so you can write one transform method that operates on any kind of request.

Let's see how they did it:

@Component public class ListViewTableRequestTransformer implements Function<TableExportRequest, ListViewRequest> { @Override public ListViewRequest apply(TableExportRequest request) { return new ListViewRequest(request.getFilters(), request.getRangeFilters(), request.getSearch(), request.getSort()); } } @Component public class ListViewFormulaRequestTransformer implements Function<FormulaExportRequest, ListViewRequest> { @Override public ListViewRequest apply(FormulaExportRequest request) { return new ListViewRequest(request.getFilters(), request.getRangeFilters(), request.getSearch(), request.getSort()); } }

Now admittedly, my first instinct for letting generics just handle this wouldn't work in Java thanks to type erasure. My excuse is that I've been using C++ templates for too long. But what's not pictured in this code is that TableExportRequest and FormulaExportRequest both implement the same base interface, which means polymorphism could still condense this down into a single function: ListViewRequest apply(RequestInterface request).

Duplicated code like this is like cockroaches. You've seen two, which means there are many many more lurking in the codebase. All of the various request types get their own identical method, differing only in signature.

All my explanation doesn't sum this up as pithily as Capybara James did, however:

There was an attempt to make the code modular and scalable. An attempt I say.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!
Remy Porter

New 'Vibe Coded' AI Translation Tool Splits the Video Game Preservation Community

2 months ago
An anonymous reader quotes a report from Ars Technica: Since Andrej Karpathy coined the term "vibe coding" just over a year ago, we've seen a rapid increase in both the capabilities and popularity of using AI models to throw together quick programming projects with less human time and effort than ever before. One such vibe-coded project, Gaming Alexandria Researcher, launched over the weekend as what coder Dustin Hubbard called an effort to help organize the hundreds of scanned Japanese gaming magazines he's helped maintain at clearinghouse Gaming Alexandria over the years, alongside machine translations of their OCR text. A day after that project went public, though, Hubbard was issuing an apology to many members of the Gaming Alexandria community who loudly objected to the use of Patreon funds for an error-prone AI-powered translation effort. The hubbub highlights just how controversial AI tools remain for many online communities, even as many see them as ways to maximize limited funds and man-hours. "I sincerely apologize," Hubbard wrote in his apology post. "My entire preservation philosophy has been to get people access to things we've never had access to before. I felt this project was a good step towards that, but I should have taken more into consideration the issues with AI." "I'm very, very disappointed to see [Gaming Alexandria], one of the foremost organizations for preserving game history, promoting the use of AI translation and using Patreon funds to pay for AI licenses," game designer and Legend of Zelda historian Max Nichols wrote in a post on Bluesky over the weekend. "I have cancelled my Patreon membership and will no longer promote the organization." Nichols later deleted his original message (archived here), saying he was "uncomfortable with the scale of reposts and anger" it had generated in the community. However, he maintained his core criticism: that Gemini-generated translations inevitably introduce inaccuracies that make them unreliable for scholarly use. In a follow-up, he also objected to Patreon funds being used to pay for AI tools that produce what he called "untrustworthy" translations, arguing they distort history and are not valid sources for research. "... It's worthless and destructive: these translations are like looking at history through a clownhouse mirror," he added.

Read more of this story at Slashdot.

BeauHD