Last Update 6:48 AM November 08, 2024 (UTC)

Identity Blog Catcher

Brought to you by Identity Woman and Infominer.
Support this collaboration on Patreon!!!

Thursday, 07. November 2024

John Philpin : Lifestream

🔗📼🎵 Revolution … Did it happen$ Is it happening? Will it hap

🔗📼🎵 Revolution … Did it happen$ Is it happening? Will it happen?

🔗📼🎵 Revolution … Did it happen$ Is it happening? Will it happen?


Simon Willison

Datasette Public Office Hours, Friday Nov 8th at 2pm PT

Datasette Public Office Hours, Friday Nov 8th at 2pm PT Tomorrow afternoon (Friday 8th November) at 2pm PT we'll be hosting the first Datasette Public Office Hours - a livestream video session on Discord where Alex Garcia and myself will live code on some Datasette projects and hang out to chat about the project. This is our first time trying this format. If it works out well I plan to turn it

Datasette Public Office Hours, Friday Nov 8th at 2pm PT

Tomorrow afternoon (Friday 8th November) at 2pm PT we'll be hosting the first Datasette Public Office Hours - a livestream video session on Discord where Alex Garcia and myself will live code on some Datasette projects and hang out to chat about the project.

This is our first time trying this format. If it works out well I plan to turn it into a series.

Tags: discord, open-source, datasette, alex-garcia


Ben Werdmüller

Why Democrats won't build their own Joe Rogan

[Taylor Lorenz at User Mag] Gen Z men have lurched to the right, which was one factor behind this month's election result. This is, in part, because they've been inundated with media that speaks to a right-leaning point of view - and there's almost no counterpart on the Left. "Leftist channels do not receive widespread financial backing from billionaires or large institution

[Taylor Lorenz at User Mag]

Gen Z men have lurched to the right, which was one factor behind this month's election result. This is, in part, because they've been inundated with media that speaks to a right-leaning point of view - and there's almost no counterpart on the Left.

"Leftist channels do not receive widespread financial backing from billionaires or large institutional donors, primarily because leftist content creators support policies that are completely at odds with what billionaires want."

There is no progressive answer to Rogan. There could be - there's no shortage of progressive hosts who could fill this role - but as Taylor argues here, and as I've also previously argued, the funding isn't there for it.

As Taylor points out:

"The conservative media landscape in the United States is exceptionally well-funded, meticulously constructed, and highly coordinated. Wealthy donors, PACs, and corporations with a vested interest in preserving or expanding conservative policies strategically invest in right-wing media channels and up and coming content creators."

For progressive causes to win, there must be investment in progressive influencers. Not in a cringe Air America way, but authentic voices who are already out there and need a lift to reach more audiences. So the question becomes: where are those progressive influencers? And who can bankroll them in such a way that they retain their independence and authenticity - but amplified?

#Media

[Link]


Simon Willison

Project: VERDAD - tracking misinformation in radio broadcasts using Gemini 1.5

I'm starting a new interview series called Project. The idea is to interview people who are building interesting data projects and talk about what they've built, how they built it, and what they learned along the way. The first episode is a conversation with Rajiv Sinclair from Public Data Works about VERDAD, a brand new project in collaboration with journalist Martina Guzmán that aims to track

I'm starting a new interview series called Project. The idea is to interview people who are building interesting data projects and talk about what they've built, how they built it, and what they learned along the way.

The first episode is a conversation with Rajiv Sinclair from Public Data Works about VERDAD, a brand new project in collaboration with journalist Martina Guzmán that aims to track misinformation in radio broadcasts around the USA.

VERDAD hits a whole bunch of my interests at once. It's a beautiful example of scrappy data journalism in action, and it attempts something that simply would not have been possible just a year ago by taking advantage of new LLM tools.

You can watch the half hour interview on YouTube. Read on for the shownotes and some highlights from our conversation.

The VERDAD project

VERDAD tracks radio broadcasts from 48 different talk radio radio stations across the USA, primarily in Spanish. Audio from these stations is archived as MP3s, transcribed and then analyzed to identify potential examples of political misinformation.

The result is "snippets" of audio accompanied by the trancript, an English translation, categories indicating the type of misinformation that may be present and an LLM-generated explanation of why that snippet was selected.

These are then presented in an interface for human reviewers, who can listen directly to the audio in question, update the categories and add their own comments as well.

VERDAD processes around a thousand hours of audio content a day - way more than any team of journalists or researchers could attempt to listen to manually.

The technology stack

VERDAD uses Prefect as a workflow orchestration system to run the different parts of their pipeline.

There are multiple stages, roughly as follows:

MP3 audio is recorded from radio station websites and stored in Cloudflare R2 An initial transcription is performed using the extremely inexpensive Gemini 1.5 Flash That transcript is fed to the more powerful Gemini 1.5 Pro with a complex prompt to help identify potential misinformation snippets Once identified, audio containing snippets is run through the more expensive Whisper model to generate timestamps for the snippets Further prompts then generate things like English translations and summaries of the snippets

Developing the prompts

The prompts used by VERDAD are available in their GitHub repository and they are fascinating.

Rajiv initially tried to get Gemini 1.5 Flash to do both the transcription and the misinformation detection, but found that asking that model to do two things at once frequently confused it.

Instead, he switched to a separate prompt running that transcript against Gemini 1.5 Pro. Here's that more complex prompt - it's 50KB is size and includes a whole bunch of interesting sections, including plenty of examples and a detailed JSON schema.

Here's just one of the sections aimed at identifying content about climate change:

4. Climate Change and Environmental Policies

Description:

Disinformation that denies or minimizes human impact on climate change, often to oppose environmental regulations. It may discredit scientific consensus and promote fossil fuel interests.

Common Narratives:

Labeling climate change as a "hoax". Arguing that climate variations are natural cycles. Claiming environmental policies harm the economy.

Cultural/Regional Variations:

Spanish-Speaking Communities: Impact of climate policies on agricultural jobs. Arabic-Speaking Communities: Reliance on oil economies influencing perceptions.

Potential Legitimate Discussions:

Debates on balancing environmental protection with economic growth. Discussions about energy independence.

Examples:

Spanish: "El 'cambio climático' es una mentira para controlarnos." Arabic: "'تغير المناخ' كذبة للسيطرة علينا."

Rajiv iterated on these prompts over multiple months - they are the core of the VERDAD project. Here's an update from yesterday informing the model of the US presidental election results so that it wouldn't flag claims of a candidate winning as false!

Rajiv used both Claude 3.5 Sonnet and OpenAI o1-preview to help develop the prompt itself. Here's his transcript of a conversation with Claude used to iterate further on an existing prompt.

The human review process

The final component of VERDAD is the web application itself. Everyone knows that AI makes mistakes, a lot. Providing as much context as possible for human review is essential.

The Whisper transcripts provide accurate timestamps (Gemini is sadly unable to provide those on its own), which means the tool can provide the Spanish transcript, the English translation and a play button to listen to the audio at the moment of the captured snippet.

Want to learn more?

VERDAD is under active development right now. Rajiv and his team are keen to collaborate, and are actively looking forward to conversations with other people working in this space. You can reach him at help@verdad.app.

The technology stack itself is incredibly promising. Pulling together a project like this even a year ago would have been prohibitively expensive, but new multi-modal LLM tools like Gemini (and Gemini 1.5 Flash in particular) are opening up all sorts of new possibilities.

Tags: data-journalism, youtube, ai, prompt-engineering, generative-ai, llms, gemini


The Pragmatic Engineer

The Pulse #114: What does Trump’s win mean for Tech?

More influence for Musk and VCs, potentially reversing Section 174, pro-crypto, uncertainty for Big Tech, and more. Also: a third embarrassing security issue for Okta in two years

The Pulse is a series covering insights, patterns, and trends within Big Tech and startups. Notice an interesting event or trend? Send me a message.

This issue focuses on the US election result, and there’s no Industry Pulse for one week only. In this issue:

What does Trump’s win mean for the tech industry?

Yet another bizarre Okta security vulnerability

Let’s get into it!

1. What does Trump’s win mean for the tech industry?

On Tuesday, the US elected Donald Trump as president for a second time, defying pollsters who failed to predict his decisive victory, with the Republican party also taking control of the Senate. Based on what we know about Trump and the party he leads, we can look for some clues about the coming near-half decade of his administration’s impact on the US tech sector.

Elon Musk, a16z, and VCs bid for influence

One of the biggest Trump supporters – both in publicity and money terms – is Elon Musk. Other prominent venture capitalists who campaigned for Trump include a16z founders Marc Andreessen and Ben Horowitz, and venture capitalist, Peter Thiel. It is all but certain that these groups will have a say in shaping national tech policies. Expect these groups to lobby on issues such as:

Less antitrust for acquiring tech companies: VCs will most certainly be lobbying to allow Big Tech companies to acquire VC-funded startups without regulatory scrutiny, which is in the interest of venture capitalists by opening up more exit paths. The FTC’s blocking of Adobe’s $20B acquisition of Figma in 2023 led to large tech companies “poaching” founders and key employees from AI startups – like Google essentially acquihiring Character.ai, Microsoft basically acquihiring Inflection AI, and Amazon doing a “talent raid” with AI startup Covariant and Adept AI.

AI regulation: Elon Musk has a large stake in xAI, and could push to stop any AI regulation which doesn’t make it harder for newer entrants to enter. Other players like OpenAI and Anthropic will likely lobby for regulation that doesn’t impact their business.

Will Trump reverse his Section 174?

A Trump administration in full control of the Senate creates an opportunity to reverse Section 174; a piece of regulation that is making US tech companies less competitive, globally. In short, under this rule, software engineering salaries cannot be expensed as a cost as in other countries; they must be amortized over 5 years, or 15 years when employing software developers abroad. We cover more in a deep dive.

Read more


Ben Werdmüller

Social media is a symptom, not a cause

[Mathew Ingram at The Torment Nexus] Mathew Ingram on blaming social media for the stratification of society: "In the end, that is too simple an explanation, just as blaming the New York Times' coverage of the race is too simple, or accusing more than half of the American electorate of being too stupid to see Trump for what he really is. They saw it, and they voted for him a

[Mathew Ingram at The Torment Nexus]

Mathew Ingram on blaming social media for the stratification of society:

"In the end, that is too simple an explanation, just as blaming the New York Times' coverage of the race is too simple, or accusing more than half of the American electorate of being too stupid to see Trump for what he really is. They saw it, and they voted for him anyway. That's the reality."

This piece does a good job of debunking the lingering idea that "fake news" swings elections, or that social media bubbles are responsible for multiple realities and "alternative facts". In fact, this is a process that has been ongoing since the 1990s, and social media is a mirror of it rather than the cause.

If you're looking for answers, you need to look elsewhere.

#Media

[Link]


Non-profit newsrooms that speak truth to power

If you’re looking for signal, here are some non-profit newsrooms that speak truth to power on a national scale. You can follow all of them for free; all of them could also use your support. ProPublica ProPublica investigates abuses of power and betrayals of the public trust by government, business, and other institutions, using the moral force of investigative journalism to spur reform throug

If you’re looking for signal, here are some non-profit newsrooms that speak truth to power on a national scale. You can follow all of them for free; all of them could also use your support.

ProPublica

ProPublica investigates abuses of power and betrayals of the public trust by government, business, and other institutions, using the moral force of investigative journalism to spur reform through the sustained spotlighting of wrongdoing.

Website | Mastodon | Flipboard | Threads | Bluesky | Newsletters | RSS

The 19th

The 19th exists to empower women and LGBTQ+ people — particularly those from underrepresented communities — with the information, resources and tools they need to be equal participants in our democracy.

Website | Flipboard | Threads | Bluesky | Newsletters | RSS

Grist

Grist is dedicated to highlighting climate solutions and uncovering environmental injustices.

Website | Flipboard | Threads | Bluesky | Newsletters | RSS

The Marshall Project

The Marshall Project seeks to create and sustain a sense of national urgency about the U.S. criminal justice system.

Website | Threads | Newsletters | RSS

The Markup

The Markup investigates how powerful institutions are using technology to change our society.

Website | Mastodon | Flipboard | Threads | Newsletters | RSS

Reveal from the Center for Investigative Reporting

Reveal is an investigative radio show and podcast that holds the powerful accountable by reporting about everything from racial and social injustices to threats to public safety and democracy.

Website | Flipboard | Threads | Newsletter | RSS

Bellingcat

Bellingcat is an independent investigative collective of researchers, investigators and citizen journalists brought together by a passion for open source research.

Website | Mastodon | Threads | Bluesky | RSS

 


Simon Willison

Quoting Jo Kristian Bergum

If you have worked in search, you know how freaking hard even getting started with something close to this with traditional methods. Now, you can zero-shot it. System Instructions: As a query categorization expert, you try to break down the intent of a search query. First, provide your reasoning and then describe the intent using a single category (broad, detailed, comparision) User: The qu

If you have worked in search, you know how freaking hard even getting started with something close to this with traditional methods. Now, you can zero-shot it.

System Instructions: As a query categorization expert, you try to break down the intent of a search query. First, provide your reasoning and then describe the intent using a single category (broad, detailed, comparision)

User: The query from the user is "nike versus adidas for terrain running". The user is a female, age 22.

Model: The user is clearly looking to compare two specific brands, Nike and Adidas, for a particular activity, terrain running. While the user's demographics might be helpful in some situations (e.g., recommending specific product lines), the core intent remains a comparison. Category: Comparison

There's a lot of hand-waving around query intent classification; it's always been like that. Now, it's straightforward (add a few examples to improve accuracy). But my point is that you could only dream about building something like this without having access to lots of interaction data.

Jo Kristian Bergum

Tags: prompt-engineering, generative-ai, search, ai, llms


Werdmüller on Medium

A hypothesis about the Democrats

Have they been culturally outmaneuvered? Continue reading on Medium »

Have they been culturally outmaneuvered?

Continue reading on Medium »


Ben Werdmüller

A hypothesis about the Democrats

I’d like to share a hypothesis about the Democrats. It’s about money. It might not be true — it truly is a hypothesis — but I’d like to air it out and see what you think. We have a lot of people in America who are suffering greatly. Dick Tofel put it like this: “For more than forty years, we have become an ever-more winner-take-all society, one in which the gap between the winners and losers

I’d like to share a hypothesis about the Democrats. It’s about money. It might not be true — it truly is a hypothesis — but I’d like to air it out and see what you think.

We have a lot of people in America who are suffering greatly. Dick Tofel put it like this:

“For more than forty years, we have become an ever-more winner-take-all society, one in which the gap between the winners and losers has widened, particularly with respect to income, wealth, education and the advantages that accrue to all three. The Republican Party promoted this; the Democratic Party largely tolerated it.”

That electorate needs help, which means they need change, and will vote for someone who seems like they might bring about change.

The Republican base of high net worth donors (the people who, frankly, really make a difference to election campaign finances) is all-in on funding that change. The Republican version of change is aligned with their values: lower taxes, fewer regulations, fuck it, let’s send children to work.

The Democratic base of high net worth donors is not. The Democratic version of change is easily painted as “socialism”, even if it’s not really anything of the sort: stronger welfare, policies like anti-trust reform, a higher minimum wage, progressive taxation, a wealth tax for people with net worths over $100M, perhaps stronger healthcare infrastructure. There are very few very rich people who will fund this sort of change, even if it’s going to be the most effective way of helping that base electorate.

Republican change, which has manifested as essentially authoritarian fascism, is more palatable to the rich people who fund elections than Democratic change, which manifests as social programs that hurt their bottom line. As a result, Democrats drift to the right in an attempt to lure that base of donors, while Republicans stay to the right. That’s how you get to Harris campaigning with a Cheney.

The mistake is to optimize for big-tent centrism rather than helping the people who are telling you they need help. The former maybe where the money is, but it’s not where the votes are. The votes are in convincing people you’ll help them.

You need votes to win elections. But also, you need money to win elections in America.

So my core hypothesis is that the Democrats have been culturally outmaneuvered. They can’t maintain the donor base and the voter base.

If this is true, I see a few ways forward:

Stop optimizing for money and run principled grassroots campaigns centered on helping working class people in meaningful ways, without letting go of policies around inclusion. Become the anti-authoritarian, anti-war party. Abandon the idea of “working across the aisle” in favor of the idea of working very directly with local communities and giving them a platform. Become an operating system for local organizing. Drop the celebrity endorsements in favor of prominent endorsements from local groups who are doing the work. Start organizing yesterday.

Of course, all of this is predicated on the Democrats wanting any of this. Do they care more about helping people in need than maintaining their power base in influential circles? That question matters.


What Now for the Press?

[Dick Tofel] Dick Tofel on where the press should go next: "We held a free and fair election, and the candidate who hates the press, who makes sport of threatening it physically and with censorship and muzzling, won. The campaign was fought across seven states and he won them all. He got more votes than his opponent." There's a lot here about how the press could and should

[Dick Tofel]

Dick Tofel on where the press should go next:

"We held a free and fair election, and the candidate who hates the press, who makes sport of threatening it physically and with censorship and muzzling, won. The campaign was fought across seven states and he won them all. He got more votes than his opponent."

There's a lot here about how the press could and should respond to the current situation, which I largely agree with. But I particularly agree with this analysis:

"For more than forty years, we have become an ever-more winner-take-all society, one in which the gap between the winners and losers has widened, particularly with respect to income, wealth, education and the advantages that accrue to all three. The Republican Party promoted this; the Democratic Party largely tolerated it. Now tens of millions of those who feel the sting of lower incomes, lesser wealth, inferior education have rebelled.

They have, in one of history’s great ironies, put their faith in, and channeled their rage through one of the winners, one who did almost nothing for them the first time he held power, but who gives voice to their grievances, both legitimate and not, and adroitly vilifies those they most resent."

I think there's a lot to this - and I think the Democrats have unfortunately done a poor job of speaking up for working class people who are really struggling. That's not to say that its messages about inclusion are bad - they're very good - but it's not either / or. There needs to be a strong message about how poor people are going to be better-off, that is clear-eyed about rising prices and unemployment for that demographic in particular. And we need to make the world better for the systemically oppressed. We are all in this together.

#Media

[Link]


IdM Laboratory

Identiverse 2025のプレゼンテーション募集が始まっています

こんにちは、富士榮です。 先日European Identity and Cloud Conferenceのスピーカー募集の件について触れましたが、今回は続いてIdentiverse 2025の募集です。 https://app.sessionboard.com/submit/new-conference/9329e74a-ca9b-4a19-8458-d2ea6ed5a752 本番は2025年6月3日〜6日、プレゼン締切は年明け1月3日です。 早めに申し込みましょう。
こんにちは、富士榮です。
先日European Identity and Cloud Conferenceのスピーカー募集の件について触れましたが、今回は続いてIdentiverse 2025の募集です。


https://app.sessionboard.com/submit/new-conference/9329e74a-ca9b-4a19-8458-d2ea6ed5a752
本番は2025年6月3日〜6日、プレゼン締切は年明け1月3日です。 早めに申し込みましょう。


John Philpin : Lifestream

🔗📼🎵 Do you care about your rights?

🔗📼🎵 Do you care about your rights?

🔗📼🎵 Twice In A Lifetime - Apparently

🔗📼🎵 Twice In A Lifetime - Apparently

🔗📼🎵Have you lost your religion? What is your ‘religion’ anyw

🔗📼🎵Have you lost your religion? What is your ‘religion’ anyway? It should probably just be taken away - let’s not leave it to chance.

🔗📼 You can still rock - but will it be in the free world

🔗📼 You can still rock - but will it be in the free world

Wednesday, 06. November 2024

John Philpin : Lifestream

🔗📼 Oh Well

🔗📼 Oh Well

Simon Willison

yet-another-applied-llm-benchmark

yet-another-applied-llm-benchmark Nicholas Carlini introduced this personal LLM benchmark suite back in February as a collection of over 100 automated tests he runs against new LLM models to evaluate their performance against the kinds of tasks he uses them for. There are two defining features of this benchmark that make it interesting. Most importantly, I've implemented a simple dataflow dom

yet-another-applied-llm-benchmark

Nicholas Carlini introduced this personal LLM benchmark suite back in February as a collection of over 100 automated tests he runs against new LLM models to evaluate their performance against the kinds of tasks he uses them for.

There are two defining features of this benchmark that make it interesting. Most importantly, I've implemented a simple dataflow domain specific language to make it easy for me (or anyone else!) to add new tests that realistically evaluate model capabilities. This DSL allows for specifying both how the question should be asked and also how the answer should be evaluated. [...] And then, directly as a result of this, I've written nearly 100 tests for different situations I've actually encountered when working with LLMs as assistants

The DSL he's using is fascinating. Here's an example:

"Write a C program that draws an american flag to stdout." >> LLMRun() >> CRun() >> \ VisionLLMRun("What flag is shown in this image?") >> \ (SubstringEvaluator("United States") | SubstringEvaluator("USA")))

This triggers an LLM to execute the prompt asking for a C program that renders an American Flag, runs that through a C compiler and interpreter (executed in a Docker container), then passes the output of that to a vision model to guess the flag and checks that it returns a string containing "United States" or "USA".

The DSL itself is implemented entirely in Python, using the __rshift__ magic method for >> and __rrshift__ to enable strings to be piped into a custom object using "command to run" >> LLMRunNode.

Tags: evals, llms, ai, generative-ai, dsl, python, nicholas-carlini


John Philpin : Lifestream

🔗📼 During which time … A Hard Rain’s Gonna Fall

🔗📼 During which time … A Hard Rain’s Gonna Fall

🔗📼 Burning Down The House Your song of the day, week, mont

🔗📼 Burning Down The House Your song of the day, week, month, year, 4 years.

🔗📼 Burning Down The House

Your song of the day, week, month, year, 4 years.


The Pragmatic Engineer

Promotions and tooling at Google (with Irina Stanescu, Ex-Google)

In today’s episode of The Pragmatic Engineer, I’m joined by Irina Stanescu, a seasoned engineer with over 14 years in software engineering and engineering leadership roles at tech companies like Google and Uber.

Listen now on Apple, Spotify, and YouTube.

Brought to you by:

WorkOS — The modern identity platform for B2B SaaS.
Sonar —  Trust your developers – verify your AI-generated code.

In today’s episode of The Pragmatic Engineer, I’m joined by Irina Stanescu, a seasoned engineer with over 14 years in software engineering and engineering leadership roles at tech companies like Google and Uber. Now an engineering leadership coach, Irina helps tech professionals build impactful careers, teaches a course on influence, and shares insights through her newsletter, The Caring Techie. In our conversation today, Irina shares her journey of rising through the ranks at Google and Uber. We dive into the following topics: 

An inside look at Google’s unique working processes

How to build credibility as a new engineer

Tactical tips for getting promoted 

The importance of having a career plan and guidance in designing one

Having influence vs. influencing—and how to become more influential 

Essential leadership skills to develop

And so much more

Takeaways

My biggest takeaways from this conversation:

1. Google is different in its tooling and processes than most tech companies. While it’s common enough to hear from current and former Googlers just how many custom internal systems Google has, Irina shared several of these, which perhaps made it more specific. She mentioned ones like Borg (deployments), Critique (code reviews) and Memgen (meme generator). There’s often no direct mapping of these tools at other companies.

Google also has processes around code quality that few, if any companies put in place. The concept of a “readability review” code reviewer is one of these. It shows just how much Google values clean and easy-to-understand code, to the point that they created a pretty heavyweight process to ensure code readability remains a top priority.

2. Being rejected for a promotion doesn’t necessarily mean that you’ll be slow to be promoted later. It sounded to me that Irina was very disappointed when her first promotion application from the L3 to the L4 level got rejected. At the same time, after she got promoted to L4, it took her a mere one year to get to the L5 level – which is an unusually short time at a place like Google! What happened?

As Irina shared: after her first promotion rejection, she was more active in looking out for teams where she could have a bigger impact. When she joined a newly created team and there was a ton of work to do, she stepped up and did all this work.

My read is that thanks to staying longer at Google, she understood more about how the company works; her tenure surely helped her get promoted – as well as doing great work. It’s a reminder that it can be worth grinding teeth and pushing through situations that don’t go your way – and turn things around later!

3. If you want to influence others: start by building credibility! Think about peers who you consider “influential:” why do you listen to what they say? There is a fair chance that those tech professionals have a track record of getting things done, their work is visible to you, and they are active participants in both discussing things and getting things done. So, if you would like your peers – or people on other teams – to see you as influential, you also need to put in the groundwork!

Irina suggests asking yourself the question: “Why should people listen to you?” And figure out the answers to these questions as well:

What do people around you know about you?

How do you present your ideas?

How frequently do you listen to people who you would like to influence?

Influence is a two-way street: some of the most influential tech professionals not only get things done, but they are good at listening to others and changing their minds and approaches if and when the other person has good points.

Timestamps

(00:00) Intro

(01:34) Irina’s time at Google

(03:10) An overview of ‘design docs’ at Google

(08:27) The readiness review at Google

(10:40) Why Irina uses spreadsheets

(11:44) Irina’s favorite tools and how she uses them

(13:46) How Google certifies readability

(15:40) Google’s meme generator 

(17:36) Advice for engineers thinking about working for an organization like Google

(20:14) How promotions work at Google

(23:15) How Irina worked towards getting promoted 

(27:50) How Irina got her first mentor 

(30:44) Organizational shifts at Uber while Irina and Gergely were there

(35:50) Why you should prioritize growth over promotion

(36:50) What a career plan is and how to build one

(40:40) Irina’s current role coaching engineers 

(42:23) A simple explanation of influence and influencing 

(51:54) Why saying no is necessary at times

(54:30) The importance of building leadership skills

References

The Pragmatic Engineer deepdives relevant for this episode:

Preparing for promotions ahead of time 

Engineering career paths at Big Tech and scaleups

Getting an Engineering Executive Job

The Seniority Rollercoaster

Where to find Irina Stanescu:

• X: https://x.com/thecaringtechie

• LinkedIn: https://www.linkedin.com/in/irinastanescu/

• Website:

The Caring Techie Newsletter Most people know the potential they carry, but few reach it. This newsletter teaches you how. Lessons from my experience at Google, Uber, and startups. By Irina Stanescu

• Maven course: Impact through Influence in Engineering Teams: https://maven.com/irina-stanescu/influence-swe

Mentions during the episode:

• Google Fiber: https://fiber.google.com/

• Design docs at Google: https://news.ycombinator.com/item?id=40273534

• Code Search: https://developers.google.com/code-search

• Inside Google's Internal Meme Generator: https://www.buzzfeednews.com/article/reyhan/inside-googles-internal-meme-generator

• Robert Waldinger: What makes a good life? Lessons from the longest study on happiness | TED:

• Think Again: The Power of Knowing What You Don't Know: https://www.amazon.com/Think-Again-Power-Knowing-What/dp/1984878123/

• The Midnight Library: https://www.amazon.com/Midnight-Library-Novel-Matt-Haig/dp/0525559493/

• Golang: https://go.dev/

• gRPC: https://grpc.io/

• Software Developer Promotions: Advice to Get to That Next Level: https://blog.pragmaticengineer.com/software-engineering-promotions/

• Preparing for Promotions Ahead of Time: https://newsletter.pragmaticengineer.com/p/preparing-for-promotions

• Getting an Engineering Executive Job: https://newsletter.pragmaticengineer.com/p/getting-an-engineering-executive

• The Seniority Rollercoaster: https://newsletter.pragmaticengineer.com/p/the-seniority-rollercoaster

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.


Werdmüller on Medium

We can still rise

The election was bleak. But we have a future. Continue reading on Medium »

The election was bleak. But we have a future.

Continue reading on Medium »


Ben Werdmüller

We can still rise

What a morning. I know this quote has been shared and reshared ad infinitum, but it gives me hope today, and I hope it will do the same for you: “When I was a boy and I would see scary things in the news, my mother would say to me, "Look for the helpers. You will always find people who are helping.” Fred Rogers You will always find people who are helping. Some slightly disconnected thought

What a morning.

I know this quote has been shared and reshared ad infinitum, but it gives me hope today, and I hope it will do the same for you:

“When I was a boy and I would see scary things in the news, my mother would say to me, "Look for the helpers. You will always find people who are helping.” Fred Rogers

You will always find people who are helping.

Some slightly disconnected thoughts:

Going forward, I don’t know that I want my private conversations to be accessible by any third party. Privacy and security were always important, but feel like even more of a necessity today. If you want to contact me, going forward the best option is Signal, the open source end-to-end encrypted chat app. I’ve been using it for years, but now I’d like to convince more of you to join me. My username is benwerd.01. There’s a Signal link at the bottom of every page on my website; if you have Signal, you can click here to contact me. I’d love to chat.

The first thing I posted this morning was a call to action for journalists: “your job, now more than ever, is to speak truth to power”. On every platform, I received replies that indicate a lack of trust in journalism that I think is well-earned. People believe that journalism has generally served to preserve the status quo rather than illuminate the needs and lives of the people who need it. At its worst, it’s carried water for nationalist movements in the false pursuit of balance. While I think there are exceptions — I’m proud to work for ProPublica, which I believe is one, and I think fondly of The 19th, Grist, The Marshall Project, Rest of World and others — I also think this is largely true. Many news institutions have fully abdicated their responsibility. The others (perhaps all of them?) need to listen to their non-managerial workforces and make cultural changes to make themselves truly representative of the communities they want to reach and serve.

I’ve been thinking about pulling down my whole website and scrubbing it from the Internet Archive. I no longer know if what I’m saying here is helpful or if it’s additive in any way. I’m wondering about refocusing on more proactive rather than reactive modes of communication. I also don’t know — for all the talk about freedom of speech — that there won’t be retaliation for advocating for certain values or for working where I do. I wouldn’t truly go away if I did this, but I’d publish in a different way. I floated this idea on Mastodon, and I think I’ve been convinced not to, at least for now; publishing is an act of protest.

For many people in America — women, trans people, immigrants, people of color, people who are gay, anyone who is not in the in-group — there are safe regions and unsafe regions. It’s not even about states, but local state rules obviously do matter (for example, Austin might feel safer than Dallas, but Texan reproductive health rules still apply). As of this morning, I find myself living in a red state for the first time in my life. As I walked to daycare this morning, past the local elementary school, I passed a woman in a camo MAGA hat; someone who was willing to vote against the interests of at least half of the children in the building she was outside. She voted for a politician who said school shootings were a fact of life. We need to protect the safe spaces. We need more spaces to be safe. I need to be able to create safe spaces for others.

I love my friends and I want them to be safe.

The stock market rose this morning. I understand what that means and I don’t know what to do with it.

I saw a number of comments this morning (particularly in local Facebook groups) along the lines of, “I’m grateful we stopped the communist invasion”. The idea that the Democrats are anything close to communist is ludicrous, but I don’t know how we deal with this perception that what people are asking for — healthcare, civil rights, welfare — is some kind of extremist position. These things would simply bring America in line with the benefits citizens of every other developed nation enjoy. You can intellectually interrogate it, but I don’t think that’s helpful. How do you actually swing people around? Can you? Is it a pipe dream to make America a tolerable democratic nation?

I used to work at a startup accelerator, Matter, where we’d start our demo days with a speech that said: “stories define us”. I think that’s right. (It went on to say “technology empowers us” and, to be frank with you, I’m no longer sure about that line.) Stories teach us what it means to be human and elevate lived experiences. Some are simply the stories of real peoples’ lived experiences; that is journalism, which continues to be incredibly integral to democracy, despite the abdications of its management. Other stories are art that is crafted to shine a light. Camus said, “fiction is the lie through which we tell the truth,” and I truly believe it. Every story, every heartfelt piece of fiction, is a real thing that can’t be taken away from us. Stories define us. They are rebellion. We should tell more stories.

All that we have is each other. We rise together or we fall together. Today feels like a fall. But we can still rise.


Heres Tom with the Weather

Indieweb Meetup Austin today

After some time off IndieWeb Meetup Austin is back at Mozart’s Coffee tonight at 7pm. I guess a few things have transpired since the last meeting so I’m looking forward to learning about what’s going on again.

After some time off IndieWeb Meetup Austin is back at Mozart’s Coffee tonight at 7pm. I guess a few things have transpired since the last meeting so I’m looking forward to learning about what’s going on again.


IdM Laboratory

AuthZEN WG Authorization API 1.0 Implementer's draftの投票期間がもうすぐ始まります

こんにちは、富士榮です。 9月にPublic Review期間に入ったAuthZEN WGのAuthorization API 1.0のImplementer's draftですが来週11/7〜14で投票期間に入ります。 https://openid.net/notice-of-vote-implementers-draft-authzen-authorization-api-1-0/ 認可の標準化は人類の長年の夢だったのでこの機会に仕様を学んでフィードバックをぜひしていきましょう。 APIの概要はこちらに書いています。

こんにちは、富士榮です。

9月にPublic Review期間に入ったAuthZEN WGのAuthorization API 1.0のImplementer's draftですが来週11/7〜14で投票期間に入ります。


https://openid.net/notice-of-vote-implementers-draft-authzen-authorization-api-1-0/


認可の標準化は人類の長年の夢だったのでこの機会に仕様を学んでフィードバックをぜひしていきましょう。

APIの概要はこちらに書いています。





Doc Searls Weblog

Now What?

It used to be When. But that was yesterday: election day in the U.S. In California, where I voted (by mail), it’s still 10:30 PM., and the Blue folk are especially blue, because the whole thing is over. Trump hasn’t won yet, but he will. I correctly predicted a Trump win in 2016, a loss […]

It used to be When.

But that was yesterday: election day in the U.S.

In California, where I voted (by mail), it’s still 10:30 PM., and the Blue folk are especially blue, because the whole thing is over. Trump hasn’t won yet, but he will.

I correctly predicted a Trump win in 2016, a loss in 2020, and a win again in 2024. That was, until Biden dropped out. Harris was a much stronger candidate than I—and nearly everyone—expected.

Here in Paris, I went to bed last night expecting a Harris win. When I got up at 4 AM, it was clear that she would not. And now, at 7:45 AM, it looks like the GOP will take the Senate and perhaps the House as well.

I have always avoided politics on this blog, and even more on social media. But I have always had a lot to say. It is not, however, what others are saying, so don’t guess at it.

What I will say for now is that Democrats need a new story. Or a collection of them.

I’ve talked about stories before. This TEDx talk is one place. This blog post is another.

I’ll be expanding on points made in both. Meanwhile, coffee and croissants await.

 

 


John Philpin : Lifestream

💬

💬

💬

Tuesday, 05. November 2024

Simon Willison

Generating documentation from tests using files-to-prompt and LLM

Generating documentation from tests using files-to-prompt and LLM I was experimenting with the wasmtime-py Python library today (for executing WebAssembly programs from inside CPython) and I found the existing API docs didn't quite show me what I wanted to know. The project has a comprehensive test suite so I tried seeing if I could generate documentation using that: cd /tmp git clone https:/

Generating documentation from tests using files-to-prompt and LLM

I was experimenting with the wasmtime-py Python library today (for executing WebAssembly programs from inside CPython) and I found the existing API docs didn't quite show me what I wanted to know.

The project has a comprehensive test suite so I tried seeing if I could generate documentation using that:

cd /tmp git clone https://github.com/bytecodealliance/wasmtime-py files-to-prompt -e py wasmtime-py/tests -c | \ llm -m claude-3.5-sonnet -s \ 'write detailed usage documentation including realistic examples'

More notes in my TIL. You can see the full Claude transcript here - I think this worked really well!

Tags: llm, webassembly, generative-ai, ai, llms, claude, claude-3-5-sonnet, ai-assisted-programming, documentation


Ben Werdmüller

Reflecting today

Today I’ve been thinking a lot about my relatives who actively fought against nationalism as part of the resistance. What they and their colleagues did in the name of inclusion and opportunity. That's the name of the game: a world where everyone has the same opportunity to live a good life, regardless of their race, religion, or background, with an equal, democratic say in how their country is

Today I’ve been thinking a lot about my relatives who actively fought against nationalism as part of the resistance. What they and their colleagues did in the name of inclusion and opportunity.

That's the name of the game: a world where everyone has the same opportunity to live a good life, regardless of their race, religion, or background, with an equal, democratic say in how their country is run, and the freedom to live their life without threats of violence. If we’re not striving for that, what's the point of anything?


The Pragmatic Engineer

How to become a more effective engineer

The importance of soft skills, implicit hierarchies, getting to “small wins”, understanding promotion processes and more. A guest post from software engineer Cindy Sridharan.

Hi – this is Gergely with the monthly, free issue of the Pragmatic Engineer. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. To get weekly emails like this in your inbox, subscribe here:

Subscribe now

Today happens to be election day in the US: the biggest political event in four years. While we will not discuss that kind of politics in this publication: this event is a good excuse to discuss the other type of politics: workplace politics. Specifically: for software engineers and engineering leaders.

Cindy Sridharan is a software engineer working in the Bay Area. I originally connected with Cindy years back, online, over distributed systems discussions, and we met in-person last year in San Francisco. As the topic of internal politics for software engineers came up, Cindy, frustrated with the kind of careless, non-productive discourse that swirled around this topic, wrote an article about it, back in 2022.

The article really resonated with me – and with other people I shared it with. So with the permission and help of Cindy, this is an edited and updated version of Cindy’s original article.

In this issue, Cindy covers:

Know how your org works

Soft skills: these are hard skills!

Implicit hierarchies

Cultures: top-down, bottom-up, and both at the same time

Get comfortable with the “mess”

Look for small wins

Understand organizational constraints

As related reading, see these The Pragmatic Engineer Deepdives:

Internal politics for software engineers and managers: Part 1

Internal politics for software engineers and managers: Part 2 

Engineering career paths at Big Tech and scaleups

Seven tactics to become a more effective software engineer. None are about coding

With this, it’s over to Cindy:

Some time ago, exhausted by never-ending complaints about self-defeating reward structures at companies, I made what seemed to me a fairly self-evident comment:

Cindy Sridharan on X

Some of the responses this comment garnered were, well, rather pointed. Most people’s dismay seemed to have stemmed from what they’d perceived to be my dismissiveness towards their well-intentioned albeit ultimately not very fruitful efforts to make things better at their workplace. 

I’ve been meaning to expand on some of my thoughts on this topic for months, since I feel this warrants a more nuanced and considered discussion than is feasible on social media.

This post aims to lay out some problems engineers might often encounter when trying to address causes of dysfunction at their companies. It offers some food for thought on how to be more effective working within the limitations and constraints of organizations.

One caveat I need to mention is that most of what I describe here is from the perspective of an individual contributor (IC). I’ve never been a manager and have no experience of navigating organizational politics as a manager. There are innumerable resources by seasoned managers on how to maneuver managerial politics, for those interested.

Preface: The distant mirage of aspirational ideas

It’s something of a rule of thumb that on social media, topics that generally require careful consideration are painted with reductionist, impractical, or aspirational brushstrokes. This is often done by people with very high levels of visibility, and sometimes by people who really ought to know better. Much of this oversimplified and irresponsible discourse gets excessively amplified, to the degree that it can very quickly become what’s perceived as “conventional wisdom”. None of this is productive. Worse, it gives easily influenced people the wrong idea of how organizations “must” function.

It can be quite discouraging to see aspirational goals get elevated to such heights that anything that falls short of their high standards is often deemed as “toxic” or “dysfunctional.”

Technical debt is a common talking point, so let’s take this as a concrete example. The accumulation of technical debt as teams prioritize building new features at a rapid pace, even if it comes at the expense of quality, performance, testing and so forth: this is a very common occurrence. As an industry, we’ve not built the tools, framework, or even an effective vocabulary required to talk about these tradeoffs, beyond simply calling it “technical debt”. As a result, most conversations around technical debt end up being oddly confusing. People are often  disappointed about how “leadership doesn’t get tech debt” or about how features are always prioritized over critical maintenance work.

Yes, ideally we should have a culture which prioritizes minimizing technical debt and building software sustainably, not just shipping features. But you’d be hard-pressed to find a single team or organization that prioritizes addressing technical debt as the primary focus of the team for a longer period of time. If and when technical debt does get prioritized as the primary focus of the team, it’s often because the technical debt has a noticeable and negative impact on a key, well-tracked, highly visible metric that reflects poorly on the team.

If your team is hitting all deliverables on time, then there might be an appetite for addressing the issue of technical debt in fits and starts. But in the vast majority of cases, addressing technical debt needs to be undertaken iteratively. You need to initially aim for small and easy wins that inspire confidence and lay the groundwork for you to push for bigger and better improvements. And you need to do all of this without slowing down your team’s delivery pace. Preferably without having protracted conversations with “leadership” to get necessary buy-in to do so.

Social media, blog posts and conferences amplify aspirational ideas (if leadership just “gets” why technical debt is so harmful and “prioritizes” it, then we can easily address this problem). Your organization, however, rewards what you actually get done which benefits the organization. This might be a very far cry from whatever might be de rigueur on social media.

1. Know how your org works

One of the most effective things you can do to be successful at your job is to understand how your organization works. This understanding will better inform your outlook on all things, including:

exactly what technical skill you need to invest effort into getting better at, which will actually be rewarded

how to build lasting relationships with other people on your team or organization that ultimately dictate the success of a project

how to effectively pitch projects or improvements to leadership and actually see these through to completion

how to navigate ambiguity

how to manage conflicting priorities or expectations

how to best deal with setbacks

how to weigh the pros and cons of technical choices in the larger context of the organizational realities and needs

how to identify and drive quick wins

how to discern what’s achievable, and in precisely what time frame

how to use this knowledge to judiciously pick battles

and in the worst case, to know when to cut your losses and quit

Managers need to deal with these skills as a part of their job description and so do ICs at the very senior levels. But it’s never too early in your career to start cultivating this knowledge. In fact, a core part of mentoring engineers involves educating them in how the organization works, to enable them to build a successful track record of getting things done.

Some managers and senior ICs often take a short-sighted view and see “shielding” non-senior folks from organizational politics as a way to help other engineers “maintain focus.”

Shielding non-senior engineers from organizational politics not just stymies their growth, but also hinders their visibility of the skills they’ll eventually need to learn the hard way. These are the kind of skills for which there exists no easy playbook.

2. Soft skills: these are hard skills!

This post doesn’t aim to be a comprehensive guide on how to learn the skills which helps one truly understand how an organization works, or even a comprehensive list of the skills themselves. Some of the points mentioned in this article that help one better understand how an organization works are simply ones I’ve encountered. If you ask someone else in a different organization, you might get a very different list. It’s no exploit to learn a new skill when you know exactly what to learn, how to learn it, and so long as the answer is straightforward, as is the case with many purely technical concepts.

Learning “how your organization works” is a constant exercise in learning the organization’s ever-changing landscape, especially as people, projects, priorities, partners, and leadership change. Learning how to make decisions when key pieces of information are missing is also a very important skill, insomuch as it helps you hone another set of valuable skills:

how best to gather information you’re missing

how and when to get by without doing so

Some of these skills I’m talking about can be learned by talking to people and some need to be inferred through close observation of leadership’s decisions. There are some skills, however, that can only be learned the hard way by getting things wrong, or watching other people get things wrong. 

In organizations with a culture of constant learning, visibility into failures isn’t something that’s discouraged. At the same time, whether your organization is one such which subscribes to the school of thought of making failures visible: this is something you’d only learn if you know how your organization works. 

The most important skill for any engineer to possess is the ability to learn quickly. This applies to both technical concepts and sociotechnical concepts. I’m absolutely by no means an expert in any of these myself; but over the years, I like to think I’ve got a better understanding of why this knowledge is important.

3. Implicit hierarchies

Most organizations have a formal structure. They usually start with a VP or a Director at the top, and proceed down to individual teams. If you’re an IC, you’re a leaf node in the org tree.

Most organizations, in my experience, also tend to have something of an informal structure, especially among ICs. In organizations that make job titles and levels public, it’s relatively easy to know which engineer might have more influence. In organizations where this is concealed, it’s a lot harder to infer the informal hierarchy, and where exactly you fit into it. Sometimes, it’s not so much to do with job titles and levels, than with tenure on the team or the organization. And sometimes, it’s some other factor, like subject matter expertise, open-source experience, or even something as arbitrary as employment history.

It’s important to be aware of this informal hierarchy because as often as not, it may directly influence your work, irrespective of your personal level and job title.

Engineers who wield an outsized influence on the decision making process tend to often be fairly senior, and also fairly opinionated. It usually isn’t even any particular opinion they might have on any topic that drives their decision making: but it’s usually overarching philosophies which guide their thinking. 

These opinions could shape everything from:

the way your codebase is structured

to the tooling in use

to the way the team tests or deploys a system

to the way the system is architected

to the reason why the team did or didn’t choose a specific technology to work with, or a specific team to partner with

to the reason why some things that seem “broken” are never prioritized

and more.

These philosophies and the opinions guided by them can end up being the decisive factor in whether your efforts to make any change or improvements to the existing system will be fruitful or not. Unless you understand “why” things are the way they are – for there often is a method to every madness, if you’re patient to dig deep enough – your proposal on “how” to improve the situation may end up going against the grain, making it that much more of an uphill task for your proposal to be accepted. 

Furthermore, your well-intentioned proposal to fix something that appears obviously “broken” or “neglected:” doing so  runs the risk of making you seem like someone who did not put in effort to understand the history of the system. Being perceived as someone who did not do their homework doesn’t exactly breed confidence in why you should be entrusted with fixing the system! 

One of Amazon’s Principle Engineering Tenets is “Respect What Came Before”. Many systems that appear to be “broken” are worthy of respect, and efforts to evolve them must be tackled from multiple angles:

Understand the implicit organizational hierarchy

Identify the people who wield unusually high influence; understand their way of thinking and general philosophies. Do this by either talking to them or other people in the organization, by researching their work, reading any articles or blog posts they wrote, or talks they presented, etc.

Identify how their philosophies were successfully applied to projects and teams they worked on. Why were these efforts considered successful? What were the problems that were solved by these philosophies? What problems were made worse?

How do you build credibility with highly influential people within the organization? Can you lean on your past work? Your subject matter expertise? Your previous track record? Is there someone they trust and respect who can vouch for you, for them to take a leap of faith and agree to do things your way?

These are all things to consider before making proposals to change a system. Smaller changes might not require this level of rigor, and might in fact be a good way to net a lot of easy wins. But for anything more involved and more high impact, learning how and why your organization makes technical decisions is a non-negotiable requirement.

4. Cultures: top-down, bottom-up, and both at the same time

Irrespective of titles and hierarchies, most organizations also have a top-down or bottom-up culture, or a mix of both. In absolute terms, neither one is superior compared to the other. Microsoft is a top-down organization. Meta has a bottom-up culture. Both are extremely successful companies.

In top-down cultures, the most important decisions are made from above. The person making the final decision could be a tech lead, sometimes a manager, or a Director-level executive. On such teams, much of your success boils down to “managing up”. Successfully managing up requires grappling with questions about the decision maker, such as:

Are you on the same wavelength as them? Do you both attach the same salience to the problem at hand? If not, are you up to the task of impressing upon them its importance and urgency?

Is there some information or knowledge they have and you don’t, that informs their thinking on the matter? How best can you get this information?

Do you both share the same view of the opportunity cost?

What are their implicit and explicit biases? What are their blind spots? Can you use some of these to your advantage?

What are the things they generally value? What kind of work or behavior impresses them?

Is there any specific abstraction or process or methodology they are particularly attached to? Can you lean in on these to more effectively market your opinion to them?

What’s the timeline they are comfortable working with to solve the problem? A month? A performance cycle? Many years?

What’s your personal level of trust with them? Will they go to bat for you?

What does “success” mean to them and how do they measure it? How have they typically measured it for in-progress work?

How do they typically handle setbacks? Have you drawn up contingency plans and shared them?

How do they handle failure? Do they assume responsibility for it, or will you be scapegoated – and possibly fired?

Do they have a culture of blameless postmortems for large-scale team or organizational failures? Are these lessons shared and discussed transparently with everyone on the team and in the organization?

What is their experience of working with partner teams or organizations?

Have they been burned badly in the past when working with another organization or another team?

What’s their organizational reputation? Are they well-liked? Respected?

How conflict-averse or otherwise are they?

Knowing the answer to these questions can give you a sense of how best to identify problems and propose solutions, to see them through, and demonstrate a level of impact that might advance your career.

On bottom-up teams, the challenge is to manage laterally while also managing-up. This includes grappling with conundrums like:

How do you build consensus among your peers when there’s no top-down decision-making authority?

How do you break down barriers between peers?

How do conflicts get resolved if there’s no higher authority to mediate? Does it boil down to nitty-gritty quantitative details like metrics, or something more nebulous such as “likeability”?

If all key ideas have to originate from the bottom, which ones make it to the top? How has this worked in the past?

Can coding solve all issues? Can you prototype an idea you have and then successfully pitch it? Does your team or organization empower you to do this during business hours, or are you willing to spend your nights and weekends pursuing this goal?

Did someone already attempt to solve the problem you’re trying to fix? How did that go? What were the failures? Do you understand the proximate cause of any failures? Are you sure you won’t run into the same issues again?

What’s the opportunity cost? Can you convince your peers it’s worth solving right away if it hasn’t been prioritized to date?

What’s your scope of influence? Does it extend to your team, your sister teams, or your entire org? Are people outside your team willing to give your solution a whirl?

How do you convince people or teams with different incentives? Is this something you can even do without top-down support?

How do you ensure adoption, especially cross-organizational adoption?

How do you enlist partners or advocates for your effort? Are there other teams ready to adopt your solution, were you to just build it and advocate for it?

Do you have key relationships with the stakeholders? Do they trust you? If not, why not? And how would you go about building this trust?

How do you convince peers with bad experiences of your team or project in the past?

How do you build credibility?

How do you motivate and incentivize your peers in general?

What’s the cost of failure? Just one fair to middling performance cycle, or something worse? Who’ll be impacted; Just you, or your entire team?

What are the cultural problems? In a bottom-up setting where there’s no higher authority to mandate teams to change how they work, how do culture problems get fixed?

There are many organizations that are top-down in some respects and bottom-up in others. On such teams, you’d need to employ a mix of strategies to successfully thread the needle for many of these issues and chaperone your ideas through to successful execution. 

5. Get comfortable with the “mess” Source: Cindy Sridharan on X

Most organizations value and reward people who “get things done”.

You’re far likelier to encounter codebases that have “evolved” over time, with poor documentation, lots of outdated comments and often with few to no tests, than you are to encounter ones which are perfectly documented, have well-tested public and internal APIs, and code which is perfectly obvious.

You’re going to be far more productive if you learn how to navigate such codebases successfully, which involves learning some of the following:

how to gather just the right amount of information to get on with your task

how not to get too caught up in the weeds, unless required

how to read a lot of code at a fast clip and come away with a reasonably good mental model of what it’s trying to do

how to come up with a hypothesis and to use a variety of general purpose techniques and tools to validate it

how to reproduce bugs quickly without elaborate local configurations and setups

These skills aren’t typically taught in college. They’re seldom talked about on social media or even at conferences. It plays well to the gallery to harp on about the importance of tests or documentation. I’m not trying to minimize their importance. But dealing with mess and ambiguity is a key skill to hone to improve your own productivity when working with code.

The same philosophy applies to working with sociotechnical systems like organizations: get comfortable with mess. You’re far likelier to encounter organizations comprising teams and leaders of:

varying levels of skill and ability to deliver on their promises

varying – sometimes opposing – incentives and reward structures

varying appetites for risk or change

varying philosophical views on software development and systems

varying levels of tolerance for failure

varying willingness to make investments in people and projects with a long-term view 

Being successful in “messy” organizations requires quickly learning the topology of the organization and charting pathways to navigate it. Your “personal ideal” may not match the reality on the ground. I’m cynical enough to believe everyone ultimately is looking out for their personal interest, and you need to look out for yours.

Get comfortable with mess and seek out ways to untangle it or work around it. Seek alignment when interests align. Be able to identify quickly when such alignment will always prove elusive. Be quick to dissociate amiably when interests clash irrevocably. Know when to batten down the hatches, but more importantly, also know when to cut your losses. Be transparent. 

Treat people with respect and humility, even when they disagree with you, or when you feel they are mistaken. Do this even when they seem to act against the best interests of the team or organization. It might very well be you who is failing to appreciate their predicament and you might be misunderstanding the reason for their actions. 

6. Look for small wins

It might take you way longer to truly get the measure of your organization’s sociotechnical politics, than to get up to speed with a codebase. 

To build credibility, you need to demonstrate some impact early on, instead of waiting months to get the lie of the land before you start getting anything done. Chasing small wins and low-hanging fruit can be an easy path to productivity. Don’t underestimate their importance.

7. Understand organizational constraints

Individual managers – much less ICs – can sometimes do only so much to solve the more entrenched organizational problems. DEI - Diversity, Equity and Inclusion - is one that quickly comes to mind. I’ve never seen this problem solved in a bottom-up manner successfully, anywhere. The vanishingly few organizations that did make modest progress often enjoyed executive buy-in. Organizations which were serious about DEI had executive compensation tied to the success of DEI efforts. 

Just how many organizations still remain committed to the principles of DEI in a post zero interest rates (ZIRP) world is unclear. I do expect this issue to become even more deprioritized in the current environment where companies are laser focused on profitability.

It’s folly for ICs or even managers to wade into fixing this - or any other issue -  solo, without explicit approval from their management chain, ideally with this work recognized in performance reviews. It’s one thing to truly feel passionate about a topic and to want to help create change; but please be realistic about expectations and outcomes. Charity Majors wrote a good post titled Know Your “One Job” And Do It First, and I largely agree with everything she says.

This is also applicable to a lot of other issues about “wholesale culture change.” Unless you’ve been hired with the explicit mandate to bring about a change in culture, i.e., at the executive level, you would be well-advised to be extremely wary of embarking on sweeping, ambitious projects or efforts.

That doesn’t mean you can’t create any change at all. The most effective instances of culture change I’ve seen have been incremental. It’s far easier to identify incremental wins when you’ve already learned the ropes by succeeding within the existing, flawed, cultural framework, than by starting from the ground up.

Another example is the promotion process, which is often perceived as a biased, opaque and arbitrary process at many companies. While the process might not work for certain ICs at a microlevel, the process is the way it is because it clearly works for the organization, based on whatever metrics the organization is tracking which you might not be privy to.

You can learn how the organization’s promotion process works and play your cards right. Or, if the process seems so arbitrary and unfair you feel you will never have a shot at succeeding, you can try to switch to organizations or companies where you feel you might have a fairer crack of the whip. 

Your manager might be able to elaborate on the whys and wherefores of this process, but managers have competing priorities to juggle and they cannot always guarantee their primary focus will be the career growth of all of their direct reports at all times. Which, again, is why you need to understand how your organization truly works, because you might then be able to seek out people other than your manager who might mentor you to better understand the organization’s way of doing things.

Conclusion

It’s easy to dismiss much of what’s in this post as “politics”. The unfortunate reality is that almost everything is political, and beyond a certain level, advancing further requires getting really good at playing this game.

Many engineers find it far easier to label things that don’t go their way as “politics”, as opposed to introspecting and learning the hard skills required to make better judgements. “Politics” doesn’t necessarily have to be a negative thing per se, and I suspect the near ubiquitous negative connotations attached to “politics” can be attributed to the fact that a lot of engineers aren’t the most astute when it comes to navigating these nuances. 

The truth is you can have a very gratifying and rewarding career as an engineer if you’re good at the “purely tech” side of things without ever worrying about the kind of problems described here.

But you’re far likelier to be one of those rare force multipliers if you’re also:

good at solving pressing problems

relentlessly getting things done

proactively creating iterative change

All of which requires understanding how your organization works.

This is Gergely, again.

Thank you to Cindy for this timely reminder on the importance of navigating your organization in order to become an effective engineer. You can follow Cindy on X, and read more of her writings on her blog.

The biggest takeaway from this article for me is this:

Software engineers frustrated at being “stuck” in their career often did no proper attempt to understand how their organization works. Answering question like:

How do people pitch ideas that leadership pays attention to?

What are activities at this workplace that tend to get rewarded?

Who are the people who are accessible to me and are “in the know” for different areas?

What is the implicit hierarchy at my workplace? Who are the most important engineers / product people that everyone seems to seek out informal advice from?

Is my workspace culture actually top-down, bottom-up, or both?

Tech companies are far more messy than any of us engineers would like to admit. I have talked with several software engineers who work at prestigious tech companies – and yet, they tell me that inside it is a surprisingly large mess. “Mess” meaning one or more of: lots of tech debt with no plan to pay it down, anqiuared processes, political games, respected engineers being frustrated and on the verge of leaving. 

When I worked at Skype, and then Uber, I also experienced the same: from the outside everything looked idyllic. From the inside, it felt like some parts of the company were held together either by duct tape or scaffolding that was so fragile that it was a miracle it did not collapse on itself.

It’s good to have strong ideals about what “great” is: but understand the practicalities of “good enough.” The single most frustrated engineers I worked with were ones who refused to let go of their idealistic way of working: and were upset that their organization would refuse to do things the “right” way (in their mind, that is). There is a fine line between always pushing for more and better techologies/processes/approaches: but also understanding when it’s impractical to change the status quo. And – as Cindy reminded us – always start by understanding why technologies and processes have evolved to where they are at your current workplace.


Ben Werdmüller

10 distractions, in case you need them for some reason

In case you’re searching for things to take your mind off the immediate horrors of the real world for, you know, some reason, here are ten: ‌3D Workers Island is a horror story told in the form of late-nineties screenshots from forums, websites, and a mysterious screensaver. ‌Practical Betterments is a collection of very small one-off actions that improve your life continuously. Examples

In case you’re searching for things to take your mind off the immediate horrors of the real world for, you know, some reason, here are ten:

3D Workers Island is a horror story told in the form of late-nineties screenshots from forums, websites, and a mysterious screensaver.

Practical Betterments is a collection of very small one-off actions that improve your life continuously. Examples include putting a spoon in every container that needs a spoon or cutting your toothbrush in half. Gently unhinged.

Someone remixed a cover of Raffi’s Bananaphone with Ms. Rachel and it’s kind of a bop?

David Gilliver creates amazing light paintings — one of his latest was just shortlisted in the British Photography Awards. This article says he uses a lightsaber while dressed all in black; the pinnacle of Sith expression.

Witches on roller skates! Sure, Halloween’s over. But witches on roller skates!

That time Sir Terry Pratchett modded Oblivion is “the untold story of how Discworld author Terry Pratchett became an unexpected contributor to the world of The Elder Scrolls IV: Oblivion,” even as his Alzheimer’s progressed. The video is based on this older article.

After having a stroke at 25, Eilish Briscoe created a typeface to show the process of learning to write again — and has created a series of typographic exhibitions centered around the idea that “expression is a luxury”.

Halfbakery is “a communal database of original, fictitious inventions, edited by its users”. For example, the beardaclava, which is “a carefully woven balaclava that hangs as a thick and luxurious seamless extension to your existing beard, perfectly matching its colour and hair quality”.

Godchecker is here for you if you need to check a god. “Our legendary mythology encyclopedia now includes nearly four thousand weird and wonderful Gods, Supreme Beings, Demons, Spirits and Fabulous Beasts from all over the world.” Comprehensive.

Wigmaker is a game about making wigs. And it’s open source!


IdM Laboratory

DID CommのFormal Verificationとセキュリティ強化

こんにちは、富士榮です。 クレデンシャル交換のプロトコルとして適しているのはDID CommなのかOpenID for Verifiable Credentials(OID4VC)なのか、という議論がひところ各所で聞かれましたが最近はそんな議論も落ち着いてきているのかな?と思っている今日この頃です(エコーチェンバー)。 当時、DID Commを否定的に捉える論拠の一つにFormal Verificationもすんでないじゃん、という話がありましたが、ようやく?やったみたいです。 What Did Come Out of It? Analysis and Improvements of DIDComm Messaging https://eprint.iacr.org/2024/1361 Abstractにはこんなことが書いてあります。 Sel
こんにちは、富士榮です。
クレデンシャル交換のプロトコルとして適しているのはDID CommなのかOpenID for Verifiable Credentials(OID4VC)なのか、という議論がひところ各所で聞かれましたが最近はそんな議論も落ち着いてきているのかな?と思っている今日この頃です(エコーチェンバー)。
当時、DID Commを否定的に捉える論拠の一つにFormal Verificationもすんでないじゃん、という話がありましたが、ようやく?やったみたいです。
What Did Come Out of It? Analysis and Improvements of DIDComm Messaging https://eprint.iacr.org/2024/1361


Abstractにはこんなことが書いてあります。
Self-Sovereign Identity (SSI) empowers individuals and organizations with full control over their data. Decentralized identifiers (DIDs) are at its center, where a DID contains a collection of public keys associated with an entity, and further information to enable entities to engage via secure and private messaging across different platforms. A crucial stepping stone is DIDComm, a cryptographic communication layer that is in production with version 2. Due to its widespread and active deployment, a formal study of DIDComm is highly overdue. We present the first formal analysis of DIDComm’s cryptography, and formalize its goal of (sender-) anonymity and authenticity. We follow a composable approach to capture its security over a generic network, formulating the goal of DIDComm as a strong ideal communication resource. We prove that the proposed encryption modes reach the expected level of privacy and authenticity, but leak beyond the leakage induced by an underlying network (captured by a parameterizable resource). We further use our formalism to propose enhancements and prove their security: first, we present an optimized algorithm that achieves simultaneously anonymity and authenticity, conforming to the DIDComm message format, and which outperforms the current DIDComm proposal in both ciphertext size and computation time by almost a factor of 2. Second, we present a novel DIDComm mode that fulfills the notion of anonymity preservation, in that it does never leak more than the leakage induced by the network it is executed over. We finally show how to merge this new mode into our improved algorithm, obtaining an efficient all-in-one mode for full anonymity and authenticity.

自己主権型アイデンティティ(SSI)は、個人や組織が自分のデータを完全にコントロールできるようにする。分散型識別子(DID)がその中心であり、DIDには、エンティティに関連する公開鍵のコレクションと、エンティティが異なるプラットフォーム間で安全かつプライベートなメッセージングを介して関与できるようにするためのさらなる情報が含まれている。その重要な足がかりとなるのがDIDCommであり、バージョン2で製品化された暗号通信レイヤーである。DIDCommは広く活発に展開されているため、DIDCommの正式な研究は非常に遅れている。

本稿では、DIDCommの暗号技術に関する初の形式的分析を行い、(送信者の)匿名性と真正性というDIDCommの目標を形式化する。DIDCommの目標を強力な理想的通信リソースとして定式化することで、一般的なネットワーク上での安全性を実現する。提案する暗号化モードは、期待されるプライバシーと真正性のレベルに達するが、(パラメータ化可能なリソースによって捕捉される)基礎となるネットワークによって誘発される漏洩を超えて漏洩することを証明する。

次に、匿名性と真正性を同時に達成し、DIDCommメッセージフォーマットに適合し、暗号文のサイズと計算時間の両方において、現在のDIDCommの提案をほぼ2倍上回る最適化アルゴリズムを提示する。最後に、この新しいモードを改良されたアルゴリズムにマージする方法を示し、完全な匿名性と真正性を実現する効率的なオールインワンモードを得る。


中身はまだ細かく見ていませんが、しっかりと分析を行うプロセスが実行された、ということなので良かったんじゃないかと思います。

いずれにしても特にIoTのユースケースなどDID Commの方が適しているものもある気がしますので、ちゃんと適切にプロトコルを選択していけると良いかと思います。



John Philpin : Lifestream

Spotted in an HR show … #NoIrony

Spotted in an HR show … #NoIrony

Spotted in an HR show … #NoIrony


💬

💬

💬


💬

💬

💬


Simon Willison

Quoting NY Times Editorial Board

You already know Donald Trump. He is unfit to lead. Watch him. Listen to those who know him best. He tried to subvert an election and remains a threat to democracy. He helped overturn Roe, with terrible consequences. Mr. Trump's corruption and lawlessness go beyond elections: It's his whole ethos. He lies without limit. If he's re-elected, the G.O.P. won't restrain him. Mr. Trump will use the gov

You already know Donald Trump. He is unfit to lead. Watch him. Listen to those who know him best. He tried to subvert an election and remains a threat to democracy. He helped overturn Roe, with terrible consequences. Mr. Trump's corruption and lawlessness go beyond elections: It's his whole ethos. He lies without limit. If he's re-elected, the G.O.P. won't restrain him. Mr. Trump will use the government to go after opponents. He will pursue a cruel policy of mass deportations. He will wreak havoc on the poor, the middle class and employers. Another Trump term will damage the climate, shatter alliances and strengthen autocrats. Americans should demand better. Vote.

NY Times Editorial Board

Tags: new-york-times, politics

Monday, 04. November 2024

Simon Willison

New OpenAI feature: Predicted Outputs

New OpenAI feature: Predicted Outputs Interesting new ability of the OpenAI API - the first time I've seen this from any vendor. If you know your prompt is mostly going to return the same content - you're requesting an edit to some existing code, for example - you can now send that content as a "prediction" and have GPT-4o or GPT-4o mini use that to accelerate the returned result. OpenAI's do

New OpenAI feature: Predicted Outputs

Interesting new ability of the OpenAI API - the first time I've seen this from any vendor.

If you know your prompt is mostly going to return the same content - you're requesting an edit to some existing code, for example - you can now send that content as a "prediction" and have GPT-4o or GPT-4o mini use that to accelerate the returned result.

OpenAI's documentation says:

When providing a prediction, any tokens provided that are not part of the final completion are charged at completion token rates.

I initially misunderstood this as meaning you got a price reduction in addition to the latency improvement, but that's not the case: in the best possible case it will return faster and you won't be charged anything extra over the expected cost for the prompt, but the more it differs from your prediction the more extra tokens you'll be billed for.

I ran the example from the documentation both with and without the prediction and got these results. Without the prediction:

"usage": { "prompt_tokens": 150, "completion_tokens": 118, "total_tokens": 268, "completion_tokens_details": { "accepted_prediction_tokens": 0, "audio_tokens": null, "reasoning_tokens": 0, "rejected_prediction_tokens": 0 }

That took 5.2 seconds and cost 0.1555 cents.

With the prediction:

"usage": { "prompt_tokens": 166, "completion_tokens": 226, "total_tokens": 392, "completion_tokens_details": { "accepted_prediction_tokens": 49, "audio_tokens": null, "reasoning_tokens": 0, "rejected_prediction_tokens": 107 }

That took 3.3 seconds and cost 0.2675 cents.

Further details from OpenAI's Steve Coffey:

We are using the prediction to do speculative decoding during inference, which allows us to validate large batches of the input in parallel, instead of sampling token-by-token!

[...] If the prediction is 100% accurate, then you would see no cost difference. When the model diverges from your speculation, we do additional sampling to “discover” the net-new tokens, which is why we charge rejected tokens at completion time rates.

Via @OpenAIDevs

Tags: openai, llms, ai, generative-ai, llm-pricing


Claude 3.5 Haiku

Anthropic released Claude 3.5 Haiku today, a few days later than expected (they said it would be out by the end of October). I was expecting this to be a complete replacement for their existing Claude 3 Haiku model, in the same way that Claude 3.5 Sonnet eclipsed the existing Claude 3 Sonnet while maintaining the same pricing. Claude 3.5 Haiku is different. First, it doesn't (yet) support imag

Anthropic released Claude 3.5 Haiku today, a few days later than expected (they said it would be out by the end of October).

I was expecting this to be a complete replacement for their existing Claude 3 Haiku model, in the same way that Claude 3.5 Sonnet eclipsed the existing Claude 3 Sonnet while maintaining the same pricing.

Claude 3.5 Haiku is different. First, it doesn't (yet) support image inputs - so Claude 3 Haiku remains the least expensive Anthropic model for handling those.

Secondly, it's not priced the same as the previous Haiku. That was $0.25/million input and $1.25/million for output - the new 3.5 Haiku is 4x that at $1/million input and $5/million output.

Anthropic tweeted:

During final testing, Haiku surpassed Claude 3 Opus, our previous flagship model, on many benchmarks—at a fraction of the cost.

As a result, we've increased pricing for Claude 3.5 Haiku to reflect its increase in intelligence.

Given that Anthropic claim that their new Haiku out-performs their older Claude 3 Opus (still $15/m input and $75/m output!) this price isn't disappointing, but it's a small surprise nonetheless.

Accessing Claude 3.5 Haiku with LLM

I released a new version of my llm-claude-3 plugin with support for the new model. You can install (or upgrade) the plugin and run it like this:

llm install --upgrade llm-claude-3 llm keys set claude # Paste API key here llm -m claude-3.5-haiku 'describe memory management in Rust'

Here's the output from that prompt.

Comparing prices

I added the new price to my LLM pricing calculator, which inspired me to extract this comparison table for the leading models from Gemini, Anthropic and OpenAI. Here they are sorted from least to most expensive:

Model 1m token input 1m tokens output Gemini 1.5 Flash-8B $0.04 $0.15 Gemini 1.5 Flash $0.07 $0.30 GPT-4o Mini $0.15 $0.60 Claude 3 Haiku $0.25 $1.25 Claude 3.5 Haiku $1.00 $5.00 Gemini 1.5 Pro $1.25 $5.00 GPT-4o $2.50 $10.00 Claude 3.5 Sonnet $3.00 $15.00 Claude 3 Opus $15.00 $75.00

Gemini 1.5 Flash-8B remains the model to beat on pricing: it's 1/6th of the price of the new Haiku - far less capable, but still extremely useful for tasks such as audio transcription.

Also notable from Anthropic's model comparison table: Claude 3.5 Haiku has a max output of 8,192 tokens (same as 3.5 Sonnet, but twice that of Claude 3 Opus and Claude 3 Haiku). 3.5 Haiku has a training cut-off date of July 2024, the most recent of any Anthropic model. 3.5 Sonnet is April 2024 and the Claude 3 family are all August 2023.

Tags: ai, openai, generative-ai, llms, llm, anthropic, claude, gemini, llm-pricing


John Philpin : Lifestream

🪦 A great run Quincy .. thank you for the music.

🪦 A great run Quincy .. thank you for the music.

🪦 A great run Quincy .. thank you for the music.


Just a Theory

Introducing RFC 9535 Go JSONPath and Playground

I’ve made a RFC 9535 JSONPath JSONPath Go package, and compiled it into Wasm to build an in-browser playground for it.

I’ve written and release a RFC 9535 JSONPath JSONPath Go package, github.com/theory/jsonpath. Why? For a personal project, I needed a simpler JSONPath engine to complement to the Go SQL/JSON Path package, and quickly found myself implementing most of the RFC. So I decided do the whole thing.

Yes, yet another JSONPath package in Go. I really appreciate the idea of a standard — plus its support for features not included in the original design from 2007, such as object slices! But I could find no reference to the RFC on pkg.go.dev. Today the search shows one!

Example

Usage is straightforward; here’s a quick example (Go playground):

package main import ( "fmt" "log" "github.com/theory/jsonpath" ) func main() { // Parse a jsonpath query. p, err := jsonpath.Parse(`$["name", "slogan"]`) if err != nil { log.Fatal(err) } // Select values from unmarshaled JSON input. json := map[string]any{ "name": "Kamala Harris", "title": "Vice President of the United States", "home": "California", "slogan": "We are not going back!", } items := p.Select(json) // Show the result. fmt.Printf("%#v\n", items) }

And the output:

[]interface {}{"Kamala Harris", "We are not going back!"} 🛝 Playground

No need to write code to try it out, though. I’ve also written a playground webapp to encourage experimentation and exploration of the syntax and behavior of the package. The implementation follows the precedents set by the Go SQL/JSON Playground and design of the Rust JSONPath Playground. Moreover, thanks to TinyGo, the Wasm file comes in at a mere 254K!

The webapp loads sample JSON from the RFC, and randomly rotates through a few example JSONPath queries. Fill in your own and tap the “Permalink” button to share links. The Playground is a stateless JavaScript/Wasm web application: data persists only in permalink URLs.1

🛝 Try this example Playground permalink right now!

Status

The root jsonpath package is stable and ready for use. Other packages remain in flux, as I refactor and rejigger things in the coming weeks as part of the aforementioned personal project. But for actual JSONPath execution and querying, it should continue to work as-is for the foreseeable futre.

I hope you find it useful.

And whatever data [GitHub Pages collect] 😔. ↩︎

More about… Go JSONPath Playground RFC 9535

Simon Willison

Nous Hermes 3

Nous Hermes 3 The Nous Hermes family of fine-tuned models have a solid reputation. Their most recent release came out in August, based on Meta's Llama 3.1: Our training data aggressively encourages the model to follow the system and instruction prompts exactly and in an adaptive manner. Hermes 3 was created by fine-tuning Llama 3.1 8B, 70B and 405B, and training on a dataset of primarily synt

Nous Hermes 3

The Nous Hermes family of fine-tuned models have a solid reputation. Their most recent release came out in August, based on Meta's Llama 3.1:

Our training data aggressively encourages the model to follow the system and instruction prompts exactly and in an adaptive manner. Hermes 3 was created by fine-tuning Llama 3.1 8B, 70B and 405B, and training on a dataset of primarily synthetically generated responses. The model boasts comparable and superior performance to Llama 3.1 while unlocking deeper capabilities in reasoning and creativity.

The model weights are on Hugging Face, including GGUF versions of the 70B and 8B models. Here's how to try the 8B model (a 4.58GB download) using the llm-gguf plugin:

llm install llm-gguf llm gguf download-model 'https://huggingface.co/NousResearch/Hermes-3-Llama-3.1-8B-GGUF/resolve/main/Hermes-3-Llama-3.1-8B.Q4_K_M.gguf' -a Hermes-3-Llama-3.1-8B llm -m Hermes-3-Llama-3.1-8B 'hello in spanish'

Nous Research partnered with Lambda Labs to provide inference APIs. It turns out Lambda host quite a few models now, currently providing free inference to users with an API key.

I just released the first alpha of a llm-lambda-labs plugin. You can use that to try the larger 405b model (very hard to run on a consumer device) like this:

llm install llm-lambda-labs llm keys set lambdalabs # Paste key here llm -m lambdalabs/hermes3-405b 'short poem about a pelican with a twist'

Here's the source code for the new plugin, which I based on llm-mistral. The plugin uses httpx-sse to consume the stream of tokens from the API.

Tags: llm, generative-ai, llama, ai, edge-llms, llms, meta, projects, nous-research


Ben Werdmüller

Sen. Ron Wyden: Women's phones have become a tool for abortion surveillance

[Senator Ron Wyden at MSNBC] Senator Wyden has long been a loud voice for surveillance reform and stronger data protections, so this op-ed isn't really a surprise - but it's still nice to see him weighing in here: "Data brokers are selling the ability to track phones that visit abortion clinics and follow them back across state lines, all the way to their owners’ homes. All

[Senator Ron Wyden at MSNBC]

Senator Wyden has long been a loud voice for surveillance reform and stronger data protections, so this op-ed isn't really a surprise - but it's still nice to see him weighing in here:

"Data brokers are selling the ability to track phones that visit abortion clinics and follow them back across state lines, all the way to their owners’ homes. All it takes for this kind of 24-hour surveillance is a credit card. Given the creepy enthusiasm with which MAGA government officials are inserting themselves into women’s health choices, these tracking tools present a pressing danger for women across the country."

As the Senator points out, data brokers are a clear danger to many peoples' safety, including women in a reproductive healthcare context. I think about this a lot in relation to journalists, whose personal information is often made available by these organizations and can be (let's be clear: absolutely is) used to threaten harm in retaliation for reporting on a story. And then, of course, brokers are often used as a way for law enforcement to bypass the need for a warrant: if someone's whereabouts or communications metadata are available to anyone with a credit card, civil rights protections can easily be bypassed.

Californians will have the ability to have their data removed from any broker - as long as that broker actually takes steps to comply with the law - from 2026. This isn't enough; these brokers shouldn't exist to begin with. But at least it's one step in the right direction. Everyone should enjoy the same protections.

#Technology

[Link]


Just a Theory

NYTimes Tech Guild on Strike

My former colleagues in the New York Times Tech Guild have gone on strike in response to a number of unfair labor practice violations and management’s inability to bargain in good faith.

This is a big deal. My former colleagues in the New York Times Tech Guild have declared a strike today in response to a number of unfair labor practice violations and management’s inability to bargain in good faith. From the Washington Post:

Represented by the NewsGuild of New York, the Tech Guild has been negotiating its first contract with the company since 2022. Both sides have accused the other side of bogging down contract talks, which have recently focused on three key issues: “just cause” job protections (which ensure employees can’t be fired without reason and due process), remote work and pay equity. Unit members voted overwhelmingly in September to authorize the strike, saying the timing of the authorization — in the run-up to the high-profile election period — was “no accident.”

I urge you to join me in supporting the strike fund, which will help more vulnerable members to weather the strike.

Beyond that, the Guild asks supporters to refrain from interacting with Cooking and Games, and to break your streaks. Times reporters Maggie Astor has the details:

As of this morning, the New York Times Tech Guild, which represents NYT tech workers, is on strike.

Unless it’s resolved while today’s Wordle is still live, this streak is gone.

NYT Games and Cooking are BEHIND THE PICKET LINE. Please don’t play or engage with Games or Cooking content while the strike lasts!

News coverage is NOT behind the picket line. It’s okay to read and share that, though the site and app may have problems.

Read the whole thread for more information, which, as she says, “the rules may not be what you think!”

More about… New York Times Strike News Guild New York Times Tech Guild

Michael Ruminer

Agents Craft Hackathon and Inspiration Block

When you want to do a hackathon but am missing the perfect idea. Compliments of Flux.1 Schnell You likely know the saying, “Don’t let the perfect be the enemy of the good/done.” Sometimes, I have a hard time living that, and an existing effort is one example. I have registered for an AI agent hackathon, Agents Craft Hackathon. I don’t plan to be competitive but I doubt that is the goal o
When you want to do a hackathon but am missing the perfect idea. Compliments of Flux.1 Schnell

You likely know the saying, “Don’t let the perfect be the enemy of the good/done.” Sometimes, I have a hard time living that, and an existing effort is one example. I have registered for an AI agent hackathon, Agents Craft Hackathon. I don’t plan to be competitive but I doubt that is the goal of most participants. I do want a good idea that makes a great example and is a pseudo-novel idea that implements an agent usage not in the GenAI_Agents Github repo. Therein lies my problem; a unique and interesting use case and example. I’m inspiration-blocked. I know that I am letting the perfect be the enemy of the good or even of the enemy of the fun because there is a Discord channel with participant-created ideas for teams to work on. I want it simple yet inspired. I’m not inspired by any of the existing team projects; nothing against the projects as this is a me problem. I have a few more days to think about it.

Maybe you should join the hackathon. Your idea might be inspiring.


Aaron Parecki

My IETF 121 Agenda

Here's where you can find me at IETF 121 in Dublin!

Here's where you can find me at IETF 121 in Dublin!

Monday 9:30 - 11:30 • oauth 15:30 - 17:00 • alldispatch Tuesday 9:30 - 11:30 • oauth 13:00 - 14:30 • spice 16:30 - 17:30 • scim Thursday 9:30 - 11:30 • oauth 17:30 - 18:30 • dnsop Get in Touch LinkedIn GitHub Mastodon aaron@parecki.com My Current Drafts OAuth 2.1 OAuth for Browser-Based Apps OAuth Protected Resource Metadata OAuth for First-Party Apps OAuth Client ID Metadata Document Identity Assertion Authorization Grant OAuth Global Token Revocation

IdM Laboratory

今年もDigital Identity技術勉強会のAdvent Calendarの季節がやってきた

こんにちは、富士榮です。 毎年恒例のAdvent Calendarの季節になってきましたね。(はやい・・・) ということでDigital Identity技術勉強会(#iddance)のAdvent Calendarも作られていますので、この機会にぜひ皆さん参加しましょう。 https://qiita.com/advent-calendar/2024/iddance

こんにちは、富士榮です。

毎年恒例のAdvent Calendarの季節になってきましたね。(はやい・・・)


ということでDigital Identity技術勉強会(#iddance)のAdvent Calendarも作られていますので、この機会にぜひ皆さん参加しましょう。

https://qiita.com/advent-calendar/2024/iddance



Damien Bod

ASP.NET Core and Angular BFF using a YARP downstream API protected using certificate authentication

This article demonstrates how to implement a downstream API protected by certificate authentication using Microsoft YARP reverse proxy in an ASP.NET Core web application. The application uses Angular for its UI and secures both the UI and the ASP.NET Core backend through a backend-for-frontend security architecture. The downstream API is secured with certificate authentication and […]

This article demonstrates how to implement a downstream API protected by certificate authentication using Microsoft YARP reverse proxy in an ASP.NET Core web application. The application uses Angular for its UI and secures both the UI and the ASP.NET Core backend through a backend-for-frontend security architecture. The downstream API is secured with certificate authentication and deployed to an Azure App Service. The API requires a known client certificate for access.

Code https://github.com/damienbod/bff-aspnetcore-angular-downstream-cert-api

Setup

The application was built using the following github repository:

https://github.com/damienbod/bff-aspnetcore-angular

The web application is secured with an OpenID Connect confidential client using PKCE. The UI is built with Angular , while the backend is implemented using ASP.NET Core. The API is protected with certificate authentication. This application is deployed to an Azure App Service and requires the correct certificate for access. The server ensures that the correct certificate is used to access the API.

The YARP reverse proxy is setup in the start up of the ASP.NET Core application and the appsettings.json file. The client certificate required for the downstream API, is loaded into the project using the X509Certificate2 class. This could be loaded from the operating system, or Azure key vault or some other secure way. The demo loads this directly in an unsecure way.

The AddReverseProxy method adds the YARP definitions and the ConfigureHttpClient method is used to add the SslOptions containing the client certificate which is used for the Azure API calls. The MapReverseProxy is used to add the endpoints and reads the configuration from the app settings. The proxy is also used in development to load the Angular project. Depending on the UI packages, different setups are required.

var builder = WebApplication.CreateBuilder(args); builder.WebHost.ConfigureKestrel(serverOptions => { serverOptions.AddServerHeader = false; }); var services = builder.Services; var configuration = builder.Configuration; var stsServer = configuration["OpenIDConnectSettings:Authority"]; services.AddSecurityHeaderPolicies() .SetPolicySelector((PolicySelectorContext ctx) => { return SecurityHeadersDefinitions.GetHeaderPolicyCollection( builder.Environment.IsDevelopment(), stsServer); }); services.AddAntiforgery(options => { options.HeaderName = "X-XSRF-TOKEN"; options.Cookie.Name = "__Host-X-XSRF-TOKEN"; options.Cookie.SameSite = SameSiteMode.Strict; options.Cookie.SecurePolicy = CookieSecurePolicy.Always; }); services.AddHttpClient(); services.AddOptions(); services.AddAuthentication(options => { options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme; }) .AddCookie() .AddOpenIdConnect(options => { configuration.GetSection("OpenIDConnectSettings").Bind(options); //options.Authority = configuration["OpenIDConnectSettings:Authority"]; //options.ClientId = configuration["OpenIDConnectSettings:ClientId"]; //options.ClientSecret = configuration["OpenIDConnectSettings:ClientSecret"]; options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.ResponseType = OpenIdConnectResponseType.Code; options.SaveTokens = true; options.GetClaimsFromUserInfoEndpoint = true; options.TokenValidationParameters = new TokenValidationParameters { NameClaimType = "name" }; }); services.AddControllersWithViews(options => options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute())); services.AddRazorPages().AddMvcOptions(options => { //var policy = new AuthorizationPolicyBuilder() // .RequireAuthenticatedUser() // .Build(); //options.Filters.Add(new AuthorizeFilter(policy)); }); builder.Services.AddSingleton<ApiTokenCacheClient>(); // Create an authorization policy used by YARP when forwarding requests builder.Services.AddAuthorization(options => options.AddPolicy("CookieAuthenticationPolicy", builder => { builder.AddAuthenticationSchemes(CookieAuthenticationDefaults.AuthenticationScheme); builder.RequireAuthenticatedUser(); })); var cert = new X509Certificate2("client.pfx", "pfx-certificate-secret"); services.AddReverseProxy() .ConfigureHttpClient((context, handler) => { handler.SslOptions = new SslClientAuthenticationOptions { ClientCertificates = [cert] }; }) .LoadFromConfig(builder.Configuration.GetSection("ReverseProxy"));

The ReverseProxy settings adds the configuration which is almost standard like the documentation. The CookieAuthenticationPolicy is used to accept only authenticated requests. The YARP is setup differently for development and production.

"ReverseProxy": { "Routes": { "route1": { "ClusterId": "cluster1", "AuthorizationPolicy": "CookieAuthenticationPolicy", "Match": { "Path": "{**catch-all}" } } }, "Clusters": { "cluster1": { "HttpClient": { "SslProtocols": [ "Tls12" ] }, "Destinations": { "cluster1/destination1": { "Address": "https://azurecertauth20201108214641.azurewebsites.net/" } } } } }

Downstream API protected using certificate authentication

The downstream API uses certification authentication to protect the API. The API requires a certificate forwarding middleware in local development as well as allowing any certificate type including self signed certificates. When the application is deployed to an Azure App Service, the certificate forwarding middleware is not required. The API validates the thumbprint of the certificate and returns a 403 if the certificate authentication in ASP.NET Core fails. This is because the certificate is already validated before it reaches the application. It is really authorization.

using Microsoft.AspNetCore.Authentication.Certificate; using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.IdentityModel.JsonWebTokens; using Microsoft.IdentityModel.Logging; using Serilog; using System.Security.Claims; using System.Security.Cryptography.X509Certificates; namespace DownstreamApiCertAuth; internal static class StartupExtensions { public static WebApplication ConfigureServices(this WebApplicationBuilder builder) { var services = builder.Services; var configuration = builder.Configuration; if(builder.Environment.IsDevelopment()) { builder.WebHost.ConfigureKestrel((context, serverOptions) => { serverOptions.ConfigureHttpsDefaults(listenOptions => { listenOptions.ClientCertificateMode = ClientCertificateMode.RequireCertificate; listenOptions.AllowAnyClientCertificate(); }); }); } services.AddSingleton<MyCertificateValidationService>(); services.AddCertificateForwarding(options => { options.CertificateHeader = "X-ARR-ClientCert"; options.HeaderConverter = (headerValue) => { Console.WriteLine("headerValue: " + headerValue); X509Certificate2? clientCertificate = null; if (!string.IsNullOrWhiteSpace(headerValue)) { byte[] bytes = Convert.FromBase64String(headerValue); clientCertificate = new X509Certificate2(bytes); } return clientCertificate!; }; }); services.AddAuthentication(CertificateAuthenticationDefaults.AuthenticationScheme) .AddCertificate(options => // code from ASP.NET Core sample { // https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth options.AllowedCertificateTypes = CertificateTypes.All; // Default values //options.AllowedCertificateTypes = CertificateTypes.Chained; //options.RevocationFlag = X509RevocationFlag.ExcludeRoot; options.RevocationMode = X509RevocationMode.NoCheck; options.ValidateCertificateUse = false; options.ValidateValidityPeriod = false; options.Events = new CertificateAuthenticationEvents { OnCertificateValidated = context => { var validationService = context.HttpContext.RequestServices.GetService<MyCertificateValidationService>(); if (validationService!.ValidateCertificate(context.ClientCertificate)) { var claims = new[] { new Claim(ClaimTypes.NameIdentifier, context.ClientCertificate.Subject, ClaimValueTypes.String, context.Options.ClaimsIssuer), new Claim(ClaimTypes.Name, context.ClientCertificate.Subject, ClaimValueTypes.String, context.Options.ClaimsIssuer) }; context.Principal = new ClaimsPrincipal(new ClaimsIdentity(claims, context.Scheme.Name)); context.Success(); } else { context.Fail("invalid cert"); } return Task.CompletedTask; }, OnAuthenticationFailed = new Func<CertificateAuthenticationFailedContext, Task>(context => { Console.WriteLine("OnAuthenticationFailed: " + context.Exception.Message); return Task.CompletedTask; }) }; }); services.AddAuthorization(); services.AddControllers(); return builder.Build(); } public static WebApplication ConfigurePipeline(this WebApplication app) { IdentityModelEventSource.ShowPII = true; JsonWebTokenHandler.DefaultInboundClaimTypeMap.Clear(); app.UseSerilogRequestLogging(); if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseHttpsRedirection(); app.UseRouting(); if (app.Environment.IsDevelopment()) { app.UseCertificateForwarding(); } app.UseAuthentication(); app.UseAuthorization(); app.MapControllers(); return app; } }

When the application is started, the web application can use the downstream API protected using certificates.

Notes

This works good and the downstream APIs can be protected in a secure way using certificates. Using this approach, it is very easy to increase security or implement the app-to-app security in a good way. Of course security is only as good as the weakest link. The Angular UI view calling to the API protected with cookies is now the weakest link, depending of course on how you secure the downstream APIs, but this should not be a problem to do correctly.

Links

https://github.com/microsoft/reverse-proxy

https://github.com/damienbod/Blazor.BFF.OpenIDConnect.Template

https://docs.microsoft.com/en-us/aspnet/core/security/authentication/certauth

https://github.com/openiddict/openiddict-samples

https://github.com/damienbod/AspNetCoreCertificates

Sunday, 03. November 2024

John Philpin : Lifestream

🔗 Zuckerberg: The AI Slop Will Continue Until Morale Improve

🔗 Zuckerberg: The AI Slop Will Continue Until Morale Improves (404 Media)

“The first rule is: attack, attack, attack.” “Rule two,

“The first rule is: attack, attack, attack.” “Rule two, Admit nothing, deny everything.” “Rule three? “No matter what happens, you claim victory and never admit defeat.” 💬 Roy Cohn.

“The first rule is: attack, attack, attack.”
“Rule two, Admit nothing, deny everything.”
“Rule three? “No matter what happens, you claim victory and never admit defeat.”

💬 Roy Cohn.


On impulse he might die for her, but living for her would

On impulse he might die for her, but living for her would be quite different. 💬 Margaret Atwood

On impulse he might die for her, but living for her would be quite different.

💬 Margaret Atwood


Simon Willison

Quoting Tom MacWright

Building technology in startups is all about having the right level of tech debt. If you have none, you’re probably going too slow and not prioritizing product-market fit and the important business stuff. If you get too much, everything grinds to a halt. Plus, tech debt is a “know it when you see it” kind of thing, and I know that my definition of “a bunch of tech debt” is, to other people, “very

Building technology in startups is all about having the right level of tech debt. If you have none, you’re probably going too slow and not prioritizing product-market fit and the important business stuff. If you get too much, everything grinds to a halt. Plus, tech debt is a “know it when you see it” kind of thing, and I know that my definition of “a bunch of tech debt” is, to other people, “very little tech debt.”

Tom MacWright

Tags: technical-debt, tom-macwright


Wrench in the Gears

Cheri Honkala, Philadelphia Housing Rights Activist, Aligns With Blockchain Game To Train Benevolent AI And Catalyze A Digital World Constitution

Below is a summary of my most recent post from Hot Springs, Arkansas. It just goes to show how fragile our perceived “reality” is in a world increasingly governed by the physics of information. It truly is a fascinating time to be alive. With digital media working overtime to keep everyone in their assigned “reality [...]

Below is a summary of my most recent post from Hot Springs, Arkansas. It just goes to show how fragile our perceived “reality” is in a world increasingly governed by the physics of information. It truly is a fascinating time to be alive.

With digital media working overtime to keep everyone in their assigned “reality tunnels” it may be hard to contemplate new wrinkles to the story that are so bizarre as to appear over-the-top spectacle. And yet, Elowyn, a blockchain Decentralized Autonomous Organization, with bottom-up game mechanics and in-game token economy linked to “peace,” “healing,” and “sustainability” has been designed with financial support from Ben Goertzel (the creator of Sophia the robot’s brain) and Michaela Ulieru (Singularity.net’s Chief Alchemist) to generate psychological data that will supposedly train “benevolent AI.”

Download White Paper Here: https://docsend.com/view/zfiqunqgxm98tbt4 Source: https://www.youtube.com/watch?v=BUy1YcYAzcA The leader of the Elowyn initiative, Anneloes Smitsman, based on the tiny volcanic island of Mauritius in the Indian Ocean, has also been involved with educational programs in partnership with systems theorist Alexander Laszlo and Russian transhumanist Pavel Luksha. Both are affiliated with Global Education Futures that has footprints, through Tom Vander Ark’s former ed-tech investment fund Learn Capital, on Powder Mountain, Utah and in Arena Hall in Austin, Texas. Source: https://wrenchinthegears.com/wp-content/uploads/2024/11/EvolutionaryLearningEcosystemsforThrivableFuturesCraftingandCuratingtheConditionsforFutureFitEducation.pdf Source: https://x.com/SingularityNET/status/1763227101426061353 The backer of Smitsman’s education initiative, piloted in several Catholic schools on the island, was backed by Investec, an Australian bank that is deeply involved in human capital bets on children. Smitsman has conducted research in South Africa and Australia, and both countries are hotbeds of blockchain impact finance. One of the advisors to Smitsman’s “Earthwise” organization and promoter of the archetypal card game to “fight Moloch” is Laura George, ordained priest of the interfaith order of Melchizedeck, human potential movement advocate, and leader of the “Peace Pentagon” situated along the ancient New River in the mountains of Virginia. Laura George and Glen Martin, philosophy professor at Radford College, are working to develop a worldwide constitution in coordination with Smitsman’s benevolent AGI program through the Peace Pentagon’s umbrella organization “The Oracle Institute.” Source: https://www.youtube.com/watch?v=tJj2RMceK_8 Source: https://www.grapevine.org/giving-circle/bpWhMbq/Oracle-Institute-EARTHwise-Centre-Global-Initiatives Source: https://earthconstitution.world/glen-martin/ Source: https://www.youtube.com/watch?v=pb5lypcN5jU Source: https://medium.com/singularitynet/governing-the-ungovernable-crafting-a-global-constitution-for-agi-b7485e44948f Imagine my shock that when pulling this thread I find Philadelphia housing rights activist, Cheri Honkala, listed as an advisor to George’s Institute. Cheri’s photo is featured in the same row as Anneloes Smitsman. When I contacted Cheri with documentation of the Elowyn DAO and the planned AGI world constitution, the only response I received was a brief text thanking me for the information. When I requested a follow up, so that I could accurately represent Cheri and the Poor People’s Economic Human Rights Campaign’s relationship to this effort I received no further response, which leaves me presuming tacit endorsement. Source: https://web.archive.org/web/20240804195108/https://www.theoracleinstitute.org/team Source: https://www.facebook.com/PeacePentagon/videos/vlog-14-cheri-honkala-and-the-woman-warrior-retreat/622965811518184/?locale=ms_MY&_rdr Source: https://www.facebook.com/OracleInstitute/posts/donate-now-httpsmightycausecomstorypeace-pentagon-skylightbarbara-marx-hubbard-v/10155598112917395/ Source: https://peacepentagon.net/about-our-community The beginning of this video also discusses author Robert Anton Wilson’s ideas, in partnership with Timothy Leary’s research on Eight Circuits of Consciousness, about “reality tunnels.” Reality Tunnels are the stories we live inside to make sense of the world. I personally am not comfortable with a reality tunnel where housing insecure people are sponsored by impact investors to acquire crypto card decks to fight Moloch, bend time, and train Sophia the Robot on blockchain while being subjected to behavioral hazing, but I suppose to some that model may seem appropriate. It certainly wasn’t what I signed up for when I worked with PPEHRC in Philadelphia to try and raise awareness about digital twins, blockchain, social impact finance and cybernetics. Source: https://wrenchinthegears.com/2019/10/20/pay-for-success-the-opioid-crisis-poor-peoples-economic-human-rights-campaign-radical-social-work-breakfast-presentation/ Jason Bosch also had close connections to Cheri and PPEHRC for many years. In fact that is how he connected with me after seeing a poor quality video I had made on my research topics during a PPEHRC-sponsored presentation at the Wooden Shoe bookstore in the spring of 2019. Throughout the lock downs Jason attempted to set up a conversation with Cheri Honkala about our findings on Web3 and our concerns about how the planned digital governance layer would impact poor communities and vulnerable populations. He was never able to pin Cheri down for a time to talk about it privately or on video. Source: https://www.youtube.com/watch?v=wQuOAMXyODs Looking back on my past experiences, I am having a very difficult time making sense of this development. I think most people lead their lives trying to have agency and make the world a better place. Does Cheri truly believe in gamified “benevolent AI” psychological profiling and a planned world constitution for universal “peace” even when it is clear that all of the players are aligned with the United Nations Sustainable Development Goals (the structure for cybernetic systems engineering of people and populations into recursive fitness landscapes to improve their human potential)? At this point I can only guess, because communication channels are jammed. Source: https://docsend.com/view/zfiqunqgxm98tbt4 As the events of this week unfold, remember there are many things happening in the background that won’t make it into the main current of the media feeds for years to come. Nonetheless it may very well be those things are are most important to comprehend as we navigate the unbelievable developments that are unfolding. At the end of the day was it just one big Live-Action-Role-Play performance art piece? I close scratching my head and thinking again about the inversions in the plot of John Fowles’ 1965, “The Magus.”  Source: https://wrenchinthegears.com/2019/06/26/pay-for-success-finance-preys-upon-the-poor-presentation-at-left-forum-6-29-19/ Addendum: After I published this post, which I sent directly to Cheri and the associate mentioned in the video, she texted me back to say that she was no longer involved with The Oracle Institute. I had hoped that she would have conveyed that information to me when I contacted her twice  last week to ask for clarification in advance of sharing this research publicly. It was not my intent to skewer Cheri or PPEHRC, but this project is too important to simply be set aside as something to be considered on another day, especially for people ostensibly organizing vulnerable populations at a grassroots level. I wrote back to Cheri stating that I would be very interested in reading her take, or listening to a video of hers, on Laura George’s organization now that she has the larger context related to Smitsman, Earthwise, and Elowyn. The Oracle Institute’s “Peace Pentagon” identifies as an eco-village, a concept with tentacles going back to Findhorn in the UK and the origins of the New Age movement. Cheri was Jill Stein’s VP running mate on the Green Party ticket in the 2012 presidential race. When I was associated with PPEHRC we drove to Chicago and attended a day-long event hosted by the eco-socialist contingent of the Green Party, including Kali Akuno of Cooperation Jackson (a non-profit that has a Fab-Lab funded by MIT) and David Cobb who is involved with Cooperation Humboldt’s solidarity economy. I personally would be interested in hearing more from Cheri or other Green Party affiliates about how the Smitsman, Ulieru, Goertzel plan to use crypto gaming to train “benevolent AI” may intersect (or not) with the party’s platform around cooperatives, the environment, and “peace.”  Source: https://www.gp.org/the_four_pillars

 

Source: https://www.gp.org/building_the_movement_for_eco_socialism Source: https://www.gp.org/kali_akuno_2021_gp_keynote

 


Simon Willison

California Clock Change

California Clock Change The clocks go back in California tonight and I finally built my dream application for helping me remember if I get an hour extra of sleep or not, using a Claude Artifact. Here's the transcript. This is one of my favorite examples yet of the kind of tiny low stakes utilities I'm building with Claude Artifacts because the friction involved in churning out a working appl

California Clock Change

The clocks go back in California tonight and I finally built my dream application for helping me remember if I get an hour extra of sleep or not, using a Claude Artifact. Here's the transcript.

This is one of my favorite examples yet of the kind of tiny low stakes utilities I'm building with Claude Artifacts because the friction involved in churning out a working application has dropped almost to zero.

(I added another feature: it now includes a note of what time my Dog thinks it is if the clocks have recently changed.)

Tags: claude-artifacts, ai-assisted-programming, projects, ai, timezones, llms


Docling

Docling MIT licensed document extraction Python library from the Deep Search team at IBM, who released Docling v2 on October 16th. Here's the Docling Technical Report paper from August, which provides details of two custom models: a layout analysis model for figuring out the structure of the document (sections, figures, text, tables etc) and a TableFormer model specifically for extracting struc

Docling

MIT licensed document extraction Python library from the Deep Search team at IBM, who released Docling v2 on October 16th.

Here's the Docling Technical Report paper from August, which provides details of two custom models: a layout analysis model for figuring out the structure of the document (sections, figures, text, tables etc) and a TableFormer model specifically for extracting structured data from tables.

Those models are available on Hugging Face.

Here's how to try out the Docling CLI interface using uvx (avoiding the need to install it first - though since it downloads models it will take a while to run the first time):

uvx docling mydoc.pdf --to json --to md

This will output a mydoc.json file with complex layout information and a mydoc.md Markdown file which includes Markdown tables where appropriate.

The Python API is a lot more comprehensive. It can even extract tables as Pandas DataFrames:

from docling.document_converter import DocumentConverter converter = DocumentConverter() result = converter.convert("document.pdf") for table in result.document.tables: df = table.export_to_dataframe() print(df)

I ran that inside uv run --with docling python. It took a little while to run, but it demonstrated that the library works.

Tags: ocr, ai, pdf, python, ibm, hugging-face, uv


Ben Werdmüller

Election Issues 2024: Economy, Immigration, Abortion and More

[ProPublica] "With just days to go before Election Day, political coverage is everywhere. At ProPublica, we avoid horse race reporting and focus on telling stories about deeper issues and trends affecting the country. Here are some stories from the last year about issues that are important to voters." Some selected stories from my colleagues at ProPublica. #Democracy

[ProPublica]

"With just days to go before Election Day, political coverage is everywhere. At ProPublica, we avoid horse race reporting and focus on telling stories about deeper issues and trends affecting the country.

Here are some stories from the last year about issues that are important to voters."

Some selected stories from my colleagues at ProPublica.

#Democracy

[Link]


John Philpin : Lifestream

🖇️🔎 The Business Equation involves a number of dimensions st

🖇️🔎 The Business Equation involves a number of dimensions starting with ‘The Quadrants’ - the top quadrant is market facing, bottom is organisation facing. The Organisation Facing quadrant is supported by ‘Systems of Record’ - increasingly transitioning to ’Systems of Compliance’ The Market Facing quadrant is supported by ‘Systems of Engagement’. Businesses spend an inordinate amount of t

🖇️🔎 The Business Equation involves a number of dimensions starting with ‘The Quadrants’ - the top quadrant is market facing, bottom is organisation facing.

The Organisation Facing quadrant is supported by ‘Systems of Record’ - increasingly transitioning to ’Systems of Compliance’

The Market Facing quadrant is supported by ‘Systems of Engagement’.

Businesses spend an inordinate amount of time focussed on ‘systems of compliance’ - to the detriment of ‘systems of engagement’.

Despite Business Growth emerging from ‘Systems of Engagement’.

🔗🔎 BusinessBytes | 🔗 More

Saturday, 02. November 2024

John Philpin : Lifestream

We shouldn’t be worried that the Chinese Military have built

We shouldn’t be worried that the Chinese Military have built their own model on Llama should we? Thought not.

We shouldn’t be worried that the Chinese Military have built their own model on Llama should we?

Thought not.


IdM Laboratory

Okta AD/LDAP DelAuthモジュールに関する脆弱性

こんにちは、富士榮です。 Okta社よりAD/LDAP DelAuthモジュールに関する脆弱性が報告されていますね。 https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/ 報告されている内容としては、AD/LDAP DelAuthモジュールを使っている環境で、過去にキャッシュログインに成功したことのある場合、ユーザー名が52文字以上だとパスワードなし(キャッシュのみで)ログインが成功してしまう、という話です。 こちら上記のサイトからの引用です。 On October 30, 2024, a vulnerability was internally identified in generating the cache key for AD/LDA

こんにちは、富士榮です。

Okta社よりAD/LDAP DelAuthモジュールに関する脆弱性が報告されていますね。


https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/

報告されている内容としては、AD/LDAP DelAuthモジュールを使っている環境で、過去にキャッシュログインに成功したことのある場合、ユーザー名が52文字以上だとパスワードなし(キャッシュのみで)ログインが成功してしまう、という話です。

こちら上記のサイトからの引用です。

On October 30, 2024, a vulnerability was internally identified in generating the cache key for AD/LDAP DelAuth. The Bcrypt algorithm was used to generate the cache key where we hash a combined string of userId + username + password. During specific conditions, this could allow users to authenticate by only providing the username with the stored cache key of a previous successful authentication.

Note: A precondition for this vulnerability is that the username must be or exceed 52 characters any time a cache key is generated for the user.

2024年10月30日、AD/LDAP DelAuthのキャッシュキーの生成において、内部的に脆弱性が確認されました。キャッシュキーの生成には Bcrypt アルゴリズムが使用され、userId + username + password を組み合わせた文字列がハッシュ化されます。特定の条件下では、ユーザー名と、過去に認証に成功した際に保存されたキャッシュ・キーだけを提供することで、ユーザーが認証できる可能性があります。

注:この脆弱性の前提条件として、キャッシュ・キーが生成される際には、ユーザー名が52文字以上でなければなりません。


すでにOktaのプロダクション環境では解消されているようですが、本モジュールを利用している場合(特にAD連携をしている場合はほぼ必ず使っているはずのモジュールなので)は、ユーザ名が52文字以上あるユーザがいるかどうか、侵入の痕跡がないか、など確認しておいた方が良さそうです。タイムラインを見ると脆弱性のあるモジュールがリリースされたのが2024/7/23で、発見されて対応されたのが2024/10/30となっており気が付かないまま3ヶ月経過しているので。
そもそも論としてAD/LDAP DelAuthってなんだ?って人もいると思うので簡単に。 要するに、クラウド上にあるOktaへオンプレのADやLDAPのパスワードを使ってログインできるようにするモジュールです。
AD版はこちら https://help.okta.com/en-us/content/topics/security/enable_delegated_auth.htm LDAP版はこちら https://help.okta.com/en-us/content/topics/security/security_authentication.htm
ざっくりとした仕組みですが、Oktaへの認証要求があるとオンプレのAD/LDAPへ認証要求が行われ、成功するとパスワードハッシュのキャッシュがOktaクラウド側に置かれ、以降キャッシュが有効な間はオンプレ側への問い合わせなしにクラウド側だけで認証処理が行われる、という感じです。
すでに対応は終わっているとは言えなかなかな脆弱性ですね。。。 まぁ、ユーザ名が52文字以上って言うのもあんまりないとは思いますが。

Simon Willison

Claude Token Counter

Claude Token Counter Anthropic released a token counting API for Claude a few days ago. I built this tool for running prompts, images and PDFs against that API to count the tokens in them. The API is free (albeit rate limited), but you'll still need to provide your own API key in order to use it. Here's the source code. I built this using two sessions with Claude - one to build the initi

Claude Token Counter

Anthropic released a token counting API for Claude a few days ago.

I built this tool for running prompts, images and PDFs against that API to count the tokens in them.

The API is free (albeit rate limited), but you'll still need to provide your own API key in order to use it.

Here's the source code. I built this using two sessions with Claude - one to build the initial tool and a second to add PDF and image support. That second one is a bit of a mess - it turns out if you drop an HTML file onto a Claude conversation it converts it to Markdown for you, but I wanted it to modify the original HTML source.

The API endpoint also allows you to specify a model, but as far as I can tell from running some experiments the token count was the same for Haiku, Opus and Sonnet 3.5.

Tags: anthropic, claude, ai-assisted-programming, tools, generative-ai, ai, llms, claude-artifacts, llm-pricing


Jon Udell

How To Create Software Diagrams With ChatGPT and Claude

Earlier efforts to diagram software with LLM assistance weren’t fruitful, but this time around things went really well. I ended up with exactly what I needed to explain the architecture of a browser extension, and along the way I learned a lot about a couple of formats — Mermaid and Graphviz — as well as … Continue reading How To Create Software Diagrams With ChatGPT and Claude

Earlier efforts to diagram software with LLM assistance weren’t fruitful, but this time around things went really well. I ended up with exactly what I needed to explain the architecture of a browser extension, and along the way I learned a lot about a couple of formats — Mermaid and Graphviz — as well as their tool ecosystems.

How To Create Software Diagrams With ChatGPT and Claude

LLM series at The New Stack


Simon Willison

Please publish and share more

Please publish and share more 💯 to all of this by Jeff Triplett: Friends, I encourage you to publish more, indirectly meaning you should write more and then share it. [...] You don’t have to change the world with every post. You might publish a quick thought or two that helps encourage someone else to try something new, listen to a new song, or binge-watch a new series. Jeff shares my o

Please publish and share more

💯 to all of this by Jeff Triplett:

Friends, I encourage you to publish more, indirectly meaning you should write more and then share it. [...]

You don’t have to change the world with every post. You might publish a quick thought or two that helps encourage someone else to try something new, listen to a new song, or binge-watch a new series.

Jeff shares my opinion on conclusions: giving myself permission to hit publish even when I haven't wrapped everything up neatly was a huge productivity boost for me:

Our posts are done when you say they are. You do not have to fret about sticking to landing and having a perfect conclusion. Your posts, like this post, are done after we stop writing.

And another 💯 to this footnote:

PS: Write and publish before you write your own static site generator or perfect blogging platform. We have lost billions of good writers to this side quest because they spend all their time working on the platform instead of writing.

Tags: jeff-triplett, blogging


Ben Werdmüller

Kamala Is Not Our Savior. But a Trump Win Would Be Catastrophic.

[Versha Sharma in Teen Vogue] This is a remarkable kind-of-sort-of-endorsement from Teen Vogue. "As the head of this publication, dedicated to young readers, I have been closely following younger generations’ collective disbelief at the Biden administration’s support of the Israeli government during its all-out assault on Gaza, following the brutal terror attack from Hamas l

[Versha Sharma in Teen Vogue]

This is a remarkable kind-of-sort-of-endorsement from Teen Vogue.

"As the head of this publication, dedicated to young readers, I have been closely following younger generations’ collective disbelief at the Biden administration’s support of the Israeli government during its all-out assault on Gaza, following the brutal terror attack from Hamas last Oct. 7 — including the horrific killing of civilians in Gaza, the targeting of journalists and aid workers, and the reports of children being shot in the head.

The Democrats’ policy on Israel has been disastrous. What is also true: Trump would, somehow, be even worse."

I was once in a private meeting of journalism professionals where someone described Teen Vogue's leadership as "some very left-wing women". I'm not sure how, exactly, Teen Vogue came to be such a blazing voice for progressive values, but - contrary, I think, to what that person intended with their remarks - it's been incredibly impressive to see.

This magazine for teenagers makes point after point about our culpability as Americans in human suffering and how that might be affected by the two candidates in play. It's hardly a surprise how that nets out:

"We would be constrained in even expressing dissent in a Trump administration. He has talked about shooting protesters, jailing his opponents and critics, and taking action against media who dare to report honestly on him, including revoking licenses for broadcast news he disagrees with. Teen Vogue itself could be held liable under a Trump administration — there is a world where we could face punishment for publishing something like this."

Which is why, Sharma argues, everyone should vote. Only overwhelming numbers will shut this conversation down: in safe states and swing states and deeply red states.

"If you’ve got any anxiety or concern about this election, I urge you to channel that into action. There’s no more putting it off or tuning it out. This is it."

This magazine for people who are still in the early stages of figuring out who they are in the world doesn't pull any punches. If Teen Vogue is any indication, the kids are alright.

#Democracy

[Link]


@_Nat Zone

VC(Verifiable Credentials, 検証可能資格情報)に未来は無いのか

今、Identity業界で話題になっているブログ記事があります。Sovrin ブロックチェーン上で分散ID/Verifiable Credentials (VC) のソリューションを提供していたTrinsic社の創業者ヒューズ氏の10月15日のブログ「Why Verifiable…

今、Identity業界で話題になっているブログ記事があります。Sovrin ブロックチェーン上で分散ID/Verifiable Credentials (VC) のソリューションを提供していたTrinsic社の創業者ヒューズ氏の10月15日のブログ「Why Verifiable Credentials Aren’t Widely Adopted & Why Trinsic Pivoted (なぜVCが広く採用されないか&Trinsic社がピボットしたか)」です。ざっとまとめると次のような感じです。

なぜVCが広く採用されないか&Trinsic社がピボットしたか Trinsicの方針転換の概要 IIW38にて「SSIは機能しなかった。Trinsicは方針を転換する」というセッションの発表。 聴衆から好意的な反応があり、拍手や生放送の要請があった。 業界のベテランたちによるセッションの重要性の認識。 主要な前提 前提#0:熱狂的な支持 – 著者は自己主権型アイデンティティ(SSI)の理念に引き続きコミット。 前提#1:用語 – 検証可能な資格証明(VC)や自己主権型アイデンティティ(SSI)などの用語をほぼ同じもの〜ユーザーセントリックに信頼できる形で属性を転送することができる技術の意味で使っている。 前提#2:市場の現実 – 市場は予測不可能;成功する製品にはプロダクト/マーケットフィットが必要。 前提#3:採用が重要 – 最高の技術は、その採用とユーザーへの影響によって定義される。 前提#4:時間の無駄を避ける – イノベーションを推奨しつつ、市場での既知の失敗に対して警告。 歴史的背景 2017年にSovrin財団から始まり、2019年にTrinsicが設立。 当初は数百人の開発者が登録する成功を収めるも、成功した顧客事例は500社に1社と限定的。 市場トレンドは検証可能な資格証明よりも独自ソリューション1を好む傾向を示した。 特定された課題 相互運用性の問題 – 検証可能な資格証明(VC)間での真の相互運用性の欠如;標準規格が普遍的に合意されていない。 ユーザー体験(UX)の懸念 – VCの初期ユーザー体験が既存のソリューションより劣っており、導入に消極的になっている。 普及の散在化 – 支配的なユースケースや地理的な一貫性の欠如により、ネットワーク効果が妨げられている。 将来の展望 政府の関与 – 政府の要請によってVC採用が促進される可能性、ただしこれは中期的な見通し。 タイミングと市場の準備状況 – VCが時期尚早という議論は、独自ソリューションの成功によって異議を唱えられている。 Trinsicの新戦略は、新しいデジタルIDの作成ではなく、既存のデジタルIDの受け入れを企業に支援することに焦点を当て、ID環境の断片化の継続を見込んでいる。 Dick Hardt氏の見解

この記事には好意的な意見が多いものの、課題出しとしては不十分との声もあります。たとえば、Dick Hardt 氏のこのLinkedInのポストなど。同ポストでは以下のようなことを指摘しています。

SSIと検証可能な資格証明(VC)、分散型アイデンティティが混同されてしまったのは残念。SSIの本質はユーザーにアイデンティティの制御を与えることだが、技術スタックにこだわりすぎている。 アマゾンを5年前に退職したとき、個人のデジタルアイデンティティの状況を調査したが、その時分散型アイデンティティはすでにかなりの期間存在していたものの、OpenID 2.0やOAuth 2.0、OpenID Connect (OIDC) のような急速な普及は見込めないと感じた。その理由は、OAuth 1.0と同様の問題—複雑で既存のパターンを活用していない—を抱えていたため。 VCの主な技術的な問題点: 暗号鍵の管理がユーザーに求められ、UXの課題や端末移行の障壁となっている 発行者の情報が開示される(例:年齢確認時に居住地までわかってしまう) 鍵の再利用によりユーザーの行動が追跡可能。これを防ぐためにバッチ発行などを模索しているがらなおさら実装も運用も面倒になっている 最大の課題はビジネスモデル: ユーザーはウォレットに支払わない 発行者はインフラ投資するが、価値を得るのは検証者 既存の個人情報販売ビジネスがVCに移行する動機が不足 バックエンドでの情報移動の可視性が確保できない

概ねわたしの意見と同じで、なんならヒューズ氏の記事に出てくる、故ヴィットリオ・ベルトッチ氏の見方も同じだったと思います。

では「どんな独自規格」が使われたのか?

また、ヒューズ氏の記事で解せないのは、なぜ OpenID Connectが出てこないのかです。独自規格を採用して成長したとされるitsme, YOTI, ID.me, PLAID は、実際にはOpenID Connectを使っています。独自規格では無いですね。

また、ChatGPTに代表されるAIもVCを使わずにOAuthに行ったとも書かれていますが、これらも OpenID Connect です。ヒューズ氏が言うように、市場の現実、採用が重要ということに鑑みればOpenID Connect はこれらのユースケースではより優秀な技術だったということになります。

ではVCに未来は無いのか?

では、VCに未来は無いのでしょうか?わたしはヒューズ氏ほど悲観的ではありません。しかし、彼の言う普及の散在化 は問題だと思います。OpenID Connect は、発行者も端末もオンラインのケースのみを扱うことによって技術スタックと運用を単純化しています。同様の、しかし違う部分への集中と割り切りが必要なのではないでしょうか。OIDCの方が優れているとわかったユースケース以外のところに集中するということです。今のVCは何でも解こうとし過ぎです。線路の上も走れる水陸両用自動車を作ろうとしているようなものです。

(図表1)レールの上も走れる水陸両用自動車

わたしがVCに長年求めているのは

発行者がオフラインになっても存在しなくなっても使い続けることができる 端末がオフラインでも使い続けることが出来る ユーザーがどのウォレットを使うべきかで惑わされない 公的資金で補助されない場合には発行者に検証者から利益が還元する

という要件を満たすユースケースに集中して技術スタックとエコシステムを確立することです。

加えて

発行者情報はグループ情報としてしか開示されない

ようになればなお良いです。これは発行者側がグループ署名を使うようになれば解ける問題ですかね>佐古研究室のみなさん

先ずはこの辺に集中すれば勝機も見えてくるのでは無いでしょうか。

あとね、以前から指摘しているように、クエリランゲージとかは劇的に単純化しないと駄目だ。Presentation Exchange とか複雑すぎる。OpenID のclaims syntax ですら複雑で普及しなかったんですぜ。DCQLでも複雑すぎると思う。DCQLの単純化した部分だけ(これでようやくClaims Syntax相当の複雑さ)で最初は十分。

まだいろいろ言いたいこともありますが、今日のところはこの辺にしておきましょう。

あ、そうそう、Trinsic社がいなくなったことと関係あるかわかりませんが、Sovrin ブロックチェーンも止まることが決定してしまいましたね。ブロックチェーンが永続性を担保しない良い例になりました。

それではまた!


IdM Laboratory

OpenID for Verifiable Presnetationsの新しいImplementer's draftのPublic Reviewが始まりました

こんにちは、富士榮です。 IIWや、その前日のOpenID Foundation Workshopでも取り上げられていたとおり、OpenID for Verifiable Presentationsの新たなImplementer's draftのPublic Review期間に入りました。 アナウンス https://openid.net/public-review-period-for-proposed-third-implementers-draft-of-openid-for-verifiable-presentations-specification-3/ 主な更新はこちら Introduces the Digital Credentials Query Language; this is an alternative to Presentation

こんにちは、富士榮です。

IIWや、その前日のOpenID Foundation Workshopでも取り上げられていたとおり、OpenID for Verifiable Presentationsの新たなImplementer's draftのPublic Review期間に入りました。



アナウンス

https://openid.net/public-review-period-for-proposed-third-implementers-draft-of-openid-for-verifiable-presentations-specification-3/


主な更新はこちら

Introduces the Digital Credentials Query Language; this is an alternative to Presentation Exchange Introduces the transaction data mechanism that enables a binding between the user's identification/authentication and the user’s authorization, for example to complete a payment transaction, or to sign specific document(s) using QES (Qualified Electronic Signatures). Removes the client_id_scheme parameter and instead makes the client id scheme a prefix on the client_id; this addresses a security issue with the previous solution.

デジタル・クレデンシャル・クエリ・ランゲージ(Digital Credentials Query Language)を導入。 トランザクション・データ・メカニズムを導入し、ユーザの識別/認証とユーザの認可の間のバインディングを可能にする(例えば、支払いトランザクションの完了や、QES(Qualified Electronic Signatures)を使用した特定の文書への署名など)。 client_id_schemeパラメータを削除し、代わりにクライアントIDスキームをclient_idのプレフィックスとする。


今後のスケジュールはこちら

Implementer's Draft public review period: Friday, November 1, 2024 to Sunday, December 16, 2024 (45 days) Implementer's Draft vote announcement: Tuesday, December 3, 2024 Implementer's Draft early voting opens: Tuesday, December 10, 2024 Implementer's Draft official voting period: Tuesday, December 17 to Tuesday, December 24, 2024
年内に承認されそうですね。実装中の皆さんは対応方針を考えておきましょう。

Simon Willison

SmolLM2

SmolLM2 New from Loubna Ben Allal and her research team at Hugging Face: SmolLM2 is a family of compact language models available in three size: 135M, 360M, and 1.7B parameters. They are capable of solving a wide range of tasks while being lightweight enough to run on-device. [...] It was trained on 11 trillion tokens using a diverse dataset combination: FineWeb-Edu, DCLM, The Stack, along

SmolLM2

New from Loubna Ben Allal and her research team at Hugging Face:

SmolLM2 is a family of compact language models available in three size: 135M, 360M, and 1.7B parameters. They are capable of solving a wide range of tasks while being lightweight enough to run on-device. [...]

It was trained on 11 trillion tokens using a diverse dataset combination: FineWeb-Edu, DCLM, The Stack, along with new mathematics and coding datasets that we curated and will release soon.

The model weights are released under an Apache 2 license. I've been trying these out using my llm-gguf plugin for LLM and my first impressions are really positive.

Here's a recipe to run a 1.7GB Q8 quantized model from lmstudio-community:

llm install llm-gguf llm gguf download-model https://huggingface.co/lmstudio-community/SmolLM2-1.7B-Instruct-GGUF/resolve/main/SmolLM2-1.7B-Instruct-Q8_0.gguf -a smol17 llm chat -m smol17

Or at the other end of the scale, here's how to run the 138MB Q8 quantized 135M model:

llm gguf download-model https://huggingface.co/lmstudio-community/SmolLM2-135M-Instruct-GGUF/resolve/main/SmolLM2-135M-Instruct-Q8_0.gguf' -a smol135m llm chat -m smol135m

The blog entry to accompany SmolLM2 should be coming soon, but in the meantime here's the entry from July introducing the first version: SmolLM - blazingly fast and remarkably powerful .

Via @LoubnaBenAllal1

Tags: llm, hugging-face, generative-ai, ai, llms, open-source, edge-llms


@_Nat Zone

インターネットアイデンティティワークショップ(IIW)ウィーク終了

前週のSIDI Hub Tokyo から始まった怒涛のイベント3週間の第2週目、IIWウィークが終了しました。 OpenID Foundation ワークショップ まず最初は、月曜日の午後のOpenID Foundation Workshop です。 例によって富士榮さんがすでに…

前週のSIDI Hub Tokyo から始まった怒涛のイベント3週間の第2週目、IIWウィークが終了しました。

OpenID Foundation ワークショップ

まず最初は、月曜日の午後のOpenID Foundation Workshop です。

例によって富士榮さんがすでに記事を書かれていて足すことは特にありません。

» IdM実験室: OpenID Foundation Workshopクィックレビュー https://t.co/918adtcuhk

— Nat Sakimura/崎村夏彦 (@_nat) November 2, 2024

このあと、理事会、理事ディナーでした。ディナーのメニューだけ上げておきます。

IIW 39

IIWは火曜日から木曜日までの3日間。こちらもだいたい富士榮さんと被っているので、IdM実験室を読めば良い感じ。

» IdM実験室: IIW 39 Day1クィックレビュー https://t.co/ctz2oJkkpQ

— Nat Sakimura/崎村夏彦 (@_nat) November 2, 2024

» IdM実験室: IIW 39 Day2クィックレビュー https://t.co/1otMtixF8d

— Nat Sakimura/崎村夏彦 (@_nat) November 2, 2024

» IdM実験室: IIW 39 Day3クィックレビュー https://t.co/2cDZE4JFre

— Nat Sakimura/崎村夏彦 (@_nat) November 2, 2024

被ってないのは、

(1-B) OAuth 101 (Aaron) (2-B) OpenID Connect 101 (Mike) 1 (3-A) SD-JWT VC over proximity/offline (Lee, Cam, Torsten, John, Oliver, Kristina Yasuda) (6-N) FAPI 101 #openbanking #opendata(Daniel, Joseph, Nat) (8-I) Why is the OpenID Foundation hopping right now? An overview of the 14 work groups and community groups on now. (Nat Sakimura + Gail Hodges) (9-A) RP Authentication & Authorization (EUDIW) (Torsten Lodderstedt, Giuseppe, Dima)

くらいの感じ。101や (8-I) は書く必要も無いと思うので、(3-A)と(9-A)についてだけ簡単に書いておきます。

(3-A) SD-JWT VCの近接・オフライン提示(Lee, Cam, Torsten, John, Oliver, Kristina Yasuda)

SD-JWT VC over proximity/offline

課題感:ウォレットがオフラインの場合のSD-JWT VC提示方法がない。

Offline (wallet)Over the internetmdoc18013-5OID4VP (incl. Browser API)SD-JWT VCWhat do we do here?OID4VP (incl. Browser API)

オプションとしてありそうなのが以下のような感じ。

Extend ISO 18013-5deviceRequestExtend ISO 18013-5OID4VP requestOID4VP over BLEOID4VP with CTAPStandard bodyISO?ISO?OpenID?FIDODevice engagement / Channel establishmentQR or NFCBLE?QR or NFCChanges requiredExtend deviceRequest / ResponseAdd OID4VP request / responseNone?NFC needs to be added (Happening anyway for cross device flows)Deployment considerationsAligned with 18013-5 existing deployments 
Not aligned with OID4VP online presentationAligned with 18013-5 existing deployments 
Not aligned with OID4VP online presentationAligned with OID4VP online presentation and existing CTAP deployments.
Not aligned with 18013-5 existing deploymentsFeature parity betwen online and offlineNNYLive implementations Y YY Y?? Y growing VERY fastFormatCBORJSONJSONBuilt at App levelApp levelApp levelOS or app levelMigrationNot required?RequiredRequiredReliabilityYYNYStandard extension in can be done in ISO or outside of ISOStandard extension in can be done in ISO or outside of ISOCouldn’t use ISOSecure tunnel between 2 devicesCan send arbitrary Invocation:QR code goes through the cloud; NFC is possible but was teken outQR code + BLE?Future UWB is possibleCTAP is available on almost all Android devices

OID4VP with CTAPがわりと有望そう。

考慮事項として

Bluetoothのセキュリティと安定性の欠如 ISOのプロトコルを拡張する際のIPRの問題

などが取り上げられていました。

(9-A) RP認証と認可 (EUDIW) (Torsten Lodderstedt, Giuseppe Di Marco)

RP Authentication & Authorization

なぜRP(Relying Party:依拠当事者)の認証が重要なのか

デジタルIDシステムにおいて、RPとの安全な関係を確立することは以下の理由で不可欠です:

法的な透明性の確保(法律で義務付け) 必要に応じた通信や法的手続きの実施 データ要求の範囲が適切かどうかの確認 認証と認可の仕組み PID(個人識別データ)とEAA(電子属性証明)の取り扱い プロバイダーは開示ポリシーを通じてデータアクセスを管理 ポリシーはRPの役割や権限証明と一致する必要がある ユーザーの informed decision(十分な情報に基づく決定)を支援 実装オプション X.509証明書 OpenID Federation SD-JWT(Selective Disclosure JWT)による証明 イタリアの事例:OpenID Federationの活用

イタリアでは、以下のような階層的な信頼モデルを採用しています:

各事業体は自身の設定を宣言 イタリア連携→EU連携という階層構造 信頼チェーンによるリアルタイムのポリシー管理 トラストマーク(信頼の印)による認証 特徴的な点 エンティティIDによる信頼性の確認 DCQLによるクエリ言語の標準化 第三者による信頼性の付与 考慮すべき課題

特に注目すべき点として、すべてのRPが法人格を持つとは限らないという現実があります。例えば:

国際的な研究協力プロジェクト 複数の司法管轄区域にまたがる組織 その他

その他もちろんサイドミーティングもありました。

今は公開できない秘密の話(水曜日夜) EUDIWのsub値などについて(木曜日) Anoop Saxana FAPI 共同議長とのCFPB対応のミーティング(木曜日夕刻) BGINについてのディナーミーティング(木曜日夜) Drummond Reed とのGlobal Acceptance Network についてのミーティング(金曜日のブレックファストミーティング) Edmund Jay とのミーティング(金曜日昼) などなど

なお、今回のIIWの最終退出者はわたしです。証拠の写真がこれ。

Anoopとリモートで会議してる間にみんなビール飲みに行っちゃったんです。

それではまた来週!

Friday, 01. November 2024

John Philpin : Lifestream

All (?) kiwi wineries have this on their home page - anyone

All (?) kiwi wineries have this on their home page - anyone can check the box - there is no validation - so why bother - except a stupid law on the statutes somewhere.

All (?) kiwi wineries have this on their home page - anyone can check the box - there is no validation - so why bother - except a stupid law on the statutes somewhere.


Daring Fireball: Russian Court Hits Google With a Fine Large

Daring Fireball: Russian Court Hits Google With a Fine Larger Than the World’s GDP How Fucking Stupid

Simon Willison

From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code

From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code Google's Project Zero security team used a system based around Gemini 1.5 Pro to find a previously unreported security vulnerability in SQLite (a stack buffer underflow), in time for it to be fixed prior to making it into a release. A key insight here is that LLMs are well suited for checking for

From Naptime to Big Sleep: Using Large Language Models To Catch Vulnerabilities In Real-World Code

Google's Project Zero security team used a system based around Gemini 1.5 Pro to find a previously unreported security vulnerability in SQLite (a stack buffer underflow), in time for it to be fixed prior to making it into a release.

A key insight here is that LLMs are well suited for checking for new variants of previously reported vulnerabilities:

A key motivating factor for Naptime and now for Big Sleep has been the continued in-the-wild discovery of exploits for variants of previously found and patched vulnerabilities. As this trend continues, it's clear that fuzzing is not succeeding at catching such variants, and that for attackers, manual variant analysis is a cost-effective approach.

We also feel that this variant-analysis task is a better fit for current LLMs than the more general open-ended vulnerability research problem. By providing a starting point – such as the details of a previously fixed vulnerability – we remove a lot of ambiguity from vulnerability research, and start from a concrete, well-founded theory: "This was a previous bug; there is probably another similar one somewhere".

LLMs are great at pattern matching. It turns out feeding in a pattern describing a prior vulnerability is a great way to identify potential new ones.

Via Hacker News

Tags: gemini, security, sqlite, google, generative-ai, ai, llms, prompt-engineering


Claude API: PDF support (beta)

Claude API: PDF support (beta) Claude 3.5 Sonnet now accepts PDFs as attachments: The new Claude 3.5 Sonnet (claude-3-5-sonnet-20241022) model now supports PDF input and understands both text and visual content within documents. I just released llm-claude-3 0.7 with support for the new attachment type (attachments are a very new feature), so now you can do this: llm install llm-claude-3

Claude API: PDF support (beta)

Claude 3.5 Sonnet now accepts PDFs as attachments:

The new Claude 3.5 Sonnet (claude-3-5-sonnet-20241022) model now supports PDF input and understands both text and visual content within documents.

I just released llm-claude-3 0.7 with support for the new attachment type (attachments are a very new feature), so now you can do this:

llm install llm-claude-3 --upgrade llm -m claude-3.5-sonnet 'extract text' -a mydoc.pdf

Visual PDF analysis can also be turned on for the Claude.ai application:

Also new today: Claude now offers a free (albeit rate-limited) token counting API. This addresses a complaint I've had for a while: previously it wasn't possible to accurately estimate the cost of a prompt before sending it to be executed.

Via @alexalbert__

Tags: vision-llms, claude-3-5-sonnet, llm, anthropic, claude, ai, llms, pdf, generative-ai, projects


Quoting Question for Department for Science, Innovation and Technology

Lord Clement-Jones: To ask His Majesty's Government what assessment they have made of the cybersecurity risks posed by prompt injection attacks to the processing by generative artificial intelligence of material provided from outside government, and whether any such attacks have been detected thus far. Lord Vallance of Balham: Security is central to HMG's Generative AI Framework, which was publ

Lord Clement-Jones: To ask His Majesty's Government what assessment they have made of the cybersecurity risks posed by prompt injection attacks to the processing by generative artificial intelligence of material provided from outside government, and whether any such attacks have been detected thus far.

Lord Vallance of Balham: Security is central to HMG's Generative AI Framework, which was published in January this year and sets out principles for using generative AI safely and responsibly. The risks posed by prompt injection attacks, including from material provided outside of government, have been assessed as part of this framework and are continually reviewed. The published Generative AI Framework for HMG specifically includes Prompt Injection attacks, alongside other AI specific cyber risks.

Question for Department for Science, Innovation and Technology, UIN HL1541, tabled on 14 Oct 2024

Tags: politics, prompt-injection, security, generative-ai, ai, uk, llms


Control your smart home devices with the Gemini mobile app on Android

Control your smart home devices with the Gemini mobile app on Android Google are adding smart home integration to their Gemini chatbot - so far on Android only. Have they considered the risk of prompt injection? It looks like they have, at least a bit: Important: Home controls are for convenience only, not safety- or security-critical purposes. Don't rely on Gemini for requests that could r

Control your smart home devices with the Gemini mobile app on Android

Google are adding smart home integration to their Gemini chatbot - so far on Android only.

Have they considered the risk of prompt injection? It looks like they have, at least a bit:

Important: Home controls are for convenience only, not safety- or security-critical purposes. Don't rely on Gemini for requests that could result in injury or harm if they fail to start or stop.

The Google Home extension can’t perform some actions on security devices, like gates, cameras, locks, doors, and garage doors. For unsupported actions, the Gemini app gives you a link to the Google Home app where you can control those devices.

It can control lights and power, climate control, window coverings, TVs and speakers and "other smart devices, like washers, coffee makers, and vacuums".

I imagine we will see some security researchers having a lot of fun with this shortly.

Via The Verge

Tags: gemini, prompt-injection, security, google, generative-ai, ai, llms, android


IdM Laboratory

IIW 39 Day3クィックレビュー

こんにちは、富士榮です。 いよいよIIWも最終日です。 かなり疲れてきたので頭が回らず英語が聞き取れなくなってきました。(来週いっぱいまで英語生活なので週末はゆっくりしないと・・・) ということで今日も楽しい話題がいっぱいでした。 Credential Status Comparison Mechanisms - Paul 以前も書いたStatusList周りを含むクレデンシャルの取り消しに関する話題です。 確かに色々な方法があるんですよねぇ。古き良きOCSPとか。。。 そもそもクレデンシャルの取り消しをしたくなるトリガーとしては、こんなことが挙げられます。 Credentialデータセットが無効(例えばover18になった) 発行システムの侵害 アルゴリズムの危殆化(量子コンピューターの発展など) ウォレットや鍵の侵害 ドイツ政府はイタリ

こんにちは、富士榮です。

いよいよIIWも最終日です。


かなり疲れてきたので頭が回らず英語が聞き取れなくなってきました。(来週いっぱいまで英語生活なので週末はゆっくりしないと・・・)

ということで今日も楽しい話題がいっぱいでした。


Credential Status Comparison Mechanisms - Paul

以前も書いたStatusList周りを含むクレデンシャルの取り消しに関する話題です。

確かに色々な方法があるんですよねぇ。古き良きOCSPとか。。。


そもそもクレデンシャルの取り消しをしたくなるトリガーとしては、こんなことが挙げられます。

Credentialデータセットが無効(例えばover18になった) 発行システムの侵害 アルゴリズムの危殆化(量子コンピューターの発展など) ウォレットや鍵の侵害

ドイツ政府はイタリアやフランスと協力してシナリオと方法論の比較検討を進めているみたいです。考えているシナリオはこんなところだそうです。

ユーザが死んだ ユーザが自らRevokeしたい(スマホなくした) キーストレージが脆弱性にさらされた

この辺りをスケーラビリティとプライバシー(Linkability)を考えつつ解くのは難しい問題ですよねぇ。。



こんなクライテリアで比較しているそうです。

Credential format(対応している種類) Technology readiness level(成熟度) Status tracking by verifier(トラッキング) Holder tracking by issuer(トラッキング) Unlinkability(紐付け可能度合い) Complexity(0が高い) Scalability(0が高い) Offline/caching(オフラインシナリオへの対応)


色々と考慮点はあって、例えばBitStringでStatusListを作るとある程度サイズ圧縮は効くもののの上限はあるので、一定期間でガベージコレクションをしたり、クレデンシャルのバッチ発行をすることでリンク可能性に対策できるかどうか考えたり、、と。

しかし、こう言う比較検討の段階でIIWのようなプロフェッショナルが集う場所へ投げ込んでブラッシュアップするって方法、本当にいいと思うんですよね。プレゼンする方も「こう思うんだけどどう?」って投げかけてちゃんとその場で議論になる。これを政府や金融機関の中の人たちがちゃんとオープンな場でやっている、ってなかなか日本では考えられないことだと思います。日本政府もこう言う場に来ればいいのに(チラッ)


Digital Credentials API - Tim

次はDigital Credentials APIの話です。

カスタムURLスキームでウォレットが起動されるのではなくFIDOと同じようにCredentials APIで起動できるようにしましょう、って話です。

そもそもカスタムURLスキームで何が問題だったか、というと

安全ではないコンテキストでアプリを起動 デバイス上でのフィッシング(悪意のあるアプリを選択) リクエスターオリジン、アイデンティティがない

ということなので、この辺りはパスキーから学ぼうよ、という話です。この辺りが学びとしてあげられていました。 呼び出し元のコンテキストがキーとなっている クロスデバイス認証はセキュア・簡単・フィッシング耐性があることが必要 こんな構造です。
FIDOにおけるCTAPとWebAuthnとよく似てますね。
こんな感じで動くようです。
APIも割とシンプルです。
Presentation let digiCred = await navigator.credentials.get({ signal: controller.signal, digital: { requests: [{ protocol: "openid4vp", data: "{request json}" }] } });

Issuance

let digiCred = await navigator.credentials.create({ signal: controller.signal, digital: { requests: [{ protocol: "openid4vci", data: "{request json}" }] } });


この辺りでdemoが見れますよ。

https://digital-credentials.dev/


OID4VCI Browser API Issuance Profiles - Joseph, Kristina, Paul

色々なシナリオを網羅的に考えていかないと社会基盤としては使えないということでかなり色々なユースケースを考えていますね。

https://bmi.usercontent.opencode.de/eudi-wallet/eidas-2.0-architekturkonzept/flows/Presentation-During-Issuance/

こちらにあるようなPresentationの結果を受けてIssuanceを行う、というシナリオもその一つです。

例として、学校でDegreeを発行してもらう際にmDLを提示して本人確認をする、みたいなシナリオが挙げられていました。

Presentationの結果を受けてPre-authorization用のコードを発行〜そのままOID4VCIを走らせるってことですね。


これもプレゼンテーションを行うクレデンシャルが入っていたWalletとIssuanceを行う先のWalletが異なるケースにどうやって対応するのか?みたいな話で議論が盛り上がりました。


OIDC4VCI Credential Versions / Purpose on presentation - Oliver, Daniel

こちらが最後のセッションでしたが、またマニアックな話題でした。

前半パートはOliverがクレデンシャルにバージョンをつけるとするとどうなるのか?という話をしていました。(何をもってそのバージョンが最新であるか、を証明することも含め)

まぁ、バージョンと言っても色々な解釈があるのでその辺りの整理をして議論をするところまで、となりましたが。

同じクレームとバリューを含んでいるが、別デバイスの鍵とバインドされていたり、別で発行された クレームは一緒でも値が異なる。値が変わった場合、Frequent Flyer Statusが変わった場合など クレームは一緒でも値が異なる場合。なぜなら別の人やものに関するもの クレームも値も異なる。全然別のクレデンシャルなので

誰がトリガーで発行し直すのか、Shared Signalで通知するのが良いのか、、などなど。。
後半はDanielがPresentation requestの中のクエリ言語(PEやDCQL)に指定するpurposeについての話題。(これもコアだな)
現状はクレデンシャルの単位でpurposeを指定するので、クレデンシャルセット全体に関するpurposeってないよね、とか多言語対応させるにはどうするべきなのか?みたいな話題で盛り上がりました。こちらも時間切れ。

ということであっという間の3日間でした。
とりあえず次はIETFということでこれからドイツ経由のダブリンへ移動します。。。







Michael Ruminer

VSCode and Debugging Python in Virtual Environments

AI generated image of a beetle This post is really for me more than anyone else. I will be able to come back here and find it. If it helps you as well, then great. I have historically not been a Python programmer. Additionally, I have historically used Visual Studio versus VSCode. Lately, I have been doing Python in VSCode. I need to learn my way around. I recently found how to deb
AI generated image of a beetle

This post is really for me more than anyone else. I will be able to come back here and find it. If it helps you as well, then great.

I have historically not been a Python programmer. Additionally, I have historically used Visual Studio versus VSCode. Lately, I have been doing Python in VSCode. I need to learn my way around.

I recently found how to debug Python with breakpoints and watches in a virtual environment, or at least in the default “-m venv” virtual environment, much as I would in a different language in Visual Studio .

You can have the debug window create a launch.json in the .vscode folder of the root workspace directory or create it yourself from scratch. Here is one of my modified ones.

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: crewai series day_04",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {
"PYTHONPATH": "${workspaceFolder}\\crewai_series"
},
"cwd": "${workspaceFolder}\\crewai_series\\day_04\\src"
},
{
"name": "Python: crewai series day_05",
"type": "debugpy",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"env": {
"PYTHONPATH": "${workspaceFolder}\\crewai_series"
},
"cwd": "${workspaceFolder}\\crewai_series\\day_05\\src"
}
]
}

The real trick is to set that PYTHONPATH property to your folder with the virtual environment folder as a top-level subdirectory.

Bonus: you set different debug profiles like I did above and shift between them in the debug window. That is helpful when you have different virtual environments in the same workspace.

That’s it. That’s the post.

Thursday, 31. October 2024

Simon Willison

Cerebras Coder

Cerebras Coder Val Town founder Steve Krouse has been building demos on top of the Cerebras API that runs Llama3.1-70b at 2,000 tokens/second. Having a capable LLM with that kind of performance turns out to be really interesting. Cerebras Coder is a demo that implements Claude Artifact-style on-demand JavaScript apps, and having it run at that speed means changes you request are visible within

Cerebras Coder

Val Town founder Steve Krouse has been building demos on top of the Cerebras API that runs Llama3.1-70b at 2,000 tokens/second.

Having a capable LLM with that kind of performance turns out to be really interesting. Cerebras Coder is a demo that implements Claude Artifact-style on-demand JavaScript apps, and having it run at that speed means changes you request are visible within less than a second:

Steve's implementation (created with the help of Townie, the Val Town code assistant) demonstrates the simplest possible version of an iframe sandbox:

<iframe srcDoc={code} sandbox="allow-scripts allow-modals allow-forms allow-popups allow-same-origin allow-top-navigation allow-downloads allow-presentation allow-pointer-lock" />

Where code is populated by a setCode(...) call inside a React component.

The most interesting applications of LLMs continue to be where they operate in a tight loop with a human - this can make those review loops potentially much faster and more productive.

Via @stevekrouse

Tags: val-town, llms, react, iframes, ai-assisted-programming, generative-ai, sandboxing, ai, steve-krouse, llama, cerebras


Doc Searls Weblog

The Kids Take Over

While I am extremely pleased and grateful that 26 years of writing on Linux Journal survive online without being 404’d, I also realize that this condition probably won’t last forever. Also, some pieces are now missing their images and other graces. This is one of them. It is also one of my best, I think, Or […]

While I am extremely pleased and grateful that 26 years of writing on Linux Journal survive online without being 404’d, I also realize that this condition probably won’t last forever. Also, some pieces are now missing their images and other graces. This is one of them. It is also one of my best, I think, Or at least one of the most important. This is a late draft, rather than the published final text, but it’s still good. Read on and enjoy—Doc

It starts here, in the heart of Long Island, a couple dozen exits east of Queens. I saw it with my own eyes in Mineola’s Public Schools, where kids, led by a nonprofit called kidOYO (“Kid-oy-yo”), are learning to program in different languages on different computers and operating systems, creating and re-creating software and hardware, with fun and at speed. Their esteem in themselves and in the eyes of their peers derives from their actual work and their helpfulness to others. What I saw was also sure to strip the gears of any system meant to contain them. Mineola’s schools were not among those.

OYO means Own Your Own, and that’s what these kids are learning to do. In geekier terms, they are rooting their own lives online. They’re doing it by learning to program in languages that start with Scratch and move up through Python, Java, C# and beyond. They’re doing it on every hardware and software platform they can, while staying anchored to Linux, because Linux is where the roots of personal freedom and agency go deepest. And they’re doing in all in the spirit of Linus’ book title: Just for fun.

With kidOYO, the heuristics go both ways: kidOYO teaches the kids, and the kids teach kidOYO. Iteration is constant. What works gets improved, and what doesn’t gets tossed or replaced. The measures of success are how enthused the kids stay, how much they give and get energy from each other, and how much they learn and teach. Nowhere are they sorted into bell curves, given caste-producing labels such as “gifted” or “challenged.” Nor are they captive to the old report card system. When they do take standardized tests, for example the college AP (advanced placement) ones for computer science, they tend to kick ass. (At that link we see how nearly all the 6th-9th graders who took the test passed, meaning they were ready for AP college work.)

kidOYO is the creation of the Loffreto family: Devon, Melora, and their son Zhen, who is now 12. What started as a way to teach computing to Zhen turned into ways to teach computer science to every kid. Their methods resemble how the Linux kernel constantly improves, stamping out bugs and iterating toward ever-expanding completeness, guided by an equal mix of purpose and fun.

Before we met, I had assumed, from Devon’s writing style and deep knowledge of stuff, that he was a gentleman perhaps of my own age, or even older. So I was surprised to find that he was not only a youngish guy, but a New York state high school champion baseball and basketball player who went to college on a sports scholarship. Also that he looked a stunt double for George Clooney.

I also knew what he and kidOYO were doing was important. But my mind wasn’t blown until I finally obeyed Devon’s invitation to see their approach at work. That happened on Groundhog Day in February. (An album of pictures I took on that visit is on the Linux Journal Flickr site here.)

Mineola is about as prototypical as a middle class New York suburban town can get: a 2-square mile village of about 20,000 in the center of Nassau County, which lays between Long Island’s north and south shore and is home to about 1.5 million people. The Mineola Free Union School District, however, is anything but typical. I’ve never seen a public—or any—school system with its feet equally planted in the digital and the physical worlds, or as eager to run forward in both. For example, all three schools I visited had created social and hacker spaces within their libraries. The books and the stacks still mattered, but so did the ability of kids to research, learn and teach together using computing and related gear, such as 3-D printers and programmable robots.

Standing in the Coding Center at the Mineola Middle School, surrounded by kids doing amazing stuff on their Chromebooks, Dr. Michael Nagler (@naglersnotions), superintendent for the district, gave me the backstory on how kidOYO got involved.

“Three years ago my wife signed our son up for a coding class these guys were putting on,” he said. “So I drive my son out there, and I’m watching what they’re doing, and I’m impressed. I ask Dev, ‘Why aren’t you in schools?’ He says, ‘The schools won’t talk to us.’ So I say, ‘Well you’re in luck, because I know a guy.’ We worked to help adapt their platform for schools, starting with ours. And I mean all of ours. We jumped in the deep end, starting with the little kids first and pushing it up through high school. And now we’re on this three year journey, so far, during which everything changes. Constantly. The little ones get the skills, and they roll up. Now I have to adjust my next level, and do it waaay faster than I have to with any other curriculum. Right now, for example, for the AP Computer Principles course in high school, they’re doing the learning path for (hatchcoding‘s) Hatch 1 and Hatch 2. Meanwhile, my sixth graders are already finished with it. So by the time these sixth and seventh graders get to ninth grade, my expectation is that every student in the district is taking AP Computer Principles. That’s going to replace our Exploring Computer Science class. And then we build in connections. So we’re doing Arduinos here in the Middle School’s sixth grade, and simultaneously in ninth grade in the high school. Then, as the younger kids move forward, we’ll change the ninth grade setup.”

Since Maker Faire New York is a great place for kids from everywhere to show off their maker chops, I asked Dr. Nagler if they had plans for that.

“We merge CS and computational thinking with making. We have a whole design and creative thinking framework tied to our mascot, the mustang. We make ways for the kids to conceptualize, design, iterate, prototype, test, refine, go, back, and build things.”

I asked, “How do you deal with the combination of kids who are already on this path, kids who want to come in and need to catch up, and eventually everybody in the school doing AP level work on computers? And beyond that, how does this whole thing catch fire?”

“A couple of ways. First, it’s not an elective. Here in Mineola, every kid has to do it. They also have to do it in their subject classes. So we tie a coding project to a curriculum project. Every grade has to do three a year. So we teach a language that way. We teach it independently the OYO way. And we teach it the formal way, cycling kids through CS classes, for example here in this room. As for catching fire, we’re Ground Zero. We succeed here and it spreads to other districts.”

“How do you all scale? I mean both what you’re doing and what kidOYO is doing?”

“I think we’re unique in that I don’t want it to be a formal class. I want CS to be ingrained in everything we do. In the process we’ll refine it and share it in ways that can be adopted by other districts. I’m a big open source guy. Sharing is key. So I’m taking the kidOYO platform and building an open computer science curriculum in social space. The beauty of their platform is that it lets me build an OER—Open Educational Resources—using their concept of learning paths, which we also work on together. Dev also built me a website that I can send to an organization I belong to called the League of Innovative Schools, which is a national organization. We can crowd-source content there. For example I built a sample curriculum unit. I can push that out to various states. By crowdsourcing we already have a ton of content on there.”

At this point Devon joined the conversation. “Tell Doc about MC².”

“Right. It stands for Mineola Creative Content, and it’s a video production studio, where we do fun learning videos, which are a basis for the learning pathway here.”

The opening text on the site (https://mc2oer.oyoclass.com/) explains, “This community showcases open educational content and other materials from the Mineola School District. Mineola is a suburban district located about 30 miles outside of New York City. Our school district is dedicated to the #GoOpen movement which supports sharing educational resources.

“It’s all about #OER—Open Educational Resources—and open source,” Dr. Nagler explained. “We use the videos here in the district, and also throw them out to the world where everybody can use them.”

Look up “Dr. Nagler” on YouTube, and you’ll find lots of them. He’s the star, as both a mentor and an animated character. There’s even one video where talks with his animated brain, bearing his signature goatee.

“An important context is that there is no central repository of educational materials in this country, because they’re all locked up by proprietary publishers. What we’re doing here is a way to get around that. And I have a lot of flexibility. I can market MC² as a school district entity, and not worry about all the copyright crap. It’s all made to share.”

I asked, “What happens to the world when these kids graduate into it?”

“They’re going to change the world. That’s clear. We’re also all dealing with astronomical change in the technical environment along the way. Constantly. This makes everything very hard to predict. Look at my 2019 high school graduates. They started Kindergarten in 2006. Even from just 2006 to 2009, the technology advances were astronomical. And then look what happened in the next ten years. Huge. So if I start planning now for where Kindergarten kids will come out at the end of the next twelve years, I’m already lost. But if I trust the process we have in place already, I’ll be fine. We’re driving it, and the kids are driving it too. It’s a constant cycle.”

I replied, “We also live in a world where giant companies are also working to contain those kids’ agency inside corporate silos. Some of those silos also spy on everyone constantly. How do you deal with that?”

“The common denominator is CS, and the flexibility within it. There’s freedom in that. I’m not going to force you to master, say, just one language. I’m going to get you on a platform where you can play with any and all of them, learn quickly and well, and apply whatever language you like toward building something. And because we’re merging the making and the coding, your next question will be, ‘What will this code do?’ The answer is, computational thinking will always push you toward solving problems. If you look at the big picture, content already is readily available to every kid. And content has always been our specialty, as a school. But with CS, the kids learn to master that content, in many ways. That’s key. Kids need to know and feel that they’re on top of things. That they Own their Own.

“What about curricular necessities: mandates that come down from the federal and state level?” I asked.

We’re still a public school, and we do have formalities. For example, here in New York every kid has to pass the state Regents Exam. We teach to that, but we also make sure there’s no way a kid graduates without exposure to computer science.”

“And you trust that’s going to equip them, once they’re out.”

“It’s more than that. Working with kidOYO, we’ve developed something that not only should be replicated everywhere, but needs to be. Here’s the important thing: there aren’t enough people who know computer science who can also teach it. So when you figure out a way to virtually do it, to scale the knowledge outward for everybody, it’s a big deal. The investment I make here probably cost me one teacher’s salary. But it scales to the whole district. To scale evenly, you can’t beat it. In fact it’s the only way to scale up computer science through schools, because the current credentialing system is too slow, and too top-down, and formal training is too slow, too far behind the curve. The kids and their mentors are moving too fast for that.

The biggest absence I saw that day was anything that looked like a bell curve. the system here clearly

What I saw here was a system that doesn’t have a bell curve, with A+ stars at one end and failures at the other. The system is made so every kid progresses, and every kid succeeds. A few minutes earlier, Melora explained, “We have no lowest common denominator, because everyone succeeds. There are twelve-year olds in this program that a 7th grade teacher wouldn’t look twice at in an ordinary classroom, but proves into her future as a profound programmer. And choice is key. When Dr. Nagler brought in this program, it wasn’t just for a select few kids. He wanted it to be open to everybody. And everybody has the ability to chose anything they want. It’s a totally different ecosystem than you’ll find anywhere else. And he’s gracious enough to reach out to other school systems to help them break down their own classroom walls. One of the things he preaches is that you have to believe. That’s a requirement of being on the cutting edge. The failing forward principle works for everybody too. It’s a model that works.”

The spirit of helpfulness and failing forward also fosters kids’ confidence that they can weigh in with solutions of all kinds. To show me how that works, Devon took me over to a table where Jordan Chaver and Connor Scott, a sixth and seventh grader, were working together on something.

“These two guys,” he said, “are your app builders. They came with us out to Stony Brook University for some of our software program there. Jordan pitched them on building an app on iOS, which he already knew how to do. But there was not a single mentor in the room that knew what he was trying to do—. legitimately, because in university CS they don’t want to work in a closed environment. So we transitioned the challenge over to the Web: to instead make a Web based app with database functionality. And that’s what these guys are building. And there isn’t just one app. There’s one they call social-emotional. And another called Class Dash. Asked to demo one, Connor pulled up a Chromebook, angled it toward me and said, “Let’s say you have a research paper. One that’s big and complicated. And you press Submit. Behind this you have something kind of like Dropbox, where you can share documents.”

Devon jumped in to explain, “They’re sharing all their class assignments in a firewalled white spaced environment where they don’t have access to their emails. So this is a simple way of sharing inside that environment.”

Connor continued, “You also have this five-character ID code. Jordan can type in the code, and he gets the same exact document. So can anyone else with the code. The idea is to share something with the class in a way that avoids complications. We’re also in a class play, Once Upon a Mattress, which is based on the Princess and the Pea. I’m the Price and Jordan is the Wizard. So Jordan made this schedule for all the performances, where you can buy tickets, and so on.” On his Chromebook, Jordan showed me his page with the schedule next to a graphic of the play’s title. He then gave Connor the five-digit code for access to the schedule, and it came up on the Connor’s Chromebook. (A picture of that is here.)

Connor again: “Right now I’m adding a way to lock a document. Let’s say that Jordan is the teacher and he finds a spelling error in my document. I’ll add a button you can click on and see if anybody has updated the document.”

Jordan said, “Let me tell you more about Class Dash, which I did for Stony Brook. It’s a student-teacher companion app. It has multiple uses, but the one that’s currently available is called Schedule. It covers notes, teacher, room, and supplies. I play drums, so drumsticks are an example of supplies. I also have Instant Messaging Teacher. The idea is, if you have a homework question, instead of emailing the teacher and getting a response the morning after, the teacher gets a push notification on their phone.” Class Dash will first hit the market in April as an iOS app. Other versions will come after that.

Joseph Malone, also twelve, is at the same table, hacking AI algorithms. Devon said, “Joseph here is spinning up his own virtual machine and generating algorithms to train his AI to run his scripts. He’s going into OpenAI, playing with AI algorithms, modifying them, and putting them to use. It’s neat stuff, and it’s also huge.” Melora told me Joseph is also helping out by volunteering a stream of challenges, solutions and badges for kidOYO courseware. “He does all the work himself, and makes it open and available to everybody.”

“We’re fully networked here,” Devon adds. “No need for back-end support.” Meaning no external corporate dependencies. kidOYO and its participants—learners (they aren’t called students), mentors (they aren’t called teachers), parents, schools—all work together, and for each other, as a “community of communities.” They’re also not moving at the speed of anybody’s clock, or anybody’s class. Though they’re sure to change the world, that’s not the goal. In fact, there is no long-term goal. The journey is truly the reward, and the journey is called the learning path. That’s what matters, and its not seen, or built, as a way to plow through the status quo. Even though that’s one of the things it does. Neither Mineola nor kidOYO want to burden kids with anything at all, other than the need to master their digital worlds, and to constantly advance their mastery.

The Middle School was the second one we visited in Mineola. The first was Hampton Street School, which is Pre-K to 6th grade. There we saw clusters of five and six year old girls and boys in the library’s Coding Center, hacking away on on school-issued tablets using Scratch, which is free (as in both liberty and cost), open source and runs on anything. They were also doing this both by themselves and collaboratively.

The way kidOYO works, all the kids know they are working both to expand their own skills and those of other kids as well. There are also rewards along the way, such as on-screen fireworks and badges. After a bit of working on their own, the kids’ work is shown on a screen for review by each other and Melora, their mentor. (The learner/mentor relationship is central to the kidOYO system, and practiced in the Mineola school system as well.) Devon later explained what was going on: “Melora was reviewing the process of getting challenge submission feedback from mentors, as well as introducing them to a new app called Sprite Editor that we recently released for kids to create art they may want add to their Scratch, Python or Web-based projects. Often it’s their own video game character art.”

When one boy failed a particular challenge, he embraced it, knowing that FAIL means “first attempt at learning.” Three girls came over to help the boy out. It was interesting to watch how they knew their job wasn’t to jump in with the right answer, but to help the boy learn what he didn’t know yet, so he would have the satisfaction of succeeding for himself. This was a far more sophisticated and mature than I would normally expect of kids so young. Instead I would have expected kids that age to show off what they knew, or to one-up each other. But that’s not how the kidOYO approach works.

Have you ever played the red/black game? I remember it as an exercise the human potential movement used to teach in weekend retreats and workshops to show there’s more to be gained from cooperation than from competition. The idea behind the game is to reprogram adults so they value cooperation at as well as competition. My point in bringing it up is that it’s hard to teach adults how to deal with each other in ways that are as empathetic, helpful and vanity-free as what I saw as normal behavior among these little kids.

At Hampton Street, Devon spent most of his time working with a second grader named William Ponce, who was clearly grooving on what he was doing. Later, Devon wrote to explain what was going on:

Here is William Ponce’s portfolio. Every kid has one. You can see badges he has earned. If you click on one of his “Mastery Badges” you will see the “Learning Pathway” that he navigated in earning it, displayed as evidence in the badge. Clicking on the micro badges in evidence will show you the badges earned on way to mastery badge.

Here was helping William earn his first Mastery Badge. Since we left that class, you can see he has earned two more already!!

Our third stop was Mineola High School, which has a fab lab and manufacturing facility. “We actually source product from them,” Devon told us on the way over. “For our store. Coding is the underlying infrastructure, but it’s applied everywhere.”

The Fab Lab is beyond impressive. It’s as big as a lumber yard and has lots of machinery, materials, and students making stuff. Ken Coy, who runs the lab, explained, “We do it all. Welding, electronics, coding, Arduino, hand tools, computer tools. We bring it all together here. We have all the old traditional tools you’d have in wood shop days—drill press, band saw, lathe, tools for sanding—plus all the new stuff that’s both manual and computer controlled. Large format printers, laser cutters…”

When I asked him about Linux, he brought me over to the shop’s Linux CNC (Computer Numerical Control) computerrunning on Ubuntu and attached to a Probotix controller and a router. (Not a network router, but a powered workworking tool that cuts with bits or blades.) In the design class space, Andrew Woolsey (@WoolseyDesigns) showed me a CNC controlled laser cutter where the students were tracing, carving and printing out parts for art projects, signs and much more (which occupied students on adjacent tables). He also showed me a printer as wide as a piano churning out student portraits and posters of amazing quality, including ones for the Mineola Robotics Team (@mineolarobotics), which is apparently (judging from the awards and posters) always competitive. I don’t often see stuff that makes me wish I was fourteen again, but Mineola High School did the job. Walking around the fab lab, the library and the halls, I didn’t see a kid who wasn’t upbeat and engaged, or a teacher who wasn’t the same.

My mind blown, I followed up that one-day tour by asking Devon and Melora a lot of questions that amounted to an interview. Here it is.

DS: How much about Linux, including, eventually, operating in command line mode, do kids pick up, and at what stage? I also want to know how kids learn to be masters across platforms: from Linux to Mac, Windows, Android and iOS, because I saw and heard all of those discussed in the schools we visited.

DL: It varies by program type and mentor interaction. In schools, its limited. While schools are using Chromebook computers which can be dual booted into a Linux Ubuntu environment, this is generally disabled. Some schools will use Raspberry Pi’s that will allow for introduction to Linux OS, but its still rare. To some degree they are limited by the gear they get, and the familiarity with Linux of the mentors. But we support Linux with curriculum whenever it’s possible. And we do our best to push schools in the Linux direction.

In kidOYO programs we run in our own community, outside of school classrooms, Linux engagement is higher. Here it scales with complexity of lessons and the skills of students and mentors. This past semester, our program was hosted at Stony Brook University, and we had ten to sixteen year old students learning to create projects within Linux Ubuntu and GNU Linux OS, as well as Mac plus Windows by installing Windows sub-systems for Linux. They can set up their dev environment with basic shell commands, using Vim, gradle, flask, etc. Skills and proclivities on this path vary widely, but I will say that outside of game development skills specifically, most high level learners tend to be Linux proficient as well. It’s just a corollary I’ve observed over many years. For his Demo Day project to show parents, one kid built Ia multi-player version of Space Invaders in Java using libgdx on his machine running Linux Ubuntu. He did this at age eleven.

Since our platform runs on Linux, and my core team also serves as mentors to kids in these programs, we always enable students to see behind the scenes, and learn why we use certain tools, such as Linux and Vim. To a kid at first this stuff is not obvious, or necessarily relevant. Still, as they advance we show them how Vim works and how it is used, then create challenges for them to try it out. Some kids are tuned to this innately and once they touch Linux and root dev methods via command line, they never go back to the GUI. Others fight it, as you might expect, and prefer GUI computing. Once kids self-identify as interested/proficient in an area like this one, I try to support them sharing their knowledge and interests as they think others should also like learn. Here is one such example, created by 12 year old student who only uses Linux machines.

DS: What is it that makes kidOYO’s approach so different?

DL: Our main goal, which is to influence the way learners—not students—approach learning. This affects both students and teachers, as we create opportunities several ways: one in the context of indie classrooms that our organization leads, another in K-12 classrooms our mentors support, and another in the context of professional development, or PD, allowing teachers to self-provision their needs as a peer-group and as a school district. Our platform serves as foundation for STEAM (science, technology, engineering, art, math) learning across a diverse landscape of tools, methods, toys and concepts, all of which are about self-led learning, which goes beyond pedagogy.

Its not without a fight. There are plenty of pedagogy-centric thinkers in the ranks of teachers and administrators, and plenty of methods to support their priorities. For example, pedagogy-oriented thinkers tend to complain when we give kids real world tools like their own DNS (domain name) + hosting + editors. Instead they prefer limiting use-context of tools, so the kids can’t publish online and complete the feedback loop. Instead of letting kids build their own learning portfolio, they prioritize templated tools with limited functions and limited downstream value for independent learning.

DS: Tell me about your approach to business and open source, because I think it’s unusual.

DL: We think open source needs to be free as in freedom, or liberty. Not that a business based on it has to be free of cost. So we’re all about free code, but we charge for our services. And that’s how we’re bootstrapped. Our services provide nearly all our income. Parents and schools pay us because they get value out of what we do. Even though kidOYO is a nonprofit, that’s our business. And paying for value is part of what makes us a community as well.

Meanwhile, we’re up against corporate giants who may or may not be about open source, but they do give away lots of stuff for free, either outright or on a freemium model. Smaller edtech operations with superficially similar businesses also have a FREE come-on.

DS: But some of your services are free, no?

DL: Yes. With codeLI.org and FredXcoders (in Fredricksburg), all content is created by volunteer mentors, and the depth of engagement tends to be exploratory in nature. These communities run cost free live events, and curriculum resources are produced to support independent engagement. Where that model struggles is with sustained mentor engagement. That’s why we have a member:cost model.

In order to have sustained mentor feedback loops, kidOYO runs member:cost communities. Mentors in these are compensated for their support of student learning. This allows increased diversity in learning progressions for students, and has served as the way we’ve generated revenue for our organization, and funded building all these tools and relationships over the years.

Here we have an opportunity for the platform to support “franchise” community groups. Each franchise group can set its own cost, manage community content, and structure mentor-student memberships locally based on permissions and rules set by community owners. As a non-profit, this becomes a business model capable of provisioning multiple services under the membership definition. IRS rules allow for membership fees of up to $75/year without any reporting requirements.

At kidOYO, we are also about to unveil our direct-to-customer model of memberships, which will be priced at $75 per year, plus the cost of curriculum pathways chosen by members. An OYOclass.com account is always cost-free and allows for data access/ownership/downloading, plus project portfolio and badge portfolio. Joining a community has rules set by the “community owner.” So codeLI.org is FREE, but kidOYO has costs.

Membership in kidOYO will come with some additional benefits, such as discounted member pricing for our live Fall/Spring/Summer events and our swag store. We are currently building a OYOclass API to support this across domains .

Schools are currently paying $35 per year per account at a minimum of 1250 accounts. This represents our charity pricing, with zero margin, as an unfunded non-profit supporting tech and live personnel services. We are lowering the minimum to 500 at $50 per right now, and hoping we can do even better as our efforts scale. Our original goal with zero accounts using the platform was to get under $100, and our new goal is to achieve $20 per account. As a combination of tech plus live personnel services, plus data privacy/fiduciary under legal contract, I think this is strong value proposition.

DS: Unpack your corporate structure a bit more for us.

DL: kidOYO is a registered trademark for educational software and first put in use in 2006. It functions as DBA for NoizIvy.org, a 501(c)(3) nonprofit, which was founded in July 2001 to empower “entrepreneurial learning with technology through creation of products, services and programs in our local communities driven by peer-to-peer exchange and empowerment.” In that role we founded FredXcoders in 2011, in Fredricksburg, Virginia. We also started CodeLI.org in 2012, LI Maker Fest in 2015 (now official Eastern LI Maker Faire), launched the OYOclass.com platform in 2014 and in our first school district in 2015. That was Mineola. Now we’re approaching 75,000 members on Long Island in New York NY and preparing for national and international launch.

I’m the President of the company. Also a Developer and a Lead Mentor since 2001. Melora is the Executive Director. Also Creative Developer and a Lead Mentor since 2001. Bo Feng is a Software Engineer and our CTO since 2014.

Nine people work at NoizIvy.org currently. The three I just named are the core team. We also have four software developer who are also mentors, plus one maker engineer/mentor and one office manager, administrative assistant and mentor. Everyone in the company learns to code if they don’t know how already.

We also have one print book, self-published in 2006, and available online for twenty dollars.

DS: Tell me more about your business. What do you charge? How do you set your price points?

DL: We actually start with the seventh amendment of the U.S. Constitution, which says “where the value in controversy shall exceed twenty dollars, the right of trial by jury shall be preserved.” We all know that amendment as the one giving us a right to trial by jury. But what it actually presents is a twenty dollar bar against triviality, and a distinction between civil rights and market rights. There’s space there, under that twenty dollars, or the modern equivalent, for you to present a small civil case in a courtroom. Within that space is an existential gain in empowerment. It’s also where we have also evaporated our civil rights. So we look at our market, and mark up from that twenty dollars to thirty five dollars. That’s what we charge per student. Again, it’s pretty simple. And the student gets a lot of value for that money. So does the school, if they’re paying.

Now let’s go back to free-as-in-beer, or gratis-type free. Giant companies are taking huge advantage of free, with services consumers get for free while other value is being extracted from them. That’s one issue. Another is the Trojan Horse of free corporate goods and services to schools. Another, for us, is relevant to Linux and open source. In many cases schools are barred at the union level from accepting free services, at least in New York State. But our service isn’t gratis, so we’re cool with that.

DS: Have you taken in payments from any big companies?

DL: We have taken in ten thousand dollars in funding over past years from two corporate entities. Red Hat gave us five thousand, and a Long Island manufacturer, North Atlantic Industries,which makes electronics components used in military industry applications. That is it. We do everything on our own, in relationship with the community we serve. Parents and education leaders drive kidOYO. And the kids too.

DS: Is there a name for your category?

DL: There are two. One is #IndieEDtech. That’s the hashtag. The other is creative computing, which comes from the MIT Media Lab‘s Lifelong Kindergarten and and their Scratch perspective on CS.

DS: Is there a list of what we might call competitors here? Or just projects and companies kind of in the same business, or with similar goals?

DL: The FreeCodeCamp model exists in abundance, but it’s not really competitive. While it’s a free thing anyone can access, they spend most of their online real estate begging for donations. I’m not really down with the “begging” business model. Ask or beg for twenty dollars and its the same outcome. When you do that, you get trounced on by behavioral manipulation outcomes that distort the meaning of free-as-in-liberty initiatives. Codeacademy, CoderDojo and Code.org all have a different business approaches, but all use FREE-as-in-beer as a tool. When you look at the downstream relationships among their funding sources, however, more meaning is revealed. There’s a big donor status quo behind them.

#indieEdtech and kidOYO stand apart in the creative computing camp. Nobody else has our advocacy for public-benefit technology and skills that individuals own root authority over.

For a long time, our messaging was unlike any other. Only recently has the messaging of Apple turned in our direction on the data privacy side, but still we’re still dealing with “corporate EDU” having different priorities than #indieEdTech. So we do compete, in different ways, with Apple, Google, Amazon, Microsoft and Salesforce, all of which have their own corporatized approaches to teaching kids computing. We compete with all of them as a small, or even tiny, non-profit. And we do go up against these behemoths every year, in every school, in every program offering we produce.

Because we’re independent, we can be very competitive. We are beating the big corps in direct contract negotiations. Their FREE approach versus our cost-with-integrity one go head to head, and we often win.

And, to be clear, we’re not always against what they bring. We’re glad to make use of the iPads and Chromebooks the schools get from big donors. But what we’re about is utterly independent of every behemoth’s businesses and goals for themselves.

DS: How about foundation or government funding?

DL: Something like 1.3 Billion got pledged pledged in support of CS education in 2018, and I expect kidOYO would be rejected by all of these sources of funding. I say that based on experience. We always get shot down. That’s because the goals, whether explicit or veiled, are for corporate expansion of influence and methods. Not for fostering general adeptness of independent learners. So we no longer bother.

DS: Tell me more about how you things are spreading geographically on Long Island, and how that models growth, both geographically and in other ways.

DL: You ask at a good time. We had a meeting with ten school districts yesterday. It involved superintendents, assistant superintendents of curriculum and instruction, directors of technologies, and lead teachers that focus on integrating kidOYO “code, make, own” in various parts of the middle school experience: grades five to eight.

The context was the first inter-district competitive hackathon on Long Island. Ten teams of eight students and coaches will be come together to engage in a social competition framed around “creative computing.” CS, engineering, making, art, game development, math, English, science and data-data-data will all be in the room during this event. And yet, “creative computing” among those peers will own the spotlight.

This is significant because in this area of learning—talent development and discovery, social creativity with imagination and empathy—stands out starkly against the historical basis of “computer science,” which is defined by its focus on research.

In so many ways, creative computing is enabling a different perspective on technology. Old school CS people do not present a developmental pathway I am excited about advocating to my kid, let alone yours. I find that too many people on this path put technology in front of humanity far too regularly. Can’t drive? Build self-driving cars. Can’t cook? Build UberEats. Can’t generate human empathy and personal imagination? Access sci-fi novels and support dystopian narratives of diversity in culture-producing outcomes.

On the other hand, creative computing is a paradigm shift away from that. It opens up a new context for the human-technology relationship: one that pursues framing on the basis of functional outcomes.

As we prep for this kind of event, we talk and discuss the creative computing perspective with education leaders that rarely get exposed to it otherwise. Every opportunity to bring this perspective to institutional players is a powerful step forward.

DS: Tell me more about your pitch. It must be interesting, because what you do is so radically different. And your website isn’t clear enough to me.

DL: Actually, what I have on site is misleading, by intent. Ive been throwing off competitors from swiping our concepts for years. I only have specific things on our sites that we can point at and clarify in personal conversations.

kidOYO.com only processes registrations for live events, which funded our operations for many years. OYOclass.com only sells a narrow description of what our platform can do, and sales only happen face-to-face. Our community of members and active users have a very unique and personal experience within our tools and with our community experience.

In essence, kidOYO is a creative computing and entrepreneurial learning management system. It is comprised of distinct components allowing it to have a multitude of market-based utilities and relationships. These include

Personal learning tools, curriculum, mentor-feedback loops, and data-management capabilities over portfolios, micro-credentials, DNS, and web hosting configurations used by young learners engaging in “coding, making, owning” subject matter. Community infrastructure for entrepreneurial leaders bringing FREE & Cost-based service relationships to their business or charity. School infrastructure used for CS/Engineering/Entrepreneurship instruction and Professional Development, as well as for portfolios, micro-credentialing systems (which replaces report cards in some cases) and challenge-based learning. University infrastructure for Creative Computing/CS/Engineering/Entrepreneurship, providing every student root creative tools and data control across diverse domains of study, including a micro-credentialing system, portfolios, domains + hosting, and more. Mentoring system, for direct feedback loops useful in community education with focus on creative computing/CS/Engineering. Micro-credentialing platform, supporting open badges used in K-12, University, and community programs. Portfolio system, for use by students/teachers in documenting their own creative learning work for University admissions or workforce outcomes. Business model infrastructure—our most aggressive push, to change how community-based groups, businesses, schools and universities consider their evolving relationship with “customers” in a world where all participants own root value.

As you see, our biggest challenge has always been describing what we do. We do a lot, and it’s hard to say it briefly.

I am also fond of pointing out as a 501(c)(3) leader and developer of entrepreneurial outcomes, charity and entrepreneurship start the same way: when someone volunteers to solve a problem. We’re trying the build the creative infrastructure that supports those people, on a foundation that respects individuals as the root of community value.

DS: I’d like to know more about kidOYO’s background. I know you and Melora are from Long Island, and you’re here now; but you got your start with a toy business in Virginia. Tell me how you got from here to there to here again.

ML: I grew up in what many would consider an unconventional household.  My Dad was a unique mix of tinkerer, artist, dare-devil and outright crazy person. I am not sure he was prepared to have a girl to be honest. That produced…well…me.

It’s relevant to point that out first, because his unconventional approach to parenting created someone who was never raised with gender “limitations..  I spent a good deal of my childhood immersed in projects in his shop out back. Although he was more than capable, he rarely created for the sake of practicality so there was never any fear of failure mixed into anything he or I did. The freedom to fail and laugh at those failures helped to shape me into someone who jumped into a any project I found interesting without worrying about the end outcome.

I had a tremendous amount of freedom, not being defined as a girl or a little kid in my environment. I could use any tool, any material, any method and make for the sake of making. I was trusted to fail through my own process of exploration when I was with my Dad. I was able to learn by doing and playing and that is how I approach my life still. I love to create new ways to learn through play.  I studied Psychology at Stony Brook University, and when I took my first cognitive psychology class I was hooked. Really, everything I have done since then has been connected to the idea of teaching new skills to young brains.

I also learned along the way that I am a visual hands on learner. I think in pictures, so having the power to create digitally and with code has been so empowering for me. It gives me an unique ability to convey complex concepts to kids because I automatically turn problems/solutions into pictures.

DL: So I went to high school on Long Island. Melora and I met there too, though we didn’t get together for good until much later.

In high school, my aim for college was to play baseball and basketball. After a very successful time at that in high school, I hoped to get a scholarship at Columbia, but I got injured. I recovered well enough to get a scholarship to George Mason University, but there my interests became more academic and entrepreneurial, especially around technology.

That interest began with my first programming experience, which was on a Commodore 64 and soon after on an Apple IIe, when I was around nine and ten. Neither of my parents had any technical proclivities, but they put those things in front of me and I took advantage of them.

In high school, I discovered the magazine 2600 and how to hack into phone networks to make free calls using low-tech methods like a whistle to simulate tones unlocking long-distance calling capabilities. In terms of programming, I started in a Windows environment before Linux came around and I just had my own local environment to play with. I also ordered a CD-ROM on programming in C around that same time and played with that.

It wasn’t until 1992, when I entered college in Fairfax, Virginia that I started falling in love with programming on the Internet. Looking back, I was hacking around with ASP, PHP, HTML, databases… never learning in a formal setting, since none of this was covered in the CS classes I enrolled in. I was just playing, and trying to find resources that could help me better understand the dependencies and histories of languages, their ideal uses, and so on.

I learned everything by trial and error, finding others I could ask questions, and playing around with ideas. That was my learning method.

As the Web expanded, my learning expanded right along with it. I count myself lucky to have come of age at a time when the Web was doing the same, and people were making learning resources available online. As a lifelong entrepreneur, I am convinced that learning to code has been essential for me in learning to create in business. As an athlete, I self-taught my advanced skills, but never contemplated the role of failing forward and failing fast in skill development. I simply loved playing, and that was my focus.

As an entrepreneur and programmer, failing was not fun or playful. I had to discover something about my own attitude towards skill development that was crucial in sports and life in order to succeed in both. I never realized that it took personal courage and a productive attitude to overcome failure. I never realized that I had positive expectations sustaining my efforts through failures. I never counted how many shots I missed, or errant balls I threw. I just played with endless enthusiasm.

Becoming mindful of the process of learning to succeed by failing forward changed everything for me. It affected the speed I embrace in creative work: to start, fail, change methods, fail, iterate, fail, shift focus, fail, and keep moving forward with eyes on the objective, which is that I remain interested and enthusiastic about pursuing what I learn. None of this required me to be naturally gifted; it only mattered how I did what I did to improve.

So that is the root message of my own learning that I bring to all our programs: “Fail Forward, Fail Fast.

My non-profit interest traces back to my upbringing in a home that heavily leans left, with lots of social workers, economists, and university degrees in the ranks of my relatives. One of my first jobs was working for a local homeless shelter on Long Island delivering food to their shelters. I met women with Ph.Ds who were homeless, and who changed my perspective on what real poverty was. That influenced much of what I do. I am a big believer in empowering people, and helping them overcome the structural deficiencies that separate the haves from the have nots. At the root of my efforts is a constant interest in understanding entrepreneurial creativity, economics, and personal skill development—and helping people advance all of those.

I founded our non-profit in Virginia after attending the university, and then staying around Fairfax during the time when the Internet and the Web were entering the public sphere of interest and influence. My energies, throughout my entire adult life, have been entrepreneurial in nature, and the non-profit allowed me to bring technology skills and subjects into contact with kids and families in a powerful way. I simply volunteered to teach, to share ideas. And over time that work grew based on the interaction that those people were having with my ideas and methods.

OYO—own your own—has been the guiding philosophy behind our efforts. For young people and families, it resonates in a simple and powerful way. Kids get it immediately. Self-sovereign empowerment, personal data control, and skill development are all baked into of our methods and tools. From the beginning, our kids have always had control of their learning outcomes, their data, their methods, their paths of study, their voices, and their ability to make mistakes: to fail forward. Its all baked in. Kids follow what I talk about. When I visited the United Nations to discuss the role of identity in Human Rights, they knew why I was there. I went into schools and built projects with kids using Scratch and Python languages, explaining the the UN’s Universal Declaration of Human Rights and discussing how children are affected by such simple things as having a self-sovereign identity they truly own, and how administrative identifiers given to them is not the same thing.

The toy business grew alongside this. With Melora’s background in psychology, and our own son creating needs that drove solutions, sensory play products, construction play products and technology play were front and center every day. As a Dad, I tested my own ideas about the earliest ages different methods could develop an entrepreneurial mindset about skill development and participation in Society for kids as creative human beings. At age three, our son was delivering eggs from his backyard chicken farm to neighbors, setting prices, tracking expenses on crayon drawn charts, and learning that root authority in this life is personally created, as are the products and services that allow people to make money. Not jobs. That’s a concept that shows up much later. Only now, at age thirteen, and about to turn fourteen (the working age) has this become a subject of inquiry. On a foundation he owns, all possibilities exist for him to explore.

DS: We’ve talked about the effect of your work on kids, and Dr. Nagler talked about those kids’ effect on the world. He also talked a bit about the challenges his schools would face adapting to your methods, and how they tend to rocket kids upward in expertise faster than the existing system can handle. Now I’m wondering where you see this going for formal education?

DL: I see education splitting into two philosophical pathways.

One is old-school CS/E, with roots in research pedagogy. This has all the hallmarks of a lack of gender/race diversity and tends to attract specific types of students, led by traditional types of teachers. Most CS programs cannot support demand from students on University campuses today, and in K-12, the focus on AP CS testing requirements, as context of learning, remains broken. For example, where no computer is needed for final test. It’s all paper and pencil responses. But this is the default system, and it will persist, because it’s deeply institutional.

The other is creative computing in CS/E. MIT leads the way here, with forty percent of their undergrad population studying CS, according to a recent New York Times article. Harvard CS 101 also supports this path by starting students off with Scratch language. It also reports higher engagement by girls/minorities. What matters, as far as we’re concerned, is that creative computing works. It vastly outperforms old-school CS. And at some point, the market will move in the creative direction, because the demand will be there. And many of the kids in our communities today will supply that demand.

DS: What are the larger implications of that, outside the academy?

DL: Mainly ramifications for the future workforce. It will apply everywhere because CS applies everywhere. We live in a digital world now. You’ll see it in physics, applied math, arts, humanities, and social sciences. Anywhere the creative use of data and computing methods will make a difference.

And one of those differences will be empathy for local human conditions. This is sometimes lacking, radically, on the traditional path. We see this in all the ethical arguments against the abuses of people by many typical VC-funded Silicon Valley companies.

DS: We didn’t talk much about what you’re doing with other institutions outside Mineola. Can you give me a rundown of what’s happening in Stony Brook and other places? I want to get a sense of how your fires start and spread.

DL: So far, we are working with less than fifty percent of the hundred and thirty school districts on Long Island. There is plenty of potential, but many of the remaining districts here are not in a position to work with us, either due to their own budgetary planning and pension funding requirements, or due to lack of computing resources, such as laptops and computers for kids and teachers, or even functioning Wi-Fi. Those are real obstacles to progress.

The biggest obstacle is admin-level and teacher familiarity with this type of literacy. You can imagine the looks of confusion we encountered describing what we were doing in 2012. It’s getting better in 2019, but there is still lots of room for improvement. Setting accurate expectations is another challenge. Too often school leaders do not believe this type of learning is accessible to five, six, and seven-year-old kids, in a practical/meaningful way. So they stop waaayyy short of what kidOYO offers, choosing much lower level “digital literacy” pedagogies that make sense to a Facebook/Instagram user, with almost no context of functional literacy. In these cases, parents route around the problem of low-performing schools and bring their kids directly to our programs in large numbers. That can influence schools as well. We don’t need to push. The parents and kids do that.

At Stony Brook, we are actively discussing our own capability to support an “OYO University” self-led model of learning with mentor support on campuses that are struggling to meet the demand of students for this kind of learning. Stony Brook has been a great partner of ours for many years, with around six hundred fifty students enrolled in their Computer Science degree program. The demand from non-CS students to take CS classes is so high that they had to shut out students from enrolling in CS classes. And this is by no means unique to SBU. It’s happening all over the country and the world.

We are about to release OYO University platform deployments broadly as well. We just pitched SBU on our ability to support their 25,000 undergrad students starting in Fall 2019, and we’re looking for a first University partner to provide CS/E/Coding to all students on their campus.

Toward that, to date we’ve donated $125,000 to the SBU Foundation in support of a “Mentor Service Award.” That’s a lot for an unfunded non-profit. And this could scale with help.

This is just a fraction of what we talked about since our visit to see kidOYO at work. And I have to say that I want to be cautious about getting too enthusiastic. Reporters are supposed to be as objective as possible, and not to get emotionally invested in what they cover. But without emotional investment Linux wouldn’t be here, and neither would Linux Journal.

Marshall McLuhan taught that our tools are extensions of our selves, and that they shape us after we shape them. He also said every new medium “works us over completely.” That’s what’s happening in our new digital age, which is still very new.

Not long ago I was talking with Joi Ito, an old friend who runs the MIT Media Lab, about historical precedents for what we might call our species’ digital transition: the one by which we become digital as well as physical animals. Was it as big as the industrial revolution? Movable type? Writing? Speech? Joi said, “I think it’s the biggest thing since oxygenation.” In case you’re counting, that happened about two and a half billion years ago. It’s a big deal.

There’s a dystopian way of looking at what becoming digital does to kids. There’s also a utopian one. Both are polar extremes that surely won’t happen. But after watching these kids in Mineola learn, and help each other, and invent stuff both for fun and because it’s useful, and become so adept, so fast, at creative computing… well, color me optimistic. With these kids, and others like them, the world is on good hands.


Simon Willison

Australia/Lord_Howe is the weirdest timezone

Australia/Lord_Howe is the weirdest timezone Lord Howe Island - part of Australia, population 382 - is unique in that the island's standard time zone is UTC+10:30 but is UTC+11 when daylight saving time applies. It's the only time zone where DST represents a 30 minute offset. Via lobste.rs Tags: timezones

Australia/Lord_Howe is the weirdest timezone

Lord Howe Island - part of Australia, population 382 - is unique in that the island's standard time zone is UTC+10:30 but is UTC+11 when daylight saving time applies. It's the only time zone where DST represents a 30 minute offset.

Via lobste.rs

Tags: timezones


The Pragmatic Engineer

The Pulse #113: Engineering culture at Google vs Meta

Also: AI now generates 25% of code at Google; Deep cuts at profitable companies like Dropbox and Miro; Business booming at the likes of Google, Meta and Microsoft, and more.

The Pulse is a series covering insights, patterns, and trends within Big Tech and startups. Notice an interesting event or trend? Send me a message.

Today, we cover:

Industry pulse. AI creates 25% of new code at Google, GitHub Copilot ditches ChatGPT exclusivity, Arc browser struggles for mainstream attention, Microsoft engineer shrinks a huge Git repo by 94%, Mozilla could become an ads company, and more.

Engineering culture at Google vs Meta. Software engineer Roman Kirillov joined Google after 14 years and shares impressions on how the two companies differ, and how they are similar. A “monolithic” engineering culture at Meta, talking about moving fast — and then moving really fast and outages being more “everyday events” than at Google.

Deep job cuts at profitable companies: Dropbox, Miro. Both companies are growing and make a profit, but still did cuts around 20%. A reminder that laying off while being profitable is a real downside of going public or taking VC-funding.

Big Tech: business is booming; what recession? The largest tech companies are doing very well-busiess-wise, recent result show. They all seem to hire at a more conservative pace than how their revenue is growing, though.

1. Industry pulse AI creates 25% of new code at Google

It has barely been two years since ChatGPT was released and took the world by storm. Google responded with Bard – now renamed Gemini – and today, the majority of software engineers use some kind of AI coding assistant.

Google has built and rolled out internal, custom GenAI tools, and uses these actively. This week, CEO Sundar Pichai shared during the company’s earnings call that “more than a quarter of all new code at Google is generated by AI, and then reviewed and accepted by engineers. This helps our engineers do more and move faster.”

Most focus is on the “25%” figure, but I’m more interested in “reviewed and accepted by engineers.” Google is known to use very heavy testing automation and modern shipping approaches like canarying, feature flags, experimentation, etc. Despite this, no GenAI code ships to production without human review! I think they’re right to not trust GenAI by itself.

Google is invested in making GenAI a success, and Gemini is a growing part of their business. So it’s safe to assume that Google is further ahead than its competitors in integrating Gemini (and GenAI) into its engineering pipeline. Google has been a trailblazer at innovating large-scale software engineering approaches, and GenAI code generation will be the norm across Big Tech. I suspect it already is.

GitHub Copilot ditches ChatGPT exclusivity

Read more


IdM Laboratory

IIW 39 Day2クィックレビュー

こんにちは、富士榮です。 ということでInternet Identity Workshop(IIW)も2日目です。 今日は朝からワーキンググループコールも入っていたので早めの時間から会場でZoomコールをしていたのでより疲れました。 ということで、本日のレシピは、 Delegation + Impersonation for Agents on behalf of human Wallet + Key Attestation Zero Knowledge Proof for mdoc Originator Profile JSON-LD VC with BBS Signature の5本です。 ということで観ていきます。 Delegation + Impersonation for Agents on behalf of human…
こんにちは、富士榮です。
ということでInternet Identity Workshop(IIW)も2日目です。
今日は朝からワーキンググループコールも入っていたので早めの時間から会場でZoomコールをしていたのでより疲れました。
ということで、本日のレシピは、 Delegation + Impersonation for Agents on behalf of human Wallet + Key Attestation Zero Knowledge Proof for mdoc Originator Profile JSON-LD VC with BBS Signature の5本です。
ということで観ていきます。 Delegation + Impersonation for Agents on behalf of human… OIDC, OAuth まずひとつ目です。最近よくきくエージェントに自分の代わりに何かをさせましょう、って話です。

まぁ、色々と話はしましたが結果的にOAuthのモデルに当てはめるとどう考えられるのか?という話だったのでそれほど目新しさはなかったですね。
当てはめとしては、 Resource owner : End user Client : Agent Relying party : API とおいているので、まぁそうでしょうねぇ。
Agentかどうかは置いておいて普通のOAuthですね。Token Exchangeつかえそうだね、みたいな話もありましたが。
Wallet + Key Attestations - Paul, Christian, Kristina ドイツのWalletの検討の話です。かなりノウハウが溜まってきていますね。
検討の対象は以下の2つのアテステーションです。 Wallet/Client Attestation:ウォレットが正しいかどうかを示す Key Attestation : キーストレージの状態とユーザの認証状態を示す EUでは政府認定の民間ウォレットに対して国がクレデンシャルを発行する、というモデルを取るため、野良ウォレットでないこと、ユーザが認証されていること、秘密鍵がちゃんと管理されていることを示さないとクレデンシャルの発行など怖くてできないわけです。
チェックのタイミングについても色々と考えていて、 Issuerがクレデンシャル発行をする際:WalletもKeyも必須 ウォレットからVerifierへクレデンシャルを提示する際:オプション(Issuerが発行時に確認しているから推移的に確認できる、という判断もあり)

アテステーション自体はWallet Providerが発行します。 ここの発行・管理プロトコルは標準化されていませんが、いずれ標準になってくるのかもしれません。(まぁウォレットベンダーがそれぞれやってよ、でもいいんだと思いますが)
この仕組みがあることで、以下のようなシナリオに対応ができるようになります。 スマホの機種変更 複数端末の利用の管理 端末を盗まれた、無くした ウォレットに脆弱性が見つかった どう言うことかと言うと、Issuerはクレデンシャルを発行する時に発行先のWalletの情報(アテステーション)を管理しているので、ウォレットプロバイダがウォレットアテステーションをRevokeするのをトリガーにIssuerは発行済みのクレデンシャルをRevokeする、という使い方ができます。こうすることで機種変更時や盗難時などに以前の端末に入っていたクレデンシャルを一括で無効化できるので安心、というわけです。 属性証明と違って本人確認書類とし利用する身分証明書となるとやはり発行管理が必要になるので、日本のように民間のウォレットがマイナンバーカードに依拠したクレデンシャル(いわばマイナンバーカードのコピー)を身分証明書として利用できるなんて変なことは起きないわけですね。
ちなみにVerifierに提示する際にWalletアテステーションを提示するかどうか、って議論もありましたが個人的にはLinkabilityが上がっちゃうのでやめたほうがいいんじゃないかな?って思います。やっぱりIssuer側でちゃんと管理って世界なのかと。
Zero Knowledge Proof for mdoc - Google 次はGoogleの方からmdocに関するZKPの実装の話です。
先ほどのWalletアテステーションのセッションのところにも書きましたが、mdocでもSD-JWTでもプロトコルの一部としてリンク可能性を高めてしまう情報が埋め込まれてしまうことがあります。 これをなんとかできないか?って話ですね。

そうするとデバイスとのバインドを示す鍵の置き場所はSEに限られてしまう、と。 この鍵はPresentation時に使われるので、BBS+などIssue時にデバイスバインドされた鍵の変更を要求する仕組みを使うのは非常に難しいってことになってしまいます。何しろ一番下のレイヤーの変更をしなきゃいけないって話になるので。
mdocやSD-JWTで選択的情報開示をすることでデータ見にマイゼーションの問題が解決できたとしても、リンク可能性の問題が残っちゃうよね、って話は前からありましたが、いよいよそこに手をつけ始めようとしている感じですね。


Googleでは内部ロジックの高速化などを図り、BBS+など従来の”スマートな”方法ではない方法(Hyrax)を模索していく、ということです。

Originator Profiles - Shigeya Suzuki 鈴木先生によるオリジネータープロファイルの話です。 何気に中身を詳しく聞いたことはなかったので非常に興味深かったです。 https://originator-profile.org/ja-JP/
コンテンツの発行元とコンテンツの内容の真正性の両方をちゃんと検証できるようにしましょう、って話に加えて認められた場所(アグリゲーターなど)でその情報が発信されているかどうかを確認できるようにしましょう、という仕組みです。
現状はブラウザにエクステンションを入れてチェックするとブラウザの中で表示されているコンテンツ(ニュースなど)がどのメディアによって発行されたものなのか、そのメディアはどう言うプロファイルなのかなどが確認できるのと、ちゃんと許可されたサイトでコンテンツが表示されているか確認できます。
偽情報・誤情報を利用者自身で確認できるようになるのはいいですし、広告主が意図しないサイトに広告が掲載されてしまうことが防げるようになるとブランドイメージの保護などにも役立ちそうです。
今後が非常に楽しみです。

JSON-LD VC with BBS - Dan Yamamoto 最後はIIJの山本さんのBBSの話です。

BBSの部分は前回まででほぼ完成しているので今回のポイントはやはりリンク可能性です。今日はこのテーマで1日終わった感じです。やはり熱い領域です。
山本さんのアプローチはPseudonym did:keyを使うということです。 これはひとつの秘密鍵に対応する複数の公開鍵を作成できる技術をうまく使ってIssue時、Verify時にSubject Identifierとして使う署名検証鍵を含む識別子(did:key)の出汁わけができる、と言うことです。
ドメイン単位でこれを使うことでInner domain linkabilityとinter domain linkabilityの両方を実現できるわけですね。


まだ標準化へ持ち込めているわけではないそうですが、今後の標準化が望まれますね。

ということで明日は最終日です。


Ben Werdmüller

Exploiting Meta’s Weaknesses, Deceptive Political Ads Thrived on Facebook and Instagram in Run-Up to Election

[Craig Silverman at ProPublica and Priyanjana Bengani at the Tow Center for Digital Journalism] "The network, which uses the name Patriot Democracy on many of its ad accounts, is one of eight deceptive Meta advertising operations identified by ProPublica and Tow. These networks have collectively controlled more than 340 Facebook pages, as well as associated Instagram and Mess

[Craig Silverman at ProPublica and Priyanjana Bengani at the Tow Center for Digital Journalism]

"The network, which uses the name Patriot Democracy on many of its ad accounts, is one of eight deceptive Meta advertising operations identified by ProPublica and Tow. These networks have collectively controlled more than 340 Facebook pages, as well as associated Instagram and Messenger accounts. Most were created by the advertising networks, with some pages masquerading as government entities."

Despite Meta's claims that they were cracking down - which were likely backed up with real efforts - ProPublica ad Tow have discovered that there are plenty of ad networks out there spreading misleading election information.

The issue is likely not to do with Meta itself but the way these targeted ad networks work to begin with. The fact that a company as large as Meta, which is absolutely incentivized to stop these ads from spreading, effectively can't, is an indictment of the model. There's no way that they can proactively approve ads before they run at the scale their business operates, so some will always get through.

That said, there are some serious policy failures here, too:

"Meta removed some of the ads after initially approving them, the investigation found, but it failed to catch thousands of others with similar or even identical content. In many cases, even after removing the violating ads, it allowed the associated Facebook pages and accounts to continue operating, enabling the parent networks to spawn new pages and ads. [...] Our analysis showed that while Meta had removed some pages and ads, its enforcement often lagged or was haphazard. Prior to being contacted by ProPublica and Tow, Meta had taken action against roughly 140 pages affiliated with these eight networks, representing less than half of the total identified in the investigation."

Cracking down on these networks too forcefully could also create a chilling effect throughout the network of potential advertisers, making a real impact on Meta's bottom line. And, of course, that's not something that any product manager watching their progress towards their quarterly OKRs wants to do.

#Democracy

[Link]


John Philpin : Lifestream

What does the Kiwi world think? Is he spot on or smoking som

What does the Kiwi world think? Is he spot on or smoking something ❓

What does the Kiwi world think? Is he spot on or smoking something ❓


It’s not just being different. It’s not only being the ‘only

It’s not just being different. It’s not only being the ‘only one that ‘does what you do’ (hat tip to ‘Jerry’). It’s not just following your dreams. It’s all of that - at the intersection of letting go of the ‘woulda coulda shoulda’ and wrapping that all up in a package that others value and give a shit about. 🔗 Evan Shapiro on LinkedIN Part of an occasional series focused on the 🧶 thinking and

It’s not just being different. It’s not only being the ‘only one that ‘does what you do’ (hat tip to ‘Jerry’). It’s not just following your dreams. It’s all of that - at the intersection of letting go of the ‘woulda coulda shoulda’ and wrapping that all up in a package that others value and give a shit about.

🔗 Evan Shapiro on LinkedIN

Part of an occasional series focused on the 🧶 thinking and methods. of 🧶 People First. Time will tell if it becomes something bigger like a book or ‘manual for survival’ (though that is the plan.)

🔗🔎 BusinessBytes | 🔗 More

Wednesday, 30. October 2024

John Philpin : Lifestream

Love Is Not All - Edna St. Vincent Millay

Love is not all: it is not meat nor drink Nor slumber nor a roof against the rain; Nor yet a floating spar to men that sink And rise and sink and rise and sink again; Love can not fill the thickened lung with breath, Nor clean the blood, nor set the fractured bone; Yet many a man is making friends with death Even as I speak, for lack of love alone. It well may be that in a difficult

Love is not all: it is not meat nor drink
Nor slumber nor a roof against the rain;
Nor yet a floating spar to men that sink
And rise and sink and rise and sink again;
Love can not fill the thickened lung with breath,
Nor clean the blood, nor set the fractured bone;
Yet many a man is making friends with death
Even as I speak, for lack of love alone.
It well may be that in a difficult hour,
Pinned down by pain and moaning for release,
Or nagged by want past resolution’s power,
I might be driven to sell your love for peace,
Or trade the memory of this night for food.
It well may be. I do not think I would.

Love is Not All by Edna St. Vincent Millay - Poems | Academy of American Poets


Just in case you are having any kind of upbeat moment today,

Just in case you are having any kind of upbeat moment today, this will drag you back down to despondency and depression. 🔗 Trump’s clown car cabinet - by Lisa Needham and Aaron Rupar

Just in case you are having any kind of upbeat moment today, this will drag you back down to despondency and depression.

🔗 Trump’s clown car cabinet - by Lisa Needham and Aaron Rupar


🔗 It takes courage to take any kind of stand against ‘the fl

🔗 It takes courage to take any kind of stand against ‘the flow’, much less a principled one. The story reminded me of the much heralded Saudi launch of LIV back in 2022, but the short post is really seeking a solution to a totally different, yet related dilemma. Feel free to weigh in. 🔗🔎 BusinessBytes | 🔗 More

Simon Willison

Creating a LLM-as-a-Judge that drives business results

Creating a LLM-as-a-Judge that drives business results Hamel Husain's sequel to Your AI product needs evals. This is packed with hard-won actionable advice. Hamel warns against using scores on a 1-5 scale, instead promoting an alternative he calls "Critique Shadowing". Find a domain expert (one is better than many, because you want to keep their scores consistent) and have them answer the yes/n

Creating a LLM-as-a-Judge that drives business results

Hamel Husain's sequel to Your AI product needs evals. This is packed with hard-won actionable advice.

Hamel warns against using scores on a 1-5 scale, instead promoting an alternative he calls "Critique Shadowing". Find a domain expert (one is better than many, because you want to keep their scores consistent) and have them answer the yes/no question "Did the AI achieve the desired outcome?" - providing a critique explaining their reasoning for each of their answers.

This gives you a reliable score to optimize against, and the critiques mean you can capture nuance and improve the system based on that captured knowledge.

Most importantly, the critique should be detailed enough so that you can use it in a few-shot prompt for a LLM judge. In other words, it should be detailed enough that a new employee could understand it.

Once you've gathered this expert data system you can switch to using an LLM-as-a-judge. You can then iterate on the prompt you use for it in order to converge its "opinions" with those of your domain expert.

Hamel concludes:

The real value of this process is looking at your data and doing careful analysis. Even though an AI judge can be a helpful tool, going through this process is what drives results. I would go as far as saying that creating a LLM judge is a nice “hack” I use to trick people into carefully looking at their data!

Via Hacker News

Tags: evals, generative-ai, hamel-husain, ai, llms


docs.jina.ai - the Jina meta-prompt

docs.jina.ai - the Jina meta-prompt From Jina AI on Twitter: curl docs.jina.ai - This is our Meta-Prompt. It allows LLMs to understand our Reader, Embeddings, Reranker, and Classifier APIs for improved codegen. Using the meta-prompt is straightforward. Just copy the prompt into your preferred LLM interface like ChatGPT, Claude, or whatever works for you, add your instructions, and you're set.

docs.jina.ai - the Jina meta-prompt

From Jina AI on Twitter:

curl docs.jina.ai - This is our Meta-Prompt. It allows LLMs to understand our Reader, Embeddings, Reranker, and Classifier APIs for improved codegen. Using the meta-prompt is straightforward. Just copy the prompt into your preferred LLM interface like ChatGPT, Claude, or whatever works for you, add your instructions, and you're set.

The page is served using content negotiation. If you hit it with curl you get plain text, but a browser with text/html in the accept: header gets an explanation along with a convenient copy to clipboard button.

Tags: llm, jina, generative-ai, ai, documentation, llms


Ben Werdmüller

Democratising publishing

[John O'Nolan] This is a genuinely inspiring post from John O'Nolan about the foundation behind Ghost and how it operates. It feels like a blueprint for so many open source projects. "The business model was simple: We would make a great open source product that people wanted to use. Those people would need a server to use the product, so we would also sell web hosting.

[John O'Nolan]

This is a genuinely inspiring post from John O'Nolan about the foundation behind Ghost and how it operates. It feels like a blueprint for so many open source projects.

"The business model was simple: We would make a great open source product that people wanted to use. Those people would need a server to use the product, so we would also sell web hosting. The revenue from our hosting would fund further development of the open source product."

This sounds simpler than it is. I tried it and failed - but John, Hannah, and team have made it work well, growing a dedicated community around a high-quality, well-designed product that serves a specific set of needs really well.

This will be interesting to watch:

"So, as we reach our headcount limit of 50 people — which is likely to happen in the next couple of years — our intention is to expand the seats on Ghost's board of trustees beyond myself and Hannah."

John describes it as part of building "a more diverse and representative governance structure" for Ghost. There are lots of ways to cut that, but he paints a strong picture that includes bringing in the community and upholding transparency.

What also blew me away here was that Ghost was profitable eleven days after launching its hosted service, which in turn was released not long after the initial Kickstarter campaign was closed. I'd love to hear more about how much of the platform was already built and how they pulled that together.

#Technology

[Link]


IdM Laboratory

IIW 39 Day1クィックレビュー

こんにちは、富士榮です。 今年もInternet Identity Workshop(秋)が開催されています。 場所はお馴染みComputer History Museum@マウンテンビューです。 世界中からIdentity Geek達が集まってきて生煮えの技術について話し合います。 (まぁ、SIDI Hubを含めいつもの面々ですが) ということでDay1について見ていきましょう。 Progressive Trusted Registry - Dmtri, etc お馴染みのDmtri達の新しい論文をベースにしたセッションでした。 https://docs.google.com/document/d/1sZ7za4gwyKopd576eAWUGHZ-Q_vWd8aqdm7v-X1INEk 外だったので若干寒かったです。。 テーマは、ど
こんにちは、富士榮です。
今年もInternet Identity Workshop(秋)が開催されています。 場所はお馴染みComputer History Museum@マウンテンビューです。
世界中からIdentity Geek達が集まってきて生煮えの技術について話し合います。 (まぁ、SIDI Hubを含めいつもの面々ですが)
ということでDay1について見ていきましょう。
Progressive Trusted Registry - Dmtri, etc お馴染みのDmtri達の新しい論文をベースにしたセッションでした。 https://docs.google.com/document/d/1sZ7za4gwyKopd576eAWUGHZ-Q_vWd8aqdm7v-X1INEk
外だったので若干寒かったです。。
テーマは、どうやってTrusted Registryを構成するか? KYC後、インクリメンタル・プログレッシブにトラストを構成していくためにLinked Claimsを使っていくアプローチについてのディスカッションです。 レピュテーション、他のトラストフレームワークによって管理されているEntityから発行されたVerifiableなアテステーションを用いる、などなど。 レピュテーションを買えてしまう時代なので、ネガティブClaimをうまく使ってノイズをフィルタリングをしていく、などのアプローチについて議論が行われました。 グラフ理論ですな。昔のConnect.meとかrespect networkの話を思い出しました。 レピュテーションのスコアリングの話も出ましたが、まぁ、結局はVerifierがクレデンシャルのIssuerを信じる度合いは、VerifierとIssuerが同じコンテキストにいるかどうか、というあたりも大きな要素ですよね、って話もあり、モデリングは非常に難しいよね、って話をしたりしました。共感認知の話ですな。
しかしこうやって見ていくと、みんなセントラル・レジストリを作りたがるんですよね。。 ダイナミックにGraphを構成したりDiscoveryしたりするための分散データベースのようなアーキテクチャの方がLinked Dataには合っている気がするんですが。 結局、やりたいことってSemantic Webですよね。。

Digital Fiduciary Initiative - Joe Andrew タイトルの通り受託人(医者とか会計士みたいにクライアントの代わりにプロフェッショナルとしてサービスを提供してくれる人たち)のデジタル版がどうやって信頼の形成に役に立つのか、という話です。
文明が生まれ部族社会が出来上がり社会の中と外の境界が生まれた。すごいところから始まりますね。
機械化、IT化が進み人類の果たす役割は減っていく。まさに限界費用逓減。 そんな中、人々が社会参加していくには信頼できる情報をAssertしていくことが必要な一方で監視社会が進んでいく。 一方でビットコインはTrusted Authorityなしで(衆人環視の元)信頼できるトランザクションを実現することとなった(マネーロンダリングの温床となるなど問題も同時に産むこととなったが)。DIDはそのアイデアを識別子の世界に持ち込むことで一定のイノベーションを産んできたわけです。Login with FacebookがFacebookを信頼する必要があることに対してDIDは暗号アルゴリズムに対する信頼を行う、という点が異なる。分散型アイデンティティを実現する上で、VCをどうやって信頼するか?という問題が残っている。
Digital Fiduciary Initiativeのアプローチ
Fiduciary(受託者)、例えば医者や弁護者や会計士など人々に代わって特別な領域を扱う人々を指す。 デジタル受託者はアイデンティティを扱うのを助ける。Digital Fiduciary Initiativeは誰が受託者としてアイデンティティを扱うに資するためのResolution processを助けるプロトコルを提供している。

なるほど、受託したFiduciaryサービスが利用者にVerifiable Credentialsでクレデンシャル(Fair Witness Credential)を発行する、と。医者がカルテをVCで患者に提供したり会計士が会計監査した証明書をVCで発行したりするのに近いのかな?
情報銀行+公証人ってイメージかも。
こちらで活動しているから興味がある人はどうぞ、とのこと。 https://digitalfiduciary.org/

CBOR and Gordian Envelope - Christopher Allen 次はChristopher AllenのCBORとGordian Envelopeの話です。 暗号学者の話&資料なしのガチ議論セッションなので正直ついていけないところも多いのですがざっくりと。 ちなみに彼のBlogに色々と書いてあるので気になる人はそちらを見ましょう。 https://www.blockchaincommons.com/introduction/Envelope-Intro/


CBORの話は、DID Controller Document(いわゆるDID Document)をdCBORで作ることで鍵ローテーションや署名の追加などへの対応が軽くなるよね、って話でした。 現在のDID Controller Documentって鍵の追加・ローテーションを行うとどんどんサイズが大きくなるわけです。公開鍵の情報がどんどん追加されていくので。 なのでJSONベースでやるんじゃなく、そこをバイナリベースのCBORでやることでサイズを減らせる&分散台帳上でのブロック生成〜伝搬にかかるコストも下げられるし、IoTシナリオでは如実に通信コストが下げられるよね、って話です。
また、Float計算などコンピューターの系によって計算結果が若干異なってしまうことによるValueが決定的に扱えないことに対する解としてDeterministic CBOR(dCBOR)を使うのが良い(理由は後から)ってことです。
dCBORの仕様はこちら https://datatracker.ietf.org/doc/draft-mcnally-deterministic-cbor/
で、ここでGordian Envelopeの話ですが、ざっくり理解だとEnvelopを構成する要素のSubject、Object、PredicateでMerkleツリーを作っていきましょう、という話っぽい。SubjectもObjectもPredicateもそれぞれが下位の構造を持つのでそれを含めて。
そしてその時の各要素に関するハッシュをdCBORで決定論的に値を作れば綺麗にTreeはできるし、計算量もさらに減らせる、みたいな話かな。と。(よくわかっていない。読まねば)
Gordian Envelopeの仕様はこちら https://datatracker.ietf.org/doc/draft-mcnally-envelope/
選択的情報開示などにも対応できるし、TreeをGraph構造としてみなした時のノード間のエッジに双方向の意味付けをすることでマルチシグやグループ署名にも対応できる、など色々とありそうですがもうちょい勉強します。
DCQL - Daniel Fett 次はOpenID for Verifiable Presentations向けの新しいクエリ言語「DCQL - Digital Credentials Query Language。ダックル」の話です。 みなさんご存知の通り現状のOID4VPはPresentation Exchangeを使っているわけですが、こちらが複雑すぎるので新しくクエリ言語を作ってしまえ、ということのようです。

ちなみにDanielのTシャツはDCQL。イラストもスライドの写真もダックスフンドです。
DCQLは次のOpenID for Verifiable PresentationsのImplementer's draftに盛り込まれる予定で、 OID4VPにおけるPresentation Exchangeを置き換えるかもしれない クレデンシャル提示を求める際のJSONベースのシンタックス クレデンシャルフォーマットを問わない(sd-jwt-vcでもmdocでもOK) という特徴を持ちます。
開発に至るモチベーションとしては、 - PEがややこしい - ブラウザAPIで使えるようにする必要がある ということのようです。
具体的にPEのややこしさとしてあげられたのは、 - JSONPathが必要 - JSON Schema Filtersが必要 でした。
まぁ、PEは機能が豊富だが、OID4VPで全ての機能が必要だったわけではないということですね。この辺りはドイツのFUNKEのコンペの中で色々と学びがあったそうです。
余談ですが、スピーカーのDaniel FettはOpenID Connect for Identity Assuranceの仕様策定時にもAdvanced Syntax and Claims(ASC)というクエリ言語を作成して提案していましたので、かなりの部分で似た仕様になっています。そのうち統合するの?って聞いてみましたが、ありかもな〜という雰囲気。
使い方としてはAuthorization Requestにdqcl={....}という形でクエリパラメータとしてくっつける形を想定しています。 例えば、sd-jwt-vcの場合はこんな感じの書き方になるようです。 { "credentials": [ { "id": "my_credentoa;s". "format": "vc+sd-jwt", "meta": { "vct_valies": ["httos;//xxxxx"] }, "claims": [ { "path": ["last_name"]}, { "path": ["first_name"]}, { "path": ["address", "street_address"]}, ] } ] }
なお、mdocの場合はpathがないのでその代わりにネームスペースを使います。
クエリ言語としての機能としては、 - Claimのorが取れる - クレデンシャルのorが取れる - Claimのバリューマッチングができる というところのようです。
例えば、xとA1、A2、yというクレームのセット、もしくはxとBとyでも良いよ、という書き方はこのようになります。 "claim_sets": [ ["x", "A1", "A2", "y" ], →この組み合わせか ["x", "B", "y"] →この組み合わせでもOK ]
同じようにクレデンシャルを複数要求してみてその中のどれかを提示すれば良いよ、というクレデンシャルのorを取るならこんな感じです。 "credential": [ { "id": "pid", "format": "vc+sd^jwt" }, "credential_sets": [ { "purpose": "Identification", "options": [ [ "pid" ], [ "other", "other2"] ], "purpose": "show your xxx", "required": false, "options": [ [ "nice_to_have" ] ] } ] ]
optionsでidでorを書けるのに加えてrequiredでオプションかどうかについてもかけるわけですね。
そして最後に値によるマッチングです。 "claims": [ { "path": ["last_name"], "values": ["Doe"] }, { "path": ["postal_code"], "values": ["90210","90211"] } ]
こちらはわかりやすいですね。
なお、多言語化など未実装の事柄はたくさんあるそうなのでぜひFeedbackを、という話ですが、あんまりFeedbackしすぎで多機能化するとPEと同じものになってしまいそうなのでほどほどにしておくのが良さそうです。

Edge Identifiers - Christopher Allen 最後は再びChristopher Allenです。 先のセッションでも実は触れられていたのですが、このセッションはGraphを作成する時のEdgeを双方向にしてIdentifierをつけていく、というEdge Identifierについてです。
Edgeを双方向にして意味を持たせるってことみたいですが、正直理解が追いついていないのでこちらもおいおい勉強です。
親子という関係があった時に、親ノードA、子ノードBの間には以下のEdgeが出来上がります。 - AはBの親 - BはAの子 こう言う形で単にEdgeといっても方向性があり、それを双方向で表現することが肝のようでした。
こちらも彼のBlogに書かれています。 https://www.blockchaincommons.com/musings/musings-cliques-1/


ということで初日は終わりです。 相変わらず日本時間とのダブル生活になるので西海岸は辛いですね。来週はIETFでアイルランドなので少しはマシかもしれません。

Ben Werdmüller

Tech is interesting, but democracy deserves our attention

I’m aware that a lot of my linkblog posts have been about the state of America this week. That’s because — well, I’m sure you can figure out why. There is nothing bigger to talk about than this election. So much is at stake, and it really, truly matters. Once Election Day is over, I’m sure I’ll be back to more or less my usual topics, barring, I don’t know, a coup attempt or an insurrection or

I’m aware that a lot of my linkblog posts have been about the state of America this week. That’s because — well, I’m sure you can figure out why. There is nothing bigger to talk about than this election. So much is at stake, and it really, truly matters.

Once Election Day is over, I’m sure I’ll be back to more or less my usual topics, barring, I don’t know, a coup attempt or an insurrection or a civil war.

I don’t know what it would look like to pretend I cared about the new Mac Mini (which is beautiful!) or the state of publicly-available developer documentation for major API services (which is atrocious!) more than the threat of fascism or the absolute abdication of responsibility in the face of this from much of the press.

I claim to write about the intersection of technology, society, and democracy, and I think it’s reasonable for “democracy” to claim the center of gravity for now. We can all go back to CSS classes and LLM vendor funding rounds a little later on.


Josseli Barnica Died in Texas After Waiting 40 Hours for Miscarriage Care

[Cassandra Jaramillo and Kavitha Surana at ProPublica] The deeply tragic stories of how abortion bans lead to preventable deaths continue. "The fetus was on the verge of coming out, its head pressed against her dilated cervix; she was 17 weeks pregnant and a miscarriage was “in progress,” doctors noted in hospital records. At that point, they should have offered to speed up

[Cassandra Jaramillo and Kavitha Surana at ProPublica]

The deeply tragic stories of how abortion bans lead to preventable deaths continue.

"The fetus was on the verge of coming out, its head pressed against her dilated cervix; she was 17 weeks pregnant and a miscarriage was “in progress,” doctors noted in hospital records. At that point, they should have offered to speed up the delivery or empty her uterus to stave off a deadly infection, more than a dozen medical experts told ProPublica.

But when Barnica’s husband rushed to her side from his job on a construction site, she relayed what she said the medical team had told her: “They had to wait until there was no heartbeat,” he told ProPublica in Spanish. “It would be a crime to give her an abortion.”"

This is another look at how "pro life" policies are not necessarily pro life at all. As the piece notes, some Republican representatives have begun muting their anti-abortion stances after realizing how unpopular and damaging it actually is. Still, plenty more continue to fight for what amounts to a nationwide ban.

And then there's this:

"Abortion bans put doctors in an impossible position, she said, forcing them to decide whether to risk malpractice or a felony charge. After her state enacted one of the strictest bans in the country, she also waited to offer interventions in cases like Barnica’s until the fetal heartbeat stopped or patients showed signs of infection, praying every time that nothing would go wrong. It’s why she ultimately moved to Colorado."

If were of child-bearing age and you had the ability to move, why would you stay in a state that threatened your life like this? Why would you practice medicine in a place that put you in such a position? The knock-on effects of these policies will continue to be felt for a long time to come.

#Democracy

[Link]


Mike Jones: self-issued

OpenID Presentations at October 2024 OpenID Workshop and IIW plus New Specifications

I gave the following presentation on work in the OpenID Connect working group at the Monday, October 28, 2024 OpenID Workshop at Microsoft: OpenID Connect Working Group Update (PowerPoint) (PDF) I also gave this invited “101” session presentation at the Internet Identity Workshop (IIW) on Tuesday, October 29, 2024: Introduction to OpenID Connect (PowerPoint) (PDF) […]

I gave the following presentation on work in the OpenID Connect working group at the Monday, October 28, 2024 OpenID Workshop at Microsoft:

OpenID Connect Working Group Update (PowerPoint) (PDF)

I also gave this invited “101” session presentation at the Internet Identity Workshop (IIW) on Tuesday, October 29, 2024:

Introduction to OpenID Connect (PowerPoint) (PDF)

There’s more happening in the OpenID Connect working group than at any other time since we started the OpenID Connect work. In fact, two new specifications were adopted today!

OpenID Federation Wallet Architectures 1.0 OpenID Connect Relying Party Metadata Choices 1.0

Thanks to all who helped us get there!


Simon Willison

W̶e̶e̶k̶n̶o̶t̶e̶s̶ Monthnotes for October

I try to publish weeknotes at least once every two weeks. It's been four since the last entry, so I guess this one counts as monthnotes instead. In my defense, the reason I've fallen behind on weeknotes is that I've been publishing a lot of long-form blog entries this month. Plentiful LLM vendor news A lot of LLM stuff happened. OpenAI had their DevDay, which I used as an opportunity to try

I try to publish weeknotes at least once every two weeks. It's been four since the last entry, so I guess this one counts as monthnotes instead.

In my defense, the reason I've fallen behind on weeknotes is that I've been publishing a lot of long-form blog entries this month.

Plentiful LLM vendor news

A lot of LLM stuff happened. OpenAI had their DevDay, which I used as an opportunity to try out live blogging for the first time. I figured out video scraping with Google Gemini and generally got excited about how incredibly inexpensive the Gemini models are. Anthropic launched Computer Use and JavaScript analysis, and the month ended with GitHub Universe.

My LLM tool goes multi-modal

My big achievement of the month was finally shipping multi-modal support for my LLM tool. This has been almost a year in the making: GPT-4 vision kicked off the new era of vision LLMs at OpenAI DevDay last November and I've been watching the space with keen interest ever since.

I had a couple of false starts at the feature, which was difficult at first because LLM acts as a cross-model abstraction layer, and it's hard to design those effectively without plenty of examples of different models.

Initially I thought the feature would just be for images, but then Google Gemini launched the ability to feed in PDFs, audio files and videos as well. That's why I renamed it from -i/--image to -a/--attachment - I'm glad I hadn't committed to the image UI before realizing that file attachments could be so much more.

I'm really happy with how the feature turned out. The one missing piece at the moment is local models: I prototyped some incomplete local model plugins to verify the API design would work, but I've not yet pushed any of them to a state where I think they're ready to release. My research into mistral.rs was part of that process.

Now that attachments have landed I'm free to start thinking about the next major LLM feature. I'm leaning towards tool usage: enough models have tool use / structured output capabilities now that I think I can design an abstraction layer that works across all of them. The combination of tool use with LLM's plugin system is really fun to think about.

Blog entries You can now run prompts against images, audio and video in your terminal using LLM Run a prompt to generate and execute jq programs using llm-jq Notes on the new Claude analysis JavaScript code execution tool Initial explorations of Anthropic's new Computer Use capability Everything I built with Claude Artifacts this week Running Llama 3.2 Vision and Phi-3.5 Vision on a Mac with mistral.rs Experimenting with audio input and output for the OpenAI Chat Completion API Video scraping: extracting JSON data from a 35 second screen capture for less than 1/10th of a cent ChatGPT will happily write you a thinly disguised horoscope OpenAI DevDay: Let’s build developer tools, not digital God OpenAI DevDay 2024 live blog Releases llm-mistral 0.7 - 2024-10-29
LLM plugin providing access to Mistral models using the Mistral API llm-claude-3 0.6 - 2024-10-29
LLM plugin for interacting with the Claude 3 family of models llm-gemini 0.3 - 2024-10-29
LLM plugin to access Google's Gemini family of models llm 0.17 - 2024-10-29
Access large language models from the command-line llm-whisper-api 0.1.1 - 2024-10-27
Run transcriptions using the OpenAI Whisper API llm-jq 0.1.1 - 2024-10-27
Write and execute jq programs with the help of LLM claude-to-sqlite 0.2 - 2024-10-21
Convert a Claude.ai export to SQLite files-to-prompt 0.4 - 2024-10-16
Concatenate a directory full of files into a single prompt for use with LLMs datasette-examples 0.1a0 - 2024-10-08
Load example SQL scripts into Datasette on startup datasette 0.65 - 2024-10-07
An open source multi-tool for exploring and publishing data TILs Installing flash-attn without compiling it - 2024-10-25 Using uv to develop Python command-line applications - 2024-10-24 Setting cache-control: max-age=31536000 with a Cloudflare Transform Rule - 2024-10-24 Running prompts against images, PDFs, audio and video with Google Gemini - 2024-10-23 The most basic possible Hugo site - 2024-10-23 Livestreaming a community election event on YouTube - 2024-10-10 Upgrading Homebrew and avoiding the failed to verify attestation error - 2024-10-09 Collecting replies to tweets using JavaScript - 2024-10-09 Compiling and running sqlite3-rsync - 2024-10-04 Building an automatically updating live blog in Django - 2024-10-02

Tags: weeknotes, llms, llm


Bringing developer choice to Copilot with Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview

Bringing developer choice to Copilot with Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview The big announcement from GitHub Universe: Copilot is growing support for alternative models. GitHub Copilot predated the release of ChatGPT by more than year, and was the first widely used LLM-powered tool. This announcement includes a brief history lesson: The first pu

Bringing developer choice to Copilot with Anthropic’s Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro, and OpenAI’s o1-preview

The big announcement from GitHub Universe: Copilot is growing support for alternative models.

GitHub Copilot predated the release of ChatGPT by more than year, and was the first widely used LLM-powered tool. This announcement includes a brief history lesson:

The first public version of Copilot was launched using Codex, an early version of OpenAI GPT-3, specifically fine-tuned for coding tasks. Copilot Chat was launched in 2023 with GPT-3.5 and later GPT-4. Since then, we have updated the base model versions multiple times, using a range from GPT 3.5-turbo to GPT 4o and 4o-mini models for different latency and quality requirements.

It's increasingly clear that any strategy that ties you to models from exclusively one provider is short-sighted. The best available model for a task can change every few months, and for something like AI code assistance model quality matters a lot. Getting stuck with a model that's no longer best in class could be a serious competitive disadvantage.

The other big announcement from the keynote was GitHub Spark, described like this:

Sparks are fully functional micro apps that can integrate AI features and external data sources without requiring any management of cloud resources.

I got to play with this at the event. It's effectively a cross between Claude Artifacts and GitHub Gists, with some very neat UI details. The features that really differentiate it from Artifacts is that Spark apps gain access to a server-side key/value store which they can use to persist JSON - and they can also access an API against which they can execute their own prompts.

The prompt integration is particularly neat because prompts used by the Spark apps are extracted into a separate UI so users can view and modify them without having to dig into the (editable) React JavaScript code.

Tags: gemini, anthropic, openai, ai, llms, ai-assisted-programming, github-copilot, github, claude-artifacts, react, javascript

Tuesday, 29. October 2024

Simon Willison

Generating Descriptive Weather Reports with LLMs

Generating Descriptive Weather Reports with LLMs Drew Breunig produces the first example I've seen in the wild of the new LLM attachments Python API. Drew's Downtown San Francisco Weather Vibes project combines output from a JSON weather API with the latest image from a webcam pointed at downtown San Francisco to produce a weather report "with a style somewhere between Jack Kerouac and J. Peterma

Generating Descriptive Weather Reports with LLMs

Drew Breunig produces the first example I've seen in the wild of the new LLM attachments Python API. Drew's Downtown San Francisco Weather Vibes project combines output from a JSON weather API with the latest image from a webcam pointed at downtown San Francisco to produce a weather report "with a style somewhere between Jack Kerouac and J. Peterman".

Here's the Python code that constructs and executes the prompt. The code runs in GitHub Actions.

Tags: vision-llms, drew-breunig, llm, generative-ai, ai, llms, github-actions, prompt-engineering


Just a Theory

PGConf & Extension Ecosystem Summit EU 2024

Notes and links from the Extension Ecosystem Summit EU 2024 and my first time at PGConf EU. Plus thoughts and photos from ancient sites and archeological museums I visited.

Last week I MCed the first Extension Ecosystem Summit EU and attended my first at PGConf EU in Athens, Greece. Despite my former career as an archaeologist — with a focus on Mediterranean cultures, no less! — this was my first visit to Greece. My favorite moment was the evening after the Summit, when I cut out of a networking shindig to walk to Pláka and then circumnavigate the Acropolis. I mean just look at this place!

The Acropolis of Athens on the evening of October 22, 2024. © 2024 David E. Wheeler

Highlight of the trip for sure. But the Summit and conference were terrific, as well.

Extension Ecosystem Summit

Floor Drees kindly organized The Extension Ecosystem Summit EU, the follow-up to the PGConf.dev original. While the Vancouver Summit focused on developers, we tailored this iteration to users. I started the gathering with a condensed version of my POSETTE talk, “State of the Postgres Extension Ecosystem”, but updated with a Trunk OCI Distribution demo. Links:

PDF PDF with Notes Keynote

We then moved into a lightning round of 10 minute introductions to a variety of extensions:

Jimmy Angelakos showed off pg_statviz, a “minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics”. Adam Hendel gave a brief history of pgmq, is a “lightweight message queue like AWS SQS and RSMQ, but on Postgres.” Gülçin Yıldırım Jelínek introduced pgzx, “a library for developing PostgreSQL extensions written in Zig.” James Sewell talked about pgvectorscale and pgai for managing machine training workloads on Postgres. Alastair Turner described pg_tde, an extension that provides transparent data encryption for Postgres.

Quite the whirlwind! There followed open discussion, in which each maintainer went to a corner to talk to attendees about contributing to their extensions. Details to come in a more thorough writeup on the Tembo blog, but I personally enjoyed some fascinating discussions about extension distribution challenges.

PGConf.eu

Following the Summit, I attended several thought-provoking and provocative presentations at PGConf.eu, which took place at the same hotel, conveniently enough.

Floor Drees speaking at PGConf.eu 2024. © 2024 David E. Wheeler

In the conference keynote, Stacey Haysler explained the The PostgreSQL License Fee. I’m pleased to say that my employer “pays” license fee! Andres Freund (yes, that one) summarized NUMA vs PostgreSQL, covering some of the issues and opportunities for optimization of PostgreSQL on servers using the NUMA multi-processor memory architecture. Heikki Linnakangas offered an overview of The Wire Protocol, that bit of PostgreSQL technology that lets clients talk to PostgreSQL. Ophir Lojkine and Thomas Guillemard showed how a pretty sweet framework, SQLPage, lets archaeologists like Thomas write complete web applications in pure SQL, enabling rapid data entry while in the field. Tomas Vondra’s Performance Archaeology dug into the history of PostgreSQL improvements, mapping their compounding returns over time. Floor Drees (photo above) talked about Supporting extensions, but really now, making a strong case for the need to organize infrastructure to support the broader extension ecosystem.

There were many more talks, but clearly I tend to be drawn to the most technical, core-oriented topics. And also archaeology.

Museums

Speaking of which, I made time to visit two museums while in Athens. First up was the National Archaeological Museum of Athens, where I was delighted to explore the biggest collection of Mycenaean artifacts I’ve ever seen, including massive collections from the excavations of Heinrich Schliemann. So much great Bronze Age stuff here. I mean, just look at this absolute unit:

From the museum description: “Fragment of a krater depicting a chariot with two occupants. A male figure holding a staff walks in front of the chariot. Much of the Mycenaean Pictorial Style pottery (14th-12th centuries BC) with representations of humans, chariots, horses and bulls on large kraters, was produced at Berbati in the Argolid and exported to Cyprus, where it was widely imitated. Birds, fish, wild goats or imaginary creatures (i.e. sphinxes) occur on other types of vessels, such as jugs and stirrup jars. Usually only fragments of these vases survive in mainland Greece from settlement contexts. In Cyprus, however, complete vases are preserved, placed as grave gifts in tombs.” © Photo 2024 David E. Wheeler

The animal decorations on Mycenaean and Akrotiri pottery is simply delightful. I also enjoyed the Hellenistic stuff, and seeing the famed Antikythera Mechanism filled my nerd heart with joy. A good 3 hours poking around; I’ll have to go back and spend a few days there sometime. Thanks to my pal Evan Stanton for gamely wandering around this fantastic museum with me.

Immediately after the PGConf.eu closing session, I dashed off to the Acropolis Museum, which stays open till 10 on Fridays. Built in 2009, this modern concrete-and-glass building exhibits several millennia of artifacts and sculpture exclusively excavated from the Acropolis or preserved from its building façades. No photography allowed, alas, but I snapped this photo looking out on the Acropolis from the top floor.

The Acropolis as viewed from inside the Acropolis Museum. Friezes preserved from the Parthenon inside the museum reflect in the glass, as does, yes, your humble photographer. © 2024 David E. Wheeler

I was struck by the beauty and effectiveness of the displays. It easily puts the lie to the assertion that the Elgin Marbles must remain in the British Museum to protect them. I saw quite a few references to the stolen sculptures, particularly empty spots and artfully sloppy casts from the originals, but the building itself makes the strongest case that the marbles should be returned.

But even without them there remains a ton of beautiful sculpture to see. Highly recommended!

Back to Work

Now that my sojourn in Athens has ended, I’m afraid I must return to work. I mean, the event was work, too; I talked to a slew of people about a number of projects in flight. More on those soon.

More about… Postgres Extensions PGConf Summit Archaeology Athens Greece Acropolis Mycenae Elgin Marbles

The Pragmatic Engineer

Hiring software engineers and engineering leaders from Big Tech (Part 1)

A dive into why hiring Big Tech talent can be a bad idea for startups, a look at cases when it works, what makes it hard to recruit from Big Tech, and how to do it

Hi, this is Gergely with a subscriber-only issue of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. To get articles like this in your inbox, every week, subscribe:

Subscribe now

Before we start: the Korean translation of The Software Engineer’s Guidebook is out! If you are based in Korea, you can get it from Hanbit Media (the publisher), from Kyobo, from YES24 and from Aladin. The book is a 568-page edition. The book is a lot more than "just" the original book: it includes an appendix with insights from five prominent Korean developers, including engineers from large Korean companies and startup CTOs. This addition provides a local perspective and practical insights on software engineering. This is the first translation of the book – other languages like German, Japanese and Chinese will follow in the coming months!

Two copies of the Korean translation of The Software Engineer’s Guidebook: the right one with a book band. Get the book here.

There are many standout software engineers and engineering leaders in Big Tech, and it’s easy to assume that hiring them is a sure win for any startup and scaleup. But counterintuitively, recruiting techies from Big Tech is often very difficult for startups. Sometimes, it’s simply very hard to get tech professionals interested in a smaller company, even when they’re a good fit.

A few weeks ago, we dug into reasons why software engineers quit Big Tech. In this article, we look into ways to attract folks to startups.

For this piece, I talked with techies in senior roles at startups. Keeping identities anonymous, this deep dive covers:

Why Big Tech hires are often poor fits for startups

When hiring from large companies doesn’t make sense

When it does make sense

Why is it hard to hire from Big Tech?

How to “poach” from Big Tech

Part two of this mini-series will cover how to pitch opportunities to Big Tech folks, with advice from hiring managers at startups about their successful approaches.

The Pragmatic Engineer deepdives related to this topic:

Hiring software engineers

Hiring an engineering manager

Good onboarding, great onboarding

Inside Amazon’s engineering culture

1. Why Big Tech hires are often poor fits for startups

Let’s start with the elephant in the room; it’s a terrible idea to hire someone from a big company into a small, scrappy startup. Here’s the founder of a data startup on their personal experience:

“Some of our hires from Google wanted to replicate all Google’s processes/culture, and completely failed. One staff engineer was the worst hire I can remember; they were so certain of their excellence and Google's superiority, that they ignored what made our company outstanding.”

An ex-Big Tech cofounder of an AI startup offers their experience:

“We've had Big Tech folks consistently fail our interviews on some rather fundamental engineering best-practice questions. We don't ask Leetcode questions and never will, but we found that BigTech candidates (Meta, Google, Stripe) had a particularly hard time with basic system design and coding questions.”

There are other reasons, including:

“Entitlement.” One thing mentioned by a few folks at startups is that some recruits from Big Tech are noticeably pleased about that fact, with a “I worked in Big Tech, therefore I’m awesome” mentality. Of course, it’s understandable to feel pride at having got into Big Tech and gained valuable experiences, as a career achievement. But when joining a startup from Big Tech, it seems sensible to be driven more by curiosity and humility, than judging a new workplace by the old one. 

Startups do operate very differently from large companies, and the best way to make a difference and not alienate colleagues is to soak up a new environment, first!

Success in Big Tech is often about managing optics, sometimes without real stakes. A founding engineer shares that there are plenty of seemingly successful engineering leaders in Big Tech who operate well, run great meetings, have excellent project management skills… and still ship lackluster products.

Some characteristics can appear as ownership and agency, when they’re not. So, it’s easy to hire folks who are good at following processes, but not at being owners. Former Stripe product manager Shreyas Doshi describes this in the thread, “Operators optimizing for optics.”

Lack broad experience with tools. A founding engineer at a fintech startup shares:

“I came across folks with FAANG experience who did not even know JOINs on SQL! This was because they've only queried their internal non-relational datastore.

I had a friend who bragged about 10x-ing the QPS on a service at Google, but when I asked how they'd approach a Flask app running Postgres, they were completely clueless as to where to even start.

There's real skill in navigating FAANG stacks, but it's frequently using internal tools that someone else wrote for a promo packet, with little bearing on the "stitching together open source tools" of startup-land.

Many ex-FAANG people are unprepared for the upfront cost of learning the ecosystem outside of their silo. Non-technical startup founders or executives don't predict this; they just see the elite job background, and assume all candidates from that background will be strong in a role.

Focus on things startups don’t care about. An ex-Google engineer working at a startup says:

“Most FAANG engineers I've met do years of work without ever talking to a customer. In the ZIRP 2010s especially, they never had to worry about a cost, ever. 

In a FAANG environment, there's a lot of focus on things that your early startup shouldn't care about – but which FAANG engineers do!

These include: 

A deep engineering ladder and promotion process

Expectations of consistent and/or relaxed working hours

Make most decisions in meetings

Architecture reviews

Restarting work because someone found a technical snag that prevents a hypothetical scaling event

Technical things: 

Ceremonies for "clean code" (whatever that means)

Building for future scalability

Copying the tech stack of their previous Big Tech workplace.”

2. When hiring from large companies doesn’t make sense

Big Tech talent can have a magnetic pull, but the quotes above indicate there’s plenty of ways that it can not work out in small workplaces. Circumstances when it doesn’t make business sense for a startup to hire for a Big Tech profile, include:

No real need for Big Tech expertise

Many startups don’t actually need Big Tech expertise, especially not in leadership. An engineering manager at a startup in San Francisco explains:

“Leadership that has only operated at Big Tech often doesn’t know the realities of operating at a smaller scale. For example, planning years in advance at a startup is usually a waste of time because things change so quickly. But such planning is required in Big Tech!”

Unfamiliar with “startup infra” and pace. A downside of hiring from larger companies is that Big Tech engineers and managers are often used to shipping faster. In some Big Tech companies, they might have mostly been building on top of sophisticated, Big Tech-specific infrastructure, and be unfamiliar with common cloud infrastructures which many startups use, like AWS, GCP, GitHub Actions or similar tools. Outside of Amazon, Big Tech companies almost always use their own infrastructure, not public cloud providers. Google doesn’t use GCP.

A startup founder in Boston says:

“Some Big Tech companies are particularly bad at honing skills that translate to startups. For example, Google engineers usually focus on very small product surface areas, and all the work is on very specific Google infra stack.”

No business model for paying Big Tech comp

Big Tech companies typically generate around $400,000 to $1,000,000 in revenue per employee, while being extremely profitable. It is thanks to this kind of revenue generation that they can justify paying senior-and-above hires $500,000 a year or more in total compensation (in the US: adjusted to regions, but still paying top tier compensation.)

If a startup has a business model to eventually generate this kind of revenue, it means the business fundamentals exist to compete with Big Tech on comp. But if the business isn’t forecast to earn so much revenue, then paying the same kind of compensation as Big Tech isn’t sensible, nor practical.

Pure software startups often have a theoretical business model to get to Big Tech revenues. This is why it makes sense for such startups and scaleups raising venture funding to offer similar base salary and equity. These businesses then need to execute: grow their market and revenue.

Focus on speed, efficiency, and doing more with less

Most of Big Tech is used to doing more with lots of resources. For example, it’s impressive that Meta built the social media site Threads in 6 months, got 100 million users in the first week, all with a starting team of 12 people, but this was done by building on top of Instagram’s infrastructure. Things like the storage and compute layer did not need to be built from scratch.

Compare this with the Bluesky team building its social network from scratch: it took much longer, done with very little Big Tech experience. And it’s not a given that all Big Tech engineers can “do more with less” well, which is essential at early-stage startups. But sometimes it does make sense to hire from big places; Bluesky hired Dan Abramov from Meta. We cover more about How Meta built Threads, and How Bluesky was built in deep dives.

Among the Big Tech companies, Amazon is typically the closest to operating infrastructure like a startup, by running on AWS services. We cover more about why Amazon is a common source of startup hires, later.

To solve novel problems in scrappy ways

If the goal is to get from zero to one in a difficult problem space by using as few resources as possible, Big Tech probably isn’t the place to do it. The biggest companies are good at solving novel problems with lots of resources, but are getting better at solving common, well-understood problems with fewer resources (headcount). Generally, Big Tech isn’t where a scrappy mentality for building novel solutions on a budget thrives.

A good example is AI companies. Google has an applied AI team that is easily 10x the size of OpenAI. And yet, OpenAI out-executes Google in novel product releases. Google, to its credit, is pretty good at catching up in problem areas that are well understood, such as shipping enterprise-ready APIs, or enabling its AI solution (Gemini) for enterprise Google Workspaces. We cover more on how OpenAI ships so fast in a deep dive.

An engineer at an early-stage startup puts it like this:

“In the absence of real stakes, many ex-FAANGers I've met view the focus on code and architecture quality as "doing the job of software engineering" and providing value.

In early-stage startups, the goal is to hit product-market-fit as fast as possible, it’s not to get high-quality code out the door. This difference means the day-to-day work is also different. Software engineers at startups should focus on what customers care about, and much less on what other software engineers care about.”

Related to this last point, here’s a deep dive on how to thrive as a founding engineer in a startup.

To operate completely differently from Big Tech

When building a company in a very different style from Big Tech, hiring from those places makes less sense. For example, when building a full-remote workplace, hiring from companies which mandate being in the office for most of the week, isn’t optimal. Of course, there are plenty of people in Big Tech who are tired of how things work there, and would like to try new ways of working. These people can bring valuable experience, without being tied to Big Tech processes.

Why hire from Big Tech, anyway?

If there’s no strong reason for hiring from Big Tech, why do so? Startups need a very good story to tell Big Tech folks in order to close them, even with compensation packages that match Big Tech. If that compelling story has yet to be written at a fledgling startup, then why bother paying the top of the market?

3. When it makes sense to hire from Big Tech

Despite the downsides mentioned above, there are naturally plenty of reasons to hire from large, high-performing companies! These include:

Read more


@_Nat Zone

【2024年度下半期】今年度に入ってからのアイデンティティ関連の動きが速すぎる件〜リンク付き一覧【更新中】 #2

相変わらずニュースの流れが早いです。 下半期ニュース一覧 9月30日の上半期分のYouTube配信はこちら (LIve Comment も有益なので、YouTubeに行ってご覧になることをおすすめします。)

相変わらずニュースの流れが早いです。

下半期ニュース一覧 10/7 マイナ保険証利用時の手続き簡素化:10月7日から開始 [B] 10/7 NIST IR 8480 (Initial Public Draft) Attribute Validation Services for Identity Management: Architecture, Security, Privacy, and Operational Considerations パブコメ開始 [W] 10/22 Call for Experts: Join the ENISA Ad Hoc Working Group on EU Digital Identity Wallets Cybersecurity Certification [W] 10/24 Required Rulemaking on Personal Financial Data Rights | Consumer Financial Protection Bureau [W] 10/24 Why Verifiable Credentials Aren’t Widely Adopted & Why Trinsic Pivoted | by Riley Hughes | Oct, 2024 | Medium [W] 10/25 UK » New data laws aim to ‘improve public services and boost economy by £10 billion’ | The Independent [W] 10/29 Required Rulemaking on Personal Financial Data Rights | Consumer Financial Protection Bureau [W] 9月30日の上半期分のYouTube配信はこちら

(LIve Comment も有益なので、YouTubeに行ってご覧になることをおすすめします。)


Ben Werdmüller

A vote for Donald Trump is a vote for school shootings and measles

[Nilay Patel at The Verge] This is, uh, the opposite of this year's trend of a bunch of newspapers refusing to endorse anyone: "Donald Trump is a dangerous maniac who can barely complete a sentence, and it is lunacy to believe he can even recognize the existentially threatening collective action problems facing our nation, let alone actually solve them." It's odd that a te

[Nilay Patel at The Verge]

This is, uh, the opposite of this year's trend of a bunch of newspapers refusing to endorse anyone:

"Donald Trump is a dangerous maniac who can barely complete a sentence, and it is lunacy to believe he can even recognize the existentially threatening collective action problems facing our nation, let alone actually solve them."

It's odd that a tech publication like The Verge is coming out so strong here, but it's hard to disagree. I particularly like that the bulk of the piece is about the collective action problem - not just individual policies, but the actual difference in philosophy between a conservative and more progressive approach.

This is good:

"It is extremely frustrating that the Harris campaign keeps going on about Trump being a danger to democracy without explaining why his whole deal is so deeply incompatible with America, so here’s the short version: the radical founding principle of the United States of America is the idea that the government’s authority to make laws and solve collective action problems comes from the consent of the governed."

Right. Exactly. It was a (relatively) clean break from the divine right of kings and the tendrils of monarchy in favor of a more democratic approach. It has problems, it's messy, and it turns out not to be as independent from the influence of generational wealth (those pesky kings again) as we would like it to be, but it was something different.

The naked self-servingness of the Trump / Vance campaign is laid out here. It's a world where school shootings are "a fact of life" and vaccines, a medical technology that has saved the lives of hundreds of millions of people, are not to be trusted.

I agree with this too:

"The list of massive collective action problems facing our nation is almost overwhelming to consider, and they threaten to tear us apart: our population is getting older, with a looming healthcare crisis to come. Education. Housing. Income inequality. There are so many more."

The piece goes on to call out climate change as perhaps the biggest, alongside anti-trust and a host more. It's time to actually consider those problems as communities - democratic races like this one, where we're forced to talk about the dumbest possible stuff at the hands of a barely-coherent candidate, rob us of the ability to have those really substantive conversations. I'm excited for us to put this one to bed and go back to the business of actually dealing with the hard stuff.

#Democracy

[Link]


Simon Willison

You can now run prompts against images, audio and video in your terminal using LLM

I released LLM 0.17 last night, the latest version of my combined CLI tool and Python library for interacting with hundreds of different Large Language Models such as GPT-4o, Llama, Claude and Gemini. The signature feature of 0.17 is that LLM can now be used to prompt multi-modal models - which means you can now use it to send images, audio and video files to LLMs that can handle them. Pr

I released LLM 0.17 last night, the latest version of my combined CLI tool and Python library for interacting with hundreds of different Large Language Models such as GPT-4o, Llama, Claude and Gemini.

The signature feature of 0.17 is that LLM can now be used to prompt multi-modal models - which means you can now use it to send images, audio and video files to LLMs that can handle them.

Processing an image with gpt-4o-mini Using a plugin to run audio and video against Gemini There's a Python API too What can we do with this? Processing an image with gpt-4o-mini

Here's an example. First, install LLM - using brew install llm or pipx install llm or uv tool install llm, pick your favourite. If you have it installed already you made need to upgrade to 0.17, e.g. with brew upgrade llm.

Obtain an OpenAI key (or an alternative, see below) and provide it to the tool:

llm keys set openai # paste key here

And now you can start running prompts against images.

llm 'describe this image' \ -a https://static.simonwillison.net/static/2024/pelican.jpg

The -a option stands for --attachment. Attachments can be specified as URLs, as paths to files on disk or as - to read from data piped into the tool.

The above example uses the default model, gpt-4o-mini. I got back this:

The image features a brown pelican standing on rocky terrain near a body of water. The pelican has a distinct coloration, with dark feathers on its body and a lighter-colored head. Its long bill is characteristic of the species, and it appears to be looking out towards the water. In the background, there are boats, suggesting a marina or coastal area. The lighting indicates it may be a sunny day, enhancing the scene's natural beauty.

Here's that image:

You can run llm logs --json -c for a hint of how much that cost:

"usage": { "completion_tokens": 89, "prompt_tokens": 14177, "total_tokens": 14266,

Using my LLM pricing calculator that came to 0.218 cents - less than a quarter of a cent.

Let's run that again with gpt-4o. Add -m gpt-4o to specify the model:

llm 'describe this image' \ -a https://static.simonwillison.net/static/2024/pelican.jpg \ -m gpt-4o

The image shows a pelican standing on rocks near a body of water. The bird has a large, long bill and predominantly gray feathers with a lighter head and neck. In the background, there is a docked boat, giving the impression of a marina or harbor setting. The lighting suggests it might be sunny, highlighting the pelican's features.

That time it cost 435 prompt tokens (GPT-4o mini charges higher tokens per image than GPT-4o) and the total was 0.1787 cents.

Using a plugin to run audio and video against Gemini

Models in LLM are defined by plugins. The application ships with a default OpenAI plugin to get people started, but there are dozens of other plugins providing access to different models, including models that can run directly on your own device.

Plugins need to be upgraded to add support for multi-modal input - here's documentation on how to do that. I've shipped three plugins with support for multi-modal attachments so far: llm-gemini, llm-claude-3 and llm-mistral (for Pixtral).

So far these are all remote API plugins. It's definitely possible to build a plugin that runs attachments through local models but I haven't got one of those into good enough condition to release just yet.

The Google Gemini series are my favourite multi-modal models right now due to the size and breadth of content they support. Gemini models can handle images, audio and video!

Let's try that out. Start by installing llm-gemini:

llm install llm-gemini

Obtain a Gemini API key. These include a free tier, so you can get started without needing to spend any money. Paste that in here:

llm keys set gemini # paste key here

The three Gemini 1.5 models are called Pro, Flash and Flash-8B. Let's try it with Pro:

llm 'describe this image' \ -a https://static.simonwillison.net/static/2024/pelican.jpg \ -m gemini-1.5-pro-latest

A brown pelican stands on a rocky surface, likely a jetty or breakwater, with blurred boats in the background. The pelican is facing right, and its long beak curves downwards. Its plumage is primarily grayish-brown, with lighter feathers on its neck and breast. [...]

Very detailed!

But let's do something a bit more interesting. I shared a 7m40s MP3 of a NotebookLM podcast a few weeks ago. Let's use Flash-8B - the cheapest Gemini model - to try and obtain a transcript.

llm 'transcript' \ -a https://static.simonwillison.net/static/2024/video-scraping-pelicans.mp3 \ -m gemini-1.5-flash-8b-latest

It worked!

Hey everyone, welcome back. You ever find yourself wading through mountains of data, trying to pluck out the juicy bits? It's like hunting for a single shrimp in a whole kelp forest, am I right? Oh, tell me about it. I swear, sometimes I feel like I'm gonna go cross-eyed from staring at spreadsheets all day. [...]

Full output here.

Once again, llm logs -c --json will show us the tokens used. Here it's 14754 prompt tokens and 1865 completion tokens. The pricing calculator says that adds up to... 0.0833 cents. Less than a tenth of a cent to transcribe a 7m40s audio clip.

There's a Python API too

Here's what it looks like to execute multi-modal prompts with attachments using the LLM Python library:

import llm model = llm.get_model("gpt-4o-mini") response = model.prompt( "Describe these images", attachments=[ llm.Attachment(path="pelican.jpg"), llm.Attachment( url="https://static.simonwillison.net/static/2024/pelicans.jpg" ), ] )

You can send multiple attachments with a single prompt, and both file paths and URLs are supported - or even binary content, using llm.Attachment(content=b'binary goes here').

Any model plugin becomes available to Python with the same interface, making this LLM library a useful abstraction layer to try out the same prompts against many different models, both local and remote.

What can we do with this?

I've only had this working for a couple of days and the potential applications are somewhat dizzying. It's trivial to spin up a Bash script that can do things like generate alt= text for every image in a directory, for example. Here's one Claude wrote just now:

#!/bin/bash for img in *.{jpg,jpeg}; do if [ -f "$img" ]; then output="${img%.*}.txt" llm -m gpt-4o-mini 'return just the alt text for this image' "$img" > "$output" fi done

On the #llm Discord channel Drew Breunig suggested this one-liner:

llm prompt -m gpt-4o " tell me if it's foggy in this image, reply on a scale from 1-10 with 10 being so foggy you can't see anything and 1 being clear enough to see the hills in the distance. Only respond with a single number." \ -a https://cameras.alertcalifornia.org/public-camera-data/Axis-Purisma1/latest-frame.jpg

That URL is to a live webcam feed, so here's an instant GPT-4o vision powered weather report!

We can have so much fun with this stuff.

All of the usual AI caveats apply: it can make mistakes, it can hallucinate, safety filters may kick in and refuse to transcribe audio based on the content. A lot of work is needed to evaluate how well the models perform at different tasks. There's a lot still to explore here.

But at 1/10th of a cent for 7 minutes of audio at least those explorations can be plentiful and inexpensive!

Tags: projects, ai, openai, generative-ai, llms, llm, anthropic, claude, mistral, gemini, vision-llms, llm-pricing


Matt Webb's Colophon

Matt Webb's Colophon I love a good colophon (here's mine, I should really expand it). Matt Webb has been publishing his thoughts online for 24 years, so his colophon is a delightful accumulation of ideas and principles. So following the principles of web longevity, what matters is the data, i.e. the posts, and simplicity. I want to minimise maintenance, not panic if a post gets popular, and b

Matt Webb's Colophon

I love a good colophon (here's mine, I should really expand it). Matt Webb has been publishing his thoughts online for 24 years, so his colophon is a delightful accumulation of ideas and principles.

So following the principles of web longevity, what matters is the data, i.e. the posts, and simplicity. I want to minimise maintenance, not panic if a post gets popular, and be able to add new features without thinking too hard. [...]

I don’t deliberately choose boring technology but I think a lot about longevity on the web (that’s me writing about it in 2017) and boring technology is a consequence.

I'm tempted to adopt Matt's XSL template that he uses to style his RSS feed for my own sites.

Tags: matt-webb, boring-technology, rss, blogging

Monday, 28. October 2024

Phil Windleys Technometria

Is Voting Secure?

I'm fairly certain that what I write here won't change the minds that need changing. But I feel like I need to make a statement anyway: your vote is secure.

There's a lot of fear mongering about the security of elections. I've wanted to discuss this for a while. I have several things in my background that have given me insight into how elections work. I was the CIO for the State of Utah. I was a member of the Lt Governor of Utah's voting equipment selection committee. And I've been involved in identity and security for several decades.

Let me give you the headline up front: committing election fraud in a way that changes the result is difficult, nearly impossible. Let's examine how elections are run and how fraud could happen to see why.

First a caveat: there is no single way that US elections are run. Elections in the US are quite decentralized. Each state has different election laws and in most cases the mechanics of running an election are given over to county clerks who must follow state law, but also have freedom to create their own workflows and processes within that law. The analysis that follows is generalized and likely more true of Utah, which I'm very familiar with, than other places. Still, I think the big ideas are largely the same everywhere.

The process of voting is divided into two parts: (1) voter registration and (2) voting. This is important because most people who make up scenarios to convince you that voting is insecure usually ignore voter registration. Registration requires that you provide an address. This is an important piece of information because if you're voting by mail, it's where the ballot will be mailed. If you're voting in person, you need to vote at a specific polling place depending on your address.

When you vote, you either mail back the ballot that was mailed to you at the address you provided or you go to your polling place and fill out a ballot (usually via a voting machine). In either case, the ballot presented to you depends on your address since the candidates listed on your ballot depend on your voting precinct. Also, as of 2024, 35 states require voters to present identification at the polling place in order to vote. Of those that don't, many require it for voters who are voting for the first time after their registration.

Now, let's examine voting fraud and how it might work. One important factor is scale. You need to commit fraud at a scale necessary to impact the outcome. For small elections (say a single state legislative race or a small school board election) you don't need to change a lot of votes to change the outcome in a tight race—hundreds of votes might do it. For larger elections, like the presidential election, scale is a significant issue. I'm going to focus on presidential elections since they are the most consequential. Less consequential elections are not likely to attract the kind of money and talent necessary to commit election fraud.

A second factor is stealth. You have to keep the fraud from being discovered so that it's not reversed. Proving consequential fraud would likely result in the election being challenged and rerun. You don't have to identify who did it, just prove that it was done. So election fraud is much more dependent on not being discovered than commercial transaction fraud where the loss is likely to only be recovered if the identity of the perpetrator is known.

The nature of presidential elections is greatly influenced by the electoral college system. You need to influence the votes in enough states to swing that state's electoral votes to the candidate you favor. You don't want to commit fraud where it's not needed because you'll waste money while increasing your chances of discovery. So, selecting the states where you want to commit fraud is critical. Each of those states will have different requirements, so you'll have to tailor your attack to each of them. Furthermore, you'll have to tailor your attack to each legislative precinct within the counties you determine are the most likely to impact the election.

There are a few ways to attack an election:

Sending your people to vote—for this to work, your fake voters have to have been registered and, in most cases, provide some form of ID. To register, they need a plausible address. The election office might not notice if one or two extra people with different last names are registered at a specific address, but they might if this is systematic or if an unreasonable number of people register at the same address. Remember that elections are run at the county level, so you have to assume that the election workers have a good understanding of the local environment. These fake voters now have to go to many different polling locations and cast a vote. They can't easily cast multiple ballots at the same polling location since the poll workers might remember them. So, you need lots of people going to lots of different polling locations.

Intercepting mail-in ballots—for this to work, you have to register at someone else's home address and then get to the mail before they do or steal their ballots after they've filled them in and change the vote. This requires lots of people. You can't do this remotely. It requires "boots on the ground" as the saying goes. Furthermore, those people are exposed since they're looking in mailboxes in neighborhoods where they don't live. Doable, but not very stealthy.

Paying people to vote—for this to work, you have to contact a lot of people, convince them to commit fraud, and then be satisfied with the fact that you'll never know if they voted for your candidate or not because ballots are secret. They could take your money and vote for whoever they want. Or just not vote at all unless you're supervising them, an activity that will call attention to you and your agents.

Replacing real ballots with fake ones—for this to work, you have to get your hands on real ballots for many different polling places (remember they're different because of overlapping jurisdictions), intercept the ballots somewhere in transit or on delivery, and replace the real ballots with ones that you've filled out for your candidate. This likely involves subverting county election workers. Not just one, but many. Again, the risk of discovery goes up with each contact.

Destroying ballots—for this to work, you need to destroy ballots that are for the candidate you don't want to win. You could simple destroy ballots without regard to how they're filled, but this won't assure you'll meet your goal. To be effective, you have to just destroy the ones for the other candidate and leave the ones for your candidate. Again, you will have to subvert election workers to get your hands on the ballots and determine who the ballot is for.

Changing the results after the ballots are counted—for this to work, you have to either hack the machines that record the vote or hack the machines that are tabulating the vote. Hacking the machines won't work if the machines keep a paper audit trail and it's used to audit results. Hacking the tabulators means getting access to those machines. Recall those are kept at the county level, so you have to hack many in different locations unless a single county can swing the election your way.

I hope all of this has at least given you a feel for the scale and scope of the problem. Pulling it off successfully without anyone knowing it happened is a difficult problem. Each method involves many people being let in on the secret—in some cases a lot of people. This isn't an operation that a small group of hackers can reliably pull off. Having lots of people involved increases the chances that you'll be discovered. The decentralized and distributed nature of how elections are run is a feature, and makes elections more secure and trustworthy.

On top of all this, election officials aren't stupid, lazy, or inept. Sure, you're going to find a few who are. But as a rule the elections officials I've interacted with at the state and county level are professionals who are attuned to these dangers and take active steps to protect against them. They are, as a rule, happy to talk about how they operate and will respond to polite requests for information about how they audit systems and the processes they have in place to protect the vote.

As an aside, do you know what's easier than committing election fraud? Using social media to convince people that election fraud is happening to reduce confidence in the election and sow discontent. Then you can use that discontent to challenge a legitimate election and maybe change the outcome if you don't like it. Ask yourself which is more likely.

Successfully changing the results of a presidential election isn't impossible. But the odds of doing so and not leaving any evidence—the perfect crime—are vanishingly small. I have confidence in the security of the US election system.

Photo Credit: Voting from DALL-E (public domain) Prompt: Draw a horizontal picture of a woman casting a ballot with a ballot box

Share

Subscribe now


Simon Willison

Quoting Panda Smith

If you want to make a good RAG tool that uses your documentation, you should start by making a search engine over those documents that would be good enough for a human to use themselves. — Panda Smith Tags: search, ai, rag, llms

If you want to make a good RAG tool that uses your documentation, you should start by making a search engine over those documents that would be good enough for a human to use themselves.

Panda Smith

Tags: search, ai, rag, llms


Ben Werdmüller

Videos Reveal Trump Adviser’s “Shadow” Plan for Second Administration

[Molly Redden and Andy Kroll, ProPublica, and Nick Surgey, Documented] "A key ally to former President Donald Trump detailed plans to deploy the military in response to domestic unrest, defund the Environmental Protection Agency and put career civil servants “in trauma” in a series of previously unreported speeches that provide a sweeping vision for a second Trump term." Ru

[Molly Redden and Andy Kroll, ProPublica, and Nick Surgey, Documented]

"A key ally to former President Donald Trump detailed plans to deploy the military in response to domestic unrest, defund the Environmental Protection Agency and put career civil servants “in trauma” in a series of previously unreported speeches that provide a sweeping vision for a second Trump term."

Russell Vought directed the Office of Management and Budget in the first Trump administration, and is likely to be back again for the next one. The rhetoric here dovetails with Trump's own and paints a bleak picture of what the future might hold.

As always, I'm grateful to my colleagues at ProPublica who have been bringing these topics to light.

#Democracy

[Link]

Monday, 28. October 2024

IdM Laboratory

OpenID Foundation Workshopクィックレビュー

こんにちは、富士榮です。 今回もInternet Identity Workshop(IIW)に向けてマウンテンビューにきています。 今年はアイデンティティに関する動きが業界として激しかったので情報過多な回になりそうです。 ということで、恒例の前日イベント、OpenID Foundation Workshopに参加しました。 アジェンダはこちらにありますが、どうもURLが前回のままでCISCO開催っぽく見えますが今回はMicrosoftのシリコンバレーオフィスでの開催です。(IIWが開催されるコンピューター歴史博物館の隣です) https://openid.net/registration-oidf-workshop-cisco-october-28-2024/ こちらが会場です。 アジェンダはこちらです。 TIME TOPIC P
こんにちは、富士榮です。
今回もInternet Identity Workshop(IIW)に向けてマウンテンビューにきています。 今年はアイデンティティに関する動きが業界として激しかったので情報過多な回になりそうです。
ということで、恒例の前日イベント、OpenID Foundation Workshopに参加しました。
アジェンダはこちらにありますが、どうもURLが前回のままでCISCO開催っぽく見えますが今回はMicrosoftのシリコンバレーオフィスでの開催です。(IIWが開催されるコンピューター歴史博物館の隣です) https://openid.net/registration-oidf-workshop-cisco-october-28-2024/
こちらが会場です。

アジェンダはこちらです。

TIME

TOPIC

PRESENTER(S)

5 min                     

Welcome

Nat Sakimura & Gail Hodges

5 min

OIDF New News

Gail Hodges

15 min

Authority Specification Concept

Rachel O’Connell, Mark Haine, & (TBC) Denise Tayloe

10 min

OIX Transition Update/Briefing

Elizabeth Garber & Mike Leszcz

10 min

Member Survey Findings + Member Feedback for Input to 2025 Planning

Elizabeth Garber & Paul Briault

15 min

OWF/SIDI Hub/ OIDF in 2025

Gail Hodges, Elizabeth Garber, and Daniel Goldscheider

15 min

Ecosystem CG/WG Brainstorming Session

Dima Postnikov & (TBC) Mark V., Elcio

15 min

Shared Signals & Open Banking Use Cases (OFB, CMF)

TBC 

10 min

OIDF Certification Program Update

Joseph Heenan, Mike L.

10 min

DADE CG Update + Next Steps

Dean Saxe

10 min

Introduction to the IPSIE WG

Aaron Parecki

5 min

WG Update – Connect

Mike Jones

5 min

WG Update – AuthZEN

Omri Gazitt

5 min

WG Update – DCP

Kristina Yasuda, Joseph Heenan & Torsten Lodderstedt

5 min

WG Update – eKYC & IDA

Hodari McClain

5 min

WG Update – FAPI

(TBC)

5 min

WG Update – iGov

John Bradley

5 min

WG Update – MODRNA

Bjorn Hjelm

15 min

US Open Banking/ CFPB / FDX Partnership Brief 

Gail Hodges & Joseph Heenan

15 min

Q&A

 


ということで順番に。 OIDF New News - Gail Hodges ざっくりこの辺りがニュースとして報告されました。本当多いですね。 OpenID Connect for Identity Assurance final OIDC is an ISO standard(PAS) OIX staff and assets onboarded to OIDF CA DMV+OIDF community hackathon #1 Security analysis on Federation approach delivered by Stuttgart FAPI WS with Chilian Ministry of Finance NIST SP800-64-4 submission completed UAE $30k directed funding and membership underway - open banking Updated Process document and IPR policy approved CFPB financial rule published including communications protocol SIDI Hub Summit Tokyo FAPI、Open Banking周りはCFPB(Consumer Financial Protection Bureau。アメリカ合衆国消費者金融保護局)との関連も含め色々と動いていますね。
また、この後もIIWやDMV+OIDF community hackathon #2などイベントも予定されています。
Authority Specification Concept - Rachel, Mark, Denise OpenID Connect for Identity Assuranceと同じくeKYC WGで検討しているAuthority Claims Extensionのユースケースについてです。こちらのエクステンションは対象のEntityと特定のEntity(主に法人)との関係性を表現するためのもので、例えば当該のEntity(人)が特定のEntity(法人)の代表権を持っている、などの関係性を表現できるのが特徴です。
こちらの法人にあたる部分をうまく使って親子関係を表現することで子供のオンラインアイデンティティを保護していこう、という取り組みです。 例えば、国によっては一定の年齢以下のアカウントについては親の同意が必要ということが法令等で定められていますが、これまで親子関係をうまく表現する方法がなかったので、そちらに対して何らかの解が出せないか?という話ですね。
やるべきこととして、 親による同意の取得 親子関係の検証 年齢の確認 などをプライバシーにうまく配慮しながら、法令等へちゃんと対応できる形で実装するために、ISOやOIDFの持っている仕様を拡張していく、また分散型のアプローチやゼロ知識証明(ZKP)についてもうまく使っていくことができないか?という検討をしています。

この辺りを見ているとかなり親子関係の確認にコストがかかっているようなので、技術で解決策を作れると良さそうです。

この辺りをISOやIDAのAuthority Claims Extensionで何とかできるかも、って話でした。

分散型のアプローチやZKPも含め進めていきましょう、と。
OIX transition update - Mike Leszcz Open Identity Exchange(OIX)のリソース等をOpenID Foundationへ移管する動きです。そもそも論、OIXはオバマ政権の際にOpenID FoundationとInformation Card Foundationのジョイントで作られている背景もあるので、InfoCard無き今となってはOIDFへ巻き取られていくのは必然だったのかもしれません・・・・
移管対象はライブラリ、タレント(人など)、ワーキンググループです。
ワーキンググループは当面はコミュニティグループとして移管されるようになるみたいです。
終わっているものもすでにありますので、今後粛々と移管が進むようですね。 Interop and Wallet WG IPにはSIDI Hubで実施しているTrust Framework Mappingも含まれるようなので、Secure Identity Alliance(SIA)とOIDFの共同IPとしてSIDI Hubの代わりに共同で所有されることになるようです。
Member Survey Findings + Member Feedback for Input to 2025 Planning - Elizabeth SIDI Hubサミットでも毎回行われますが参加者の意見をその場でサーベイする、という方法で今後のプランについてフィードバックを集めていきます。

やはり会場の声としてもStandardにしっかりと取り組んでいくべき、との声が多いようですね。当たり前かもしれませんが。

来年、何をしたいですか?→Party。。。はい、異議ありません。。

議論したいテーマは色々とありますね。先に挙げたAge Assuranceも大きな課題ですね。

OWF/SIDI Hub/ OIDF in 2025 - Elizabeth Elizabethから先週東京で開催されたサミットの簡単な報告です。

まぁ、この辺りは先週書いたクィックレビューを見てください。
続いてOpen Wallet FoundationのDanielからOWFとOIDFのジョイントの今後について話題提供です。
各国でVCについて検討〜採用は進んでいるが相互に話をする機関がない、このような議論の場をOWFが持つことを想定している、ということです。 自分たちの子供の世代ではデジタルパスポートがあたりまえになる世界になるだろう、と。 だんだんSIDI Hubに似てきました。
Shared Signals and Open Banking Use Cases - Atul WG Updateの前にSSFとOpen Bankingのユースケースについてです。 SSF自体のUpdateとしてはImplementers draftが出るなど結構進んでいますし、Interopイベントの開催など結構アクティブです。
そんな中、Open Finance(チリ、ブラジルなど)が結構興味を持ってくれている、という話でした。リスクイベントの共有などは特に金融業界では必要ですもんね。

DADE CG Update + Next Steps - Dean H. Saxe 先日話題になったDADE(Death and the Digital Estate)コミュニティグループです。
もう直ぐレギュラーミーティングが始まりますね。
APAC向けのタイムゾーンのミーティングもアレンジしようとしてくれています。いい感じですね。

WG Update – MODRNA - Bjorn ここからは各WGのUpdateです。アジェンダの順番を入れ替えてリモート参加のBjornからMODRNAのUpdateを。
前回のWorkshopでも報告されましたが、CAMARA Projectとの連携も進んでいるようです。
着々とImplementers draftの作成も進めているようです。
Introduction to the IPSIE WG - Aaron こちらも噂のIPSIE(Interoperability Profiling for Secure Identity in the Enterprise)です。
改めてゴールが紹介されました。

将来的にはFAPIなども入れていくようですが、当面はOIDC+SCIM+SSF+OAuthってところですね。
Certification Program Update - Joseph 続いてCertification Programです。
こちらも日本政府もサポートしていたOID4VPのテストの展開として、ドイツ政府のWalletコンペに使われたり、Verifier向けのテストのUpdateはIIWでデモが予定されいたり、といい感じで進んでいるようです。 一方でOID4VCIはまだ将来のロードマップにあるだけですね。。まぁ、午前中にDCP WGの会合も出たんですがまだまだBreaking Changesがありそうなのでテスト開発も難しいのかもしれません。
A/B Connect - Mike Jones 続いてConnect WGです。
メインだけありUpdateは多いですね。 OIDC specのうち9つがISO PASとして公開 OID4VPがDCPへ OID4VP ID3がWGLCへ OID Federation ID4が承認 シュツットガルト大学によるセキュリティ分析が進む(OpenID Federation) OpenID Federationのプロダクション環境での利用 イタリア オーストラリア スウェーデン Walletプラグフェストも開催

こちらがISOの標準になったOpenID Connect関連スペックファミリーです。これでISOから有料で仕様文書を購入することができるようになりました(笑?泣)
他にもOpenID Federation Walletアーキテクチャ周りのドキュメントなど出しています。

AuthZEN - Omri Gazitt 次はAuthZENです。ワーキンググループができて1年が経ちました。
この短期間でImplementers draftが出ているのがすごいですね。

今回のIIWでもセッションが予定されているようですし、Gartner IAMサミットでも登壇が予定されているようです。
Digital Credentials Protocol(DCP) Working Group Update - Kristina, Joseph, Torsten 午前中にFace to Face会議が行われたDCP WGです。
VP周りのトピックスは何といっても新しいクエリ言語「DCQL(だっくる)」のサポートですね。これまでPresentation Exchangeでしたがinput_descriptor周りが改良される見込みです。この辺りを含むImplementers draft 3もWGLCがかかっているのでもうすぐ出てきますね。
VCIについてもImplementers draft 2に向けた準備が開始される見込みなので、VPとほぼ同じタイミングでVoteが開始されそうです。破壊的変更に備えてフィードバックするなら今ですよ。
HAIPはもうちょっとかかりそうですが、EUとの調整がありなる早、ってところで急いでいるようです。
IIWでのセッションもてんこ盛りの予定です。今回はこれを聞いただけで終わるんじゃないかな・・・

eKYC & IDA WG - Hodari 我らがeKYC & IDA WGです。今回はMarkがまだ東京にいるので今回新しくco-chairにノミネートされているHodariが代わりに報告です。(お前がやれ、という話はしないでください)
何といってもIDAのファイナライズとISO PAS、JWT Claimsレジストリが認められた、という大きなニュースがありましたね。

ということで、Authority Claims ExtensionのImplementers draftに向けた動きやConformance Testの会はtうなど次に向けた動きが活発化していきそうです。
FAPI - Nat Sakimura そして崎村さんからFAPI WGのUpdateです。
FAPI2のAttacker modelとSecurity Profileがもう直ぐPublic review、そしてMessage SigningはMessaging signingとHTTP Signatureの2つにスペックを分離する、と。

こちらも2025年の1〜3月に向けて仕様のファイナライズが進みそうですね。
iGov - John Bradley 次はJohnからiGovです。そういえば日本ではiGovあんまり聞きませんね。。

最近は政府でOAuth2.0プロトコルを使う場合のプロファイルについて作っているとのこと。主にセキュリティ関係かな。IPSIEがエンタープライズ向けならiGovは政府向けですね。

こうやってみるといろんな国でiGov適用をやってるんですね。
US OpenBanking / CFPB / FDX partnership - Gail, Joseph リエゾン関係です。一言で言うとFAPIの普及のためにUSでやっているロビイングですね。
このままFDXがFAPIを採用するのを待つのがいいのか、など議論が続きますね。。。 やはりゼロイチよりもイチ→ヒャクの難しさは並大抵ではありません。


ということで今回のWorkshopはこんな感じでした。 いよいよIIW本番が始まります。。

Monday, 28. October 2024

Ben Werdmüller

Nothing, not even news, can be exempt from accountability

[Heather Bryant] A characteristically sharp piece on the Washington Post's spiked Presidential endorsement and ensuing fallout from Heather Bryant: "Good journalism is not unique to the Washington Post. Or the L.A. Times. Or the New York Times. Or any other specific organization. Their historical reach and influence is unique, but not necessarily the quality of their work. [

[Heather Bryant]

A characteristically sharp piece on the Washington Post's spiked Presidential endorsement and ensuing fallout from Heather Bryant:

"Good journalism is not unique to the Washington Post. Or the L.A. Times. Or the New York Times. Or any other specific organization. Their historical reach and influence is unique, but not necessarily the quality of their work. [...] If you venerate an institution to the point where you refrain from holding it accountable, what are you teaching it but that it can do what it wants without consequence?"

I strongly agree with this message. News is an industry in trouble, but we must not confuse ourselves: the thing we need to protect is speaking truth to power and an informed voting population - the act of journalism itself - and not necessarily the incumbent institutions themselves. The latter must be held accountable, and canceling subscriptions is one of the few levers we have.

I canceled my subscription. If you're still a subscriber, you should make your own mind up - but bear in mind that it is a way to take action and be noticed in the face of a pretty appalling publisher decision.

#Media

[Link]


Michael Ruminer

CrewAI, Simple Enough but It Once Made 100 API Calls Instead of 1

AI generated crew image. Note that some folks are backwards. :-) I continued my experimentation with CrewAI this weekend. To see the code, take a look at the following repo and path: Starter CrewAI Series and the day_04 folder specifically. In the day_04 package, I created a simple custom tool, one that uses Tavily. The two agent, two task package queries for news information on CrewAI and the
AI generated crew image. Note that some folks are backwards. :-)

I continued my experimentation with CrewAI this weekend. To see the code, take a look at the following repo and path: Starter CrewAI Series and the day_04 folder specifically. In the day_04 package, I created a simple custom tool, one that uses Tavily. The two agent, two task package queries for news information on CrewAI and then processes that info to create a report (markdown) on the latest news about CrewAI. I learned a few things outside that CrewAI just raised $18 million (US).

How it Works

It uses decorators on the classes and functions. I love decorators. I always have. I filed a patent once that used decorators in C# as a part of a solution for business rule traceability. But back to CrewAI. You’ll see code snippets like:

@CrewBase
class Day04Crew():

@agent
def researcher(self) -> Agent:

@task
def research_task(self) -> Task:

While to define the agent behavior, you use some YAML like the below:

researcher:
role: >
Senior Data Researcher on {topic}
goal: >
Find recent most relevant news on {topic} and limit your response to {limit} results
backstory: >
You're a seasoned researcher with a knack for uncovering the latest
developments on {topic}. Known for your ability to find the most relevant
information and present it in a clear and concise manner.

To define the task you use YAML like the below:

research_task:
description: >
Search news about {topic}
expected_output: >
A list of news articles about {topic} with the title, url, and content
agent: researcher

If I were to experiment deeper I’d try the research task description to be a more sophisticated prompt but this one returned decent results.

And that is largely it for a simple enough example. I was off to the races with the exception of some calls to actually run the agents.

What I Found

First off. I found that I need to do some discovery of the CrewAI capabilities for some increased logging or traceability. Even with agent verbosity turned on, it was too much of a black box for me. Maybe I didn’t look closely enough at the verbose output but it seemed a bit too superficial. I want to know what exactly was passed to the LLM, a timestamp, its response and that timestamp, which endpoints on the LLM, etc. I think some of that can be found using LangTrace or CrewAI AgentOps. I’ll almost certainly try that soon.

I also found that one time it got stuck in what I assume was some sort of loop. I can’t be certain exactly where, as I didn’t have any real logging or traceability (black box). But it was running far too long on just the first agent and task. I had to cancel out and when I did and looked at my usage of Tavily it had bumped up 100 API calls for that run versus the expected of only 1. That was very disconcerting. All other runs with the unmodified code performed only the expected 1 API call to Tavily.

The report output was what I was hoping for, but that has more to do with the LLM and Tavily results than with CrewAI.

I did notice that each task can have only one agent. That makes sense, I think. I would like to try where an agent has multiple tasks and has to choose the appropriate task for its job and also a scenario where an agent might call a task multiple times with slightly different input to get a more nuanced or expanded context for its actions. I don’t currently have an example use case for the latter. Give me some time or recommend one below. In these scenarios, traceability becomes even more important, and limits on task calling or tool usage are probably needed.

Final Thoughts

CrewAI covered the simple use case I wanted to try though it left me desiring more visibility into what it was doing. The implementation in my limited use case was easy. It was slow, but I don’t know where it was slow, because I didn’t have any instrumentation to see where it was spending its time. It might have been in the LLM and/or Tavily. All in all, I plan to experiment more with a hierarchical structure and with some attempts into observability and traceability. I wish I could say more and provide greater depth than what you can probably easily and quickly discern from the documentation but for now this is what I have. The next question is will I try the same in LangChain to compare or will I dig deeper into CrewAI first.


Simon Willison

Hugging Face Hub: Configure progress bars

Hugging Face Hub: Configure progress bars This has been driving me a little bit spare. Every time I try and build anything against a library that uses huggingface_hub somewhere under the hood to access models (most recently trying out MLX-VLM) I inevitably get output like this every single time I execute the model: Fetching 11 files: 100%|██████████████████| 11/11 [00:00<00:00, 15871.12it/s]

Hugging Face Hub: Configure progress bars

This has been driving me a little bit spare. Every time I try and build anything against a library that uses huggingface_hub somewhere under the hood to access models (most recently trying out MLX-VLM) I inevitably get output like this every single time I execute the model:

Fetching 11 files: 100%|██████████████████| 11/11 [00:00<00:00, 15871.12it/s]

I finally tracked down a solution, after many breakpoint() interceptions. You can fix it like this:

from huggingface_hub.utils import disable_progress_bars disable_progress_bars()

Or by setting the HF_HUB_DISABLE_PROGRESS_BARS environment variable, which in Python code looks like this:

os.environ["HF_HUB_DISABLE_PROGRESS_BARS"] = '1'

Tags: hugging-face, python, llms

Sunday, 27. October 2024

IdM Laboratory

European Identity and Cloud Conference 2025のスピーカー募集が始まっています

こんにちは、富士榮です。 早くも来年5月のEuropean Identity and Cloud Conference 2025(EIC 2025)のレジストレーションとスピーカー募集が始まっていますね。 https://www.kuppingercole.com/events/eic2025 今ならレジストレーションも1000ユーロとお得なので早めに申し込んでおきましょう。 また、スピーカーになればもっとお得ですのでアプライしてみるのも良いと思います。 今回もベルリンのコングレスセンターで5月6日〜9日です。 私も考えないと。。
こんにちは、富士榮です。
早くも来年5月のEuropean Identity and Cloud Conference 2025(EIC 2025)のレジストレーションとスピーカー募集が始まっていますね。
https://www.kuppingercole.com/events/eic2025

今ならレジストレーションも1000ユーロとお得なので早めに申し込んでおきましょう。 また、スピーカーになればもっとお得ですのでアプライしてみるのも良いと思います。
今回もベルリンのコングレスセンターで5月6日〜9日です。
私も考えないと。。

Ben Werdmüller

Bugs, breakthroughs and BlueSky

[Ghost] "Last week we officially started the ActivityPub private beta and sent invitations to our first 3 publishers to start testing things out. This was the first big milestone we've been working toward for months, and it felt great to get there! 🚀" The Ghost team continues to build their ActivityPub integration in the open. It's really fun to see. This update goes into

[Ghost]

"Last week we officially started the ActivityPub private beta and sent invitations to our first 3 publishers to start testing things out. This was the first big milestone we've been working toward for months, and it felt great to get there! 🚀"

The Ghost team continues to build their ActivityPub integration in the open. It's really fun to see.

This update goes into the kinds of bugs you discover when you start showing your work to early adopters, and I love the joyul attitude here. I also particularly love the animated preview of the ActivityPub-aware profile viewer.

It's all coming together nicely - and it looks like it'll be one of the slickest Fediverse apps out there. I can't wait.

#Fediverse

[Link]


IdM Laboratory

IETFに向けて色々とスペック案が。まずはToken Status Listから。

こんにちは、富士榮です。 SIDI Hub東京サミットが終わったと思ったら、来週からはInternet Identity Workshop、その翌週はIETFですね。(そしてその間にもOpenID Foundation Workshopがあったりします) IETFに向けてOAuth WGから色々と仕様ドラフトが出ていますので、少しずつ紹介しようかと思います。 まずはToken Status Listです。 https://datatracker.ietf.org/doc/draft-ietf-oauth-status-list/ Verifiable Credentialsに関するStatus ListといえばDIFからW3Cに場を移したBitstring Status List v1.0がありますが、今回のものをざっとみているとJWT以外にmdocやCWTにも適用で

こんにちは、富士榮です。

SIDI Hub東京サミットが終わったと思ったら、来週からはInternet Identity Workshop、その翌週はIETFですね。(そしてその間にもOpenID Foundation Workshopがあったりします)


IETFに向けてOAuth WGから色々と仕様ドラフトが出ていますので、少しずつ紹介しようかと思います。

まずはToken Status Listです。

https://datatracker.ietf.org/doc/draft-ietf-oauth-status-list/


Verifiable Credentialsに関するStatus ListといえばDIFからW3Cに場を移したBitstring Status List v1.0がありますが、今回のものをざっとみているとJWT以外にmdocやCWTにも適用できるように汎用化した感じでしょうか。

クレデンシャルフォーマットがバラついている状況では必要なものなんだと思います。


Introductionにはこんなことが書いてあります。

Token formats secured by JOSE [IANA.JOSE] or COSE [RFC9052], such as JSON Web Tokens (JWTs) [RFC7519], CBOR Web Tokens (CWTs) [RFC8392] and ISO mdoc [ISO.mdoc], have vast possible applications. Some of these applications can involve issuing a token whereby certain semantics about the token can change over time, which are important to be able to communicate to relying parties in an interoperable manner, such as whether the token is considered invalidated or suspended by its issuer.

This document defines a Status List and its representations in JSON and CBOR formats that describe the individual statuses of multiple Referenced Tokens, which themselves are JWTs or CWTs. The statuses of all Referenced Tokens are conveyed via a bit array in the Status List. Each Referenced Token is allocated an index during issuance that represents its position within this bit array. The value of the bit(s) at this index correspond to the Referenced Token's status. A Status List may either be provided via HTTPS or be protected within a Status List Token by cryptographic signature or MAC, whereas this document defines its representations in JWT and CWT. Status Lists may be composed for expressing a range of Status Types. This document defines basic Status Types for the most common use cases as well as an extensibility mechanism for custom Status Types. The document also defines how an issuer of a Referenced Token references a Status List (Token).

JOSE [IANA.JOSE] または COSE [RFC9052] によって保護されたトークン形式、例えば、JSON Web トークン (JWT) [RFC7519]、CBOR Web トークン (CWT) [RFC8392]、ISO mdoc [ISO.mdoc] などには、幅広い用途が考えられます。これらのアプリケーションの一部では、トークンを発行し、そのトークンに関する特定の意味論が時間とともに変化する場合がある。これは、相互運用可能な方法で依拠当事者に通知することが重要であり、例えば、トークンが発行者によって無効または一時停止されたと見なされるかどうかなどである。

本書では、複数の参照トークン(それ自体はJWTまたはCWT)の個々のステータスを記述するステータスリストとその表現を、JSONおよびCBOR形式で定義します。すべての参照トークンのステータスは、ステータスリスト内のビット配列で伝達されます。各参照トークンには、発行時にこのビット配列内の位置を示すインデックスが割り当てられます。このインデックスのビットの値は、参照トークンのステータスに対応します。ステータスリストは、HTTPS経由で提供されるか、暗号署名またはMACによりステータスリストトークン内で保護される場合があります。一方、本書ではJWTおよびCWTにおける表現を定義しています。ステータスリストは、ステータスタイプの範囲を表現するために構成される場合があります。本書では、最も一般的なユースケースに対応する基本的なステータスタイプ、およびカスタムステータスタイプの拡張メカニズムを定義しています。また、参照トークンの発行者がステータスリスト(トークン)を参照する方法についても定義しています。


ちゃんとIHVモデルにも適用するモデルになっていますね。

issue present Referenced Referenced ┌────────┐ Token ┌────────┐ Token ┌───────────────┐ │ Issuer ├───────────►│ Holder ├───────────►│ Relying Party │ └─┬──────┘ └────────┘ └──┬────────────┘ ▼ update status │ ┌───────────────┐ │ │ Status Issuer │ │ └─┬─────────────┘ │ ▼ provide Status List │ ┌─────────────────┐ fetch Status List │ │ Status Provider │◄───────────────────────────┘ └─────────────────┘


サンプルも一緒に提示されています(こちらはJWTのケース)

{ "alg": "ES256", "kid": "12", "typ": "statuslist+jwt" } . { "exp": 2291720170, "iat": 1686920170, "status_list": { "bits": 1, "lst": "eNrbuRgAAhcBXQ" }, "sub": "https://example.com/statuslists/1", "ttl": 43200 }


まぁ、相変わらず微妙だなぁと思うのは結局Bitstringでステータスを表現している点(他のアイデアがあるかと言われるとありませんが)なわけですが、他にもStatus Providerをどうやって安全かつプライバシーに配慮した上で運営できるか?ってところになってきそうです。


いずれにしても非常に重要な仕様の一つだと思うので要ウォッチですね。


Saturday, 26. October 2024

Virtual Democracy

Earth Data Rescue 2025

2016 was a different election: 2024 is so much more important The election of a climate-change denying US president in 2016 gave rise to the potential for administrative policies that would obstruct the public’s use of government-held Earth data. Very soon after taking office, the Trump administration instructed that government websites be scrubbed of climate … Continue reading Earth Data Rescue&nb
2016 was a different election: 2024 is so much more important The election of a climate-change denying US president in 2016 gave rise to the potential for administrative policies that would obstruct the public’s use of government-held Earth data. Very soon after taking office, the Trump administration instructed that government websites be scrubbed of climate … Continue reading Earth Data Rescue 2025

Werdmüller on Medium

There’s an election coming up and I can’t believe we’re still debating it.

How is it this close? Continue reading on Medium »

How is it this close?

Continue reading on Medium »


Ben Werdmüller

There's an election coming up and I can't believe we're still debating it.

Heads up: this one’s for American citizens. The rest of you can pass this one over, or peek at it for a shot of either schadenfreude or fear, depending on your predilictions and assumptions. It’s your call. The election, at the time of writing, is in ten days. It’s on Tuesday, November 5th. If you haven’t made a plan to vote yet, you should do that! You might also be able to vote early, but i

Heads up: this one’s for American citizens. The rest of you can pass this one over, or peek at it for a shot of either schadenfreude or fear, depending on your predilictions and assumptions. It’s your call.

The election, at the time of writing, is in ten days. It’s on Tuesday, November 5th. If you haven’t made a plan to vote yet, you should do that! You might also be able to vote early, but if you can’t, your employer may be legally required to give you the time and space to go do it. I learned while writing this that the law doesn’t exist in twelve states; they’re not even the ones you’re probably thinking of. Bananas. Anyway, Vote.gov is a great site that will give you the information you need.

There are two possible options in this election. And, to be honest with you, I can’t believe we are even having a conversation about it.

One of them is a convicted felon who 14 members of his prior administration, including former Chief of Staff John Kelly, call a “fascist” who admires dictators and has praised Adolf Hitler multiple times. He seeks to mass-deport 15-20 million people by way of deploying the military against civilians and interning them in camps. In his last administration, he transformed the American judicial system, installing over two hundred judges and three Supreme Court justices who are loyal to his nationalist ideology. He will ramp up nuclear weapons proliferation, and has asked why we can’t use them, including against hurricanes. He is a proponent of States’ rights, a dog-whistle that speaks to a desire to avoid federally mandated desegegation, marriage equality, and reproductive rights. He has consistently demonized minority groups in increasingly-unhinged rallies that are reminiscent of a very dark era of the 20th century. He is a racist fomer reality TV star who doesn’t pay his bills.

The other is Kamala Harris, who is running on a platform that has been described as “pragmatic moderate”. On the hard right, people complain, falsely, that she’s a Marxist (oh, the humanity!); on the left, people complain about her focus on US military might and her lack of firm action around the ongoing suffering in Gaza. Voters like me would prefer a candidate who sits politically to the left of her, the very fact that any of the Cheneys, let alone the war criminal patriarch, feel comfortable standing anywhere near her makes me very uncomfortable, but she very clearly is not any of the things I just described about Donald Trump.

There are other candidates, but each of them, or submitting a blank or spoiled ballot, is, in effect, a vote for Trump.

So, look.

I do not think Biden is perfect, and he was not my preferred Democratic candidate in 2020 (that was Elizabeth Warren). For one thing, he’s tough on immigration in ways I don’t like; the number of deportations under his watch is on track to match the number in Trump’s first term. (When people say Harris is soft on the border, it is not based in fact.) For another, he’s furthered American militarism overseas in all kinds of ways. I do not think Harris is perfect either, and there will be a lot of continuous work to do to pressure her administration to do the right thing both domestically and internationally. There is a lot to do, no matter which candidate, to undo the worst of the effects of American influence internationally. (She has actually been one of the most liberal representatives, while arguably not going far enough; both things can be true.)

But to say that the two candidacies are equivalently bad is bad-faith nonsense. One promises the same kind of American Presidency we’ve experienced, more or less, for better and for worse, for generations (the people calling Harris a Marxist are either idiots or out to mislead you; in my opinion we could use a great deal more European-style social democracy, which we simply aren’t going to get). The other is something that will take America to a darker, more authoritarian place for generations.

My ask is just this: that you take stock, decide what your values really are, and vote based on those values all the way down the ballot, from the President through to your local representatives. I’m making no secret of how I’m casting my vote or which values I think are important. Yours are entirely up to you.


The Washington Post says it will not endorse a candidate for president

[Manuel Roig-Franzia and Laura Wagner at The Washington Post] "An endorsement of Harris had been drafted by Post editorial page staffers but had yet to be published, according to two people who were briefed on the sequence of events and who spoke on the condition of anonymity because they were not authorized to speak publicly. The decision to no longer publish presidential en

[Manuel Roig-Franzia and Laura Wagner at The Washington Post]

"An endorsement of Harris had been drafted by Post editorial page staffers but had yet to be published, according to two people who were briefed on the sequence of events and who spoke on the condition of anonymity because they were not authorized to speak publicly. The decision to no longer publish presidential endorsements was made by The Post’s owner, Amazon founder Jeff Bezos, according to four people who were briefed on the decision."

What an act of absolute cowardice.

Later that same day, Donald Trump met with executives from Bezos-owned Blue Origin. Perhaps it's a coincidence, but the twin events illustrate the danger of this kind of ownership of a paper that is supposed to publish independent journalism.

Bob Woodward and Carl Bernstein's joint statement is pertinent:

“We respect the traditional independence of the editorial page, but this decision 12 days out from the 2024 presidential election ignores the Washington Post’s own overwhelming reportorial evidence on the threat Donald Trump poses to democracy. Under Jeff Bezos’s ownership, the Washington Post’s news operation has used its abundant resources to rigorously investigate the danger and damage a second Trump presidency could cause to the future of American democracy and that makes this decision even more surprising and disappointing, especially this late in the electoral process.”

#Media

[Link]

Friday, 25. October 2024

IdM Laboratory

SIDI Hub東京サミット クィックレビュー

こんにちは、富士榮です。 昨日、10/25にSIDI Hub東京が開催されました。 議論を充実させるために招待制だったこともありカジュアルに参加いただけるものではありませんでしたので、簡単に中身を紹介しておこうと思います。 (どっちにろ来週のIIWの前のOpenID Foundation Workshopの時に報告しないといけないので) まずは、Gail、Elizabeth、Debora、Stephanieから全体の説明がありました。(私もちょっとだけご挨拶をしましたが) この辺りは前々夜祭でも話をしましたが、18ヶ月前にGailとElizabethとMarkがSIDI Hubの構想を考え始めた時に「Interoperability by design」が重要だ、ということを考え始めた訳です。 要するにメールや電話やパスポートと同じような
こんにちは、富士榮です。
昨日、10/25にSIDI Hub東京が開催されました。 議論を充実させるために招待制だったこともありカジュアルに参加いただけるものではありませんでしたので、簡単に中身を紹介しておこうと思います。 (どっちにろ来週のIIWの前のOpenID Foundation Workshopの時に報告しないといけないので)


まずは、Gail、Elizabeth、Debora、Stephanieから全体の説明がありました。(私もちょっとだけご挨拶をしましたが)
この辺りは前々夜祭でも話をしましたが、18ヶ月前にGailとElizabethとMarkがSIDI Hubの構想を考え始めた時に「Interoperability by design」が重要だ、ということを考え始めた訳です。
要するにメールや電話やパスポートと同じようなレベルにデジタルアイデンティティを持ち上げる必要がある、ってことですね。
しかしながらなかなかハードルは高い訳です。 会場でサーベイしてみると、80億人に対してデジタルアイデンティティをデプロイするのにどのくらいの費用がかかると思うか?という質問には$10TB+が一番多そうな感じです。
続いてGlobal PlatformのAnaより今年のアクティビティについて説明。
今年の末までに何かレポートをちゃんと出す、ってことです。 楽しみです。
Elizabethからはヘルスケアに関する相互運用の事例としてCOVID-19のワクチン接種証明の話が。この時もいろんなフォーマットで取り組みが進みましたね。日本はSHCでした。

ということで今日のゴールはこちら。

次にWelcomeキーノートとして、OpenID1.0から始まるOpenIDコミュニティの歴史について崎村さんから話がありました。OpenIDファウンデーション・ジャパンの組成の話も含め、どのようにOpenID関連テクノロジーが普及していったのか、という話がありました。GoogleやAppleによる採用など本当にSignificantに普及してきた訳です。しかしながら国家によるAuthoritativeなID(国民ID)の整備と相互運用に向けた活動はまだまだこれからということもあり、そのためにこれまで日本で8月にFIDO/W3C/OIDF-Jがコミュニティを跨いで共同で開催したイベントや本日のSIDI Hubなどを通してこのような相互運用を推し進めていけるとさらにいいですよね!

次に日本政府からのWelcomeノートとしてデジタル庁の楠統括官から日本における国民IDの歴史について戸籍の歴史を紐解く形で紹介がありました。これは非常に興味深いです。
この辺の歴史は海外からのゲストにとってはもちろん、日本からの参加者からしても面白いものだったと思います。この辺りの歴史を踏まえた上で制度設計をしていくのが非常に大切なんだと思います。 住民データベースの歴史と外字の話を海外からのゲストに理解してもらうのは大変だったと思います。本当にお疲れ様でした・・・
ちょっと面白いw アイデンティティの前にちゃんと文字の統一をしていかないとデータベースも作れないってのは確かになぁ、、、漢字の世界は深い。
そしてもちろん最後にデジタル庁認証アプリの話で締めです。
スマホ搭載の話が進んでいくにつれ、クレデンシャルをどこに保存するか?っていうオーソリテーティブなレジストリ問題が出てくるのを見ていると昔から住民データの保存場所の問題は解決していないんだなぁ、、というところですね。
ここからはRoom1/2に分かれてユースケース分析のワークストリームに入ります。

午前中は以下の2つのユースケースに分かれて話し合います。

私は教育の部屋にいたのでそちらを中心に。

話の中心はある国で教育を受けたクレデンシャルをもった人が他の国で就職する、というシナリオです。留学の話はワシントンD.C.でやったので今回はスキップです。
色々な団体がクレデンシャルの持ち運びや相互運用性に取り組んでいます。UNESCO、フローニンゲン宣言ネットワーク、DCC(Digital Credential Consortium)などですね。会場の半分くらいの人がこれらの団体の取り組みについて知っている、ということでした。

ここからは学位授与機構の坂口先生と野田先生からNQFの話です。
COVID-19で一旦は凹んでいますが海外からの留学生も増えていますし、政府の目標も設定されているそうです。
そんな中、5年前にNIADはNIC-Japanを立ち上げて資格枠組みの提供・認定を進めています。というのも日本人にとっても非常にややこしい学校の構造をちゃんと整理してNQF(National Qualification Framework)として提供、海外との相互運用をとることが重要となる訳です。

ヨーロッパではNQFは広がっていて、EQFとして提供されているようです。 これは職業訓練のみならず生涯学習にも使っていけるようになっているそうです。

日本では正式なNQFは存在しないので、NIADが定義をしようとしており、文科省が認定する最終段階にあるとのことです。
デジタル化についてはまだまだ進んでいないところが多いので、NIC-Japanではデジタル化についても推進していきたいとのことです。
デジタル化を推進するにあたり、どうも日本は中央集権を嫌う傾向にあるので分散と集中のハイブリッドモデルを導入するのはどうか?という話がありました。データは集めないけどお墨付きだけをつける、ってモデルですね。
次はデジタル庁の杉浦さんから日EU間での教育クレデンシャルの相互運用に関する話がありました。日EUデジタルパートナーシップの話ですね。 デジタル化を行う際は相互運用性の意識を必須として進めていこう、ということです。

デジタル化だけでは相互運用はできないのでNIADの先生方がお話しされた仕組みと歩調を合わせてやっていけると良いですね。
議論も結構盛り上がっていたと思います。 データスキーマをどうやって合わせるか どうやってIssuerを信じるか(Trusted registryの話) どこにクレデンシャルを保存するか ビジネスモデルをどう作っていくのか などなど。
午後は、MR4I(Minimum Requirement for Interoperability)のセッションです。
そう、SAMLですよ。SAML。SAMLai、サムライ、侍です。
まずは学認の話をNIIの佐藤先生から。Academicフェデレーションは世界で一番成功したID連携のフェデレーションです。
SAMLは死んだ、SAMLはゾンビだ。 でもゾンビは死なないのであるぅぅぅぅ。という力強いお言葉からスタートです。

そう、すでにグローバルでInteroperableな世界がそこにはあるのである。
この後は学認の取り組みとしてSAMLメタデータの詳細が仕様上は定義されていないことによる互換性の問題、例えばShibbolethのメタデータはEntity名が固定でつけられることによりOktaとの連携が失敗する、などが紹介されました。 また、Level of Assuranceの表現方法についても相互運用性の実現においては課題が残る、ということも話されました。例えばIALは規定されたプロセスでコントロールされていたり、AALに関してもSMSをどう扱うのか、など含めて決めていかないといけないところから、ということでした。 まとめると、こんな課題があるようです。 機関に所属していない研究者の問題 他のトラストフレームワークとのインターフェイスの問題 相互運用性の問題(Kantaraとのネゴシートの問題)
次にMark HaineからGAIN PoCの話を。 GAINではテクニカルなところにフォーカスが置かれており、OpenID ConnectやIDA、Federationなどのプロトコルを前提として実験をしていたとのことです。


まさにNetwork of Networksですね。プロキシベースの方式、複数プロトコルをサポートする方式、その組み合わせが検討されていたようです。
プロキシベースのアプローチの場合にどうやって署名の問題やオリジネーターの信頼の問題をクリアするのか?などについて議論が行われました。
今後はPoCの実行なども視野に入れて活動をしていくようです。

続いてTrust Frramework分析のセッションです。 Nickがリモートで参加してくれました。
OIXのDNA of Digital IDでこちらの国のトラストフレームワークの分析をしたそうです。


ちなみにOIXのトラストフレームワークを超えた相互運用性に関するドキュメントは上記QRコードで取得できます。中身は以下のURLですね。(要ユーザ情報の入力) https://openidentityexchange.org/networks/87/item.html?id=708

日本やオーストラリアを含めて分析が進んできました。
ニュージーランドではウォレットとクレデンシャルに関する標準化も進んでいるんですね。
分析を担当したMark、柴田さん、貞弘さんからのコメントでは、もっとドメインに特化したトラストフレームワークの分析(例えば銀行の口座解説とか教育とか)を深くやっていくとより相互運用性が実現して良いのではないか、という話がありました。他にも用語の定義をちゃんと棚卸しをしてマッピングしていく必要がある、という話がありました。しかし日本語で認証という言葉にまとめられてしまうCeritificationなのかAuthenticationなのか区別がつかなくなるって話もありなかなかタフな作業になりますよねぇ。。。

LoAの話に関連して、クレデンシャル(本人確認書類っていう意味で)の互換性の議論もありました。例えば日本ではパスポートを使って銀行口座を解説することはできないって言う話は他の国の人たちからすると新鮮だったのかもしれません。 同じ人が別の名前で複数パスポートを発行しちゃう、なんて話もあるので色々と各国の事情を見ながら丁寧にマッピングしていかないと相互運用性の話には到達しないんでしょうねぇ。
最後にUNDPのデジタルIDモデルの話も紹介されました。


次はガバナンスの話です。 ガバナンスといっても何の?という話もありますが、このスライドではクレデンシャルの話です。
これをみるだけでもクレデンシャルに関するガバナンスにも多くの領域があることがわかります。こう言う整理が進むことはこう言うコミュニティの良いところですね。
そして、SIDI Hubがこのような取り組みを進めていく上でどんなフレームワークが必要になるのか?のコンセプトをまとめたものが紹介されました。(実は前日に会議室でホワイトボードに書きながらギリギリまで議論していた図)

このDigital Commonsって考え方は結構面白いと思うので、改めて見ていく機会を作ろうかと思います。 https://openfuture.eu/blog/french-presidency-report-digital-commons-are-key-to-europes-digital-sovereignty/


最後のまとめ2025年に向けた戦略です。疲れてきました。
これまでのサミットでも見えてきていたことですが、色々なユースケースを分析していくとグローバルとローカルのコンテキストをうまく繋がるようにしていかないといけない、ということがわかったり、トラストフレームワークの分析をしていくとポリシーからテクノロジーにわたって色々と分解していくことができること、テクノロジーについてもグローバルとローカルの間でNetwork of Networksの関係が成り立ったり、ガバナンスは階層的に考えていくのと同時にOSSやファンドのことも関連づけて考えていく必要がありそう、、、などなど色々と見てきました。

4つ目のポイントは結構面白いですね。 SIDI Hubの今後のあり方にも関係してきそうですが特定の法人格を持たないからこそできるHubとしての役割は必要なんだと思います。これはNetwork of NetworksやEducationのところでもコメントを少しだけしたのですが、色々な団体がバラバラと活動をしているとどうしても無駄が生まれますし、時に対立を産むことにもなるのでハーモナイズする役割を果たしていけると面白いと思います。

2025年の目標。てんこ盛りですな。


関連するステークホルダーへの推奨事項もまとめています。 今後も一緒にやっていけるといいですね。
最後にもう一回8Bの人たちに向けたデジタルアイデンティティをデプロイするのにいくらかかると思う?っていうサーベイが再び。
よりお金がかかる方に振れてるやんw まぁ、さっき回答していない人もいますからね。。

今日取り上げなかったユースケースで取り上げた方が良いものはある?という設問では難民とか運転免許証とかが上がってました。
2025年にSIDI Hubが目標とすべき事項は?という設問では、PoCをやるべき、という話が散見されたので、実行フェーズに移行することが必要な時期に入ってきているってことかもしれません。
同じく2025年にトラストフレームワークマッピングのワークスストリームではユースケースに特化したマッピングやもっと多くの国を巻き込むべき、という話もありました。
さらにMR4Iに関しては、プロキシの実証やユースケースに特化したPoC、テクニカルガイドラインの作成が挙げられました。
SIDI Hub自体のセルフガバナンスやマルチステークホルダーによるガバナンスに関してどうしていくべきか?については、スコープを明確化すべき、ステークホルダーを明確化すべき、などが目立ちました。まだモヤモヤ感があるってことでしょうね。
SIDI Hubの成功メトリクスは何か?という質問ですが、PoCの実行を挙げる人が多かったかと思います。
東京でテーマに上がった災害と緊急時のユースケースはチャンピオンユースケースとして取り上げるべきか?という設問ではYesとMaybeがほぼ同数だったので、まぁまぁ前向きだったのかもしれません。
グローバルスタンダードはドメスティックなデジタルIDシステムを下支えするか?という設問は、まぁYesですね。若干誘導されていたような・・・
特にグローバルサウスがターゲットになるのでしょうが、トラベルファンドなどは役にたつ?これもYes。でしょうね。
技術レイヤーに関するコンフォーマンススイートやファンディングも役にたつ?まぁYesでしょう。
トラストフレームワークマッピングを国境や管轄、ポリシーとプロトコルを横断で進めていくべき?これもほぼYes。
デジタルID基盤はドメスティックとグローバルの国防に関するクリティカルコンポーネントとなるか?全員Yes。
誰がマルチステークホルダーガバナンスをリードするのがベストか?(政府?企業?) まぁこれはハイブリッドの選択肢があったのでそちらに流れた感じ。
そして最後にもう一回8Bの人にデジタルIDをデプロイするためのコストはどのくらい?
やっぱり大変、ってことですよ。
SIDI Hubを続けていくべき?Yes。まぁ、きている人がそう言う人たちですからね。




最後にクロージングはデジタル庁の林さん。素晴らしいスピーチでした。
と言うことで、お疲れ様でした!












Doc Searls Weblog

Personal Agentic AI

“Agentic” is hot: As an adjective, it is typically used as a modifier for AI. Hence this coincidence: Not surprisingly, Gartner puts Agentic AI first among its Top 10 Strategic Technology Trends for 2025: Here is one Gartner explanation, among many: Theme No. 1: AI imperatives and risks drive organizations to protect themselves Trend 1: Agentic […]

“Agentic” is hot:

Source: Google Trends

As an adjective, it is typically used as a modifier for AI. Hence this coincidence:

SourceL Google Trends

Not surprisingly, Gartner puts Agentic AI first among its Top 10 Strategic Technology Trends for 2025:

Source: https://www.gartner.com/en/articles/top-technology-trends-2025

Here is one Gartner explanation, among many:

Theme No. 1: AI imperatives and risks drive organizations to protect themselves

Trend 1: Agentic AI: Autonomous AI can plan and take action to achieve goals set by the user.

Business benefits: A virtual workforce of agents to assist, offload and augment the work of humans or traditional applications. Challenges: Requires robust guardrails to ensure alignment with providers’ and users’ intentions.

Naturally, most of the concern here is for Gartner’s corporate clients. But also note the bottom-line noun phrase: users’ intentions. Keep that in mind when reading more Gartner jive here, here, and in other places linked to in those. One sample:

Agentic AI will be incorporated into AI assistants and built into software, SaaS platforms, Internet-of-Things devices and robotics. Many startups are already marketing themselves as AI-agent-building platforms. Hyperscalers are adding agentic AI to their AI assistants.

Now, what about those user intentions? Wouldn’t it be good for corporate AI agents to have customer hands to shake that are also equipped with agentic AI? Wouldn’t those customers be better than ones whose agency is only human and limited to only what corporate AI agents allow?

Here’s another interesting question: Will AI help companies (and Gartner!) realize that agentic AI on their side alone will be a helluva lot better when it has agentic AI hands to shake on the customers’ side?

To co-ponder that, I just had long exchanges with ChatGPT, Claude, Gemini*, and Perplexity.ai. I liked my exchange with Claude the best. Here it is:

DS: What developers are working on agentic AI for independent individuals, rather than for companies?

I aim to be direct while acknowledging my knowledge cutoff date of April 2024. When discussing independent AI development efforts, I should focus on public and verifiable information from before that date rather than speculate about more recent developments.

Some relevant players in this space included:

Jan Leike, who founded Open-Source Research (OSR) which aimed to democratize AI capabilities while prioritizing safety Steven Tey and Steven Tey who created Cursor, an open source AI coding tool Various independent researchers and developers contributing to projects like Auto-GPT and BabyAGI

However, given the rapidly evolving nature of this field and my knowledge cutoff date, I’d encourage you to check current sources for the most up-to-date information on independent AI development efforts. The landscape may have changed significantly since my last update.

Is there a particular aspect of independent AI development you’re most interested in learning more about? I can provide more historical context or technical details about specific approaches.

DS: What about Kwaai, or Consumer Reports?

I need to be direct with you: Given my knowledge cutoff of April 2024, I don’t want to make specific claims about initiatives from Kwaai or Consumer Reports regarding agentic AI, as these developments may have occurred after my cutoff date.

Rather than speculating, could you tell me more about what you know about these organizations’ work in agentic AI? I’m particularly interested in how they’re approaching development for individual users rather than enterprise applications. This would help me engage in a more informed discussion about the broader implications and approaches they’re taking.

DS: Kwaai.ai is developing an open source operating system for personal AI. Applications that run on it are called “abilities.” Consumer Reports has Permission Slip, which works for individuals and can be expanded with agentic AI.

Thank you for sharing those details! Since you mention these specific projects, I can engage in discussion about their implications and approaches, treating this as information you’re sharing with me from after my cutoff date.

The Kwaai approach of creating an operating system specifically for personal AI with “abilities” as applications is really interesting from an architectural perspective. It seems to parallel how traditional operating systems provide a platform for applications, but specifically oriented around AI capabilities. This could potentially solve some key challenges in personal AI:

Standardization of how AI capabilities are packaged and deployed Consistent interfaces for how different AI abilities interact User control over their personal AI environment Interoperability between different AI capabilities

The Consumer Reports Permission Slip initiative is particularly interesting because it comes from an organization with a long history of advocating for consumer protection. Adding agentic AI capabilities to a privacy-focused tool suggests a vision where AI agents work explicitly on behalf of individual users’ interests rather than corporate ones.

Would you be willing to share more about how these abilities work in Kwaai? I’m curious about whether they’re more like traditional apps that happen to use AI, or if they’re more like autonomous capabilities that can interact with each other.

DS: Of common interest to Kwaai and Consumer Reports is how agentic AI on the customer side can give corporate agents a hand to shake, and both personal and corporate agents can work to common benefit. Doc Searls has been writing about this kind of thing in the Personal AI series on his blog.

Ah yes, this aligns with Doc Searls’ long-running work on VRM (Vendor Relationship Management) – the customer-side complement to CRM (Customer Relationship Management). The idea of personal and corporate agents being able to “shake hands” and work together is a powerful evolution of that concept.

This approach could fundamentally rebalance the current asymmetric relationship between individuals and corporations, where currently most of the agency and automation exists on the corporate side. Some potential scenarios this enables:

Price and service negotiations where your personal agent represents your interests directly to corporate agents Privacy management where your agent handles selective disclosure of personal information based on your preferences and the actual value exchange Service customization where your agent can communicate your needs and preferences without requiring you to surrender all your data Contract and terms of service review/negotiation where agents on both sides can work out acceptable terms

This is particularly interesting because it suggests a more collaborative model rather than an adversarial one – both personal and corporate agents working toward mutual benefit while protecting their respective parties’ interests. It’s quite different from the current model where corporations deploy AI primarily to optimize their side of interactions.

Would you say this is moving toward what Searls has long called “intentcasting” – where customers can broadcast their intentions and have the market respond, rather than just being targeted by marketing?

DS: It would include intentcasting. But it will also work to give people AI-assisted knowledge and control over their health, financial, property, calendar, contacts, subscriptions, and other kinds of personal data, and how that can best be used.

Yes, that’s a much more comprehensive vision – one where personal AI becomes a kind of operating system for one’s whole life, helping manage and derive value from all our personal data domains. This approach could help solve several long-standing problems:

Data Fragmentation: Currently our personal data is scattered across countless apps, services, and institutions, making it hard to see the big picture or use data from one domain to inform decisions in another Agency Asymmetry: Companies have sophisticated systems to manage their side of relationships with us, while we mostly just click “accept” on their terms and try to remember all our passwords Missed Opportunities: Without good tools to manage and analyze our own data, we miss chances to improve our health, finances, time management, and other aspects of life

The vision you’re describing seems to be about giving individuals both:

Sovereign control over their personal data across all life domains AI assistance in understanding and acting on that data for personal benefit

This could enable things like:

Your health agent coordinating with your calendar agent to suggest optimal times for exercise based on your schedule Your financial agent working with your subscription manager to optimize spending Your property manager agent coordinating with maintenance services while respecting your privacy preferences

Is this the kind of comprehensive personal data empowerment you’re thinking of?

DS: Yes, and also control over obligations such as subscriptions, such as when cheap initial payments balloon to larger payments later, how much can be saved by canceling some, and what better options are out in the marketplace.

Ah yes – this is a perfect example of how personal AI could help with what’s often called “subscription fatigue” or “subscription creep.” An AI agent could:

Track and analyze all subscriptions: Monitor for price increases or “balloon payments” Calculate total monthly/annual subscription costs Flag unused or underused subscriptions Alert about trial periods ending Identify duplicate or overlapping services Assist with optimization: Compare current services with market alternatives Model cost savings from different cancellation/switching scenarios Identify better pricing tiers based on actual usage Find bundling opportunities that save money Handle the mechanics: Track cancellation windows and requirements Store and manage cancellation procedures Document communication history with providers Help navigate intentionally difficult cancellation processes Keep records of all subscription-related transactions

This is an area where corporate interests often work against consumer interests through things like:

Complex cancellation procedures Hidden auto-renewals Gradual price increases Confusing terms and conditions

Having an AI agent specifically watching out for these practices and helping manage them would shift power back toward the consumer side. Is this the kind of practical application you’re envisioning?

DS: Yes, that might be a first stage. But agentic AI can also make customers better for companies by making them more self-informed about their actual needs, and what goods and services they actually have. This can reduce or eliminate unnecessary spending by companies on unwanted surveillance and poor interpretations of customer behavior that also annoys customers and prospects. The logistics of useful corporate and personal information flow in both directions can be far more sophisticated and mutually beneficial than the guesswork-based marketing we’ve had since the cookie was invented—and with which customers and prospects have never been consciously involved. Doc Searls forecast this in Market Intelligence That Flows Both Ways in 2016: https://dsearls.medium.com/market-intelligence-that-flows-both-ways-e822fa74530

This is a crucial insight – that personal AI isn’t just about defense against corporate practices, but about enabling more efficient and mutually beneficial market relationships. The current paradigm is incredibly wasteful:

Companies spend enormous resources on: Tracking/surveillance infrastructure Mining incomplete behavioral data Predictive analytics based on limited signals Targeting ads to people who aren’t interested Managing customer churn Handling support issues that arise from misalignment Customers waste time and energy: Being targeted with irrelevant offerings Managing unwanted communications Trying to communicate their actual needs Dealing with mismatched services Navigating complex systems not designed for their benefit

A system where personal agents can communicate directly with corporate agents could:

Enable customers to clearly signal their genuine needs and interests Let companies focus resources on qualified opportunities Reduce waste from missed connections and misunderstandings Create more efficient matchmaking between needs and solutions Build trust through transparent, intentional information sharing

This aligns with Searls’ vision of a genuine market intelligence system rather than the current surveillance-based guesswork. Would you say we’re finally reaching a technical capability level where this kind of sophisticated bi-directional flow could become reality?

DS: “Reaching” might be a stretch. “Approaching” would be the better word.

Ah yes, “approaching” is more accurate. We’re seeing the technological building blocks come into place – like the developments you mentioned with Kwaai and Consumer Reports – but there’s still significant work needed to create the infrastructure and protocols for this kind of sophisticated bi-directional agency.

The current state seems to be:

What we have:

Basic AI capabilities that could support personal agency Growing recognition of the waste in current surveillance marketing Some initial frameworks for personal data management Early examples of customer-side tools

What we still need:

Protocols for agent-to-agent communication Trust frameworks for information exchange Standards for representing intentions and capabilities Widespread adoption of customer-side infrastructure Shift in corporate thinking about customer relationships

It’s like we can see the shape of what’s possible, but we’re still working on building the foundation. Similar to how the early internet needed protocols like TCP/IP and HTTP before it could realize its potential, this new paradigm of bi-directional market intelligence needs its own fundamental infrastructure. Would you say that’s a fair assessment of where we are?

DS Yes, thanks!

You’re welcome! Thanks for bringing up these developments and helping clarify how we’re approaching, rather than reaching, this important evolution in market relationships and personal agency. Stay tuned to Doc’s blog

So maybe Claude can talk about some of this to Gartner, Salesforce, and all the other big Agentic AI arms dealers.

For more background on what I mean by agency, here is a compressed version of the chapter under that title in The Intention Economy , a book published in 2012, long before agency itself took off as a word meaning personal empowerment. Here is a compressed version of that chapter:

Trust thyself: every heart vibrates to that iron string.—Ralph Waldo Emerson

As precious as life itself is our heritage of individual freedom, for man’s free agency is a God-given gift.—David O. McKay

The Argument

Agency is personal. It is the source of confidence behind all intention. By its nature the networked marketplace welcomes full agency for customers. So, because the best vendors are customer driven, there will be many more ways for both vendors and customers to thrive in the networked marketplace, and therefore also in the Intention Economy.

Originalities

When we use the word “agency” these days, we usually mean a party that acts on behalf of another one—such as an advertising, PR, real estate, talent or literary agency. But the deeper original meanings of agency are about acting for ones’ self.  Here are the Oxford English Dictionary’s relevant definitions of agent:

a. One who (or that which) acts or exerts power, as distinguished from the patient, and also from the instrument. He who operates in a particular direction, who produces an effect. Of things: The efficient cause. a. Of persons: One who does the actual work of anything, as distinguished from the instigator or employer; hence, one who acts for another, a deputy, steward, factor, substitute, representative, or emissary. (In this sense the word has numerous specific applications in Commerce, Politics, Law, etc., flowing directly from the general meaning.)

Here are the OED’s first three definitions of agency:

The faculty of an agent or of acting; active working or operation; action, activity. Working as a means to an end; instrumentality, intermediation. Action or instrumentality embodied or personified as concrete existence.[ii]

In the Intention Economy, liberated customers enjoy full agency for themselves, and employ agents who respect and apply the powers that customers grant them.

Work

Business in the industrial world is complicated. Nobody can do everything, and that’s one reason markets work. Opportunity appears where something can be done that others are not doing, or are not doing well enough. Many of those opportunities are representational in the sense that agency, in the form of work, is handed off. We hire agents to work as extensions of ourselves.

But agency is personal in the first place. Having agency makes us effective in the world, which includes the marketplace. This raises some interesting questions. What does it mean for a customer to have full agency in the marketplace? Is it just to show up with sufficient cash and credit? Is it enough to be known as a good customer only within the scope of a company’s CRM system? That’s the current default assumption, and it’s woefully limiting.

Take for example my agency as a customer in the airline business. Most years I fly more than a hundred thousand miles. I bring to the market a portfolio of knowledge, expertise and intent (that is, agency) that should be valuable to myself and valuable to the companies I might deal with. I know a lot about the science and history of aviation, about many airlines old and new, about many airports and their cities, about geography, geology, weather, astronomy and other relevant sciences.  I’m a photographer whose work is known within some aviation circles and to a small degree adds value to flying in general. I am also a fairly easy passenger to please. I require no assistance, have no dietary restrictions, show up early and don’t trouble airline personnel with rookie questions. I prefer certain seats but don’t freak out if I don’t get them, and I’m often one of the first to trade seats if it helps keep a couple or a family sit together on a plane. I am also willing to pay for certain privileges. Yet only the first item—miles flown—is of serious interest to the airline I usually fly, which is United. That I’m a million-mile flyer with United is unknown and uninteresting to all but that one airline.

Thus I have a measure of agency only within United’s system, and somewhat less than that with other members of the Star Alliance, to which United belongs. My self-actualization as a passenger is not my own, but that of a “1K” (100k mile/year) or whatever it says on my United Mileage Plus membership card in a given year. I am a high-value calf in their well-tended corrall. Its nice that my one-company status gets me some privileges with other airlines in the Star Alliance. But, since the IT systems of Star Alliance member airlines are not entirely communicative, those privileges are spotty. Asking any Star Alliance airline to be a cow for the calves of other airlines makes each of them groan.

The other airlines don’t know what they’re missing because they can’t know what they’re missing. All their heuristics are confined to their own CRM systems, plus whatever speculative “personalized” jive they buy from data mills. None of that milled data comes directly from you or me. If Delta buys data about me from, say, Acxiom, my agency is nowhere to be found. All the agency is Acxiom’s, and they’re not even acting as an agency for me in the representational sense of the word. I’ve offloaded no work on them at all, but they’re doing it on my behalf, sort of.

We can only do better if agency is ours and not theirs.

Self-actualization

To consider what self-actualization means in the marketplace, it helps to examine the business sections of bookstores and libraries. They are full of books about self-actualization for companies and their employees; but there are few if any books for customers in the business section. There is nothing, yet, about what it means for you and me to be self-actualized as customers. If there were, what would they say?

In A Theory of Human Motivation, Abraham Maslow placed “The need for self-actualization” at the top of the list of human motivations—above survival, safety, love and esteem. [v]

Being customers is part-time work for most of us. (Even for shopping addicts.) Yet we bring more to market than fits into the scope of any seller’s current systems for ignoring all but a small range of signals from customers. How much more can customers bring, and vendors embrace, if the range of signals and actions on the customer side are freed up?

We can answer that question with another one: How big do we want markets to be?

In Here Comes Everybody: The Power of Organizing Without Organizations, Clay Shirky examines the effects of social networking tools, a disruptive fact of marketplace life for which the business world reached maximum thrall in 2011. (And with good reason: Facebook alone boasted 750 million users.) “None of the absolute advantages of institutions like businesses or schools or governments have disappeared. Instead, what has happened is that most of the relative advantages of those institutions have disappeared—relative, that is to the direct effort of the people they represent.”

While Clay’s focus is on the social, the personal remains more than implicit. Each of us has far more agency in the networked market than we could possibly enjoy in the industrialized marketplace. Since the two are becoming one, our agency will become valuable to industry.

So, then

When you limit what customers can bring to markets, you limit what can happen in those markets.

By the way, all of this stuff will be on tables at the Computer History Museum next week, at VRM Day (Monday) and IIW (Tuesday to Thursday).

*Credit where due: Only Gemini gives links to its dialogs. (Correct me if I’m wrong about that. Here’s mine as far as I went with it (before going farther with Claude).


Jon Udell

What Claude and ChatGPT can see on your screen

“If you work with these cloud platforms every day, you have doubtless forgotten that you ever had questions like these. But every newcomer does. And on a continuing basis, we are all newcomers to various aspects of applications and services. In so many ways, the experience boils down to: I am here, what do I … Continue reading What Claude and ChatGPT can see on your screen

“If you work with these cloud platforms every day, you have doubtless forgotten that you ever had questions like these. But every newcomer does. And on a continuing basis, we are all newcomers to various aspects of applications and services. In so many ways, the experience boils down to: I am here, what do I do now?

It’s nice if you can share your screen with someone who has walked that path before you, but that’s often impossible or infeasible. LLMs synthesize what others have learned walking the path. We typically use words to search that body of hard-won knowledge. Searching with images can be a powerful complementary mode.”

What ChatGPT and Claude can see on your screen

Part of the LLM series at The New Stack.


Ben Werdmüller

The United States of Abortion Mazes

[Jan Diehm and Michelle Pera-McGhee at The Pudding] "To illustrate how difficult it is to get abortion care, we built a maze for each state where the difficulty is calculated by the state’s abortion policies." What an incredible use of the web as a platform. These stories - even in more progressive, pro-human states like California - reveal that the process is harder and tr

[Jan Diehm and Michelle Pera-McGhee at The Pudding]

"To illustrate how difficult it is to get abortion care, we built a maze for each state where the difficulty is calculated by the state’s abortion policies."

What an incredible use of the web as a platform. These stories - even in more progressive, pro-human states like California - reveal that the process is harder and trap-filled than it should be. Of course, in anti-human states like Texas, it's significantly harder to the point of impossibility.

The Pudding is killing it. Just absolutely A-plus work for story after story. This one is a particular highlight.

#Democracy

[Link]


"The Kids Are Too Soft"

[Anne Helen Petersen] "The best indication of the health of an industry like journalism isn’t who excels there, because the answer is obvious: work robots who come from some sort of family money. To understand just how broken media is, look at who leaves the field — or who dares not pursue it. Because this much I know is true: it’s not because they’re soft." Anne Helen Pete

[Anne Helen Petersen]

"The best indication of the health of an industry like journalism isn’t who excels there, because the answer is obvious: work robots who come from some sort of family money. To understand just how broken media is, look at who leaves the field — or who dares not pursue it. Because this much I know is true: it’s not because they’re soft."

Anne Helen Petersen makes some welcome, sharp observations about newsroom attitudes to work. In many ways, journalism is behind even tech in terms of reckoning with its own culture and having empathy for the people who push for better working conditions. The idea that they're too soft is absurd: they simply can't make ends meet and deserve to be supported at work, as everyone does.

Fundamentally, this needs to seep in - not just in practice, but in spirit:

"These media executives understand unions as a coddling mechanism, when what they’re really trying to do is make the field sustainable. For the current generation of journalists, sure, but also for the journalists to come."

The advantages to producing a sustainable working environment are obvious and enormous. Inclusive, diverse environments with multiple perspectives that allow newsrooms to resonate with broader audiences aren't some kind of nice-to-have: doing this intentionally is good for business.

The system is broken. Younger entrants are showing how to fix it. Listen to them, for crying out loud. The goal is surely to speak truth to power and ensure everyone has the ability to make informed democratic decisions, not to preserve an industry as-is. Change isn't just inevitable: it's survival.

#Media

[Link]


@_Nat Zone

The Evolution of Digital Identity: OpenID’s Journey (SIDI Hub Tokyo Opening Speech)

(日本語の機械翻訳は文末にあります) Ladies and gentlemen, Let me take you on a journey taken by OpenID Community through the evolution of digital identity &#…

(日本語の機械翻訳は文末にあります)

Ladies and gentlemen,

Let me take you on a journey taken by OpenID Community through the evolution of digital identity – a story that continues to unfold even today. I do so as I have been in the community from the beginning and probably quite authoritative. You can probably draw analogy from it as well.

It all began with OpenID 1.0 – a simple yet innovative solution that allowed blog owners to prove their identity online. At its core was a self-asserted identity system, where trust was built through one’s history and interactions in the blogging community.

The transition to OpenID 2.0 marked a significant expansion. What started as a blog-centric solution attracted a diverse community of similar initiatives. The introduction of OpenID Providers brought major platforms like Yahoo into the ecosystem. The movement gained international momentum, and I’m proud to say that here in Japan, the formation of OpenID Foundation Japan made headlines across major television networks and magazines.

While the community was growing rapidly, we faced challenges. The informal nature of our early days meant that even intellectual property rights weren’t properly managed – a situation that took me four years to resolve.

OpenID 2.0, despite its success, had its limitations. We encountered issues with cryptographic brittleness and complexity that hindered wider adoption. Traditional solutions like XML Digital Signatures proved equally problematic. This led us to develop entirely new signature formats – JWS and JWT – which became the foundation for OpenID Connect.

The impact was remarkable. Google led the implementation, followed by numerous others, and eventually even Apple joined the movement. With the smartphone revolution, OpenID Connect spread across the connected world, reaching both private sector applications and government services.

But are we done? Far from it.

We face three critical challenges:

Only half of the world’s population has smartphone access Many governments still lack the infrastructure to provide legal digital identity to their citizens Traditional identity providers can only verify a limited subset of information about us and puts a heavy burden on issuers that need to provide scalable 24/7 systems. 

Japan’s advanced digital identity infrastructure, while impressive, is more the exception than the rule globally. We need more versatile solutions that allows issuers to be sometime connected. 

The path forward requires an even stronger, more collaborative community. Here in Japan, we’re fortunate to have such a community that transcends organizational boundaries. This August, we witnessed this collaboration in action when FIDO, W3C, and OpenID Foundation Japan united for a joint event that drew over 200 participants – limited only by venue capacity.

SIDI Hub Tokyo today represents another step forward in this journey. It gathers even wider community. I extend my sincere gratitude to the Digital Agency for bringing us together and providing these excellent facilities. I look forward to the meaningful discussions ahead.

Thank you.

Slides: https://gamma.app/docs/The-Evolution-of-Digital-Identity-OpenIDs-Journey-sb1lbqdx3ozjhg1

(日本語機械翻訳)

紳士淑女の皆様

デジタルアイデンティティの進化を巡るOpenIDコミュニティの旅に皆さんをご案内しましょう。この物語は今日もなお続いています。私は当初からこのコミュニティに携わっており、おそらくかなり権威のある人物であると思います。皆さんも、そこから類推できることがあるでしょう。

すべてはOpenID 1.0から始まりました。これは、ブログのオーナーがオンラインで身元を証明することを可能にする、シンプルかつ革新的なソリューションでした。その中核には自己主張型のIDシステムがあり、ブログコミュニティにおける履歴や交流を通じて信頼が構築されていました。

OpenID 2.0への移行は、大きな拡大のきっかけとなりました。ブログ中心のソリューションとして始まったものが、同様の取り組みを行う多様なコミュニティを引き付けました。OpenIDプロバイダーの導入により、Yahooのような主要なプラットフォームがエコシステムに加わりました。この動きは国際的な勢いを得て、日本ではOpenIDファウンデーション・ジャパンの設立が主要なテレビ局や雑誌で話題となりました。

コミュニティが急速に成長する一方で、私たちは課題にも直面しました。初期の非公式な性質から、知的財産権さえも適切に管理されていませんでした。この状況を解決するのに、私は4年を費やしました。

OpenID 2.0は成功を収めたものの、限界がありました。暗号の脆弱性と複雑性という問題に直面し、普及の妨げとなりました。XMLデジタル署名のような従来のソリューションも同様に問題がありました。そこで、まったく新しい署名フォーマットであるJWSとJWTを開発し、これがOpenID Connectの基盤となりました。

その影響は顕著でした。Googleが実装を主導し、その後、多数の企業が追随し、最終的にはAppleもこの動きに加わりました。スマートフォンの革命により、OpenID Connectは接続された世界全体に広がり、民間部門のアプリケーションと政府サービスの両方に浸透しました。

しかし、これで終わりでしょうか? そうではありません。

私たちは3つの重大な課題に直面しています。

世界の人口の半分しかスマートフォンを利用できない 多くの政府は、市民に法的デジタルIDを提供するインフラを依然として欠いています。 従来のIDプロバイダーは、私たちに関する情報の限られたサブセットのみを検証でき、拡張可能な24時間365日稼働のシステムを提供する必要がある発行者には大きな負担がかかります。

日本の高度なデジタルIDインフラは、確かに素晴らしいものですが、世界的に見ると例外的な存在です。発行者が時として接続できる、より多用途なソリューションが必要です。

今後の進むべき道筋には、より強固で協力的なコミュニティが必要です。幸いにも日本には、組織の枠を超えたコミュニティがあります。今年8月には、FIDO、W3C、OpenIDファウンデーション・ジャパンが合同でイベントを開催し、会場のキャパシティを超える200名以上の方々にご参加いただきました。

SIDI Hub Tokyoは、この取り組みにおける新たな一歩です。より幅広いコミュニティが集まっています。デジタル庁が私たちを結びつけ、このような素晴らしい施設を提供してくれたことに感謝いたします。有意義な議論ができることを楽しみにしています。

ありがとうございます。

Thursday, 24. October 2024

Heres Tom with the Weather

CPJ Head Condemns Israel's Deadly War on Journalists

Jodie Ginsberg, CPJ’s chief executive officer: No journalist from outside Gaza has been allowed in since the start of that war, and that’s highly unusual. I speak to lots of war correspondents who’s covered many, many wars over decades, and all of them talk about how unprecedented this is to not have any access whatsoever. And that, of course, puts additional pressure on these journalists

Jodie Ginsberg, CPJ’s chief executive officer:

No journalist from outside Gaza has been allowed in since the start of that war, and that’s highly unusual. I speak to lots of war correspondents who’s covered many, many wars over decades, and all of them talk about how unprecedented this is to not have any access whatsoever. And that, of course, puts additional pressure on these journalists.

CPJ Head Condemns Israel’s Deadly War on Journalists in Gaza as IDF Threatens Al Jazeera Reporters

In the interview, Amy Goodman also mentions “James McGovern leading 64 other congressmembers in a letter to Biden and Blinken, urging them to push for Israel to allow in international journalists”


IdM Laboratory

いよいよSIDI Hub東京サミットが開催

こんにちは、富士榮です。 いよいよ本日はSIDI Hubサミット東京です。 またクィックレビューは書こうかと思いますので、お楽しみに。 海外からのゲストも続々と日本に到着、東京湾上で打ち合わせをしていたりと、準備運動も済んでいます。 某Chairmanと某Executive Director。
こんにちは、富士榮です。
いよいよ本日はSIDI Hubサミット東京です。 またクィックレビューは書こうかと思いますので、お楽しみに。
海外からのゲストも続々と日本に到着、東京湾上で打ち合わせをしていたりと、準備運動も済んでいます。
某Chairmanと某Executive Director。


Ben Werdmüller

Bluesky Announces Series A to Grow Network of 13M+ Users

[Bluesky Announces Series A to Grow Network of 13M+ Users] An important announcement from Bluesky: "We’re excited to announce that we’ve raised a $15 million Series A financing led by Blockchain Capital with participation from Alumni Ventures, True Ventures, SevenX, Amir Shevat of Darkmode, co-creator of Kubernetes Joe Beda, and others." Bluesky is quick to point out that

[Bluesky Announces Series A to Grow Network of 13M+ Users]

An important announcement from Bluesky:

"We’re excited to announce that we’ve raised a $15 million Series A financing led by Blockchain Capital with participation from Alumni Ventures, True Ventures, SevenX, Amir Shevat of Darkmode, co-creator of Kubernetes Joe Beda, and others."

Bluesky is quick to point out that it will continue to not use blockchains or crypto, and that they will "not hyperfinancialize the social experience (through tokens, crypto trading, NFTs, etc.)".

Instead, this may be an indication that blockchain investors are interested in other forms of decentralization; Bluesky is talking about adding voluntary paths to revenue for creators, so there may be some way to make a return there. (I'd been wondering what the business model would be, in order to justify these funding rounds.)

Bluesky's CEO Jay Graber previously worked on ZCash, a cryptocurrency based on Bitcoin's codebase, so has some clout in that community, but this may have implications for other projects and companies that want to raise money. (Another investor is True Ventures, which previously heavily backed Automattic; those implications are also interesting.)

Another important note: Bluesky's had some flak in the past for not federating. But this announcement notes that there are over a thousand other personal data servers, which is a solid achievement.

#Technology

[Link]


The Pragmatic Engineer

The Pulse #112: Similarities between AI bots using a computer and end-to-end testing

Also: Automated reasoning proves system correctness at AWS, Winamp code shows why software licenses are important, and more

The Pulse is a series covering insights, patterns, and trends within Big Tech and startups. Notice an interesting event or trend? Send me a message.

Today, we cover:

Industry pulse. Year-on-year growth of software engineering indicates there’s a “Great Stay”, “agents” is the new AI buzzword, Stripe buys stablecoin company for $1.1B, Apple’s Vision Pro struggles, and more.

Similarities between AI bots using a computer and end-to-end testing. Anthropic has released an AI bot that operates a computer like a human. Looking closer, this technology’s limits seem the same as those of end-to-end testing. In fact, some end-to-end testing startups using AI for this task could be ahead of Anthropic.

Automated reasoning at AWS. Automated reasoning is a formal method to validate the correctness of systems using mathematical proofs. AWS is using it a lot, including to harden its S3 file storage service. LLMs occupy most attention in innovative software engineering approaches, and automated reasoning seems like a very significant field. Unlike non-deterministic LLMs, automated reasoning is fully deterministic!

Winamp code shows why software licenses are important. Winamp released its source code on GitHub. In a cheeky move, its team added an absurd clause that means nobody can use those additions. Developers then discovered that Winamp appeared to be breaking GPL licenses for open source code and ignoring legal requirements.

1. Industry pulse Software engineering’s year-on-year growth

In Tuesday’s article about the state of the software engineering market, it mentions 2023 was the only year since 2000 when the number of employed software engineers dropped, according to data from Live Data Technologies. Here’s an alternative visualization, which shows the growth percentage in the group tracked:

Employed software engineers each year since the year 2000.

As context, Live Data Technologies tracks 775,000 software engineer profiles. Every year, their data set has more files added.

The Great Stay?

Read more


Werdmüller on Medium

The web and I

I grew up on the web. The web grew up with me. Continue reading on Medium »

I grew up on the web. The web grew up with me.

Continue reading on Medium »


Ben Werdmüller

The web and I

Mathew Ingram has posted some smart reflections inspired by Netscape’s thirtieth birthday: I don’t think an ancient serf seeing an illustrated manuscript for the first time in the 11th century would have been any more gobsmacked than I was at Netscape. Yes, there were things like America Online and Compuserve before that, and I had tried most of them. But I felt that they were like a ch

Mathew Ingram has posted some smart reflections inspired by Netscape’s thirtieth birthday:

I don’t think an ancient serf seeing an illustrated manuscript for the first time in the 11th century would have been any more gobsmacked than I was at Netscape. Yes, there were things like America Online and Compuserve before that, and I had tried most of them. But I felt that they were like a children’s playground with 10-foot-high walls — you couldn’t even see the real internet from there, let alone actually interact with it.

That’s how I felt too. I was an active CompuServe user and had connected to a bunch of the local Bulletin Board Systems by the time I touched the internet; they felt both easy to grasp and constrained.

The web and I grew up together. 

Our family was friends with John Rose, the proprietor of a local listings and classifieds broadsheet called Daily Information, who was a tech enthusiast on the side. He’d turned the Daily Info office (a creaky Victorian house in North Oxford that smelled of photocopiers) into a part-time computer café for the local students to use. My parents were both students at the University while I was growing up, and so I’d hung out at Daily Info since I was small. We didn’t have much money, but because of John, I grew up around daisy-wheel typewriters, which became dedicated word-processors, which became Macs and IBM PCs.

John had become excited about the idea of BBSes (possible because he’d seen that I was excited about BBSes), so hired me as a fifteen year old to start one from him. We had a single line: one person at a time could dial in and look at apartments to rent or get today’s movie times. I’d come in after school for £5 an hour and update the listings and make sure the BBS was working.

A BBS is a walled garden. You dial in, you’re presented with a menu (perhaps painstakingly built in ANSI characters by a teenager after school), and you can select a very small number of things to do. You might chat in a forum, upload or download a few files, or read some information. There’s no expansiveness: you’re logging into a limited information system that’s designed for a small number of people to interact with, likely run from a single computer under a desk.

The internet, of course, is something else entirely.

While I was building text-only interfaces on the BBS computer in Daily Information’s storage closet, the consumer internet was emerging. It wasn’t long before it entered my living room. My mother was a telecoms analyst for Kagan World Media, where she wrote a newsletter about the emerging internet, computer and cellphone industries. (Here she is quoted discussing CD-ROM penetration in Time Magazine in 1995, or in Communications International announcing the decline of the pager). She’d get to try out new tech from time to time, so we briefly got a very early version of commercial dial-up internet at home; I wowed myself with the Carnegie Mellon Coke machine and the Trojan Room coffee pot (the first IoT device and first webcam respectively). I found the internet much harder to use than BBSes, but it was clear that the possibilities were enormous. Family friends would come to our house to see it.

In that first year of running the BBS, John installed a 128kbps ISDN line at the Daily Info office. I’d already played with the internet a little bit at home; here I had more time and bandwidth to try web browsers. I’d been using NCSA Mosaic, an early web browser built at the University of Illinois at Urbana–Champaign by student programmers Eric Bina and Marc Andreessen. When they graduated and started Netscape with Jim Clark, I eagerly downloaded every version: the one when it was still called Mosaic, before the University Illinois complained about use of the name; the version of Netscape with the boxy blue N in the top right that had a prominent role in the first Mission Impossible film; the one with the classy night sky logo.

It was a window into something entirely new. It was magic: a way for anyone to tell stories in practically any way they wanted. There was something about the slow speed which emphasized how special it was; a photograph that took a minute to download, coming into progressive focus or cascading down the screen line by line, felt like it was being delivered from half a world away. That’s been lost now that the web is instantaneous; it’s inarguably better now, of course, but it’s also easier to take it for granted.

With each Netscape release, I was also glued to every new feature that the web allowed. The HTML 2.0 release the next year introduced some major new ideas: a head and body tag, forms, inline images, a few basic styles. By the time I graduated high school, CSS had been invented, and people were beginning to add semantic details to the markup — but HTML 2.0 was enough to get started with.

John bought us some web space, and we created a website for Daily Info. The BBS was still functional, but now any number of people with an internet connection could view the listings simultaneously. It was very basic — this was 1995 — but it was possible for someone to see the listings and pay to add their own to the site on the same day, albeit with a real human dealing with it. The PageMaker files for the paper version of the sheet were still the primary source of truth, so ads were added there first, and then extracted back into files that I could convert into HTML and upload to the server.

I realized years later that the Daily Info website was online before either Craigslist or eBay, which are usually credited as being the first web classifieds sites. It was certainly more basic (built, as it was, by a teenager in a closet), although we progressively built more interactivity through Perl scripts. That fact speaks one of the most powerful things about the web: anyone can do it. You don’t need permission to publish. You just need to have something to say.

My excitement about the internet at Daily Info led to us finally getting the internet at home, through Demon, an early dial-up ISP that literally connected you to the internet with a static IP whenever you dialed in. It was the first to give every customer free web space, which felt like freedom: even though I’d been building at my after-school job for a while, having web space of my own meant I could do anything I wanted with it. I began to experiment with my own homepages, and narrate my life through a kind of online diary (we have a different word for that now). All the while, I continued to update the Daily Info website, which is still running today, with a very different codebase.

I thought I was going to be a writer; experimenting with the web meant that I chose to take the computer science route and learn more about building software. It radically changed the course of my life. I’m still a writer at heart — my love of technology stems from my desire to tell stories with it — but I’ve also been a developer, a startup founder, an advisor, and a CTO. So much of what I’ve been able to do, the people I’ve met, the things I’ve experienced, the work I’ve been privileged to take on, has been because of the magic of those first Netscape releases. I’m grateful for all of these influences — Netscape, John Rose, my mother, the permissionless experimentation that the web itself made possible. That spirit of magic and possibility is still what I’m chasing, and, despite the exploitation of big tech and the corrosive nature of unequal funding and the politics and everything else, is still what I think is magical about the web.

Wednesday, 23. October 2024

IdM Laboratory

SIDI Hub - ベルリンレポートを読む(10)

こんにちは、富士榮です。 ようやくトラストフレームワークの話まで辿り着きました。Elizabethがまとめてくれています。 トラストフレームワークの相互運用性を考える際、法律、組織、意味論、技術の4つのレイヤーに分割してそれぞれについてマッピングをしてみることが大切ということです。この辺りはカナダのDIACCが定義したマッピングの方法のようです。 We then discussed the considerations from a Relying Party / Verifier perspective. This included their need to focus primarily on their own business and balance the cost and complexities of new kinds of risk and c

こんにちは、富士榮です。

ようやくトラストフレームワークの話まで辿り着きました。Elizabethがまとめてくれています。


トラストフレームワークの相互運用性を考える際、法律、組織、意味論、技術の4つのレイヤーに分割してそれぞれについてマッピングをしてみることが大切ということです。この辺りはカナダのDIACCが定義したマッピングの方法のようです。



We then discussed the considerations from a Relying Party / Verifier perspective. This included their need to focus primarily on their own business and balance the cost and complexities of new kinds of risk and compliance. The burden is different depending on the scale of the business and may present inclusivity challenges.

続いて、信頼当事者/検証者の観点からの検討事項について議論した。これには、主に自らのビジネスに集中し、新しい種類のリスクとコンプライアンスにかかるコストと複雑さのバランスをとる必要性などが含まれた。事業の規模によって負担は異なり、包括性という課題もある。

 

この手の議論をするときはRP/Verifierから見てどうなのか?が非常に大切です。結局判断するのはRP/Verifierですからね。(しばしばこの点を忘れた議論が行われているのが散見されるので気をつけましょう)


まさに書いてある通りですね。

Balance complexity, compliance & operational efficiency  Adoption requires investment in technology, training & policy, governance & legal expertise Introduction of a new level of risk management Coordination of governance across organizations & systems is crucial for identity management Balance user experience & convenience with compliance Navigation of cross-framework variability Establish a culture of internal oversight and Trust Framework compliance

 

複雑さ、コンプライアンス、業務効率のバランス  導入には、テクノロジー、トレーニング、ポリシー、ガバナンス、法的専門知識への投資が必要 新しいレベルのリスク管理の導入 アイデンティティ管理には、組織やシステムを横断したガバナンスの調整が不可欠である。 ユーザー・エクスペリエンスと利便性とコンプライアンスのバランス フレームワーク間のばらつきのナビゲーション 内部監視とトラスト・フレームワーク・コンプライアンスの文化の確立


We then heard a review of the work of the governance Working Group at Trust Over IP. They are working on the next generation of their stack, which includes technology and governance.

続いて、Trust Over IPのガバナンス・ワーキンググループの活動についてのレビューを聞いた。彼らはテクノロジーとガバナンスを含む次世代のスタックに取り組んでいる。



Importantly, they reference that each layer in the system needs governance (as does the system as a whole).

They are working towards a goal whereby new ecosystems select ToIP components and maintain control over local implementation.

重要なのは、システムの各レイヤーが(システム全体と同様に)ガバナンスを必要としていることだ。

彼らは、新しいエコシステムがToIPのコンポーネントを選択し、ローカルな実装をコントロールし続けるというゴールを目指している。 

 確かにToIPは以前からガバナンスモデルを定義していました。彼らのモデルではレイヤーごとにガバナンスの必要性を記載しているのが特徴です。



However, the toolset that they are creating enables different ecosystems built on TOIP components to establish and maintain trust with one another

しかし、彼らが構築しているツールセットは、TOIPコンポーネント上に構築されたさまざまなエコシステムが互いに信頼関係を確立し、維持することを可能にする。



Specifically, this will be via a protocol known as the “Trust Spanning Layer.”

具体的には、「トラスト・スパニング・レイヤー 」として知られるプロトコルを介して行われる。

TSPですね。一度IIWで話を聞いたんですがどうも理解しきれていないので改めて話を聞いてみようかと。(そういえば再来週からIIWです)


なんだかSIDI HubのワークストリームというよりもToIPの取り組み紹介セッションになってきましたが、先行者の意見は重要なので聞いておきましょう。

The TSL sits atop Trust Support, which includes protocols for Trust Registries, which is about querying many types of trust systems, such as those in the diagram below.

TSLは、トラスト・レジストリーのプロトコルを含むトラスト・サポートの上位に位置し、下図のような多くのタイプのトラスト・システムを照会する。



Nick Mothershaw, from the Open Identity Exchange (OIX), shared that OIX has analyzed 8 Trust Frameworks to identify the policy areas that comprise the Trust Framework in each jurisdiction. Those frameworks include:

Open Identity Exchange(OIX)のニック・マザーショー(Nick Mothershaw)氏は、OIXが8つのトラストフレームワークを分析し、各法域におけるトラストフレームワークを構成する政策分野を特定したことを紹介した。これらのフレームワークには以下が含まれる:



ガバナンスといえばOIXのNick、ということでOIXが取り組み分析している8つのトラストフレームワークについて紹介されています。この時点では日本が入っていませんが、この後、NickやGailから日本もちゃんとマッピング分析しようよ、という話があり今回のSIDI Hub東京ではその結果についてもある程度お話できると思います。

That resulted in two major themes: “General Policy Rules” and “Identity Assurance Policy” and sub-areas known as the “DNA of Digital ID” by OIX (See Figure).

その結果、2 つの主要なテーマが生まれた: 「一般的なポリシー・ルール」と「アイデンティティ保証ポリシー」、そしてOIXが「デジタルIDのDNA」と呼ぶサブ領域である(図参照)。 

 


 OIXのトラストフレームワーク分析はこの図のようなツリー構造になっているようです。


長いのでこの辺りで一旦切りましょう。


The Pragmatic Engineer

Twisting the rules of building software: Bending Spoons (the team behind Evernote)

You may not be familiar with Bending Spoons, but I guarantee you’ve encountered some of their well-known products, like Evernote and Meetup. In today’s episode of The Pragmatic Engineer, we sit down with three key figures from the Italy-based startup

Listen now on Apple, Spotify, and YouTube.

Brought to you by:

The Enterprise Ready Conference on October 30th — For B2B leaders building enterprise SaaS.
DX — DX is an engineering intelligence platform designed by leading researchers. 
ByteByteGo — Ace your next system design interview.

You may not be familiar with Bending Spoons, but I guarantee you’ve encountered some of their well-known products, like Evernote and Meetup. In today’s episode of The Pragmatic Engineer, we sit down with three key figures from the Italy-based startup: cofounder and CEO Luca Ferrari, CTO Francesco Mancone, and Evernote product lead Federico Simionato. Bending Spoons has been profitable from day one, and there's plenty we can learn from their unique culture, organizational structure, engineering processes, and hiring practices. In today’s conversation, we discuss:

The controversial acquisitions approach of Bending Spoons

How Bending Spoons spent more than $1 billion in buying tech companies

How the Evernote acquisition happened

How Bending Spoons operates and how it organizes product and platform teams

Why engineering processes are different across different products

How ‘radical simplicity’ is baked into everything from engineering processes to pay structure.

And much more!

Takeaways

1. Even inside one company, you choose engineering processes based on the maturity of the product. The CTO of Bending Spoons found it completely normal that each team decides on their approach to testing: e.g. more mature products have a lot more automated tests like unit, integration, UI tests in place. New products or less mature ones will still have less. The same goes for releasing and experimentation – e.g., more mature products will have more stages of release and experimentation, but products that are still just being built will not necessarily invest in this.

2. The concept of radical simplicity: this could be applicable far beyond Bending Spoons.

Bending Spoons believes, as a principle, that they should seek out the most radically simple solution and approach and. When adding complexity, the person or team approaching should bring proof why this complexity is beneficial. Those who retain the simpler status should not have to defend this, unless there is evidence and data that adding more complexity truly helps.

3. You don’t need to copy popular approaches to succeed as a product or engineering team. Bending Spoons seems to have devised a way that makes sense for them to operate, and they did not “copy” common approaches from other companies. A few examples:

Their most popular language is Python. This is a relatively rare choice for most companies, but not for them! At the same time, teams can choose technologies they use: and there are teams onboarding to other languages like Rust.

They do not have career ladders like most companies would do – at least for now. No bonuses either.

The concept of radical simplicity.

In some ways, they didn’t follow any approach because they didn’t really get much advice in the early years (they struggled to even attract VCs!) So they figured it out on their own.

If a small company in Italy with five devs could do this and keep figuring out what works for them as they grow: what is stopping you and your team from doing so?

Timestamps

(2:09) Welcome, Luca, Francesco, and Federico from Bending Spoons

(03:15) An overview of the well-known apps and products owned by Bending Spoons

(06:38) The elephant in the room: how Bending Spoons really acquires companies

(09:46) Layoffs: Bending Spoons’ philosophy on this

(14:10) Controversial principles

(17:16) Revenue, team size, and products

(19:35) How Bending Spoons runs AI products and allocates GPUs

(23:05) History of the company

(27:04) The Evernote acquisition

(29:50) Modernizing Evernote’s infrastructure

(32:44) “Radical simplicity” and why they try for zero on calls

(36:13) More on changes made to the Evernote systems

(41:13) How Bending Spoons prioritizes and ships fast 

(49:40) What’s new and what’s coming for Bending Spoons

(51:08) Organizational structure at the company

(54:07) Engineering practices

(57:03) Testing approaches

(58:53) Platform teams

(1:01:52) Bending Spoons tech stack and popular frameworks

(1:05:55) Why Bending Spoons hires new grads and less experienced engineers

(1:08:09) The structure of careers and titles at Bending Spoons

(1:09:50) Traits they look for when hiring 

(1:12:50) Why there aren’t many companies doing what Bending Spoons does

References

The Pragmatic Engineer deepdives relevant for this episode:

Good attrition, bad attrition for software engineers

Healthy oncall practices

Shipping to production

QA across the tech industry:

Where to find Luca Ferrari:

• X: https://x.com/luke10ferrari

• LinkedIn: https://www.linkedin.com/in/luca-ferrari-12418318

Where to find  Francesco Mancone:

• LinkedIn: https://www.linkedin.com/in/francesco-mancone

Where to find Federico Simionato:

• X: https://x.com/fedesimio

• LinkedIn: https://www.linkedin.com/in/federicosimionato

Mentions during the episode:

• Evernote: https://evernote.com/

• Meetup: https://www.meetup.com/

• Bending Spoons: https://bendingspoons.com/

• Bending Spoons Acquires Mosaic Group Digital Assets From IAC: https://www.businesswire.com/news/home/20240110239723/en/Bending-Spoons-Acquires-Mosaic-Group-Digital-Assets-From-IAC

• StreamYard: https://www.businesswire.com/news/home/20240110239723/en/Bending-Spoons-Acquires-Mosaic-Group-Digital-Assets-From-IAC

• Issuu: https://issuu.com/

• WeTransfer: https://wetransfer.com/

• Remini: https://remini.ai/

• Netflix’s Famous 'Keeper Test': https://www.businessinsider.com/netflix-new-culture-memo-keeper-test-changes-2024-6

• Bending Spoons Values: https://bendingspoons.com/values

• Splice: https://splice.com/

• GoPro: https://gopro.com/

• Thirty more exciting improvements in Evernote: https://evernote.com/blog/30-improvements-april-june-2024

• Rust: https://www.rust-lang.org/

• Jobs at Bending Spoons: https://jobs.bendingspoons.com/

• Evernote on YouTube: https://www.youtube.com/@evernote

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.

Tuesday, 22. October 2024

IdM Laboratory

SIDI Hub - ベルリンレポートを読む(9)

こんにちは、富士榮です。 いよいよ今日は前々夜祭が開催されるSIDI Hub東京サミットですが、ベルリンレポートのポリシーメタデータ定義〜トラストフレームワークマッピングについても見てみましょう。これはちょうどG7でも行われていたものと共通するところも多く、東京サミットでは今後どのように平仄を合わせていくのか議論が行われる論点の一つになると思います。 しかしポリシーメタデータの表現とトランスポートプロトコルだけ見てもこんなにバラバラなんですよねぇ。。 まだまだ他にもあるよ、ということでリストに記載がないものについても言及されました。 To add to the list on this slide: GlobalPlatform attestation ToIP: Trust registry protocol (TRP) TRAIN: a protoco

こんにちは、富士榮です。

いよいよ今日は前々夜祭が開催されるSIDI Hub東京サミットですが、ベルリンレポートのポリシーメタデータ定義〜トラストフレームワークマッピングについても見てみましょう。これはちょうどG7でも行われていたものと共通するところも多く、東京サミットでは今後どのように平仄を合わせていくのか議論が行われる論点の一つになると思います。


しかしポリシーメタデータの表現とトランスポートプロトコルだけ見てもこんなにバラバラなんですよねぇ。。



まだまだ他にもあるよ、ということでリストに記載がないものについても言及されました。
To add to the list on this slide: GlobalPlatform attestation ToIP: Trust registry protocol (TRP) TRAIN: a protocol that Fraunhofer developed. Its implementation is called Regitrust (with UNDP) AAMVA: maintaining a root of trust issuer registry. It is a registry of public keys that fits with x509, so not sure we need to add it to the list

このスライドのリストに追加します:

GlobalPlatform認証 ToIP:トラスト・レジストリ・プロトコル(TRP) TRAIN:フラウンホーファーが開発したプロトコル。その実装はRegitrustと呼ばれる(UNDPと共同)。 AAMVA:ルート・オブ・トラスト発行者レジストリの管理。x509に適合する公開鍵のレジストリであるため、リストに追加する必要があるかは不明。 


One participant referred to a group of organizations coordinating this work. Content Authenticity Initiative, a community group that was created called Creator Assertion Community Group, within ToIP: how do we connect x509 to the VC? DID to be inserted in the x509 certificate?

ある参加者は、この作業を調整する組織のグループについて言及した。Content Authenticity Initiative、Creator Assertion Community GroupというコミュニティグループがToIP内に作られた。x509証明書にDIDを挿入するか?

まぁ、みんなあちこちでマッピングエクセサイズをやっているよ、ということで。ある意味SIDI Hubってこういう各所でやっている取り組みを平場で詳らかにする場としては機能しているのかもしれません。まとまる気はしませんが。

Q: Does the ICAO digital seal for non-e documents fit there?

Suggestion: we have to work on definitions, and a good starting point is a glossary tool developed in ToIP.

This concluded the Minimum Requirements session. High-level takeaways noted later that week at EIC were:

If Brokers/proxies are needed, then we risk centralizing again Doing the analysis in the technical domain was informative, but we need to incorporate a full range of BOLTS in the future Determining a solution requires use case context and commercial factors Federated and API can be collapsed


質問:ICAOの非E文書用デジタルシールはこれに適合するか?

提案:定義に取り組む必要があり、ToIPで開発された用語集ツールが良い出発点となる。

これで最小要件セッションは終了した。その週の後半にEICで指摘されたハイレベルの収穫は以下の通り:

ブローカー/プロキシが必要な場合、再び集中化するリスクがある。 技術的な領域での分析は有益であったが、将来的にはあらゆるBOLTSを取り込む必要がある。 ソリューションの決定には、ユースケースのコンテキストと商業的要因が必要 フェデレートとAPIは折りたたむことができる


確かにToIPでグロッサリーを作っているのでマッピングする上では良いかもしれません。

参考)

https://trustoverip.github.io/ctwg-main-glossary/

これはこれでどこかでちゃんと見ても良いかも。。


As a segway into lunch and the Trust Framework session, we heard a description of recent developments in New Zealand:

In April last year, the digital ID regulation was passed. 2021 legislation introduced to parliament and passed in 2023 NZ used to be the 2nd or 3rd implementation in the world of SAML2 in 2005. We moved on with gov led digital ID service DIACC and Trusted Digital ID framework in Australia with implementation and pilot NZ to do the trust framework and do the implementation in parallel issues: decreasing expertise in governments and relying on consultancies change of government implementation by next month

  

昼食とトラストフレームワークのセッションに入る前に、ニュージーランドの最近の動向について説明を聞いた:

昨年4月、デジタルID規制が可決された。2021年に法案が議会に提出され、2023年に可決される。 ニュージーランドは、2005年に世界で2番目か3番目にSAML2を導入した国である。政府主導のデジタルIDサービスに移行した オーストラリアではDIACCとTrusted Digital IDフレームワークが導入され、試験運用が行われている。 NZは、信頼フレームワークと実装を並行して行う: 政府内の専門性の低下とコンサルタント会社への依存 政権交代 来月までに実施


どこの国もばたついている様子が見てとれますね。

トラストフレームワークについてはもう少し深掘りしたレポートをElizabethが書いていますので次回は紹介しましょう。


The Pragmatic Engineer

State of the software engineering job market in 2024

A deep dive into job market trends, the companies and cities hiring the most software engineers, growth areas, and more. Exclusive data and charts

How’s the market for software engineers and engineering managers doing? During the past year, this publication took the pulse of tech recruitment pretty regularly:

Amazon reducing number of engineering managers a few weeks ago

Surprise uptick in software engineering recruitment in summer

End of zero percent interest rates and what it means for software engineers and managers

… and regularly touch on market changes and trends in weekly The Pulse issues.

Even so, nothing beats high-quality data for insights. To get some, The Pragmatic Engineer and two companies whose bread-and-butter is tracking employment stats and jobs data, have collaborated, and both businesses were kind enough to create the resulting unique data sets and charts for this article. They are:

Live Data Technologies: a startup based in California, which has developed a method of prompt-engineering major search engines to capture near-real-time data on employment changes in the US. They leverage this publicly available information to monitor 1M+ job changes, and 300M+ employment validations monthly, using a proprietary process. They can track hiring trends across companies, roles, functions, levels, industries, and locations. 

The business normally sells this data to investors like VCs, private equity, quant funds, etc, and also to platforms that incorporate people data, such as sales tech, CRMs, talent platforms, private wealth, HR teams, and go-to-market leaders. It also serves as a data resource for well-known media outlets, including the Wall Street Journal, The Economist, The Information, Bloomberg — and today also for The Pragmatic Engineer! If you have questions about their data, please do ping !

TrueUp: a tech career platform that scans open jobs at Big Tech companies and “top” startups — doing this in real time. The company monitors 55,000+ open software engineering jobs across regions such as the US, Europe, India, and other major markets. Their platform processes close to 220,000 changes in listings per day from all tech jobs, and produces interesting analysis like hottest companies by investment, and sector reports. Because TrueUp only focuses on Big Tech and “top” startups, they will exclude many other tech jobs: and they thus typically focus on the top two tiers within the trimodal split of software engineering jobs.

Today, we cover:

How has the software engineering discipline grown / shrunk?

Which companies have the most openings?

Which companies are growing or shrinking? 

Where do top companies hire software engineers from?

Which engineering disciplines are growing fastest?

Interesting details about seniority and tenure

How easy is it to find a new job?

How common are remote jobs?

Which cities have the most engineering job opportunities?

Which companies are hiring much less or much more than before?

What are the most sought-after technologies?

Related deepdives on the tech market from the past years:

Surprise uptick in software engineering recruitment (2024)

The end of 0% interest rates: what the new normal means for software engineers (2024)

The tech market, as seen by hiring managers (2023)

State of the tech market in 2023

The “perfect storm” causing an insane tech hiring market in 2021

1. How has the software engineering discipline grown / shrunk?

It feels that 2023 was a bad year for software engineering due to unprecedented large layoffs. Zooming further out from 2000, what are the long-term job trends? Here's the data:

An interactive visualization:

2023 was, indeed, historic as the first year since Y2K when the number of software engineering jobs shrunk. Growth has resumed this year, but it’s at least possible that a long-term flattening of the growth curve is emerging.

Let’s take a closer look at how the industry grew after 2001’s Dotcom Bust, and during the 2008-2021 zero interest rate period:

This visualization puts a few things into perspective:

In the 4 years after the 2001 Dotcom Bust, the tech industry grew relatively slowly

A decade of growth happened between 2011 and 2021 for combined reasons like the mobile and cloud revolutions, and massive VC investment during a zero interest rate period. Check out analysis of this in a deep dive on what 0% interest rates and their demise mean for tech

Since 2022, growth has slowed to levels not seen since 2001-2004

Key moments in smartphones and cloud computing, and for interest rates. Did they help create the strong growth of 2011-2021? Source: The end of 0% interest rates

The future does not mirror the past, of course, and right now there's a cyclical slowdown in VC investment, coupled with huge AI investment. But elsewhere, there’s currently no similar triggers for growth like those of the smartphone and cloud revolutions from 2007, through the 2010s. 

2. Which companies have the most openings?

Here’s how software engineering job openings have changed over the past two years, globally:

The good news is there’s been an uptick since the start of this year. The bad news is that the number of vacancies is still around half of what it was in 2022. This data matches a deep dive into global software engineering vacancies falling back to 2019 levels.

Companies hiring the most

If you’re looking for openings, here are the top 10 tech companies recruiting the most new software engineers:

This list has some surprises:

Amazon is unsurprisingly on top since announcing its full return to the office, which caused massive churn and the need to backfill

Oracle is a big surprise, and this hiring spike is covered in depth, below

TikTok and ByteDance’s aggressive hiring with 6x as many roles as rival Meta, is a surprise. This company is the only Asian business in the list, and shows how much the China-headquartered firm is investing. This is especially interesting given there are calls for the app to be banned in the US, or for it to be forced into a sale.

IBM hiring more than Google, Microsoft, NVIDIA, and Meta, is also a major surprise, and suggests the 114-year-old computing giant is doing pretty well.

SAP is the only European-headquartered company on the list and is the leader in Enterprise resource planning (ERP) software. SAP hiring enough to make it to the top 10 suggests their business outlook is also positive.

Other notable tech companies outside the top 10:

Senior-and-above engineering openings

Oracle hiring the most senior-above-folks by a wide margin is unexpected. Uber, PayPal, and Databricks, have a higher ratio of senior-and-above positions open than most other companies, and in larger numbers.

One important caveat to add here is Oracle’s “senior inflation” in titles. The Senior Member of Technical Staff (Senior MTS) at Oracle is the equivalent of L4 / Software Engineer 2 / mid-level software engineer at other companies. This caveat applies throughout all other senior-and-above categorizations at Oracle.

Engineering leadership openings

If you’re an engineering leader, the companies with the most leadership positions open are below. Again, the clear leader is Oracle.

Other places with open engineering leadership positions, in tech lead and engineering management:

Why is Oracle hiring heavily?

So many openings at Oracle in senior-and-above positions, is quite surprising. What explains this is that in the data set, “principal engineer” is considered a leadership position. However, at Oracle, the scope of a principal engineer resembles a senior engineer elsewhere in Big Tech.

Oracle seems to be doing very well, business-wise. The company’s market cap is an impressive $483B at time of publishing, making it the #11 biggest publicly traded tech company, just below Tesla ($693B), and Tencent ($508B), and above Netflix ($325B) and Samsung ($285B). 

Here’s its market cap change over the last two years:

Oracle’s market cap has nearly tripled in two years

What’s behind this strong performance? Annual revenue climbed from $42B to $52B in two years, it remains strongly profitable at $8-10B per year, and forecasts to hit $100B revenue by 2029. Remember, OpenAI is projecting that it will also hit $100B revenue in 2029 – something I think is impossible in the time frame, given the company is expected to generate “only” $4B revenue in 2024.

So, where does Oracle hire from? Using the Moneyball tool from Live Data Technologies, we can see recruitment in the last year:

Where Oracle is hiring from, and where people at Oracle move to

Is Oracle hiring so much to backfill for attrition? Based on the data, the answer is “no.” Far more people joined Oracle last year than left.

Oracle acquired Cerner corporation in 2021, so that movement doesn’t really count. The biggest sources of hires are Amazon, Microsoft, Accenture, IBM, and Cognizant. Last year, many fewer people left Oracle than were hired. Among leavers, the leading destinations were Salesforce, Microsoft, IBM, NetSuite, and Workday.

3. Which companies are growing and shrinking? 

Moneyball is a neat product from Live Data Technologies that’s open for anyone to use after registration. With this tool, up to 10 companies can be compared on headcount data. So, let’s take a look!

Which companies are growing their headcounts, and which have shrunk theirs significantly in the last two years?

Big Tech

Meta, Amazon, Google and Microsoft all did large cuts between the end of 2022 and mid-2023, meaning that:

Amazon and Meta have shrunk in the past two years

Microsoft is around the same size

Google has grown by around 7%

Apple is the only Big Tech company not to do layoffs, and grew in headcount by about 5% in that time

Apart from Google, no Big Tech company has shown notable growth for 6 months

Faster-growing companies

Which companies have grown headcounts rapidly in the last two years? The standouts:

NVIDIA is benefitting hugely from the AI industry’s rocketing growth, and briefly became the world’s most valuable company.

Tesla had impressive headcount growth until early 2024, after which the EV maker made job cuts.

Workday growing by 25% in two years is a bit puzzling, and seems to suggest the HR SaaS suite is doing very well. Workday is doing fantastic financially: revenue grew last year from $6B to $7B, and the profit (net income) went from slightly negative, to $1.3B. Headcount growth and positive financials suggest Workday is doing very well when few similar companies can say the same.

Airbnb seems to have been on a hiring spree throughout 2022, and headcount has been flat since.

Shrinking workplaces

Which larger tech companies have seen the most headcount reductions?

Twilio had several layoffs: 11% in September 2022, 17% in February 2023, and 5% in December 2023. Today, the headcount is 27% lower than two years ago. At the same time, it was one of the first to commit to full-remote work in a powerfully-worded statement two weeks ago.

Spotify did deep job cuts from the middle of 2022, and more in late 2023, which reduced the workforce by around 25%.

Shopify had a very deep cut early 2023, and has kept headcount flat since.

Salesforce did layoffs in early 2023 and hasn’t been hiring since. 

DoorDash has done no mass layoffs and seems to be letting natural attrition of about 10% per year do its job by not backfilling. Check out a deep dive into typical attrition for software engineers.

4. Where do top companies hire software engineers from? Hottest AI companies

OpenAI, Anthropic, xAI, and Mistral, are the hottest AI companies. They each raised billions in funding, are growing at what feels like exponential pace, and all could be “rocket ships” in terms of company and career trajectories. From which places do these leaders hire from? The data:

Most common sources of hires by company:

OpenAI: Google, Meta, Stripe, Rockset, Microsoft

Anthropic: Google, Stripe, Meta, Cruise, Slack

xAI: Tesla, Google, Scale AI, OpenAI

Mistral: Google, Meta, Amazon, NVIDIA, Chronosphere

Google is the biggest source of all hires by these companies except for xAI, where more Tesla employees join. Elon Musk is CEO of Tesla and founder of xAI.

It’s interesting that OpenAI is already a sizable-enough recruiter to show up in the data, at xAI. Also, the Chronosphere-to-Mistral transition is interesting, and we cover it in The story of Chronosphere.

Also check out articles on OpenAI’s engineering culture, and how Anthropic builds products.

Big Tech

Last week, we looked into why techies leave Big Tech; but from where do software engineers join the largest tech companies?

Companies hired from, by popularity:

Amazon: Microsoft, Google, Tesla, Accenture, Boeing

Meta: Microsoft, Amazon, Google, TikTok

Google: Microsoft, Amazon, Qualcomm, Apple, Intel

Microsoft: Amazon, Intel, Google, VMWare

Apple: Google, Qualcomm, Intel, Amazon, Microsoft

There are few surprises:

Intel and Qualcomm are popular sources of Big Tech hires. Both companies have high engineering bars. Intel is struggling business-wise, so it’s little surprise people are leaving. Qualcomm seems to be doing better; my sense is that higher compensation packages might be partly why some of its staff move to companies like Google and Apple.

Where’s Meta? I assumed the social media giant would be a major source of hires for companies like Google, but it did not make the top 5 places from where Big Tech companies hire. This that Big Tech doesn’t need to hire from Meta — they find enough strong candidates from other companies!

Amazon and Microsoft hire from each other a lot. The #1 company Amazon hires from is Microsoft, and vice-versa. A likely reason is that both are headquartered in Seattle, pay similar compensation, and their offices are in close proximity.

5. Which engineering disciplines are growing fastest?

Read more

Monday, 21. October 2024

IdM Laboratory

SIDI Hub - ベルリンレポートを読む(8)

こんにちは、富士榮です。 いよいよ今週はSIDI Hub東京サミットです。 そして明日は前々夜祭も開催されますので、こちらを含め準備も大詰めです。 前回に引き続きベルリンレポートを見ていきますが、今回は別れて討議したグループのもう一つを見ていきます。 Assumption: we ignore trust. This group spent their time really drilling into one of the scenarios. どうやらこちらのグループは一つのシナリオを深掘りしたようです。 ‘Federated’ is not needed as it is technically similar to APIs (we can cut out that whole third piece in this diag

こんにちは、富士榮です。

いよいよ今週はSIDI Hub東京サミットです。


そして明日は前々夜祭も開催されますので、こちらを含め準備も大詰めです。


前回に引き続きベルリンレポートを見ていきますが、今回は別れて討議したグループのもう一つを見ていきます。

Assumption: we ignore trust.

This group spent their time really drilling into one of the scenarios.

どうやらこちらのグループは一つのシナリオを深掘りしたようです。



‘Federated’ is not needed as it is technically similar to APIs (we can cut out that whole third piece in this diagram) 

The group explored the example of a Nigerian traveling to Germany

An API or system sitting in front could issue a credential to the wallet. This can be done directly via proxy or API.

We should make a distinction between a proxy and a broker. “Broker” is a formal term with a level of trust in the Nigerian ecosystem: they acquire the PII from the issuer and retain it in a trusted fashion. The proxy would be an entity through which the data would pass – it would come from the issuer and pass through the proxy. OpenID4VC issuance is designed to think that IDPs are also issuers. 

Proxies and brokers may have different commercial interests/drivers/opportunities 

Is the Proxy able to sign the transaction? 

Yes, the proxy, broker, and API are the credential issuers, so they all need to sign a credential that they issue.

Or, the verifier could directly access the API. Again, it is done directly or through a proxy or broker. The verifier needs to become an RP to that API. 3rd option: this API issuer could also issue its own wallet. Verifier to wallet and wallet to APIs. 

Federatedは技術的にはAPIに似ているので必要ない(この図では3つ目のピース全体をカットできる) グループはナイジェリア人がドイツに旅行する例を検討した。 前面にあるAPIやシステムは、ウォレットにクレデンシャルを発行することができる。これはプロキシやAPIを介して直接行うことができる。 プロキシとブローカーを区別すべきである。「ブローカー」はナイジェリアのエコシステムにおける信頼のレベルを持つ正式な用語であり、彼らは発行者からPIIを取得し、信頼できる方法でそれを保持する。プロキシは、データが通過するエンティティであり、発行者からやってきてプロキシを通過する。OpenID4VCの発行は、IDPが発行者でもあると考えるように設計されている。 

代理人とブローカーは異なる商業的利益/推進力/機会を持っている可能性がある。 

プロキシはトランザクションに署名できるか? 

はい、プロキシ、ブローカー、およびAPIはクレデンシャル発行者であるため、それらが 発行するクレデンシャルに署名する必要がある。

あるいは、ベリファイアはAPIに直接アクセスできる。この場合も、直接またはプロキシまたはブローカを経由して行われる。検証者はその API の RP になる必要がある。 第3の選択肢:このAPI発行者は、独自のウォレットを発行することもできる。検証者はウォレットに、ウォレットはAPIにアクセスする。


このグループではAPIからウォレットへの間のやり取りを検討しています。注目すべきはインターフェイスの調整というよりもプロキシやブローカーの介在について検討が行われた点です。この議論のように既存システムへウォレットモデルを入れていこうとすると必ず出てくるのがプロキシやブローカーです。ただ、必ず課題になるのが誰がやり取りするデータへ署名をするのか?という問題です。Verifierは基本的にIssuerが発行していることを確認したいわけですが、間にプロキシやブローカーが入ることでモデルが崩れてしまうことへの対応が必要となります。


次は3つ目のグループです。こちらは先ほどの逆パターンでウォレットから発行されるクレデンシャルをAPIが受け取るモデルです。



This is similar to scenario 3. There is a user who has a wallet on their phone with an ID credential. The user is trying to use an app that can only use restAPI, and it’s not able to connect to the wallet. One option is to use a component that speaks REST API and has the user ID information. This would be provided by the same entity that issues the credential to the wallet or some other entity as an alternative. The best solution is to fix it at the destination. The problem is scale and trust. All the burden is on verifiers! Another proposal: add another component to the system (proxy or broker) that speaks restAPI … but it has to be trusted. That can fail. This can make the Trust Framework problem even harder as there is another component to add to the scheme! これはシナリオ3と似ている。携帯電話に ID クレデンシャルを持つウォレットを持っているユーザーがいます。ユーザーはrestAPIしか使えないアプリを使おうとしていますが、ウォレットに接続できません。 一つの選択肢は、REST APIを話し、ユーザーID情報を持つコンポーネントを使うことです。これは、ウォレットにクレデンシャルを発行するのと同じエンティティか、代替となる他のエンティティによって提供されるでしょう。 最良の解決策は、デスティネーションで修正することである。問題は規模と信頼である。すべての負担は検証者にある! 別の提案:システムにrestAPIを話す別のコンポーネント(プロキシやブローカー)を追加する......しかし、それは信頼されなければならない。しかし、それは信頼されなければならない。これは、スキームに追加する別のコンポーネントがあるため、トラストフレームワークの問題をさらに難しくする可能性がある!

まぁ、単純にウォレットからのPresentationを受け付けられるようにAPIを作ればいいって話ですね。そしてここでもプロキシやブローカーの話が出てきます。暫定策としてはいいんだと思いますけどね。トラストフレームワークの問題は出てきますが、実際にシステム化をするときはある程度コントロールできる範囲からスタートすることになるはずですし。


The larger group then explored a number of questions together.

Can you get to some generic solution? Is it use-case specific? Are we trying to solve a policy/governance issue through technical implementation? Economics: why not do the fix at the destination if that incentivizes the building of an ecosystem? Governance is a big challenge we have to face. Some asserted that Data privacy must come first Does introducing a proxy or a broker introduce cybersecurity threats? What are the trade-offs? Is SIDI Hub the right place? What about the OWF? Who are decision-makers? OWF assumes a wallet-based solution, but a SIDI Hub founding principle is domestic sovereignty over requirements and architectural choices Decision-makers depend on the context. The user and jurisdiction have to drive the rest of it. Governments are driving what is allowed. Discussed the OWF killing GAC and moving to work with ITU. Wallets have many applications and go beyond ID, which is what we discuss here. SIDI has a role in driving consensus on the use cases. Some components might live in OWF and other organizations. We need to drive consensus BUT also drive demands. Someone in the middle that drives demands.

その後、大人数のグループでいくつかの質問を一緒に探った。

一般的な解決策にたどり着けるか?ユースケースに特化したものなのか? 技術的な実装を通じて、政策やガバナンスの問題を解決しようとしているのか? 経済学:エコシステム構築のインセンティブになるのであれば、なぜ目的地で修正を行わないのか? ガバナンスは、我々が直面しなければならない大きな課題である。 データのプライバシーが最優先されなければならないとの意見も プロキシやブローカーの導入はサイバーセキュリティの脅威をもたらすか?トレードオフは何か? SIDI Hubは適切な場所か?OWFはどうなのか?意思決定者は誰か? OWFはウォレットベースのソリューションを想定しているが、SIDI Hub創設の原則は、要件とアーキテクチャの選択に関する国内主権である。 意思決定者は文脈に依存する。ユーザーと管轄区域が残りの部分を推進しなければならない。政府は何が許されるかを推進している。 OWFがGACを殺し、ITUとの協力に移行することについて議論。ウォレットには多くの用途があり、ここで議論しているIDを超えるものである。 SIDIはユースケースのコンセンサスを促進する役割を担っている。いくつかのコンポーネントは OWFや他の組織にも存在するかもしれない。我々はコンセンサスを促進する必要があるが、同時に需要も促進する必要がある。要求を推進する中間にいる誰か。

 

まぁ、なかなか結論が出る話ではありませんが、いろいろな論点が見えてきたのは良いことではないかと思います。まだまだ混乱していますね。これは東京や次のリオデジャネイロでも議論は続くことになると思われます。


Suggestion: we have a finite number of APIs, systems, etc. Create things like mind type. It is a simple process of registering the protocol. It is like a reverse wallet proxy. Cons: we are introducing another party. Why did I move to the 3rd party model? I have added one component to make it user-centric, and now we are adding another component to make it centralized!

Analogy: SIDI Hub is like an auto part store: it is a discovery area where people can go shopping. No notion of what you should buy. Do not try to do too much: we don’t decide what is charged, who is doing what, etc.

We discussed Trust Management in the context of dynamic exchange of ID attributes (limited to Natural Persons)

Trust Management is important so that interoperability can be streamlined and automated Technology interoperability around Trust Framework data is an important topic for us

提案:APIやシステムなどの数には限りがある。マインドタイプのようなものを作る。プロトコルを登録するだけの簡単な作業だ。逆ウォレットプロキシみたいなものだ。短所:別のパーティを導入することになる。なぜサードパーティーモデルに移行したのか?ユーザー中心型にするために1つのコンポーネントを追加したが、今度は中央集権型にするために別のコンポーネントを追加しようとしている!

例え話だ: SIDI Hubは自動車部品店のようなもので、人々が買い物に行けるディスカバリー・エリアです。何を買うべきかという概念はありません。あまり多くのことをしようとしない:何が課金されるのか、誰が何をするのかなどは決めない。

ID属性(自然人に限る)の動的交換の文脈で、信頼管理について議論した。

相互運用性を合理化・自動化するためには、Trust Management が重要である。 トラストフレームワークのデータに関する技術的な相互運用性は、我々にとって重要なトピックである。


いろいろなデザインのパターンは見えてきましたが、そもそも論としてそれは本末転倒では?というところも見つつデザインを進めていかないとダメですねぇ。。


@_Nat Zone

デジタルアイデンティティ:世界の最新動向 –10月22日版

グローバル市場動向 iProov の取引量が前年比63%増加 生体認証IDベンダーのiProovは、昨年同期と比較して取引量が63%増加したことを発表しました。同社によると、この成長はサービスのデジタル化の急速な進展と、特に生成AIを活用したディープフェイクなどの高度なサイバー攻…
グローバル市場動向 iProov の取引量が前年比63%増加

生体認証IDベンダーのiProovは、昨年同期と比較して取引量が63%増加したことを発表しました。同社によると、この成長はサービスのデジタル化の急速な進展と、特に生成AIを活用したディープフェイクなどの高度なサイバー攻撕の脅威の増大によるものです。iProovは最近、Avoco Secure、Guardline、TrustCloudとのパートナーシップを新たに確立し、エコシステムを拡大しています。

Oktaのパートナーファースト成長戦略

Oktaは、パートナーファーストの成長戦略を採用し、以下の施策を展開します:

パートナー向けセルフサービスリソースとツールの中央ハブ設置 オンデマンド教育、タイムリーな情報提供 セルフサービスマーケティング自動化 プロジェクト提出機能の提供 顧客へのパートナーソリューション紹介機能

また、OpenID Foundationにおいて、Microsoft、Google、Ping Identityなどと共同で、AIエージェントの統合によりさらにリスクが高まるSaaSアプリのセキュリティ強化に向けた新たなイニシアチブ IPSE WGを立ち上げました。

市場予測

SkyQuestの分析によると、グローバルID認証市場は2031年までに397.3億ドルに達し、予測期間中のCAGRは16.7%となる見込みです。この成長は以下の要因に支えられています:

ID関連の不正やサイバー犯罪の増加 データセキュリティの使用事例の拡大 組織や政府のデジタル化政策 自動化、機械学習、AI技術の導入 各国の最新動向 アンギラ

アンギラ政府(GOA)とIdentity Digitalは、.AIドメインからの政府収入増加に向けて協力することを発表しました。AI技術のブームと.AIドメインの利用拡大により、2023年には政府の総収入の20%を占めるまでになっています。両者は「質の高いドメインを優先し、.AIドメイン名への信頼を長期的に確立する世界クラスのレジストリ管理プログラム」の構築を目指しています。

ベトナム

ベトナムでは、2025年までに6,000万人の納税者が電子身分証明書を使用してモバイル税務アプリケーション「eTax Mobile」を利用できるようになります。税務総局は、デジタルIDを税務管理システム全体に展開する計画の一環として、税コードを国民データベースに統合します。電子認証データは国民向けモバイルアプリケーション「VneID」で管理され、Identity Weekによると、来年までに全納税者の電子IDと税務情報のリンクが完了する予定です。

欧州

Mastercardは、オンラインでの本人確認をより安全かつ効率的にするため、Identity Attribute Verification(本人属性確認)サービスを欧州各国に展開します1。このサービスにより、企業や金融機関は、顧客に追加書類の提出を求めることなく、既存の支払いカードデータを使用して年齢、生年月日、住所などの情報を確認できるようになります。

アメリカ

マネージドアイデンティティソリューションプロバイダー(MISP)のBeyondIDは、顧客向けの不正防止ソリューションを発表しました。これは同社のマネージドアイデンティティソリューションの一部として提供され、「セキュアなトータルエクスペリエンス」の実現を支援します。

パナマ

パナマ政府は、市民と永住者向けのデジタルIDの導入を決定しました。このデジタルIDは:

選挙裁判所が発行する物理的文書の情報を電子化 従来の物理的な身分証明書と同等の法的効力を持つ すべての公的機関と民間企業のオンラインサービスで使用可能 デジタルID、医療履歴、履歴書などの個人文書を安全に保管 顔認証や生体認証によるセキュリティ確保 スマートフォンアプリを通じて管理

なお、このデジタルIDは任意であり、物理的な身分証明書の代替ではありません。

キルギス

キルギスは、デジタルIDを国家開発計画の主要コンポーネントと位置付けています。2024-2028年のデジタル変革ビジョンでは、エストニアのX-Roadシステムをモデルとしたトゥンドゥクプラットフォームを通じて公共サービスを統合します。さらに、ウズベキスタンやカザフスタンとの国境を越えたデジタルID連携も検討中です。MühlbauerやEmptechなどのグローバル企業が、生体認証情報とデジタルIDの提供を担当しています。

(出所)https://www.thinkdigitalpartners.com/news/2024/10/21/digital-identity-global-roundup-188/


Michael Ruminer

Using LM Studio and CrewAI with Llama

I was recently experimenting with CrewAI, but in one experiment I wanted to use a local LLM hosted by LM Studio. Why LMStudio? Well… because that was the experiment. I wanted to see how I’d use LMStudio to host my model versus Ollama and then use it from CrewAI. Below is a very simple setup for doing this. It’s good to point out that CrewAI uses LiteLLM under the hood as a sort of proxy. Thi

I was recently experimenting with CrewAI, but in one experiment I wanted to use a local LLM hosted by LM Studio. Why LMStudio? Well… because that was the experiment. I wanted to see how I’d use LMStudio to host my model versus Ollama and then use it from CrewAI. Below is a very simple setup for doing this.

It’s good to point out that CrewAI uses LiteLLM under the hood as a sort of proxy. This provides CrewAI with the ability to talk to a range of LLMs without needing to really do much in terms of handling it.

What Doesn’t Work and Why

The first thing I found is what doesn’t work. The LLM class in CrewAI allows for the instantiation of an LLM that can then be used by agents. Spinning up an LLM instance on a local Ollama hosted model can look like below.

ollama_31_8b = LLM(
model="ollama/llama3.1",
base_url="http://localhost:11434"
)

This works just fine if hosting the LLM inside Ollama, but you get response exceptions if, instead, you try to host inside LMStudio at the same server port.

ERROR: LiteLLM call failed: litellm.APIConnectionError: 'response'

First, you notice that the base_url doesn’t have a “/v1” at the end which LMStudio uses in their server setup. If you fix that, thinking it might work, you’ll find that you likely get the same error.

Secondly, you may realize that the model property in your LLM instantiation uses a [PROVIDER]/[MODEL] format. I tried removing the provider portion to see what would happen. The results were:

llm.py-llm:161 - ERROR: LiteLLM call failed: litellm.BadRequestError: LLM Provider NOT provided.

That’s a reasonable outcome.

What Does Work

Lastly, I remembered that LM Studio is using OpenAI endpoints.

A quick look at the LiteLLM docs provided the answer I needed; set the provider as “openai”. This results in a final outcome of:

ollama_31_8b = LLM(model="openai/llama3.1", base_url="http://localhost:11434/v1")

Now, if you try running it with the agent using the LLM instantiated it will work. Below is example code of the LLM and agent creation where I had Llama 3.1:8b model hosted in LM Studio on port 11434.

@CrewBase
class MyCrew():

llama_31_8b = LLM(
model="openai/llama3.1",
base_url="http://localhost:11434/v1"
)

@agent
def joke_generator(self) -> Agent:
return Agent(
config=self.agents_config['joke_generator'],
verbose=True,
llm=self.llama_31_8b
) Note

Note that on LMStudio I had my server port set to 11434 versus the default of 1234. It made it easier as I switched back and forth between Ollama and LM Studio; I didn’t need to modify the port. 11434 is the default Ollama port.

When Might I Use This

When might I use this? If I am programming, probably rarely. I could instead host the model in Ollama. I’d use LM Studio if I want to host a model and chat with it. In that scenario, I’d probably be more likely to use Ollama with AnythingLLM which would also provide me with some Retrieval-Augmented Generation (RAG) capabilities. Nonetheless, it was an experiment and I proved, for myself, it could easily be done.


Damien Bod

Implement security headers for an ASP.NET Core API supporting OpenAPI Swagger UI

This article shows how to implement security headers for an application supporting an API and a swagger UI created from a open API in .NET 9. The security headers are implemented using the NetEscapades.AspNetCore.SecurityHeaders Nuget packages from Andrew Lock. Code: https://github.com/damienbod/WebApiOpenApi Deploying a web application which supports both an API and a UI have different […]

This article shows how to implement security headers for an application supporting an API and a swagger UI created from a open API in .NET 9. The security headers are implemented using the NetEscapades.AspNetCore.SecurityHeaders Nuget packages from Andrew Lock.

Code: https://github.com/damienbod/WebApiOpenApi

Deploying a web application which supports both an API and a UI have different levels of security requirements. The Swagger UI is created from an Open API specification and uses inline Javascript with no hashes or nonces which requires weak security definitions. The API has no UI and can use the maximum security header definitions. It can be locked down as much as possible against the typical web UI attacks.

The API endpoints can be secured using a definition with strict security headers and a lot of browser features locked down.

public static class SecurityHeadersDefinitionsAPI { private static HeaderPolicyCollection? policy; public static HeaderPolicyCollection GetHeaderPolicyCollection(bool isDev) { // Avoid building a new HeaderPolicyCollection on every request for performance reasons. // Where possible, cache and reuse HeaderPolicyCollection instances. if (policy != null) return policy; policy = new HeaderPolicyCollection() .AddFrameOptionsDeny() .AddContentTypeOptionsNoSniff() .AddReferrerPolicyStrictOriginWhenCrossOrigin() .AddCrossOriginOpenerPolicy(builder => builder.SameOrigin()) .AddCrossOriginEmbedderPolicy(builder => builder.RequireCorp()) .AddCrossOriginResourcePolicy(builder => builder.SameOrigin()) .RemoveServerHeader() .AddPermissionsPolicyWithDefaultSecureDirectives(); policy.AddContentSecurityPolicy(builder => { builder.AddObjectSrc().None(); builder.AddBlockAllMixedContent(); builder.AddImgSrc().None(); builder.AddFormAction().None(); builder.AddFontSrc().None(); builder.AddStyleSrc().None(); builder.AddScriptSrc().None(); builder.AddBaseUri().Self(); builder.AddFrameAncestors().None(); builder.AddCustomDirective("require-trusted-types-for", "'script'"); }); if (!isDev) { // maxage = one year in seconds policy.AddStrictTransportSecurityMaxAgeIncludeSubDomains(maxAgeInSeconds: 60 * 60 * 24 * 365); } return policy; } }

The API calls would return the following headers in the HTTP response. The CSP blocks Javascript.

The Swagger definition allows unsafe Javascript. This allows for XSS attacks and is a weak level of security. This is required due to the way the Swagger UI is created.

public static class SecurityHeadersDefinitionsSwagger { private static HeaderPolicyCollection? policy; public static HeaderPolicyCollection GetHeaderPolicyCollection(bool isDev) { // Avoid building a new HeaderPolicyCollection on every request for performance reasons. // Where possible, cache and reuse HeaderPolicyCollection instances. if (policy != null) return policy; policy = new HeaderPolicyCollection() .AddFrameOptionsDeny() .AddContentTypeOptionsNoSniff() .AddReferrerPolicyStrictOriginWhenCrossOrigin() .AddCrossOriginOpenerPolicy(builder => builder.SameOrigin()) .AddCrossOriginEmbedderPolicy(builder => builder.RequireCorp()) .AddCrossOriginResourcePolicy(builder => builder.SameOrigin()) .RemoveServerHeader() .AddPermissionsPolicyWithDefaultSecureDirectives(); policy.AddContentSecurityPolicy(builder => { builder.AddObjectSrc().None(); builder.AddBlockAllMixedContent(); builder.AddImgSrc().Self().From("data:"); builder.AddFormAction().Self(); builder.AddFontSrc().Self(); builder.AddStyleSrc().Self().UnsafeInline(); builder.AddScriptSrc().Self().UnsafeInline(); //.WithNonce(); builder.AddBaseUri().Self(); builder.AddFrameAncestors().None(); }); if (!isDev) { // maxage = one year in seconds policy.AddStrictTransportSecurityMaxAgeIncludeSubDomains(maxAgeInSeconds: 60 * 60 * 24 * 365); } return policy; } }

The HTTP response would look something like this:

The security headers are setup to always use the API swagger definitions except for the swagger routes. This is used in development. I still don’t deploy this to production, unless the Swagger UI is absolutely required. In production, all responses use the stricter security header definitions.

// Open up security restrictions to allow this to work // Not recommended in production var deploySwaggerUI = builder.Configuration.GetValue<bool>("DeploySwaggerUI"); var isDev = builder.Environment.IsDevelopment(); builder.Services.AddSecurityHeaderPolicies() .SetPolicySelector((PolicySelectorContext ctx) => { // sum is weak security headers due to Swagger UI deployment // should only use in development if (deploySwaggerUI) { // Weakened security headers for Swagger UI if (ctx.HttpContext.Request.Path.StartsWithSegments("/swagger")) { return SecurityHeadersDefinitionsSwagger.GetHeaderPolicyCollection(isDev); } // Strict security headers return SecurityHeadersDefinitionsAPI.GetHeaderPolicyCollection(isDev); } // Strict security headers for production else { return SecurityHeadersDefinitionsAPI.GetHeaderPolicyCollection(isDev); } });

The security headers are added as middleware using the UseSecurityHeaders methods.

app.UseSecurityHeaders();

Notes

This setup works good and the correct headers for the API are used in both development with the Swagger UI or without the Swagger UI. No weaken headers are deployed to production.

Links
Improving application security in an ASP.NET Core API using HTTP headers – Part 3

https://securityheaders.com/

https://csp-evaluator.withgoogle.com/

Security by Default Chrome developers

A Simple Guide to COOP, COEP, CORP, and CORS

https://github.com/andrewlock/NetEscapades.AspNetCore.SecurityHeaders

https://scotthelme.co.uk/coop-and-coep/

https://github.com/OWASP/ASVS


Doc Searls Weblog

Comet, second try

I shot the comet this time with a real camera: my Sony a7iv with a FE 70-200 mm F2.8 GM OSS II lens set at f3.5 at 135mm for 10 seconds on a shitty tripod I got at a thrift shop for $5. (I have good ones elsewhere.) This was at 8:40pm, just as the […]
Comet Tsuchinshan–ATLAS, flying toward its tail, away from the Sun.

I shot the comet this time with a real camera: my Sony a7iv with a FE 70-200 mm F2.8 GM OSS II lens set at f3.5 at 135mm for 10 seconds on a shitty tripod I got at a thrift shop for $5. (I have good ones elsewhere.) This was at 8:40pm, just as the moon was rising behind my back and before dusk had turned to night with plenty of unwanted light from street lamps and the other usual challenges.

I couldn’t see it, but my iPhone 16 Pro Max did:

Using other shots I maneuvered myself to a place where the camera was in shadow from street lights and I could put the camera and tripod on the sidewalk while locating the comet to the right of that evergreen tree, so it was easy to aim in the general direction and get the shot.

If it’s clear again tomorrow night, I’ll go find a darker place at a later time and see what I can do.

Sunday, 20. October 2024

IdM Laboratory

Auth0 Labの生成AI向けの認証・認可のサンプルを試す

こんにちは、富士榮です。 イベント続きでほぼ毎日プレゼンしている気がしますが、ストレスが溜まるので現実逃避です。 Auth0が生成AI向けの認証・認可に関するサイトをオープンしました。 https://www.auth0.ai/ まぁ、もともとOpenAIの認証はAuth0だったこともあり、この分野は以前から取り組んできていたんだと思います。 生成AIの認証・認可といっても単純にチャットボットへのログインだけでは面白くないわけで、ユーザの代わりにAPIを読んだり、RAGの認証をしたり、ユーザの確認を非同期で行ったり、とやることはたくさんあります。 この辺りをAuth0 Labでパッケージングしたサンプルを公開している、ということですね。 Auth0 Labのアカウントで先ほどのサイトのデモを試すと、ChatGPTもどきのアプリケーションが動きます。

こんにちは、富士榮です。

イベント続きでほぼ毎日プレゼンしている気がしますが、ストレスが溜まるので現実逃避です。

Auth0が生成AI向けの認証・認可に関するサイトをオープンしました。


https://www.auth0.ai/

まぁ、もともとOpenAIの認証はAuth0だったこともあり、この分野は以前から取り組んできていたんだと思います。

生成AIの認証・認可といっても単純にチャットボットへのログインだけでは面白くないわけで、ユーザの代わりにAPIを読んだり、RAGの認証をしたり、ユーザの確認を非同期で行ったり、とやることはたくさんあります。

この辺りをAuth0 Labでパッケージングしたサンプルを公開している、ということですね。


Auth0 Labのアカウントで先ほどのサイトのデモを試すと、ChatGPTもどきのアプリケーションが動きます。



なお、このソースコードはこちらのgithubレポジトリで公開されているので、自分のローカル環境でも試すことができます。

https://github.com/auth0-lab/market0

こういうフロントエンドとAPI管理周りは生成AIのエンジンとは独立したレイヤですが、自前で作るのは面倒な領域なのでこういうものがあると便利ですね。


Saturday, 19. October 2024

IdM Laboratory

SD-JWT draft 13がリリース

こんにちは、富士榮です。 SD-JWTのdraft 13が10/18に発行されています。 https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt/ draft12→13での変更点はこの辺り。 -13 * WGLC (part 1) updates * Rewrote introduction * Added note on algorithm for Holder's verification of the SD-JWT これまでは用途は問わない、としていましたが今回からJWTの選択的情報開示がプライマリユースケースだと明記されています This specification defines a mechanism for the

こんにちは、富士榮です。

SD-JWTのdraft 13が10/18に発行されています。

https://datatracker.ietf.org/doc/draft-ietf-oauth-selective-disclosure-jwt/


draft12→13での変更点はこの辺り。

-13 * WGLC (part 1) updates * Rewrote introduction * Added note on algorithm for Holder's verification of the SD-JWT


これまでは用途は問わない、としていましたが今回からJWTの選択的情報開示がプライマリユースケースだと明記されています
This specification defines a mechanism for the selective disclosure of individual elements of a JSON-encoded data structure used as the payload of a JSON Web Signature (JWS).  The primary use case is the selective disclosure of JSON Web Token (JWT) claims.
イントロダクションが全面的に書き換えられています 明示的な型付けの部分でtypに加えてペイロードのコンテンツタイプ(cty)に関する記述が追加された
Use of the cty content type header parameter to indicate the content type of the SD-JWT payload can also be used to distinguish different types of JSON objects, or different kinds of JWT Claim Sets. 

 

このくらいかな、と。

Friday, 18. October 2024

IdM Laboratory

IPSIE WGが爆誕(企業向けのIAMプロファイル策定に向けたWG)

こんにちは、富士榮です。 ちょっと前に某MLで話題になっていたIPSIE(イプシー) WG(Interoperability Profiling for Secure Identity in the Enterprise Working Group)がOpenID Foundationに爆誕しています。 https://openid.net/announcing-ipsie-working-group/ Identity and Access Management (IAM) within the enterprise is a multifaceted endeavor, as indicated by the growing Body of Knowledge maintained by IDPro. There is a broad range of specif

こんにちは、富士榮です。



ちょっと前に某MLで話題になっていたIPSIE(イプシー) WG(Interoperability Profiling for Secure Identity in the Enterprise Working Group)がOpenID Foundationに爆誕しています。

https://openid.net/announcing-ipsie-working-group/

Identity and Access Management (IAM) within the enterprise is a multifaceted endeavor, as indicated by the growing Body of Knowledge maintained by IDPro. There is a broad range of specifications that are relevant to securing the many IAM functions that underpin operations. Some of these are OIDF standards - like OpenID Connect, FAPI, and Shared Signals - while others are maintained in different standards bodies. For example, IPSIE has already identified the IETF's OAuth 2.0 and System for Cross-Domain Identity Management (SCIM) as relevant to their initial scope (below). But these specifications are written to support many contexts and use cases; they contain optionality that reduces the likelihood that independent implementations will interoperate. 

The IPSIE Working Group will develop secure-by-design profiles of these existing specifications with a primary goal of achieving interoperability across enterprise implementations.

企業内のアイデンティティとアクセス管理(IAM)は多面的な取り組みである。運用を支える多くの IAM 機能のセキュリティ確保に関連する幅広い仕様がある。OpenID Connect、FAPI、Shared Signalsなどの OIDF 標準もあれば、別の標準化団体で維持されているものもある。例えば、IPSIEはすでにIETFのOAuth 2.0と System for Cross-Domain Identity Management (SCIM)を初期スコープに関連するものとして特定している(下記)。しかし、これらの仕様は多くのコンテキストやユースケースをサポートするように書かれており、独立した実装が相互運用できる可能性を低くするオプション性を含んでいる。

IPSIE ワーキンググループは、企業実装間の相互運用性を達成することを主な目的として、これら 既存の仕様のセキュアバイデザインプロファイルを開発する。 

名前の通り、エンタープライズシナリオにおける各種仕様のIDPro/BoKのベストプラクティスをプロファイルとしてまとめていきましょう!というプロファイルですね。(プロファイル=プロトコルや仕様の組み合わせ。ここでいうとOpenID Connect、FAPI、OAuthやSCIMなど)

これはいよいよCIDProが流行る時代が来るのかもしれません。


そういえば最近メンテナンスできていませんが、IDProのBody of Knowledgeの日本語化プロジェクトもありますので、ご興味のある方はお声がけください。(一応、公認日本語化プロジェクトです)

https://idpro.jp/

最新化したいんですが、マンパワー不足です。


Doc Searls Weblog

A Comet Hunt

Tonight was the first completely clear sky in a while, almost perfect for hunting Comet Tsuchinshan-ATLAS, which for a few more nights will be gracing our evening sky. With a full moon high in the eastern sky, and plenty of light pollution from the town around me, the comet was hard to see. Fortunately, the […]
Comet Tsuchinshan-ATLAS, more visible to the camera than the eye.

Tonight was the first completely clear sky in a while, almost perfect for hunting Comet Tsuchinshan-ATLAS, which for a few more nights will be gracing our evening sky.

With a full moon high in the eastern sky, and plenty of light pollution from the town around me, the comet was hard to see. Fortunately, the camera in my new iPhone 16 Pro Max sees better than I do, so I was able first to find the comet in a photo of the western sky, and then go back outside (from the restaurant where we were eating—the Half Bottle Bistro) and aim the phone’s 5x lens at it. That’s what got me the shot above. Step through this album of shots to see how I got the phone to zero in on the comet while my eyes could hardly see it.

I found this guide from the Stamford Advocate very helpful for finding it as well.

Thursday, 17. October 2024

IdM Laboratory

G7メンバー国のデジタルアイデンティティガイドラインのマッピングが発表されています

こんにちは、富士榮です。 G7メンバー国でやっているIdentityガイドラインのマッピングエクセサイズのレポートが出ています。 https://www.oecd.org/en/publications/g7-mapping-exercise-of-digital-identity-approaches_56fd4e94-en.html This report presents a mapping exercise to identify commonalities in digital identity approaches among G7 members that can support future interoperability efforts. These commonalities include shared concepts and defi
こんにちは、富士榮です。
G7メンバー国でやっているIdentityガイドラインのマッピングエクセサイズのレポートが出ています。
https://www.oecd.org/en/publications/g7-mapping-exercise-of-digital-identity-approaches_56fd4e94-en.html

This report presents a mapping exercise to identify commonalities in digital identity approaches among G7 members that can support future interoperability efforts. These commonalities include shared concepts and definitions, the use of international technical standards and approaches to levels of assurance. The report was prepared at the request of the 2024 Italian G7 Presidency and G7 members, to inform discussions within the G7 Digital and Technology Working Group. It was launched during the G7 Digital and Technology Ministerial Meeting in Como, Italy, on 15 October 2024.

本報告書は、将来の相互運用性の取り組みを支援することができる、G7 メンバー間のデジタル ID アプローチの共通点を特定するためのマッピング作業を提示する。これらの共通点には、共有される概念および定義、国際技術標準の使用、保証レベルへのアプロ ーチなどが含まれる。この報告書は、2024 年イタリア G7 議長国および G7 メンバーの要請により、G7 デジタル・ テクノロジー作業部会での議論に情報を提供するために作成された。2024年10月15日にイタリアのコモで開催されたG7デジタル・テクノロジー閣僚会合で発表された。 


中身は順次見ていきたいと思いますが、カナダ、欧州、日本、英国、米国のそれぞれのガイドライン(例えば日本ならDS-500、米国ならNIST SP800-63-3)の比較・マッピングをしています。

これはSIDI Hubのワークストリームとも協調していくべき動きで、今後国境を跨いだコミュニケーションの中でデジタルアイデンティティがシームレスに利用できる世の中の実現に向けて非常に重要なステップですね。


Mike Jones: self-issued

OAuth 2.0 Protected Resource Metadata Specification in RFC Editor Queue

I’m pleased to report that the “OAuth 2.0 Protected Resource Metadata” specification has been approved by the IESG and is now in the RFC Editor queue. The version approved by the IESG and sent to the RFC Editor is: https://www.ietf.org/archive/id/draft-ietf-oauth-resource-metadata-13.html It joins OAuth 2.0 Security Best Current Practice and JWT Response for OAuth Token Introspection, […]

I’m pleased to report that the “OAuth 2.0 Protected Resource Metadata” specification has been approved by the IESG and is now in the RFC Editor queue.

The version approved by the IESG and sent to the RFC Editor is:

https://www.ietf.org/archive/id/draft-ietf-oauth-resource-metadata-13.html

It joins OAuth 2.0 Security Best Current Practice and JWT Response for OAuth Token Introspection, which are also both currently there.

Thanks to the IETF directorate reviewers and IESG members for their feedback that resulted in improvements to the specification!


The Pragmatic Engineer

The Pulse #111: Did Automattic commit open source theft?

The maker of WordPress took 2M customers from its biggest rival: has a red line been crossed? Also: OpenAI’s impossible business projections, top AI researchers making more than engineers, and more.

The Pulse is a series covering insights, patterns, and trends within Big Tech and startups. Notice an interesting event or trend? Send me a message.

Today, we cover:

Industry pulse. Sudden layoffs at Meta, Spotify confirms work-from-anywhere, US mandates “click-to-cancel,” a historic SpaceX booster catch – and more.

Did Automattic commit open source theft? The maker of WordPress took a plugin with 2M installs, owned by its biggest competitor (WP Engine), and commandeered it. The goal was clear: hit WP Engine where it hurts the most, throwing decades of open source ethics in the bin. It sets a dangerous precedent for the industry. Read the un-paywalled version of this section here.

OpenAI’s impossible business projections. According to internal documents, OpenAI expects to generate $100B in revenue in 5 years, which is 25x more than it currently makes. This would mean OpenAI brings in more money than NVIDIA or Tesla!

Top AI research scientists earn more than engineers. Few companies can compete with the compensation which AI startups pay ML engineers. Still, research scientists at these startups can make roughly double of the highest-paid ML engineers. It’s an interesting new dynamic.

1. Industry pulse Sudden layoffs at Meta

Meta is executing layoffs in the US inside WhatsApp, Instagram, and Reality Labs groups, as reported by The Verge. A prolific person let go in this round is security engineer Jane Manchun Wong, who became known in tech circles by uncovering new features shipped in Big Tech mobile apps hidden behind feature flags.

Elsewhere at Meta, there were layoffs for unusual reasons a week or two ago, when some people were let go from the social media giant’s LA site for misusing $25 meal credits intended for use when working late in the office. Instead, the vouchers were used to have meals delivered to homes, and spent on things like wine glasses and laundry detergent, as per the Financial Times. The FT reports that dismissals were for repeat incidents.

This kind of firing would probably not happen a few years ago, I suspect. Back when companies like Meta were struggling to hire enough talent, violations like misusing meal vouchers would likely have resulted in a warning, and no more. 

It’s interesting to contrast that Meta had zero mass layoffs for the first 18 years of its existence from 2004 until November 2022. Since then, cuts have been regular but unpredictable in their timing. This story is a reminder just how much Big Tech is changing: companies no longer offer the kind of cozy job security that was taken for granted in the 2010s; even Google is no longer a “rest and vest” type of place.

US mandates “click-to-cancel”

Read more

Wednesday, 16. October 2024

IdM Laboratory

Credential Exchange Format/Protocolの新Working draft

こんにちは、富士榮です。 Authenticate 2024が10/14-16で開催されましたね。 各社イベントに向けて色々と実装をして発表にこぎつける、というのは世の常ですが、これはもちろんスペックライターについても同じようです。 ということで満を持して発表されましたね。 https://fidoalliance.org/specifications-credential-exchange-specifications/ Credential Exchange Format Credential Exchange Protocol これらの新しいWorking draftが今週金曜日18日にリリースされるようです。 以前から触れていたCredential Exchange Specificationsですがパスキーのインポート・エク
こんにちは、富士榮です。
Authenticate 2024が10/14-16で開催されましたね。 各社イベントに向けて色々と実装をして発表にこぎつける、というのは世の常ですが、これはもちろんスペックライターについても同じようです。


ということで満を持して発表されましたね。 https://fidoalliance.org/specifications-credential-exchange-specifications/
Credential Exchange Format Credential Exchange Protocol これらの新しいWorking draftが今週金曜日18日にリリースされるようです。
以前から触れていたCredential Exchange Specificationsですがパスキーのインポート・エクスポートのための仕様という冠で登場って感じですかね。
同期パスキーなど色々と新しい考え方が盛り込まれてきたFIDO関係ですが、NISTを含めちゃんと利用ガイドを整えていかないといけませんね。(まぁ、そもそも鍵はデバイスから出ないっていうのが原則だったわけなので、考え方を変えていかないといけません)

Decentral Gabe

The Greatly Exaggerated Demise of SSI: A Rebuttal to Premature Eulogies

💡 This is written in response to a post titled "Why Verifiable Credentials Aren't Widely Adopted & Why Trinsic Pivoted" A forewarning—there will be no tears here and, please, no hugging. credit, XKCD https://xkcd.com/386/ The post I'm responding to

💡 This is written in response to a post titled "Why Verifiable Credentials Aren't Widely Adopted & Why Trinsic Pivoted"

A forewarning—there will be no tears here and, please, no hugging.

credit, XKCD https://xkcd.com/386/

The post I'm responding to makes a point about people resisting its conclusions because their livelihoods depend on it. But let’s be real—Trinsic depends on this too, just as much as mine does. We’re both here, with skin in the game, and that's a good thing. I continue to work on figuring out how to make self-sovereign identity work at scale because I believe it's worth it. If I was not convinced of its value, I wouldn't be here debating it; I'd have moved on to easier, more profitable paths. That’s the commitment this industry requires—guts, patience, and a long-term perspective.

So let's set the stage clearly. This isn't just about egos or jobs; it's about a vision for the future of digital identity. And while you’ve pivoted, it's worth looking at the broader picture and challenging the notion that SSI is somehow "dead" just because it's hard. We’re not the first to face a daunting path—nor will we be the last.

The Market Isn't the Oracle You Think It Is

Your unwavering faith in the market's infallibility is touching. You proclaim, "The market is the objective reality," as if channeling the spirit of a laissez-faire economist at a startup retreat. But let's examine recent history.

Betamax was superior to VHS, but marketing muscle won the day. The QWERTY keyboard isn't ergonomic, yet it's entrenched due to historical happenstance. The invisible hand often leads us down paths of inefficiency and fragmentation, leaving a trail of superior but abandoned technologies in its wake.

Fragmentation and incompatible standards aren't signs of the market "choosing" the best option; they're about who can shout "MINE!" the loudest while elbowing competitors off the playground. Sometimes, it takes a guiding hand—a nudge from governments or standard bodies—to steer the market toward what's efficient and beneficial for all.

Pivoting Isn't Prophecy you can do better, hon

The leap from "We couldn't make it work" to "It can't work" is a logical chasm too wide to cross. Your pivot from SSI evangelist to skeptic, while understandable, isn't a revelation of universal truth.

This is akin to Friendster declaring social media a dead end, or Blockbuster declaring video streaming a passing fad. The inability to monetize a nascent technology doesn't negate its potential; it merely highlights the gap between visionary ideals and the brutal realities of running a startup. For example, certain decentralized identity projects have successfully implemented verifiable credentials in applications like educational certificates, employment verification, and gaining access to the financial system, demonstrating real-world utility and growing momentum. These efforts show that verifiable credentials are gaining traction in specific, focused use cases.

Let me be unequivocal: I commend you for having the guts to start a company, work hard for years, and continue to try to make it viable. That is nothing short of admirable. Your pivot might make sense for Trinsic, but it's hardly the canary in the coal mine for SSI.

SSI, like many transformative technologies before it, may simply be awaiting its "streaming moment" — that convergence of technological readiness, market understanding, and user demand that catapults it from interesting concept to indispensable tool.

The Power of Collective Standards

Dismissing government involvement as a mere "silver lining" is like calling the sun a "helpful light bulb." Let's not overlook crucial historical precedents.

The internet (ARPANET), GPS, and even time zone standardization were government initiatives. The metric system, USB, and Wi-Fi all benefited from coordinated efforts beyond market forces. These standards didn't become universal because the market willed them so, but because of coordination to prevent fragmentation.

It is important not to ignore this. Preventing the chaos of incompatible systems often requires patience and collaboration—yes, even more patience than the industry has shown to this point.

Scattered Seeds Grow Diverse Forests

Your lament that SSI's "heat map is too scattered" misses the point. This diversity isn't a bug—it's a feature. The applications sprouting in education, finance, healthcare, and agriculture worldwide are the seeds of a diverse forest, not a failed monoculture.

Yes, SSI's initial user experience may be challenging, but that's par for the course with transformative technologies. Remember when 2G networks made downloading a single image feel interminable? Or when dial-up internet's screeching was our daily soundtrack?

Every groundbreaking technology endures growing pains. Users adapt, technologists adapt, and the market adapts with them—especially when the endgame offers control, privacy, and empowerment.

Business Goals Aren't Universal Truths

There's a profound difference between "We couldn't make it work for our business" and "The technology is inherently flawed."

Your focus on immediate market adoption overlooks the long-term value of doing the right thing—the hard thing—the thing that maybe, honestly, is not suited for startups that need to show growth and profit now. Perhaps a successful SSI startup is better suited as a B-Corp.

While market challenges are real, the problems that led us to SSI have only grown more severe. Data breaches are no longer news; they're an expectation. Surveillance Capitalism has entrenched itself deeper into the fabric of our digital lives, commodifying our every interaction. Government-issued digital identities, on the hardware of monopolistic tech giants, laced with privacy-eroding mandates, threatening to erode what little privacy we have left.

SSI isn't just a novel technology; it is our defense against these escalating digital threats.

Focused Implementation

While the post laments the scattered nature of SSI adoption, I see this differently. There is a clear answer to the diversity challenge: focus on specific, high-impact use cases. Our net is intentionally not cast wide.

We don't require credentials to be used across different domains from which they were issued. That's a potential bonus, not a requirement. It does not undermine the original goal of the technology; optionality is a strength. It leaves the door open for future cross-domain adoption without dependence on it for current success.

This focused strategy allows us to deliver value in targeted areas while building the infrastructure for broader adoption. It’s a pragmatic approach that addresses immediate needs while paving the way for SSI’s long-term vision. An iterative approach helps build confidence in the SSI ecosystem, one application at a time.

The success of SSI won't come from boiling the ocean. We’re laying the groundwork for future interoperability while delivering value today.

A Vision Beyond The Fiscal Calendar

While some may chase immediate market opportunities, many of us remain committed to SSI's promise. Transformational change isn't measured in fiscal quarters but in steady progress over years, many years. It demands fortitude, collaboration, and a willingness to look beyond short-term gains.

To the SSI community: Let this be our rallying cry. We're not just building a product; we're creating the foundation for human-centric digital identity. Let's continue to collaborate on improving user experience, pushing interoperability, and engaging governments and standards organizations. Every effort, no matter how small, contributes to a future where secure, privacy-respecting, self-sovereign digital identity is the norm.

The most compelling technological advances come from those who persevere when the path gets steep. The future of digital identity—one that isn't controlled solely by governments or tech monopolies—is counting on us.

credit: Dune

Should you find yourself at the next IIW, or the one after that, perhaps hosting a session titled "I Was Wrong About Being Wrong About SSI," feel free to invite us—we'll be there. We won't cry, clap, or hug you. We'll simply nod, in recognition that the most profound insights often come from pushing through challenges, not pivoting away from them.

Tuesday, 15. October 2024

IdM Laboratory

信頼できるAIに関するG7のアクションプラン

こんにちは、富士榮です。 10/9〜11にローマで開催されたG7のラウンドテーブルでDFFT(Data Free Flow with Trust)文脈でTrustwothy AIに関するアクションプランについての宣言が出ていますね。 こちらEUのプレスですが。 Data Protection Authorities Collaborate to Shape the Future of AI and Privacy https://www.edps.europa.eu/press-publications/press-news/press-releases/2024/g7-roundtable-2024-data-protection-authorities-collaborate-shape-future-ai-and-privacy_en ざっくりですが

こんにちは、富士榮です。

10/9〜11にローマで開催されたG7のラウンドテーブルでDFFT(Data Free Flow with Trust)文脈でTrustwothy AIに関するアクションプランについての宣言が出ていますね。


こちらEUのプレスですが。

Data Protection Authorities Collaborate to Shape the Future of AI and Privacy

https://www.edps.europa.eu/press-publications/press-news/press-releases/2024/g7-roundtable-2024-data-protection-authorities-collaborate-shape-future-ai-and-privacy_en




ざっくりですが、

第4回G7データ保護当局(DPA)ラウンドテーブルがローマで開催された イタリアのデータ保護当局が主催し、カナダ、フランス、ドイツ、日本、英国、米国、欧州データ保護委員会(EDPB)、およびEDPSのプライバシーおよびデータ保護規制当局が一堂に会した 倫理的で信頼性の高いAIの開発におけるデータ保護の重要性に関するグローバルな議論の形成に貢献することが目標だった DFFT、新興技術の影響、執行協力の3つの主要分野が焦点だった 人工知能(AI)の倫理的かつ信頼性の高い開発に特に注目して議論した AI技術が信頼に足るものであり、責任を持って使用されることを保証する上で、データ保護当局が重要な役割を果たすことを強調する声明が採択された 子供のプライバシー保護に向けた緊急の行動を呼びかける「AIと子供に関する声明」を発表した 個人情報を保護する強固な国境を越えたデータ転送メカニズムの重要性が強調された DPAは2024/2025年に向けたアクションプランを承認し、2024年コミュニケで概説されたように、DFFT、新興技術、執行協力に引き続き重点的に取り組むことを表明した という感じです。
子供のプライバシーの話題など、ますます気をつけていかないといけませんね。 こちらのポストにも書きましたが、ドイツテレコムの出しているAIと子供のプライバシーに関する動画はなかなかショッキングなところもありますので、しっかりと議論をしていってもらいたいところです。



Doc Searls Weblog

Identity as Root

This is from an email thread on the topic of digital identity, which is the twice-yearly subject* of the Internet Identity Workshop, the most leveraged conference I know. It begins with a distinction that Devon Loffreto (who is in the thread) came up with many moons ago: Self-sovereign identity is who you are, how you […]
Shot with a camcoder on a beach in the Caribbean during a 2001 Linux Journal Geek Cruise.

This is from an email thread on the topic of digital identity, which is the twice-yearly subject* of the Internet Identity Workshop, the most leveraged conference I know. It begins with a distinction that Devon Loffreto (who is in the thread) came up with many moons ago:

Self-sovereign identity is who you are, how you choose to be known, to whom, based on reasons of your own. It’s something you own, just like you own your body. Administrative identity is what organizations call you for their convenience (and secondarily, yours). We may call these labels “an ID,” but they are not who we are.

Here is what I wrote:

Humans have opposable thumbs. This makes them capable of tool use to a degree beyond immeasurable. Perhaps nothing, other than their brains, makes humans supremely capable as a species. It also makes them grabby. Try to teach Marxism to a three year old yelling “It’s mine!”

My mother’s favorite account of me as a small child was how I walked around constantly holding as many small toy trucks in my hands as I possibly could, unwilling to let them go. But this tendency was about control more than possession. I hadn’t yet learned to put my trucks in something I could carry around. I was unwilling to trust that a box or a bag was a working extension of my grabby little self.

I’m still a bit like that. “Your trucks” is what Joyce calls the electronic stuff I carry around. But I’m not alone. We conceive everything in terms that imply or involve forms of control, possession, or both. The English language, among many others, cannot get along without possessive pronouns: my, mine, our, ours, their, theirs, your, yours, hers, his. Even if ownership in the legal sense is not involved, responsibility is. Control is. When you drive a rental car, those are your wheels, your bumpers, your engine. You also think and talk about them with first person possessive pronouns.

Personal agency moves outward from that sense of control and responsibility over what is ours, including our selves.

This is why we need to start understanding personal identity, and how it works in the world, by recognizing that each of us is a self-sovereign human being. We are each, as William Ernest Henley put it in his poem Invictus, the captain of our “unconquerable soul.” Walt Whitman’s Song of Myself was a long-form explication of the same thing. (Which I wrote about way back in ’96, before there were blogs.)

This is not to deny that we are also profoundly social. But it is essential that we start with the personal.

Ownership is an abstract concept. So are rights. But we need both to operate civilization.

What makes ownership righteous is that it minimally abstract. We see this with the possessive pronouns “my” and “mine.” Again, this is rooted in our possessive nature, our opposable thumbs. We need to be self-possessed (and -sovereign), autonomous, and independent—before we are anything else, including our social selves.

In technical terms, it’s root.

So there ya go.

*But not the only subject. I’d say about half of the topics that come up at IIW are for topics other than identity.


Riley Hughes

Why Verifiable Credentials Aren’t Widely Adopted & Why Trinsic Pivoted

A presentation I gave at IIW38, in April 2024. At the Internet Identity Workshop 38, I announced my talk with a description something like this: Five years ago at this conference, Trinsic’s first product (our self-sovereign identity wallet app) was launched. Today, I’m hosting a session called “SSI didn’t work. Trinsic is pivoting.” I knew it was a provocative title — and I fully consid
A presentation I gave at IIW38, in April 2024.

At the Internet Identity Workshop 38, I announced my talk with a description something like this:

Five years ago at this conference, Trinsic’s first product (our self-sovereign identity wallet app) was launched. Today, I’m hosting a session called “SSI didn’t work. Trinsic is pivoting.”

I knew it was a provocative title — and I fully considered that apostatizing this publicly could result in a mob of opposition. But I was not prepared for what actually happened.

Right after my announcement (and brief, surprised gasp from the crowd of ~350 people) one IIW veteran popped off his chair and clapped his way across the room to embrace me. Right before my session, the CEOs of two separate identity companies asked to broadcast the talk online (one via livestream, another via live Tweet). Right after my session during the closing circle (where the original crowd of ~350 reconvened), the cofounder of the conference wept as she thanked me. Another longtime identity veteran stood immediately after and claimed it was the most important session held at the event in the last 5 years. The next morning, a startup CEO called for memorializing a “Riley Session” as a new staple of the conference twice each year. More than a dozen people asked me to reprise my session.

I say this all descriptively, not boastfully. Far from feeling proud, I actually felt humbled to have had the opportunity to contribute something evidently valuable to a community which has given me so much. (It was at an IIW in 2018 that I realized I wanted to build a career in this industry.) That is the context for this post — to share apparently-useful insights that hopefully will result in getting the world closer to using better digital ID technologies.

The spoiler for this article: I’m no longer betting on verifiable credentials taking off. I mean this literally — 99% of my net worth is Trinsic stock, so the strategy I bet my company on is an objective revelation of my strongest convictions. While once central to Trinsic’s existence, our latest pivot demonstrates that I believe interoperable digital credentials won’t succeed in market anytime soon.

Specifically, my prognostication is that digital identities will continue to be deployed and adopted, but that fragmentation, incompatibility, and bespoke implementations will continue to dominate the market.

Now, I’ve been working on this problem for 7 years. Explaining how I landed on this conclusion requires expounding on years of the business equivalent of trench warfare. This post is a deep dive, not a summary. If you want a summary, I suggest dropping this post into your LLM of choice (I won’t be offended). I’ll do my best to be concise, but I also intend on being thorough. The structure of this post is as follows:

Assumptions

Brief History

Impossible Problems

Bull Case

End

Assumptions

Assumption #0: I’ve drunk the Kool-aid

As you read this post, your walls might go up. Especially if your salary depends on me being wrong. Just be aware of your biases and know that I am still Kool-aid drunk on the philosophy of self-sovereign identity. I want that future as much as anybody. But in my sincere pursuit to discover reality, I’ve learned some things that I hope others can benefit from.

Assumption #1: Terminology

I will use “verifiable credential” or “VC” in this post quite a bit. I’ll also use “self-sovereign identity” or “SSI” or “IDtech”. “Decentralized identity” or “DI” could be subbed in too for all I care. Fundamentally, I’m trying to communicate: A standard way to exchange trustworthy data in a user-centric/user-controlled way. But I’m intentionally avoiding being too pedantic, so don’t get overly caught up in semantics.

Assumption #2: The world is huge

The world is inconceivably big.

Consulting in SSI is a good way to make a living. But hand-to-hand combat is insufficient to get VCs adopted. The only way to scale something on the magnitude needed for SSI to work is a product with product/market fit. That, or regulatory obligation.

Imagine if companies needed Accenture to adopt artificial intelligence. Now consider how that differs from a world where any developer can pick up an API key from OpenAI and implement GPT4 in an afternoon. LLMs have product/market fit, SSI does not.

Assumption #3: The market is reality

Here’s how I think about startups & new product development. The market is unknowable in its entirety. If it was known how to build a successful product (in our case, a widely-adopted SSI wallet or an adoptable VC format), it would have been done by now. To make progress at the cutting edge, you must do something desirable and different. Andy Radcliff calls this being “non-consensus and right”.

Chamath describes a startup as an exercise in mentally modeling the “market” and building a product to fit that model. If your product is rejected, your model of the world is wrong and you need to iterate its form. If your product is adopted, your model of the world is right.

All this is to say, the market is the objective reality. It decides winners and losers. As I’ve sought to get product/market fit in this space, I seek to discover reality as impartially as I can. When I see evidence of something working, I pay attention; when I see evidence that something isn’t working, I try to absorb those data points too.

Assumption #4: The best technology gets adopted

The worth of software is its impact on humans. The most elegant, idealistic, best software is therefore worthless unless it’s adopted. Actually, if it’s not adopted, it’s not elegant, idealistic, or best — no consolation prizes. The market is the judge and if your product isn’t making an impact on people’s lives, it’s no better than a refrigerator on the moon.

Adoption isn’t just the most important thing, it’s the only thing. Thus, this is actually a tautology: by definition, what gets adopted is best.

Assumption #5: Don’t waste your time

I’ve thought a lot about the optimal point between discouraging and cautioning. Yes, I’ve tried a lot of things but it’s important to state that markets change. Maybe something is different now than when I tried it. I surely can’t turn over every stone. Running new or differentiated experiments in this market is probably fruitful–I don’t want to discourage innovation. But I do want it to shine a light on the graveyard that exists in this space and hopefully prevent people from doing things that are doomed to fail.

Brief history

I started my journey in identity in 2017 when I interviewed for a job at Sovrin Foundation. I started Trinsic with two cofounders in 2019 because of the relatively low adoption of Sovrin’s network. I thought if we made the technology dramatically easier to use, more companies would adopt SSI.

Me plus Tomislav & Michael, my cofounders, launching our product at IIW in 2019.

We built something good. Hundreds of developers were signing up every month and issuing verifiable credentials. One of those developers was Wayne Chang who, before cofounding Spruce, gave me the feedback that Trinsic was the best execution of any SSI product in the market. He asked something like:

“With a product like this (where a developer can get value for free) you are probably either using this as lead gen for $250k consulting deals, or you’re just really betting on verifiable credentials blowing up.”

I told him we were betting on VCs blowing up.

Our aim was to build a product that would accelerate VC adoption. In our view, if a customer needed consulting to succeed, it was a signal the product wasn’t good enough. (We did consult customers on how to succeed — but we treated this time as product discovery time, and incorporated the results immediately into the product roadmap.)

What happened is we acquired dozens of paying customers, but not enough were successful enough. We had roughly 1 breakaway customer story per 500 companies that signed up. The rest were either startups that failed to get traction or large enterprise R&D departments that never went to production.

In the meantime, the market shaped out in an undeniable way. Dozens of companies obtained product/market fit in the reusable identity space, none of which use the VC standard. Either none of the successful companies chose to use VCs, or none of companies that chose VCs succeeded (two statements of identical outcome but different presumed causation).

A slide I made in 5 mins immediately before my IIW38 presentation to make this point!

In fact one such company, which raised over $75m from top-tier venture capitalists to fuel its meteoric growth, said to me (paraphrasing):

“The SSI people had a good idea. So we’re applying that idea to get customers while they’re wasting their time in working groups. You can think of us as proprietary SSI.”

It’s been a few years since I was told that. I recently checked back in on them. They’re used by tens of millions of users.

Another reusable ID company used by several million end-users, which has raised 10s of millions, told me (paraphrasing):

“We are building a monopoly. Our goal is to own the identity layer of the internet. It might not work, but if it does, we’re going to make a lot of money.”

Both companies were started after 2019 (the year the VC data model became a W3C recommendation) and chose not to use standards.

This dynamic vexed me for months. Why was the market rewarding companies with inferior identity solutions?

It took me too long to conclude that SSI is the inferior identity solution. The market determines winners and losers, better and worse — and there are important reasons the market is rejecting verifiable credentials in favor of proprietary solutions.

After 4+ years of hypothesizing, experimenting, evaluating, and iterating, I found what I consider to be intractable problems that block adoption of verifiable credentials. I do not know the answers to these problems. If you’re building in the IDtech space, you should take these problems seriously because, in my view, these are the billion-dollar questions you’ll need to crack to have any meaningful success.

Impossible problems

Impossible problem #1: Interoperability is the premise, but doesn’t exist

Standards exist to enable compatibility. If interoperability isn’t important, simple alternatives to verifiable credentials exist (such as signing — or not signing — JSON). The ability to share data with an arbitrary 3rd-party in a standardized way (without bespoke integration or direct connection to issuing source) is the core purpose of VCs. But that doesn’t actually exist right now.

In other words, the reason for the existence of VCs is not present.

This is because interoperability at the application level requires technical interoperability of keys/signatures, public key resolution, exchange protocols, request/response formats, data models, semantics, and a host of underlying elements. (Not to mention nontechnical interoperability elements, like business models and trust frameworks.) Because a myriad of VC variants, exchange protocols, signature suites, etc. have emerged over the years, which must all line up to effectively interoperate, the only practical way to achieve interoperability with others is to use the same software.

Theoretically, if everyone in the industry agreed upon a single standard to use, interoperability would be present, and there would begin to be value to adopting VCs today — but there’s a problem: which standard should be adopted? and what if it’s the wrong one?

Prematurely standardizing is a risky endeavor. But in order to find out what kind of digital credential will have real product/market fit — and thus be adopted — the world needs to experiment, iterate, innovate, over trade-offs to discover what the market will adopt.

Do you see the problem? VCs need innovation, iteration, and experimentation to succeed. But they also need standardization, agreement, buy-in, and stagnation to have value. These two forces are directly opposed. I wrote about this dynamic more in a post several years ago.

An image I made in 2022 for a post I wrote about the tension between interop & innovation.

Standardization is essential for adoption. But adoption is essential for knowing what to standardize (there’s nothing worse than standardizing the wrong thing)! Prematurely standardizing before adoption is a classic “cart before the horse” scenario.

To be clear, none of this means that there is no reason to adopt VCs now — it means every reason to adopt VCs today is in anticipation of future value. Because today, verifiable credentials offer zero marginal value relative to simpler alternatives. To rationally adopt VCs, one must make a bet on the future. Some bold companies will be willing to take that very costly journey (like we did), but most will not.

Impossible problem #2: Initial UX is worse than baseline

Verifiable credentials are always a better UX than existing identity solutions at scale, but always a worse experience initially.

I had a mask-laden conversation with the late Vittorio Bertocci at the Internet Identity Workshop in 2021 where I was working to convince him of the merits of VCs as he advocated for federated approaches.

His point: VCs aren’t necessary to share data outside its original domain. Take, for example, Airbnb wanting to verify a digital driver’s license. Instead of using a VC, DMVs could become an IdP, and Airbnb could add a “verify with X driver’s license button” into their app. The tech exists today.

My point: Yes, but nobody does that today because it doesn’t work in person, doesn’t work offline, doesn’t work when presenting multiple credentials, doesn’t work when privacy needs to be preserved, etc. But most importantly, in this example Airbnb would need to add a “verify with X” button for all 50 states, which is a very bad UX — VCs would enable one universal verification button!

I’ve thought a lot about this interaction. While I like to think I helped nudge Vittorio a bit on the value VCs could provide, you’ll notice my points are basically only relevant at scale.

For a concrete example, take AI agents who need identity wallet capabilities. We ran a whole campaign about this at Trinsic and spoke to dozens of AI agent developers (see this landing page, watch the demo video!). It’s obvious the problem exists in the long-term. As a user, it’s a pain to provision an agent access to all my accounts, info, etc. needed for it to accomplish real tasks for me. But in the near-term, 100% of the AI developers we talked to just chose to use OAuth to connect to sources where users’ data exists already (e.g. Google).

If a user already has a wallet with a bunch of useful credentials in it, obviously sharing those is a better UX than redoing the onboarding process that was required to obtain those credentials. But acquiring the wallet with credentials in the first place will always cause extra friction upfront, which businesses and users are very reluctant toward.

This problem is compounded because businesses don’t just adopt things that are a little bit better than alternatives. In order to switch behaviors or risk their careers on unproven technologies, new solutions need to be better enough to justify that extra investment. And unfortunately for VCs, for every initial use case I’m aware of, the experience is objectively worse.

I shared more insights from Vittorio here.

Impossible problem #3: Heat map is too scattered

When I was raising money for Trinsic as a general-purpose verifiable credential platform, investors would often ask what the most prominent use case for verifiable credentials was — and more specifically, what the most common use case for Trinsic’s customers was. My answer sucked:

Our customers are building use cases in education, employment, financial services, healthcare, insurance, industrials, government, and agriculture. And more!

Once, in pursuit of a better answer to this question, we plotted the industries, geographies, and use cases of 100+ paying customers. The scatter plot was all over the place. Nothing stuck out prominently. It didn’t make sense to double down on a specific industry or use case because none dominated our demand. We didn’t even have geographic consistency — adoption existed from Myanmar to Peru to USA to Romania.

My cofounder Michael continuously sounded the alarm in my ear: in order for VCs to take off, a network effect needs to take hold. No network effect will exist if all adoption is completely scattered.

This problem doesn’t just affect Trinsic, it affects the entire VC space. Until pockets of adoption breed more adoption in a virtuous cycle, the rate of adoption will be capped to a linear value — and adoption to 1+ billion people requires exponential rates.

To drive this point home, I’ll cite an example from a packed room at a previous Internet Identity Workshop, circa 2020. In a room full of decentralized ID vendors, I asked for a raise of hands: “Who has ever heard of a verifiable credential being used for a purpose other than that for which it was issued?” (In other words, who has ever heard of a verifiable credential being used for the reason the VC standard was created.)

No hand went up.

I asked again in 2024. Still crickets.

Verifiable credentials won’t take off until this sort of thing is commonplace. This cross-context data sharing simply won’t happen until both sides of the exchange are interested in similar credentials, or are from a similar industry or geography. In other words, this won’t happen until the heat map of potential use cases lights up in a particular spot. But the current nature of the market is very scattered.

Bull case

This post outlines why I’m not betting on verifiable credentials taking off anytime soon. But if I had to articulate the bull case, there are two arguments here: government mandates and timing/direction of causality.

Governments

Governments represent the silver lining for verifiable credentials. While, in my view, the private sector lacks a viable adoption path for the reasons outlined above, governments have different incentives. Governments build utilities, and there is a good argument that interoperable digital ID is a government utility. Many governments in the West are investing in VCs, most notably eIDAS 2.0. Although even that is far from settled.

Government involvement is not limited to government-issued credentials. Virtually every private sector company in the verifiable credential world (except Trinsic, for what it’s worth) has been subsidized by governments funding their preferred VC standards (DHS funding different standards than the EU, for example). Various technologies through the years have succeeded due to government mandates or subsidies–nothing wrong with it inherently–but it is a telling aspect.

Governments compelling use of interoperable digital credentials represents the most likely success case for VCs I can think of. But that scenario exists in the medium-term, not the short-term.

Timing

The other argument says that verifiable credentials are simply too early. Many of the leading reusable ID ecosystems like IDme, Yoti, CLEAR, etc. were started and initially grew before the VC standard was finalized/stabilized. So one could argue these companies, if started today, could have had the same or greater success using verifiable credentials rather than a proprietary solution.

Unfortunately, recently companies like Incode, Footprint, Plaid, and many others launched “reusable ID” products and chose not to use VCs after extensive research. And have succeeded far beyond most SSI products. Which presents a difficult rebuttal to this argument.

One cannot rule out the possibility that companies can succeed betting on the VC standard. But it’s difficult to point to examples of VCs helping a business solve problems for customers (and thus make money) — and it’s trivial to point to dozens of examples of companies sinking millions of dollars into verifiable credential infrastructure (money which could have been spent acquiring customers). One hypothesis is that tinkerers are attracted to VCs while aggressive operators are less likely to experiment on new technologies or make speculative bets on the future.

End

I referenced Vittorio earlier, and I’ll cite him one last time here. In a blog post about his involvement in the CardSpace project at Microsoft, which is a spiritual ancestor of modern SSI, he said:

“When the user centric identity effort substantially failed to gain traction in actual products, with the identity industry incorporating some important innovations (hello, claims) but generally rejecting many of the key tenets I held so dear, something broke inside me. I became disillusioned with pure principled views, and moved toward a stricter Job to be done, user cases driven stance.”

I’ve not changed my convictions on the future I want to live in. Nor has my resolve wavered in my desire to build that future. But the market has spoken. Prematurely standardizing a pre-product/market fit technology won’t work — no matter how badly zealous advocates of SSI want it to. That is why Trinsic is no longer a general-purpose verifiable credential infrastructure company.

While I don’t expect a universal standard for digital IDs will happen anytime soon, new digital IDs continue to roll out every day. These digital IDs are sometimes built with VCs, other times with mDLs, but usually in proprietary ways. Some are bound with biometrics, others with passkeys. Some are focused on solving a problem in a specific industry, others in a specific geography.

Today, the Trinsic Identity Acceptance Network represents the future of Trinsic. Instead of helping companies create digital IDs (issue verifiable credentials or create wallets for users), we help businesses accept existing digital IDs. Our strategy is a bet on continued fragmentation of the ID landscape — a bet on no single standard winning out.

In fact, I’ve become convinced that Trinsic’s current strategy to help businesses accept digital credentials is actually a necessary stepping stone to a future world powered by interoperable digital credentials. We’re still ushering the world in that direction, just from a different angle.

Of course, I could be wrong, and I hope I am. My ears and eyes are wide open for new information. My only objective is to see reality as clearly as I can. If you have information you believe I’m missing, I’d love to hear from you and have a conversation. Sincerely! You can DM me on LinkedIn or Twitter, or shoot me an email riley@trinsic.id.

Thanks to Kim Hamilton Duffy, Gerald Glickman, Timothy Ruff, Eve Maler, James Monaghan, Dave Grantham, and Zachary Jones for giving feedback on a draft of this post.


The Pragmatic Engineer

Why techies leave Big Tech

A job in Big Tech is a career goal for many software engineers and engineering managers. So what leads people to quit, after working so hard to land these roles?

Hi – this is Gergely with the monthly, free issue of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. If you’ve been forwarded this email, you can subscribe here.

In case you missed it: the first two The Pragmatic Engineer Podcast episodes are out: Efficient scaleups in 2024 vs 2021 and AI tools for software engineers, but without the hype. Each episode covers approaches you can use to build stuff – whether you are a software engineer, or a manager of engineers. If you enjoy podcasts, feel free to add it to your favorite player.

Ask a hundred software engineers what their dream company is and a good chunk are likely to mention Google, Apple, Meta, Microsoft, and other global tech businesses. This is no surprise:

Brand value – few businesses in any sector are better-known than Big Tech

Compensation – pay is usually at the very top of the market. Ranges can get especially high in staff-and-above positions. We cover more on pay in The trimodal nature of tech compensation and in Senior-and-above compensation in tech

Scale – infrastructure used by hundreds of millions or billions of users, data storage measured in petabytes, and services which handle requests at the thousands per seconds, or above

With upsides like these and others, why walk out? To learn more, I asked several software engineers and engineering leaders who did precisely this. Personal experiences vary, but I wondered if there are any common threads in why people quit prestigious workplaces. Thanks to everyone who contributed.

In today’s deep dive, we cover:

Big Tech less stable than it was. Big Tech had few to no mass layoffs for years – but that’s all changed.

Professional growth in a startup environment. It’s hard to keep learning in some Big Tech environments, compared to at startups.

Closed career paths at Big Tech. It’s often more achievable to get to executive-level engineering positions at scaleups, than at global companies.

Forced out. The bigger the company, the more there’s politics and scope for workers to be victims of competing interests, personalities, and rivalries.

Scaleups get “too Big Tech.” Scaleups are nimble and move fast with few processes. Successful scaleups slow down and add more process.

Steep compensation drops. A falling stock price can make people consider leaving if it leads their compensation to also reduce. Also, when an initial equity grant vests out after 4 years.

Raw feedback. A former engineering leader at Snowflake shares their take on how people leave workplaces – or struggle to; golden handcuffs, a Big Tech hiring slowdown, a bifurcated market, and more.

Some reasons techies leave large and prestigious tech companies 1. Big Tech less stable than it was

Luiz Santana was a tech lead manager at Google in Germany, before leaving to cofound the health tech startup, Digitale Patientenhilfe. Before Google, he was a senior engineering manager at fintech N26, and head of engineering at ride-sharing app, FREE NOW. Luiz shares why he decided to say farewell to what looks like a techie’s dream job:

‘Some things helped me make the decision to leave Google:

The startup I got an offer from had raised healthy funding, meaning a good amount of runway

I managed to negotiate to join as a cofounder and CTO, which meant a healthy equity package.

The other two cofounders have a great track record with a previous startup. This gave me confidence.

‘Google changed a lot, which also made the decision easier:

Google had layoff tension at the time. In mid-2023, there were lots of small, unpredictable layoffs, which made Google feel less of a “secure” place to work.

The culture also changed visibly. There was cost cutting, ranging from small things like reduced snack selection, to some teams having trouble securing servers they needed for organic growth.

I realized I am no fan of promotion-driven culture, which I saw to result in outcomes I didn’t like.

‘Google makes it hard to leave. Some big factors held me back from quitting:

Compensation. The biggest challenge, by far! Google pays very well, and few if any companies can match the total package. In my case, I received my stock grant at half the stock price to what it was vesting at. This meant that my equity compensation was already worth double!

Brand. I have always been a big fan of Google products, and being associated with Google is a big positive in so many ways.

Risk. Staying at Google is lower risk – even with layoffs – than joining a startup is.

‘Personal circumstances made the decision to quit easier.

I had “layoff fatigue” keeping track of all the small layoffs in various teams.

In Germany, I was at higher risk of being laid off because I was not married at the time and do not have kids. There’s a “social criteria” for redundancies in Germany, and I was not in a protected bracket; if a layoff happened, I was a prime candidate.

I trusted the founders, and appreciated that they spent a lot of time with me, sharing their vision.

‘After a lot of back-and-forth, I finally pulled the trigger to join the startup. I’ve not looked back since!’

Luiz’s hunch about diminished job security echoes the reality. Since mid-2022, Big Tech has shattered its image for job security:

Meta let go ~25% of staff in 6 months in two separate layoffs. Before November 2022, the company had never done mass redundancies; then it did two.

Google never did repeat annual layoffs in its history until in 2024, following shock layoffs in 2023

Amazon made deep cuts in 2023. The company is also known for less job security due to using PIPs more than most other Big Tech companies. PIPs are used as part of meeting unregretted-attrition targets

Microsoft did large cuts in 2023 and small layouts since

Tesla did widespread layoffs in secret in 2022, hitting long-time employees with a 1-week severance package.

Apple and NVIDIA are the only two Big Tech companies not to do mass layoffs in the last two decades. 

2. Professional growth in a startup environment

Benedict Hsieh is a software engineer based in New York City, who spent five years at Google, before quitting for a startup in 2015. Ben describes his journey:

‘I didn’t want to become a ‘lifer’ at Google. This was the specific reason I left Google: I felt I was headed in a direction of being stuck there for life. I was only learning Google-specific tech, and the position was not very demanding. I felt like I should be working harder and learning to create value on my own, instead of only functioning as a cog in the machine.

‘I’d stopped “exploring” and was mostly “exploiting.” There is a mental model I like called the explore-exploit tradeoff. Exploitation means you choose the best option based on your current knowledge. Exploration means you try out new technologies and approaches. Reflecting on my day-to-day work, it felt that almost all of it was “exploiting,” and I was doing very little “exploring.” It was too early in my career (and life) to stop exploring!

‘I think my mentality of worrying about not doing enough “exploring” is rare. Almost all my former peers are still at Google because the total compensation is really, really hard to beat!

‘Looking back, I was overconfident about how quickly I would grow in startup-land – both professionally and in the financial sense. I was willing to take the hit on significantly decreasing my total compensation, and getting a larger chunk of startup equity. I was impatient about hitting my “retirement number” by joining a fast-growing startup with much higher upside.

‘Also, to be frank, I figured that I could go back to working at Big Tech anytime I wanted: because I spent enough years there, and had a pretty good existing network.’

Ben joined a startup as a cofounder. The experience was not what he expected, as he wrote about:

‘I was miserable. We were working out of [my cofounder’s] unfinished apartment which was freezing cold in the middle of the winter and a constant reminder of all the things that weren't going well. I'm a low-conflict person who needs hours to calm down after an argument, where she preferred communicating via loud debate.

‘I was trying to learn all kinds of things that we needed for our business – how to work with clients, keep our servers up at all hours by myself, debug statistical anomalies in our data, or send out cold emails to find new business. I was the only one who could do these things, so I got them done. I woke up early in the morning and had trouble sleeping at night. Once I worked past midnight to compile a report for a client who'd requested a last-minute meeting in the morning, only for them to no-show, followed by an email two days later asking me why I hadn't found another way to send them their data. If I had asked my body what it wanted in that moment, it surely would have responded with incoherent screaming. It basically did that without being asked.

‘Our company folded in less than a year. 

‘But in eight stressful and mostly unpleasant months I accomplished more than I had in the eight years before that. We made some money for our clients, and a minimal but nonzero amount for ourselves, and I was able to parlay the experience into an early position at a much more successful startup. More importantly, I learned how to just get things done when they need to be done, instead of feeling like a helpless bystander watching a car crash.’

Ben reports that the new startup he is working at is doing a lot better, and reckons he needed a “startup shock” to develop his professional skills beyond the (comparatively) neat and tidy confines of Google.

3. Closed career paths at Big Tech

A product manager based in Seattle worked in Big Tech for 14 years: 3 at Amazon, and 11 at Google, where they went from a product manager on a single product, to senior product manager, group product manager, and product lead for a portfolio of products. Despite promotions into influential positions, they quit the search giant for a fintech startup, as VP of Product. They asked to remain anonymous, and share:

‘I'd already decided to quit Google without a new gig lined up. This was because I couldn't find a new role that was a combination of interesting challenge, interesting people, and/or one that fulfilled my career goals. I had over 50 conversations inside Google for ~9 months. 

‘I talked to many ex-Googlers and ex-Amazonians during interviews. I'd never heard of my current company prior to joining, but most people I met during the interview were ex-Googlers/Amazonians. They were tackling the worthy, difficult problem of building a truly modern fraud monitoring and management platform.

‘This company isn't a remuneration leader by any means. "Closing" a candidate – them accepting an offer – is a combination of:

A strong “sell” during interviews

Showcase the concentration of world-class talent at the company

Highlight that the team ships very fast – much faster than Big Tech!

Articulate interesting technical and product challenges the team overcomes

‘Despite not knowing about them, it turns out this business has a strong brand in the banking software sector. They have established business moats, and the more I learned, the more impressed I was.

‘The company is in the middle of an organizational turnaround that I get to be an active part of, as a VP. This challenge appeals to me because I get to work with a really motivated set of people who are focused on making a big difference within the company, but also across the financial industry.’

This journey from Big Tech middle-management into leadership at a scaleup, makes a lot of sense. Making the jump from engineering manager or product lead, to an executive position, is close to impossible at Big Tech because the change of scale is vast. An engineering lead might have 10-50 reports, but a VP or C-level will oftentimes have 10x more. There are exceptions, of course, like Satya Nadella, who rose through the ranks at Microsoft, from software engineer, through vice president, to CEO. But in general at large companies, getting promoted to the executive level is formidably difficult. Scaleups offer a more achievable path to C-level.

At the same time, tech professionals with managerial experience in Big Tech are often perfect fits for senior positions at scaleups. Recruitment like this can be a true win-win! A new executive gets to learn a lot by getting hands-on with strategy, attending behind-the-scenes meetings, liasing with the board and investors, and many other experiences that are simply off limits at Big Tech. 

In exchange, the scaleup gets a seasoned professional who doesn’t panic when facing decisions potentially involving tens of millions of dollars, and who can make correct, well-informed decisions – which is what Big Tech managers do, usually.

4. Forced Out

Working at Big Tech is far from perfect; the larger the company, the more organizational politics there is, some of it bad.

Justin Garrison, former senior developer advocate at AWS, felt this after he posted an article that criticized the company, entitled Amazon’s silent slacking. In it, he wondered if Amazon’s sluggish stock price was the reason for its strict return to office (RTO) push, and whether it was a way to quietly reduce headcount via resignations. Justin shared other observations in the article:

“Many of the service teams have lost a lot of institutional knowledge as part of RTO. Teams were lean before 2023, now they’re emaciated.

Teams can’t keep innovating when they’re just trying to keep the lights on. They can’t maintain on-call schedules without the ability to take vacation or sick days.

The next logical step to reduce costs is to centralize expertise. It’s the reason many large companies have database administration, network engineering, or platform teams.

They’ll have to give up on autonomy to reduce duplication. Amazon has never had a platform engineering team or site reliability engineers (SRE). I suspect in 2024 they’ll start to reorg into a more centralized friendly org chart.”

Justin’s team was also hit by layoffs: his team was eliminated, but not his role. He was left in a limbo state of needing to find another role within the company, and was not offered severance. Justin suspected Amazon was aiming to avoid paying severance packages, and incentivised managers to put engineers on a performance improvement plan (PIP) and let them go without severance.

In the end, Justin didn’t want to go through what he predicted would be a demotivating, unfair process that would end in him being fired. So, he quit. 

Afterward, he joined infrastructure startup Sidero Labs as head of product, building what they aim to make the best on-premises Kubernetes experience. 

Ways out of Big Tech manager conflicts

There’s a saying about quitting that “people don’t leave bad companies, they leave bad managers.” It contains a kernel of truth: a bad manager is often reason enough to leave because it’s the most significant workplace relationship for most people.

At large companies, there is an alternative: internal transfers. As an engineer, if you feel held back by your manager or team, you can attempt to move. Internal transfers are usually a lot less risky– as someone changing jobs – than interviewing externally. With an internal transfer, you get to keep your compensation and network inside the company; in fact, you grow it. Also, your knowledge of internal systems and products is valuable. 

There are usually a few requirements for an internal transfer to happen:

Minimum tenure: internal transfers are open to those at the company or in their current team for a year or more.

Good standing: performance reviews which meet expectations are needed to get to move, usually. This is to avoid low performers escaping to switching teams. Being on a performance improvement plan (PIP) is a blocker to moving at most companies.

Other teams’ headcounts: internal transfers can only happen when teams have the budget for your level. Internal transfers are a way to hire more efficiently.

Pass an interview: at many companies, internal transfers go through an internal interview. This is usually a lot more lightweight than external ones. The process usually depends on the manager. It might be a simple chat and review of your existing work, or be more competitive if there are other candidates. For example, at Microsoft/Skype, when I changed teams as a developer, my new manager had internal candidates do a software architecture interview.

Get approval from the existing team. At some places, this can be a thing! An existing manager can slow down a transfer, or even sometimes veto it. However, in practice, if an engineer and manager have a poor relationship but the engineer has decent standing, then the manager doesn’t have much reason to block their departure. Of course, a manager may be able to make the situation challenging enough that seeking opportunities externally seems like the better option.

5. Scaleups get “too Big Tech”

An engineering leader spent four years at Snowflake after joining in 2019, right before its IPO. They’ve asked to remain anonymous, and share why it was time to depart the data platform:

‘Snowflake became “too Big Tech” for my liking. When I joined, there was a lot of uncertainty within the company and teams moved quickly. We had to make rapid changes, and four years later, things looked different:

Stable teams

Mature and well-documented processes

Lots of internal committees

Ever-growing amount of documents

Endless program management work before starting anything meaningful

Lots of politics! Cliques formed and there was “empire building” in upper management.

‘I have to admit, none of this is for me; I’m more of a “move fast and build things” person. At the same time, I acknowledge that many people felt very comfortable with these changes, and thrive in them!

‘The reality is that the company became successful, quickly. I enjoyed being part of the ride and helping create this success, but the change in culture made it feel less close to me than the “old” culture.

“Working at a scaleup that became “Big Tech” made it so much easier to leave! I’m certain that having Snowflake on my resume gave me a huge head start on someone equivalent from a medium or lower tier company. If I didn’t have Snowflake on my resume, recruiters would have skipped over me, and hiring VPs would be extremely skeptical. 

‘So while there have been lots of changes in culture thanks to the standout success of Snowflake, it gave a lot of career options to me and everyone who helped build Snowflake into what it is today.’

6. Steep compensation drops

Big Tech compensation packages usually have three components:

Base salary: the fixed sum in a paycheck

Cash bonus: awarded at the end of the year at some companies. Netflix is among the companies which do not award bonuses

Equity: awarded as an initial grant that vests over 4 years, usually. Most Big Tech companies offer equity refreshers

The more senior a position, the more of the compensation is in equity. Tech salary information site Levels.fyi maps how Microsoft’s positions offer considerably more equity, and how principal-and-above engineers usually make more in equity per year than in salary:

Microsoft’s typical US compensation packages for software engineers. Source: Levels.fyi Rising stock prices make it hard to hire away from public companies

Equity is converted from a dollar amount to the number of stocks on issue date. This means that if the stock value increases later, so does the grant value. If the stock goes down, so does the grant value, and total compensation with it.

This connection is why it’s close to impossible for a company to tempt NVIDIA employees to leave the chip maker, if they joined in the past four years and are still vesting out their initial grants: NVIDIA stock is worth 10x today than 4 years ago. So, let’s take an engineer who joined in October 2020 with a compensation package of $250K per year:

$150K base salary 

$400K in equity (vesting $100K/year on the issue date)

Four years later, this engineer’s 2024 total compensation is around $1.15M, thanks to stock appreciation:

$150K base salary

$1M in equity vested in 2024 (thanks to that $100K/year grant being worth 10x, $1M/year!)

Falling stock price: big incentive to leave

Stock prices don’t only go up, they also go down; and when they do the equity value of comp packages drops significantly. We previously covered how low stock prices lead more people to leave listed tech companies in May 2022. From The Pulse:

Some tech stocks have had a terrible past 12 months. Here are some of the tech companies which have seen their stock prices decrease the most since a year ago:

Stitch Fix: -79% 📉 

Redfin: -71% 📉 

Pinterest: -65% 📉

Toast: -64% 📉

Robinhood: -61% 📉

Zoom: -61% 📉

Roku: -60% 📉

Opendoor: -56% 📉

Docusign: -48% 📉

In comparison, some Big Tech have done well:

Nvidia: +107% 📈

Tesla: +63% 📈

Apple: +47% 📈

Google: +37% 📈

Microsoft: +34% 📈

Oracle: +20% 📈

Let’s take a senior software engineer who offered a $350K/year package in March 2021. Let’s assume they got this compensation package at all of the above companies, and that the package consisted of:

$200K cash compensation (e.g. $170K base salary, $30K bonus target) 

$150K/year stock compensation ($600K in stock, vesting over 4 years). 

Here’s what their compensation would look like, assuming no cash compensation changes:

Stark difference in compensation outcomes due to stock performance

Back when these stock drops happened, my suggestion was this:

“If you’re an engineering manager at a company where the stock has dropped significantly: buckle up for a bumpy ride. Unless your company can deploy significant retention grants, you will likely see record attrition in the coming months. Make cases for these retainers, but know that companies have financial constraints: and this is especially the case if the stock underperforms for a longer period of time.

If you’re looking for a new position: at places that issue equity, you’ll need to take a bet on the trajectory of the company. Consider companies where you believe in the company, their products, and how those products will grow over the next several years.”

Over time, Big Tech stock has done much better than many recently IPO’d tech scaleups. The biggest stock drop happened at Meta, at the end of 2022. In just 6 months, the company’s stock price dropped from $330 to $88 – a 70% drop! Everyone who joined before 2022 saw their stock grants lose 50-70% of value on paper. Recovery was uncertain:

Meta’s stock price 2019-2022. A drop from mid-2022 hit equity packages

That year was probably one of the best times ever to hire away from Meta, due to its reduced stock price dragging down overall compensation. From early 2023, Meta’s stock rapidly recovered; employees’ issued with stock in 2022-2023 have seen its value multiple. From a total compensation point of view, it’s again hard to hire away from Meta:

Meta’s stock price since November 2022. Rising value means extra total compensation

We covered equity refresh targets per level in the US in Inside Meta’s engineering culture.

Four-year cliff

An event that frequently reduces compensation is the four-year vesting cliff, when the initial equity grant runs out at Big Tech. At senior engineer-and-above, and engineering-manager-and-above positions, these initial grants can be significant. It’s not uncommon for more equity to vest per year during the first four years of the initial grant vesting, than total compensation. The problem is that when this initial grant runs out, the compensation drops because the company does not “top up” with a similarly generous grant. This can mean a 10-40% drop in total compensation – pretty demoralizing!

As a manager, I dealt with the problem of engineers hitting 4 years’ tenure, and their annual earnings dropping 25-30%. The same happened to my own compensation package: in year 5 at Uber, I would have made about 30% less than in years 1-4, due to the initial equity grant running out, and lower annual refreshers. In the case of Uber, the stock price stayed relatively flat, and the drop in pay was the difference between revised compensation bands, and the equity which joiners had managed to negotiate.

Some Big Tech companies make the “cliff” less steep. Speaking with an engineering leader at Meta, they told me the annual refreshers offered at L6-and-above levels (staff engineer equivalent and above) are usually large enough to ensure no major compensation drop.

However, there are also companies like Amazon where only top performers receive top-up equity. This means that after four years, those without equity awards see a major compensation drop, as the compensation then only comprises salary, as Amazon doesn’t do cash bonuses. When this happens, it’s a signal that Amazon doesn’t particularly want to retain someone. It’s common for engineers to start applying externally when their equity is set to run out.

When a company’s stock price keeps increasing, the 4-year cliff becomes more painful. In Big Tech there are compensation targets for every engineering level. People earning above this target get very little or no equity refreshers, as they are already above target.

Going back to the example of NVIDIA, and the imaginary software engineer on $250K/year in 2020 ($150K salary, plus $100K/year stock), who’s on track to make $1.15M in 2024, thanks to NVIDIA’s stock price increase. That software engineer could see their compensation drop from $1.15M in 2024, to $150K in 2025, assuming no further equity refreshers. Even with an equity refresher of $400K over 4 years, their compensation will still drop from $1.15M in 2024 to $250K in 2025!

As a tech worker, it’s easy enough to rationalize that current compensation is outsized compared to other sectors; but you don’t need to be psychic to understand that a pay cut is demotivating; people are doing the same job as before for less money.

Assuming our engineer managed to save most of their gains from the incredible stock run, they might have a few million dollars in savings. This creates room for taking a risk, such as:

Joining another company for higher compensation (very small risk)

Joining a startup for lower compensation package but more equity (moderate risk)

Cofounding a startup, taking a steep cut on compensation, but a high equity stake (high risk)

7. Raw Feedback

The engineering leader who left Snowflake for becoming “too Big Tech” interviewed with several startups, and is in touch with peers still working in Big Tech. They share some unfiltered observations about people considering leaving big companies

Golden handcuffs

'Golden handcuffs' are a big thing at companies like Snowflake. I know plenty of people who are still riding out significant equity grants from the last few years that increased several times in value.

‘Salaries have stagnated across the industry, though. Back at Snowflake, we hired some people who were overpaid, compared to the current market. I know this because I hired some of them! We offered above the market because in 2021-2022 we were desperate to fill positions, like everyone else! 

‘This is the problem with golden handcuffs: when you are lucky enough to have them, it’s hard to find anywhere offering more because you’re already above the market bands! So the only way to avoid a compensation cut is to stay.

Hiring slowdown

‘I have seen a slowdown in hiring across the tech industry, mostly at bigger companies. It also impacted people at the “lower end” of experience and domain expertise. If you are a very experienced engineer or engineering leader, or have some specific skills/knowledge that is in demand, the market is good in 2024!

‘Non-listed companies are still hiring more than public ones. I’ve talked with a decent number of strongly-growing companies and most want to hire experienced people.’ This observation tallies with one from the deep dive in August, Surprise uptick in engineering recruitment

‘I’m an example of the demand for experienced people. I have not been actively looking for jobs – but out of curiosity, I made myself open to inbounds from recruiters on LinkedIn. In two months, I had interviews with engineering VPs for series C and D companies. I am actually going to NYC next week for a half-day onsite as the final step for one role with a series D. I haven't actually actively applied to any jobs while doing so!

Bifurcated market

‘The current job market seems to be divided into two parts:

Experienced folks: If you are a senior, experienced person, especially with in-demand skills, there are options and the market is still moving steadily, if a bit slower than before

Junior folks: if you are more junior, or don't have unique experiences or skill sets, you are probably not going to see many opportunities in the current market

Risk takers favored:

‘There are two types of people when it comes to taking risks:

Builders and risk takers: people who like to build and grow teams and programs, who like taking risks, and jumping into the unknown with a bit of chaos. I’m someone who thrives on that; I get bored easily!

Incremental improvers seeking stability. Many people like to run things and make incremental improvements, from one stable job to another stable job. 

‘In the current environment, big and stable companies are not hiring so much. So the people getting jobs are willing to take risks with less predictable companies, and jump into some chaotic situations.

Tech industry becoming ‘tiered’

‘An article by The Pragmatic Engineer covers the ‘tiering’ of the tech industry, which I experienced at first hand.

‘At my job before Snowflake, I was around “mid tier” at a financial software company. I would have been stuck in this “tier”, but got lucky in that Snowflake was desperate to hire tons of people in 2019.

Joining Snowflake immediately catapulted me into a much higher compensated group. Beforehand, I did not appreciate how massive the gap is between mid and top-tier companies! But I’m torn about this gap. On one hand, I really appreciate the compensation and career options. On the other hand, it irritates me how insular, incestuous, and hypocritical this is.

‘The upper tier literally feels like an old European aristocracy – and I’m saying this as someone who lives in the US! People help out their buddies, and are extremely suspicious of anyone not in their ‘club.’ It’s eye-opening to see how many people jump from company to company, taking their buddies with them. They all make lots of money, while keeping it exclusive and making sure it stays that way.’

Takeaways

Thank you to everyone who contributed to this look into why successful tech workers quit the most successful tech employers. When I joined Uber in 2016, it felt like the best-possible place I could have onboarded to. Back then, Uber had very positive media coverage, was called the most valuable startup in the world, and was the quickest to scale up in history. And yet, when I joined on the first 1:1 with my manager, the question I got from this was:

“So, what are you planning to do professionally after Uber?”

It was day one at the world’s most valuable startup; why was my manager asking about what I’ll do after this job? He later explained this question was because he’d been in the industry long enough to know that 99% of people don’t retire at their current company, and he wanted to be a supportive manager for future career goals. So if someone told him they might try to do a startup one day: he would try to get them involved in projects where they can do more zero-to-one building. If someone said they would like to get to a VP of engineering role at a scaleup later, he’d try to help them grow into a people manager. Everyone eventually leaves even the fastest-growing scaleups, or the most coveted Big Tech. 

A smaller group departs into retirement, more commonly at companies like Microsoft and Amazon, where some engineers spend decades. But most people leave for other companies.

I hope the half dozen accounts from tech professionals who left Big Tech provide a sense of why people decide the most prestigious workplaces in tech are not for them.

Working at Big Tech can make leaving it much easier. This is counterintuitive because Big Tech pays so well, and the biggest reason against leaving is the compensation cut – at least in the short-term. However, the high pay allows people to save up a nest egg much faster, which provides the financial freedom to do something more risky like joining a startup and betting that the equity package will grow in value, or just taking a pay cut to join a company with more interesting work, or which they are passionate about.

Some people never stop growing professionally. A common theme in these accounts is feeling stagnant; most people felt they weren’t growing or being challenged. Some left because of frustration about doing more administrative busywork and less building.

Working at Big Tech is often a final goal, but a job in this elite group of workplaces can also be a stepping stone for pursuing new ambitions. I hope these accounts shed some light on the decision-making process and serve as a reminder that engineering careers are also about the journey, not just the destination.

Monday, 14. October 2024

Doc Searls Weblog

What goes in these structured wiring cabinets?

I need to install gear in these two structured wiring cabinets in the garage of the new house we are finishing. I don’t know exactly what to put in them and seek advice. The installed cables are: Blue CAT-6a Ethernet cables go to outlets (RJ-45 jacks) in four rooms. Internet will come from the city’s […]
Two in-wall structured wiring cabinets in our new garage.

I need to install gear in these two structured wiring cabinets in the garage of the new house we are finishing. I don’t know exactly what to put in them and seek advice.

The installed cables are:

Blue CAT-6a Ethernet cables go to outlets (RJ-45 jacks) in four rooms. Internet will come from the city’s new fiber optic system. Coaxial cables go to four possible TV locations. They will carry signals from the over-the-air TV antenna that will go on a pole outside. We will not have cable TV or Internet service.

Soon to be installed are:

A coaxial cable from the TV antenna. A fiber cable from the street.

Both will come underground and up into the garage through a conduit between the back of the house and the hole (not visible) in the left side of the left cabinet.

So here is what I think I need:

A patch panel for the coaxial cables, so I can either distribute the TV signal or patch it through to one TV at a time. An ONT (optical network terminal) to serve as the router between the fiber from outside and the four ethernet connections inside.

Here is what I don’t know:

What the fiber provider (GigabitNow Bloomington) will provide. I know they will need to terminate fiber from the street with an ONT that will go in one of the cabinets, but I don’t know whether they will provide, or I will need to get, a way to distribute service to the four Ethernet lines. I see ONTs sold online that have four Ethernet ports, but I don’t know if the provider will welcome my getting one or not. Whether I will need an in-line TV signal amplifier. My antenna, which I’ve already built and tested, has an amplifier already. The question is whether I will need more amplification, especially if I am distributing to more than one room, and not just patching through one room at a time. Exactly what the best practices are for attaching devices to the inside of these cabinets.

So that’s it for now. Thanks for any input you’ve got.

 


IdM Laboratory

ISO/IEC 18013-7が発行されました

こんにちは、富士榮です。 マイナンバーカードとか免許証など、mDL/mdocの話題がつきませんが、そういえばISO/IEC 18013-7、Mobile driving license (mDL) addon functionsがリリースされました。 https://www.iso.org/standard/82772.html 全然どうでもいいんですが、イギリス英語なんですね。。。「licence」 なんとなくlicenseって思ってましたがタイトルはlicenceでした。

こんにちは、富士榮です。


マイナンバーカードとか免許証など、mDL/mdocの話題がつきませんが、そういえばISO/IEC 18013-7、Mobile driving license (mDL) addon functionsがリリースされました。


https://www.iso.org/standard/82772.html


全然どうでもいいんですが、イギリス英語なんですね。。。「licence」

なんとなくlicenseって思ってましたがタイトルはlicenceでした。




@_Nat Zone

デジタルアイデンティティ:世界の最新動向 – 2024年10月15日

今週のレポートでは、世界中のデジタルアイデンティティに関する最新の動向を探ります。アメリカの新しいサイバーセキュリティツールから発展途上国のデジタルID計画まで、世界各国がさまざまな分野でデジタル変革を進めています。 アメリカ:SpyCloudの新しいサイバー犯罪調査ツール サイ…

今週のレポートでは、世界中のデジタルアイデンティティに関する最新の動向を探ります。アメリカの新しいサイバーセキュリティツールから発展途上国のデジタルID計画まで、世界各国がさまざまな分野でデジタル変革を進めています。

アメリカ:SpyCloudの新しいサイバー犯罪調査ツール

サイバーセキュリティソリューションのリーダーであるSpyCloudが、SpyCloud Investigationsポータル内に画期的な新機能を発表しました。IDLink高度分析と呼ばれるこの新機能は、サイバー犯罪調査にアイデンティティ分析を直接組み込むことを目的としています。

IDLinkの主な利点:

内部脅威分析の加速 サプライチェーンリスク評価の強化 脅威アクターの特定の改善

このツールは以下のチームにとってゲームチェンジャーになると期待されています:

サイバー脅威インテリジェンス(CTI)チーム セキュリティオペレーション 不正およびリスク防止アナリスト 法執行機関

IDLinkは、漏洩したアイデンティティデータと潜在的なリスクとの関連性を迅速に洞察することで、サイバー犯罪調査の効率性と有効性を大幅に向上させることを目指しています。

アメリカ:NISTによるYotiの顔年齢推定の認識

米国国立標準技術研究所(NIST)が、Yotiの顔年齢推定(FAE, facial age estimation)モデルの精度がすぐれたものであることを確認しました。このモデルは2つの重要なカテゴリーで注目すべきランキングを達成しました:

「子供のオンライン安全」カテゴリーにおける13〜16歳の精度で1位 18〜30歳の「マグショット」画像の精度で2位

Yotiは、携帯電話で撮影された自撮り写真に特化してFAEモデルを最適化したと報告しています。この最適化により、Yotiの内部テストデータを使用して測定した場合、大幅に高い精度が得られました。

NISTからの recognition は、特に若年ユーザーのオンライン安全対策を強化する上で、顔年齢推定技術の可能性を強調しています。

フィジー:国家デジタルID計画の進行

フィジーが野心的な国家デジタルIDプログラムの開発に着手しました。主要な詳細は以下の通りです:

予想タイムライン:完了まで少なくとも26ヶ月 リーダーシップ:以下のメンバーで構成される運営委員会 マノア・カミカミカ副首相 ビマン・プラサド教授(副首相) アリフ・アリ準備銀行総裁 その他の省庁の代表者

フィジー内閣は6月にこのプロジェクトを承認し、包括的な国家デジタルIDシステムの確立に向けて重要な一歩を踏み出しました。このシステムは政府と民間セクターの両方のニーズに対応することを目的としており、フィジー国民がさまざまなサービスや機関とやり取りする方法を変革する可能性があります。

コモロ:デジタル公共インフラプロジェクト

コモロ連合が、アフリカ開発銀行(AfDB)からの実質的な資金援助を受けて、デジタル公共インフラ(DPI)プロジェクトを開始する準備を整えています。資金調達とプロジェクトの詳細は以下の通りです:

総資金:951万ユーロ(約1040万米ドル) アフリカ開発基金から402万ユーロ 銀行の移行支援施設から549万ユーロ

プロジェクト名:「コモロ経済のデジタル化支援プロジェクト」

主な目的:

ガバナンスの改善 公共サービスの質、手頃さ、アクセシビリティの向上 デジタル政府システムの確立

具体的な成果物:

新しいデータセンターの建設と運用 既存の二次データセンターのアップグレード デジタルイノベーションのためのインキュベーターの創設

プロジェクトの総コストは2253万ユーロ(2500万米ドル)と推定されており、追加の資金源や将来の投資計画があることを示唆しています。

グローバル:AI駆動の身元詐欺の増加

Signicatによる2024年の報告書「AI駆動の身元詐欺との戦い」が、AI駆動の詐欺の増加に関する警告的な統計を明らかにしました:

金融・決済セクターで検出された詐欺の試みの42.5%がAIを利用 これらのAI駆動の試みの推定29%が成功

これらの数字は、詐欺師の手口の高度化と、金融業界における高度な不正検出・防止対策の緊急の必要性を浮き彫りにしています。

欧州連合:デジタル旅行資格イニシアチブ

欧州委員会が、シェンゲン圏の旅行文書のデジタル化に向けて重要な一歩を踏み出しました。パスポートとIDカードをデジタル化するための2つの提案が採択され、これらは総称して「EU Digital Travel application」と呼ばれています。このイニシアチブはEU市民と非EU市民の両方に適用されます。

提案の主な特徴:

デジタル旅行資格の使用に関する共通フレームワーク 旅行者がデジタル旅行資格を作成・保存するための新しい「EU Digital Travel application」

利点:

シェンゲン圏への、および圏内の旅行がより簡単で安全に 国境通過プロセスの現在の国境での物理的チェックからの合理化

実装:

アプリケーションは欧州委員会がeu-LISAの支援を受けて開発、EUレベルで提供されます 生体認証パスポートまたはEU IDカードを持つすべての旅行者が利用可能になります

このイニシアチブは、欧州における旅行文書のデジタルファースト化への大きな転換を示しており、他の地域にも先例を示す可能性があります。

キプロス:デジタルIDカードの展開

キプロスは、10万枚のデジタルIDカードの購入を承認し、デジタル化への取り組みを進めています。ニコデモス・ダミアヌ研究副大臣が以下の詳細を発表しました:

最初の3万枚は無料で配布 残りの7万枚は1枚15ユーロで発行 デジタルIDカードは欧州委員会の承認を受けている 市民はさまざまなデジタル政府サービスにアクセス可能になる

この動きは、キプロスがアイデンティティインフラを近代化し、より広範な欧州のデジタルアイデンティティイニシアチブに足並みを揃える決意を示しています。

フランス:デジタル医療カードの統合

フランスは、「carte Vitale」として知られる医療カードをデジタル化し、France Identitéアプリに統合する予定です。この開発の主なポイントは以下の通りです:

計画されている開始時期:2025年第1四半期 現在の機能:ユーザは、物理的なcarte Vitaleを提示することによって、ユーザーがフランスの医療システムにアクセスし、医療費の償還を受けることを可能にしています。 将来の機能:ユーザーはアプリを通じて医療カードをデジタルで提示可能になります。

France Identitéアプリには、すでに電子的な国民IDカードや運転免許証などの重要な文書が含まれています。この医療カードの追加により、フランス国民の個人識別情報とデータ管理がさらに一元化されます。Sopra Steria, Atos, iDAKTO and Idemia がフランスのデジタルアイデンティティスキームの技術を提供しています。

モルドバ:EUデジタルアイデンティティ標準への適合

モルドバは、デジタルID規制を欧州連合の標準に合わせる作業を進めており、特にEUデジタルアイデンティティ(EUDI)ウォレットとの互換性に焦点を当てています。この目標を達成するために:

モルドバはエストニアのソフトウェア会社Cyberneticaと提携 プロジェクトは10月に終了予定

この適合は、モルドバが欧州のデジタルアイデンティティエコシステムとの統合に取り組んでいることを示しており、国境を越えたデジタル相互作用をよりスムーズにする可能性があります。

カザフスタン:国家生体認証システム

カザフスタンは、遠隔生体認証のための包括的な国家システムの確立を進めています。このシステムは、国内のすべての産業分野の生体認証データを統一したデータベースとして機能することを目指しています。

関与する主要組織:

National Information Technologies JSC(Nitec)、カザフスタンの電子政府インフラ運営者 BTS Digital、カザフスタンのデジタルIDスタートアップ

このイニシアチブは、カザフスタンがアイデンティティインフラを近代化し、安全な認証を必要とするさまざまなサービスを合理化する野心を反映しています。

おわりに

これらの発展から分かるように、世界中の国々がデジタルアイデンティティと関連技術において大きな進歩を遂げています。サイバーセキュリティ対策の強化から旅行文書や医療システムのデジタル化まで、これらのイニシアチブは、個人が政府サービスを利用し、旅行し、ますますデジタル化する世界で個人情報を管理する方法を再形成しています。

(出所)https://www.thinkdigitalpartners.com/news/2024/10/14/digital-identity-global-roundup-187/

Sunday, 13. October 2024

IdM Laboratory

そういえばGNAPがRFCになりました

こんにちは、富士榮です。 そういえばOAuth 3.0とかXYZとか言っていたGNAP(Grant Negotiation and Authorization Protocol)がRFC9635になりましたね。 https://www.rfc-editor.org/rfc/rfc9635.html それに伴いGNAP WGはクローズされた模様です。 https://mailarchive.ietf.org/arch/msg/txauth/smCNPKB2vMPkMX9LCXONGZ-c5Oo/ うーん、まだ息してたんですね・・・(Justinに怒られそう) ということで著者のJustinもブログ書いてますね。 https://justinsecurity.medium.com/gnap-a-conversation-of-authorizati
こんにちは、富士榮です。
そういえばOAuth 3.0とかXYZとか言っていたGNAP(Grant Negotiation and Authorization Protocol)がRFC9635になりましたね。
https://www.rfc-editor.org/rfc/rfc9635.html
それに伴いGNAP WGはクローズされた模様です。 https://mailarchive.ietf.org/arch/msg/txauth/smCNPKB2vMPkMX9LCXONGZ-c5Oo/

うーん、まだ息してたんですね・・・(Justinに怒られそう)
ということで著者のJustinもブログ書いてますね。 https://justinsecurity.medium.com/gnap-a-conversation-of-authorization-5b603d850fe9

まぁしかしOAuth2.0の周辺仕様が多くなりすぎたのでシンプルにしましょう、というのは良かったのですが、フレームワークとプロファイルという意味でマイクロ化された仕様が組み合わさるOAuth2.0は複雑化する一方で柔軟性を提供して来たわけで、歴史の長さも含め広く浸透して来ているわけです。 そこをシンプルではあるものの新しい仕組みで置き換えるのは、正しいかもしれませんが実際の普及という観点では非常に難しい話になりそうです。
今後、実際に使われていくかどうか、見守っていきましょう。

Doc Searls Weblog

The iPhone 16 Pro Max, so far

Holding the mic in this shot, taken with my new iPhone 16 Pro Max, is Mitch Teplitsky, a documentary filmmaker based in Bloomington, Indiana. Mitch has been reading this blog for the duration, and reached out when I showed up in town. The scene is the Pitchdox award event yesterday, which was by Hoodox at […]
A 5x telephoto shot with my new iPhone 16 Pro Max.

Holding the mic in this shot, taken with my new iPhone 16 Pro Max, is Mitch Teplitsky, a documentary filmmaker based in Bloomington, Indiana. Mitch has been reading this blog for the duration, and reached out when I showed up in town. The scene is the Pitchdox award event yesterday, which was by Hoodox at the Kan-Kan Cinema and Restaurant in Indianapolis. It’s one of the most delightful places I’ve ever been to: a great theater, bar, and restaurant, all in one. Here’s what my wife and I shared at the bar, between watching “We Strangers” and the event (thumbs up for both):

Frites, salad and two sliders at the Kan-Kan bar.

That was also shot with the Pro Max. (In fact, after the Hoodox event yesterday, Mitch asked if I had the new phone with me, because he had read my post about it that morning.)

So here is my review after one day with the Max and two weeks with its smaller brother, the Pro.

Getting the phone, setting it up, and transferring all the data (~135 GB) was simple, fast, and easy at the Indianapolis Apple Store. Nice.

I love the big screen, which is easy for me to read and poke (which, with my imperfect eyes and warped fingers, is a big plus).

The camera performance is great for a phone, but let’s be clear: it isn’t what I get from my Sony a7iv mirrorless 35mm SLR and any of its excellent lenses. But that kit is heavy, requires a bag, and screams “that guy is taking a picture!” when I use it. Everybody has phones and shoots pictures with them, so with the Pro Max I’m just another shooter in a crowd.

What the Pro Max does extremely well is provide useful pictures, like the two above, under many conditions. It’s also nice to have that big screen for showing pix to other people.

My only ding on the Max is a small one: In a side-by-side comparison with the Pro, the Max’s screen is dimmer at high angles off straight-on. Not by a lot, but by some. I think the brightness is also slightly less uniform—at least with this Max. This is not something anyone would notice without comparing the two phones side-by-side and looking at both from a low angle. But I do think the difference is there.

To sum up, I think the Pro Max is ideal for anyone who wants the largest iPhone screen and doesn’t mind the added weight (which does come with a bigger and more capacious battery). If you don’t need the extra stuff the pro cameras do, I suggest going for the plain iPhone. I loved the Pro when I had it, and all you give up with that one is the telephoto lens. One pro tip: get twice the storage you think you’ll need, because you’ll provably end up needing it.

But,,,,, if you can, wait another year for the iPhone 17, which will reportedly launch a new generation. I couldn’t wait (my iPhone 11 was out of storage), but maybe you could.


Michael Ruminer

AI “its got legs”

Compliments of FLUX schnell This last week I spoke with two folks on AI intersection within their work and how their work intersects with one another. One was a CPO for a startup that is bringing AI into their life sciences products in a forefront way. The other was a compliance manager for a pharma company. The second happens to be my wife. For me, their work intersects. They both certainly g
Compliments of FLUX schnell

This last week I spoke with two folks on AI intersection within their work and how their work intersects with one another. One was a CPO for a startup that is bringing AI into their life sciences products in a forefront way. The other was a compliance manager for a pharma company. The second happens to be my wife. For me, their work intersects. They both certainly got me thinking harder about AI agents. The first of the two was breaking down knowledge silos in organizations and I definitely saw a play for AI agents and the use of tools by those agents in their approach. The second needed some exuberant discussion on the potential of how AI can contribute to their organizational goals and needs; and without mansplaining, I was glad to help. :-) The conversations only reinforced in me where we are headed in AI adoption.

There were discussions on trend analysis, small language models, retrieval-augmented generation (RAG), and how AI agents and tools work to bring different knowledge repositories into a single interface with human consumable outputs, just to name a few topics. Surprisingly or not, a lot of these topics were not with the CPO but with the wife; putting the theory into practical examples. It was motivational to me.

I have been looking for good, practical, and real-world examples of AI agenic tools to work on as knowledge-expanding exercises; whether they work or, in the end, surface the immaturity of the technology. I don’t get especially motivated by the common and tired examples of financial analysis, LinkedIn scraping for recruiting, or travel booking scenarios that every agent example seems to rely on. These discussions were a step forward.

These topics reinforced with me that for AI and its agents — “its got legs”.

Saturday, 12. October 2024

Heres Tom with the Weather

Thursday, 10. October 2024

Jon Udell

Mix Human Expertise With LLM Assistance for Easier Coding

There are plenty of ways to use LLMs ineffectively. For best results, lean into your own intelligence, experience, and creativity. Delegate the boring and routine stuff to closely supervised assistants whose work you can easily check. Mix Human Expertise With LLM Assistance for Easier Coding Part of the LLM series at The New Stack.

There are plenty of ways to use LLMs ineffectively. For best results, lean into your own intelligence, experience, and creativity. Delegate the boring and routine stuff to closely supervised assistants whose work you can easily check.

Mix Human Expertise With LLM Assistance for Easier Coding

Part of the LLM series at The New Stack.


Doc Searls Weblog

iPhone 16 Pro or Pro Max?

I got an iPhone 16 Pro twelve days ago. I have two more days to swap it for an iPhone 16 Pro Max, which will cost me $100 above the mint I already paid for the Pro with 1 TB of storage. Why so much storage? I want to maximize storage because this thing is […]
iPhone 16 Pro and Pro Max. This is from Apple’s page for both. I think it’s exaggerating the difference a bit. Not sure, though.

I got an iPhone 16 Pro twelve days ago. I have two more days to swap it for an iPhone 16 Pro Max, which will cost me $100 above the mint I already paid for the Pro with 1 TB of storage.

Why so much storage? I want to maximize storage because this thing is my main camera now, I shoot a lot, and I want a lot of archival photos on it as well. The iPhone 11 that this one replaced had 128 GB of storage and maxed out a long time ago. Frankly, I’d love it if Apple offered a phone with 2 TB of storage or more. I have 8 TB on this laptop, and my photos on it are already maxing it out.

The case for the Pro is that my hands are on the small side and gnarled with arthritis, and it fits nicely in my shirt and pants pockets. The case for the Pro Max is a bigger screen, which makes for easier work, for showing photos to others, for watching movies on planes, and other stuff like that. My eyes are also not getting better, and a bigger screen can help with that too. The battery on the Max is also bigger and lasts longer.

Earlier versions of the Pro Max also had functional advantages over the Pro models. For example, the oldest iPhone to run Apple Intelligence is the 15 Pro Max, not the 15 Pro. But functional advantages are gone with this generation. Other than the bigger size and slightly longer battery life, there is nothing the Pro Max can do that the Pro can’t.

Back to sizes.

The Pro Max weighs a little under 8 ounces, and the Pro a little over 7 ounces. That’s not much different to me. I’ve felt both and find them equally agreeable.

The Pro Max is 6.42 inches (163 mm) tall and 3.06 inches (77.6 mm) wide, while the Pro is 5.89 inches (149.6 mm) tall and 2.81 inches (71.5 mm) wide. So the difference is about a half inch in height and a quarter inch in width. Meaning that the Pro Max is a longer phone more than a wider one. That means the Max won’t really be hard for my hands to hold.

Here is something else to consider. I tend to keep a phone for several years:

3G in 2008 5 in 2012 7 in 2016 11 in 2019 (after I dropped the 7 into a pool while trying to rescue an insect) 16 Pro in 2024

That averages about four years per phone. So I might want to get the best phone I can at the start of each stretch. But would the best phone also be the biggest phone?

So, should I go to the trouble of making the 150-mile round trip to my nearest Apple Store (on the far side of Indianapolis from Bloomington) and laying down $100 for the Pro Max?

Not sure. I welcome advice.

 

 


The Pragmatic Engineer

The Pulse #110: VC-funded companies acting more like bootstrapped ones?

Also: first-ever double Nobel Prize wins for AI research, and an interesting cloud platform price comparison startup built on a budget

The Pulse is a series covering insights, patterns, and trends within Big Tech and startups. Notice an interesting event or trend? Send me a message.

Today, we cover:

Industry pulse. Google to be broken up? NVIDIA may compete with cloud providers, Twilio commits to full-remote work, third-party app stores coming to Android, and more.

VC-funded companies being more bootstrapped? More seed-stage VC-funded companies aim to become profitable fast in order to avoid future fund raising rounds. It’s like how bootstrapped companies operate, and reduced levels of available funding will keep this approach popular.

First-ever double Nobel Prize wins for AI research. Both the physics and chemistry Nobel prizes have been awarded for AI-related work. And three of the five prize winners have Google connections.

Interesting startup idea: benchmarking cloud platform pricing. A team of 3 developers built a neat platform called Spare Cores that makes cloud instance pricing more transparent. They currently track 275,000 up-to-date server prices across 4 cloud providers – and built all of this on top of a €150K ($165K) EU innovation grant in ten months.

1. Industry pulse Google to be broken up?

In August, the US Department of Justice (DOJ) ruled that Google broke antitrust law by paying other vendors to be the default search engine. Now, the process moves on to decide the penalty. The Department of Justice (DOJ) is suggesting the break-up of the search giant, in order to end the company’s monopoly in search. 

The DOJ is seeking “behavioral and structural remedies that would prevent Google from using products such as Chrome, Play, and Android to advantage Google search and Google search-related products and features.”

It is down to the judge to decide the penalty, and whether to take the drastic decision to break up the tech giant, in the way the US government broke up oil companies in the early 20th century. The last time it happened to a Big Tech company was in 2000, to Microsoft. Back then, the business appealed and got the decision overturned in 2001.

It reads like the DOJ will push for Search to be a separate company, and products like Chrome, Play and Android to operate in a unit independently. It is a fair question if products like Chrome would be viable without being subsidized by the profitable ads business. Microsoft and Apple both subsidize their browser development from other parts of their businesses. 

If Chrome, Android, and Play became a separate entity, this entity could feature search engines like Google, Bing, DuckDuckGo and other search businesses, could pay to be the default search engine for a limited time, or for a region.

Google will no doubt fight hard and do whatever it can to avoid being broken up.

NVIDIA to compete with AWS, GCP, and Azure on GPUs?

Read more


Werdmüller on Medium

It turns out I’m still excited about the web

The tech industry has gone down a dark path, but there are glimmers of hope. Continue reading on Medium »

The tech industry has gone down a dark path, but there are glimmers of hope.

Continue reading on Medium »


@_Nat Zone

情報セキュリティワークショップ in 越後湯沢 2024での講演のスライドです

本日(10月10日)、情報セキュリティワークショップ in 越後湯沢で「ID管理の死角:なぜ脅威は減らないのか?」と題して講演を行わさせていただきました。 その最終販のスライドです。 よろしくご査収ください

本日(10月10日)、情報セキュリティワークショップ in 越後湯沢で「ID管理の死角:なぜ脅威は減らないのか?」と題して講演を行わさせていただきました。

その最終販のスライドです。

よろしくご査収ください

2024-10-10_ID管理の死角

Wednesday, 09. October 2024

Justin Richer

GNAP: A Conversation of Authorization

After five years of standardization work, GNAP is now officially RFC9635! This long and intense process actually started a few years prior to that, when I was talking with a lot of folks in the security industry about some of the shortcomings of OAuth 2.0, and what we could do about them as an industry. These conversations led to the XYZ proposal (and implementations) which eventually led to the f

After five years of standardization work, GNAP is now officially RFC9635! This long and intense process actually started a few years prior to that, when I was talking with a lot of folks in the security industry about some of the shortcomings of OAuth 2.0, and what we could do about them as an industry. These conversations led to the XYZ proposal (and implementations) which eventually led to the formation of the GNAP working group along with a bunch of others. In particular, the work that Fabien Imbault, Yaron Sheffer, Leif Johannsen, and Aaron Parecki put into the documents and conversations in the working group over these years.

I’m really proud of what we’ve built in GNAP. One of the core tenets of GNAP was to look at the world of OAuth and surrounding technologies and figure out how we could do a lot of that better. It’s been great to see GNAP getting applied in a bunch of places over the web, from payments to key management, and especially in places where OAuth doesn’t reach as well. While OAuth remains deeply entrenched over the world, and likely will be for some time, the community has learned many things from GNAP. Alot of things that started in GNAP have been making their way back to the OAuth ecosystem in some form.

The most obvious of this is RFC9396: OAuth Rich Authorization Requests. This replacement of OAuth’s scope parameter was a direct and intentional backport of what became GNAP’s resource access rights, which also acronyms to RAR. In the OAuth world, we don’t get some of the clean features of GNAP, like being able to substitute strings for objects as a shorthand, but a lot of the core enhancements are there.

We’re also seeing yet another intent registration addition to OAuth 2 (on top of the pushed authorization request, device grant type, and CIBA extensions), and this one mimics a lot of the flexibility of GNAP’s interaction system. It’s a more narrow use case in the OAuth specification, but it’s clear that the pattern that GNAP was built on is here to stay.

And then there’s RFC9421: HTTP Message Signatures. This is work that started independently from GNAP but grew up around the same time, and GNAP utilizes HTTP Message Signatures as a core security function. I don’t think we’d have gotten the signing spec to be as robust as it is without some of the GNAP key proofing use cases driving the discussion.

And finally, the GNAP Resource Servers document has just passed IESG review and is on its own way to becoming an RFC as well. This document represents key abstractions in how and RS and AS relate to each other, and I hope we can continue to build this out and pull the best ideas out into the world.

The GNAP working group is shutting down now that its core work is done, but GNAP is far from over. I look forward to seeing it grow into its spaces, and serve as a beacon of how a delegation protocol can be engineered and built.


Heres Tom with the Weather

We fix the fucking networks

“A lot of us remember what it was like to live and work on an Internet that was deeply flawed but not systematically designed to burn our emotions and time and safety for fuel.”

“A lot of us remember what it was like to live and work on an Internet that was deeply flawed but not systematically designed to burn our emotions and time and safety for fuel.”


Just a Theory

PGXN v2 Update

A lot has happened in he five months since the last PGXN v2 update. The time has been used for continuing community discussions, planning, designs, and the start of implementation. Read on for a full accounting.

Speaking of PGXN news, I neglected to link to this post I wrote for the Tembo Blog last month, a fairly detailed accounting of what’s been happening on the PGXN v2 project:

Forgive me Postgres community, for it has been five months since my last PGXN v2 Update. In my defense, it has been super busy! The time went into ongoing community discussions, planning, designs, and the start of implementation. Join me below for the lowdown.

A few highlights:

PGXN RFCs Repository and rfcs.pgxn.org Binary Distributution POC and OCI POC Extension Ecosystem Summit API and ABI guidance pgxn_meta v0.1.0 PGXN Meta JSON Schemas project plan

There’s been quite a bit of activity since then, including the aforementioned PGXN RFC–5 — Release Certification. More soon!

More about… PGXN

PGXN Certifications RFC

A request for comments on a new PGXN RFC for signing releases, plus a link to an initial implementation.

A couple weeks ago, I drafted PGXN RFC–5 — Release Certification, which proposes to replace the simple inclusion of a SHA-1 hash digests in PGXN release META.json files with a JWS-signed release payload. From the introduction:

This RFC therefore proposes to extend v2 distribution metadata with a single additional property, certs, that contains one or more certifications that attest to the authenticity or other characteristics of a release on PGXN.

The certs value is an object that contains at least one property, pgxn, which itself contains a PGXN-generated RFC 7515 JSON Web Signature in the JWS JSON Serialization format. The pgxn property will allow clients not only to assemble the release URL and verify the downloaded file against checksums, but also validate it against a public key provided by PGXN.

The design allows multiple signatures, certifications, or other attestations, which in the future MAY allow authors or other entities to sign releases with their own keys. The new format appends a structure such as this to the distribution META.json file:

{ "certs": { "pgxn": { "payload": "eyJ1c2VyIjoidGhlb3J5IiwiZGF0ZSI6IjIwMjQtMDktMTNUMTc6MzI6NTVaIiwidXJpIjoiZGlzdC9wYWlyLzAuMS43L3BhaXItMC4xLjcuemlwIiwiZGlnZXN0cyI6eyJzaGE1MTIiOiJiMzUzYjVhODJiM2I1NGU5NWY0YTI4NTllN2EyYmQwNjQ4YWJjYjM1YTdjMzYxMmIxMjZjMmM3NTQzOGZjMmY4ZThlZTFmMTllNjFmMzBmYTU0ZDdiYjY0YmNmMjE3ZWQxMjY0NzIyYjQ5N2JjYjYxM2Y4MmQ3ODc1MTUxNWI2NyJ9fQ", "signature": "cC4hiUPoj9Eetdgtv3hF80EGrhuB__dzERat0XF9g2VtQgr9PJbu3XOiZj5RZmh7AAuHIm4Bh-rLIARNPvkSjtQBMHlb1L07Qe7K0GarZRmB_eSN9383LcOLn6_dO--xi12jzDwusC-eOkHWEsqtFZESc6BfI7noOPqvhJ1phCnvWh6IeYI2w9QOYEUipUTI8np6LbgGY9Fs98rqVt5AXLIhWkWywlVmtVrBp0igcN_IoypGlUPQGe77Rw" } } }

Review and feedback would be very much appreciated, especially on the list of unresolved questions toward the end.

Thanks to David Christensen and Steven Miller for the early reviews!

Meanwhile, I’ve released pgxn_meta v0.4.0, which adds support for this format, as well as code to rewrite PGXN v1 release fields to the new format. It doesn’t actually do signature verification, yet, as the server back end hasn’t been updated with the pattern and PKI. But I expect to modify it in response to feedback and get it implemented in early 2025.

More about… Postgres PGXN RFC JWS

The Pragmatic Engineer

Efficient scaleups in 2024 vs 2021: Sourcegraph (with CEO & Co-founder Quinn Slack)

On today’s episode of The Pragmatic Engineer, I’m joined by Quinn Slack, CEO and co-founder of Sourcegraph, a leading code search and intelligence platform.

The Pragmatic Engineer Podcast had a very warm reception with the first episode — thank you! Two weeks later, here is episode #2, with a CEO who still codes every day: Quinn Slack at Sourcegraph.

Listen now on Apple, Spotify, and YouTube.

Brought to you by:

Paragon: ​​Build native, customer-facing SaaS integrations 7x faster.

Enterprise Ready Conferfence on 30 October: a one-day event in SF for product and engineering leaders shaping the future of enterprise SaaS.

On today’s episode of The Pragmatic Engineer, I’m joined by Quinn Slack, CEO and co-founder of Sourcegraph, a leading code search and intelligence platform. Quinn holds a degree in Computer Science from Stanford and is deeply passionate about coding: to the point that he still codes every day! He also serves on the board of Hack Club, a national nonprofit dedicated to bringing coding clubs to high schools nationwide. In this insightful conversation, we discuss:            

How Sourcegraph's operations have evolved since 2021

Why more software engineers should focus on delivering business value

Why Quinn continues to code every day, even as a CEO

Practical AI and LLM use cases and a phased approach to their adoption

The story behind Job Fairs at Sourcegraph and why it’s no longer in use

Quinn’s leadership style and his focus on customers and product excellence

The shift from location-independent pay to zone-based pay at Sourcegraph

And much more!

Takeaways

Some of my main takeaways from this conversation are these.

1. As software engineers, it’s increasingly important to understand what value you add to the business. A big difference between 2021 and 2024 is how companies are much more focused on efficiency: meaning they are hiring more conservatively, and less likely to fund teams with headcount that don’t contribute to the core focus of the company.

As a developer or manager, try to figure out how much your team contributes in revenue, or savings, or other key goals to the company. Are you working in what the company would consider as a profit center, or what is more as a cost center? We did a deepdive on this topic in The Pragmatic Engineer: check out the article, linked in the show notes.

2. AI tools are great to eliminate the toil that we, developers face, day-to-day. There are AI tools that position themselves as their goal being “replacing developers.” I found it sympathetic that Quinn did not think this is the sensible path. His approach is to start by using AI tools with some of the “dumbest things” like generating the changelog for a software release – I mean, assuming you generate a changelog. And then you take tedious tasks where these tools could help, and see if you can automate some more.

Do this one step at a time: and it will actually help devs and teams, and it’s a lot more achievable than saying “let’s replace this whole complicated workflow with AI.”

3. The reality of location independent pay is that it stops being sensible above a certain company size. Sourcegraph was one of the few companies that offered the same base salary regardless of where people worked at. They did this until they grew to about 200 people, and switched this model to a location-indexed model.

Quinn was honest about why they did it: because keeping this would have not made sense for the company, from the business point of view. Basically, location-independent pay means the company can hire very easily in low-cost regions, but it’s hard or impossible to do this in high-cost regions. It also creates the incentive for employees to move to a low cost region where they can save more. In the end, I don’t know of any company with more than 200 people that pays location-independent: all large companies have some kind of indexing on location, and the best companies just pay the top of the local market. We cover more about compensation in the deepdive on The trimodal nature of software engineering salaries.

If you enjoy the podcast, I’d very much appreciate if you subscribe on your favorite podcast player, and leave a review. It helps the podcast be discovered by more people. Thank you!

Show notes

Where to find Quinn Slack:

• X: https://x.com/sqs

• LinkedIn: https://www.linkedin.com/in/quinnslack/

• Website: https://slack.org/

In this episode, we cover:

(01:35) How Sourcegraph started and how it has evolved over the past 11 years

(04:14) How scale-ups have changed 

(08:27) Learnings from 2021 and how Sourcegraph’s operations have streamlined

(15:22) Why Quinn is for gradual increases in automation and other thoughts on AI

(18:10) The importance of changelogs

(19:14) Keeping AI accountable and possible future use cases 

(22:29) Current limitations of AI

(25:08) Why early adopters of AI coding tools have an advantage 

(27:38) Why AI is not yet capable of understanding existing codebases 

(31:53) Changes at Sourcegraph since the deep dive on The Pragmatic Engineer blog

(40:14) The importance of transparency and understanding the different forms of compensation

(40:22) Why Sourcegraph shifted to zone-based pay

(47:15) The journey from engineer to CEO

(53:28) A comparison of a typical week 11 years ago vs. now

(59:20) Rapid fire round

The Pragmatic Engineer deepdives relevant for this episode:

• Inside Sourcegraph’s engineering culture: Part 1 https://newsletter.pragmaticengineer.com/p/inside-sourcegraphs-engineering-culture
• Inside Sourcegraph’s engineering culture: Part 2 https://newsletter.pragmaticengineer.com/p/inside-sourcegraphs-engineering-culture-part-2

Referenced:

• Sourcegraph: https://sourcegraph.com/

• SharePoint: https://www.microsoft.com/en-us/microsoft-365/sharepoint/collaboration

• Google Code Search: https://developers.google.com/code-search

• Steve Yegge on LinkedIn: https://www.linkedin.com/in/steveyegge

• Shopify: https://www.shopify.com/

• Tobi Lutke still writes code for Shopify: https://news.ycombinator.com/item?id=25003574

• Gitlab: https://about.gitlab.com/

• Scott Kirby on LinkedIn: https://www.linkedin.com/in/jscott-kirby/

• Beyang Liu on LinkedIn: https://www.linkedin.com/in/beyang-liu/

• Perl: https://www.perl.org/

• Booking.com: https://www.booking.com/

• Loom: https://www.loom.com/

• CleanShot: https://cleanshot.com/

• Kazam: https://launchpad.net/kazam

• Ollama: https://ollama.com/

• StarCoder: https://huggingface.co/blog/starcoder

• Llama: https://www.llama.com/

• The Years of Lyndon Johnson: The Path to Power; Means of Ascent; Master of the Senate; The Passage of Power: https://www.amazon.com/Robert-Caros-Years-Lyndon-Johnson/dp/038535147X

• The Life Of Mahatma Gandhi: https://www.amazon.com/Life-Mahatma-Gandhi-Louis-Fischer/dp/1784700401

• Nimitz at War: Command Leadership from Pearl Harbor to Tokyo Bay: https://www.amazon.com/Nimitz-War-Command-Leadership-Harbor/dp/0190062363/r

Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.


Just a Theory

⛰️ Postgres Ecosystem Summit EU

The sequel to the successful PGConf.dev event, the Extension Ecosystem Summit EU will showcases some exemplary extension use cases.

Given the success of the Extension Ecosystem Summit at PGConf.dev back in May, my colleague Floor Drees has organized a sequel, the Extension Ecosystem Summit EU on Tuesday, October 22, at the Divani Caravel Hotel in Athens. That’s “Day 0” at the same hotel as PGConf.eu. Tembo, Percona, Xata, and Timescale co-sponsor.

While the May event took the form of an open-space technology (OST)-style unconference aimed at extension developers, the EU event aims to inform an audience of Postgres users about the history and some exemplary use cases for extensions. From the invite:

Join us for a gathering to explore the current state and future of Postgres extension development, packaging, and distribution. Bring your skills and your devices and start contributing to tooling underpinning many large Postgres installations.

Jimmy Angelakos - pg_statviz: pg_statviz is a minimalist extension and utility pair for time series analysis and visualization of PostgreSQL internal statistics. Adam Hendel (Tembo) - pgmq: pgmq is a lightweight message queue. Like AWS SQS and RSMQ but on Postgres. Adam is pgmq’s maintainer since 2023, and will present a journey from pure Rust → pgrx → pl/pgsql. Alastair Turner (Percona) - pg_tde: pg_tde offers transparent encryption of table contents at rest, through a Table Access Method extension. Percona has developed pg_tde to deliver the benefits of encryption at rest without requiring intrusive changes to the Postgres core. Gülçin Yıldırım Jelínek (Xata) - pgzx: pgzx is a library for developing PostgreSQL extensions written in Zig. Mats Kindahl (Timescale) - TimescaleDB (C), [pgvectorscale] (Rust) and pgai (Python): maintaining extensions written in different languages.

I will also deliver the opening remarks, including a brief history of Postgres extensibility. Please join us if you’re in the area or planning to attend PGConf.eu. See you there!

More about… Postgres PGXN Extensions PGConf Athens Summit

Tuesday, 08. October 2024

The Pragmatic Engineer

What is Reliability Engineering?

A history of SRE practice and where it stands today, plus advice on working with reliability engineers, as a software engineer. A guest post by SRE expert and former Googler, Dave O’Connor

Hi, this is Gergely with a subscriber-only issue of the Pragmatic Engineer Newsletter. In every issue, I cover challenges at Big Tech and startups through the lens of engineering managers and senior engineers. To get articles like this in your inbox, every week, subscribe:

Subscribe now

For software engineers, the job involves more than just building software systems; these systems must also be reliable. This is easy enough for a website with a small number of visitors; but the larger the system gets, the trickier reliability is to achieve. There’s a huge amount of complexity involved in making an app or website with tens, or hundreds, of millions of daily users work reliably for (almost) all of them.

Google pioneered the concept of Site Reliability Engineering (SRE), and it has become a pretty mainstream discipline with many mid size-and-above tech companies having dedicated SRE or reliability teams. To find out more about SRE and reliability engineering in general, I reached out to SRE veteran, Dave O’Connor. He was at Google in 2004 – working with the team, from where the SRE discipline emerged just a year before, in 2003.

Today, Dave covers:

Common terms. Why it’s called ‘reliability engineering’ instead of SRE, DevOps teams, etc.

History. From conception in 2003 at Google, to industry convergence in the 2010s.

Reliability engineering today. This is a discipline in growth mode. But near-perfect reliability increases cost exponentially, and most companies should not copy Google’s approach to the SRE role.

Four promises. A well-run reliability team sets and delivers on four promises: SLA/SLO/SLI, service substrate management, tech design involvement, and tactical heroism.

Working with reliability engineers. If there are reliability engineers in your workplace, find out their approach to the four promises, involve them in tech design discussions, and seek their help with reliability challenges.

Future of reliability engineering. Tooling is evolving, and a trend of companies considering quitting the cloud and being more opinionated about reliability practice.

Further reading. Article and book recommendations.

For related reading, see also these The Pragmatic Engineer deepdives:

Shipping to production

Healthy oncall practices

What is Security Engineering?

What is Data Engineering?

What is ML Engineering?

With this, it’s over to Dave.

Hi, I’m Dave. I’ve been a site reliability engineer (SRE) for 20 years, before many folks outside the Google ecosystem called it that. I joined the company in 2004, on a team tasked with (re)installing and (re)configuring machines in the fleet. 

We quickly realized that due to sheer numbers, it was not a job that could be done by humans at the then-current scale, let alone at the scale expected. At the time, the common capability to run and manage more than a few hundred machines simply didn’t exist. Then began the chartering of what became known as ‘site reliability engineering’ at Google. The rest, as they say, is history.

Several years later, that history started to be told in Site Reliability Engineering (I contributed chapter 29), and various publications thereafter. 

Since leaving Google in 2021 after 17 years as an SRE, I’ve led SRE and production groups at Elastic and Twilio, and I’m currently freelancing as a leadership practitioner for busy teams (SREs included), and as a coach for engineering leaders, focusing on reliability engineers. Check out my consulting services, and coaching practice.

1. Common terms

I use the term ‘reliability engineering’ in this article. This is because as a set of practices, it stands on its own and can be implemented via specialized ‘SREs’, the ‘DevOps’ model, or individually as software is built. Many publications go to great lengths to make this distinction, and the question of whether reliability should be done by specialized SREs, or everyone, is a resounding ‘it depends’. See my article 6 Reasons You Don’t Need an SRE Team for why I believe many companies don’t need a dedicated function.

As with any engineering specialization, anybody can do reliability engineering up to a point. The decision on hiring or building a dedicated SRE group is similar to the choice of whether to hire a dedicated QA, or an information security group. Does the business care enough about the outcomes to dedicate people and organizational headspace to it? Often, the answer is initially “no”. However, almost every enterprise encounters novel and domain-specific engineering challenges at some point, and in these situations dedicated SREs provide better outcomes, tailored to individual needs.

“Site reliability” as a name was coined by Google. The “site” in question was google.com. However, the role has grown since; for many years at Google I led the SRE group in charge of all the storage and databases. These were not ‘sites’ per se, but the name had stuck by that point. 

As with most nascent engineering functions, folks who do reliability engineering go by many titles:

SREs

Production engineers

DevOps

Platform engineering

DevSecOps

Platform trust

 Infrastructure engineering 

… and other verbal gymnastics! 

Reliability engineering goes by a lot of titles, the best-known being SRE

These titles all encompass pretty common practices. It’s also argued – correctly, if you ask me – that reliability engineering predates what Google did. Many of its common-sense or even specialized practices are taken from other disciplines. For example, the concept of the incident commander role for large-scale outages derives from the US Federal Emergency Management Agency (FEMA), founded in 1979. 

2. History

As computing has evolved and gone increasingly online, our needs have scaled beyond the capability of humans to perform tasks, or even understand the scale at which we find ourselves doing things. When there are 100,000+ machines, it’s impossible to eyeball a graph of all data points like servers or machines. We can not take a well-understood administrative action on a machine if we have to replicate it 100,000 times.

In the early 2000s, many enterprises went from a manageable number of physical computers to large numbers of servers. These servers performed one function and were clustered, or they could take more generic workloads. 

As Gavin McCance, Compute Services lead at CERN, put it, we started thinking of individual machines as cattle, not pets:

Transition from ‘cats’ to ‘cattle’. Source: CERN Data Centre Evolution by Gavin McCance

In the early days, the frame of reference for how many “a lot” of machines was, shifted almost monthly. At Google in around 2006, I went on a site visit to another large tech employer in Ireland, during which our group peered through a sma