TheHumble.ninja now with SSL

I’ve made some changes to thehumble.ninja as I plan to restructure to site and start purging content here and there. There’s an article I’ve been wanting to write about and it’s about saving costs with Azure, the cons and pro of using cloud services, and how scary it can get if you decide to use cloud services like Azure, Google Cloud, etc.

With that in mind I’d like to emphasize that I do like Microsoft Azure and would love to use it without the constant fear of overage charges, but that’s another subject that won’t be discussed here at all. Now, going back to Azure I’ve read two articles from Scott Hanselman where he goes over demonstrating how to use Azure and deploy cheap containers.

In an ideal world, I would have supported every word he said. Using containers is amazing, wonderful, and just plainly awesome. It gives you that control of isolating services (mysql, httpd, mail, etc) into separate containers and you can cram as many, MANY, applications in your app service plan.

But I can’t simply support it and it’s honestly for a very silly yet incredibly harmful reason that I can’t agree that Azure is cheap. It’s harmful for anyone that wants to run a personal project, site. If you have disposable cash and have never in your life budgeted for a single thing then Azure is for you.

Bandwidth is my biggest concern. Not just for Azure, but for any cloud service. I think Azure VMs are decently priced and competitive, heck I even thought of paying a reserved instance myself for this site (well, many sites hosted in it). As of today, 1TB is $88.65 USD. If that’s not expensive for you then sir, by all means go for Azure as I won’t stop you. But an average joe with an average job like me who just wants to write, and deploy personal projects to the web? 88 bucks is too much + all calculated prices on top of it.

My suggestion to Azure team? Include bandwidth packages in App Service Plans, offer reserved instances to containers/app service plan and I’ll be more than happy to subscribe for the years to come (as long as the prices are reasonable). And it doesn’t have to be 1TB exactly. I think we all need that safety net most service providers offer with VPS and we don’t have that in Azure.

Why? Imagine an scenario that an individual is targeted. See, if the person gets DDoSed Azure has basic protection and I’m sure it can withstand any attack. More so if you have Cloudflare as your front and you keep a good chunk of malicious individuals out. But, hey, the malicious individual just found out that for some reason you are using cloud services to host your site and decide to download 1 million time a 100 megabytes zip archive you offer. That’s 100 TB bandwidth down the drain alone, and I doubt that Azure will throw the towel and say “it’s ok we understand you were targeted and attacked. So we will invalidate the bandwidth usage”.

And maybe my example is overly exaggerated, but my point is even if you aren’t attacked, and you have a medium sized site with 1TB bandwidth usage I highly doubt anyone would pay $88.65 when Digital Ocean, OVH, even Amazon with Lightsail gives you that bandwidth cap at a lesser monthly price. I get it. They are overselling bandwidth. Any service provider will probably monitor your VM and try to assess if it’s getting abused or that’s just the normal bandwidth usage of the server. If it is? Great, carry on, there’s no abuse involved. Most service providers won’t care in the long run because they have so many customers that use at the very least 3-4GB of bandwidth and it’s expected they will never reach 400GB bandwidth as it’s just a bunch of personal sites, etc. Now, if all their customers used 1TB exactly I guess they’d be running at a deficit. I honestly don’t know much of the deals involved with data centers and network usage and there are better people specialized in this sort of stuff than me.

In conclusion, because I never meant to write a post this long. As you can see, I want to use Azure, but Azure is a big threat to my wallet when it comes to bandwidth. Do keep in mind that my thoughts on Azure are going to be a larger post than this, but this is one of the issues that I really needed to throw out there to the public.

As for the site. It’s temporarily hosted in a Azure instance until I decide whether to stay or not. I highly doubt I would stay considering the bandwidth concern. I don’t use much bandwidth but I know sometimes it’s a good 10GB that is used, that doesn’t eliminate the concern though.

 

The Apple experience so far with the MacBook Pro (2017)…

 


I guess sooner or later I had to write about my experiences now that I’ve joined the Apple family. I don’t think I have to make any introduction about who or what Apple is so I’ll try to get straight to the point regarding where I see myself with the products I’ve purchased and give my honest thoughts. Today I’ll be reviewing the 15-inch MacBook Pro, which comes with:

  • 15-inch MacBook Pro with Retina Display packed with:
    • 512GB PCI-Express SSD drive
    • 16gb RAM
    • and a Radeon Pro 570 4GB

