News for hackers. Stuff that matters.
Re:Chromium cleans up its act and daily DNS root server quer... by fouronnes3 on Friday February 05, 2021 @12:32PM (#26038811)
That's a very sweet idea. What are some other "software pilgrimage" projects for ambitious hackers with a finite amount of free time?

Buying something in bitcoin using only the protocol spec and man pages? Tweeting from a Linux from scratch install? Writing a correct tar command on the first try? Writing a quine on your favorite language without google?

Re:Chromium cleans up its act and daily DNS root server quer... by cashewchoo on Friday February 05, 2021 @12:47PM (#26039027)
Heh. I was inspired by a movement I saw a while ago to read old CS academic research, since e.g. quicksort is still very relevant nowadays but is also still approachable for someone with a B.Sc. in CS. (Whereas more recent papers all require fairly deep knowledge of the research niche).

My take on it was that lots of this old software was implemented by candlelight with a magnetized needle, a 512KiB HDD platter and a steady hand; so I should be able to reimplement it in a modern language with modern tooling in a lot less time, while learning a lot about the system. Like, dig command output means a lot more to me now than it did at the start, and I now appreciate what articles like the OP mean now.

Re:Chromium cleans up its act and daily DNS root server quer... by nishanth_v on Friday February 05, 2021 @02:13PM (#26040055)
One of my friends is building a collection of such exercises aimed at experienced & intermediate programmers, where you build Redis / Docker / Git / React from scratch with guidance.

https://codecrafters.io/challenges

Re:Chromium cleans up its act and daily DNS root server quer... by maxwelljoslyn on Friday February 05, 2021 @02:28PM (#26040213)
See also: Robert Heaton's series of project prompts "Programming Projects for Advanced Beginners."

https://robertheaton.com/2018/12/08/programming-projects-for...

The project goals are not as lofty as those proposed by nishanth_v's friend, but Mr. Heaton goes the extra mile to turn each project idea into a step by step mini-curriculum with lots of extension points.

Then, he goes another extra mile by allowing readers to email in their buggy projects, and running a companion series where he teaches people how to debug / fix / improve their code by refactoring reader's attempts at the "...Advanced Beginners" projects.

Recommended.

Re:Chromium cleans up its act and daily DNS root server quer... by abhijat on Monday February 08, 2021 @02:41AM (#26061796)
I remember doing a few of these last year. It was quite fun. They even added nim on request. I was able to use it to complete the docker challenge.
Re:Chromium cleans up its act and daily DNS root server quer... by wdfx on Friday February 05, 2021 @02:30PM (#26040229)
I'm writing a software audio synthesiser.

Not quite the same as I'm not following or reimplementing any established standard, but it's interesting and fun to Greenfield a c++ project using minimal dependencies to do things like:

- invent and parse a DSL - modularise components and connections between them - possibly cyclic directed graph traversal - efficient near-real-time audio processing (working in chunks within a time budget) - multithreading / parallel module processing - spit the outputs into an audio device and/or wav files - eventually put a GUI on top

Re:Chromium cleans up its act and daily DNS root server quer... by trillic on Friday February 05, 2021 @03:25PM (#26040751)
I built (against my will) a regex engine in college and it's the toughest, most CS'y "software pilgrimage" I could think of.

In the same vein, I think building or designing some of the components in an OS or Systems book[1] could have a similar positive result.

[1] https://mitpress.mit.edu/books/elements-computing-systems-se...

Re:Chromium cleans up its act and daily DNS root server quer... by uncledave on Friday February 05, 2021 @03:37PM (#26040869)
My personal pilgrimage seems to always end up designing designing a stack virtual machine and writing a compiler for it for a toy programming language. I tend to pick this up every time I learn a new language to get a feel for it.

I usually get it to run a simple loop to print hello world and do the inevitable Fibonacci generator and get bored. No fancy things like functions!

One of these things was crudely repurposed into a domain specific language for a job as well which was handy.

Re:Chromium cleans up its act and daily DNS root server quer... by cheschire on Friday February 05, 2021 @05:31PM (#26042050)
LFS was my first tech pilgrimage as a teen. I would love to see more projects with that level of optional hand holding!
Re:Chromium cleans up its act and daily DNS root server quer... by bitxbitxbitcoin on Friday February 05, 2021 @02:28PM (#26040215)
Follow up using bitcoin using only the protocol spec and man pages with setting up a multisig wallet on testnet!
Re:Chromium cleans up its act and daily DNS root server quer... by 3np on Friday February 05, 2021 @03:14PM (#26040655)
There’s so much.

If I can dream, an LDAP implementation with a similar target as GP wound be fantastic.

That’s not a short one though (:

Re:Chromium cleans up its act and daily DNS root server quer... by the_imp on Friday February 05, 2021 @01:26PM (#26039548)
I wrote a fully spec-compliant YAML library.
Re:Chromium cleans up its act and daily DNS root server quer... by zingplex on Friday February 05, 2021 @03:42PM (#26040911)
I didn't think that was possible
Re:Chromium cleans up its act and daily DNS root server quer... by waynesonfire on Friday February 05, 2021 @07:12PM (#26042833)
bittorrent client