Sabitlenmiş Tweet
Terence Tuhinanshu
13.3K posts

Terence Tuhinanshu
@rajadain
poet. thinker. designer. developer. citizen of the world.
Philadelphia, PA Katılım Şubat 2011
650 Takip Edilen306 Takipçiler
Terence Tuhinanshu retweetledi

Have you ever wanted to make your own font? Well I've written something that will hopefully dissuade you from that idea.
makingsoftware.com/chapters/how-t…
It's free to read for the next 48hrs. Enjoy.
English
Terence Tuhinanshu retweetledi

I'm not sure how many web developers know about the <geolocation> element, but here's the next one in the same group: <usermedia>.
Chrome for Developers@ChromiumDev
Imagine reducing camera and microphone capture errors by nearly half just by changing an HTML tag. Zoom did exactly that during their initial trials, reporting a 46.9% decrease in camera or microphone capture errors by using the element to guide users through recovery. The
English
Terence Tuhinanshu retweetledi
Terence Tuhinanshu retweetledi
Terence Tuhinanshu retweetledi

An 82K-star GitHub repo is built around one painfully obvious idea:
Your coding agent should map the codebase once, not grep it forever.
Graphify turns an entire project into a queryable knowledge graph.
Functions, classes, files, SQL schemas, infrastructure, docs, PDFs, images and videos become connected nodes that an agent can traverse instead of repeatedly opening files and reconstructing the architecture.
So instead of:
→ search for authentication
→ open twelve files
→ follow imports manually
→ lose the trail as the context fills up
The agent can ask:
> What connects authentication to the database?
> Trace the path from UserService to DatabasePool.
> Explain RateLimiter.
> Which concepts does everything flow through?
Graphify returns the relevant subgraph and the path connecting the concepts, not another list of keyword matches.
For source code, this is not RAG:
→ No embeddings
→ No vector database
→ No LLM required
→ Code is parsed locally using tree-sitter
→ Calls, imports and inheritance become graph edges
Every relationship is also marked as EXTRACTED, INFERRED, or AMBIGUOUS, so the agent can distinguish what exists explicitly in the source from what Graphify resolved or guessed.
The cleverest part is what happens next.
Graphify can install hooks or persistent instructions for Claude Code, Codex, Cursor, Gemini CLI, Copilot and 20+ other assistants.
Before the agent starts blindly grepping or reading files one by one, it is nudged to query the existing graph first.
The graph can be committed to Git, automatically rebuilt after commits, shared across the team and exposed through MCP.
Long context windows help agents read more code.
A persistent knowledge graph helps them know where to look.
The next improvement in coding agents may not come from stuffing more files into the prompt.
It may come from making them stop rereading the repository.
Here's the GitHub Repo: github.com/Graphify-Labs/…

English
Terence Tuhinanshu retweetledi

In a recent article, I wrote about using skills to encode judgement and understanding into agents.
I put together a set of skills that each focus on a different part of a product and help make it better.
/better-ui
/better-typography
/better-colors
More skills are coming soon.
npx skills add jakubkrehel/skills

English
Terence Tuhinanshu retweetledi

The Proportional Web
Inspired by the "The Elements of Typographic Style" by Robert Bringhurst, this is an exploration of beautiful typography on the web, and a reusable stylesheet.
owickstrom.github.io/the-proportion…


English
Terence Tuhinanshu retweetledi
Terence Tuhinanshu retweetledi

Introducing ax - the AI-era curl!
One command to code agents to fetch, discover, and extract from the web. No more curl + throwaway `python`.
Token-cheap, structured, never silent.
ax.yusuke.run
English
Terence Tuhinanshu retweetledi

Introducing shadcn/typeset.
You know how you render markdown and get back plain, unstyled HTML? Headings, paragraphs, lists, tables. So you style the elements one by one: font sizes, line heights, spacing.
You do it for your blog. Then you do it again for docs. Then again for the chat. Every time, you're fighting the same thing: sizing and spacing.
To fix this, we created typeset.css: one file that styles everything inside a typeset container. It lives in your project, so you can change it directly when you need to.
And we made it work beautifully with streaming markdown.
English
Terence Tuhinanshu retweetledi

Introducing @OpenKnowledge, the best markdown IDE for humans and agents.
Open source. Local and private. LLM-wiki ready.
Use with Claude, Codex, and your favorite agent today.
English
Terence Tuhinanshu retweetledi

