惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
CXSECURITY Database RSS Feed - CXSecurity.com
Help Net Security
Help Net Security
P
Privacy International News Feed
S
Securelist
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
AWS News Blog
AWS News Blog
K
Kaspersky official blog
A
Arctic Wolf
Latest news
Latest news
T
Threat Research - Cisco Blogs
L
LINUX DO - 最新话题
P
Privacy & Cybersecurity Law Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
月光博客
月光博客
N
News and Events Feed by Topic
Jina AI
Jina AI
博客园 - 司徒正美
WordPress大学
WordPress大学
罗磊的独立博客
雷峰网
雷峰网
AI
AI
Hugging Face - Blog
Hugging Face - Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
S
Security @ Cisco Blogs
博客园 - 三生石上(FineUI控件)
H
Heimdal Security Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
C
Cisco Blogs
博客园 - 【当耐特】
The Hacker News
The Hacker News
有赞技术团队
有赞技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Schneier on Security
Schneier on Security
博客园 - Franky
S
SegmentFault 最新的问题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Cloudbric
Cloudbric
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Secure Thoughts
Last Week in AI
Last Week in AI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Know Your Adversary
Know Your Adversary
Google DeepMind News
Google DeepMind News

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Open source building blocks for computational design. Est. 2006
2026-06-08 · via Hacker News
background image
thi.ng logo

What?

thi.ng is a truly manifold long-term project devoted to Computational Design. Not a framework, nor bound to any specific use case, environment or even language, it's a vast and mature set of complementing code libraries, which has organically grown to approx. 350 sub-projects, with at least half still being actively maintained. This site is a work in progress and so far merely a portal to these projects, though will ultimately serve as a comprehensive hub and archive of all related outputs. Only open source projects & educational resources are presented here.

Who?

Created and maintained by Karsten Schmidt since 2006, the project has been supported by a small group of wonderful contributors. Over the past 28 years, Karsten has produced and contributed to hundreds of open source projects, including Processing and Clojure. He has written about, lectured and taught computational & generative design workshops at various universities. His work has been exhibited internationally, incl. Barbican, Victoria & Albert Museum London, MoMA New York, Garage Moscow, Design Museum Holon, CAFA Arts Museum Beijing.

Why?

Originally, thi.ng was created to help realise Karsten's diverse work projects/commissions and experimental design research, forming an open toolkit we can grow and control as much as possible. Over the years, the conceptual scope has expanded dramatically. Early thi.ng projects began when Computational Design was still in its infancy. With only limited open source tooling in that domain available at the time, some of our projects were pioneering and helping to fill that niche and using these tools for teaching/evangelizing became other primary project goals. Altogether, an additional 200+ examples are bundled with the largest projects in the collection, with more being added regularly.

How?

thi.ng is based on a bottom-up growth & design philosophy: small pieces with narrow scope and utility recombine to fulfil demands of ever changing use cases in similarly varied fields. Because of the wide scope, we're usually working on projects in a round-robin manner, based on feedback and loosely defined long-term goals, which may (and are encouraged to) shift over time. This has included large rounds of refactoring, adopting new languages, platforms or techniques and occasionally leaving others behind, once a project is in a stable condition. Some of the oldest projects here are still enjoying an active following, even after almost 10 years since their last official release...

Full spectrum of topics

One endeavor, hundreds of facets… This current site is a precursor of an ongoing effort to create a semantic graph of all projects, assets and relationships - a massive undertaking, which already spawned several new projects in the collection. Until ready, the following interactive tag cloud is an attempt to give a birdseye view of the subjects covered by various parts of the collection.

Show all 350 projects, use the fuzzy search box or click on a tag to explore and only show relevant projects. Multiple tags can be entered to further narrow the search results…

The current primary development focus is on data-driven, functional tooling for TypeScript and browser-based technologies. However, thi.ng overall aims at different programming approaches and languages, incl. Clojure, ClojureScript, C11, Houdini VEX. All projects share a common philosophy with an emphasis on composition, interop, simplicity, data transformation, introspection & visualization and use of powerful data structures. Most projects favor a mixture of functional and declarative designs over classic object-oriented approaches, though we fully embrace the target languages, strive to be undogmatic and embrace hybrid solutions where they make sense. Parts of the collection also focus on domain-specific languages and offer core infrastructure to help with their implementation.

