Hacker Newsnew | past | comments | ask | show | jobs | submit | Nition's commentslogin

I wonder if there could be something like a Wikipedia for programming. A bit like what the book Design Patterns did in 1994, collecting everyone's useful solutions, but on a much larger scale. Everyone shares the best strategies and algorithms for everything, and updates them when new ones come about, and we finally stop reinventing the wheel for every new project.

To some extent that was Stack Overflow, and it's also GitHub, and now it's also LLMs, but not quite.

May I suggest "PASTE": Patterns, Algorithms, Solutions, Techniques, and Examples. "Just copy PASTE", they'll say.


Ward Cunningham once, of all places in an Github issue [0], explained how the original C2 Wiki was seeded.

> Perhaps I should explain why wiki worked. > I wrote a program in a weekend and then spent two hours a day for the next five years curating the content it held. For another five years a collection of people did the same work with love for what was there. But that was the end. A third cohort of curators did not appear. Content suffered.

A heroic amount effort of a single person, and later the collective effort of a small group, worked in the mid-90es. I'm skeptical that it will be repeatable 30 years later. Despite this, it would be the type of place, that I'd like to visit on the web. :(

[0] https://github.com/WardCunningham/remodeling/issues/51#issue...


Great idea! https://paste.voklen.com/wiki/Main_Page If people start using it I'll get a proper domain name for it.

An algolwiki is a great idea, but I just wanted to say I got a good chuckle from this, thanks :)

> May I suggest "PASTE": Patterns, Algorithms, Solutions, Techniques, and Examples. "Just copy PASTE", they'll say.


> To some extent that was Stack Overflow

Yup, that was always very much the plan, from the earliest days. Shame it soured a bit, but since the content is all freely reusable, maybe something can be built atop the ashes?


There is https://grokipedia.com which encourages you to suggest an article and you may submit improvements to an existing article.

This is _not_ at all the same thing. Grok just ripped off Wikipedia as its base and then applied a biased spin to it. Check out the entry on Grok owner Elon Musk; it praises his accomplishments and completely omits or downplays most of his better-known controversies.

And everything is “fact checked” by the Grok LLM. Which… Yeah…

https://en.wikipedia.org/wiki/Grok_(chatbot)#Controversies


Yes exactly! It would need some publicity of some kind to get started but it's the best solution, certainly? And all of the tools and infrastructure already exist.


That's a remake model in a modern game. The original Crash was even simpler than that one.

Most of Crash in the first game was not textured; just vertex colours. Only the fur on his back and his shoelaces were textures at all.


"Original" as in the original of the one they used in their tweet.


I always love the moment in blog posts like this, where the writer with their esoteric knowledge of the project will say something like "I almost considered reflaboring the exahenge, but of course it would be a ridiculous prospect for a project of this type". And then always, inevitably, there is the followup edit; "I reflabored the exahenge."

Too rarely in life are things made better than practical consideration would dictate, just because of dedication to the craft.


History is made by people who reflabor the exahenge.