Let’s start with a little background about me, the user. I’m a software developer who has worked mostly on web applications, “traditional applications” aka using winforms/WPF, mobility projects, etc. Most of my experience has gone into web development in general and being a developer, in a way, means sitting in front of a computer for countless hours providing solutions to your assigned client, or company. This means you need a reliable machine to do all the heavy lifting I would need to provide a solution. A solution could range from using tools that would squeeze the “life”, meaning it would be CPU-heavy or memory-heavy.

What does all this means to you, or me? Well, for starters you want a portable machine where you can do all that and doesn’t hold you back. You could argue that I can simply do this on a desktop and call it a day in which you are correct. I could do this from a desktop, sadly sometimes things are too fast paced and we don’t have the time to be transferring things from a desktop to laptop and be prone to missing files, missing presentations, missing important visuals. And no, you don’t need a MacBook on all the points I mentioned. There are artists, engineers, scientists, doctors, and all sort of professionals who uses Apple products, not just development. What I mean by this is that as the user you can decide for yourself whether or not all of this hardware is necessary depending on your particular circumstances and needs.

Over the past few days I’ve been using my MacBook Pro. It’s thin, fast, and beautiful. Being all that however, doesn’t exactly justify dropping the amount of money it requires just to acquire it. If you want to start development you can simply buy a i5 powered laptop with a solid state drive and you’d be on your way to producing code.

So let me categorize my thoughts: the good, the bad, and the worst aspects of the MacBook Pro (2017).

The good

The MacBook Pro (2017) is a solidly built beautiful machine. In terms of the build quality I have no beef with itwhatsoever. Everything is and feels premium. It doesn’t have any part that feels cheap, or perhaps I haven’t discovered it yet.

The battery life of the MacBook Pro is incredible. I easily get 8-9 hours out of this while using the web browser, talking in WhatsApp, basically doing casual things. While I haven’t experienced what would it be like doing development on battery life, I’d say I still would have a good 6-7 hours to accomplish many tasks; and development doesn’t necessarily mean you’d just be compiling sources 24/7 either. I could simply decide to just work on new UI mockups, or simply write/refactor lines of code.

The operative system, OS X, isn’t half bad. At times it feels polished, yet out dated. I can’t describe this feeling of unconformity to be honest. I have for weeks been trying to find the best way to describe how I feel using OS X. I’ll do my best to break it down into terms we can discuss. Remember, I’ll be listing the good things I’ve found about the system first.

  • The file manager (Finder) feels outdated. As someone who has used Linux and Windows for years and seeing the evolution of what they could provide Finder feels like it has stayed true to itself for all the Mac users out there. There is a sense of flow when using Finder, one that I haven’t quite mastered yet; as a Windows/Linux user for many years I barely know all the shortcuts and gestures to use with most of mac applications.
  • The App Store is a great start to find applications that can enhance your productivity or simply entertainment (games!).
  • Configuring anything system related is easy with the provided user interface.
  • Multiple Desktops feature is always welcome to anyone who likes to organize themselves per context. A context could be development, anything art related (drawing), or even just simply having a browser in a separate desktop. In my case I always like to maintain my development tools in a separate desktop.
  • An amazing trackpad. Yet a little too big.
  • The main Mac applications OS X with ships satisfy all basic and perhaps intermediate purposes.
  • It probably packs one of the best speakers I’ve heard from a laptop. It’s loud and proud.
  • One big plus is not being forced to use iCloud and still being able to have a separate “normal account” versus using an iCloud account. This is great if you are a paranoid user, or simply a user that doesn’t want too much clutter and wants to enjoy a good ol’ Unix system.
  • Beautiful text rendering.
  • Amazing out of the box printer support. I’m amazed on how effortless it is to set up a printer by just being connected on the same network.
  • The weight is strangely quite a big plus compared to my Dell Inspiron i7559-5012GRY 15.6″ UHD. It’s so lightweight I fear for it sometimes.

