Skip to content
View NorthernLightsDevel's full-sized avatar

Block or report NorthernLightsDevel

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse

My name is Per Øyvind Håvelsrud, and I'm the NothernLightsDeveloper.

The name isn't just a gimmick; it’s a nod to where my journey with technology truly began. During a year studying space technology at Andøya, I had two pivotal discoveries: the elegant physics of the Aurora Borealis, thanks to Kristian Birkeland's foundational science, and the creative power of programming, through my first encounter with Borland C++. That intersection of natural wonder and logical structure has defined my passion ever since.

Like many kids in the 90s I didn't get access to my first compyter before the age of 10, my journey then, begun by tinkering with VB scripts I didn't fully understand. But that year in Andøya ignited a purpose. Today, I am a professional consultant and software developer, guided by a philosophy I call Pragmatic Craftsmanship. I believe in building robust, effective solutions while honoring the craft of writing clean, readable, and performant code. This isn't just theoretical; it's an approach I've applied in demanding roles, including serving as a tech lead and developing systems to manage power grid usage data for Elvia, the utility provider for Oslo.

My career has been a journey of evolution. It began with hardware, automating tests for a manufacturing plant where I learned C# to interface with TestStand and LabVIEW. That role pushed me to go deeper, teaching myself VHDL to design a video switch matrix and embedded C to build test equipment that reported back over Telnet, USB, and RS232.

After ending my time as a test developer, I joined a web development company specialising in delivering a CRM solution to Member organizations, at this position, I worked as a lead developer on their effort to modernize from a solution designed in the 90's, to a more modern solution designed for the late 2010s, The original solution was built on VB.NET with WebForms and was hosted in IIS. To modernize this application, we decided to continue using VB.NET and a lot of the old architecture, as rewriting from scratch, acording to one of the original creators, would take more time, as a pragmatic developer, I could certainly agree that rewriting everything from scratch not always is the best option, but if I had more experience when starting this task, I would certainly redesign a lot of the solution, as it wasn't even a solution, and used VB loose interpretation to "automatically" bind things, mostly, correctly together.

While my roots are deep in the Microsoft ecosystem (C#, VB.NET, IIS, TFS), my curiosity has led me on countless side quests. I've migrated companies from TFS to Git, navigated a broad spectrum of databases from SQL Server to Google Bigtable, and explored the frontend with jQuery, Vue, and Angular. This path of continuous learning eventually led me from the comfort of JetBrains Rider to the minimalist power of Neovim and the granular control of Arch Linux—a journey of enlightenment I continue to document on this blog.

My Toolkit

  • Primary Languages: C#, Go, Java, Kotlin
  • Hardware/Embedded: VHDL, Embedded C
  • Web Frameworks & Libraries: ASP.NET Core, .NET, Angular, Vue, jQuery (and personal experience with React)
  • Databases: PostgreSQL, SQL Server, MariaDB, SQLite, MongoDB, Google Bigtable
  • Tools & Infrastructure: Git, Docker, Windows Server/IIS, Neovim, Linux Administration, Kubernetes
  • Version Control History: Git, TFS, SVN

Beyond the Code

When I’m not at the keyboard, my time is spent with my wife and two kids. I find balance and focus in the outdoors while deer hunting in the fall, in the precision of competitive pistol shooting, and in the tangible progress of home renovation.

Thanks for stopping by. I hope you find something useful or interesting on my profile.

Pinned Loading

  1. dotfiles dotfiles Public

    Lua

  2. installscripts installscripts Public

    Forked from kristianalnaes/chocoinstallscripts

    Script for installing applications on new device

    Shell