HackerLangs
TopNewTrendsCommentsPastAskShowJobs

nickjj

13,683 karmajoined vor 12 Jahren
Hi, I'm Nick.

A self taught / self employed full stack developer focused on building and deploying web apps. I openly write about and make videos on just about everything I've learned along the way.

https://nickjanetakis.com/

Submissions

Visually Create Video Clips with mpv, FFmpeg and a Lua Extension

nickjanetakis.com
1 points·by nickjj·vor 18 Tagen·0 comments

DotFriedRice: Niri / Arch Linux Desktop Environment with Modern CLI Tools

github.com
2 points·by nickjj·vor 2 Monaten·0 comments

Niri 26.04: Scrollable-tiling Wayland compositor

github.com
253 points·by nickjj·vor 3 Monaten·87 comments

Improved Git Diffs with Delta, Fzf and a Little Shell Scripting

nickjanetakis.com
175 points·by nickjj·vor 4 Monaten·42 comments

Quickly Get Your Local and Public IP Address from the Command Line

nickjanetakis.com
2 points·by nickjj·vor 4 Monaten·1 comments

Mpv Is the MVP of Video and Image Viewing

nickjanetakis.com
3 points·by nickjj·vor 4 Monaten·0 comments

Wayland Compatible Annotated Screenshots with slurp, grim and satty

nickjanetakis.com
1 points·by nickjj·vor 5 Monaten·0 comments

How Is Niri This Good? Live Demo and Config

nickjanetakis.com
2 points·by nickjj·vor 6 Monaten·0 comments

GPU Memory Allocation Bugs with Nvidia on Linux and Wayland Adventures

nickjanetakis.com
3 points·by nickjj·vor 6 Monaten·2 comments

Ask HN: How are you using Nvidia cards on Linux with its VRAM issues?

2 points·by nickjj·vor 6 Monaten·4 comments

Why Is Video Editing So Bad on Linux Compared to Windows with Camtasia?

nickjanetakis.com
2 points·by nickjj·vor 7 Monaten·0 comments

Walker [Linux]: Fast and highly customizable multi-pupose launcher

github.com
2 points·by nickjj·vor 9 Monaten·1 comments

comments

nickjj
·vor 4 Tagen·discuss
Nope, but Debian does use systemd by default so it's there.

I'm running Arch Linux and /etc/machine-id is present.

There's also an optional /etc/machine-info file that could exist. It's not a part of systemd and won't be created by default. It's more of an informal way to have details about the system in 1 spot. It was more popular when provisioning bare metal servers but still has value in the cloud. You can have key / value pairs on who to contact, where it's located, what type of machine it is, etc..
nickjj
·vor 5 Tagen·discuss
> I don’t have a dog in this fight but it seems you’re not accounting for iteration and feedback

You can provide AI official sources to look at and dozens of prompts. I've lost track of the number of times where it didn't arrive at the right answer with tons of opportunities to correct itself based on feedback.

Just an endless of sea of "you're absolutely right to have brought that up, I didn't think about that" and other phrases it constantly uses when it fails to provide a solution. Fast forward 20 minutes later and it starts providing the same nonsense it did at the beginning because it forgot what it already said.

The code solutions it provides are so consistently bad but it's not limited to code. I recently tried a YouTube feature where it can generate AI thumbnails from your video. The results were really lackluster. It completely ignored my feedback like "use a real webcam photo of me that you see in the video", to which the AI recreated a completely different looking human that wasn't me. It even swapped out my real glasses with a rendering of glasses I don't have and kept on making incorrect assumptions about everything. After about 10 prompts and 20 minutes of waiting for thumbnails I gave up, it was really poor.
nickjj
·vor 5 Tagen·discuss
> Some devs just 'get it' and thrive, leading a team really well and building a great culture.

I don't think it's this because the outcome you get from AI isn't controllable. You can give it the best prompts and design suggestions and it'll still give you completely wrong or horribly written code.

