This page lists all the site updates. These are short posts that describe the events in my life. These posts are frequently added here, but have less content than the blog post or the article pages. I like to post one everyday so that I can go back and check what series of changes for an extended period of time. These site updates also track the progress of various projects. Some of them might contain funny stuff, anything that can entertain the readers of these sites. Hope you enjoy them.
Writing coding tutorial takes a lot of time. I spent at least three days on it, and it is still unfinished. I really don't like to do this. It is fun to figure out how things works. But write it all out takes time, Maybe I need to change the work style a little bit. I am not sure what to do with this. All I know is that documenting the tutorial takes too much of time. I need to find a way to make this more efficient.
Anyways, the tutorial is almost done. I will do one more push to finish it. Then I have to proof read it before it can be published at this site. As said before, lots of work. I can do this now. If I push myself for another big project. I won't be able to push out this tutorial as much. This is the reason I only allocate five articles per year, leaves lots of time on the development of this site. Anyways, now this is completed. I have a little more time to do tutorial. I still don't like it. Must find a way to make this easy.
On Saturday 10/10/2020, I played Dragon Quest XI for two hours. It was fun. I figured out the attraction of this game. It has no pressure for a player, and the success is almost guaranteed. So it is very easy to get the endorphin as reward. This is how a player can get hooked to play this game nonstop. This is dangerous. I was unaffected because I have discipline, From time to time, I would still play over the time. Anyways, I will get better control over time.
I took some good pictures this weekend, of Sunflowers. Maybe I will post one later.
ThymeLeaf Tutorial is Almost Complete
I just started the write up of a simple tutorial on Thymeleaf. This tutorial will be simple and exclusive for my site. I have uploaded the project to bitbucket in a separated source repo. As long as I have the source code, I will be able to reproduce the same exact effect at a later date. The pain of documenting the usage is just to share information with the public. I don't event expect increase of traffic to the site. The details I will share is already available on other sites.
Write it and share is mostly for me. I will read it again to to figure out what I did before. This is just a simple application that accomplished what I have done before. I will create another sample application to have Spring Security added. Again this is retrace the work I have done before but will use Thymeleaf for page rendering. I will also add tutorial for global exception handling. It sis something I have just learned recently. For the next project, this little technique will be used. Anyways, it will be found for the next two months. The Angular HTML editor piece is still shelved somewhere, which I will document for codeproject as last one for this year.
Work on Blog Post Tutorial for Thymeleaf
Learning new things means I want to move forward. I used to hold grudges on certain technologies. Then a while later I find myself giving up such grudge. I explore the these new things which I don't think are right. I don't like them but I find myself use them all right. And I don't find myself betraying my own believes (although it does looks like I betray myself), I am surviving by adapting. When you feel the same thing, you don't have to hate yourself. Just tell yourself you have to survive and you have to adapt.
This time, I was learning Thymeleaf. I needed it because I need a replacement to the taglib jars. They will not be usable with the newest Java compiler. This is the best alternative. I will use it if there is no other choice. And I heard good things about ThymeLeaf. It took some research, And I was able to create a very simple application. It exercises the minimum set of requirements I have. I have not yet made it work with Spring Security. First I will add Bootstrap 3.3.7 to it. Then make a small tutorial, Post it here and possibly for codeproject. Then I will move on with Spring Security.
Thymeleaf Sample Program Works
I returned to Spring Boot programming two days ago. First, I decided to learn how to use ThymeLeaf. I was using JSF, and TagLib. But both implementations are getting old. They will not work with Java version above 8. As of now, the warning does not prevent the application from running. But I cannot guarantee this would be the case five years from now. I need a replacement. This site is not affected now, but if needed, I can rip all that out replace the old code with ThymeLeaf.
But I hit some issue which took me two hours to resolve. This really made me feel getting old. It was a silly mistake, It was eventually resolved. But it annoyed me pretty bad. I put that in the past. Today, I did some code design with the ConrollerAdvice, a way of catch all the exceptions, then return either a web page or a JSON message. The coding was smooth sailing. The thing is, since I have done this web site, I was not as focused. I do the spare time work while watching TV. And I just don't see some of the tiny mistakes I made, and that would waste time chasing these mistakes - focus is important.
It has been a week, with no new updates. What is wrong with me? Here are some catching up:
Yesterday, I finally returned to writing web application again. Here is my thought, the application development technology is old. Eventually, some of the libraries will not be working in the mix. The new things even though I hate, will be supplementing the old ones I like. I used to dislike Spring Boot. Now I used it like my left hand. It was just convenient. The new things I am exploring will be just like Spring Boot. I will get the first simple program working, then write a codeproject tutorial, then expand with more functionalities. Hopefully, by the end of the year, I have enough materials for some potential new projects.
Wow! Long Time with No New Updates
On Sunday (yesterday), the water heater was dead, only lukewarm water available. The whole family didn't shower. Turned out, the ignition of the water heater was off. And there is a way to re-ignite the spark. And I was able to turn it on. Disaster avoided, Then the Monday went through smoothly. It was one of these days when one thing worked, everything worked.
I played some game on Sunday. First I was playing No Man's Sky. And I finally got sick of it. So I switched to Dragon Quest XI. I hope it wouldn't be a mistake as it will take a lot of work to play through. The truth is that I am a bit scared of Days Gone. And Star Wars Jedi: Fallen Order is a bit annoying with all the jumps and acrobats. I would eventually get back to Fallen Order. For now I will enjoy some simple game play.
The Android application is almost done. I just added some extra code to prevent pop up dialog to close, And I added the text resources to display at different stages. Finally I got Pixel C pad emulator and got the application run on it and it looked OK. So it would work with a phone and with a larger pad. The time to test it completely is almost there. I am happy with the progress,
It has been five days since my last update. A lot has happened. I just want t summarize here before I go and play games. First, the black car's left head light was not working, And the fuel door cannot pop open. The car dealer fixed the head light, but not fixed the fuel door. It is probably because the mechanic couldn't reproduce the issue. They clean the fuel door compartment and call it fixed. I was not too happy about it. When I was about to bring the car back in for another fix, I found a temporary solution. There is an manual release, I used it to open the fuel door. And now it can be popped open. Unfortunately, I tried again on 9/19/2020 morning, it was stuck again. Good thing the manual release still works.
I was working on an Android application. It took five nights, And I have it running now. I need to do some clean up, add some new functionality, then it can be deployed for testing. I can't reveal too much of this application. I am happy about the progress I have made. I have not done Android application for at least 10 years. And I picked it up right up no problem. I learned more from this than I did 10 years ago.
I mistaken a router as network extender. It was ridiculous. And I had to make another purchase. Hopefully, it will be the right ones. And I still forgot to buy the steel metal plate for the phone (used with a magnet to put on the car dash board). I guess I will try remember next time. I download and installed TikTok, just in case the ban prevent future installation of the app.
Things that Happened In the Past 5 Days
I will be adding two project pages. At least I am thinking of this. The first page is to list all the places I have been, traveled, visited. And how much fun each places is. I want to see how much of the world I have seen. Another possibility for this project is to list some places I like to visit later, and I want to see if I can get to these places if I try hard enough. Travel is not easy for me. And I like to visit places. And I guess I want to get comfortable with traveling.
Another project page I like to create is the game page. This seems childish. But I like it. Playing video games is an childhood obsession. Something I do not wish to give up. It is also something I want to enjoy. Even though it seems childish, I like the idea that I can keep a scoreboard, as an entertainment to myself.
For these two project pages, I will decorate them with some great icon images, and create some more style classes to make these two project pages unique.
Thinking of Adding New Project Pages
Screenshot from the video game The Outer Worlds - Posted as non profit/Fair Use
I have sold the house on 9/10/2020. On the same day, I finished the video game The Outer Worlds. I was stuck at the final battle. There was one giant robot plus four small drones. The NPC lost conscious shortly after engagement. At first, I was quick to die. It was very frustrating. That was a week ago. I waited on a day when I was well enough, and I was able to beat this last battle on 9/10/2020. It was a very happy day. The house was sold, I was able recover most of the fund (also lost a lot). Anyways, I was very happy with the outcome.
For this site, I am back to fixing some issues, I have cleaned up the page content directive for the Admin site. There were some duplicated code, which I have removed. Then I have fixed the add resource image URL issue. Finally I added an enhancement to filter the resource by type for the add resource popup. These changes are still under testing. Once they are certified I will push then for public use. At time of writing this, the code changes are still under testing.
Today (9/11), I was looking into the block chain technology Ethereum. It was very interesting. I looked through one tutorial and it looked interesting. It will be something I will check next. Right now I have to deal with Android, I need to design an application that can play wav file and record wav file, and also add some text file to the Android disk. I will need to focus on this.
I Have Completed the Game - The Outer Worlds
I finished another update for this web site. This time, it was an enhancement. I separated the list of photos and pictures from the other resources list. The reason is simple. The photos and picture I will post are my most prized images, The other images from the resource list are screenshots, and unimportant image files. When both mixed in the same list, this will make the management of both harder to do.
The solution is to separate the two. I create a new list of photos and pictures. The change is pretty simple, but involved a lot of file changes. And it created some duplicate code. I am OK with it. It was thoroughly tested. And I have put it available to the public. I am going to fix any issues later.
This labor day is kinda crazy. I brought three pieces of hardware for home improvement. One is a simple slide lock. It was an easy install, but it was ineffective. Another one to fix the snap lock on the front door, Again, it was not effective, another easy fix though. The last one is a plastic pad to prevent the door knob scratch another door. This one is the simplest to install, and it was effective. I am getting better with the home improvement. And it is getting easier with the right tools. Now I am finally believing right tools for the right job.
Completed an Enhancement to This Site
Since the last update, I have been busy. I downloaded Android Studio, and installed. Then I designed and implement the first program. This program has a button in the middle of the screen. When pressed, it plays an audio file with the extension of *.wav. It was working as last night. The next step for it, is to add the the step of saving a text file with some stuff.
I am doing this for a potential big project in the near future. It is going to be a lot of sweat and pain. Anyways, I am taking a break here. I am going to fix another issue with this site. For the Admin Site, the session timeout is set to 30 minutes. It might be too short. I will increase it to 90 minutes. There are some other enhancement I will have to do. It could be a week of work. I will save that for later.
Back to the Android stuff. At first, it was disorienting. What saved the day was my knowledge of Java and Linux. Then a lot of search of code snippet finally made it working. Linux is really a sweet OS. And if one knows enough of it, one can solve any problem.
First Android Program Worked
The problem with the AngularJS HTML editor was completed on the week 8/29/2020. Turned out the issue was small, I had to rewrite some parts of the directive, then cleaned up the code a little. Afterward, I spent a night testing the directive to make sure nothing is broken. It is done. I shelved it for now.
I found a problem with PS4 The Outer Worlds. It was a common issue (as many player reported it). Obviously there was a bug in the code. After the player reaches Level 28, and enters the city Byzantium, all the save will be corrupted. This cause a lot of headache for me. Mainly the lost progress for a few hours. I had to re-play the same over for three times. Today, I took 1 hour to set up my PSN access, then download and installed the update to the game. Now I have version 1.0.4 instead of 18.104.22.168. And I played the game for a quick 10 minutes and was able to make a good save. More testing needed. Yes, I am a bit obsessed about this because such a major flaw shows this game does not deserve the release price tag of $60. If the new version still create crap save. Then this game is going to my shit pile list.
I also installed the Android Studio, in case I have to do a big project. It is no longer using Eclipse. It is now based on IntelliJ. I don't like it but there is nothing I can do. At least the SDK is pretty friendly. I was able to create a sample application in an hour. I will add more update here.
AngularJS Based Html Editor is Done
Last night, just before I sign off the AngularJS HTML editor sample application, I decided to do one more testing, adding a HTTP load and save functionalities to the sample application. That is when the hell broke loose. The load didn't work, and the save didn't work either. Crash and burned. Now I have to fix them. It is an design issue, and extensive work is needed. I will stat today, after finishing this update.
There is another thing, I ordered a set of screw driver heads, drill bits. Why? I thought I lost the old set. The new one arrived. Then someone in the house pull out my supposedly "lost" screw driver heads and drill bits. I was like "You gotta be kidding me..." Anyways, the new set is better and I will keep it. The old one, I am not sure what to do with it. Keep around as back up, then give it away when I don't need it any more. I ask myself why I need the driver heads and drill bits. I like doing small home improvement thing. Having a neat set of these can make the work easier. I am going to enjoy the new toy.
I was also researching the new ear buds. I think I am going to buy Sennheiser CX 100. My old Samsung lasted at least 5 years, And it is finally at the end of its life span...
Crashed And Burned - AngularJS Based Html Editor Needs More Work
When I wad running today, I saw a family thrown out at least $100 worth of books. In it, there is the graphic novel The League of Extraordinary Gentlemen by Alan Moore and Kevin O'Neil. Just the Volume One, not the rest of five volumes. I asked the resident if I can take it. Got the permission, and I took it. When I turned to the back and I saw the price is $14.95 USD/$24.95 CAN. Imagine the prices of the rest of the books the guy was throwing out. There were several books of the Walking Dead. I didn't care about those because they were not from Alan Moore. I wonder, why would people do such a thing, throw out money like this. This book is worth of $3.50 on Amazon when selling it as used. So it still worth of something.
What you can do with used books, you can try sell it on Amazon, or Ebay, just list it with a lower price than the lowest, some one will buy it. The hard part about this is packaging and shipping. If you don't want to go through with such trouble, donate it to Good Wills or Salvation Army. They will sell it to fund their operations. Or you can give it away to neighborhood kids or to the library, There are many ways to dispose these for a good cause. Don't recycle with the city garbage collection. Be mindful about what to do with these books.
Found a Comic Book While Running
I wrote another CodeProject tutorial in just three nights. It was for the issue I have fixed. When I misused the span and ngRepeat, all the span elements are displayed in one line, They are not re-aligned based on the width change of the page. The tutorial offers two different solutions. I was just having fun with this tutorial. The sample application takes an hour to create. Then tutorial takes about two nights to write. Short an sweet.
Today, I also fixed the handle of the cold water faucet for the shower. The handle needed a screw. I don't even know how the previous tenant lost the screw. The loose handle had a plastic cap that prevents the screw from getting out of the handle. All I had to do is take the cap off, then use a screw driver to screw the handle to the part connected to the water pipe. Since the screw is lost, the only thing I can do is find another screw for it. I found a replacement screw in my belongings. It was too long, but can be used. I used it to screw the handle back. It was loose. Then after half day passed, I found the actual screw on the driveway. This is truly weird. How did the screw got out of the handle and ended up in the dirt of the drive way? I can't imagine. Can you? I was amazed by the find. At first I doubted the screw is the right one, but decided to try it out, Turned out it was the perfect fit. Today is truly an amazing day! For the past month, I had quite a few amazing days. I am very happy about them.
Also, yesterday I received word that my house in MI has passed the valuation by the bank. The house sale will be closing soon...
Another CodeProject Article Completed
There is no much of progress update. The weekend passed without much trouble. I drove to Costco (King of Prussia), which is almost 10 miles out. The drive is fine. In fact, it was easier when it is just for me to do it alone. I can turn up the music, and have the cell phone GPS tell me how to get there. And I found all the sections where things are in Costco. Next time when I go there, it will be faster for me to buy all the things we need.
The drive back is also fun.I went through the hills. It was so green here, It was amazing. I thought Michigan had more trees, Apparently there were more trees here. Driving is not so bad. The roads are weird. But one can get used to them.
I am almost completed with the HTML Editor with AngularJS. The directive is easy to design, once I know how to create a directive. It is all the functionalities I had to fill in, which took the most of time. Then there is the format of the HTML code for the content. I also took it slow, After this site is up, and all the issues I have fixed, I have a need to get another product complete as soon as possible. I am taking it slow. I a going to enjoy other things in life. This coding thing I do is just a bonus.
I will wrap up this little project. The next one is the streaming of large files with Spring Boot. It was well implemented in this application. I need to learn how to do it proper. And perhaps I can fix the code here as well. Long way down the road...
AngularJS Based Html Editor is Almost Ready