iTunes: Save Your Money and Don’t But the Singles, Buy the EP

A new album, Innan det tar slut, dropped on 29 Nov 2019 and I finally got around to purchasing it today. When I went to play the six track album, here’s what it looked like in iTunes:

It’s a six song EP. So, where did the rest of the songs go?

Well, they were singles that I had bought before the album dropped (see the “More by GAMMAL” section in the photo); so, they only show up if I tap Visa komplett album or I go into the singles’ albums.

What’s even more fun is if I tap on a song I already own, from this full album view, – say Hemma Igen – Apple wants me to sign-up for Apple Music. Apparently, I can only play them from the limited album view, I guess?

Some might try to argue that a single from the single album and the same song from the EP are – in fact – logically different songs; however, unless the ones and zeroes of these two files differs and they’re of different sizes, then they’re actually the same song! In fact, iTunes considers that I already own the songs, I just haven’t “downloaded” them, yet. (Fun-filled fact: They exist under the album single album forevermore,)

Anyways, long-story short of it is that you should just wait for the full album to drop and buy it all at once, rather than dealing with such nonsensical maladies of music listening.

…but you don’t have to take my word for it! The internet is littered with complaints regarding this same issue and it looks like Apple is not going to fix it any time soon.

So, don’t fall into the same trap. Just wait for the album. 🙃


Vi (Miller Family, Cara, och jag) Àr i Cork just nu. En semester pÄ helgen, jag tÀnka det Àr kallade i engelska (U.K. English).

Jag kunde inte söva igÄr kvÀll, igen. Jag tÀnka att det Àr dÀrför jag har mycket bekymmer om min visa.

Vad menar jag? Tja, jag har att ansök en nytt visa i Irland pÄ ende av Juli och jag har har en jobb med pengar minst tvÄ eller tre mÄnader innan jag kunde gör det.

Nej. Jag skulle inte att oroa mig om det just nu. Jag vet det.

Fredagsmysa (theme song) Àr nu och jag vill har en bra natt (jag hoppas). Jag skulle tittar pÄ en bra film och har mysa.

Jag tÀnka att jag ska gjör denna just nu.

(FörlĂ„t att det post Ă€r inte sĂ„ bra. Jag tĂ€nka att, med mer söva, det kunde bli mycket bĂ€ttre. Kanske imorgon? Vi ska se….)

Min första post i Svenska. Och, just nu, varför inte?

Första, min svenska Àr inte sÄ bra och jag vet att. Jag vet att eftersom svenska Àr inte min förstasprÄk. Jag hoppas det Àr okej och om du Àr svensk och lÀser denna post nu, du kan förstÄr att jag endaste öva min svenska. Om du vill hjÀlpa mig med, din hjÀlp kan blir trevlig för att lara mig svenska. =]

Jag vet inte vad jag skulle att skriver om. Ljus? Musik? Ljud?

Skulle vi talar om vad jag lÀste? Kirunasvenskarna. Jag visste inte om dem innan och vi lÀrde oss inte om det i skola. Vi lÀrde oss inte om mycet utanför. För att vara rÀttvis, vi lÀrde inte mycket om utomlands.

Jag tÀnka att jag förstÄr inte allt att det var med dem men jag förstÄr att de lÀmnade för Sovjetunionen. Jag kan förstÄr vÀrfor: De trodde att de kunde har en bÀttre liv. Jag tÀnka att det var inte rÀtt men jag kan förtÄr den varför.

Jag kan inte söver mer Àn fem timmer, nyligen. Jag söver inte i gÄr kvÀll och kaffe Àr min vÀn just nu. Det Àr en mycket lÄng historia och ska tar mer tid att skriver Àn jag har just nu. Jag hoppas att jag kan hÄlla mig vaken til 2000. Vi kommer att se, ja?

Jag vet inte vad mer jag skulle skriver om. Jag Àr mycket trött. Jag Àr ledsen.

SĂ„… Denna Ă€r min första post i svenska. Jag hoppas att skriver (och söver) mer senare.

