Building the Ideal Technology Environment

I spend a lot of time on my technology. Probably too much. But I get paid to click the buttons in the right order, and to say the right thing at the right time. So I should probably like the ecosystem that I find myself in.

Over the last year I’ve gone on a journey to find out what my ideal technology environment would be. I wanted to get the right tools for my needs – those needs being as follows:

  • Virtualization and Linux containers
  • Note taking and writing
  • Diagraming and documenting
  • SSH client
  • Video editing
  • File Syncing
  • Audio production
  • Powershell, Ansible, Terraform, and Bash scripting
  • Photo editing
  • Digital Forensics
  • Log Aggregation
  • Web browsing

So obviously, there is no one device that is going to meet all of these needs. Well there are, but they’re prohibitively expensive, often unrepairable, and not particularly great at any one task. No, these needs will be met with a combination of hardware and software, ranging various form factors.

Lets break down these needs and what combination of hardware and software is used to address them.

The Hardware

Laptop / Tablet: iPad Pro 11″ M2 + Cellular 128GB

My main device, that I use for nearly everything, is my M2 iPad Pro. It has the most color accurate screen, it is the most portable thing I can use to get real work done, and it is blazing fast. No, it doesn’t meet all my needs. That is where my servers come in.

Accompanying the iPad Pro is a Magic Keyboard and Apple Pencil. These turn it into a productive powerhouse. Most of the time I use the iPad in the Magic Keyboard, but have been using it independantly more lately.

I can’t praise the iPad Pro enough – it is my ultimate personal computer. It does everything I need to do except virtualization. There is a massive library of software available that meet my every need.

Phone: iPhone 12 64GB

My phone, while not the newest, is serviceable. Unlike my iPad, I don’t need it to be blazing fast or anything special. I just need a decent camera and good enough performance. For me, the iPhone 12 still meets all my needs.

Server: 2x Lenovo P300, 5TB Total Storage

For the servers, I’ve repurposed some old desktops and stuffed them with hard drives. These guys run Proxmox, and each has 24GB of RAM.

These servers host virtual machines that comprise my security testing lab and analysis environment using a combination of Windows and Linux guests.

Desktop: Dell Optiplex 9050 1.5TB Total Storage

And finally, my desktop. My desktop isn’t the best thing ever – 6th gen i7 with a GTX 1060 GPU and 16GB DDR3 RAM. This is the main thing not meeting my needs. It just isn’t fast enough. My main device, the iPad Pro, is more than twice as fast in all respects. This is just for playing games mainly.

What is nice about the desktop is that I have some nice ergonomic peripherals – specifically a split ergonomic keyboard, a vertical mouse, and a USB trackpad. The trackpad sits on the left of the keyboard, and mouse on the right. This gives me access to all the laptop touchpad gestures across different operating systems while maintaining the precision of a mouse.

On the desktop I switch back and forth between Linux (Fedora Silverblue) and Windows 10. I was running Windows 11 for a while, but the weird laginess of the OS thew me off.

This is the only item I want to replace as soon as possible. I’m thinking that I’ll get an M1 Mac Mini as those can be found for fairly cheap. My iPad would still be more powerful, but only by 15%.

Smartwatch: Apple Watch SE

I don’t really need much from my watch. Just for it to show my notifications, track health metrics, and run some voice commands. For that the 1st gen Apple Watch SE is just fine. My model has cellular too, which is a nice plus. It enables me to leave my phone at home when I’m going on a short walk, and would be handy if I was out and about and broke my phone.

All I do from the watch is control media playback, view notifications, and read my email. Oh and trigger shortcuts via Siri. Super basic usage.

The Software

I will break down each software item and it’s corresponding hardware by the above listed needs.

Virtualization and Linux containers

Hardware: Lenovo P300 x2

Software: Proxmox / KVM

For my server, which is used to host my security lab, I am using Proxmox. This is a mature, easy to use virtualization platform which utilizes the ubiquitous KVM. It is also possible to automate aspects of the Proxmox system using Ansible and Terraform.

I actually host my containers out of a virtual machine hosted on the servers. I prefer to keep my containers all in one virtual machine, because it makes it just that much more portable.

Note taking and writing

Hardware: iPad Pro 11″ M2 and Apple Pencil

Software: Obsidian / OneNote

I use the iPad Pro extensively for taking notes. For my personal use, I leverage Obsidian. Obsidian is an open source cross platform note taking application that stores your notes in plain markdown files. This means you have the flexibility of rich text editing and the portability of plain text.

I keep my Obsidian vaults loaded in my iCloud which syncs to my phone, iPad, and desktop.

For business use, my company supports OneNote so that is what I use. The handwriting to text functionality of OneNote is superb. It allows me to take hand written notes in meetings with my coworkers and then transform them into text.

Diagraming and documenting

Hardware: iPad Pro 11″ M2 and Magic Keyboard + Apple Pencil

Software: Adobe Illustrator / Apple Pages

For making diagrams and documentation, I find Adobe Illustrator to be flexible enough to meet these needs. I have a folder in my iCloud storage of stock vector graphics that I use in Illustrator to give it a consistent feel with other diagrams you find online.

