5 ms·
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 bitco
by fouronnes3 6y ago
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?
- cashewchoo 6y agoHeh. 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.
- the_imp 6y agoI wrote a fully spec-compliant YAML library.
- zingplex 6y agoI didn't think that was possible
- nishanth_v 6y agoOne 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 https://codecrafters.io/challenges
- abhijat 6y agoI 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.
- maxwelljoslyn 6y agoSee also: Robert Heaton's series of project prompts "Programming Projects for Advanced Beginners." https://robertheaton.com/2018/12/08/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.
- bitxbitxbitcoin 6y agoFollow up using bitcoin using only the protocol spec and man pages with setting up a multisig wallet on testnet!
- wdfx 6y agoI'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
- 3np 6y agoThere’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 (:
- trillic 6y agoI 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-second-edition https://mitpress.mit.edu/books/elements-computing-systems-se...
- uncledave 6y agoMy 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.
- cheschire 6y agoLFS was my first tech pilgrimage as a teen. I would love to see more projects with that level of optional hand holding!
- waynesonfire 6y agobittorrent client