News gathered 2024-11-04

(date: 2024-11-04 07:15:51)


A Monster Assembled Entirely From Human Flaws

date: 2024-11-04, updated: 2024-11-04, from: One Foot Tsunami


https://onefoottsunami.com/2024/11/04/a-monster-assembled-entirely-from-human-flaws/


Netflix Bullish on Gen AI for Games After Laying Off Human Game Developers

date: 2024-11-04, from: 404 Media Group

Netflix exec says Generative AI is a ‘once in a generation’ inflection point for video game development.


https://www.404media.co/netflix-games-ai-exec/


404 Media Is Partnering With Wired

date: 2024-11-04, from: 404 Media Group

Wired is going to co-publish two of our articles a month.


https://www.404media.co/404-media-is-partnering-with-wired/


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

I don't like being labeled as liberal or leftist. If I were a conservative who believed in the rule of law I would be equally appalled at the NYT coverage of this election. Our constitutional house is on fire, and our supposed leading news org treats this as a normal election. That's the problem.


https://www.semafor.com/article/11/03/2024/in-a-frank-internal-meeting-the-new-york-times-wrestled-with-its-political-role


The Present Future: AI’s Impact Long Before Superintelligence

date: 2024-11-04, from: One Useful Thing

You can start to see the outlines of an AI future, for better and worse


https://www.oneusefulthing.org/p/the-present-future-ais-impact-long


Inside the Massive Crime Industry That is Hacking Billion Dollar Companies

date: 2024-11-04, from: 404 Media Group

When you download that piece of pirated software, you might be also getting a piece of infostealer malware, and entering a highly complex hacking ecosystem that is fueling some of the biggest breaches on the planet.


https://www.404media.co/inside-the-massive-crime-industry-that-is-hacking-billion-dollar-companies-copy-2/


Raspberry Pi Touch Display 2 on sale now at $60

date: 2024-11-04, from: Raspberry Pi News (.com)

Raspberry Pi Touch Display 2: higher 720×1280-pixel resolution and slimmer form factor, at the same low price of $60

The post Raspberry Pi Touch Display 2 on sale now at $60 appeared first on Raspberry Pi.


https://www.raspberrypi.com/news/raspberry-pi-touch-display-2-on-sale-now-at-60/


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

Quincy Jones, music titan who worked with everyone from Frank Sinatra to Michael Jackson, dies at 91.


https://apnews.com/article/quincy-jones-dead-a9e31c7e39c448d8971519f47a22dd21?taid=67287c8df628cc000152e99f


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

This could be the last gasp of the world we used to call twitter.


https://techcrunch.com/2024/11/03/x-updates-block-feature-letting-blocked-users-see-your-public-posts/


Everything Zen

date: 2024-11-04, from: Tedium site

You’re getting hit by pre-election chaos on every other part of the internet. Let’s take a step back and get a bit of a palate cleanser. Personally, I find a little Tedium goes a long way.


https://feed.tedium.co/link/15204/16874098/pre-election-palate-cleanser


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

Perplexity launches an elections tracker.


https://techcrunch.com/2024/11/01/perplexity-launches-an-elections-tracker/


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

I’m watching season 2 of The Diplomat on Netflix. what a waste of good actors. the writing is insipid and the story thin. one of those shows where they play this super dramatic music while nothing is happening plot wise. its even more stupid than election coverage at The NY Times. watching Steve Kornacki on msnbc is far more entertaining.


https://www.metacritic.com/tv/the-diplomat-2023/season-2/


@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)

What happened in Iowa. Their 6-week abortion ban. So maybe red states with hard abortion bans might swing like Iowa may have.


https://m.youtube.com/watch?v=P-ysKh_Gyd0&list=PLJNKzTkCZE9vDHDa6ejyyEO1p4_e1RMt6&index=1&pp=iAQB


Talk: The Expanding Dark Forest and Generative AI

date: 2024-11-04, from: Maggie Appleton blog


https://maggieappleton.com/forest-talk


GSoC 2024: Out-Of-Process Execution For Clang-Repl

date: 2024-11-04, from: LLVM Blog

Hello! I’m Sahil Patidar, and this summer I had the exciting opportunity toparticipate in Google Summer of Code (GSoC) 2024. My project revolved aroundenhancing Clang-Repl by introducing Out-Of-Process Execution.

Mentors: Vassil Vassilev and Matheus Izvekov

Project Background

Clang-Repl, part of the LLVM project, is a powerful interactive C++ interpreter using Just-In-Time (JIT) compilation. However, it faced two major issues: high resource consumption and instability. Running both Clang-Repl and JIT in the same process consumed excessive system resources, and any crash in user code would shut down the entire session.

