press any key to skip

Nav

1
2
3
4
5
6
7

Jump

Select

~

Prompt

M

Theme

adam@looney:~$ whoami

looney.eu

INFRASTRUCTURE / AUTOMATION / DEVELOPMENT

adam@looney:~$ cat tagline.txt

Fixing things that don't need fixing and breaking things that didn't need breaking.

I script workflows, deploy infrastructure, preach vim over nano, get unreasonably excited about open source tools and appreciate topping all that off with well-spent game time among friends.

adam@looney:~$ ls sections/
adam@looney:~$

Use keyboard to navigate → · press ~ for the prompt, try "help"

adam@looney:~$ ls ~/contact/

GET IN TOUCH

email [email protected] Get in touch via email
linkedin linkedin.com/in/a-loon Connect on LinkedIn
github github.com/NocFA Check out my projects on GitHub
codeberg codeberg.org/noc Check out my projects on Codeberg
forgejo git.nocfa.net/NocFA Browse my self-hosted Forgejo instance
last.fm last.fm/user/alooneylad See what I'm listening to
adam@looney:~$ neofetch

INFO

──────────────
location Ireland sector IT focus L3 support, system administration (mostly Linux-based), networking, automation, scripting, frontend development interests gaming, music, automation, hardware os Windows, Linux & macOS editor vim (headless unix systems) · jetbrains fleet & phpstorm
Tech done to a looney's standard — still figuring out exactly what that means. Keeping things running, or perish trying.
adam@looney:~$ now-playing --user alooneylad
now playing
adam@looney:~$ watch -n0.5 homelab-status

Infrastructure

connecting...
adam@looney:~$ ls ~/projects/

Projects

MDSF Crew pre-launch

Crew-for-hire platform for Star Citizen. Recruiters post operations and assemble crews. Crew members list availability and build reputation through review-based rankings. Organisations manage squads, ranks, and fleets -- all tied to RSI-verified identities.

MDSF Crew landing page
frontend SvelteKit 2Svelte 5GSAP
backend Fastify 5TypeScriptNode.js 22
data PostgreSQL 16Drizzle ORMRedisPgBouncer
infra Cloudflare TunnelStreaming ReplicationDocker
auth Argon2idTOTP 2FADiscord OAuth2CSRF
payments StripeMulti-currencyWebhooks
integrations Discord BotBrevo SMTPRSI Scraping

features

Operations board with role-based crew assembly, squad management, and ship assignment
Review system with per-role experience tiers (Rookie through Elite)
Organisation system with RSI verification, persistent squads, ranks, alliances
Ship library (247 ships) with fleet management and org fleet pooling
Real-time notifications via WebSocket, Discord bot with slash commands
Subscription tiers, donation system with Hall of Fame, multi-currency pricing
Admin panel with moderation, audit logs, policy management, automated backups
Support ticket system, GDPR data export, account deletion
foo_gifart open source

A foobar2000 component that renders animated GIF files as album art. Drop it in, point the artwork panel at a .gif, and your covers come alive — static art is so last decade.

GIF
Track Title
Artist Name
language C++
platform foobar2000Windows
sdk foobar2000 SDKWIC
gindexer open source

C++ library that indexes a local music collection and resolves cover art by track metadata. Scans directories on startup, watches for changes, and returns matching cover art fast enough for real-time use in discord-music-presence.

language C++17
storage In-memoryLMDB
libraries TagLibefswlmdbxx
Segments open source

Single-binary task and project manager built as a faster replacement for Beads. It combines an LMDB-backed CLI, live web UI, and MCP tools for agent-friendly planning across projects.

Segments task list interface
language Go
storage LMDBJSONL export
surfaces CLIWeb UIMCP
shellwhy open source

CLI that answers "why is my shell doing this?" — inspects a shell session, applies per-shell startup-file rules, safely parses source statements, detects tooling hooks (starship, direnv, nvm, ...), and labels every file with a confidence level instead of pretending static analysis can prove runtime behavior.

shellwhy icon — a terminal with a question mark
language Rust
shells bashzshfishsh/dashkshtcshnu
output humanplainJSONstrace trace mode
noc-homelab open source

Five service hosts spanning macOS and Linux, connected over Tailscale, with a Windows gaming and generation machine alongside them and shared Kopia storage on noc-wardrobe. Runs media, communications, game servers, a knowledge archive, local models, and monitoring.