typescript 2d datastructure 3d clojure animation binary array workshop browser geometry codegen clojurescript generative webgl conversion graph fileformat functional ui c canvas image visualization color typedarray math processing.org tree cli export iterator svg toxiclibs async interval parser pixel simulation dsl graphics hiccup acceleration literate-programming bezier generator particles vector audio nd query random shader uk clipping text art circle glsl hardware interpolation java networked physics polygon transducer wasm analysis component composition design time ast bbox fabrication html interop logger mesh rstream sort stream agent baremetal database gui polyline reactive sample string architecture dsp gradient line matrix memory memory-mapped pipeline shape stm32 align arc area channel distance encode event format json map object points rgb set shader-ast template 1d 8bit benchmark bigint declarative decode filter gpgpu nft nodejs tool voxel 16bit adjacency aos bitmap compiler css dataflow diff dom float grayscale mean path pattern server subdivision typography zig 4d alpha ansi blend cellular-automata chart compression cubic dag data-oriented drawing file intersection no-browser rect render topology validate 24bit 32bit algebra blur curve ellipse equality fuzzy grid hash hdom immutable kernel language markdown noise opencl opengl oscillator palette partition polymorphic quaternion recursion serbia simd sparse transformation triples union utf8 wrapper xml ziglang allocator api ascii buffer cache cartesian centroid circumcenter cluster concatenative evolutionary fft forth frequency germany glitch grammar graphviz group hex keys logic macro median nested paper pool quadratic scenegraph sculpture semweb sensor soa spatial spline state statistics texture theme variable voronoi 4bit 64bit assembly bidirectional bindings blit branding cloth convex convolution csp datalog dataviz dependency dominant dual edge floodfill gaussian hierarchy identifier invert javascript k-means layout light lisp list livecoding lut mime multitasking neighborhood node number plot pointfree predicate prng proximity range raymarch rdf rdom resize rewrite rgb565 rotation runtime s-expression scaffold scatter sdf search self-organizing semantic-web smoothstep standard-deviation subscription sutherland-hodgeman syntax synthesis table tessellation tiff timestamp trie waveform wordwrap (560 more...) 1bit allpass arduino associative average axidraw bar base16 base62 base64 behavior biquad bitfield blocking boids chaikin communication comparator counter crypto csv cursor cycle datadriven deep delay delete denmark detect diagonal difference dither dmx dotproduct dynamic easing edges entropy envelope eucledian exif field fluid force fork-join free-list fsm fxhash haversine hermite hexdump histogram history houdini hsv imgui installation integer interaction interpreter ioc jpeg l-system lifecycle linear linked-data manhattan measure merge millisecond modular morton multiplex normal offset optimization org-mode packer painting parametric peg penplotter permutation png polyglot portugal prefix presets process projection promise pubsub quadedge queue reducer reflect regexp rle router rulebased scheduler schema scope select sequence shared-memory shuffle sliding-window sparql split stack step svf swap swatches sweden switzerland swizzle temperature throttle timeline tokenizer touch transclusion transpiler triangle trigonometry tutorial tween typecheck unicode uuid vdom version video vm vocabulary webassembly wildcard z-curve 2bit activation aggregation angle arcball argument artnet assemblyscript assert attractor automata avif balance base10 base26 base32 base36 base58 base8 base83 base85 batch belgium bencode block blue blurhash bollinger boolean bot braille braitenberg broadcast brown bucket bun bundler calculation cancel candle capacitance cellular cie1931 circular clock coerce column combinator compare complex complexity compute configuration console constant-folding constants constraint contours contrast coo cookie coroutines cosine count cpp crop crossover cryptography csc csr current cv d-heap data dataview date dce debug decomposition decorators deflate degree delaunay dem dense density derivative descend deterministic differentiation digital directed directory disjoint-set distributed distribution donchian dots download driver dropping dynamodb ecs edit editlog ema emoji emscripten emulator energy entity epoch errors escape exponential fbo feature feedback fiber fiducial fifo filesystem fill flatten flocking flow floyd-rivest fog follow font form formdata fractional france frustum game gamma generic genetic geo geometric geotiff gesture gif gis git global go golden-ratio gps graycode green hair halton hatching hcy hdpi headers heading headless heap heuristic higher-order hilbert hollerith homogeneous hsi hsl http https hue hull i18n ibm icc icon id iges impulse incremental indexed inference infinite inheritance inline inspect instrument instrumentation interactive interceptors interfaces interleave io isoline israel iterative jaccard join k-means++ k-medians k-nearest kd-tree keyframe kids korea kronecker lab laplacian lazy lch length levenshtein lfo liang-barsky lifo lighting linkedlist lookat lookup low-discrepancy lpg lru luminance macd marbling marchingsquares mask mass mediarecorder memoization mep metadata metric mimedb mixins momentum mono monte-carlo mouse mousewheel moving-average mru msdf msgpack multi-expression multipart multipass multiple-dispatch multitouch multivariate mutation name namespace nanosecond navigation ngram npm npr nurbs obj octtree oklab oklch optical origami ortho osc output padding pairing-heap patch pbm percent perimeter perspective pfm phenotype php plastic-number pointcloud poisson polar porter-duff power precision premultiply prime priority-queue probabilistic property pyramid quadtree quantize querystring radix ramp rate-limit ray reaction-diffusion recursive red redo refract region relative rename repl resistance retina rfid ring roc rpn rule saturation security separation serialport session shadertoy sharpen shear shift shortcode si side-effect signal similarity sixel skew skiplist slovakia slugify sma smoothmax smpte solver spa span spectrum speed sphere spiral splat srgb steering stem stereo stochastic storage stratified struct style svd symbolic t-norm tab tags tangent tangle task tensor terrain tf-idf threshold tiles timeout tlru trace transaction tree-shaking triangulation trim trix tsne ttl tuple turkey turtle type types ulid undirected undo uniform unionfind unique units uri utc valence value-semantics variance varint velocity vertex vex voip voltage volume watch wav waveshaper webp websocket weighted white wiki windowing wma wordsize worker writing xslt xyy xyz ycbcr ycc zigzag zipper