If you were a manager and one of your reports kept producing completely wrong and horribly written code that other folks on the team keep bringing up as problematic in PR reviews or privately, that developer would eventually be fired for someone better.

But in the AI case, there is no replacement because all of the LLMs have severe problems.
nickjj
·vor 6 Tagen·discuss
I'm really sad to see this happen to another fellow course creator.

I'm not sharing this to steal any thunder, but more to relate:

I've been making video programming courses since 2015 on Flask and Docker. Built up a whole business of doing contract work + courses. Released 500+ blog posts and YouTube videos for free to help share what I learned with no strings attached, but had the courses available for sale if anyone wanted to learn more or support my work. Organic search traffic and word of mouth was 99% of my traffic.

I sustained myself for a decade and I was living what I would consider my best life. I never made a ton of money but I got the flexibility to work on what I wanted and it was amazing hearing stories about the courses helping someone change their life for the better. Countless emails of people turning their life around by building things to help them and their families. Hundreds of success stories.

I also noticed an insane drop off around 2023 and by now in mid-2026, it's dead. I literally haven't sold 1 course in 40 days, not even 1. At this point I'm spending thousands a year just to host them out of pocket. Traffic to everything is down over 10x, etc..

I saw the writing on the wall a few years ago and I ended up doing full time work instead but I still post every week.

All that to say, I don't know what to do. I tried everything I could think of. Even did a 2 year weekly podcast in a related field and it yielded close to nothing, despite a number of folks emailing me saying it was their favorite podcast on DevOps / software development.

All I can say is, this really sucks. Our life's work has been gobbled up by trillion dollar companies and sold where we see nothing of it. I had to change my entire life around. I've gone back and forth on just deleting everything or at least putting it all behind a free sign up to stop AI but that doesn't feel right to the actual humans out there.

The real sad thing is internally, there's an endless number of courses I could make. This isn't anywhere near me wanting to stop. I have a ton more things to share. It's just impossible (for me at least) to move forward on it because these things take time and to be able to survive in this world you need money.
nickjj
·vor 7 Tagen·discuss
> If you need the original email for legal/evidence purposes, you can back it up first, either through Gmail or Unattach.

Yes, that was covered in the other thread. Presenting a backup as evidence has a lot less strength than the original.

If the other person doesn't have the email (they deleted it) and you don't have the original because Unattach deleted it to replace it with a different copy then we're only left with an offline backup on 1 person's machine. Who's to say that offline backup wasn't tampered with (modifying headers, etc.)?
nickjj
·vor 9 Tagen·discuss
Oh nice, if everything they say is true, this seems like a good match but it seems like it has 1 big potential downside.

THE GOOD:

Their FAQ says it uses OAuth to connect to your Google account and the emails never leave your browser.

It also costs 83 cents for 1 month so you can go nuts. Alternatively you can pay 1 cent per email if you have a handful.

I see another HN thread about it here from a few years ago: https://news.ycombinator.com/item?id=32462878

THE BAD:

I don't know if it can be used with total confidence because that HN thread makes it sound like they delete the original email and create a new email with the same meta data but some of the comments indicate that's not quite the same as the original. If you had to present this email as evidence, you could run into friction since the original no longer exists. Technically it looks like you can back the original up but as someone mentioned in a comment that seems like it would add a lot of friction in a legal case.

I have no intent on ever needing to use old emails with large attachments in a legal case but knowing this could be a problem makes me hesitant. Although on the bright side, it would be fine to use for anything you 100% know won't ever be used legally.
nickjj
·vor 9 Tagen·discuss
I'd love to somehow do the opposite of this but I don't think it's possible? It would be deleting attachments from emails without deleting the email thread.

For example I'm always 1-2 GB away from my Google account being full. I've pruned Google Drive to the absolute bare minimum.

I've had my Google account for a really long time. There's tens of thousands of emails since day 1. However, there's many emails that have attachments.

