Hi, welcome to Han-Sulu.com. The web site has been completely renovated three times in the past five years. It was a great journey I have taken. Building this site up, then tear it down and start from scratch again giving me many chances to learn great things which I can either use professionally or in my spare time projects. I am very grateful that the development of this site giving me so many opportunities to learn and grow.
I am a software engineer, specializing C# based application development. In my spare time, I do a lot of Java development. In the world of software development, I am ambidextrous with .NET and Java. I developed my skills by research and by practicing. I am a veteran contributor to www.codeproject.com. I won the award of most valuabale author 2022. I created this site initially for creating articles on some niche subjects. Yet, I never find any focus. After so many years, I discovered that I don't really care about how many readers to my site. I just want to use this to record some of the cool things I have done. I really enjoyed documenting these things. The main audience of this site is just me.
When I first started this site, I quickly abandoned it after half a year because there is little to write. Today, I found an interest that I could keep writing. The secret is that first I treat myself as a reader of this site. I am my own fan. I ask myself what I like to see. And I will write that. Another trick I learned is that I would write something short every a few days, I just record I have done so far, and write something about the success I had with these activities. Eventually some of these can be turned into subjects of longer articles or posts.
I don't have a specific focus for this site. The articles sections are mostly technical tutorials. My latest codeproject tutorials are all there. I also keep some handy simple tutorials for Linux and other open source technologies. The shorter ones are kept in the posts section. The memos section is short updates of my recent experiences. The topic varies in the memo section, which kept me being interested in writing. Like I mentioned before, four years ago when I first launched, I abandoned quickly because I have nothing to write. By writing experiences, I can reflect. It also kept me continuing with writing.
If you like to know more about me, please go here. You can find all the information regarding this site. If you need to contact me directly, you can either post comments on the blog posts or articles. Or you can go to this page, and send a private message to me. I like to get feedback on what posts are good, and what not; or ideas and request of future posts. If you like, you can also subscribe to the site mailing list to get regular updates. Thank you for visiting.
I bought a new computer. You might be surprised because I bought one about two months ago. And you would like to know why. The reason is simple, ever since I discovered Ryujinx, I found myself wanting a more powerful computer that can run this smoothly, that is, a computer that has an Nvidia video card with a decent amount of video memory. That led me to buy an MSI gaming computer GF 63 thin.
This computer is new but its design and configuration are at least three years old. This means the computer is half the cost of a top-tier gaming computer. It has an Nvidia RTX 3060 with 6 GB of dedicated video memory. With this laptop, I can run Diablo III with Ryujinx at 60 frames per second and a few other games with Ryujinx at 30 frames per second.
I also discovered another emulator called RPCS3 that can run PS3 video games well. I was able to try Mass Effect 2 and 3, All the PS3 versions of Borderlands games, Resistance Fall of Men, Just Cause 2, and a few others. These games can run at 30 frames per second and have almost no stutter. There were a few games that I can't run smoothly. For example, No Man's Sky stutters a lot on Ryujinx. It is caused by the fact that it dynamically generates the terrain and other game content. Fallout 3 had some issues with RPCS3. I was not surprised by this, Fallout 3 was full of bugs, and it generates the game content dynamically. I guess any game that dynamically generates content would not run well in emulators. The ones that run well enough stuttered occasionally. The emulator has to pre-compile the shaders during gameplay. Overall, I was thrilled with what I saw. It was better than I had imagined.
Running Emulators on My New Gaming PC
I have made good progress with my notes application. It is an electron.js based application. It is designed to take notes. The notes also have keywords and categories (just like the posts on this blog site). I have completed the following:
In my original design, I imagined the app would have management pages for the keywords and categories. I have also completed the management page for categories (add/edit/delete). I am pleased with how the management page has turned out. I also need to create another management functionality for the keywords. After that, I will add search functionality, and note listing associated with specific categories and keywords. Then we are done. I hope I can wrap this up by the year's end. When completed, it will become my default notes-taking application for my Linux desktop.
Great Progress on the Notes Application
There is not much going on, I eat, I sleep, I get up, I work, I take care of things in the house. Life is boring. I do all kinds of activities to make my life exciting because boredom is hard to endure.
Let's talk about fishing. I do this like scientific research, I compare the use of different sizes of hooks and different kinds of baits. The latest results show that bluegills and chubs love the black soldier flies' larvae. These larvae grow to almost an inch. They are mostly protein and some shells. Fishes love them to the point that they would bite no matter what. I went to the Willows Park a few times. Every time, I hooked plenty of large bluegills. Where did I get the soldier flies' larvae? I have a compost bin in my backyard. With all the veggie waste being composted, the larvae just grow naturally. Now I proved they are great fishing bait, I am thrilled I got this compost bin.
I have been experimenting with the Switch emulator Ryujinx, and I am pleased with the outcome. I was able to run Diablo III on my HP computer (workhorse) and get 46 to 53 frames per second. Diablo II is doing about 18 frames per second. It is a bit stuttering but it is playable. Dragon Quest XI runs about 27 frames per second and the audio is lagging. Again it is playable. I can't play No Man's Sky. I can't play Ark Survival. These were 3D rendering intensive. And I was able to get Hades running about 24 frames per second. It was great.
Worms, Fishing, Emulator, Lots of Fun
There is not much update since the last one. I went to Upstate New York for a three-day vacation at the end of August. We went to Ithaca, Upstate New York. It was a fun vacation. We saw lots of waterfalls. I took my fishing stuff with me. The rental place had two ponds, and the big one had all kinds of fish in it, So after the day, I went fishing twice, and caught a lot of bluegills. That was fun. Some other fun things we did were jumping a plank in the Robert Treman State Park, seeing all the waterfalls in Ithaca, taking a boat trip, and kayaking on the lake.
I played the new PS5 game Wukong after the vacation. But I was not able to get through the White Clad Noble. I think it is the end of that game for me unless I can find someone to get me past that point. The other thing I can try is leveling up to a point I can eventually beat my way through. Either way, I am taking a break from that. I am still playing Cyberpunk 2077. It is nearing the end of the game for me. I will probably finish Cyberpunk 2077 at the end of September. I should pick something new to play.
Gaming is not top of the priorities. I am getting back to working on the Desktop application for note-taking. I have made a lot of progress in the past few days, I just need some more time to get the saving keywords to work. Once that is done, I will need to complete the update of the note. Once both are done, I can write a tutorial and send it to CodeProject. I am looking forward to that.
Vacation, Blue Gills, And Other Updates
I couldn't stand the noise of the CPU fan running constantly in the HP computer I bought three years ago. I couldn't believe it has been three years. The problem is that the fan is always running. I believe the temperature sensor or something is broken on that HP PC. I have already replaced the fan, but the constant running is still annoying me sometimes.
So I decided to buy a new PC. Three years ago I bought a Dell Latitude 7470 along with the HP PC. It costed $600. And now, it is only $155. Dell Latitude 7470 is an office PC. It is well built, and ran without any noise. Since it is cheap now, and it has great quality, I decided to buy another one. After reading the review of the seller, I ordered one.
When I got it, I upgraded immediately. I swapped out the hard drive to 512 GB. And I increase the memory from 8GB to 16 GB. I got rid of the Windows 10 Pro and installed KUbuntu 22.04. The installation is very bumpy, I first installed it, and it worked for a while. Then I decided to upgrade to KUbuntu 24.04. It had some problem with start up. So I re-installed 22.04. And then it failed to start up. I tried booting in safe mode a few times. Finally, I figured out the problem is not able to mount the partition for the swapfile. The solution is to turn off the use of swapfile, and comment out the lines that mount the partition of the swapfile in /etc/fstab. That solved the issue. Now my desktop boots rather quickly. I think this PC is going to be great for me.
Bought a New PC
I know I have not provided any update for quite a while. I was busy working on tutorial articles. Anyways, I digressed. Last weekend, my family and I went to Marsh Creek Lake. This is a state park that does not require entrance fee. Next to the lake, there are boat rental and other facilities. We rent a motor boat first, and we went around the lake, doing deep water fishing. The first two fish we caught were blue gills. Then the next two were small yellow perches.
After lunch, we rent a kayak that could fit two adults and one small kid. We went around the lake one more time searching for turtles. There were big and small, sun bathing on the small floating pier. They went under water when our kayak approached. And I try a couple more times with fishing and caught three more yellow perches. Before this trip, I have never caught yellow perch. This is the first time.
To fish, I used jig head hook (the smallest one I can get from Walmart), put a piece of night crawler on the hook, then sink it deep down the lake. When the fish bit the bait, I just pull the line and hopefully a fish would be caught. We avoided places where weed was overgrowing, yet the area was about 50 to 80 feet away from the shore. Yellow perches were abundant in this lake, and night crawlers were something they were interested in. No bobbber is used because the water was too deep. We just let the hook sink to the bottom. It worked really well. It seemed to me that getting to the deep part of a lake and fish is not a bad idea at all.
Fishing at the Marsh Creek Lake
There is not much going on recently. So I didn't bother to give an update here. Occasionally, I think about how long ago I last gave an update here. As time passed, I felt that this place was slowly turning into a desert. I don't want that.
Before I went on vacation, I went fishing two times. Both were at Skunk Hollow. Earthworms are still the best bait for chubs and bluegills. The reason I found inconsistencies with fishing results in the past is that I hooked the worm in the wrong way. Instead of using the whole worm, I was chopping the worms into pieces. Now that I put the entire worm on the hook, I have never missed a fish. Well, I missed a few because I didn't properly set the hook when the fish bite. The next goal for me is to catch trout, and I want to do it consistently.
I went on a vacation to Virginia Beach recently. It was hot. The waves were punishing. One highlight of this trip is that I went on a fishing trip. The trip consisted of one hour of boat ride to the fishing ground, two hours of actual fishing, and another hour of boat ride back to port. We caught over 40 Atlantic croakers. I did catch black sea bass. It was too small and the boat attendant tossed it back into the sea. There is a sink at the end of the line. Above it, two hooks where we put pieces of squid on the hook. When we dropped the line into the sea, we waited until the sink reached the bottom. Then we waited, usually it took about a few seconds, and the fish would hit the bait, that was when I pulled the line hard and set the hook on the fish, and caught it. It was interesting. Maybe I will try this in the river. I take every opportunity to learn something new about the things I am interested in.
I drive the whole way to Virginia and back. The total time is about 10 hours. That was fun. Anyway, after I got back from vacation, I went back to work on my projects, My near-term plan is to create a simple desktop application, and then write a CodeProject tutorial on it. I made some progress with that app before I left for vacation. I am going to finish it soon and start the tutorial. I also made some minor progress with the Twitter project as well. The vacation is over. I will be working hard for the next two months.
Fishing, Vacation, and Many Other Fun Stuff
It has been a while since my last update. There is something I have worked on recently that I can leave a memo on. I picked up Electron JS again. Electron JS is an application development framework for developing desktop applications using only JavaScript and HTML. It is a fantastic tool for me. When I first started, I was developing desktop applications. I did that for at least 10 years before I finally switched to web application development. I always imagined that one day, I might get back to doing desktop applications one day. This might be it.
A while back, I did a simple application with Electron JS. It was a very simple application. After I picked it back up, I decided I wanted to set up the application with AngularJS, and a few other JavaScript libraries. One problem I found is that AngularJS is deprecated. The only version I can install with "npm" is 1.6.10. I had no problem getting Bootstrap and JQuery installed. Getting the skeletal application up wasn't hard. Now that is ready, I just need to find a direction to get this application done. I think I can get it done in three months.
I am currently using Visual Studio Code for the development of Electron JS. It was great. The only problem I found was the integration of BitBucket in Visual Studio Code was so great. I got this git-cola UI tool and it was pretty easy to use. I got my initial changes all committed and pushed to BitBucket. All I need to do now is find a direction for this application so that instead of some skeleton application code, the application will look cool and complex.
I recently saw a tutorial on Docker. It was very interesting. I think I will try Docker and learn some things about this tool. I upgraded my laptop with 32 GB of memory. It is time to utilize these memories. Learning Docker is going to be a development goal for me this year.
Pick Up Where I Have Left With Electron JS
I was sick for a week. It was horrible. Apparently, I got Norovirus, and it was pretty nasty. At first, I felt weak, with mild flu-like symptoms: low fever and muscle aches. Then I got a bloated lower belly for at least two days. I got better once I was able to expel all the nastiness. It took another three days I was able to recover to a point where I felt normal. I haven't been that sick for a while. My immune system probably has been compromised for a bit. Hence, I had a violent reaction to the virus. Hopefully, this time I have built enough resistance that I won't get that sick in the near future.
I've gone fishing a few times for the past four weeks. I was quite successful with my expeditions. During these short trips, I have tried my homemade dough bait and earthworms. The home-made dough bait was quite popular with the chubs in the creeks. The earthworms were the best to the bluegills. During the latest trip (on 5/25), I caught 11 fish, including chubs, bluegills, a small catfish, and a baby bass. The weather was great, and the temperature is around 80 Fahrenheit. The fishes were hungry for food. It seems the end of May is the best time to catch fish. Anyway, I will be fishing almost once a week and see how fish react to the bait. It is like scientific research. I want to see the different time frames in a year when would be the best to catch fish. I also want to try the power bait on rainbow trout. I want to learn how to fish rainbow trout and become successful with this.
For my own microblog project, I have completed the work on adding embedded YouTube videos to other blog posts. I am currently working on displaying the popup for listing all the embedded YouTube videos of a user, then the user can choose one to associate with the post. I am getting bored with this project because it is something I have done multiple times. If I can imagine it clearly, creating it is not a challenge at all. I started another project with Electron JS. I will integrate Angular JS into this project. However, I have not figured out what the main focus of the new application is. What I wanted to do was a desktop application using JavaScript. I hope I will find a focus soon with this new application. I will post an update when I do, soon.
Sick and Other Things
I was amazed. It has been two years since I have installed SSL cerificate and enabled HTTPS on this web site. To my surprise, the renewal fee has increased 100%. I had to pay $200 for two more years. Godaddy charged my card as soon as it was allowed and I didn't have chance to change the renewal to one year. The fee might be more expensive per year instead of per two years.
After the fee was paid, I waited a week before installing the new certificate to the web site. It wasn't too bad when I did it. It is a three-step process to create the p12 Java key store. Then installation and rebuild/restart of the application. The entire process took about 20 minutes. The site was down for about 1 minute, I think. This is what made me proud, really short down time.
I also upgraded the Linux container with all the eligible patches. That down time is slightly longer, about 4 minutes. Anyways, this site is quite stable at the moment. I hope it will keep up.
Site SSL Certificate Renewed Successfully
It was my fault that there was a lack of updates. I am still in vacation mode. There are a couple of things that happened. So this is a cumulative update of what has been happening.
First, I got a crew that replaced the flat roof that kept leaking. I tried fixing it. But it was a lost cost. The roof was just too badly damaged. Some of the plywood cover is rotten, and the cover at the chimney was never done right. Now they are all replaced. Skylight removed. I hope this will be good for the next 5 years or so. It cost less than $5000.
I went to Ithan Valley a few times since the opening day of fishing. On the opening day, we caught 4 fish. And after that, on average I got two every time I got there. One would be a big or medium-sized chub and one would be a big trout. There are plenty of trout under the two bridges. There will be ample opportunities to catch more.
I bought a new bed frame and a new mattress, the total cost is $1920. The mattress is queen-sized and is extra firm. They delivered within two days. It was pretty good.
I also fixed the TPMS sensors on my Buick. Then a day later, the left front tire got a nail in it. That was a Friday. I found out about the tire after I drove to my dental appointment. Good thing the TPMS sensors were working. And the tire was fixed on that day. TPMS casted $800. Fixing the tire costs an extra $35.
I am still playing Cyberpunk 2077. This time, I was playing it on PS5. The loading is very fast, and there is no stutter during game playing. I get frequent stutter when playing it on PS4 Pro. But not on PS5. I got a new Xbox One X (used, from GameStop). And I installed Wolong on it. I also got the Final Fantasy VII remake on PS5 and Horizon Forbidden West. I guess I will be busy this summer.
I moved the coding of my personal project to the daylight hours and free hours after finishing the dish so that I could play games at night. I am addicted, but not to the point where it impacts my work or other activities. I am taking this year off.
Roof Fix, Fishing, New Bed, And All That Gaming
The cooling fan on my workhorse computer was making a lot of noise. It probably broke six weeks ago. It was making a lot of noise, and shaking the laptop badly. It was just unbearable. I tried a cost-free approach trying to fix it. It involves removing the fan, then disassembling the fan blade, and putting some engine oil on the revolving part. Then I assemble the parts and put the fan back in. It worked for about 5 minutes. Then the noise and the shake started again. I guess this would not work. So I purchased a replacement fan from Amazon. The new fan doesn't look like the old one. And I was able to install it. After installing it, the noise and shaking are gone. It has been for a week. It still works. I think this will work for a while.
With this computer, I created almost 770+ videos. That was a lot of time spent on running high CPU usage for a while. No surprise the fan would break after 2-3 years. This fan probably was bad quality. I remember six months after I bought the computer, the fan started having issues. I am surprised this fan has held up for this long. Anyway, I hope this new fan will hold up for a longer time. I will continue with my video editing activities, and I will not hold back. If the fan acts up again, I can always replace it.
Bad CPU Cooling Fan Replaced
Abstract
This tutorial post will provide the information on how to uninstall current Nvidia drivers and install an older version of the driver to fix stuttering in video games.
Han Sulu 2024-11-10
Abstract
Sometimes, after my Linux Mint desktop ran for a long time, and had the xorg-server component updated without any reboot, my xfwm4 Windows Manager would crash and be unable to recover. This tutorial will discuss the proper ways to get xfwm4 running properly again. A good solution to a very annoying problem.
Han Sulu 2024-01-27
Abstract
This is my first tutorial of 2024. It is just some notes I have collected relating to my research on Lucene and document indexing. I am posting my notes here so that I can reference them later.
Han Sulu 2024-01-07
Abstract
This short tutorial will show you how to enable the GRUB boot menu for the Linux Mint operating system. By default, the menu is disabled. It takes a few simple tweaks to enable it.
Han Sulu 2023-08-30
Abstract
This post is a review of the new Nikon D300 camera I bought recently. I saw this used camera at a convention. And I bought it without much of hesitation. After about seven days of evaluation, and getting a bunch of additional utilities for this camera, I decided to write this review. I hope you the reader will enjoy this. Thank you for reading.
Han Sulu 2023-03-23
Abstract
This tutorial will discuss the setup and configuration of the applications for creating the ultimate Linux fun machine. That is, the linux system will be capable to run 2d/3d games from 10-20 years ago, and run all the rom emulations when completed.
Han Sulu 2022-11-16
Abstract
In this blog post tutorial, I will show you the reader how to fixing apt update warning on apt-key tool deprecated. I will use an example of moving the repository key for DockBarX into the new repository, hence resolving the warning. Hope this can help others who had same or similar issue after upgrading to Linux Mint 21.
Han Sulu 2022-08-19
Abstract
In this short tutorial, I will explain how to setup XRDP server and using KRDC client to connect to XFCE desktop via remote desktop access. I also documented my evaluation of several tools for this process and which worked for me. I hope this tutorial will be useful for others.
Han Sulu 2022-07-05
Abstract
This tutorial will discuss the steps I have taken to create an electron js application, integrating the latest P5JS into it, run the application, and package the application.
Han Sulu 2024-07-30
Abstract
This tutorial will discuss the detailed steps to create a Docker image using MySQL docker template and setup a database with users ready for testing. This is part of the series that connects two docker images to for a simple infrastructure.
Han Sulu 2024-07-09
Abstract
This tutorial will discuss the creation of a Docker container, how to add a Spring Boot application to it, and how to start it up and expose it to the host.
Han Sulu 2024-07-05
Abstract
This tutorial will teach you how to install all the necessary components for Docker and Docker Desktop.
Han Sulu 2024-07-01
Abstract
This tutorial will teach you how to install and configure fcitx5 and Simplified Chinese on a new Ubuntu based Linux desktop.
Han Sulu 2024-06-27
Abstract
In this tutorial, I will discuss the design and implementation of a useful application that can be used to create a Lucene index repository. It can list all the indexed documents, allow users to add or modify documents, and delete documents. And we learn how these functionalities are implemented.
Han Sulu 2024-03-23
Abstract
In this tutorial, I will discuss in detail how to create a re-usable component using Angular, and how to enable the communications between the component and the page it hosts the component. This is a fun project. I hope you will enjoy this tutorial.
Han Sulu 2024-03-23
Abstract
This tutorial will discuss how to use PDF.js in an AngularJs based application to display PDF content.
Han Sulu 2023-08-31