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.
I have been using the laptop for a few days. The experience, is like being in a candy store. Everything is new, everything brings a fresh perspective. I remember last time I had the same experience. It was January of 2013. I installed Ubuntu for a IBM T42. Then the laptop died. I was playing Fallout: New Vegas before, and it was defective video card or something. Anyways, I had 3 months of fun with it.
So now that I got a new one and installed. It turned out to be fantastic. Although there are a few issues. A glitch occasionally which doesn't bother me much. The biggest annoyance is the keyboard. Every laptop, the keyboard layout is different, even a fraction of inches or millimetres different can have a big impact of typing. The biggest of the annoyances is the location of the page up, down, and home and end keys. I use them so often yet for windows laptops, they are always different from one to another.so I always hit the wrong one. Right now, I look at the keyboard while typing. It will be a while before I learn how to take my eyes off the keyboard and to the screen. The keyboard is something to get used to.
I was playing with video encoding and some editing. The biggest question I had is to get the final video segment as small as the original. And I was not able to. It is hard when there are so many combinations of parameters to set. Then I figured out a way. I use ffmpeg to do a dump of the information about the original video. Then use the exact the same for the new video. And the outcome would appear to be quite nice. More experiments on this.
I was doing the code fix for the file upload on this site. It is pretty hard to do. That part of coding is complicated and I always struggled with it. I think I am half way with the back end. And needs some more time to finish. Will keep more updates on it.
Linux on A Laptop - In a Candy Store
I didn't provide an update for 3 days. I know. Guess what I was doing? I played two days of Dragon Quest XI. Friday and Saturday of the new year. It was the perfect time to play some games, I was very relaxed. And I felt bad that I had to put aside of the computer and playing games. Now it is over I am on the computer again. In between the time, I installed and did some re-configuration of the Linux laptop. It looks a lot better now.
Aside from all the software I needed, like Java, Eclipse, etc. I installed Handbrake, OBS Studio. I like video editing. OBS Studio worked flawlessly. On my old computer, I used to have OBS Studio and the quality was just a mess. On this new computer, I take the video capture of desktop, clear and crisp. Handshake, I have not figured out how to shrink the videos to ridiculous small sizes. But I did have fun playing with this application.
I also installed GIMP, and tried with the unshaped mask for sharpening and it worked as I expected. So far the laptop is working as beautiful as I have expect. I was able to use git to get my source code and use EGit in Eclipse to commit. This is a trial period, and it is going as great as I wanted.
Linux on a Laptop - An Update
Everything is going great. I have installed a bunch of software on the new laptop. So far so good. I have added Eclipse, and JDK 14. Then I added EGit on Eclipse. From there I was able to clone a spare time project and run it (on command line or in Eclipse).
Then I installed some other applications, like a MP3 player. Got all the MP3 on the new laptop and they worked just as expected. I tried out the audio editing tool Audacity. Again, seems to work as expected. Okular for the document reading, works as expected. I got OpenShot Video Editor on the system, and cut a video, again, worked like a charm. I even installed FocusWrite for some simple writing fun. Turned out that FocusWrite is not fun. So I uninstalled it and installed Typora.
I did notice a problem with the system. When I boot it up today, the Xfce Windows Manager was not the right one. After rebooting, it was switched back. That was strange. I discovered that I have two desktop environment. There are a lot of things to be learned from this new experience.
Linux on a Laptop - Installed Software
I didn't get my laptop from that bad online store, so I went to Costco and brought the one that was on display. It was another HP laptop. It had 12GB memory on it, I wish I had 16GB. but 12 is OK, it gives at least 10GB for use. It also has a 512GB of SSD, very nice.
The default OS on it was Windows 10 Home Edition. It is useless. I didn't need it anyway. What I needed was to install Linux to it. So I did. I used the unetbootin to create a USB boot install disk. Then I proceeded to install. I allocated 100 GB of space to the Windows OS, and rest to the Linux system. The install was really easy. I was very very surprise of how easy it was. The only problem I had to face is that after I install it, I was booted into Windows. After some digging (like always), I figured out. I had to change the laptop's BIOS to use Linux boot first, and Linux' boot menu includes Windows as the second option.
The system has been very stable, very quick. I have installed Java, Eclipse, and PIA VPN on it. All worked very well. This is a really interesting experience. I am switching back to the old one until I can move all the files off and to the new system.
The tutorial on the AngularJS File Upload is done.
Linux on A Real Laptop
It has been nine days since the last update. I made huge progress with the day work. And I was playing Dragon Quest XI, and made some progress with the game as well. This game is risk-less, but very slow. I made it to level 36 for the main character, and the contest at Octogonia was a breeze. The cinematic is interesting, with the two new characters joining the team. I was pleasantly surprised how interesting the plot of this game is.
I had also made some progress with the AngularJS work. The multi-part file upload functionality is very interesting. I got it working and it was very simple. If I knew how this was working before I had this site developed, I would never employ the solution I have now. I will be document the solution in a post. Yes, a post. Once it is published, I will begin to work on a new solution to replace the resource file upload I have now for this site. The solution probably will be an addition of the application, then swap out the existing design with the new one. It would be quite interesting to make such an improvement. The progress would either be messy or clean and simple.
Made a Lot of Progress with a Lot of Things
I learned something at work. I was working on the file upload, and used my way of doing the upload and it didn't work. I guess it works with Java on the back end. But IIS has a hard size limit on the JSON request, So large file converted into BASE64 string and sent as a part the JSON request fails. There is no way of increasing the JSON request size limit in IIS, no easy way.
There is no choice, I had to use FormData and multi-part file to do the upload. And I figured out. I mean I find where to get the answer. The tutorial I found was unclear. So I need to write a new one so that it serve as shining beacon of hope. Kidding. I do these tutorials so that I can look them up later, in case I needed it. And just as I was doing my own file upload, I copy and pasted my own code from codeproject. It feels good. Without refining these knowledge, re-tracing my way to get something to work takes a lot more time.
AngularJS File Upload using FormData
It has been six days, since the last update. The social situation is getting worse. It is like the end of the world. We all confined to home. And I had very few hours to do the day's work. And I have to work at night to keep up. The work is very interesting. It is why I was very engaged. And my spare-time projects are suffering. I hope this is temporary.
I ordered a new laptop (a used one) from a shady dealer and have not heard back. I was going to get it so that I can install Linux on it. It will be a couple more days before I can get it. But the slowness is something making me angry. I guess once you get used to the fast delivery, the slow response is something that can make one annoyed and angry. The social situation only makes one's psychological state worse. I know I should be more tolerant about this type of delay. It is the holiday season and the social situation made it (the shipping) worse.
I also ordered two games, Death Stranding and The Last of Us Part II. The prices of these two have fallen to the acceptable level so I got them both (shipping is free). They are from Walmart, and they will be shipped to me on time by December 1st. At least I am happy about this.
It Has Been Six Days Since Last Update
Due to the pandemic, school is closed again and I have to babysit during the day. Then I have to catching up day work at night. The .NET app development is on hold. I don't like this, but the situation is not something I can control or manipulate. I kinda like the fact that I can accompany one of the kid during the day and help out with their school attendance. But the schedule impact is making me nervous as it cuts into my personal time. Again, the social situation is out of everyone's control. Anyways, I am coping as best as I can. The day's work is being interesting. And I have made great progress with it. Hopefully I can return to the old ways of living soon.
What I am thinking is that maybe the life ahead will be different from the old one. And there is no turning back.
Schedule Got Impacted Again
There is not much going on for the past couple days. I started a new program. A .NET program using NAudio. It has to play the sound wave file and record sound file. It is boring except that I never used NAudio. That part is kinda fun. And the day work is interesting so I didn't do much at night. I did play two nights of Dragon Quest XI (11/13, 11/14). I think I finished Chapter 7 of the game.
The NAudio stuff will be a tutorial. I will finish the program first. It will require a week. It is boring work, I just have to finish it. It is important. Anyways, I have a list of tutorials to finish for this site and I am slowly catching up. I will get to them eventually. Anyways, I will not re-iterate these tutorial again here. Recently things are just getting really slowed because of the social situations. Hopefully, I will have something better to show in my next update.
Nothing Much is Going On for the Past Few Days
Spent two days on writing a sample program. It is not working and nearly driven me mad. It is funny how it is resolved at the very end. One post in stackoverflow described that using host name localhost the security based session will no longer to be created. So the get around is using 127.0.0.1 instead. I tried this fix and it did work. And this answer is so obscure that it is almost impossible for me find it. I am sure I am not the only one, and I wonder how many people missed this answer.
Anyways, I will add blog post for this. On a side note, I was playing Dragon Quest XI on Saturday night. I killed another metal slime. When I played Dragon Quest on the pad, I never did kill any metal slime. Now I have done it twice, I think I can do it over and over again. I found a few ways to make the game more fun, like how to farm perfectionist pearl, and how to use them to upgrade all the characters' gears. The grinding for experience is not so bad. But the bright color and repetitive music are giving me some headaches (real headaches). I am not playing this again until the sample program is completed.
Working on Spring Security and Thymeleaf Integration Sample
Yesterday, I looked at my published list for this year, and it disappointed me. There were only six articles, not seven. I thought I had seven articles. I was wrong. I like to have seven articles published. So I took the blog post for the Thymeleaf integration, did some clean up. and sent to codeproject. Now I have seven published.
There are some new ideas I am considering. The newest one is form validation with AngularJS, I just had a hard time coding something with this. There is no good tutorial out there. And this is one of the weak point I have with AngularJS. Create an in-depth tutorial would help me and everyone else.
Another one would be multi-resource uploading. Something that I can use in the future projects. And I should get back to learning Redis, and at least publish one tutorial on it. There are a lot I must do, And I will get to them eventually. The problem was time, there are only two hours of the day I can do some work for this. So everything goes slowly. At this point, I don't even care if I move as fast as the technologies (of course the technology move faster than I can, because there are lots of people who do work on them). I just want to get good at things I am interested in,
Refining one's skill at one specific area is way better and way more efficient than the pursue of many things all at once.
Published Another Tutorial
The tutorial write-up is completed. I have corrected all the misspells. After I proof read the tutorial, I sent it to codeproject. Yesterday I used the sample program one more time. I was very psyched about how good it was. Seems to be a waste if I leave it aside to collect dust. Maybe I should do another big project with it. It shouldn't be wasted.
The benefit of doing projects is that it can help develop ideas, ideas of how to do things better, efficient. One does not get such when sitting idle. I find that the work would also help shape one's thinking on how things can be done. It was most beneficial. I am trying to strike a balance between repeating old work, and creating new. There are some old work needed redo. And some ideas as well, I can't reveal them yet. And I am not starting these because I am a bit afraid that once I started, I get no break out of them.
I have been thinking of a new laptop to put Linux on it. But a decent one costs more than $800, I am a bit hesitant to commit to such a purchase.
As for Dragon Quest XI, I was in the desert now, the levels are pretty high. I was still grinding for experience. Recently I encountered a metal slime and defeated it. But let two more escaped. That was pretty fun. I play it once a week for 2 to 3 hours and I didn't get addicted. It is because the projects kept me focus, game play is not as fun.
New AngularJS Tutorial is Published.
It is been six days since the last update. I have been busy. The day work was getting tough. I had no time to exercise after being busy for a week. The situation is kinda crazy. I hope it will improve next week. I have been working on the codeproject tutorial on the reusable html editor. It will be my last one for 2020 (this is the seventh one). And I am trying to make it a hit.
It is a complicated component, I have spent three days on the tutorial and it will be a couple more days. Afterwards, I will do a simple application using ES6 script syntax. I found ES6 script exciting. Redis is another matter. It is easy enough, and I was able to get a sample application working, but in order to get anything meaningful working, it will take a lot more effort. I have to learn how to use Redis and take advantage of it. I don't know how I will learn it. It is tough that I don't work with technology directly. I guess I will dig harder with search engine. And there is a lot to learn on Redis.
Maybe I can do something different this time. I can do a small blog post for every small thing I learned on Redis. It has to wait. I won't start this until the tutorial is done.That is my plan.
Working on the AngularJS Reusable HTML Editor Tutorial
Yesterday, I played a little game, and didn't work on this little program. Today, I finally picked it back up. I was about to go get Babel and setup Node.js for this. And I was not convinced this is right. This is 2020, ES6 Script should work in the browser without any translation. Turned out, I am right. I don't need to translate. And the error I was getting was from the wrong path to the file. Another problem I had is with the ES6 Script syntax. Once I fixed both, the little program worked. A little more research I was able to get the program working as expected. Man! 10/17 is a pretty good day. I will create another tutorial for this site.
We went to see a creek (there are so many in Pennsylvania) and little water fall. It was lovely. I had a few good photography ideas with the place. Maybe I will do some more photography projects in Pennsylvania.
Giving ES6 Script a Try... And it Worked!
I put in another fix for this site. I noticed that whenever I add an image to a post or in an update, I need to add a center aligned DIV, then in it the image. I have type all these by myself. It is better to add a command shortcut. So I did.
Also, when I use the command shortcut to add an unordered list or ordered list. The place holder lines would have this annoying "<". It was added by accident. So I had to delete all that extra "<" characters.
Lastly, the place holder for the title attribute, the word "descrition" was misspelled. I cannot stand it. So I took this opportunity to fix it. Anyways, I had a little tough time adding the command shortcut to for site update section. I fixed at the end of last night (10/14).
Yay! 18 issues fixed since the site came online. This is great!
Fixed Another Few Issues for This Site
I just got Redis on my PC. I was amazed how small the server is, All the binary files added up is less than 1MB. If I use the default configuration, the server starts right up. It must be written in C. I was able to add a key and value in the storage. And retrieve it. When I shut down the server, the data was lost. I was not able to get it work with the the auto save. Turned out there is a better way, on the CLI, if I invoke command SAVE, the change will be persisted to disk. After I turn off the server and restarted again I was able to see the key value again.
The next step is to write a small Java program to exercise the functionality with redis. I like the simplicity with this NoSQL database. I think I like to learn as much as I can about this. Again, I was thrilled that this thing is so simple. The server executable is so small. It is so easy to run it with a default configuration. And so easy to save the key value pair to file.
Getting Redis and Play It Out