All My Updates

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.


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

Han Sulu
Day to Day
Day to Day, Garbage, Junk, Paper Recycle

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

Han Sulu
CodeProject Tutorial
AngularJS, Bootstrap, CodeProject, JavaScript, Programming Tutorial, Span Alignment

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

Han Sulu
Technical Challenge
AngularJS, Directive, Html Editor, Progress Update, Reusable

I took a break from the AngularJS HTML editor for two days. I spent the day working on two bugs for this blog site. One is on the index page, the panel used to display the info on different part of the Admin site. And the first panel had too many characters in the description, it is screwing up the alignment of the other seven section. I deleted some of the characters. Now it should be properly aligned.

The other issue is the keywords not properly re-align. This was a very tough one, It was very difficult to reproduce. I manage to do it. Then it is the fix. Again, very difficult. I searched online, and was not able to find a true fix. And there was one. The problem is that I looked at it and didn't see the true meaning behind the solution. Then the trial of using the fix. It is hard to get it work when one didn't truly understand the fix. When I did. the fix worked just as expected. The important lesson here is, one must understand the solution before it can be applied effectively.

Two bugs are done. That brings out more issues. They are mostly cosmetic issues. I will fix them later.

Bug Fixes Again, Two Finished in a Day

Han Sulu
Site Maintenance
Site Bug Fix, Site Enhancement, Site maintenance

Screenshot from the game. Posted under: Fair Use.

I like this game, has been playing before I left Michigan. Since the finish of this blog. I have had a little more time. So I have spent it on some video game play. As for the reusable HTML editor. It is going slowly. I am taking my time on it. The dilemma is that if I take too much time, I might abandon it.

Since the finish of this blog app, I felt a bit lost. I finished the codeproject tutorial a little too fast, I have to move fast because if I don't, I feel like was I was wasting life. The life I set 10 years ago was to keep myself busy. There is not much else to do in life. Finishing the blog application shows that my life is not a total failure. And reflected back, I accomplished a lot. Yet, can't slow down. I felt there is always something bigger I can catch. Hopefully, I will slow down at some time. But now, I still feel a bit guilty when I being idle.

Playing The Outer Worlds on PS4

Han Sulu
Gaming, PlayStation 4, PS4, The Outer Worlds

I am working on another reusable component - the HTML Editor using Angular JS. The fifth tutorial article for is completed. This new one, I will take it slow. I have already implemented the component once, for this site (admin portal). This implementation is kinda cool, no where near the sophistication of the existing open source or commercial ones. So I decided to create a new one.

The new one probably won't have the same sophistication. I am only designing for my own needs. And my needs are not as much. I need a place to type in the HTML. and I need to see the preview. The host controller should be able to get the HTML content. I guess I am making a MVP. And get a sense how it will have any impact to the world. Maybe no one will be using it. Maybe it will be popular. Who knows.

A note here, I think I am stuck in a comfort zone right now. The two components I have designed/am designing is both AngularJS. After this second one, I will probably do some work with BitCoin a little and learn something about it. Hope all end well.

Working on Another Reusable Component

Han Sulu
Unsolved Technical Challenge
Design Challenge, Unsolved Technical Debt

Yes! I just finished the fifth tutorial and sent it to It was for the warning stripe directive I have designed. It took a while. I was taking it slow, so that I would have fewer typos in the writing. Taking it slow also allow me to think what I should say, making the sentence clear. I am trying to improve my writing, still a long way to go. I still feel like I am aimlessly writing.

I bought a lawn mower and FedEx lost it in the warehouse about 8 miles from my house. Heh! I finally was able to get to Lowe's and get one today, plus some more supplies. When living in a crappy place, lots of repair is needed. The door knob under the kitchen sink needed a new screw. Got one and fixed it. Two light bulb gone out in the kitchen, replaced with two led light bulbs. The front door closer was damaged, got a new one too. Tomorrow I will install this and get the mower going. I am planning to write a blog post on how awesome my two hundred dollar phone is.