I build microscopes instead of telescopes (as a hobby). I can't tell you how many times I've taken a mostly working system and stripped it down to make some important change that affects most of the design to get only a tiny incremental improvement. Sometimes that improvement makes all the difference (for example, being smart when 3d printing a piece that carries something heavy so it doesn't deflect) and sometimes it's just an itch I need to scratch. Eventually, I learned to make two: a microscope that gets built and used, and then a microscope that is a prototype. Then I'm not tempted to take the daily driver and pull the engine.


Ooh! Tell us about microscope making as a hobby!


Uh, OK. So a few decades ago a scientist I respect built his own scientific tool from parts (https://www.nature.com/articles/35073680) and I was really blown away by that idea, especially because most scientific tools are very expensive and have lots of proprietary components. I asked around at the time (~2001) and there wasn't a lot of knowledge on how to control stepper motors, assemble rigid frames, etc.

Although my day job is running compute infra, I have a background in biophysics and I figured I could probably do something similar to Joe Derisi, but lacked the knowledge, time, and money to do this either in the lab, or at home. So the project was mostly on the backburner. I got lucky and joined a team at Google a decade ago that did Maker stuff. At some point we set up a CNC machine to automate some wood cutting projects and I realized that the machine could be adapted to be a microscope that can scan large areas (much larger than the field of view of the objective). I took a Shapeoko and replaced the cutting tool with a microscope head (using cheap objectives, cheap lens tube, and cheap camera) and demonstrated it and got some good images and lots of technical feedback.

As I now had more time, money, and knowledge (thanks, Google!) I thought about what I could do to make scientific grade microscopes using 3d printer parts, 3d printing and inexpensive components. There are a lot of challenges, and so I've spent the past decade slowly designing and building my scope, and using it to do "interesting" things.

At the current point, what I have is: an aluminum frame structure using inexpensive extrusion, some 3d printed junction pieces, some JLCPCB-machined aluminum parts for the 2D XY stage, inexpensive off-the-shelf lenses and industrial vision camera, along with a few more adapter pieces, and an LED illuminator. It's about $1000 material, plus far more time in terms of assembly and learning process.

What I can do: the scope easily handles scanning large fields of view (50mm x 50mm) at 10X magnification and assembles the scans into coherent fullsize images (often 100,000x100,000 pixels). It can also integrate a computer vision model trained to identify animacules (specifically tardigrades) and center the sample, allowing for tracking as the tardigrade moves about in a large petri dish. This is of interest to tardigrade scientists who want to build models of tardigrade behavior and turn them into model organisms.

Right now I'm working on a sub-sub-sub-project which is to replace the LED illuminator with a new design that is capable of extremely bright pulses for extremely short durations, which allows me to acquire scans much faster. I am revelling in low-level electronic design and learning the tricks of trade, much of which is "5 minutes of soldering can save $10,000".

I had hoped to make this project into my fulltime job, but the reality is that there is not much demand for stuff like this, and if it does become your job, you typically focus on getting your leadership to give you money to buy an already existing scope designed by experts and using that to make important discoveries (I work in pharma, which does not care about tardigrades).

Eventually- I hope- I will retire and move on to the more challenging nanoscale projects- it turns out that while you can build microscopes that are accurate to microns with off-the-shelf hardware is fairly straightforward, getting to nanoscale involves understanding a lot of what was learned between the 1950s and now about ultra-high-precision, which is much more subtle and expensive.

Here's a sample video of tardigrade tracking- you can see the scope moving the stage to keep the "snout" centered. https://www.youtube.com/watch?v=LYaMFDjC1DQ And another, this is an empty tardigrade shell filled with eggs that are about to hatch, https://www.youtube.com/watch?v=snUQTOCHito with the first baby exiting the old shell at around 10 minutes.


Having it automatically follow tardigrades is so cool! It sounds like great fun. Did you make the ML model for tracking them?

I've wanted to make this the Openflexure Microscope (https://openflexure.org/projects/microscope/) but it is behind the backlog of all sorts of other things.


Yes, I took an existing vision model that could run at realtime on my laptop, and fine-tuned it with a few hundred manually labelled images of tardigrades.

I don't like the openflexure design at all. I mean... obviously it works for a lot of people, but I just don't want a flexure based stage. I like real 2-axis stages based on rolling bearings, basically cloning the X and Y parts of this: https://www.asiimaging.com/products/stages/xy-inverted-stage...

UC2 is another cool project: https://openuc2.com/ but I found their approach constraining.

Frankly I think you could just buy an inexpensive 3D printer that had an open firmware, and replace the extruder with an objective, a tube, and a camera, and you'd have something up and running cheaper for less time.


Well yes, but are you wiggling the giblet or are you flensing the grobbulus? Because the latter requires specialised equipment and a flensing trampoline, whereas the former requires a 1mm Allen key and possibly a hard whack on a nearby surface while nobody’s looking.


Flensing trampolines are out of my budget, so it's just giblet wiggling for me.


I've seen a few people flense without an f-tramp using a retro-stabilising grob clamp instead, if you've got one.


Your comment brings me back to my first mirror making adventure, I was absolutely overwhelmed by the jargon and acronyms used by the mirror making community... a few years later I internalized it and use it as if it was common knowledge. I should put little explanations or details in my posts.


A friend of mine once told me - learning a new field is all about learning the language of that field


What they hear:

"Exorcise the lattice hoard to siphon the new incarnation."

What we said:

"Purge the web cache to download the new version."


That metaphor would here be pretty accurate, though.


I think that's probably not an accident.


A friend of mine asked me why we have such precise terminology in IT; I asked her why English has so many different words for "chair".


That's a big part of it, but far from everything.


I'm not really sure - I deliberately stopped there because the concepts related to that field are a part of the language learnings.


If you are a really big fan of something, you'll get familiar with the lingo, but that doesn't mean you can play StarCraft well or weld or shred your guitar.

That's actually part of why FizzBuzz was so notorious: there were (apparently) plenty of people who could talk the talk about programming and software engineering, but couldn't do FizzBuzz.


You're right, people write code all day long and have no idea what pattern it is that they've just applied.

Having said that, they cannot communicate that that's what they want done, nor can they receive instructions to do something that way.

They really are hand in hand.


> You're right, people write code all day long and have no idea what pattern it is that they've just applied.

Thanks for agreeing with me, I guess. I was actually making the opposite point:

People who can talk about creating software, but who can't actually create any software.


Yes... and I was pointing out that people who think that they can write software... cannot talk about it, making them...?

You're completely missing the point that doing and talking are necessary in a world where developers aren't the only ones working on a project.

What use is someone that can write a priority queue, but not be able to be asked to write one, or to tell anyone to write one?

The same as someone who can ask for those things, but cannot do it themselves... right?


There was enough there for me to get the basic idea, which is fine I think. Can't really expect every niche post to have all the details necessary for a general audience and it's fun to get a glimpse into these worlds anyway.

Thanks for sharing the post!


I just love the fluent use of terms, and the whole ontology of the subject itself just seems so appealing to me. For a moment, I felt like others feel when listening to me and my colleagues discuss kernel build issues or other software challenges - befuddled, bemused, enchanted.

I guess, if/when I retire to that remote mountain hideaway, I might just get into this hobby. The idea of grinding my own mirrors to look at dew on the spiderwebs of the neighborhood is just so appealing.


Settings -> Interface -> "Notify me about additions or changes..." to disable it, by the way.


Thanks, but it's still pretty scummy how hidden that is. This could have just been a checkbox on the pop up.


Yeah absolutely, I don't disagree.


I presume they mean South East Asia.


I see the pendulum has finished its swing from

> I HAVE NO TOOLS BECAUSE I’VE DESTROYED MY TOOLS WITH MY TOOLS.[1]

to

> TOOL SEARCH TOOL, WHICH ALLOWS CLAUDE TO USE SEARCH TOOLS TO ACCESS THOUSANDS OF TOOLS

---

[1] https://www.usenix.org/system/files/1311_05-08_mickens.pdf


The worst part is, there are now two control panels (the other is called "Settings"). Some settings are in both, while others are only in one or the other.


I bet nobody knew/wanted to touch that code.

So they just wrote something worse with less features in React.

Peak web development.


No, they absolutely know. They've been very very slowly migrating stuff over to the new Settings panel bit by bit. If you look at what's in Control Panel now, it's maybe half as much as what used to be in there ten years ago.

That said, it's insanely ridiculous that it's taken 10 years to get it even halfway done.


Yes, and that means that settings in one edition of Win 11 no longer exist in the next one as they rewrite the settings code.


Chlorofluorocarbons, microplastics, UX dark patterns, mass surveillance, planned obsolescence, fossil fuels, TikTok, ultra-processed food, antibiotic overuse in livestock, nuclear weapons.

It's a defensible claim I think. Things that people want are not always good for humanity as a whole, therefore things can be useful and also not good for humanity as a whole.


You’re delusional if you think LLMs/AI are in the ballpark of these. I’ve listed things in my comment for a reason.


You're the one who made the comparison...?


There was some confusion. I originally read Wiseowise's comment as a failure to think of anything that could be "useful but bad for humanity". But given the followup response above I assume they're actually saying that LLMs are similar to tools like the Internet or Wikipedia and therefore should simply not be in the bad for humanity category.

Whether that's true or not, it is a different claim which doesn't fit the way I responded. It does fit the way Libidinalecon responded.


That thread is a fun (though frustrating for them!) conversation to read through.

After about a hundred back-and-forths getting the guy with the actual hardware to try different commands, I was thinking to myself man, maybe he should just give him remote access to work on the target PC, this is torture for both of them. And then I see him comment:

> Honestly I'm thinking of this and maybe something insane like organizing ssh access or something to quit torturing Nadim with building and rebooting all the time

And Nadim replies:

> Haha, sorry, but there's no way I'm giving you SSH access!

> I’m fine with continuing with tests!

Which is fair enough! But was funny to see right when I was thinking the same thing. Great perseverance from both of them.

Was slightly disappointing they they moved off GitHub to Discord eventually so after all that, we miss the moment of them actually getting it working!


I just read it too and now I think I know what the suspense novels robots write for each other will be like.


I also enjoyed reading through it, but wish I'd seen this comment first and avoided missing out on the moment of success too. :)


If you ever did this as a larger Kickstarter type project, I wonder if it'd be possible to get stepped faders so you could physically click-click-click-click through each semitone.


This is a cool idea, but you can switch between major, minor, chromatic and pentatonic scales so the interval between notes changes depending on how many there are so having fixed clicks wouldn't work in that case.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: