(date: 2024-11-05 15:53:45)
date: 2024-11-05, from: Computer ads from the Past
Your options are a programming language, a multimedia program, and a printer.
https://computeradsfromthepast.substack.com/p/vote-for-the-november-2024-post-topic
date: 2024-11-05, from: Accidentally in Code
My coach recommended The Outward Mindset, from the Arbginger institute, same as Leadership and Self Deception (one of my all time most impactful books) and The Anatomy of Peace. It feels in many ways a continuation of those ideas, but more team/business oriented. The first part of the book focuses on the impact of mindset, […]
https://cate.blog/2024/11/05/book-the-outward-mindset/
date: 2024-11-05, from: Michael Tsai
Howard Oakley: Prior to macOS 10.15 Catalina in 2019, the display of Thumbnails was supported by the QuickLook framework. From Catalina onwards, this is provided by a new framework named QuickLook Thumbnailing. The older framework is documented here, and had been deprecated for some years. Its replacement is documented here. To extend these, the older […]
https://mjtsai.com/blog/2024/11/05/sequoia-no-longer-supports-quicklook-generator-plug-ins/
date: 2024-11-05, from: Michael Tsai
Paul Kafasis: In recent months, I’ve begun to notice that results from web searches often highlight specific text on the page to which they’re linking. The web page is also scrolled to the relevant content. It’s quite helpful! A quick investigation showed this is accomplished by appending a bit of code, #:~:text= to the URL […]
https://mjtsai.com/blog/2024/11/05/how-to-highlight-text-fragments-when-linking/
date: 2024-11-05, from: Michael Tsai
I’ve long used the Send to Kindle app to upload documents for reading on my Kindle Oasis. Unlike with books, I usually don’t care about saving notes and highlights for these, so I haven’t tried doing that in a while. However, I recently read a long document where I did make extensive highlights. Then I […]
https://mjtsai.com/blog/2024/11/05/exporting-kindle-highlights-for-personal-documents/
date: 2024-11-05, from: Michael Tsai
Paddle writes: Previously, to initiate Apple Pay, customers were redirected to a secondary page due to Apple constraints with top-level domains. But now, Apple has updated their framework, allowing us to provide a seamless, single-click Apple Pay experience, where the native payment dialogue is triggered instantly upon checkout—no redirects, no extra clicks![…]To get started with […]
https://mjtsai.com/blog/2024/11/05/paddles-single-click-apple-pay/
date: 2024-11-05, from: Liliputing
The Spectra smartwatch features a 1.8 inch, 368 x 448 pixel OLED display, an ESP32-S3 microcontroller, and a custom JavaScript-based operating system called SpectraOS that’s built on the open source Moddable SDK. What makes this watch stand out is that it’s designed to be a hackable and repairable device – you can open the watch […]
The post Pocuter Spectra is a hackable, repairable smartwatch with expandable storage and OLED display (crowdfunding) appeared first on Liliputing.
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
Today's Trippi podcast with James Carville is wonderful. The rapport between these veterans, and wisdom, and how they play off each other. An amazing display of intelligence and friendship.
date: 2024-11-05, from: Liliputing
The Waveshare ESP32-P4-Nano is a tiny, inexpensive, low-power development board powered by a dual-core RISC-V processor. Available now from Waveshare or AliExpress for around $19 and up, the little board packs a lot of connectivity into a compact design. Waveshare’s board measures just 50 x 50mm (about 2″ x 2″) but it has a 10/100 Ethernet […]
The post Waveshare ESP32-P4-Nano is a tiny RISC-V dev board with Ethernet, WiFi, and Bluetooth appeared first on Liliputing.
date: 2024-11-05, from: Liliputing
Not that long ago it was hard to find a tablet priced under $100 that was actually worth using. These days there are plenty of cheap tablets that are good enough for basic tasks like reading web pages and streaming movies – especially when you can find a mid-range model that’s on sale for a […]
The post Daily Deals (11-05-2024) appeared first on Liliputing.
https://liliputing.com/daily-deals-11-05-2024/
date: 2024-11-05, from: Windows Developer Blog
The post PowerToys Advanced Paste appeared first on Windows Developer Blog.
https://learn.microsoft.com/en-us/windows/powertoys/advanced-paste
date: 2024-11-05, from: 404 Media Group
AI and Rule 34 have inevitably turned the Catholic Church’s cute Luce mascot into very graphic pornography.
https://www.404media.co/luce-porn-vatican/
date: 2024-11-05, from: 404 Media Group
Connor Moucka said he didn’t have a lawyer yet. He was arrested at the request of the U.S.
https://www.404media.co/alleged-snowflake-hacker-appears-in-court-says-prison-in-lockdown/
date: 2024-11-05, from: 404 Media Group
Audio obtained from board of elections meetings in Georgia show how a tool called EagleAI was pitched to election officials.
https://www.404media.co/inside-the-plan-to-use-ai-to-purge-voter-rolls/
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
Web Design Inspiration via Zeldman.
https://zeldman.com/2024/11/05/web-design-inspiration/
date: 2024-11-05, updated: 2024-11-05, from: One Foot Tsunami
https://onefoottsunami.com/2024/11/05/vote-for-kamala-harris/
date: 2024-11-05, from: O’Reilly Radar
October had many language model releases. The mid-size models, and even the small models, are catching up to frontier models like GPT-4.5o in performance. But the release that blew us all away wasn’t a language model: It was Claude’s computer use API. Computer use allows you to teach Claude how to use a computer: how […]
https://www.oreilly.com/radar/radar-trends-to-watch-november-2024/
date: 2024-11-05, from: Howard Jacobson blog
Illustrations to Pussy by Chris Riddell
https://jacobsonh.substack.com/p/the-child-who-never-grew-to-be-a
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
Comedian and Future Senator Al Franken With a Hilarious Performance at the 1996 WHCP.
https://m.youtube.com/watch?v=lb86IVB5cuY&pp=QAFIAQ==
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
John Lennon Snorting Pepsi in the 1964 Classic "A Hard Day's Night.”
https://m.youtube.com/watch?v=i91ys01B-es
date: 2024-11-05, from: 404 Media Group
For more than a week Judische, the hacker linked to the AT&T, Ticketmaster and other breaches, has not been responding to messages. That’s because he’s been arrested.
https://www.404media.co/suspected-snowflake-hacker-arrested-in-canada/
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
Anti-Psychopath Political Action Committee.
@Dave Winer’s linkblog (date: 2024-11-05, from: Dave Winer’s linkblog)
As much as I don’t want Facebook (aka Meta) to dominate the post-twitter market, they have the best product. That’s not saying a lot. There’s big room for improvement that’s been there for many years.
https://feedland.org/?item=17413109
date: 2024-11-05, from: Glasgow Haskell Compiler
The GHC developers are very pleased to announce the availability of the second alpha release of GHC 9.12.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org.
We hope to have this release available via ghcup shortly.
GHC 9.12 will bring a number of new features and improvements, including:
The new language extension OrPatterns allowing you to combine multiple pattern clauses into one.
The MultilineStrings language extension to allow you to more easily write strings spanning multiple lines in your source code.
Improvements to the OverloadedRecordDot extension, allowing the built-in
HasField
class to be used for records with fields of non
lifted representations.
The
NamedDefaults
language extension has been introduced allowing you to define defaults
for typeclasses other than Num
.
More deterministic object code output, controlled by the
-fobject-determinism
flag, which improves determinism of
builds a lot (though does not fully do so) at the cost of some compiler
performance (1-2%). See
#12935 for
the details
GHC now accepts type syntax in expressions as part of GHC Proposal #281.
The WASM backend now has support for TemplateHaskell.
… and many more
A full accounting of changes can be found in the release notes. As always, GHC’s release status, including planned future releases, can be found on the GHC Wiki status.
We would like to thank GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, the Haskell Foundation, and other anonymous contributors whose on-going financial and in-kind support has facilitated GHC maintenance and release management over the years. Finally, this release would not have been possible without the hundreds of open-source contributors whose work comprise this release.
As always, do give this release a try and open a ticket if you see anything amiss.
http://haskell.org/ghc/blog/20241105-ghc-9.12.1-alpha2-released.html
date: 2024-11-05, from: Marginallia log
I recently put together a small library called Slop, for intermediate on-disk data representation for the search engine, replacing a few ad-hoc formats I had in place before. This post isn’t so much an attempt to convince anyone else to use this library, as it makes trade-offs catering to a fairly niche use case, but to explore some of its design ideas, as it all came together very nicely, in the hopes that other libraries can draw ideas from it.
https://www.marginalia.nu/log/a_112_slop_ideas/
@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)
Hundreds of code libraries posted to NPM try to install malware on dev machines.
date: 2024-11-04, from: Curious about everything blog
The many interesting things I read in October 2024
https://jodiettenberg.substack.com/p/forty-four
date: 2024-11-04, from: 404 Media Group
The mystery, which dates back to the 1980s, has finally been solved. The song is Fex—Subways of Your Mind.
https://www.404media.co/the-most-mysterious-song-on-the-internet-has-finally-been-identified/
date: 2024-11-04, from: Michael Tsai
Thomas Ricouard: Recently, there’s been much talk and fuss about AI, and whether or not it can improve your development workflow. I wanted to touch base about how AI and its implementation in Cursor have been significantly improving my speed and efficiency. In short, Cursor is a fork of VSCode with many code editing AI-assisted […]
https://mjtsai.com/blog/2024/11/04/how-to-use-cursor-for-ios-development/
date: 2024-11-04, from: Michael Tsai
Jennifer Pattison Tuohy: Fast-forward to today, and there are over 40 million Echo smart speakers in US households, with Alexa processing billions of commands a week globally. But despite this proliferation of products and popularity, the “superhuman assistant who is there when you need it, disappears when you don’t, and is always working in the […]
https://mjtsai.com/blog/2024/11/04/why-alexa-hasnt-yet-become-the-real-computer-of-the-future/
date: 2024-11-04, from: Michael Tsai
Ruffin Bailey: I often buy from what at least used to be called the iTunes Music Store. The biggest advantage for me for doing so over, say, buying from Amazon or directly from the artist’s site (which I often do, or buy from Bandcamp if available), is that Apple Music will stream those songs for […]
https://mjtsai.com/blog/2024/11/04/playing-purchased-music-on-homepod/
date: 2024-11-04, from: Michael Tsai
Emma Roth (Slashdot): Reddit just turned a profit for the first time. As part of its third quarter earnings results released on Tuesday, the company reported a profit of $29.9 million, along with $348.4 million in revenue — a 68 percent increase year over year.[…]Reddit’s advertising revenue grew to $315.1 million, while “other” revenue reached […]
https://mjtsai.com/blog/2024/11/04/reddit-is-finally-profitable/
@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)
Perplexity CEO offers to replace striking NYT staff with AI.
https://techcrunch.com/2024/11/04/perplexity-ceo-offers-to-replace-striking-nyt-staff-with-ai/
date: 2024-11-04, from: 404 Media Group
New York Times tech workers are on strike for fairer pay and just cause job protections. In steps the CEO of Perplexity, an AI company that has repeatedly ripped-off the work of human journalists.
https://www.404media.co/perplexity-ai-offers-to-help-new-york-times-with-tech-union-strike/
date: 2024-11-04, from: Liliputing
Last month Nintendo launched a $100 interactive alarm clock called Alarmo. It’s a weird, but charming little device that lets you wake to music from classic Nintendo games and motion sensors to to track your movements to play game sounds, stop the alarm once you get out of bed, or even report your sleep quality […]
The post You can run Doom on Nintendo’s Alarmo clock appeared first on Liliputing.
https://liliputing.com/now-you-can-run-doom-or-other-apps-on-nintendos-alarmo-clock/
date: 2024-11-04, from: Liliputing
Nine years after launching an official touchscreen display accessory for Raspberry Pi computer, the Raspberry Pi team is back with a new model. The new Raspberry Pi Touch Display 2 has the same $60 price tag as the original, but it features a higher resolution display and a slimmer design. The Raspberry Pi Touch Display 2 […]
The post Raspberry Pi Touch Display 2 launches for $60 appeared first on Liliputing.
https://liliputing.com/raspberry-pi-touch-display-2-launches-for-60/
@Dave Winer’s linkblog (date: 2024-11-04, from: Dave Winer’s linkblog)
Why GM is ditching Apple CarPlay, with software boss Baris Cetinok.
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/
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/
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.
date: 2024-11-04, updated: 2024-11-04, from: Deno blog
Growthbook’s JavaScript SDK, which enables easy AB testing and personalization, is now available on JSR.
https://deno.com/blog/growthbook-on-jsr
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
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.
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.
@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.
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
date: 2024-11-04, from: Maggie Appleton blog
https://maggieappleton.com/forest-talk
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
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.
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:
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.
New Command-Line Flags:
To facilitate the out-of-process execution, I added two key command-line flags:
–oop-executor
This flag starts a separate
JIT executor process. The executor handles the actual code execution
independently of the main Clang-Repl process.
–oop-executor-connect
This flag establishes
a communication link between Clang-Repl and the out-of-process executor.
It allows Clang-Repl to transmit code to the executor and retrieve the
results from the execution.
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.
Block Dependence Calculation in ObjectLinkingLayerCommit Link
Code Example
clang-repl> int f() {return 1;}clang-repl> int f1() {return f();}clang-repl> f1();error: disconnectingclang-repl> JIT session error: FD-transport disconnectedJIT session error: disconnectingJIT session error: FD-transport disconnectedJIT session error: Failed to materialize symbols: { (main, { __Z2fv }) }disconnecting
During my work on clang-repl
, I encountered an issue where
the JIT session would crash during incremental compilation. The root
cause was a bug in
ObjectLinkingLayer::computeBlockNonLocalDeps
. The problem
arose from the way the worklist was built: it was being populated within
the same loop that records immediate dependencies and dependants, which
caused some blocks to be missed from the worklist. This bug was fixed by
Lang Hames.
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.
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.
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.
Beyond the main enhancements to Clang-Repl and ORC JIT, I also worked on several other improvements:
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:
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.
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.
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
Crash Recovery and Session Continuation :Investigate and develop ways to enhance crash recovery so that if something goes wrong, the session can seamlessly resume without losing progress. This involves exploring options for an automatic process to restart the executor in the event of a crash.
Finalize Auto Library Loading in ORC JIT :Wrap up the feature that automatically loads libraries in ORC JIT. This will streamline symbol resolution for both loaded and unloaded dynamic libraries by ensuring that any required dylibs containing symbol definitions are loaded as needed.
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.
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/