Completed Another CodeProject Submission

Han Sulu
CodeProject Tutorial
AngularJS, CodeProject, JavaScript, Programming Tutorial

When I create a blog post, or an article, or an update, I choose an image to be part of the editing, and the image display would be a broken link. This is caused by the fact that I never found a way to use the same sub link to display the image in Admin Site as well as the public blog site. The image display in the posts, articles or updates for the public site is working correctly. This discrepancy is annoying to me, but before yesterday, I didn't think it is a problem.

It is a big bug of this web site. I don't know why I didn't think it was a problem. I guess I was numb after this issue was ignore for so long. Anyways, I found a brilliant way to fix it. I did it and worked OK on my local windows system. When I deployed, it failed to work. The Spring Boot firewall configuration throw an exception. First I tried reconfigure the firewall configuration to get around this. I was not happy about this. Then I tried another fix. That actually worked out perfectly, I didn't have to lower the firewall configuration to get around the issue. And this took the whole night to fix. Time well spent.

Fixed Image Download (Preview) Issue for Admin Site -

Han Sulu
Site Maintenance
Site Bug Fix, Site Enhancement, Site maintenance

I went to the Philadelphia Zoo yesterday. And took the photo of the flamingos. The light was just right and the photo looks good. Anyways, I posted here as a souvenir.

It's been 4 days since my last update. I was busy working on the fifth codeproject submission. I need about 3 more days. This one is pretty complicated. In terms of writing, it was not the best. It is passable. Sometimes, it is very hard for me to find the words to explain certain operations, especially after a day of hard work. It was a good day for me with professional work. I fixed one bug and discovered another, it will be pretty easy to fix. Another day, successfully bring home the bacon.

Uploaded the First Photo Today. Looks Good

Han Sulu
Flamingos, Philadelphia Zoo, Zoo Animals

I decided to write another tutorial for Then re-post it here. This time I will write up the re-usable component I have done using AngularJS. Remember I mentioned the little tech-debt I have done. When I finished this Blog Site, I didn't like the way warning, error, and success messages are displayed. It was duplicated many places. I decided to make this warning display a reusable component. And I wanted learn more on how directive works. I have done it. The next step would be share it with the world.

