Apple iPhone - A Masterclass in Refinement

When it comes to smartphones, I always come back to the iPhone. I’ve tried others, but nothing quite matches the consistency and polish that Apple delivers. The minimal design, solid build quality and smooth performance make it a device that feels refined from day one and stays that way over time. ...

June 15, 2025 · Niklas Amundsson

Apple iPad - The Modern Notebook?

When it comes to tablets, the iPad stands in a league of its own. I’ve used others, but nothing quite delivers the same balance of power, design and everyday usability. It’s clean, lightweight and built with purpose — whether I’m reading, sketching, or working on the go, it just fits into my workflow. The display on the newer models, especially with the tandem OLED technology, is stunning. It’s bright, crisp and handles color with incredible accuracy. Watching movies, editing photos, or simply browsing feels immersive. It’s one of those features you instantly notice and it’s hard to go back once you’ve seen it. I also use the Paperlike screen protector, so in all honesty I do not take advantage of the screen, but the writing and sketching experience is more important for me. ...

June 14, 2025 · Niklas Amundsson

Why the MacBook Is My Ultimate Productivity and Programming Companion

When it comes to getting work done, I always choose a MacBook. I’ve used other laptops, but nothing matches the smooth, reliable experience Apple delivers. The solid aluminum body, minimal flex, and clean design give it a premium look and feel. It’s a device that holds up both physically and functionally over time. As a programmer, I rely heavily on the Terminal. On macOS, it’s fast, clean, and generally works like magic. The touchpad is the best I’ve used. It’s responsive, spacious, and supports gestures that actually improve workflow. You don’t need a mouse especially when writing code. The keyboard is also excellent, Comfortable, quiet, and reliable. ...

June 13, 2025 · Niklas Amundsson

A Goodbye to Instagram

In my ongoing journey toward a more intentional and simplified digital life, I recently made the decision to delete my Instagram account. It wasn’t an impulsive choice, but rather the result of months of reflection on how I engage with social media and how it shapes my time, focus, and well-being. Still, I didn’t want to lose the memories I had shared there — moments that once felt meaningful enough to post, from everyday snapshots to special milestones. ...

May 24, 2025 · Niklas Amundsson

You Suck at Parking

“You Suck at Parking” is the perfect title, because wow, it will absolutely make you question every bit of your driving ability. The single-player campaign is a brutal test of precision, reflexes and sheer stubbornness if you’re chasing those gold medals. One second, you’re gracefully weaving around corners, the next you’re punched across the map by a boxing glove, wondering how it all went so wrong. Multiplayer is where it gets even more chaotic. What starts as a friendly race to the closest parking spot quickly devolves into bumper car mayhem, complete with shouted accusations and reckless revenge rams. It’s the kind of game that makes you cackle and curse at the same time - usually at yourself. ...

May 7, 2025 · Niklas Amundsson

Make Good Choices

This game had me laughing, stressing and questioning all my life decisions - sometimes all at once. Make Good Choices is basically a chaos simulator where your panic is part of the fun. Every choice feels like it might be the wrong one - and honestly - that’s what makes it great. If you enjoy games that mess with your head just enough to keep you hooked (but not enough to uninstall out of rage), give this a go. It’s anxiety with a smile. ...

May 6, 2025 · Niklas Amundsson

Home Assistant

