It's been ~6 years since I last setup a personal computer.
I recently purchased a Lenovo - IdeaPad 1 15" FHD Laptop - Ryzen 5 7520U - 16GB Memory with 256GB SSD Storage - Abyss Blue. I didn't put too much thought into this. I wanted something mostly for browsing the web, possibly gaming (if I ever make time) and occasionally building. It's quick to boot as well. It was only ~$300 on BestBuy. I prefer Apple as the terminal is much more like Linux and it the Apple Silicon hardware acceleration is great. I'm not planning on building anything which requires large memory, lots of CPU or a large GPU. I also like the ethos of projects like DuckDB where they squeeze out performance of small machines. I'll likely use cloud tools if I want to do some serious projects.
Given my hardware specs here are minimal (and Windows!) I'll mostly write about software I'll will install:
Google chrome - this website is hosted on google sites and it is the browser I used the most. I may also use selenium for some web projects. I had to switch of out of S mode to install this (to install apps from outside of the Microsoft Store).
PowerShell - I need a terminal and I'll create some aliases to help my autopilot mac/linux key strokes:
Set-Alias which Get-Command
(note I had to do notepad $PROFILE to store aliases)
Python - there are N ways to install python. I installed python 3.13 from the Microsoft store.
uv - to install python packages fast!
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
and some helper functions to make sure i'm using the right python/ipython/jupyter:
function uvv {
uv venv
.venv\Scripts\activate
}
Set-Alias uvipython ".venv\Scripts\ipython"
function uvjupyterlab {
$originalDir = Get-Location # Save the current directory path
cd $env:APPDATA
# https://github.com/jupyterlab/jupyterlab/issues/9250?form=MG0AV3?form=MG0AV3#issuecomment-812870378
mklink /j jupyter "$env:APPDATA\..\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\Roaming\jupyter"
cd $originalDir # Change back to the original directory
.venv\Scripts\jupyter lab
}
function gitcommitm {
param (
[string]$message
)
git add -A
git commit -m $message
git push
}
function pc {
pre-commit run --all-files
}
function rmrf {
param (
[string]$InputPath
)
Remove-Item -Path $InputPath -Recurse -Force
}
function touch {
param (
[string]$Path
)
if (-not (Test-Path $Path)) {
New-Item -Path $Path -ItemType File
} else {
(Get-Item $Path).LastWriteTime = Get-Date
}
}
pixi - to install conda packages fast. I'll only use this if I need not python packages such as GDAL.
powershell -ExecutionPolicy ByPass -c "iwr -useb https://pixi.sh/install.ps1 | iex"
git - how is this not included?
winget install --id Git.Git -e --source winget
vscode - from the Microsoft store for my code editor with extensions:
GitHub co-pilot - for code suggestions and chat. The speech extension is fun as well. Ctrl + I will open the chat interface.
Git lens for a better UI of git repositories.
Python.
Ruff for linting.
my settings.json are:
{
"git.autofetch": true,
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
Ubuntu - WSL FTW
wsl --install
I can now use this to install python packages that aren't built for windows or try tools such as Open-CL for GPGPU.