thi.ng/umbrella

Catalyzing learnings from earlier projects and languages used, and the primary focus for the past 5+ years, at least half of all thi.ng projects have been developed in TypeScript as part of the thi.ng/umbrella monorepo. With several of these projects in development since 2015, in early 2018 a decision was made to merge efforts & develop them further under a common umbrella. Although most of these packages are largely independent, they address a vastly wider set of topics with a more cohesive philosophy, shared infrastructure, types, interfaces, release cycles, examples, interlinked documentation etc.

Counting in at ~245k lines of code, documentation, diagrams and 185 fully documented example projects, most of the 500+ topics of the above tag cloud are addressed by packages in this monorepo. With very few exceptions, no third party dependencies are used and all umbrella internal relationships are explicitly stated in each package's readme. All umbrella packages are released under the Apache Software License 2.0.

The heatmap timeline below gives an overview of the various packages and when they were added/included in the umbrella monorepo. The start dates shown here do not necessarily indicate project beginnings, only when packages were added & refactored in their current form.

Award-winning work & workshops, powered by open source

"A rising tide lifts all boats."

Since early on, starting with toxiclibs in 2006, projects in this collection have been used across many fields & industries (and helped kicking off several startups), incl. architecture, product & interaction design, data visualization, digital fabrication, interior design, print-on-demand, medicine, branding, motion graphics/VFX, game development, audio production, art installations, etc.

Several projects in which thi.ng projects played a key role were nominated for & won international design prizes, incl. Cannes Lions, D&AD, Red Dot Design Award, British Designs of the Year, Lighting Design Awards, Type Directors Club Award, Media Guardian Innovation Award.

Education and usage as teaching tool have been equally important and long-running project goals. Over the years, many of our projects have been used in this capacity in various schools, universities, workshops and festivals worldwide. Karsten himself has been teaching dozens of workshops since 2008.

For project news, stream notifications & future workshops, please follow us on Mastodon or subscribe to our low frequency newsletter!

Contributors & sponsors

Eternal gratitude to the following humans and organizations for supporting the ongoing development of these projects.

If you'd like to become a supporter yourself, please visit our GitHub sponsors or Patreon profile. Thank you very much!

Thanks to the following organizations for funding earlier development through commissions, collaborations, client work, lectures, workshops & consulting in the past:

  • ACT Center Gwangju
  • Architecture Association (DRL) London
  • Barbican Centre London
  • The Bartlett (UCL) London
  • Bergische Universität Wuppertal
  • Bezalel Academy of Art Jerusalem
  • CADA Lisboa
  • CIID Copenhagen
  • Digital Domain
  • ETH Zürich
  • Google
  • Graphic Design Festival Breda
  • HEAD Geneva
  • Hirsch & Mann
  • Institute of Contemporary Arts London
  • Jason Bruges Studio
  • Kingston University London
  • Kunstuniversität Linz
  • Kurye Video Festival, Istanbul
  • Leeds College of Music
  • Lexus
  • London College of Fashion
  • Metropolitan University London
  • Moving Brands
  • Münster School of Architecture
  • Nike
  • Nokia
  • OFFF Lisboa
  • onedotzero
  • Open Data Institute
  • Resonate Festival Belgrade
  • SAC Städelschule Frankfurt
  • Science Museum London
  • Sensorium Festival Bratislava
  • Semipermanent Auckland
  • Sheffield Hallam University
  • Sint-Lukas University Brussels
  • Squint Opera
  • Technology Will Save Us
  • Tellart
  • Todays Art Festival, Den Haag
  • Troika UK
  • Universal Everything
  • Universidade Católica Portuguesa Porto
  • Umeå Institute of Design
  • University for the Creative Arts Epsom
  • University of Applied Sciences Augsburg
  • University of Lincoln
  • Watershed Bristol
  • Westminster University London
  • Wieden + Kennedy
  • Winchester School of Art
  • Wolff Olins
  • Victoria & Albert Museum London