Updated some older posts to improve readability

This commit is contained in:
Hamza Ahmed
2024-01-04 19:42:49 +00:00
parent 510de47e68
commit 8ddd7eb3b2
4 changed files with 120 additions and 156 deletions
@@ -1,68 +0,0 @@
---
title: Away with local dev environments
date: 2023-11-24
author: ahmza
draft: true
weight:
tags:
description:
canonicalURL: https://blog.ahmza.com/Page%28/posts/Away-with-local-dev-environments%29
cover:
image: /webp/posts/away-with-local-dev-environments/feature.webp
alt: <alt text>
caption: <text>
relative: false
---
## **Introduction**
Over the past few years I have been constantly iterating on my local development environment across multiple devices. This has become a headache having to manage all of these changes across all of my devices.
## How it used to be
I work across 4 devices:
- Work MacBook Pro
- Desktop PC
- Personal Linux Laptop
- IPad
Each of these systems involve their own initial setup as well as installing my [dotfiles](https://gitlab.com/ahmza/dot). In an attempt to make this process easier I created a [script](https://gitlab.com/ahmza/dotinstall) that would handle the dotfiles. The problem this introduced however was one more THING to maintain. I continued like this for a while until I picked up an IPad.
## Eureka
When I picked up the IPad its purpose was simple:
- Streaming media
- Creative Endeavours
- Basic Note taking
As I used the IPad more I became invested in the idea of it being able to replace a laptop. Its light and fits into my sling bag when I ride. So if it can do the tasks my laptops can then it makes the perfect travel device.
Off the bat Emails and Slack are easy enough. Video meetings if required are easier than the laptop. It is able to hammer through image processing for my street photography and I am able to edit video off the GoPro thanks to the M2 chip and thunderbolt.
The one fatal flaw was struggling to find a good shell interface. so the search began. I finally came across [ISH](https://ish.app/) and fell in love. However of course it has its limitations and I didn't want to install a bunch of extras on the IPad. So I needed a remote device I could SSH to.
My initial thinking was one of the main devices listed above however that meant making sure they are up and available all the time which is not always the case. I then considered the [RPI Cluster](https://blog.ahmza.com/posts/building-a-docker-swarm-with-pis/) however I did not want to interfere and again install unnecessary packages there. Then it clicked ... THE CLOUD.
## WIN !!
I spun up an EC2 instance in aws. Which meets all my requirements:
- Available whenever I need it
- Powerful enough
- Native Linux
Now all I need to do is SSH to that machine and boom I have everything I need to work on my projects.
No more spending hours setting up a new device with all the dependencies and dotfiles. All I need to do is add the SSH key and go from there.
Ok maybe change some terminal colours.
## **Conclusion**
Working like this also means I can leave stuff running in the "background". So I need to learn to use [tmux](https://github.com/tmux/tmux/wiki)
- https://github.com/tmux/tmux/wiki
- https://www.youtube.com/watch?v=DzNmUNvnB04
- https://www.youtube.com/watch?v=-B5VDp50daI
- https://www.youtube.com/watch?v=H70lULWJeig
- https://www.youtube.com/watch?v=qyV_hOtMdwg
- https://www.youtube.com/watch?v=ceRYL271cao
@@ -0,0 +1,23 @@
---
title: Be More Productive by Being Bored
date: 2024-01-02T23:48:23Z
author: "ahmza"
draft: true
weight:
tags: ["Prodcutivity","Lifestyle","Minimalism"]
description: "In the modern age we are overwhelmed with stimuli. Learning to cut out the noise is the answer"
canonicalURL: "https://blog.ahmza.com/Page%28/posts/be-more-productive-by-being-bored.md%29"
cover:
image: "<image path/url>" # image path/url
alt: "<alt text>" # alt text
caption: "<text>" # display caption under cover
relative: false # when using page bundles set this to true
---
## **Introduction**
## **Conclusion**
+15 -26
View File
@@ -1,5 +1,4 @@
--- ---
title: Welcome 👋 title: Welcome 👋
date: 2021-12-01T13:36:08Z date: 2021-12-01T13:36:08Z
author: "ahmza" author: "ahmza"
@@ -16,40 +15,30 @@ canonicalURL: "https://blog.ahmza.com/Page%28/posts/Setup-an-NGINX-Reverse-Proxy
showtoc: false showtoc: false
searchHidden: true searchHidden: true
--- ---
### Hello World ### Hello world
The mandatory hello world when you start something new. The mandatory hello world when you start something new.
I'd like to say thank you for visiting my site and I hope that you I'd like to say thank you for visiting this site.
gain something valuable from it.
### A bit about me ### A bit about me
I'm currently based in the UK in the early stages of my career. And I'm based in the UK, and like most people -- probably you -- I'm
like most people - possibly you - I am very interested in learning interested in learning new technologies and techniques.
new technologies and techniques.
I get bored fairly easily and so I have to keep my self busy by I get bored, so to keep myself busy I learn new stuff. This site exists because
learning new stuff. The reason this site exists is because I wanted I wanted to learn how web servers work and along the way I learned a lot about
to learn how web servers work and long the way I learned a lot of neighboring moving parts.
other stuff too.
I feel If you are interested in something then definitely go ahead I'm enthusiastic about learning and love when people sharing my findings.
and try to learn it I'm sure you will learn a lot more than you I am slowly building my network of people whom I can share my progress with and
expect. Like a lot of people say collaborate.
> ***Its about the Journey as much as it is the destination*** I have always tinkered and naturally gained an interest for technology, I don't
limit myself to one part of tech I try to dabble in a bit of everything. one
hobby that has stuck with me is photography where you have to understand the
camera and its limits to adapt to different situations.
I have always tinkered and naturally gained an interest for You can see some of my photography on my Instagram.
technology, I don't limit myself to one part of tech I try to dabble
a bit in everything. I love photography as you operate the camera and
in certain situations have to learn to develop film 😂 but I also get
to incorporate the creative side.
Check out my photography focused site here photos.ahmza.com
If you would like to learn more about me then feel free to contact me
on any of my social media.
+82 -62
View File
@@ -1,94 +1,114 @@
--- ---
title: "You Need to Learn Linux \U0001F427" title: You Need to Learn Linux 🐧
date: 2021-12-17T19:16:50Z
author: "ahmza"
draft: false
weight:
tags: ["Linux"]
description: "Here's why you should learn Linux"
canonicalURL: "https://blog.ahmza.com/Page%28/posts/you-need-to-learn-linux.md%29"
cover:
image: "/webp/posts/learn-linux/feature-anim.webp" # image path/url
alt: "learn-linux" # alt text
caption: "<text>" # display caption under cover
relative: false # when using page bundles set this to true
showtoc: true
searchHidden: false
--- ---
## **Introduction** ## **Introduction**
You need to learn *Linux* because there is no reason not to. If you **You need to learn *Linux*** !!
are pursuing a career in IT, without a doubt you will come across
*Linux* and having even basic knowledge is very helpful. Many people
struggle with the OS simply because it's fundamentally different
compared to the other operating systems, but with a bit of time you
can master the basics and unlock it's true power.
{{\< video label="true power" webm="/webm/mha-power.webm" >}} Without a doubt you will come across *Linux* at some point in your IT career and
having baseline knowledge is helpful. *Linux* can seem daunting, it's
fundamentally different compared to windows. but with a bit of time you can
master the basics and unlock its true power.
{{< video label="true power" webm="/webm/mha-power.webm" >}}
## **But Why** ## **But Why**
**Linux is everywhere**, from data centres to your smart toaster. So - ***Linux* is everywhere**, from data centres to your smart fridge. A lot of
if you are interesting in anything IT related then it's a great asset developers at Google use *Linux*. In fact access to the full codebase is given
to have. on *Linux*.
Linux is great for power users because it allows you to customise all - **Power user?** The ability to personalise all aspects of the system **make it
aspects of your workflow to make it yours. The amount of your** system. This can result in you chasing the white rabbit, but the feeling
customisability is mind blowing and an endless rabbit hole which is of booting into a system that's yours from start to finish is something else.
awesome as there is always something you could implement to improve
your workflow.
Another great aspect of the customisability is the crazy number of - **Make it pretty** - You can create something that's **functional and beautiful**
options you can choose from to theme and tailor the Linux desktop [r/unixporn](https://www.reddit.com/r/unixporn/)
experience to your liking. For some great and inspiring examples
checkout [r/unixporn](https://www.reddit.com/r/unixporn/). This
is what drove me to switch to Linux and Arch specifically.
Linux is very Light weight (Depending on Distribution) and much **Lightweight and extensible** limiting the fluff. Making *Linux* by default a
faster than competing operating systems simply because more often lot faster than other operating systems.
than not the distributions of Linux are not filled with bloatware.
The most extreme examples of this are distros like Arch or something ## **Ok but what about ...**
like LFS (Linux From Scratch) where you get a completely bare bones - **Application Support** - Some popular applications you use may not be
installation of Linux and are required to install everything from available e.g Microsoft Office and the Adobe suite. All is not lost though,
Network Managers, to the Desktop Environment, although this can seem there are alternatives if you can spend the time learning new software.
pointless at the start as you use more and more distros you will find
things you like and don't on each and something like Arch allows you - **Drivers** - More often than not *Linux* just works. Edge cases could rise
to choose every bit of software that is installed and come up with that you might struggle with, don't give up Google it and dig in !!
something completely custom. Plus then you can say `I use Arch BTW`
## **How can you start** ## **How can you start**
> please note the steps below will require further reading to set up
### **Install Linux as your main OS** ### **Install Linux as your main OS**
This is the full send option. **This is the full send option.** It may take you a while to acclimate but I feel
this is the fastest option to success as you force yourself into learning.
*Linux* Distributions I have enjoyed using:
A great Distribution that I recommend is [Manjaro with KDE Plasma](https://manjaro.org/downloads/official/kde/) - [Ubuntu](https://ubuntu.com/download/desktop) - Beginner friendly
as it offers a heavily customisable desktop environment `KDE Plasma` - [Manjaro](https://manjaro.org) - OS Basics set up, provides more flexibility
and Manjaro itself is a great as it's Arch based but does not require - [Arch Linux](https://wiki.archlinux.org/title/installation_guide) - Jump in the deep end, go from start to finish and learn all about *Linux's* moving parts
you to start from step 0.
### ***MacOS*** **Terminal** ### ***MacOS* Terminal**
*MacOS* is actually *UNIX* based and so **if you have an *apple **If you do not own a *MacBook* skip this due to cost 💸**
Mac/MacBook* all you need is the Terminal** application. I used this on
my work machine and it's a great alternative to the full send option.
However I do not recommended this if you don't own one of these devices
already due to cost 💸
*MacOS* is *UNIX* based, **if you own a *MacBook* download a Terminal Emulator**
-- [iterm2](https://iterm2.com/) or [kitty](https://sw.kovidgoyal.net/kitty/binary/)
both great options -- install [Homebrew](https://brew.sh/) and get going.
### ***Windows WSL*** ### ***Windows WSL***
The *Windows Subsystem for Linux* is another great option to get started *WSL* installs the *Linux Kernel* and allows you to use the *Linux* terminal
with *Linux*, it installs the *Linux Kernel* in windows and allows you within *Windows*. This does have its limitations but a low bar to entry.
to play around in a real *Linux* environment.
### **Virtual Machines** ### **Virtual machines**
If there is a specific Distribution of *Linux* you want to try then Virtualising *Linux* is another great option. VMs are quick to spin up and remove
this is a great option. However if you want to simply get to know providing the ability to try out a handful of distributions with ease. This does
*Linux* then choose the *MacOS* terminal or *WSL* methods as they are come with the condition of having a device that can handle virtual machines
a lot lighter on system resources meaning:
- A CPU capable of virtualization
- enough free RAM for the VMs
### **Buy a secondary device**
Have another cheap laptop or desktop to run *Linux*. This will cost you a bit
more than the options above. If you're considering a second device then look
at the Thinkpad lineup. These laptops are rugged and highly upgradeable.
Two Thinkpad Models I own:
- T440P
- T480 *(Non S model)*
## Conclusion ## Conclusion
**Why are you still reading go and get stuck in with *Linux* 💨** **Why are you still reading go and get stuck in with *Linux* 💨**
{{\< video label="do it" webm="/webm/do-it.webm" >}} {{< video label="do it" webm="/webm/do-it.webm" >}}
As with anything learning *Linux* is a journey and will take time. **Learning *Linux* is a journey that will take time. Enjoy the experience of
Enjoy the experience of learning it and uncovering it's hidden powers learning and uncovering it's hidden powers.**
because it is well worth it. I have linked some great resources for
other great Linux related content that helped me.
[DT youtube Channel](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg) I have linked some great resources for other great *Linux* related content that
helped me:
[r/unixporn](https://www.reddit.com/r/unixporn/) - [DT YouTube Channel](https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg) -
Covers *Linux* related topics
[Arch Wiki](https://wiki.archlinux.org/) (Although specific to Arch - [r/unixporn](https://www.reddit.com/r/unixporn/) - Get inspired and make *Linux* pretty
this is a great knowledge base, also useful for Manjaro as it's Arch based) - [Arch Wiki](https://wiki.archlinux.org/) - Although specific to Arch, it's a great knowledge base