Is Akrapovič sport exhaust just a nice add-on for BMW K 1600 GT or does it do something more? What kind of sound does it make? Does it change the behavior of the bike? It was quite difficult to find these information online but I still decided to give it a try. Hence, let’s share some more information about it.
After unsuccessful try to use SW-Motech Daypack Pro tank bag on my K 1600 GT, I searched for an alternative and found a new series of tank bags from Wunderlich named CLICK BAG. They offer 5 different sizes, 3L, 6L, 13L and finally 16L. CLICK BAG 3L is not extendable, but remaining sizes expand to 8, 16 and 19 liters respectively. 3L bag is the only one that comes with the rain cover while other bags come with internal waterproof bags. This second solution also keeps your goods dry but I find it not that practical. First, it occupies some space inside and second, it’s more difficult to put the stuff in and take them out. Anyways, the bags are really good quality and they attach to appropriate tank rings very easily, just one click. This attachment system is very similar to SW-Motech Pro but without magnets. Wunderlich is an expensive brand but some of their CLICK BAGS are basically the only safe options for BMW K 1600 GT, namely 3L and 6L. Unfortunately SW-Motech Pro tank bags collide with the fully turned handlebars and random switches might got pressed. Besides that, this may limit the movement of the handlebars to the end which may make turning the bike around more difficult. But let’s see how Wunderlich tank bags fit on K 1600 GT and which one I chose for my bike.
I am not sure if I have previously mentioned, but my previous bike was K1300R which I owned from 2013 till 2023, quite 10 years and I was very happy with it. There were no particular reasons to sell it except that I wanted a new bike and I couldn’t keep both of them because of the space in my underground garage. I got SW-Motech tank ring and Daypack bag on this bike and it served very well, great quality. The same tank ring fits on K1600GT, but none of the SW-Motech bags fit. You may ask what’s the reason for this and the answer is simple, when you completely turn handle bars they collide with the bag and some buttons may be accidentally be pressed. This is obviously not safe even you don’t have to completely turn the handlebars during the ride, but just at stand. I searched the web and found out that there is just one more quick mount and release tank bag option this time manufactured by Wunderlich. Unfortunately, their tank ring was not available until few days ago, but I have ordered it almost immediately and mounted it on my bike, so here you can find out the installation instructions and my experience with it.
What would “best inner bags” mean, just the quality of the bags or something more? Well, since plastic side cases very often have irregular inner shape, in my opinion, optimal space usage is as important as the quality. Instead of the further explanation, let’s see the internals of the BMW touring cases:
I have already explained in the previous blog what means “best quality inner bag(s)” means to me and that is not just the quality of materials and manufacture, but also the weight, space usage, space optimization and so on. I found out that Kleinert inner bags for side cases for BMW K1600GT/GTL and R1250RT are the best at the market, in my opinion, and in this blog I would like to announce the winner for the top case. Other riders may have different opinions but I want to help you with this blog to decide what is best for you.
Are you wondering who would ever write a blog of installation of some rubbery impact protectors for some motorcycle’s side cases? I completely understand you. 😀
So why did I write this? I recently bought K1600GT and started looking for some aftermarket parts. But I was surprised that there are actually not many information about some of the products, very often no pictures or just bad quality ones, no videos, quite strange. This specially applies BMW genuine parts. Some forums contain some information but very often without any pictures. All this makes decision to buy something or not very difficult.
Like promised in the previous blog, we will discuss here more about the newest Sena communicator for the newest Shoei helmets Neotec 3 and GT-Air 3. After installing SLR3 into the helmet, the main impression is very seamless integration. All cables safely routed, virtually invisible, speakers fit exactly to the sockets, everything is so clean. Great work both from Sena and Shoei.
After quite a while, I decided to blog about my other hobbies, namely motorcycling. In the future, I will more about my past, current and future motorcycles, but the reason for this blog item today is the new generation of the Shoei GT-Air helmets, GT-Air 3 Realm TC-5. I just received this helmet and it looks amazing. Since today, I have been using GT-Air 1, which is a great helmet, but after 5-6 years of usage it was time to get the new one.
This is the third part of the pgx v5 series. Let’s discuss the new features from the title.
CollectRows and RowToStructByName # CollectRows allow us to fetch an array of rows and set them into a slice of structs. Further, RowToStructByName is a long awaited feature which allows to store a row into a struct. sqlx module became very popular in Go community exactly for this reason, but pgx now supports something similar. RowToStructByName is a generic function of the func(row CollectableRow) (T, error) and it’s not the only one of this type, there are also RowTo, RowToStructByPos and RowToStructByNameLax. Under the hood, RowToStructByName is using reflection so it may be slightly slower than classic way of scanning the rows, but if you don’t mind this, it is very easy to use. All field names are going to be mapped to lowercased public struct field names and you may also use db struct tags if some field name differs from the struct field name. This explanation may sound difficult, but the following example will actually show that it is actually very easy to use.
In this second part of the pgx v5 series, we are going to discuss the QueryRewriter interface and NamedArgs. Let’s first check out the signature of the Exec method of the pgxpool.Pool struct.