The bad

  • Let me begin by saying what a disappointment iTunes is. For the price you pay you’d expect all main applications of OS X to be polished. iTunes is not polished, it’s slow and slightly broken. If you are scratching your head on what I just mentioned let’s being with the green flashes/flickering you get when watching videos in the MacBook Pro. It doesn’t matter how many times you reinstall the applications and what not, it’s purely Apple’s developer fault that while it’s using the integrated card it doesn’t behave well. But, if I choose to use fully dedicated card it performs as you would expect. I don’t really know if this is normal on MacBook Pro machines with just integrated card. If it works for you, awesome! Sadly, it won’t make my problem go away.
  • On the same line as iTunes. The Mail application needs a real user interface revamp. Like I mentioned above, for the price you pay you’d expect the main applications to be fully polished.
  • Gaming on the Macbook Pro is the biggest joke to the point they should just forget about having Nvidia or AMD GPUs in it. Developers just don’t care about optimizing the games for mac and they always end up just hiring a company that just wraps up the game with a heavily modified version of WINE.

The worst

  • The touch bar is probably one of the most useless additions in the MacBook Pro (2017). It’s not practical, it’s not innovative, and it certainly does not resolve any real world problem. It’s completely useless.
  • The ports. The dongle hell is real and I want no part of it.
  • The keyboard feels like it was an afterthought for Apple. It’s shallow feedback kills it for me.

 

There are some points I want to bring up as I wrap up this review. The first days using the MacBook Pro for the first time in my life has led me to a series of disappointments with it and maybe, just maybe I’m not seeing what everyone else sees in Apple products. I honestly don’t think Tim Cook is leading Apple to the right direction while Microsoft with Sadya Nadella at the helm is catching up while elevating the Windows 10 experience each year.

You may think whatever you want of Windows or Microsoft in general, it doesn’t change the fact that they have put so much work into improving their products to the point that Windows 10 has left a better impression on me than using OS X. And before you call me biased if you notice my old post you can see I adore GNU/Linux and have written quite a few posts on the subject targeted to help Linux users. If that doesn’t dissuade your thinking then I don’t know what else will change it.

Going back to MacBook Pro. There are a few things that I’ve been noticing starting with the headphone jack; followed by the keyboard, trackpad, and the god awful touch bar.

“Just give it a chance, you’ll get used to it. Pinky promise!”

Sure, the same can be said to anything. May I remind you that you are sinking over two thousand dollars over a machine? If you have the disposable income that’s okay with me; do whatever you want with your money. To tell people “you get used to it”, to obvious flaws or faults that should be acknowledged by Apple is just preventing Apple learning from its mistake. I get that you love Apple, but it’s time to realize that they want your money more than your love because they are a business (yes, I’m wearing my Captain Obvious cape) and by trying to downplay people’s experience using the MacBook, or whatever Apple product they’ll keep pulling this type of crap and call it innovation.

If you are a score guy I would give this a solid

7.5 out of 10

In conclusion

Don’t drink the koolaid Apple users are giving. The sales pitch of how Apple is innovating everything, sit and think about what have they really innovated recently and look at other competitors in comparison. You may get sucked in with the eye candy snazzy interface and retina display (high density displays). What Apple really has going for them is the ecosystem between iOS and OS X. It’s tight, and it’s perfect for many that don’t want to spend too much time dealing with configurations, backups, file transfers, etc.

Go to a Apple store, use it, try it out and if you like it go for it. I think, for the money Apple asks it’s not worth it and in the long run I’ll probably sell this MacBook for a Surface Book 2.

 

DRM in my ink cartridges?

I’m disgusted at the fact that there’s actually DRM chips in my ink cartridges. I don’t know who began implementing this draconian chip on new printers, but whoever did it really deserves to have all the hell for it. I’m sad to say that in 2016 is where I began to deal with this sort of problem. I’m not the type who sets out to buy a new printer every year as I read everything on PC/Laptop or whatever device with the capability of reading PDF/images files.

Where do I even begin?

I buy a printer, right? Whatever third-party ink I choose to buy for it is up to me. This whole “counterfeiting” ink cartridges is a new level of stupid, it’s the most anti-consumer system I’ve seen implemented these days. Shame on you Canon, shame on you HP, and whoever manufactures printers for the sake of locking in consumers to one provider. The printer industry was never meant to be to be “big”. A family buys a printer and expects it to last at least 3-4 years. Now you want to tie said family to a cartridge sold at a really high price point.

Whatever your marketing team says about the ink “quality” you provide I’m not buying it. The price on ink is too damn high for legit cartridges. I really refuse to support any manufacturer that does this and would like to welcome anyone to suggest any manufacturer that does not do this.