For example my friends or someone might have sent me a bunch of images and there's a very long email thread going on with them. I want to delete the 300 MB of photos without deleting the email thread. I don't think Google has a way to do this. I'd easily be able to free up multiple gigs of space if this were possible.

I've already bit the bullet and deleted the biggest offenders but I have a ton of emails with 1-2 attachments (pdfs, zip files, some images, etc.) that might "only" be 15 MB but I definitely don't want to delete the email since it has a record of something. Not just the attachment but the corresponding email chain.
nickjj
·vor 9 Tagen·discuss
I remember reading somewhere that one of many long life markers is if you can go from sitting on your butt straight into standing without your hands or knees touching the floor.
nickjj
·vor 10 Tagen·discuss
SMART stats shows it's at 54% health remaining, all tests passed without errors.

The drive might be too old to report back TBW. It's a Crucial 256 GB SATA 3.1 SSD.

It has LBAs written which is 138292009426. The sector size is 512 bytes.

I think you can calculate TBW from that?

(138292009426 * 512) / 1000000000000 = ~70.8 TB written?
nickjj
·vor 10 Tagen·discuss
Yes, so are the hardware components.

Current machine has been running since 2014. SMART stats on the SSD shows 100,586 powered on hours which is 4,191 days.
nickjj
·vor 10 Tagen·discuss
I've been keeping my desktop machines running 24/7 for ~25 years. I only reboot when necessary.

I remember having around 280 days of uptime on Windows 7 when it went end of life. Having a UPS helps a lot to protect against short power outages or blips.

Nowadays I run Arch Linux, it's been 12 days since a reboot. Not trying to break records, I reboot to apply kernel updates when it's convenient. Since I use tmux and have terminal heavy workflows it takes 1 command and a few seconds to resurrect all of my sessions to get back to where I was at before.
nickjj
·vor 12 Tagen·discuss
If anyone is looking for a niri based opinionated set of configuration on top of CachyOS (or vanilla Arch) I put together: https://github.com/nickjj/dotfriedrice

The goal is after installing the official ISO, you can get a developer focused desktop environment up and running in ~10 minutes with 1 command. It's quite configurable so you can change around anything you want ahead of time or after you install it. I use it with vanilla Arch but I know of quite a few people using it successfully with CachyOS.

For CachyOS, the only manual adjustment you have to make before running the repo's install script is uninstalling `jack` since it conflicts with `pipewire-jack`. I could easily roll this into the script but so far no one has complained loud enough to automate this. I also wonder if CachyOS will eventually drop that AUR dependency in its official ISO.

If it matters to you, 99.9% of the code is hand coded. The only time I use AI is when I'm 100% stone walled on something and it's a last resort move. Even then it's copy / pasting small snippets into web based AIs where I fully review and refactor its output so you could say the 0.1% is still human vetted.

Moving away from Windows last year was so worth it. I've been wanting to switch since 2017 but always ran into hardware issues. The same hardware I had back then works beautifully with Arch today.
nickjj
·vor 12 Tagen·discuss
I know it's easier said than done but is there anything you can do to become an advocate for change?

I've been fortunate to have a very limited amount of on-call events. At one place for 3.5 years there was 1 event. In another place there's been 2 in the last 9 months but on the bright side these events are taken seriously in the sense that dev time is immediately prioritized to hopefully prevent them from happening in the future.

All code being written gets reviewed by someone and there's an expectation tests are included. Of course that doesn't prevent all bugs, but there's an attempt at quality control by the teams producing the code.

I think part of this role (SRE / platform / DevOps / whatever you want to classify this as) is technical implementation but also coming up with systems and workflows to reduce downtime and risk when performing deployments. Not all management is open to change but IMO it should be brought up and taken seriously. There are companies out there who care about both providing value to customers while also keeping team morale high.
nickjj
·vor 13 Tagen·discuss
I'm curious, how often are people getting contacted outside of work hours for "regular" jobs?