Lessons in X-Language Implementations of the Same Action

It is, by no small irony, that it’s been some time that I’ve written a post. A lot’s been going on – including, but not limited to, travelling betwixt Ireland and Sweden. As a result of that, I haven’t – quite – had the free time nor desire to really sit down and dedicate time solely to creating a post but, after my recent ventures in programming for the same resultant set in multiple languages, I have a bit more of a reason and desire to make one.

I should preface that the idea came from multiple facets:

Sweden organises calendar years by weeks, which correlates with the ISO standard. You can see this evidenced by restaurant menus in Sweden.

Someone made a website that you can refer to, to look at what the week number is.

My friend/previous manager in Sweden suggested the idea, since I was already working on creating a variation of the week number site in Docker/Python.

The Idea

Since week numbers are a prominent feature, it would be worthwhile to write reusable code, which could be imported, to save others the time of having to write it – themselves.


The first problem was that the implementation, to achieve the same desired net-effect result, would – obviously – be different between languages. So, for example, C# has the premise of extension methods but Rust requires Trait and Implementation to extend a given type.

To do this, it required a lot of research, trials, and much errors but, first, the pseudo-code needed to be defined so that I had a blueprint to use across the languages.

if($obj -eq date from datetime){obtain week number from the object via method}

With the pseudo-code defined, it was time for the implementation via code. Most of the development occurred on an Ubuntu 18.04LTS machine – save for the C#/C++ code, which occurred on a Windows 10 machine.

I’m only going to show two of the four implementations, here, so as to save on space.


/// <summary>
///     Extends the System.DateTime class to include a method to return the week number.
/// </summary>
/// <param name="dateTime">The System.DateTime object to process.</param>
/// <returns>An integer signifying the current week number of the year.</returns>
public static int Veckan(this DateTime dateTime)
    // Jag behöver att sÀga tack till Peter Saverman för denna idé.
    Calendar calendar = CultureInfo.InvariantCulture.Calendar;
    DayOfWeek dayOfWeek = calendar.GetDayOfWeek(dateTime);
    if (dayOfWeek >= DayOfWeek.Monday && dayOfWeek <= DayOfWeek.Wednesday)
        dateTime = dateTime.AddDays(3);

    // Vi behöver att anvÀnda mÄndag för den första dagen pÄ veckan
    // Se:
    return calendar.GetWeekOfYear(dateTime, CalendarWeekRule.FirstFourDayWeek, DayOfWeek.Monday);


from datetime import date

# Vi har att skapa en ny klass eftersom python har inte "extensions methods"
class SwedishDate(date):
    # Vi skulle heter det pÄ svenska, nej?
    def veckan(self):
        return self.isocalendar()[1]


So, the lessons learned weren’t very numerous but I suppose that the most prevalent is that documentation is quite worthwhile but it can oft be extremely difficult to find. Even if you find the documentation, it isn’t going to be as implicitly straightforward as one might think. For example, defining the return-type in Rust is vastly different than any other language that I’ve ever programmed in.

    fn veckan(&self) -> u32
        let now =;
        return now;

As you can see, the return-type (u32) is strongly-typed and appears after the initial function (read: method) definition and is always on the right of an arrow.

Also, while languages might seem different, the conceps behind their implementations have the same underlying concepts. Take the concept of ‘this‘ in C# and of ‘self‘ in Python. While, syntatically, they’re different in definition and use, their end-goal is effectively the same thing: Effect a specific instance of the type, which – at runtime – is the instance in question (well, any instance, in scope really but I’m cluttering this with abstraction).


Programming the same action across multiple languages causes us to learn more about those languages (it was my second program in Rust) and, while it can be a pain, the net result could be that it’s more of a benefit to the overall open-source community. Leveraging O365’s Geo-DNS for Outlook Accounts

If you’ve ever used Office 365, then you’ll be aware of how the Geo-DNS feature and protocol proxy can benefit users, when connecting to their mailboxes from different regions than where the tenant resides. I don’t want to rehash what’s already been written, so if you’re not familiar with Geo-DNS, I suggest perusing this blog post for more information on it.

