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

推荐订阅源

GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Hugging Face - Blog
Hugging Face - Blog
IT之家
IT之家
Jina AI
Jina AI
Google DeepMind News
Google DeepMind News
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog
腾讯CDC
L
LangChain Blog
P
Proofpoint News Feed
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
量子位
Apple Machine Learning Research
Apple Machine Learning Research
Cloudbric
Cloudbric
B
Blog RSS Feed
B
Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Vercel News
Vercel News
S
Schneier on Security
Project Zero
Project Zero
宝玉的分享
宝玉的分享
美团技术团队
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Spread Privacy
Spread Privacy
T
Threatpost
A
Arctic Wolf
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Hacker News - Newest:
Hacker News - Newest: "LLM"
爱范儿
爱范儿
Recorded Future
Recorded Future
C
CERT Recently Published Vulnerability Notes
T
Threat Research - Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
SecWiki News
SecWiki News
H
Hacker News: Front Page
AWS News Blog
AWS News Blog
博客园_首页
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tor Project blog
C
Check Point Blog
L
Lohrmann on Cybersecurity
F
Full Disclosure
TaoSecurity Blog
TaoSecurity Blog
Google Online Security Blog
Google Online Security Blog
云风的 BLOG
云风的 BLOG
The Last Watchdog
The Last Watchdog
Martin Fowler
Martin Fowler

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
Remembering Planet Source Code: Sharing Code Before GitHub Made It Easy
2026-05-09 · via Hacker News

Every once in a while, something from the early days of my software development journey resurfaces and brings with it a flood of memories. Recently, I came across a PlanetSourceCode.com archived GitHub page that lists some old code submissions I contributed more than 20 years ago.

Seeing my name there, attached to Visual Basic 6 and early .NET samples from 2002 and 2003, is a fun little time capsule.

The page lists a handful of submissions I posted under my name, including things like:

These were small pieces of code. Utilities. Examples. Tips. The kind of thing you wrote because you had just solved a problem, and you figured someone else might eventually run into the same problem too.

Looking back now, what strikes me most is not necessarily the code itself. Some of it may have been interesting for the time. Some of it was probably rough. Some of it might make modern developers laugh a bit. But what really stands out is the era those submissions came from.

This was before GitHub.

This was before Stack Overflow.

This was before NuGet, npm, modern package managers, ubiquitous blogs, YouTube tutorials, Discord communities, GitHub Discussions, and all the other places we now take for granted when looking for programming help.

It was a different time.

Sharing Code Before GitHub

Today, sharing code is almost frictionless. You create a GitHub repository, push your project, add a README, attach a license, and share a link. Someone else can clone it, fork it, open an issue, submit a pull request, or star it. Search engines index it. AI tools can analyze it. Documentation can be generated. CI/CD can validate it. Package registries can distribute it.

None of that was normal back then.

In the early 2000s, if you wanted to share code, you had fewer options. You might post it on your personal website. You might attach a ZIP file to a forum post. You might paste snippets into a message board. You might email it to someone. Or, if you wanted it to be discoverable by other developers, you submitted it to a site like Planet Source Code.

Planet Source Code was one of those developer community sites that mattered a lot at the time. It was a place where programmers could upload code snippets, small applications, controls, samples, and tutorials. Other developers could browse categories, download code, rate submissions, and leave comments.

For many of us, it was one of the best ways to find practical examples of how to get something done.

There were books, of course. There were MSDN articles. There were mailing lists and forums. But a lot of day-to-day programming knowledge lived in shared examples. You searched for the thing you were trying to build, found someone else’s sample, downloaded it, opened it in Visual Basic, and started learning by reading the code.

That was the workflow. It never was the full solution you were looking for, but you pieced multiple snippets together, troubleshooted, and figure out the solution to get the job done.

The Visual Basic Era

A few of my submissions listed in the archive are Visual Basic 6 related, which makes perfect sense for that period of time. VB6 was everywhere. It was approachable, productive, and widely used for building Windows desktop applications. If you were building business applications on Windows, there was a good chance VB6 was involved somewhere.

One of my old submissions was titled Add Checkbox to MSFlexGrid Control. That alone brings back a whole category of memories.

The MSFlexGrid control was a common control used to display tabular data in VB6 applications. It was useful, but like many controls of that era, it did not always do exactly what you wanted out of the box. So developers found ways to extend it, work around it, and make it behave more like the applications they were trying to build.