Do you share my feelings? Do you know any manufacturer that doesn’t do this? Shoot a comment or private message me, or get my public e-mail allenskd [at] thehumble [dot] ninja. (Do write a reference to this thread in the title)

“Taking a break”, I wish!

There’s a lot I want to talk about over this month. I think I have enough time to do so, but today I want to talk about letting go projects. Or rather, focusing on delivering. I was supposed to deliver my first app a month ago. I couldn’t due to a lot of complications with Qt/QML in general. TextAreas with images would go up to 200-300mb in memory.

It was insane nonetheless.

I applied workarounds that were quite fragile… in the sense that “I’m doing something I know I shouldn’t because this technology should support it”. I mean, who would have thought parsing and traversing the DOM in C++ would be a giant PITA? I didn’t. A lot of setbacks were because I kept pushing on with the pretense that it was all well worth it since it was C++. I mean, yes, there was a certain leverage using a low-level language. However, does it even matter? I mean, with QML you can easily reach 60-80mb without doing anything.

On the bright side, I never gave up trying to deliver the app.

The last few days I have been researching on Universal Windows Platform (UWP), UWP JavaScript bindings, WinRT Components, integration with Windows Phones. I must say that I am extremely impressed with Microsoft’s work. I’ve read plenty of developers mixed feelings about UWP, heck, even I found the whole thing confusing. UWP, WinRT, metro, whatever buzz name they’d come up.

2016-07-04 (2)

2016-07-04 (1)

As you see in the images. I’ve been cooking up something, something that I really hope to release eventually. When I jumped to C++ I didn’t know anything about it. I didn’t know much about C++, or about Qt for that matter. With UWP, a lot of things comes “naturally”. The permissive nature of UWP with JavaScript bindings is insane. I thought, “wow, QML is awesome!” without ever batting an eye to UWP. When I used UWP JS engine, it was of course a browser. I think at best I used like 20mb of memory. It even ran embedded flash…. something that QML is quite incapable at the moment.

UWP reference (mostly WinRT API reference) feels pretty solid so far. There are times where an implementation won’t work, for example, grabbing my profile picture from the OS. But, in a way this is why WinRT components exists. You can create components in VB, C++, or C#; these components are the bridge for anything that requires intensive processing. Let’s say, “video processing” or “audio processing”.

After spending a whole day poking UWP I feel like this is the right direction. The only thing is that I won’t be able to target Android, sadly. I could fix that with Apache Cordova… but, for now I’m just gonna target Windows devices.

Toying with VS Emulator, Hyper-V + Linux, Apache Cordova, and Windows 10 Virtual Desktops

You know this weekend I took my time to explore a few things in Windows 10 and Visual Studio 2015. For starters, every time I installed Windows, being a Windows Pro version owner I never bothered checking the features it offered, such as BitLocker.

Hyper-V

So, the thing about Hyper-V is that it’s something really, really abstract to the Windows user. Unless you poke the bear you won’t really know what’s in there. Hyper-V is a solution similar to Virtual Box, VMWare, it provides virtualization capabilities to your Windows. Now, why I mention Hyper-V is because it was almost a routine for me to always install Virtual Box after installing Windows, then it occurs to me that we already had Hyper-V to begin with.

I loaded up OpenSUSE Leap ISO and to my surprise everything worked flawlessly.

2016-05-15 (1)

2016-05-15

2016-05-15 (2)

You still need to configure the network through the Virtual Switch Manager in Hyper-V else the network won’t work, it only takes a couple of clicks.

Virtual Desktops

I’m a big fan of virtual desktops, every time I winded up using Windows part of me wanted to use virtual desktops because it was a way for me to organize my applications through tasks. Windows 10 finally, after many years, went ahead and added virtual desktops to the mix.

2016-05-14 (2)

2016-05-14 (1)

2016-05-14

Apache Cordova

In my internship I worked with Angular JS extensively to the point that I became interested in making mobile applications using HTML/JavaScript. I know of the existence of Cordova, however I’ve never used it mostly due to no interest in it. Curiosity took the best of me, I launched Visual Studio 2015, installed the required components and within an hour I started my little adventure on playing with Cordova.

