Same. If I am reading for please, I am reading the book sequentially and love the convenience of ebooks. If I am reading a reference or text book, I like being able to quickly flip between (physical) pages and skim previous chapters for a section I want to reread.
CodeMonkey
For me, it is easier to learn to use git
via CLI instead of a UI. When I first started using git, I learned a few command/flag combinations that I use every day and I barely learned anything else about git after.
Everything I don't do regularly I don't remember, but have written down in a text file of incantations. It is harder to write down what buttons and what menus I have to click.
I would be curious what the daily exercises are going to be. Is it just a 24 part tutorial on the etiquette around creating and contributing to open source projects?
We have all of our build and CI in make
so, theoretically, all the CI system needs to do is run a single command. Then I try to run the command on a CI server, it is missing an OS package (and their package manager version is a major version behind so I need to download a pre-built binary from the project site). Then the tests get kill for using too much memory. Then, after I reduce resource limits, the tests time out…
I am grateful that we use CircleCI as our SaaS CICD and they let me SSH on to a test container so I can see what is going on.
From a quick look at the repo, it is end-to-end testing for web applications.
Also, it seems that their big selling point is a verbose, English like syntax.
It is mutually assured destruction. The job seeker AI spams out a resume to every listing and the hiring AI rejects all applicants for not meeting some unknown criteria. In the end, no worker can find a job and no employer can get applicants. Companies go back to only hiring friends and families of existing employees.
I am used to seeing ring buffers implemented using an array. They are FIFO if you write to the maximum offset and read from the minimum offset but they are double ended if you have a method to read from the maximum offset and write to the minimum offset.
Why would you use a library or framework when you can code everything from scratch? It probably depends on how good the VSCode extension is vs how bad the IDE is.
For the languages I have tried (mostly GoLang plus a bit of Terraform/Terragrunt), VSCode plugins can do code highlighting, can highlight syntax and lint errors, can navigate to a methods implementation, the auto-complete seems to pick random words from the code base, and can find the callers for a method. It is good enough for every day use.
IDEs I have used (Eclipse for Java, PyCharm, InteliJ for Kotlin) offer more. They all have starter templates for common file types. The auto-complete is much more syntax aware and can sometimes guess what variables I intend to pass in as arguments. There is refactoring which can correctly find other usages of a variable and can make trivial code rewrites. There are generators for boilerplate methods. They all have a built in graphical debugger and a test runner.
I was a bit surprised that deque
is implemented as a linked list and not, for example, a ring buffer. It would mean that index reads would be constant time (though insert and delete at an index would be linear time), the opposite of using a linked list.
TAOCS has a reputation for being very deep and thorough, not for being a good introductory text. One of my professors said that in his (very long) industrial career, he only met one person who actually read the books beginning to end but everyone looks something up in them once or twice.
That has been my experience. I once needed to find out how to solve a very specific problem (I think it was calculating statistical values on an infinite stream). I found the single copy of TAOCS in the office reference library, read the relevant section, and implemented the suggested algorithm.
Maybe it is just my experience, but in the last decade, employers stopped trying to recruit and retain top developers.
I have been a full time software engineer for more than a decade. In the 2010s, the mindset at tech giants seemed to be that they had to hire the best developers and do everything they could to keep them. The easiest way to do both was to be the best employer around. For example, Google had 20% time, many companies offered paid sabbaticals after so many years, and every office had catering once a week (if not a free cafeteria). That way, employees would be telling all of their friends how great it is to work for you and if they decide to look for other work, they would have to give up their cushy benefits.
Then, a few years before the pandemic, my employer switched to a different health insurance company and got the expected wave of complaints (the price of this drug went up, my doctor is not covered). HR responded with "our benefits package is above industry averages". That is a refrain I have been hearing since, even after switching employers. The company is not trying to be the best employer that everyone wants to work at, they just want to be above average. They are saying "go ahead and look for another employer, but they are probably going to be just as bad".
Obviously, this is just my view, so it is very possible that I have just been unlucky with my employers.
Go, out of the languages I use at work, it is the one I learned most recently and have the least experience with. I am not planning to get on the leader board (or even comple more than the first week of challenges), but it is an excuse to get more comfortable with the standard library.