LLMs and an old dev

A lot of developers seem to be afraid of generative AI and LLMs because it may replace their jobs. But as an older developer who sometimes have a hard time keeping up with new frameworks and technologies, LLMs have been life saving. Not only my productivity is high but I am able to keep up new languages and codebases and be productive almost immediately. I used to think about moving to management because it seemed I could not keep up with tech but now I have new confidence that I can keep doing my hobby as a profession for another few years. ...

June 10, 2025 · 1 min · Amer Khalid

Backup VPS

Here are simple steps to backup your VPS. Backup MySQL database Create a directory to store the backup files. Then run mysqldump command to backup your database. mysqldump -u your_mysql_user -pyour_mysql_password your_database_name > /path/to/dump_$(date +\%Y\%m\%d\%H\%M\%S).sql Or you run it as supersuer and backup all databases in once. sudo mysqldump --all-databases > /path/to/dump_$(date +\%Y\%m\%d\%H\%M\%S).sql To automate this, schedule a cron job that will run this command on a daily basis. crontab -e Insert the following line to execute the mysqldump command every day at midnight. ...

September 10, 2023 · 1 min · Amer Khalid

A quick script to build and deploy hugo site on VPS

I had been using GitHub and Netlify for this site but lack of some features such as access to server logs finally got too much. So I decided to move this blog to my VPS. One thing I really love about using Github is CI/CD and Github Actions. But I wanted something even simpler with less dependencies. So I decided to use a simple bash script to build and deploy the site. ...

September 6, 2023 · 1 min · Amer Khalid

Ask HN: Why did Python win? | Hacker News

Ask HN: Why did Python win? | Hacker News — Read on news.ycombinator.com/item

August 30, 2023 · 1 min · Amer Khalid

Apple Vision Pro developer kit | Hacker News

Apple Vision Pro developer kit | Hacker News — Read on news.ycombinator.com/item

July 24, 2023 · 1 min · Amer Khalid

Ask HN: What does your AI tech stack look like? | Hacker News

Ask HN: What does your AI tech stack look like? | Hacker News — Read on news.ycombinator.com/item

July 14, 2023 · 1 min · Amer Khalid

DevOps Roadmap: Learn to become a DevOps Engineer or SRE

Community driven, articles, resources, guides, interview questions, quizzes for DevOps. Learn to become a modern DevOps engineer by following the steps, skills, resources and guides listed in this roadmap. — Read on roadmap.sh/devops

June 17, 2023 · 1 min · Amer Khalid

undefined method xxxxx' for #< Hash:0x00000 >

This error in our Rails application drove me crazy. The error was like this: undefined method xxxxxx' for #<Hash:0x000000001234> The problem was that i was calling a method like this: a_method(var: var) And the method definition was like def a_method(var: var) which resulted in something called variable shadowing and caused clash between variable passed in the method and local variable being defined. The fix was to change method definition to def a_method(var:) ...

June 14, 2023 · 1 min · Amer Khalid

There's more than one way to write an IP address

Most of us write our IP addresses the way we’ve been taught, a long time ago: 127. — Read on ma.ttias.be/theres-more-than-one-way-to-write-an-ip-address/

April 29, 2023 · 1 min · Amer Khalid

Script inherits from native type 'RigidBody2D', so it can't be assigned to an object of type: 'Node2D'

Getting this error while following this tutorial in Godot v4.0.1. In my case, I had added Node2D. The fix was to right click on the problem node under scene and click Make Scene Root. And then delete Node2D. Here is what diff looked like: diff --git a/2d-game-tutorial/Mob.tscn b/2d-game-tutorial/Mob.tscn index 9eb1630..e720d7f 100644 --- a/2d-game-tutorial/Mob.tscn +++ b/2d-game-tutorial/Mob.tscn @@ -48,20 +48,18 @@ animations = { radius = 36.0 height = 100.0 -node name="Mob" type="Node2D"] -script = ExtResource("1_73gb4") - -node name="RigidBody2D" type="RigidBody2D" parent="."] +node name="RigidBody2D" type="RigidBody2D"] collision_mask = 0 gravity_scale = 2.66454e-15 +script = ExtResource("1_73gb4") -node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="RigidBody2D"] +node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] scale = Vector2(0.75, 0.75) sprite_frames = SubResource("SpriteFrames_c1yjy") animation = &"walk" -node name="CollisionShape2D" type="CollisionShape2D" parent="RigidBody2D"] +node name="CollisionShape2D" type="CollisionShape2D" parent="."] rotation = 1.5708 shape = SubResource("CapsuleShape2D_h1pjc") -node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="RigidBody2D"] +node name="VisibleOnScreenNotifier2D" type="VisibleOnScreenNotifier2D" parent="."]

April 28, 2023 · 1 min · Amer Khalid