I have mixed feelings about it. At first sight it feels like the application structure will crumble apart in any moment. It’s not the same having a set of widgets to work with, as in there’s: ListView, WebView, TableView, Layout controls, Buttons, Combo Boxes, and so much more available programmatically through an API. With Cordova you have HTML5/JavaScript and pretty much 9000000 javascript scripts available. Does it mean it’s “stable”? If you stick to jQuery, AngularJS, etc then sure.

Either way, Cordova is new to me and things like debugging, poking around seems too loose at the moment.

Visual Studio Emulator

I have a beef with this emulator… I can’t deploy Qt applications with it as the shader program is not linked. I want to deploy Qt applications because else I would have to disable Hyper-V and I don’t want to do that because it requires me to reboot every time.

Overall my experience with VSE has been nice, it’s straightforward, I just wish it played with Qt nicely. The best part? Qt Creator can automatically detect VS Emulator emulators running so you don’t have to do any extra work.

I hate reformatting.

en-APAC_PDP_Win_8_Pro_LE_UPG_6PR-00002_P5

I messed up my Windows 10 installation a month ago. Basically, the booting time was 2-3x times slower because Windows 10 decided to

  • Installing the boot loader in HDD 2
  • Installing/Configuring the BCD files in HDD 3
  • All so it can load SSD 1

It feels like it doesn’t make sense at first but it does. I tried to fix it myself but the task was pretty much daunting. I don’t know how it ended up like that.

So today, mostly because I could no longer turn an eye at it I decided to fix the issue. I went ahead backed up my three storage devices because I was also planning to use Bitlocker. Basically, once I backed up the files I unplugged the HDD cables and made the installation on the SSD.

Boot loading time has now been fixed!~

Onto Bitlocker

Now, plenty of you will probably scoff at the idea of using Bitlocker. Bitlocker works, obviously, the present problem is a trust issue with Microsoft itself. I analyzed the situation, and my conclusion was pretty much this:

It doesn’t matter.

It doesn’t, really. First of all I’m no Edward Snowden, I don’t do any questionable activity that requires me to hide my data (that doesn’t mean I don’t want to keep my privacy & protect files versus keeping questionable data). I simply don’t have that type of thing going on for me. Rather, I’m just a normal person wanting better security for my devices. Bitlocker solves that and it has ongoing support with Microsoft.

I have bigger threats to worry about. Social engineering, computer or storage drives stolen, and the list goes on. These things are a major threat that we ignore in exchange for giving in to paranoia.

If someone stoles a USB Flash drive and I have it protected by Bitlocker or any encryption software; I know I won’t worry because I was responsible enough to put a lengthy, complex password. It makes sense.

NSA, and whatever sort of evil is out there is keeping tabs on… people that are threats. I’m pretty sure that a guy that watches anime, tv series, does a lot of gaming, etc isn’t a major threat. The people around me, however, will always be a major threat as you never know if they have ulterior motives.

So yea, my reasoning may not be the greatest thing ever. I WILL keep my files encrypted and protected. I just wish that Microsoft had more guts; but also, their business would be hurt badly if they piss off Big Bro.

So do yourself a favor, evaluate your encryption options. If you have a Windows device with Pro edition, check out Bitlocker. If you want something else, there’s Veracrypt.

Thoughts on Dark Souls

dark-souls(1)

I’ve been trying to catch up with my backlog. I’ll be frank, the days of me spending time with games are over; there’s only one mission that has the highest priority and that is to get into a better place in life. But, as some of you know I got a new video card and an 256GB SSD.

Today I wanted to have a little chat about Dark Souls. The most awesome game made in the history of games… or something like that. I jest, Dark Souls is nice, but it lacks so much (for me) in different departments that there’s very, very little reasons to even play it.

If we look at the “rewards” (my god, ArenaNet and GW2 community have made me hate this word), we look at it in different perspectives. The reward you get for beating a hard boss doesn’t mean much. The reward of killing standard mobs in the game doesn’t mean much. Why I feel like they have no meaning? Dark Souls is all about exploration, we could agree on that. Yet, it lacks on storytelling, so much that you actually have to go to YouTube or whatever site and check out the little pieces of the story and environment around. It doesn’t help that many story elements could carry a lot of assumptions and misinterpretations.

It feels lazy, incredibly lazy. There’s very little dialogue in the game, there’s text that “makes up part of the story. I’m a storydriven person, Dark Souls is pretty much the opposite of that. Each boss you kill in the game actually carries no meaning until you get to the lord souls then it sort of makes sense why we are collecting their souls.

