• Uncategorized

    Pension fund in Sweden, an overview

    In Sweden, like many other western countries, each working person has an individual pension fund. This is vastly different from some other countries like Vietnam, where the pension fund is shared, not only between every working person, but also between other purposes (maternity leaves, sick leaves…) . Like many other things in Sweden, the pension fund is transparent to you, and you can manage part of it, to some level. If you do things “correctly”, then it might make a sizable impact on your pension you you retire A three parts pension scheme Pension fund in Sweden consists of 3 parts. If you have been in Sweden for more than…

  • CMS,  Episerver

    Listing permissions per user/group

    This week I came cross this question on Episerver World forum https://world.episerver.com/forum/developer-forum/Episerver-Commerce/Thread-Container/2019/5/get-rolepermission-data/ , and while it is not Commerce-related. it is quite interesting to solve. Perhaps this short post will help the original poster, as well future visitors. As in the thread, I replied the first piece to solve the puzzle: You can use PermissionTypeRepository to get the registered PermissionTypes, then PermissionRepository to figure out which groups/users have a specific permission  If you want to list permissions granted to a specific role or user, it is just a simple reversion using a dictionary: As suggested above, we use PermissionTypeRepository to list the registered PermissionType(s) , and then for each PermissionType we get…

  • gaming,  reviews

    A super short review of Dragon Quest XI: Echoes of an Elusive Age

    DQXI is the last game I completed, and I don’t complete a lot of games. I was interested on the game because it was hugely anticipated, but the reviews put me off a little bit. Don’t get me wrong, the reviews are very positive – or at least most of them are, but they are not that level I wanted. The final push is a very good discount on the physical version, so I was like “What the hell” . Surprises, I was hooked. The good Very good “anime” styles. The game looks quite as good as the pre-rendered cutscenes. The game is very well rounded and very enjoyable. I…

  • Uncategorized

    A super short review of XBox One X

    I have been a PS4-fan (if I can call myself so) since the day I bought the original PS4 to play Dragon Age: Inquisition. At that point, PS4 is the clearly better choice than XBox One: smaller without a separate power adapter, 50% more powerful (1.84TFLOPS vs 1.23 TFLOPS), simpler policies to share/resell game, etc etc. I even liked XBox One X when it was announced, it checks almost all the boxes, except for, well, games and price, so I gave it a pass, especially when I got a PS4 Pro from a colleague at a very good price. This genre, PS4 has won for many reasons, one of that…

  • Catalog,  Commerce,  Episerver

    IContentLoader.Get(contentLink) is considered harmful for catalog content.

    A while ago I wrote about how you should be aware of IContentLoader.GetChildren<T>(contentLink) here. However, that is only half of story. IContentLoader.Get<T>(contentLink) is also considered harmful. Not in terms of it causes damage to your site (we would never, ever let that happen), nor it is slow (not unless you abuse it), but because it can behave very unexpectedly. As you might already know, catalog content fully supports language versions, which means a catalog might have multiple languages enabled, and each and every catalog item in that catalog (node/category, and entry) will be available in those languages. However, those languages are not equal, (only) one is master language. What’s the difference…

  • Commerce,  Episerver,  Order,  Uncategorized

    Control the thousand separator for Money in Episerver Commerce

    If you are selling goods in multiple markets which same currency but with different languages, such as EuroZone, you might notice that while everything looks quite good, except that the thousand separator might be off from time to time: it is always the same and does not change to match with the language, so sometimes it’s correct, sometimes it’s not. Let’s take a step back to see how to properly show the thousand delimiter  In the United States, this character is a comma (,). In Germany, it is a period (.). Thus one thousand and twenty-five is displayed as 1,025 in the United States and 1.025 in Germany. In Sweden,…

  • Commerce,  Episerver,  Performance,  Uncategorized

    Fixing ASP.NET Membership performance – part 1

    Even though it is not the best identity management system in the .NET world, ASP.NET Membership provider is still fairly widely used, especially for systems that have been running for quite long time with a significant amount of users: migrating to a better system like AspNetIdentity does not comes cheap. However, built from early days of ASP.NET mean Membership provider has numerous significant limitations: beside the “architecture” problems, it also has limited performance. Depends on who you ask, the ultimate “maximum” number of customers that ASP.NET membership provider can handle ranges from 30.000 to 750.000. That does not sound great. Today if you start a new project, you should be…

  • Catalog,  Commerce,  Episerver,  Performance

    Speed up catalog routing if you have multiple children under catalog

    A normal catalog structure is like this: you have a few high level categories under the catalog, then each high level category has a few lower level categories under it, then each lower level category has their children, so on and so forth until you reach the leaves – catalog entries. However it is not uncommon that you have multiple children (categories and entries) directly under catalog. Even though that is not something you should do, it happens.  But that is not without drawbacks. You might notice it is slow to route to a product. It might not be visible to naked eyes, but if you use some decent profilers…