Arkiv for Kategori: dev

On architecture, 2nd post: Desking of NRK Radio

The first post I wrote on architecture is really abstract, vague and lacking of context. In this blog post I will discuss the principles of alignment between problem space vs solution space, autonomous teams and how strategy should be the driver for architecture. Instead of being general I will discuss a recent case-study from NRK Radio. […]

Lean Enterprise: How High Performance Organizations Innovate at Scale

On architecture, 1st post: The pretentious post

The architect is possibly the most disputed and poorest understood role in software. We do not even agree what architecture is, so how could we possibly agree on what an architect is supposed to do. Developers frequently challenge the idea that we need architects at all. If we do not really know what an architect […]

Undoing the harm of layers

As we approach a new problem we look for strategies to decompose that problem. The primary axis we choose for decomposition is fundamental to the architecture of the system we build. Technological boundaries are easy to identify in the codebase, and as such it is a tempting decomposition strategy. Strategies such as domain-driven design argue […]

Securing whistleblowers

Thanks to the Tor network, sources wary of surveillance may get in touch with NRK anonymously. By using our SecureDrop whistleblower service, people can contact us without being easily traced by a third party.

Managing RabbitMQ messages with F# and Akka.NET

We are currently rewriting a piece of software internally in NRK. The area is media file distribution and the software operates on it’s own with input from media production systems. As a lot of other communication between connected systems, we rely on the use of queues, RabbitMQ queues in particular. Queues give us the resiliency […]

Waterloo map

Decoupling legacy code using NDepend

Decoupling a legacy code base is hard. Decoupling legacy code bases is not only hard, but often we don’t even have a clear idea of the current couplings that exist in our system. Without a clear overview of the current state we can’t make sound decisions on what we should do to improve. This fact […]

Folk i NRK Medieutvikling. (Foto: Vincent Reilly, NRK)

Do you want help NRK create world-class digital user experiences?

NRK’s Department of Media Development needs more skilled professionals – people who are passionate about creating great digital user experiences. We are looking for iOS and Android developers, front-end interface developers, data scientists, a digital designer and an interaction designer/concept developer. NRK Media Development provides the streaming services NRK TV, NRK Radio, the weather service Yr, as well as NRK.no, NRK […]

WebVtt undertekst produksjon: forbedring for NRK nett-tv

Prototype i produksjon Jeg har tidligere skrevet om hvordan undertekster fra tekstekontoret vårt kommer ut i nett-tv. I den artikkelen sto det mye om våre utfordringer rundt synkronisering av tekstefil med video. Det viktigste å legge merke til er den kompliserte veien man må gå for å generere WebVtt tekster. Den involverer en mac mini, en […]

How I learned to stop worrying and love the CI server

NRK TV and its API has been through a transformation from a monolith to a service-orientated architecture (notice how I avoided the word μικρόservices). We are dogfooding our API from tv.nrk.no as if we were a smart-TV or a mobile app. We have also moved from TFS to Git. With smaller components change has a […]

Browser extension as an admin interface

We lost something on the way while upgrading our search feature on NRK TV. At first glance, our transition to Elasticsearch was nothing but successfull. We introduced auto-complete, fuzzy matching and increased the speed and accuracy of the search considerably. However, a tiny little feature I was using every day went AWOL. I didn’t even know how […]

Single responsibility principle limits, in government and in software

Time and time again we are taught that if you just stick to the single responsibility principle (SRP) you will be fine. Make your methods/functions do one thing and do it well and all will be well in the land. But for all the good intentions, I have never seen a codebase which does not […]

Hackday: WatchKit

Tidligere denne uken hadde mobilteamet hackday, hvor alle i teamet fikk bruke en arbeidsdag på å eksperimentere med ny teknologi. Jeg har lekt med Apples WatchKit.

Using F# and FFmpeg to take thumbnails from video

On a current side project I needed to create thumbnails on given timestamps in NRK programmes. After browsing around a bit, I found a quote that sums it up: “All of them (the links) say «Use FFMPEG OpenSource Project» for the job. “ Here are the steps taken to achieve a working solution and some […]