< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #287 - September 8, 2024

If you are looking for work, check out this month's Who is hiring? and Who wants to be hired? threads.

Here are the top threads of the week, happy reading!

Top comment by tptacek

You generally want to minimize the number of passwords you manage; for instance, you should generally be paying the SSO tax and getting as many services as you can onto OIDC. After that, just do the cloud version of 1Password, which is easy to audit and manage access for, which you'll thank yourself for when it comes time to SOC2.

Remember, as you give people access to passwords, that those passwords will need to be rotated when those people change to incompatible roles or depart the company. If passwords aren't a total pain in the ass for you, you're probably doing something wrong.

Top comment by rickcarlino

I tried finding such roles when I was younger and cared more about flexibility than pay. My assessment back then was that most people who hire a part-time dev are hilariously underfunded and insanely price sensitive. Offering a part-time role is a sign that they don’t actually have enough money to be in the software industry, rather than an indication that they have less than 40 hours a week of work to outsource.

Disclaimer: I am American living in the US. These sorts of arrangements might be more palatable to people living in places with lower costs of living.

Top comment by zoenolan

Newer editions of Computer Organization and Design: The Hardware Software Interface covers GPUs [1]

Multiflow still has some relevant ideas [2]

Programming on Parallel Machines: GPU, Multicore, Clusters and More. Gives you a look at some of the issues [3]

SPIRV-VM is a virtual machine for executing SPIR-V shaders [4]

NyuziRaster: Optimizing Rasterizer Performance and Energy in the Nyuzi Open Source GPU [5]

Ocelot is a modular dynamic compilation framework for heterogeneous systems, providing various backend targets for CUDA programs and analysis modules for the PTX virtual instruction set. [6]

glslang is the Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.

[1]: https://www.goodreads.com/book/show/83895.Computer_Organizat...

[2]: https://en.wikipedia.org/wiki/Multiflow

[3]: http://heather.cs.ucdavis.edu/parprocbook

[4]: https://github.com/dfranx/SPIRV-VM

[5]: https://www.cs.binghamton.edu/~millerti/nyuziraster.pdf

[6]:https://code.google.com/archive/p/gpuocelot/

[7]: https://github.com/KhronosGroup/glslang

Top comment by koliber

Most companies don’t have a problem with too little documentation. Instead, the documentation is hard to find when needed.

I’m a documentarian and this is one of my favorite topics. My go to is creating a wiki for the team. The wiki is organized into hubs. There is a hub for each team. There is a hub for each topic such as security, new employee onboarding, etc. There might be a hub for each bigger project.

A hub contains information about people, systems, and processes. For example, there might be a section for external services. Each of those gets a hub too.

Everything is hyperlinked. Search sucks in most wiki-like tools. Hierarchies are inadequate to capture the complexities of reality. Each page or hub is often relevant in multiple places and should be linked. Links should also be included to external resources whenever they will save time. This can include linking to concrete Slack conversations, Jira tickets, and pull requests.

During onboarding each new team member is asked to improve the onboarding documentation. Anyone can change any documentation. It’s not possible to keep documentation relevant if each team member does not use it.

Here is an article that I wrote about this a while back https://koliber.com/articles/engineering-documentation-best-...

I am really passionate about this and help companies do documentation well in engineering teams.

Top comment by purple-leafy

I’ve had the same thoughts lately, I think AI has made software lose its “magic” for me. That and the stress of delivery.

Here’s what I did: I switched from 5 day weeks to 4 day 32 hour weeks. That has helped immensely. So you could consider that, or even a partial career break.

If you do want to quit cold turkey, heres some roles you could transition into in the same ballpark:

- DevOps

- Tester

- Firmware/embedded Engineer

- Technical Writer

- Data Engineer

- Data Scientist

- Statistician

- Business Analyst

- CAD architect

- Startup founder (easier than you think to start a startup and get funding)

Things I’ve considered that play well with a software mindset but require re-skilling

- Electrical Engineer

- Electrician

- Carpenter

- Gardener

- Farmer

- Welder

- Barista

What reasons have you found that make you want to stop being a Software Engineer?

Top comment by jerf

Describing why you're stuck on an iPad might help improve the suggestions. Do you have a keyboard already or other input hardware? Are you trying to learn just on a bare iPad?

If you're not for some reason stuck on an iPad, it really isn't a snarky answer to just say don't. It might be marginally better than a phone, which is itself somewhat better than trying to learn programming on a game console, but you are way down on the bottom of the list of best tools, and unless you really have no access to any "real computer" and can't possibly afford to acquire even a $100 used laptop or scrounge up a random computer from somebody, which will blow away the iPad on the programming front no matter what OS you put or leave on it, you're really swimming uphill putting barriers in front of yourself in a context that really benefits from a reduction of as many barriers as possible. Programming's hard enough as it is without trying to fight the hardware.

Top comment by hnarayanan

Yes, I would suggest you don’t pick a generator but look for themes in Hugo, Jekyll, Pelican etc. that you really like. And from there you’ve fallen into a generator and you can customise the theme a little to your needs.

Here is the source code to my own website (in Hugo) if it’s helpful: https://github.com/hnarayanan/harishnarayanan.org

Top comment by mips_avatar

One thing I recently started doing is not caring about what I "should" be doing when I program. I used to love coding up random sites in basic html javascript with a few jQuery calls. But I was told I "should" be using react js, node js, hosting on specific cloud providers instead of a vps. I'm not saying all the new tools are bad, but I think the problem with the modern web, is it's less about building what you want and much much more about building what is considered "best practice". I think if you want adventures in the web, just start building janky weird stuff. AI is a help in that if you know what to ask for. Just have fun.

Top comment by takinola

> I refuse to believe that he's reclusing in some island in NZ and even if he is I'm pretty sure he isn't just watching from the sidelines.

You don't know anything about him other than some videos and public appearances. He could be doing a myriad of things, including watching from the sidelines. I bring this up not to bash you but to point out a common misconception that we all fall into at times. We don't really know public figures and so a lot of our opinions about them are just projections of our own desires and biases. People you only see in public can be very different (in character or motivation) than you think.

Top comment by crazygringo

Are you sure it's not still just traditional SEO and marketing?

I'm not sure how many people are asking ChatGPT for the best humidifier. And if they're asking Google and they look at the Gemini answer at the top, it seems to often be Gemini interpreting/summarizing the regular search results. Which means, just regular SEO strategy.

I don't think we're at a point where specifically targeting LLM searches is a productive strategy. Obviously that may change, but I don't think we're there yet.