Good, although it took some time. Actually, I got my personal best global rank on that problem.
Good, although it took some time. Actually, I got my personal best global rank on that problem.
I don’t think it’s overhyped, at least I’ve never heard anyone hyping it up so much. I would be happy to recommend you other books if you want :)
I also don’t think it’s a big deal if you didn’t like the book. I don’t think even Knuth himself would be upset, really.
Also, if you remember enjoying hacking, maybe pick that up again? There’s a massive shortage of security engineers at all times.
First of all, you can totally do it! The field is massive, but also full of very bad programmers, and seeing how you were able to write a coherent text of three paragraphs, that already puts you ahead of the curve. Determination and perseverance is key.
I would suggest to play to your strengths. Java is still Java. Most of the progress since the 1990s was in the libraries and tooling, which only recently have become passable. The language itself also evolved somewhat, but there’s nothing that you won’t pick up in a couple of days of working with it.
Start with [1], work through all the boxes that are unfamiliar to you, practice a little on a pet project, or an open source project, and you’ll land a job in no time.
You likely have a mental model of Subversion, so what I would suggest is to try to forget as much of it as possible first, as Git is very different.
Take a tutorial that is aimed at Git beginners, e.g. [1]. This will help you start building a new mental model as well as get first practical experience.
After that, read the official docs starting wtih the object model[2]. The reason why many people struggle to get into git, especially after using other VCS, is that it was built from the ground up, without much regard of the established conventions and terminology. Linus Torvalds once mentioned that he used his experience designing file systems when developing git.
So the object model of git is very simple, but also not intuitive. However, once you understand it, everything will start making sense, including the xkcd you’ve linked.
[1] https://gitimmersion.com/ [2] https://git-scm.com/book/en/v2/Git-Internals-Git-Objects
I didn’t use yaml much while it was gaining popularity, and therefore didn’t pay much attention. But this article really made me pay attention and now I distrust anything that uses yaml in any capacity.
https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell
I can’t imagine how normal people use any software at all. When something doesn’t work for me, often I can figure out what could’ve gone wrong. For instance, there might be bug in the JavaScript form handler, and I can just bypass it. Or an app doesn’t invalidate its cache properly, so I just need to flush it manually.
Ah yes, that’s Android for ya.
The T in “ninja” is silent. Silent and invisible.
Despite this design, it is possible to write useful programs.
Interestingly, this applies to C++ too.
to be fair, the way it’s worded I can parse as “a language for web programming”, instead of “a programming language for the web”
Absolutely! I’m just wondering if everyone has that one language in their hearts :)
Advent of Code is a fun collection of programming challenges ranging from trivial to moderate. It starts every year in December (obviously), but all the past challenges are still available: https://adventofcode.com/
That just makes sense – the top-1k are competitive programmers, and today’s puzzle had nothing to do with competitive programming :)