I just started the writing. I hope the more I write, I can be better at it. Today is a stressful day. The emergency deployment took half a day. It was an app I have never done. And I had to learn it inside out within a short time, I was not very good at doing things under pressure. It turned into a nightmare scenario. I was able to get it done. I still don't like it. I spent the afternoon fixing issues with an legacy application. Another scenario I don't like (I didn't create the mess, I had to fix it). It was more exhausting because I skipped lunch. I finally recovered after dinner.

Last night, it was nice. I played a little game, a couple hours of "Shadow of Mordor" (my favorite action game). And I didn't have to think of any troubles.

Writing another CodeProject tutorial - Reusable Warning Bar

Han Sulu
CodeProject Tutorial
AngularJS, CodeProject, JavaScript, Programming Tutorial, Reusable

I just finished another codeproject tutorial. And I din't want to start a new one just yet. The new one would be the final one for the year. Any new tutorial after it would be bonus tutorials of this year. The write up is not that interesting. It is dry and boring. So I decided to fix one issue that was on my list for a while.

The download resource and download thumbnail functionality for the Admin Mgmt site was only half implemented. It assume the matadata file of the resource exists, and only return the resource to the browser, If the metadata file does not exist, then 404 will be returned. This is only half the whole story. When metadata file does not exist, the service should try fetch the file info from the database. That is what I have fixed. The whole process took about 2 hours. What is amazing is that since the blog site and admin site released last month, I am still spending time fixing issue with these.

Fixed another issue with Admin Site Here

Han Sulu
Site Maintenance
Admin Page, Bug Fix, Site Maintenance

It took about 4 days. I finally finished the write up for tutorial of the Hierarchical Comments display. When I finished and sent the article to, I realized I have misspelled the word "prominent". I am going to leave it as it is. Then I went back to work. I wanted to add a new resource filter to the Admin Site. This was quick, it took me just one night to do the implementation. And another night to test it. The power of some copy and paste.

I also fixed one little problem. In the source list page for Admin Site, I displayed the file name with sub folder names as well. And when I did the filter, the file name was displayed without the sub folder names. That is because the new functionality have the sub folder stripped from file name. Th old functionality never had it fixed. So I add the fix in and now the display of file names are consistent.

Hierarchical Comments Display Tutorial is Completed

Han Sulu
CodeProject Tutorial
CodeProject, JavaScript, Programming Tutorial, Stapes JS

I am working on the CodeProject tutorial on Hierarchical Comments. It is almost completed. I am at the most difficult part of the tutorial -- explaining the algorithm. Once that is done, it will lead to the end of it. I am getting pretty good at this.

For this article, I was just trying to discuss the tech debt that I have left off for so long. It should be a joyous moment. Yet, I wondered, should I incorporate this functionality to this site? Or just leave the existing functionality as it is. I will think about it.

The more urgent issue for this site is adding a filter functionality to the resource section (for the admin functionality only) so that I can display the resource files by type. This is a relatively easy operation to complete. Once the article is done, I will probably work on it.

Writing the tutorial on Hierarchical Comments

Han Sulu
CodeProject Tutorial
CodeProject, Hierarchical Comments, JavaScript, Programming Tutorial, Stapes JS

Today is a very productive day. I started working on the bug found two days ago. I wasn't able to get the issue right away. Somehow the log is not spitting the error. That didn't stop me from fix the issue. Turned out, the problem was with the empty category. After fixing this issue, I did some thorough testing, I found two more issues, They were quick fixes.

All three fixes were deployed into the public site. I tested, everything works. It feels great that these issues were quickly resolved and could be deployed very quickly. This is what I love about this whole project. It was designed in such way that 1) it is fairly easy to use (with some obvious issues); 2) any issues found can be fixed pretty easily. I am going to use this application for a long time.

I also posted the published article last month as an article here. It was pretty easy to do. Copy and paste, plus the images to posted to the articles. All these are fairly easy to manage.

Fixed three issues today

Han Sulu
Site Maintenance
Bug Fix, Debug, Fix Site Application, I like this site

We left MI on 7/7/2020 in the morning. The drive took 11 hours. When we got to PA half way, it started raining. Instead of going to camping, we decided to drive all the way to the new home. The next few days were mostly sleeping.

It was petty sad that I had to leave the old place. It was a good home. I feel really bad leaving it. It is being renovated for sale. Hopefully, it will be sold soon. The electricity and water are all connected to the new place. I need to go get new driver's license and registration of the cars. These are the things I hate about moving. The internet connection took a whole morning. Afterwards, I had to do a activation to get the internet working. Luckily all the wireless routers were connecting successfully with the original configurations.

Before I left MI, I found a bug in the updates section. I will fix it.

Settled in PA

Han Sulu
Moving out of MI
moving, road trip, settle to PA

After the status display component for AngularJS, I picked another technical challenge. The reason that I didn't spent the time to write the design of the status display component is that I am a bit sick of writing technical design. And this next challenge has been there forever. I owe to myself that I have to solve it before I can move on.

So what is this new technical challenge? In the early 2000s, there were a lot of forums popped up. They are also called bulletin board, The messages can be displayed in a upside down tree. Where the root message is the first, underneath it, its children. Underneath every one of its children, more children, and so on. I never figure out how to do it. In fact for this web application, I didn't even add the similar functionality for comments display. I just didn't have time and energy to implement such a complicated operation. And it bothers me. This is 2020, technology advanced way beyond the early 2000s. This should be easy.

And it was. I have solved the issue at this time of writing this site update. I have to add some more finishing touch (much needed clean up). Then I can do another tech design write up. Better check back later for more info on this.

Another Technical Crack - Forum Messages Display

Han Sulu
Unsolved Technical Challenge
Design Challenge, Unsolved Technical Debt

Page 2 of 3