O.k., so, what matters to this story is that my account in was once a [email protected] account that got split when Microsoft merged [email protected] into Office 365. I’ve lost the Office 365 account but the Live account stuck around – and I’m glad that it did because all of my purchases were associated with it.

So, that being said, the account (and, thus, the mailbox) has been around for a hot minute. I don’t know if this will work with new accounts but I can’t fathom any reason why it shouldn’t.

First, the problem.

The issue with is pretty straightforward. A DNS query from any server outside of North America will provide an group of IP addresses, like this:

:~$ dig a

; <<>> DiG 9.11.3-1ubuntu1.3-Ubuntu <<>> a
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1787
;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

; EDNS: version: 0, flags:; udp: 65494
;			IN	A

;; ANSWER SECTION:		300	IN	A		300	IN	A		300	IN	A		300	IN	A		300	IN	A		300	IN	A		300	IN	A		300	IN	A

;; Query time: 218 msec
;; WHEN: Thu Dec 27 18:15:17 CET 2018
;; MSG SIZE  rcvd: 168

If we trace the troute to the first IP address, we can see that we traverse from Stockholm to Amsterdam to London to New York City to Washington to Chicago to… (first two hops removed for privacy):

:~$ traceroute --resolve-hostnames
traceroute to (, 64 hops max
  1 (_gateway)  87,450ms  58,492ms  55,662ms 
  2 (  54,839ms  64,758ms  59,640ms 
  3 (  52,795ms  53,058ms  55,475ms 
  4 (  53,841ms  53,710ms  50,792ms 
  5 (  190,862ms  188,583ms  290,228ms 
  6 (  186,894ms  189,178ms  364,440ms 
  7 (  184,531ms  188,188ms  322,957ms 
  8 (  237,432ms  186,584ms  367,246ms 
  9 (  187,837ms  359,796ms  188,780ms 
 10 (  186,431ms  372,950ms  183,982ms 
 11 (  185,136ms  372,724ms  185,883ms 
 12 (  188,245ms  187,203ms  186,946ms 
 13 (  187,622ms  187,722ms  188,690ms

All of these hops are wholly unnecessary. After all, if I look at a message header from a mail I received, I can see that my mailbox is in Helsinki (and, even though it’s an account, serviced in the same forests as Office 365):

This, of course, also meant that I was landing on a Cafe in North America, being protocol proxied from North America to Helsinki, and then the response would traverse back the reverse path to me. As you can tell from the latency, it wasn’t a very fast response.

What was the resolution?

Since I’m using EWS in Evolution on Ubuntu 180.04LTS, I simply changed the server name from “” to “”. This means that I leverage Geo-DNS and this will land my requests on front-end server within Europe, which would then protocol-proxy the request to my mailbox hosted (currently) in Helsinki.

I can’t promise that this will work for you but it’s definitely worth a shot; especially, to avoid network degredation, by not having your traffic routed through North America.

It’s not much, I’m aware, but it’s a small piece of help that I hope might benefit someone, some day.

Happy Holidays!

En promenad pÄ Sondag

Was a late night, last night, and that makes for a late to rise and slow moving, lazy Sunday morning.

I haven’t a way to describe the why and to preserve the anonymity of those involved, I won’t go into great detail, but I face today with a sundry of emotions.

On the positive side of things, my bestie and my roommate (and fam) are all on the same flight back to Dublin from Seattle. They’re still in the air (it isn’t a short flight, considering it’s direct from Seattle to Dublin, to be sure) but I hope to hear from them, soon, that they’re all safe and sound back in the land of Ire.

My roommate got a job working with my bestie; so, it’s funny how happenstances collide to conspire to make good things happen. Sadly, I didn’t impress one of the managers during my own interview gauntlet with said company, so I won’t be working there with them. As the French say, c’est la vie.

Luckily, the clouds stayed away today, so it’s a bright and sunny day.

So, having thoroughly explored Linköping and Norrköping, I hopped on the commuter train and went to Motala. It’s about the size of the largest city near where I grew up, so I figured it was worth a visit.

I’d been to Linghem, before, (which is also on the way) when I had the bout with abscess, and from what I saw, there wasn’t much to it.

So, Motala was the only one left.

Did I mention I like the Swedish countryside? It’s not as good as the English countryside, to be sure, but it has its own charms.

And then: A wild ladybug appeared.

No idea where it got off to, though.

My initial impression of Motala is that I like it. I’m not a fan of Sweden Mobile putting me on the Edge network, though, but what is one to do, yeah?

Everything was closed because it was Sunday. Sure, the PressbyrĂ„n and the Subway restaurant were open but everything else was closed. It was kind of like how you’d imagine it being if some cataclysmic event happened. Remember the stand? Yeah, kind of like that.

So, hoped back on the train towards Norrköping and discovered I didn’t have enough to get back. Enter the Östgötatrafiken app to save the day. A 24-hour ticket? 125SEK (about €12.50).

Well, I think that will be it, for now. A lot on my mind and my heart, plus, I got this other thing I’m trying to get sorted by Monday. Le sigh.

Thanks for stopping by, dear reader.

As Jim Carey’s character says in Bruce Almighty, “And that’s the way the cookie crumbles.”


Today, in Sweden, it’s a Rödadag (pronounced: Road-ah-dawg), which means it’s a public holiday in which almost no one works. Public transit still operates but on holiday schedules.

Speaking of public transit, trains and buses contain the names of the drivers on the sides of them.

So, this time, I took the train to the Vidablick area. I didn’t know of anything that was already out there, I just figured that I may as well take the train to the end of the green line and check stuff out once I got there.

Of course, I only made it a few stops before I saw something that made me want to get off: Another church with a pretty hefty park surrounding it.

The area is called Folkparken (literal translation is “The Peoples Park”) but I was unable to figure out what the name of the church was.

However, the nearby graveyard tends to lend that the name of the church is Matteus Kyrka.

Then, it was time to see the actual park because parks.

Next was an area, still technically within the park I think, called Norra KyrkogÄrden.

This was another graveyard and recall that today was All Saints Day, so the graveyards were a bit busier than usual (I don’t think busier would be the most apropos adjective but whatever).

After that, it was time for more of the park, on the other side of this graveyard. Only… I was slightly wrong on my assumption: I had stumbled from there directly into Himmelstalunds Kapell.

After that then it was more of the actual park.

Somehow, I ended-up back at Matteus Kyrka, so it was time to hop back on the train and keep going.

Also, at about this time, my battery was at 13%; so I had to throw it on the battery pack to keep it charged, so I could keep writing this. (Yes, I write this as I go along because my memory is shit.)

Vidablick didn’t have much to it.

So, I walked to the red line and got off at Fridvalla. It was pretty much the same with Fridvalla but the clouds were starting to break-up and the sun was coming out, so there was that.

I kept seeing signs for Café BrÄvalla in Företagspark (business park) and figured that maybe it might be a safe bet to snag some food. That is, until I came upon this sign about halfway there.

Admittedly, my assumption was wrong. Not all was lost, though. The sun finally came out.

So, I walked back to Fridvalla to take the red line back into town.

Which brings me to how the trains turn around here. Well, maybe it’s just specific to Norrköping, really. Anyway, they make a full loop to go back from whence they came.

So, empty transit photo? Empty transit photo.

The red line goes between Fridvalla and Kvarnberget; so, it was time to go to the other side and see what things were like there.

I only got as far as Södertull, though, because I needed both to eat something and to go to the store.

It look like Anonymous was doing a demonstration by Spiralen, judging from the masks, but I’m more inclined to think it was actually PETA because they were showing animal videos.

Got back on the red line, headed towards Kvarnberget but biology had different ideas about that. So, I got off at Ljura spÄrvÀgsbro and got back on the south-bound line. Will be nice to drop this stuff off at the hotel, anyways.

In other news, I can now fit in size 34 pants comfortably. The question becomes: Will they be size 34s after they’re washed? Only time will tell.

Did the needful and headed back towards the red line. This time, I got off at Hageby Centrum and a shopping centre greeted me.

It was a decent shopping centre and the layout a bit lacklustre but I finally found out what a Willy:S is.

Then, hopped on and got off at Ringsansens Centrum.

Creepy tunnel? Creepy tunnel.

The other side of the creepy tunnel led to an unlit path that pretty much dead-ended at the Syrianksa Ortodoxa Kyrka St:Kyriakos church. So, that was pretty much a bust.

Blurry picture is bluryingly blurry, I’m aware.

Without the clouds acting as a thermal blanket, it started to get chilli (about 5C or 6C). So, I figured, “Why not walk to the last stop and ride back into town?” You know, as one does. So, that’s precisely what I did.

Along the way, I found an oddly lit pole with a parking sign on it but because I’m dressed like the black power ranger and walking around at night, I figured it best to just take a photo of it and be on my way, rather than get all kinds of investigative about it.

Then, it was time to hop back on the train, again. Public transiting intensifies.

Got off at Södertull and walked over to CNEMA. Had bought a ticket for Bohemian Rhapsody, so couldn’t pass it up. Sadly, the theatre doesn’t do popcorn, so will probably be my first and last time seeing a movie here.

That’s it for today. Thanks for visiting, dear reader.

As they used to say on the old Batman TV show, “Tune in next week. Same bat time, same bat channel.”

Annan dag i Norrköping

Start the day with breakfast at the hotel and it was off to walking, again. This time I walked from the Söderstaden area to the Ljura area, in search of Ljuraparken.

First things, first, the Swedes are sticklers (mostly) for following rules and for safety. Even in a small city, they’ll caution on the side of safety (which isn’t inherently a bad thing, whatsoever).

Check out the fishermen and fisherwomen in this photo. See any glaring colours that pop-out at you?

It was a bit of a walk to get to Ljuraparken, as I took the long way ’round but it gave ample opportunity to snap some more photos and videos. For science.

When I got to Ljuraparken, I felt entirely bamboozled. You see, this was the visage that greeted me.

And Apple Maps had it all as one big, green park. Sneaky, sneaky Apple Maps…

However, I’m not one to give up that easily. After all, I had walked all of this way and it wasn’t going to be for naught. I walked passed the buildings, to the inner square, and found the park that I was looking for (queue U2 song here).

On the other side of the park is S:t Johannes Kyrka. Sadly, there were funeral services going on, so I didn’t want to get all camera-happy. I think in any culture that’s generally considered a dick move.

I saw that people were leaving these coniferous looking wreathes at graves and I wondered what that was about. I found a shop selling them and figured I’d stop in to ask.

It turns out that Allhelgonadagen (also known as Alla Helgons Dag) is on 3 Nov 2018. We call this day All Saints Day in English.

The reason why they use the branches and cones from coniferous trees is because it harkens back to the days of old, when there were no such things as flowers during the fall/winter time.

After that, I took the train back towards resecentrum. It costs about €2.50 to ride the train but that’s the base fee. That’s it. Even if you ride from one end to the other.

After that, I realised I want to do a little bit of shopping (failure to plan, means failure to perform) and got back on the train towards Stora torget.

A little bit of lunch was in order, around now, so I popped into Kafé Kuriosa for a spot of food. Sadly their card machine was broken and this was the first time, in about three or four months, that I had to find an ATM to withdraw kronor from.

Kontantfri (cash free) is the the future of Sweden and, as such, one hardly ever has need of physical money, anymore. They’ve even come up with their own official mobile payment system, called Swish.

Anyways, that was quite a long and arduous journey to just get to me saying that I had to walk a few blocks to even find an ATM (bankomat), so I could get the money (pengar) to pay for my sandwich (smörgÄs) and coffee (kaffe).

After lunch, it was a bit more walking and a little bit of shopping at Dressman.

The thing about winter in the higher latitudes is that it gets dark a lot earlier than one would think. So, for example, above the 58th parallel, here, the sun set at 17:04 today.

One thing that I definitively like about the Nordics is that people are generally nice to the animals here and, at worst, they act like animals are pretty pedestrian.

Now that I’ve written an entirely unnecessary diatribe, I suppose that I should mention that I found quite a substantial congregation of ducks whilst on my way back to the hotel.

The ducks seem pretty content/happy in the river area but I’m not sure if they’re so content that they don’t migrate for the winter. Only time will tell.

So, popped by the hotel to drop the stuff off and use the restroom. Then, it was off to walking again.

Then, I popped over to the Rose Garden (buffet restaurant) for a bit of a lacklustre dinner. Buffets: You go for volume (and subsequent regret), not for quality.

So, you’ll never guess what happened next. Survey says… More walking.

It’s only around, local time, so I’m going to haul my bloated carcass to bed, try to watch some comedies, and hopefully be in a much better disposition tomorrow.

As Beat says in the Truman show, “…In case I don’t see you: Good morning, good afternoon, good evening, and good night.”

Onsdag den 31 Oktober 2018

So, there’s not a whole lot to write about today. I did some walking (surprise, surprise).

During my walk, I found that Hedvigs Kyrka (also called Tyska [pronounced: tee-skah] Kyrka because it’s in Tyska Torget) was open, so I popped in for a quick bit.

After that, it was a bit more walking around but there’s only so much walking one can do aimlessly, yeah?

So, instead, it was off to the Stadsbibliotek of Norrköping. Stadsbibliotek is a compound (much like words are compounded in German) of city stad [pronounced: stah’d] and library bibliotek [pronounced: bib-lee-oh-tek].

The library has all of the amenities you can think of and even has what my roommate would probably appreciate being available for check-out: audio books.

After that, it was a stop over at the movie theatre to see what was on.

This is the poster for the last movie I saw (multiple times) when I was in Sweden, Den Blomstertid Nu Kommer (the literal translation from Swedish would be “The Time for Blooming Comes Now” or “The Blooming Time is Now Coming”, depending on context). The movie’s no longer in the theatres but this particular cinema is under renovations. (I think I’ll ask them tomorrow if I can have the poster.)

What did I see? Well, I saw the latest (film) instalment of the Millennium Series, The Girl in the Spider’s Web. It was decent and stayed true to the book, somewhat, but I kind of wish they had stuck with the original cast. The movie wasn’t bad, just different. Maybe I’m just too old and contankerous to appreciate change, anymore.

That being said, I imagine that – depending on how well the movie does in the theatres – they’ll be working on making the latest book into a movie and I will be seeing it. So, there is that.

Sorry that this is a bit lacklustre, dear reader. In the words of Walter Cronkite, “That’s the way it is.”

Windows PowerShell: Discovering and Resolving Neighbours in Your Network

Have you ever wanted to find out which computers are on your local network, what their IP addresses are (if you’re using DHCP), and what their hostnames are? Well, I’ve written a PowerShell script to do just that!

You can find it on GitHub, here.

Essentially, the script does one of two things.

If the Prefix parameter is supplied, it attempts to find all hosts in the last octet range (0-255) that are up (e.g.: that respond to pings) and then uses DNS to attempt to resolve the IP address to a known hostname. This can be especially useful for things like trying to find your Plex server, if your router has restarted and you don’t have a static IP address assigned for it.

If the Prefix parameter is not supplied, we attempt to obtain the first IP address available to the system (indexing by zero from the array) and use that range (e.g.: 192.168.0.x) to find the local hosts that are up (e.g.: responding to pings) and attempt to resolve their names in DNS.

The script takes some time to process the entire range and that’s because I didn’t want to deal with trying to add to a collection in a thread-safe manner due to parallelisation in PowerShell. It would be easy enough to do in C# and, if there’s a lot of interest in that, I could devote some time to writing this to be a dynamic-link library, instead.

For now, I hope it does someone some good, at the very least. 🙂