the Magic Keyboard and Apple Pencil really do great at leveraging the iPad’s flexibility to deliver results. I also use Illustrator on the desktop, but find the iPad form factor more productive for diagraming.

For writing the documentation itself I use Apple Pages. Pages is Apple’s Word competitor and it is fully featured on the iPad. Unlike the Word iPad app, it can actually do everything you would need in a document writer.

SSH client

Hardware: iPad Pro 11″ M2 and Magic Keyboard

Software: Termius

Termius is a great little application. It allows you to save a list of hosts and credentials and you can easily connect over SSH with just a tap. The paid plan gives you syncing abilities and SFTP in the file browser, but it is not worth the abhorrent cost.

As far as using the app, it gives you a menu of useful buttons not normally found on the virtual keyboard. But obviously if you’re going to work in a command line interface you need a keyboard.

The Magic Keyboard is serviceable. Not the most ergonomic, kind of small, and only okay feeling keys. But considering it only has 11″ diagonal to work with, I think it can be forgiven. What can’t be forgiven is the $300 price tag. I was gifted my Magic Keyboard, and I wouldn’t spend that amount on one brand new. Not worth it.

Video editing

Hardware: iPad Pro 11″ M2 and Apple Pencil

Software: Davinci Resolve / Adobe Premiere Rush

For my videos I am still trying to figure out what the best software is. Davinci Resolve is much more fully featured than Premiere, and Premiere is a bit laggier, but Premiere has the better interface. I don’t use a lot of advanced tools in Davinci Resolve, so I can usually get by on Premiere.

One nice thing about these desktop class video editors is that I can copy the projects from one platform to another. However, due to my desktop computer’s limited horsepower, it usually makes more sense to stick with the iPad.

I will say that Premiere is compatible with more media file types than Davinci Resolve is by default, so if compatibility is important keep that in mind.

File Syncing

Hardware: all

Software: iCloud Drive

I use iCloud Drive for all my file storage. This keeps it synced across all my devices, and with Apple’s advanced data protection enabled all my files are end to end encrypted. OneDrive, as an alternative, does not end to end encrypt your files. Microsoft says they have full access in their privacy policy. Apple does not. Do with that what you will.

To keep my files backed up, I have a Windows 10 virtual machine running on my server that creates daily archives of my iCloud drive on protected encrypted storage. These archives get uploaded to Proton Drive for off site and redundancy. I feel pretty secure in my file storage.

Audio production

Hardware: iPad Pro 11″ M2 + MIDI Keyboard

Software: Logic Pro

I’m a hobbyist music creator, with nothing worth sharing but fun none the less. I don’t have a lot to say here other than it works and it works well.

Powershell, Ansible, Terraform, and Bash scripting

Hardware: iPad Pro 11″ M2 + Magic Keyboard AND Lenovo P300 “Servers”

Software: iPad Code, Azure DevOps

I do all of my shell scripting from my iPad. There is a great app for iPad OS called “Code” which is literally VS Code but for the iPad. It allows you to connect to remote servers over a variety of mediums, and you can run the code you’re writing in the app on those remote endpoints.

Basically, I have dedicated environments for all of my projects that I connect to from my iPad to work on them. This keeps everything separated and clean.

I chose Azure DevOps for my code repo because I liked the feature set and that it had great support for self hosted pipeline agents. I just commit my code from my iPad to the DevOps repo, then the pipeline, hosted at my house, executes the code and does whatever I need done. Really handy. It also has a built in Trello style board for tracking projects.

Photo editing

Hardware: iPad Pro 11″ M2 + Apple Pencil

Software: Adobe Photoshop / Lightroom

My iPad Pro has the best most color accurate screen I own, so I use that for editing my photos. Lightroom is the industry standard, so I use that mainly. For more in depth editing I use Photoshop, again industry standard.

Both Lightroom and Photoshop are fully featured enough for what I do, but professionals would be better served with the desktop versions of those programs.

Digital Forensics

Hardware: Servers

Software: Lots!

I’ll do a separate write up about my digital forensics test lab. It is very involved – lots of moving parts but it all comes together to do automatic analysis of Linux malware samples collected from a honeypot exposed to the public internet.

Log Aggregation

Hardware: Servers

Software: Wazuh

I use the Wazuh platform for collecting and alerting on all of my logs. It is a great tool that can be fashioned into a full on XDR solution with the right automation. This enables me to see all my logs from all my devices and services in one place and create custom alerts and automated actions. For example, I have an alert for when my critical servers go down or when there is up to date software available.

Wazuh is a super powerful tool, and I’ll probably do a write up on how you can set it up for yourself with Terraform and Ansible.

Web Browsing

Hardware: iPad Pro M2 11″

Software: Safari

Kind of basic and boring I know. But I do most of my web browsing in Safari on my iPad. The support for extensions and profiles is a must. I don’t use Safari by choice, I use it because I have to.

Building the Perfect Tech Ecosystem

What I did to figure out the best tools for me, was to list out everything I wanted to do. Once I had that list, I then created a list of what the best software to do those things would be. Finally, I created a list of the hardware I’d need to best run that software. I tried to pick the best of the best for each item – and I think I did well!

Let me know what your perfect ecosystem is.