To address these problems, Out-Of-Process Execution was introduced. By executing user code in a separate process, resource usage is reduced and crashes no longer affect the main session. This solution significantly enhances both the efficiency and stability of Clang-Repl, making it more reliable and suitable for a broader range of use cases, especially on resource-constrained systems.

What We Accomplished

As part of my GSoC project, I’ve been focused on implementing out-of-process execution in Clang-Repl and enhancing the ORC JIT infrastructure to support this feature. Here is a breakdown of the key tasks and improvements I worked on:

Out-Of-Process Execution Support for Clang-Repl

PR: #110418

One of the primary objectives of my project was to implement out-of-process (OOP) execution capabilities within Clang-Repl, enabling it to execute code in a separate, isolated process. This feature leverages ORC JIT’s remote execution capabilities to enhance code execution flexibility by isolating runtime environments.

To enable OOP execution in Clang-Repl, I utilized the llvm-jitlink-executor, allowing Clang-Repl to offload code execution to a dedicated executor process. This setup introduces a layer of isolation between Clang-Repl’s main process and the code execution environment.

With these flags in place, Clang-Repl can utilize llvm-jitlink-executor to execute code in an isolated environment. This approach significantly enhances separation between the compilation and execution stages, increasing flexibility and ensuring a more secure and manageable execution process.

Issues Encountered

ORC JIT Enhancements

As part of the OOP execution work, several improvements were made to ORC JIT, the underlying framework responsible for dynamic compilation and execution of code in Clang-Repl. These improvements target better handling of incremental execution, especially for Mach-O and ELF platforms, and ensuring that initializers are properly managed across different execution environments.

  1. Incremental Initializer Execution for Mach-O and ELFPRs: #97441, #110406

    In a typical JIT execution environment, the dlopen function is used to handle code mapping, reference counting, and initializer execution for dynamically loaded libraries. However, this approach is often too broad for interactive environments like Clang-Repl, where we only need to execute newly introduced initializers rather than reinitializing everything. To address this, I introduced the dlupdate function in the ORC runtime.

    The dlupdate function is a targeted solution that focuses solely on running new initializers added during a REPL session. Unlike dlopen, which handles a variety of tasks and can lead to unnecessary overhead, dlupdate only triggers the execution of newly registered initializers, avoiding redundant operations. This improvement is particularly beneficial in interactive settings like Clang-Repl, where code is frequently updated in small increments.

    By streamlining the execution of initializers, this change significantly improves the efficiency of Clang-Repl.

  2. Push-Request Model for ELF InitializersPR: #102846

    A push-request model has been introduced to manage ELF initializers within the runtime state for each JITDylib, similar to how initializers are handled for Mach-O and COFF. Previously, ELF required a fresh request for initializers with each invocation of dlopen, but lacked mechanisms to register, deregister, or retain these initializers. This created issues during subsequent dlopen calls, as initializers were erased after the rt_getInitializers function was invoked, making further executions impossible.

    To resolve these issues, the following functions were introduced:

    • __orc_rt_elfnix_register_init_sections: Registers ELF initializers for the JITDylib.
    • __orc_rt_elfnix_register_jitdylib: Registers the JITDylib with the ELF runtime state.

    With the new push-request model, the management and tracking of initializers for each JITDylib state are now more efficient. By leveraging Mach-O’s RecordSectionsTracker, only newly registered initializers are executed, greatly improving efficiency and reliability when working with ELF targets in clang-repl.

    This update is crucial for enabling out-of-process execution in clang-repl on ELF platforms, offering a more effective approach to managing incremental execution.

Additional Improvements

Beyond the main enhancements to Clang-Repl and ORC JIT, I also worked on several other improvements:

  1. Auto-loading Dynamic Libraries in ORC JIT.

    PR: #109913 (On-going)

    With this update, we’ve introduced a new feature to the ORC executor and controller: automatic loading of dynamic libraries in the ORC JIT. This enhancement enables efficient resolution of symbols from both loaded and unloaded libraries.

    • How It Works:

      • Symbol Lookup:When a lookup request is made, the system first attempts to resolve the symbol from already loaded libraries.
      • Unloaded Libraries Scan:If the symbol is not found in any loaded library, the system then scans the unloaded dynamic libraries to locate it.
    • Key Addition: Global Bloom FilterA significant improvement in this update is the introduction of a Global Bloom Filter. When a symbol cannot be resolved in the loaded libraries, the symbol tables from the scanned libraries are incorporated into this filter. If the symbol is still not found, the bloom filter’s result is returned to the controller, allowing it to skip checking for symbols that do not exist in the global table during future lookups.

    Additionally, the system tracks symbols that were previously thought to be present but are actually absent in both loaded and unloaded libraries. With these enhancements, symbol resolution is significantly faster, as the bloom filter helps prevent unnecessary lookups, thereby improving efficiency for both loaded and unloaded dynamic libraries.

  2. Refactor of dlupdate FunctionPR: #110491

    This update simplifies the dlupdate function by removing the mode argument, streamlining the function’s interface. The change enhances the clarity and usability of dlupdate by reducing unnecessary parameters, improving the overall maintainability of the code.