Adding checkbox behavior to a grid was a very practical problem. Users wanted to select rows. Business apps needed to mark records as included or excluded. A native checkbox column would have been convenient, but if the control didn’t provide it exactly the way you needed, you built it yourself.

That was a very common pattern in VB6 development: take the controls you had, bend them to your will, and make the application work.

Another submission was HTTP File Download using Winsock. That one is also very representative of the time. Today, if you want to download a file over HTTP, you can do it in a few lines of code with modern libraries. In .NET, you might use HttpClient. In JavaScript, you might use fetch. In Python, maybe requests. It is ordinary now.

But back then, depending on the language, runtime, and environment, you might be working at a lower level. Using Winsock directly meant dealing more closely with network communication. You were sending requests, reading responses, parsing headers, and managing data yourself.

Was that the easiest way to download a file? Probably not by today’s standards. But it was educational. It forced you to understand what was happening under the covers.

That was one of the great things about a lot of old programming examples. They were not always polished libraries. They were often demonstrations of how something worked.

The Early .NET Days

A couple of the archived submissions are also from the early .NET period: Make Form Transparent on Move and Resize and TextBox - Only Accept Numbers. 2002 was still really early days for the .NET Framework.

Those titles immediately remind me of the excitement around .NET when it was new. Developers were moving from VB6 to VB.NET or C#. Windows Forms was new and familiar at the same time. It felt like a modernized version of the desktop development many of us already knew, but with a much more powerful framework behind it.

There was a lot to learn.

The .NET Framework introduced a different way of thinking about application development. Namespaces, assemblies, managed code, garbage collection, metadata, reflection, events, delegates, inheritance, and a richer base class library all became part of the daily vocabulary.

For developers coming from VB6, it was both exciting and disruptive.

Small code samples played a huge role in that transition. You might not need a full book chapter to learn how to restrict input in a textbox. You needed a clear example. How do I handle the key press event? How do I allow numbers but block letters? How do I still allow backspace? How do I account for edge cases?

That kind of practical knowledge spread through community code sites.

The same thing applied to UI effects like making a form transparent when it moved or resized. It was not necessarily mission-critical functionality, but it was the kind of small interaction that made applications feel more dynamic. Developers were experimenting with what Windows Forms could do, how far they could push it, and how to make desktop apps look and behave differently.

A lot of learning happened through experimentation.

Before Stack Overflow Changed Developer Q&A

It is hard to overstate how different programming help was before Stack Overflow.

Today, when a developer runs into a problem, they search the web and often find a Stack Overflow answer, GitHub issue, official documentation page, blog post, or AI-generated explanation. There is an enormous amount of indexed developer knowledge available almost instantly.

In the early 2000s, the web was much smaller and much less organized.

Search engines existed, of course, but finding the right answer could take time. Search results were inconsistent. Documentation was often incomplete or difficult to navigate. Many answers lived in forum threads, mailing list archives, Usenet posts, personal websites, or code-sharing portals.

You had to dig.

Planet Source Code helped because it was organized around code. You could browse by language and category. You could search for examples. You could see ratings. You could download complete projects rather than just read a few lines in a forum reply.

That mattered.

A complete working sample is often worth more than a description. When you can open a project, run it, step through it, and change it, you learn differently. You do not just copy code. You explore behavior.

That kind of hands-on learning shaped a lot of developers from that era.

Open source existed long before GitHub, of course. There were major open source projects, communities, mailing lists, source repositories, and collaboration models. But for many everyday developers, especially those working with Windows desktop tools like VB6, casual code sharing did not feel as standardized as it does now.

GitHub changed the social mechanics of code.

It gave developers a common place to host projects, track changes, report issues, contribute improvements, and build a public portfolio. It normalized the idea that your code could be visible, forkable, and collaborative by default.

Planet Source Code was not GitHub. It was more like a code gallery or community archive. You uploaded a ZIP file or source code submission. People downloaded it, rated it, and maybe commented. There was not the same workflow around version history, pull requests, branching, issues, or continuous improvement.

But it served an important purpose.

It made code visible.

It gave individual developers a place to contribute something useful, even if it was just a small snippet or demo. It let someone say, “I figured this out. Here is how I did it.”

That may sound simple, but it is one of the core ideas behind healthy developer communities.

The Early Days of Blogging

This was also around the early days of blogging.

Personal blogs were becoming a way for developers to share what they were learning. Instead of only publishing formal articles or posting in forums, developers could write directly on their own sites. A blog became a place to document discoveries, explain solutions, share opinions, and build a professional voice.