noc-homelab dashboard
infra TailscaleDockersystemdlaunchd
services Matrix/SynapseEmbyNextcloudGatus
language PythonBash
$ less blog/microsoft-intune-week1.md
Windows Intune findings - Week 1

What in the world is an Intune?


If you ever have the enjoyable opportunity to work with Intune, it’s honestly a nice bit of kit that can sometimes feel confusing and/or deranged to those learning it. It’s a cloud service provided by Microsoft that allows you to remotely configure devices (not just Windows, not just computers) with incredibly comprehensive policies & setup flows, if you ever thought that imaging systems is archaic, Intune has your answer, obviously if you’re happy to pay the price. You heard that right, if you want Intune, you will be paying for it, Microsoft knows how nice this software is and charge reasonably for it all things considered

Tip

You do not need to purchase Intune-specific licensing if you already have 365 Education A3, please research what licenses include intune access, I almost made this mistake, for full details, see the Microsoft wiki entry.

Key takeaways so far


ESP is great when you are licensed appropriately

If you plan on using app installation through ESP (Enrollment Status Page), ensure the account testing the flow is licensed for Intune.

An unlicensed account can cause ESP to stall during application identification or installation. Licensing is not the only possible cause, however. Broken detection rules, incorrect assignments, network issues and failed installers can produce similar behaviour.

Some apps are not as simple as pointing at the Windows Store

For many enterprise and endpoint applications, the recommended Intune deployment method will be documented by the vendor, commonly as an Intune Win32 app.

A Win32 app packages MSI, EXE, PowerShell and other traditional installers into an .intunewin file. Intune then adds the useful Ansible-like behaviour around it: requirements, detection rules, retries, assignments and installation reporting.

The device showing as assigned but not showing in devices, what gives?

This one I didn’t even think was a problem, I just assumed it was slow to reflect in the dashboard, as one thing you learn about Intune is that at times, it can be slow and feel so very outdated for how sophisticated it is.

This wasn’t one of those times, this was me being naïve during my first deployment. Turns out, the MDM url for the Intune endpoint was set incorrectly on the Intune side, so when the device tried to call home, things were not perfectly working & thus didn’t register to devices.

Your first deployment goes wrong, what now?

If you mess up the flow, don’t stress, pending things are Entra joined and Intune enrolled, you can always recover via script or application policies after the fact, Intune makes life a lot easier for remediation post-deploy.

Autopilot registration is not Intune enrolment

A device appearing under Windows Autopilot devices only means Microsoft recognises its serial number and hardware hash and knows which deployment profile it should receive.

It does not mean the current Windows installation is enrolled in Intune. The device only becomes Microsoft Entra joined and Intune managed after it completes the Autopilot flow. This distinction matters when troubleshooting devices that show an assigned Autopilot profile but do not yet appear under managed Windows devices.

Likewise, deleting an Intune managed-device record is different from deleting the Autopilot registration. Removing the Autopilot registration removes the serial-bound deployment capability, while wiping or reinstalling Windows can leave that cloud registration intact for the next OOBE.

Scope your things.

ESP, policy, deploy groups, be verbose with creating profiles & scoping relevant flows to relevant categories, pending you document it well and identify what’s what, all this does is benefit the greater I.T services team & comply wit ITIL methods.

Block mission-critical apps behind ESP, not all apps.

I learned this the slightly more hard way, thought my ESP flow was broken when in fact I had just blocked the flow by putting the entire 365 suite as a required install. This meant instead of the user getting up & running with missions critical apps, they were waiting 15-20 minutes for the ESP flow to complete, which may make your users think something is broken.


Wrapping up.

So far, my time spent with Intune has been enjoyable, I think there’s a lot I still need to peel apart and dig under, but I’m excited to do so, I’ve learned a lot of hard lessons already, I’m sure it has many more to give.

Warmly, Adam.

adam@looney:~$ tree ~/wiki/

WIKI

wiki /5 projects · 14 pages
Per-application docs

Documentation for each project, fed from Obsidian as markdown. Pick a page from the tree — or jump straight in:

segmentssingle-binary task & project manager · 6 pagesshellwhyexplains which startup files control a shell session · 2 pagesnoc-homelabfive service hosts, a gaming workstation and shared monitoring · 3 pagesgindexerC++ music indexer that resolves cover art from track metadata · 2 pagesfoo_gifartanimated GIF album art for foobar2000 · 1 page

From anywhere on the site: man segments in the prompt lands here.

blog/microsoft-intune-week1.md