Benchmarks: In-Process vs Out-of-Process Execution

Result

With these changes, clang-repl now supports out-of-process execution. We can run it using the following command:

clang-repl --oop-executor=path/to/llvm-jitlink-executor --orc-runtime=path/to/liborc_rt.a

Future Work

Conclusion

With this project, Clang-Repl now supports out-of-process execution for both ELF and Mach-O, making it much more efficient and stable, especially on devices with limited resources.

In the future, I plan to work on automating library loading and improving ORC-JIT to make Clang-Repl’s out-of-process execution even better.

Acknowledgements

I would like to thank Google Summer of Code (GSoC) and the LLVM community for providing me with this amazing opportunity. Special thanks to my mentors, Vassil Vassilev and Matheus Izvekov, for their continuous support and guidance. I am also deeply grateful to Lang Hames for sharing their expertise on ORC-JIT and helping improve clang-repl. This experience has been a major step in my development, and I look forward to continuing my contributions to open source.


https://blog.llvm.org/posts/2024-10-23-out-of-process-execution-for-clang-repl/


DeskThing turns Spotify’s discontinued Car Thing into a PC controller and display

date: 2024-11-03, from: Liliputing

DeskThing is a free and open source application that breathes new life into Spotify’s discontinued Car Thing accessory by transforming it from a Spotify controller for cars into a desktop device that controls a wide variety of applications running on your PC. It’s one of a number of tools that have come out of the […]

The post DeskThing turns Spotify’s discontinued Car Thing into a PC controller and display appeared first on Liliputing.


https://liliputing.com/deskthing-turns-spotifys-discontinued-car-thing-into-a-pc-controller-and-display/


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

For one survivor, the 1920 Election Day massacre in Florida was ‘the night the devil got loose.’


https://theconversation.com/for-one-survivor-the-1920-election-day-massacre-in-florida-was-the-night-the-devil-got-loose-241545


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

A Milwaukee woman whose father died of Covid presses neighbors to vote against Trump.


https://wapo.st/4fa0s9o


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

CSS was imho a bad idea.


https://thomasorus.com/new-css-that-can-actually-be-used-in-2024.html


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

TechCrunch: Bluesky raises $15M Series A, plans to launch subscriptions. No mention of the company's valuation unless I missed it.


https://techcrunch.com/2024/10/24/bluesky-raises-15m-series-a-plans-to-launch-subscriptions/


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

Bluesky raised $15 million last month, but the press release doesn't say at what evaluation and if the founders sold stock in this round.


https://bsky.social/about/blog/10-24-2024-series-a


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

You can vote any way you want and no one will ever know.


https://m.youtube.com/watch?v=PDOLkGV4-Ls


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

Harris grabs unexpected last-minute lead over Trump in Iowa poll.


https://www.theguardian.com/us-news/2024/nov/02/harris-unexpected-lead-over-trump-iowa-selzer-poll


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

2024 Pre-Election SNL Cold Open.


https://m.youtube.com/watch?v=e6Funs6yyEw


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

Iowa Poll: Kamala Harris pulls ahead in state Donald Trump won twice.


https://www.desmoinesregister.com/story/news/politics/iowa-poll/2024/11/02/iowa-poll-kamala-harris-leads-donald-trump-2024-presidential-race/75354033007/


@Dave Winer’s linkblog (date: 2024-11-03, from: Dave Winer’s linkblog)

Kamala Harris Will Make Surprise Appearance on ‘Saturday Night Live’ Tonight.


https://www.nytimes.com/2024/11/02/us/politics/kamala-harris-snl.html?smtyp=cur&smid=bsky-nytimes


Using PostgreSQL production query planner statistics to fill a mock database

date: 2024-11-03, from: Phiresky’s blog

Did you know that PostgreSQL stores statistics about your data that can also be pretty useful not just for the query planner? Say you have a table users (id bigint, created timestamptz, category text): This information is a bit hard to interpret, so let’s just let AI give us a nice visualization of …


https://phiresky.github.io/blog/2024/mock-data-from-postgres-stats


CSS sprite sheet animations

date: 2024-11-03, from: Lean Rada’s blog

For RSS readers: This article contains interactive content available on the original post on leanrada.com.

Check out this demo first (Click it!):