Dragon

The battle mechanics in the game follows a very predictable pattern. There’s a lot of room to make plenty mistakes, but it doesn’t mean that the game isn’t predictable. Dark Souls mostly forces you to either play at an slow pace or just run through trash mobs and get to the boss. Either way, as you progress you’ll notice that the AI in enemies doesn’t exactly change much. Maybe some long ranging, maybe a surprise or two moveset.

I’m at the stage that I just want to finish the game as I’ve invested plenty hours of it. I feel incredibly unsatisfied. It doesn’t help that this game is glorified because it helps a variety of players stroke their ego, the casual player isn’t used to play against a more aggressive AI; but does it mean that the game is great and should be up there in a high pedestal? Debatable.

All in all, it can be fun in some areas, but most of it is just repetitive.

Reducing complexity

I feel awful, yet happy, yet tired.

A bit of an annoyance is when you spend hours doing something, then a week or two later you see a new library that does that and simplifies the code greatly; allowing maintenance and readability at the same time.

So, take it as you may but if you are using classes like QXmlStreamReader or QDomDocument do yourself a favor and try pugixml library. It’s said to be faster than the previously mentioned. In terms of code readability QDomDocument is the nearest that matches pugixml due to its DOM api, yet it’s also slower and consumes a hefty amount of memory in exchange, where as pugixml stays lean.

Aftermath of memory management / designing for mobile / the need of something better

The aftermath… of all my chasing is that I got nothing. You heard me right. I spent days figuring out what was wrong just to receive one hell of a slap to the face that the OS doesn’t necessarily claim the memory back. But, I also noticed that memory started to be freed after changing the parent of QNetworkReply to 0, meaning I manage it manually.

Regardless, after some testing I’m happy to say that while I messed up big time the application is working as expected. I think the lowest I saw was the app using 18mb and that for me is more than enough.


Now onto designing mobile applications. See, I’m not a designer I know that, you know that. I don’t think I will get this right… but it’s time to let go honestly; I have spent too much time trying to have the “perfect” design and such thing doesn’t exists. Now I will sit one more time to work on a new mock up.


Perhaps I’m losing my mind. The more I think about it the more I notice that I’ve been preventing myself from experiencing something good. Not so long ago I pondered on getting a Macbook Pro for various reasons. The first being development, the second being Unix, the third being a polished desktop, the fourth being an stable desktop.

I get it, you love linux and I do too. It’s not enough. I want better printer support, better wireless support, better battery life because Linux can’t even do battery life management correctly and for a battery that last 2-3 hours using Windows I get only 1 hour. I just want a better desktop experience. See, windows provide that without me having to do much. Linux… provides that to a certain degree, once things start breaking apart due to upgrades then good luck because you will need it depending on the issue. The whole “well, you can just reinstall it back’ isn’t even a solution but a living proof that linux is still behind desktop experience.

It feels awful though, being a supporter and all, but once you start luring people in and seeing them running into problems it just feels all kinds of wrong.

Looking back: OpenSUSE 42.1 with latest KDE packages

I’ve been killing some time with other Linux distributions. As far as I can tell one of my favorite Desktop Environments is still struggling out there. plasmashell crashes everywhere, right now the right side of the panel is a mess with icons overlapping on each other. It makes me a sad penguin!

I think… in 2015 I just stopped caring about the current progress of KDE… as much as it hurts to say. Amusingly–for some–I’m looking forward to see the next iteration of elementary OS or maybe Linux Mint Cinnamon. The next iteration of Ubuntu LTS is around the corner needless to say, so I’m guessing that both elementary OS and Linux Mint will be ready when the time comes.

I am looking forward to that at least. I am glad that I chose to test over in a virtual box before installing this on my laptop, else I would have been pretty upset.

As for OpenSUSE 42.1 (Leap) I got no complains whatsoever. It seems relatively stable, excluding the KDE problem as that’s a problem that lies with upstream, not OpenSUSE team. I got Spotify working in less than 10 minutes, sufficed to say I’m impressed on that since last time I had to hop through a lot of obstacles just to get it working.

Well, I hope 2016 is a fruitful one for Linux users. I also hope that KDE finally stabilizes this year.