Instagram decided to roll out a new “Muse AI” feature, that lets users create AI images based on people’s Instagram photos.
Then they opted in EVERYONE with a public account
To opt out:
Click your profile picture
3 bars in the top right
scroll down to "Sharing and reuse"
Toggle off for both Posts and for Reels

English
Terence Tuhinanshu retweetledi

Found this gem : Frame is a native FFmpeg GUI built in Rust. 🦀
FFmpeg is incredibly powerful but notoriously hard to use from the command line. Frame wraps it in a clean native app without sacrificing any of the underlying capability.
Built with GPUI-CE, the same GPU-accelerated UI framework behind the Zed code editor.
Standout features:
→ AI upscaling via Real-ESRGAN
→ Hardware acceleration : Apple Silicon, NVIDIA
→ Concurrent async task queue via Tokio
→ Local-first, no telemetry, no account required
→ Cross-platform : macOS, Windows, Linux
Install via Homebrew, WinGet, or Linux AppImage.
🔗 framegui.app
#RustLang #GPUI #FFmpeg #DevTools

English
Terence Tuhinanshu retweetledi
Terence Tuhinanshu retweetledi

Memory cost and capacity are significant issues for AI accelerators.
Unlike game rendering, model inference can have a deterministic memory access pattern. You don’t need “random access memory” at all for model weights, and you could tolerate cold-start latencies in the multiple milliseconds, as long as continuous reads were delivered at the necessary bandwidth.
NAND flash is over 100 times cheaper per GB than HBM, so there should be opportunity there, even after giving a flash controller a 1024 bit interface with HBM bandwidth.
You could make a specialized pin protocol that just supported pipelined transfer of full 16KB+ pages from the flash to program-managed accelerator scratchpad memory and improve per-pin performance over HBM, but it might be more convenient to make it still look like a true random access memory with very fragile performance characteristics, where anything but sequential reads falls off a 1000x+ performance cliff.
That has the advantage of automatically using existing cache hierarchies, and providing a natural path to update the flash memory with new model weights. With the stream-to-scratch interface, code has to be completely rewritten before it works at all, while the ram-emulation interface will start off just extremely slow, and you can incrementally sort out the changes for full performance.
There may be cases where there isn’t enough scratchpad SRAM to hold the weights for a layer, which might force you to deploy the old optical drive optimization technique of duplicating data in multiple places on a sequential read to avoid seeking, but there would be capacity to burn.
It might be possible to do something like cuda graph capture to record a memory access trace and have everything magically remapped to a linear sequence, but deploying programmer / agent elbow grease to manage transfers and access in a scratch ram ring buffer would be lower risk.
A split memory system consisting of some channels of flash and some channels of HBM will probably be suboptimal compared to a uniform memory, but it could be much cheaper, and allow much larger models to be run.
I think th case is strong for inference, but you have to stretch more for training. You can still linearize all the weight memory accesses, both reads and writes, but flash memory would quickly wear out from the writes, even if they were all perfectly page aligned. Replacing low-latency HBM with massively parallel cheap(er) DRAM at high latency might still be a worthwhile cost savings.
English
Terence Tuhinanshu retweetledi

I just declared a moratorium against AI-written change descriptions (e.g. PR and commit messages, also issues/tickets) from my team.
AI was writing change descriptions that were worse than useless to me as I tried to review PRs: outlining details of the code that could easily be seen by looking at the code, but omitting the higher-level framing needed to understand broadly what the code is doing.
I think people like having AI write these things because the output looks structured and thorough, which makes it feel professional in a way. But this isn't actually valuable. Concise, high-level descriptions are better for everyone. If I need to use my own AI to interpret what your AI wrote then something is wrong. Let AI write code, sure, but for the description, I'd rather see your prompt than your output.
We could maybe have extended agents.md with guidelines on writing descriptions, but this seemed a bit pointless since a good, concise change description only takes a few minutes to write -- not a significant time savings to delegate to AI. At least, it doesn't take long if you understand the code -- and if you don't understand the code, then I'm definitely not merging it.
English

@TolkienWorldG Lovely chat. He's a great performer and really nice person.
English

@TolkienWorldG I just saw Orlando Bloom at the Philadelphia Fan Expo where he spoke of having to learn in the public eye, where every mistake was captured for all to see. He came from a theater background, and most of his contemporaries had _some_ TV / camera experience, which he felt behind on

English

Imagine your first two major film franchises being The Lord of the Rings and Pirates of the Caribbean. What a start to a career.

Tolkien World@TolkienWorldG
This is where CGI peaked
English
Terence Tuhinanshu retweetledi
Terence Tuhinanshu retweetledi






