hydandata
Second would be The Language of Mathematics by Baber. As someone who did not do well with math in school or uni but was always good with languages and programming, I have benefited greatly from it by finally “getting” math.
I can recommend Richard Hamming's book Art of Doing Science and Engineering [0], that is what helped me put things in perspective. To quote a famous passage from it:
"It is well known the drunken sailor who staggers to the left or right with n independent random steps will, on the average, end up about sqrt(n) steps from the origin. But if there is a pretty girl in one direction, then his steps will tend to go in that direction and he will go a distance proportional to n. In a lifetime of many, many independent choices, small and large, a career with a vision will get you a distance proportional to n, while no vision will get you only the distance sqrt(n). In a sense, the main difference between those who go far and those who do not is some people have a vision and the others do not and therefore can only react to the current events as they happen.
...
You will probably object that if you try to get a vision now it is likely to be wrong—and my reply is from observation I have seen the accuracy of the vision matters less than you might suppose, getting anywhere is better than drifting, there are potentially many paths to greatness for you, and just which path you go on, so long as it takes you to greatness, is none of my business. You must, as in the case of forging your personal style, find your vision of your future career, and then follow it as best you can.
No vision, not much of a future."
0 - http://worrydream.com/refs/Hamming-TheArtOfDoingScienceAndEn...
Sunburst and Luminary: an Apollo Memoir https://www.sunburstandluminary.com/SLhome.html
The Brain Makers https://www.amazon.com/Brain-Makers-HP-Newquist/dp/067230412...
Strategic Computing: DARPA and the Quest for Machine Intelligence https://www.amazon.com/Strategic-Computing-Machine-Intellige...
The Soul of a New Machine https://www.amazon.com/Soul-New-Machine/dp/B01FCTJCR0
Hackers: Heroes of the Computer Revolution https://www.amazon.com/Hackers-Heroes-Computer-Revolution-An...
Where Wizards Stay Up Late: The Origins of the Internet https://www.amazon.com/Where-Wizards-Stay-Up-Late/dp/B00AQU7...
Art of Doing Science and Engineering: Learning to Learn http://worrydream.com/refs/Hamming-TheArtOfDoingScienceAndEn... Not a dedicated history book, but Hamming talks a lot about personal experiences and observations
UNIX: A History and a Memoir https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan-e...
Masters of Doom https://www.amazon.com/Masters-Doom-Created-Transformed-Cult... linking to audiobook because it is read by Wil Wheaton :)
Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker https://www.amazon.com/Ghost-Wires-Adventures-Worlds-Wanted/...
It might be just me, but I really enjoy reading biographies of people important to the science, for example here is one for John Tukey https://royalsocietypublishing.org/doi/pdf/10.1098/rsbm.2003...
Backend, frontend, testing, team comms, CI/CD, cloud stuff etc. Mostly FOSS.
Friends and colleagues have been bugging me to get it done for a while, guess now is the time..
Nope, I did find some to be less well documented than ideal, but pretty much everything had tests and/or examples making up for it. Have a look at Quicklisp[0] and explore yourself.
CL has many implementations[1], including the one targeting the JVM, so you can make use of Java ecosystem from it too.
CL has been around a long, long time. First edition of CLTL[2] was released in 1984! and at that point Lisp had already been in heavy use for almost three decades. The standard has not been altered since 1994, and likely never will, but due to its nature innovation continues in the individual implementations and in the community, and there is a well established culture of portability libraries.
[0] https://www.quicklisp.org/beta/
[1] https://common-lisp.net/implementations - Not an exhaustive list
Folks at Grammarly have a writeup about how they are using it, it might have more relevant information for you[1].
I would definitely consider using it again, but proper buy-in takes time, and I have simply been moving too fast since then.
I am still not a big fan of Clojure myself, but it is definitely seems easier to sell than CL. In my humble opinion, if you are already a convert the benefits of going from Clojure to CL will not be as great as the ones for going from Java to Clojure.
[0] https://news.ycombinator.com/item?id=13979002
[1] http://tech.grammarly.com/blog/posts/Running-Lisp-in-Product...
For me it is a perfect fit for writing automation, services and command line tools. It is stable, it is simple to use/write/read, it is easy to deploy, it has great IDE support and tooling, it just makes sense in the enterprise, as author himself notes.
I like Rust too, but compared to Go it has the feel of a research project. I think Rust has great future, I definitely see using it, but for now I will stick with CL/TS/Go.
I do something similar in the evening to relax before sleep, albeit more freestyle and I write it down on paper, but doing it at the start of day sounds like a great way to set the mood, going to adopt it.
—Richard W. Hamming[0]
I have rarely "chosen" to use Python at work, but it has never failed to get the job done.
Remote: Preferably no, but might consider for the right team
Willing to relocate: No, but can travel infrequently
Technologies: Go, Python, JavaScript, Common Lisp, SQL, Linux, AWS, Ansible, Docker.. whatever-you-like except Java/C++/C#, maybe even that for the right price
Resume/CV: https://www.linkedin.com/in/chkhd/
GitHub: https://github.com/chkhd but most of my stuff is not on GitHub, it is locked behind corporate doors :/
Email: [email protected]
I have changed my job title many, many times but have been coding and mentoring/teaching since minus infinity. Very flexible with both roles and technology, can get up and running with any tech in matter of days/weeks.
Currently looking for senior dev or other leadership oriented full-time roles in Prague, will consider remote for the right team, have 7+ years of experience working fully remotely as dev && team lead.
Can also help you set up shop in Prague. Tech scene is nice, and there are awesome devs around, plus people from all over Eastern Europe are likely to be fine with relocating here.
Show HN: Minimum Viable Bash Prompt
- Asking a question can be humiliating, especially if you are expected to know its answer. When a junior asks me something, I keep that in mind.
- Things that are obvious to me are not obvious for juniors. They might know X and Y but have no clue how to draw a line between them. They might not even know an alternative exists.
- If the junior does not come to me with a question, he might spend 20x actually needed time on the problem. Helping juniors is one of the best ways to meet deadlines.
- Regularly helping someone establishes trust and makes it easier to delegate to them later. More of my time saved.
- The main thing that I am teaching them is patience, I lead by example.
- I focus on explaining how to them more than what, even if I spend an hour, or have to do a pair programming session. If the lesson gets ingrained I just helped save a heck of a lot more time.
- If the same kind of questions get asked a lot, I create a doc or a recording and reply with a link.
- Different people need a different approach. It is quite likely that I am doing something wrong in how I provide help. If the person trusts me with questions but does not seem to adopt the advice, I sit down and have a "crucial conversation" with them to figure out if this is the case and adapt my behaviour.
- Some people are just stupid.. "Against stupidity the gods themselves contend in vain". Knowing when things are out of my control helps me avoid stress. That said, this is the very last resort, and rarely true. I usually try everything else before I start brushing people off and saving time for others.
IMHO Dampened Cherry Red switches configuration is almost as good as Topre if not better.
The ability to program it has been the killer feature for me, I have a layout that works absolutely perfectly for me! f.e. dual function keys! I have ' set as dual function key so if I hold it is Shift, if I just tap it is ', in place of usual Caps Lock location I also have Shift, having moved both Cmd/Win keys to usual Shift location. Home row Shift has improved the typing comfort so much! I also remapped function keys and made many other tweaks.
Also have alt/ctrl mapped with dual key feature to z/ctrl x/alt and ./alt //ctrl, this way all modifier keys are clustered together and easily accessible. I don't think I can ever go back! the mind did get used to switching between the two layouts though, so thankfully I can still use the laptop keyboard on the go :)
For anybody interested you can have a look at their configurator https://configure.ergodox-ez.com/keyboard_layouts/new
- Just like on WP, you cannot set some things to open in other browsers.
- No extension support, because they know perfectly well what many people would install first, an add blocker.
[0] http://phoe.tymoon.eu/clus/doku.php [1] https://github.com/UltraSpec