I do SRE / Platform type of work where I'm technically on-call 24/7/365 but as a salaried worker I don't receive over time or anything like that. If an on-call event happens where I end up putting in 2 hours on a Saturday or Thursday night, I'd use my discretion to leave early or start late another day.

In the roles where on-call was an expectation, it was focused to critical downtime events, not to answer a Slack message from someone working in a different time zone or non-standard schedule. I don't even have work Slack or email on my personal phone. If PagerDuty goes off from a critical alert I get called, that's the only way I get contacted outside of normal hours.
nickjj
·vor 13 Tagen·discuss
I run vanilla Arch with niri (Wayland), Waybar and a few other tools to create a desktop environment. I didn't do any special kernel or app specific tweaks for performance.

The machine boots using 1.1 GB of memory and total disk space after installing a bunch of apps is ~10 GB. Browser, Docker, video editor, image editor, LibreOffice, OBS, VMs, a ton of CLI tools and everything you'd expect to have a fully working and usable system is there.

It's a wonderful environment on 2014 era hardware. Granted I have 16 GB of memory but it would be fine with 8 GB even when running non-trivial Docker based projects and doing 1080p video editing.

Even Silksong runs at 60 FPS with a GeForce 750 Ti (2 GB) GPU. Although I splurged on a used AMD RX 480 (8 GB) to get more things to run nicely in parallel. Wayland is very picky with limited GPU VRAM, especially with NVIDIA cards.

I also run the same set up on a more modern laptop with way better hardware but things aren't much faster unless I'm very CPU bound.

Everything to get the system up and running in 1 command and 10-15 minutes is here: https://github.com/nickjj/dotfriedrice
nickjj
·vor 16 Tagen·discuss
The mobile app is quite good, it works and gets out of your way. I use it on Android.

For syncing, I do it manually with rsync. Given the database is 1 file it's easy to move around. You can rsync / scp it over, use a USB cable, use cloud storage, etc..

I use a password manager in a "read many, write infrequently" way so I don't mind occasionally syncing it as needed.
nickjj
·vor 21 Tagen·discuss
In case anyone missed it, the latest version of yay (v13+) supports being able to skip recently added packages through its new Lua extension system https://jguer.github.io/yay/lua.html#upgrade-selection-hooks. You can control the threshold since it's just user configuration now.

A bunch of common yay commands also return back the last updated time of a package thanks to https://github.com/Jguer/yay/pull/2846.
nickjj
·vor 22 Tagen·discuss
Makes me wonder what a property like that would go for today, 10 years later.
nickjj
·vor 22 Tagen·discuss
> don't really recommend it to others, since there's all these great tools that have the features you need

I thought about using any one of those tools but happily chose shell scripts and symlinks instead. It hasn't let me down in almost a decade with https://github.com/nickjj/dotfriedrice and would highly recommend this approach.

It's basically a 2,500 line shell script to fully automate setting up a system from scratch in a general purpose / opinionated but customizable way that works on Arch Linux, Debian, Ubuntu, macOS and supports WSL 2 in Windows. I have it running on multiple systems, no need to even fork it since it uses patterns suitable for making changes in git ignored files and also has a config file for certain things.

When it comes to setting up a complete desktop environment or even just terminal based tools, dotfiles IMO are more than config files. There's install scripts, packages, system level configs, running commands, OS specific differences and more. It's really nice to be able to run 1 command and have a fresh system ready to go in about 10 minutes.

Shell script is probably my favorite language at this point.
nickjj
·vor 23 Tagen·discuss
I don't know how this works but does this mean if someone gained physical access to your locked running computer, they could gain access to your full encrypted drive and anything saved on disk?

My reasoning there is if you used an encrypted drive, the decryption key you type when booting up would be stored in memory for the duration of that boot.

This seems alarming because it means if someone broke into your living quarters they can bypass all forms of disk encryption if your machine was on and locked. Encrypting your disks seems like a reasonable thing to want to do with consumer grade hardware.