
Build Your Own X - hakanderyal
https://github.com/danistefanovic/build-your-own-x
======
commandlinefan
I was expecting build your own XWindows Server.

~~~
_def
I expected the same and was gladly surprised with this interesting collection.
That being said, there's a link under "uncategorized" regarding the X window
system :)

------
ceres
Is it just me or does all these great educational content out there lead to
analysis paralysis? I mean if I wanted to just learn something new and I
chanced upon this web page I'd be stumped on where to start.

~~~
jplayer01
I agree. I’d pay for a "course" that assembled a massive list of practical
learning projects like this into something that plots real skill/knowledge
growth from beginner to advanced in a structured way.

~~~
amadeuspagel
Maybe you're interested in a platform I've built for this kind of thing -
[https://readpaths.com](https://readpaths.com). It lets people collaborate to
build something like what you describe. People can add links and other people
can add connections between these links, resulting in a dependency graph.

------
cweagans
See also:

[https://github.com/cweagans/awesome-diy-
software](https://github.com/cweagans/awesome-diy-software)

[http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

[https://github.com/tuvtran/project-based-
learning](https://github.com/tuvtran/project-based-learning)

------
rmgraham
This is a great resource. There were also some other useful links in the
comments last time:
[https://news.ycombinator.com/item?id=17054419](https://news.ycombinator.com/item?id=17054419)

------
kristianc
Is there really no option for build your own Dropbox? ;)

~~~
bra-ket
For a Linux user, you can build such a system yourself quite trivially by
getting an FTP account, mounting it locally with curlftpfs, and then using SVN
or CVS on the mounted filesystem. From Windows or Mac, this FTP account could
be accessed through built-in software.
[https://news.ycombinator.com/item?id=8863](https://news.ycombinator.com/item?id=8863)

~~~
zerr
What I find interesting that many think before dropbox the only other option
was FTP, while in fact there were other cloud based storage providers with
good integration on the desktop such as virtual disk drive on Windows, even in
late 90s. Dropbox won with PR/marketing I believe. Can anyone list what
differentiated them compared to exiting solutions, besides marketing?

~~~
kristianc
Ease of use, UX, network effects, positioning (the fact that it isn’t called
Virtual Hard Disk)

[https://www.windowscentral.com/how-create-and-set-vhdx-or-
vh...](https://www.windowscentral.com/how-create-and-set-vhdx-or-vhd-
windows-10)

Even if you could get the above working yourself, good luck trying to get
someone else to so you can collaborate on a project.

Developers often dismiss ‘marketing’ as though it is just a fluffy icon or
slick website, but how a product is positioned (in Dropbox case for ease of
use and the fact that the project is engineered to ‘feel like a folder’) is
absolutely marketing and critical to its success.

~~~
zerr
I meant there were (and still are?) consumer products with simple installers
(next > next) which were integrated on Windows as an extra disk - no need to
create it manually. Syncing was just that - drag & drop to that disk/folder.

------
johnmorrison
Does anybody know about something like this for hardware?

Clocks, motors, stuff like that?

~~~
xahrepap
Different than your examples. But I just finished making my own "Mostly
Printed 3D Printer". I'm a software dev but had basically no experience with
Arduino or anything else related to the project. It made me feel like when I
was a kid on Christmas with a new large Lego set. One of the most educational
and fulfilling projects I've done in recent memory.

It was good timing too because the motherboard on my 3d printer just shorted
out. I didn't want to pay the full price ($115) for a replacement board. So I
bought an open source board similar to the one I used for my MPCNC. Since I
had just put that togheter I knew what I was doing even though there was
limited help in converting my particular printer available online.

~~~
OJFord
Do you have a blog/YouTube channel or something with more details?

~~~
xahrepap
I don't. But the linked site has great, detailed instructions

------
sowbug
Mostly off-topic: anyone know how to set the github.com cookie to never
expire? All I want, usually, is to star a project. But all that gets me,
usually, is a sign-in screen. And I never seem to have my U2F key handy.

~~~
tambourine_man
Get a password manager?

~~~
kikoreis
But he mentioned 2FA?

~~~
capableweb
Add the 2FA to your password manager! At least 1Password supports this.

Although, you might not want to do this, depending on your threat model. Take
care if you do (now both password + 2FA can be obtained by having your
password manager compromised, but at least your protected if only your
password leaks from some dump)

~~~
sowbug
I don't use OTP 2FA if U2F is available. Adding a physical token to a password
manager is not an option.

Part of the problem is that GitHub is both a source code repository frontend
(calling for tighter security) and a social network (calling for minimal
security). So the cookie expiration policy makes sense for the former case but
not the latter. A compromise might be letting the user mark a specific browser
instance as trusted, so that the site can either set a longer expiration or
else not ask for the second factor from that instance.

Anyway, was hoping someone had figured out which cookie held GitHub's token
and knew a browser extension that could extend its lifetime. Not really
looking to learn about password managers, which I already use.

------
tshanmu
Is there any pointers on how to write your own DNS server? Google does not
seem to help much as it shows up mostly hosting your own bind server.

~~~
gog
Have a look at [https://jameshfisher.com/2017/08/04/golang-dns-
server/](https://jameshfisher.com/2017/08/04/golang-dns-server/)

DNS is actually pretty simple if you don't want to implement DNSSEC.

~~~
tshanmu
thanks!

------
punnerud
A good reading on why you should understand your building blocks:
[https://caseyhandmer.wordpress.com/2019/10/15/on-
reasoning-b...](https://caseyhandmer.wordpress.com/2019/10/15/on-reasoning-
backwards-from-architecture-to-implicit-requirements/)

~~~
nimvlaj30
I read your article, and it's about reasoning in regard to design
requirements. I'm curious to hear what you have to say. Would you please
provide some explanation as to why programmers should understand building
blocks?

------
kstenerud
Very cool! Does anyone know of something similar for a secure network stack,
like a "build your own TLS" but very barebones?

------
ZeikJT
Happy to see nand2tetris on there, one of the most interesting projects I've
done in a long time!

------
cognitoMagneto
Is there something like this for distributed services for computation? For
example, I have a large computation job that I would like to split up across
nodes?

------
yosefzeev
Very neat link. It is true that if you cannot create it, you are simply
borrowing someone else's idea and treating it like your own.

~~~
yjftsjthsd-h
> if you cannot create it, you are simply borrowing someone else's idea and
> treating it like your own.

With the understanding, of course, that this isn't necessarily a bad thing!
Understanding is certainly useful, but if it works, then it works, regardless
of who built it. Reimplementing, say, a standard library _will_ make you a
better programmer, but if just including libraries to do the heavy lifting
produces a working system, then that has value too. There are only so many
hour in the day; there's value in knowing when to just hand-wave the giants
whose shoulders you stand on.

~~~
sriku
.. at least until the abstraction "leaks".

~~~
sabas123
I believe all abstracts leak at least a little. It all comes down to trade-
offs between what risks you want to take.

------
aredirect
shameless plug: practical/real world applications step by step
[https://github.com/xmonader/nimdays](https://github.com/xmonader/nimdays)

------
wolfpwner
Adding "Web Crawler" would be helpful

------
agumonkey
I searched for Xwindow way too long

~~~
wrboyce
There is an X Window related post at the bottom of the page under
Uncategorised.

------
h_amg
This is dope. thanks for sharing

------
sebastianconcpt
Really nice. I was hoping to find some Smalltalk examples

------
nvr219
thank u!!!