General The Home Assistant OS, installed via the Proxmox Community Script, to easily manage all smart home devices. This way I can add devices to my Apple HomeKit that would normally not be compatible. Automations Fire Alarm alias: Fire Alarm description: >- An automation that alerts all mobile clients and turns every light to the brightest setting. triggers: - type: smoke device_id: a64a79a3f5968b9979fd3db73d997d51 entity_id: 5340a05ab5b6049ff76d13bb8bb5a6fd domain: binary_sensor trigger: device conditions: [] actions: - action: light.turn_on metadata: {} data: kelvin: 6500 brightness_pct: 100 target: label_id: light - action: script.notify_clients_critically metadata: {} data: message: Fire @ Home 🔥 mode: single Lights at Sunset alias: Niklas Lights Sunset description: >- An automation that turns on the lights at sunset to a specified brightness setting. triggers: - trigger: sun event: sunset offset: 0 conditions: [] actions: - action: script.niklas_ceiling_lights_brightness metadata: {} data: percent: 10 mode: single Motion alias: Niklas motion description: >- An automation that activates a specific light when it detects motion and also deactivates after two minutes of no motion triggers: - type: motion device_id: a916991384e0b975a9fdf81013c101c0 entity_id: 541fcf5a3cfa9b4db6f517b07bc4e038 domain: binary_sensor trigger: device id: "1" - type: no_motion device_id: a916991384e0b975a9fdf81013c101c0 entity_id: 541fcf5a3cfa9b4db6f517b07bc4e038 domain: binary_sensor trigger: device for: hours: 0 minutes: 2 seconds: 0 id: "2" conditions: [] actions: - choose: - conditions: - condition: trigger id: - "1" sequence: - action: light.turn_on metadata: {} data: {} target: entity_id: light.niklas_ceiling_lamp - conditions: - condition: trigger id: - "2" sequence: - action: light.turn_off metadata: {} data: {} target: entity_id: light.niklas_ceiling_lamp mode: single Switch alias: Niklas Switch description: >- An automation that handles the button presses of the Shelly Switch to control lights. triggers: - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_1 subtype: press trigger: device id: "1" - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_2 subtype: press trigger: device id: "2" - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_3 subtype: press trigger: device id: "3" - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_4 subtype: press trigger: device id: "4" - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_3 subtype: double_press trigger: device id: "5" - device_id: 1116faebff9a146fb8548824987d2047 domain: bthome type: button_4 subtype: double_press trigger: device id: "6" conditions: [] actions: - choose: - conditions: - condition: trigger id: - "1" sequence: - action: script.niklas_ceiling_lights_toggle metadata: {} data: {} - conditions: - condition: trigger id: - "2" sequence: - action: automation.toggle metadata: {} data: {} target: entity_id: automation.niklas_motion - conditions: - condition: trigger id: - "3" sequence: - action: script.niklas_ceiling_lights_brightness_step metadata: {} data: percent: 10 - conditions: - condition: trigger id: - "4" sequence: - action: script.niklas_ceiling_lights_brightness_step metadata: {} data: percent: -10 - conditions: - condition: trigger id: - "5" sequence: - action: script.niklas_ceiling_lights_brightness metadata: {} data: percent: 100 - conditions: - condition: trigger id: - "6" sequence: - action: script.niklas_ceiling_lights_brightness metadata: {} data: percent: 10 mode: single Set Temperature alias: Set temperature description: >- An automation that sets the target temperature for radiators, during daytime and nighttime. triggers: - trigger: time at: "06:30:00" id: "1" - trigger: time at: "21:30:00" id: "2" conditions: [] actions: - variables: day_temperature: 20 night_temperature: 18 - choose: - conditions: - condition: trigger id: - "1" sequence: - action: climate.set_temperature metadata: {} data: temperature: "{{ day_temperature | float }}" target: label_id: radiator - conditions: - condition: trigger id: - "2" sequence: - action: climate.set_temperature metadata: {} data: temperature: "{{ night_temperature | float }}" target: label_id: radiator mode: single Scripts Light Brightness sequence: - action: light.turn_on metadata: {} data: brightness_pct: "{{ percent }}" target: entity_id: light.niklas_ceiling_lamp alias: Niklas ceiling lights brightness description: Script to turn lights on with a variable percentage. Light Brightness Step sequence: - action: light.turn_on metadata: {} data: brightness_step_pct: "{{ percent }}" target: entity_id: light.niklas_ceiling_lamp alias: Niklas ceiling lights brightness step description: Script to increase brightness with a variable step. Light Toggle sequence: - action: light.toggle metadata: {} data: {} target: entity_id: light.niklas_ceiling_lamp alias: Niklas ceiling lights toggle description: Script to toggle a specific light between off and on. Notify Clients sequence: - action: notify.persistent_notification metadata: {} data: message: "{{ message }}" - action: notify.notify metadata: {} data: message: "{{ message }}" alias: Notify Clients description: Script to notify al clients of a variable message. Notify Clients Critically sequence: - action: notify.persistent_notification metadata: {} data: message: "{{ message }}" - action: notify.mobile_app_niklass_iphone_15_pro metadata: {} data: message: "{{ message }}" data: push: sound: name: default critical: 1 volume: 1 - data: message: "{{ message }}" data: ttl: 0 priority: high channel: alarm_stream action: notify.mobile_app_pixel_8 alias: Notify Clients Critically description: Script to notify al clients of a variable message ignoring clients mute status. Devices Shelly Duo RGBW (3x) Shelly Smoke Plus Shelly Blu Gateway Shelly Blu TRV Shelly Motion Sensor Shelly Bluetooth Switch

April 29, 2025 · Niklas Amundsson

Unrailed

Unrailed! is chaotic co-op at its finest. You’re scrambling to lay tracks, chop trees and dodge flaming cows - all while yelling at your friends like it’s a team-building exercise gone wrong. Hectic, hilarious and way more strategic than it first looks. Play this with friends. Trust me, the chaos is half the fun. 10/10 would derail again. Title: Unrailed Developer: Indoor Astronaut Release date: September 23, 2020 Play on Steam Tags: Online Co-op Local Co-op Multiplayer Action Casual Indie

April 8, 2025 · Niklas Amundsson

Awaria

Chaotic fun with a brutal twist This game is a blast - especially if you’re into chaotic, challenging gameplay. On normal mode, it’s a smooth ride. But switch to hard mode and it’s a whole different beast. No rescue drone means no second chances - if you’re going for 100% achievements, you’re basically signing up for a no-hit run on every level. Still, I absolutely recommend it. Whether you’re here for the fun or the pain, it’s worth every minute. ...

April 6, 2025 · Niklas Amundsson

The Stanley Parable: Ultra Deluxe

The Stanley Parable - Where Even Walking in Circles Feels Profound If you want a game where your every random action gets acknowledged - and sometimes roasted - The Stanley Parable is perfect. The dialogue is sharp, hilarious and weirdly philosophical. Whether you’re following directions or stubbornly ignoring them, the game always has something clever (or unsettling) to say about it. It’s less about “winning” and more about poking the edges of the experience to see what breaks - and the game wants you to do that. Open a door you’re not supposed to? Take the elevator five times? Stand still for ten minutes? The narrator will notice, and you’ll love what he has to say. ...

April 1, 2025 · Niklas Amundsson