That was a big shift.

A personal blog gave you ownership over your writing in a way that a forum post or code submission did not. You could collect your thoughts, write tutorials, publish notes, and build an archive over time. Many developer blogs from that era were rough around the edges, but they were authentic. They were written by people solving real problems in real projects.

In many ways, code-sharing sites and blogs complemented each other.

A blog post could explain the context: what problem you ran into, what approaches you tried, what finally worked, and what caveats mattered. A code-sharing site could host the actual sample project for others to download.

Today, we might combine all of that into a GitHub repository with a README, maybe a blog post, and perhaps a package release. Back then, it was much more fragmented. You shared code in one place, wrote about it somewhere else, and hoped people could find it.

Still, it worked.

The web was smaller, but it felt personal.

Looking Back at Old Code

There is always a strange feeling when you look back at code you wrote decades ago.

Part of you wants to critique it. You see things you would do differently now. You notice naming choices, structure, formatting, assumptions, and patterns that reflect who you were as a developer at the time. You may even cringe a little.

That is normal.

But old code is also a record of growth. Every developer has a trail of things they built while learning. Small utilities. Experimental projects. Half-finished ideas. Demos. Workarounds. Snippets copied, modified, improved, and eventually understood.

Those old Planet Source Code submissions are part of my trail.

They represent problems I had solved, technologies I was using, and the way developers shared knowledge at the time. They also remind me that contributing to the community does not always have to mean building a large framework or maintaining a major open source project.

Sometimes it means sharing a small solution to a small problem.

And sometimes, 20 years later, that small solution is still sitting in an archive somewhere, quietly reminding you where you started.

The Value of Small Contributions

One thing I appreciate more now is the value of small contributions.

In modern software development, it is easy to think of open source in terms of big projects: popular frameworks, libraries with thousands of stars, cloud-native tools, massive ecosystems, and widely used packages. Those are important, but they are not the whole story.

Small examples matter too.

A sample that shows how to add a checkbox to a grid can help someone finish a business application. A note about package and deployment issues can save someone hours of frustration. A textbox input example can help a beginner understand events and validation. A Winsock file download demo can teach someone how HTTP works at a lower level.

Not every contribution needs to be grand.

Sometimes the most useful thing you can publish is the thing you just figured out.

That was true in 2002, and it is still true today.

The difference is that now we have better tools for sharing, preserving, and improving those contributions. GitHub repositories can evolve. Issues can capture questions. Pull requests can fix bugs. Discussions can add context. Package managers can distribute updates. Documentation sites can be generated automatically.

But the motivation is the same: help the next person.

Preservation Matters

I am also grateful that archives like this exist.

The original Planet Source Code website is no longer the central place developers go to share and discover code. The web has moved on. Technologies have changed. Communities have shifted. But the code and index pages preserved on GitHub offer a glimpse into that earlier era.

That kind of preservation matters because software history is often fragile.

Old websites disappear. Domains expire. File downloads break. Forum databases go offline. Personal sites vanish. Code that once helped thousands of people can become inaccessible almost overnight.

When old code is archived, it gives us more than nostalgia. It gives us context.

It shows what developers were building, what problems they were solving, what tools they were using, and how knowledge moved through the community. It also reminds us that today’s best practices are built on decades of experimentation, sharing, and iteration.

The specific code may be obsolete. The spirit behind it is not.

It Was a Different Time

When I think back to posting code on Planet Source Code, I remember a web that felt more handcrafted. Developer communities were smaller and more scattered. You learned by searching, downloading, experimenting, breaking things, and trying again.

There was less automation. Less polish. Less infrastructure.

But there was also a lot of curiosity.

People posted code because they were excited to share it. They wanted ratings, sure. They wanted feedback. But they also wanted to contribute to the pool of knowledge that everyone else was drawing from.

That culture helped shape how many of us learned software development.

Today, I can publish a GitHub repository in minutes. I can write a blog post, link to the repo, add sample commands, include screenshots, publish a NuGet package, and have everything indexed and available around the world almost immediately.

That is amazing.

But it is worth remembering that before GitHub made code sharing easy, sites like Planet Source Code helped fill that gap. They gave developers a place to participate. They made small contributions visible. They helped us learn from each other.

And for me personally, seeing those old submissions again is a reminder of where I came from as a developer.

I was solving problems, learning technologies, and sharing what I could.

More than 20 years later, that still feels like the right idea.