Please enable JavaScript to display the menu. - From Author

Please enable JavaScript to display links.

YS FLIGHT SIMULATOR Ver. 20150425 (for Windows, Mac, and Linux)

Polygon Crest 20160221


Warning about United States Postal Services

This is a season you may receive bunch of boxes and also send bunch of boxes.  You may be considering to use United States Postal Services.  Here is a big warning.

Don't do it.

To be precise, do not pay USPS online and print shipping label home.  Chances are, your package will be rejected.  We took a box which our kitchen scale weighed 7 pounds 1 ounce.  The postal service's scale weighed 7 pounds 3 ounces.  Close enough, right?

They rejected it!   Yes, they did reject it!

Unless you buy weight scale from USPS, and precisely calibrated, your box will be rejected!  It is so ridiculous.

OK. You can ship via USPS.  But, never ever pay online and print label at home.  Go to the post office, wait in a loooong line, let them weigh, and then fill the forms.

A kitchen scale easily yields 2 ounce error for 7 pounds.  I explicitly asked them if they want me to make two trips, one for weighing and second for shipping.  They answered YES!

There is ABSOLUTELY NO POINT of paying online and printing label at home.  Don't become a victim like me.  Argh!  What a waste of time, when the time is so critical at the end of the semester.  Never.  Never ever pay USPS online for shipping.


Uploaded photos from Latrobe Air Show (practice session only), Miho Air Show and F-2 at Matsushima Air Base while I was in Japan in summer, and Dayton Air Show.


YSFLIGHT Work in Progress

In YSFLIGHT for OpenGL 2.0, I have implemented the shadow-map method.  I believe it can also be done with Direct X9, but, I don't want to spend even a second to learn an API that runs on only one operating system, and even declared deprecated by the vendor.  Shadow-map feature will be available only in YSFLIGHT on OpenGL 2.0/ES 2.0 for now.  If Vulkun API catches up the speed, I will add support for Vulkun.  Then the shadow-map feature will be available in YSFLIGHT on Vulkun then.  But, I don't know how popular Vulkun can become.  It may just fade away.(Read more)



Major disappointment.

Carnegie Mellon was somewhat normal.  But, the mood was like a funeral.  Throughout the campaign, he was so anti-innovation, anti-education, anti-science, and anti-immigration.  We have a very good reason to be worried.


Good Luck, Hillary Clinton!

Because I am a pilot, I want someone who understands and cares the freedom to fly to be the president of the United States.

My fellow pilots, look at the following article on AOPA.

Donald Trump doesn't seem to know or care how vital the general aviation is.  If the wings is in your soul, if you love the vastness of the sky, it is as clear as the wild blue yonder, who to vote.

It is so unique here in the United States.  I migrated from Japan in 1998.  Therefore I know how special it is.  General Aviation virtually doesn't exist in Japan.  Here, if I want to, I can call a local flight school, drive to the airport, hop on a Cessna 172, and go up to 10,000ft.  Flying is in the heart of this country.  Therefore the United States Air Force, Navy, Army, and Marine Corps have the world best air power.  Therefore the United States is leading the aviation industory in this planet.  That's my understanding.

Look back what George W. Bush did.  This is what he did.  Because terrorists used huge airliners to take down the World Trade Center, he restricted general aviation flights including small single-engine airplanes.  Where is the logic?  Same thing could happen if someone who does not care about general aviation takes office again.

I wish Good Luck to Hillary Clinton, for the freedom to fly.


After a period of rain, a perfect double rainbow was seen over the University Center of Carnegie Mellon University on Friday.  I captured this panorama photo around 6pm.@@Actually, I saw a breaking of the cloud to the west while it was still pretty heavily raining.  I was expecting a specutacular rainbou, so I moved to the location where I have a opening to the east, and captured this picture.

By the way, I visited an Apple Store in the Ross Park Mall because my wife's 1st-generation iPad mini started rebooting randomly.  They did almost factory reset, and now it is working without an issue.  Since the symptom didn't appear when it was on the USB power, I was worried the dead battery, but looks like the hardware is healthy.  I really want to wait until the next version of iPad mini is available.  I am glad I didn't have to get iPad mini4 today.  By the way, I briefly played with iPhone 7 there.  I didn't think the home button is not as bad as people criticise.  But, if I don't notice that the battery is tottally drained, will I push it too hard and end up breaking it?

Drawing Text with System Font in UWP OpenGL ES app using Win2D

I tried to port my library for rendering system font into an off-screen bitmap for UWP+OpenGL ES 2.0, when I hit a wall.  If you search by keywords like "Universal Windows Platform render text", you most likely will be directed to a class called TextBlock.  I tried it, and got an error message:

The application called an interface that was marshalled for a different thread.

If you search for this error message, you can find that the error means that TextBlock must be used from the UI thread, not from the main thread.  You will find a solution suggesting to use RunAsync to use TextBlock in the UI thread.  I tried that.  But, the error message didn't go away.

I continued search for the similar situation.  If you start seeing questions but no answer on the sites like, that's a bad sign.  There may be no solution.  What I learned was that TextBlock is a class that can only be used in the application that uses Xaml framework.

Futher search implied that other people were suffering from the same problem, especially who are trying to build on a DirectX template without Xaml.  They do need a way of rendering text off-screen, but they were stuck with TextBlock class.  I found bunch of people asking this question, but didn't find an answer.  I was losing hope.  Just by luck, not so high in the search ranking, I found a library called Win2D.  Win2D is provided by Microsoft.  So, it is one of the 'official' libraries.  It was exactly a library that I was looking for.  With Win2D, it is very easy to render text off-screen.  Therefore, you can easily create a text message as a texture.  Most importantly, it is independent of Xaml.

(Read more)


Compiling Universal Windows Platform + OpenGL ES 2.0 Program with CMake

Cross-platform development is all about writing a program in a long term.

You may not be interested in such a thing.  You may be ok with writing a short program, throw away, write another one, throw away, and repeat making small programs.  If that's your passion, there's nothing wrong with it.  If you are ok with your program having shorter life than the platform, there is no point making it cross-platform and portable.

That's just not my preference.  For me, I was not educated that way.  I was taught that programming was like building a pyramid.  I first need to write a foundation library.  Then write higher-level libraries.  And then finally build an application on top of those libraries.  The pyramid can be refined and polished up over time, and the program becomes robust and reliable.

Microsoft had been taking full advantage of Windows dominance forcing developers to use proprietary APIs making it difficult to port programs to other platforms.  DirectX was one of the tools to lock developers in the Microsoft environment.  It is too a daunting task to port all shaders written for OpenGL to DirectX11.  I am determined to keep my program portable and cross-platform, but I had to cry "Oh no!  Why do you do this!?" when Microsoft introduced something new.  By the way, Apple, too.

So, I was skeptical when Microsoft started talking about cross-platform development in the Build conference.  I didn't believe it until Microsoft released OpenGL ES 2.0 library.  I was flipping through the news site, and saw Microsoft saying something in the Build conference, was just thinking Microsoft saying something to lure unprepared developers, then saw OpenGL ES 2.0 for Universal Windows Platform.  Seriously?  Is it real?  How nice! My polygon editor, Polygon Crest, runs within specification of OpenGL ES 2.0.  YSFLIGHT mostly.  It opened up the possibility of porting my programs to the UWP.

(Read more)


Cleveland Air Show

I have just come back from the Cleveland National Air Show.  I'll go there again on Monday.

I confirmed that F-35A existed in Dayton Air Show!  Yes, it is not a mythical airplane!  And, today, I confirmed that it actually flies!

What?  Did you already know about it?

I'm going to upload more in the Aircraft Photo Gallery soon.

P-51, F-22, F-35 Heritage Flight


I visited Japan for my uncle's funeral and came back.  I thought it was going to be 3 nights 4 days.  I realized that it actually was 4 nights 4 days, and two nights were in an airliner.  My uncle was a Haiku composer and also teaching Haiku to his students.  Many students of his class attended the funeral.  Will anyone mourn for me when I die?  I wondered.  But, I fully intend to fly an airplane, bowl in a bowling league, take pictures of birds, and write computer programs until 100 years old.  So, I don't have to be worried for another 50+ years.

After coming back from Japan, I was captured by a fantasy novel.  It started when I read the first book of Harry Potter.  You know, English is not my first language.  My first language is C++, Japanese second, and English third.  But, when the book one of Harry Potter was available, I just tried.  Just tried to see if my English was improved enough to enjoy a book written in English.  And, in fact I did enjoyed it.  So, I tried the Lord of the Rings next.  This trilogy was a lot more challenging than Harry Potter.  I really had to force me to believe I could read it through.  I almost gave up several times, but somehow finished them, enjoyed it.

I thought, the Lord of the Rings was that difficult because the English language in that book was rather old fashion.  What about the novels written recently?  I just browsed fantasy novels in Barnes and Nobles, and picked the one that seemed to be easy enough for me.  I picked "Axis Trilogy" written by Sarah Douglas.  Oh, man!  That was good!  I was totally captured by the enchantment of Sarah Douglas.  I really couldn't stop reading.  If I remember correctly, the book three was not available in the U.S. when I finished the first two books.  And, I bought the book three when I was in London to see the final flights of Concorde, then was it 2003?

The Axis Trilogy was actually followed by another trilogy "Wayfarer Redemption."  By the way, the U.S. publisher somehow mixed up the title of the book one of Axis Trilogy, which is supposed to be titled as "Battleaxe", instead they labeled it as "Wayfarer Redemption."  So, there is a confusion.  "Wayfarer Redemption" is the next trilogy.  But, somehow, my desire to read had just disappeared after finishing the first three books of the six-book series.  I just kept the "Wayfarer Redemption" trilogy in my bookshelf and didn't open it.

But, in the past several years I was travelling through the world of Dragon Quest series as they are released for iOS.  (That was my redemption!  I had an 8-bit PC, but didn't have a console that could run the series when I was younger.)  And, I finally finished Ys Chronicles, Ys Origin, and Ys IV - The Ark of Napishtem.  So, I was again somewhat into the world of sword and magic.  Then I had to fly in an airliner to and from Japan again.  I took the book one of the Wayfarer Redemption with me to kill time in the airplane.

The book totally dragged me back to the land of Tencender, where the story unfolded.  I couldn't stop reading.  In summary, it was sword, magic, a little bit of science fiction, zombie, and horror.  R-rated.  So, it has everything.  I realized that when it comes to the battle-scene, boss-battle BGMs from the Dragon Quest series rang in my head.  And the scene described in the novel came to my mind as dot-characters.  I might be terminally ill of the Dragon Quest (or Ys) disease.  I couldn't finish it in the airplane and in the train in Japan.  But, it was going to be a disaster if I didn't finish it before the fall semester starts.  I would end up reading it when I would need to prepare for the lecture!  So, after coming back from Japan last Tuesday, I invested all of my free time, except while I was practicing bowling and flying an airplane, to finish it.  To witness the fate of Tencender.

Book two of the series was even better.  It took a turn that I'd never expected.  The Axis Trilogy was just an advance hint for this.

I finally finished the last book yesterday.  Leaving three days before the semester.  Sigh.  Disappointed.  How come the story fall apart in the very last?  (Spoiler Alert!)  I was worried that the author may end up killing all main characters in the end.  But, I never imagined this level of slaughter.  Well, all the survivors who survived the 2+1/2 of the 3 books may be enjoying peace in the Field of Flowers, but that's the afterlife.  Everyone died!  Not just main characters, everyone!  Nobody survived!  Before that, the mid-boss battles were weird and nonsense.  Did this author get tired toward the end?  I don't know.  I loved it all the way til the very end of the six-book series, and disappointed in the last 160 pages.  Argh!  The author used "hudreds of light years ago" to describe long time ago.  Light year is a unit for the length, not of time.  This single mistake jeopadised the science-fiction aspect.  Well, the weapon used against the last-boss was right.  I can admit that.  But, the conclusion of the two trilogies, the single most important part, ended badly.  Why did she do that!?  I was totally expecting everything to come together to the dramatic conclusion.  Instead, it ended like a bad comedy although everything somewhat came together.

Well, at least the Wayfarer Redemption trilogy gave me a satisfaction like the end of a long long journey.  I can start the new semester without worrying about the fate of Tencender.

By the way, the below are the pictures of Mt. Fuji taken from the balcony of the hotel I stayed for my uncle's funeral, and a rainbow over the Gates & Hilman of CMU a while ago.

The busy summer is over.  The summer that took so much of my time for visiting Japan, moving to a new apartment, and then visiting Japan again for my uncle's funeral is over.  The summer is over without taking a single picture of a hummingbird.  The summer is over without achieving the original plan to run at least demo-mode of YSFLIGHT in iOS and Universal Windows Platform....

By the way, regarding the pre-paid SIM in Japan, I thought I could use Personal HotSpot with a pre-paid SIM from Telecomsquare if you buy the one that uses NTT DOCOMO network.  But, I just wanted to confirm and contacted the customer service.  They said Personal HotSpot is not supported with either NTT DOCOMO or Softbank network.  Really?  I thought my wife could use Personal HotSpot with her iPhone 5 last year.  IIJmio Pre-Paid SIM says it supports Mobile HotSpot, which is exactly Personal HotSpot.  I may try this one next time I visit Japan.


The moving is winding down.  The floor of the new apartment is clean enough to run Roomba at least in the living room and kitchen.  Finally I am able to spend my spare time for something creative.

That's what I thought, when a news came from Japan.  My uncle passed away.

I had been skipping funerals and weddings because I am living so far away from Japan.  But, this time, CMU is not in the semester.  I am not too busy to fly back to Japan fo a few days.  But, I need to pay for the airline ticket.  So, it was a difficult decision to make, but I decided to come.  I bought a ticket for 3 -nights, 4-day trip to Japan just for attending the funeral.

This time, I used Air Canada for the first time. Not exactly though.  I used Air Canada once for a round-trip between Pittsburgh and Toronto, but it's my first time to fly an international flight with Air Canada.  What's good about Air Canada is it flies between Toronto and Tokyo/Haneda International.  Many other airlines fly between North America and Tokyo/Narita, which is a useless airport.  Narita is not even in Tokyo.  It takes 40 minutes minimum to go in and come from Tokyo.  In reality, you need to get to the station early enough.  The coach or an express train depart like twice an hour.  So, you waste precious 1.5 hour when you come to Japan, and when you leave Japan.  It makes your travel scheduling extremely hard.  But, Haneda airport is in Tokyo and 20 minutes to/from central Tokyo.  Monorail train departs very frequently.  You really need 20 minutes.

This twisted situation will get much better in a few months.  Haneda airport opens more North America flights in October.  Then it will be much easier to find a flight to/from Tokyo/Haneda.  Narita airport has failed.  I think the best way to use that airport is for Japanese Air Self Defense Force.  But, at this time, Air Canada is one of few airlines that fly between North-Eastern U.S. and Tokyo/Haneda.

Pittsburgh to Toronto was on time.  A severe thunderstorm passed about two hours before the departure, but the sky was quiet enough at the time of departure.  The airplane banked to the right like a second after touch down, which didn't seem to be from the wind.  But, other than that, the flight was smooth and on time.

I had to go through Canadian custom, but didn't have to do security check point when I changed an airplane at the Toronto airport.  Maybe Canadian authority trusts security check in the U.S.  It's convenient for an international transit.

The flight took northern route, over Hokkaido.  Chicago to Tokyo flight flies much more to the east.

Toronto to Haneda was affected by lines of thunderstorms.  A thunderstorm hit the airport twice exactly when the captain tried to push back.  We had to wait about 1.5 hours in the airplane, and because I didn't have (didn't want to pay for) international roaming plan for my iPhone, I could not tell my parents about the delay until I arrived Tokyo.  The airplane flew very close to the North Pole, at least closer than Chicago->Tokyo flight.  I was hoping the airplane could get back some delay, but the arrival was delayed almost as much as the departure.  Well, the airplane came to the gate about 1 hour 15 minutes later than the schedule, but it was about 5pm when I passed the Japanese custom. 

Matsushima air base.

The landing was extremely smooth by the way.  Like, when I am flying a Cessna, I feel so nice if I hear the wheels rolling before I feel the shock of touch down.  Even better if I don' feel the sock at all.  Today, the captain of Air Canada 005 did it in Boeing 777.  In fact, I didn't feel the shock.  I knew the airplane was on the ground by the noise of the the wheels rolling.  And, there was no shock.

A bit difficult to see, but it's the shadow of the airplane casted on the cloud

Only one compalint, aside from the delay, was the cabin was extremely frigid.  I was born in northern Japan.  I believe I am somewhat tolerant to cold.  But, hell!  I was lucky I was not waring shorts.  I covered myself with blanket, but still I was freezing.

I got out of the Japanese custom, then for the first thing I got a pre-paid SIM card from Telecom Square.  I knew where it was because I explored the International Terminal of Haneda airport this May.  I noticed that there are some pre-paid SIM cards that lets you talk.  Japan has a weird regulation that disallowed pre-paid SIM with voice.  You could only get data connection before.  But, looks like the regulation is relaxed now.  If you show your ID at the counter, (and they take a photo copy), you can get a pre-paid SIM with voice+data.  I tried it this time.  This pre-paid SIM used a network of Y! Mobile (owned by Softbank company).

My iPhone that had just becamse SIM-lock free last month got connected with no difficulty after installing an APN profile through Haneda Free WiFi.  I was able to send iMessage to my wife in the U.S.  Everything looked smooth. 

But, the coclusion is, don't buy Y! Mobile pre-paid SIM.  OK.  Let me make clear.  If you are going to visit Japan, DO NOT buy Y! Mobile pre-paid SIM card.  Go for the one that uses NTT CODOMO network. Which my wife could use Mobile HotSpot feature during the last trip.  This Y! Mobile (Softbank) pre-paid SIM doesn't let you use tethering, or Mobile HotSpot feature of your iPhone.

I am able to read/write a short E-Mails on my iPhone.  I can at least read a lengthy e-mail on my iPhone.  But, there is no way of writing a long e-mail with such a tiny smart phone.  I need to tether my laptop.  This time, I took my Sierra Wireless AC765S, aka AT&T Elevate 4G LTE, and I was able to get my laptop connected through this AC765S.  For some reason, when I connect my laptop directly, AC765S can tether iPhone.  So, I can get away in this trip by swapping the SIM card when I am in the hotel.  But,

LESSONS LEARNED:  Never buy Y! Mobile (Softbank) pre-paid SIM card for use inside Japan.  Go for the one that uses NTT DOCOMO network if you visit Japan.

Today, the visitation was from 7pm, but due to the airplane delay, I missed it.  My relatives were still at the funeral home when I got there.  So, I greeted them, and at least I could say good by to my uncle's body.

Tomorrow will be the funeral, and then I'll fly back to Pittsburgh the next day.


After coming back from Jpan, I was primarily occupied by moving to the new apartment.  While I had to spend most of my free time for moving stuffs from the old place to the new place, organizing them, and assembling new furnitures, I managed to play Ys Chronicles I & II that I bought from Japan, visited Dayton and Toledo air shows, though.

But, moving was a enormous project of this summer.  We had been living in Squirrel Hill area, about 10 minutes by car or 40 minutes by walk from Carnegie Mellon University.  But, now both my wife and I are working for Carnegie Mellon, we decided that it makes more sense to live within walking distance from the campus.  My friends helped carrying heavy and large stuffs, but there were a lot of fragile things, some of which could not be carried with other loose boxes.  It ended up taking whole two weeks to carry stuffs.  But, I didn't rush moving them because our previous lease expired end of July, but the new lease started early July.  I was working as usual during the day, and on the way home, I stopped by the old place, loaded my Honda Fit, and then drove back to the new location.  If I had to move everything in three days, I would have taken three days off, and made a lot of trips to carry all of them.

After moving stuffs, organizing them and assembling new furnitures took so much of my time.  I was supposed to be done when I assembled the last dining chair two days ago.  But, one of the screws was torn during assembly, and the chair is waiting for the replacement parts.  Nonetheless, things are settling down.

By the way, people are moving in and out.  And workers are busy replacing old dirty carpets with new ones.  I saw someone in the apartment building across the road from my place dropping rolls of old carpets from the fifth-floor window to the parking lot.  I realized it was truely the carpet bombing.

Yesterday I started reading "Harry Potter and the Cursed Child" and could not stop reading all the way.  The book was a musical script and not as dense as the preceding seven books.  Actually, the actors need to be able to speak and act them all in a few hours.  It should be the amount that one can read in a few hours.  I don't shoot a spoiler here, but it was fun to read.  It was indeed the world of Harry Potter.  After reading, I had a feeling like I came back from a trip.

I like a feeling of travel when I am reading this kind of novel or when I am playing a role-playing game like Dragon Quest series.  (I haven't started Final Fantasy.  I am too scared to do so.  It's going to steal too much of my time.)  Actually, Ys Chronicles I and II were the re-make of the game that I played almost 30 years ago.  These two titles gave me a feeling like visiting a place that I haven't visited for long time.

And, today I flew a Cessna first time since July 2.  I hadn't flown more than a month.  I was thinking to fly Cessna 182RG when I fly with an instructor from now on not to forget how to fly a fixed-speed propeller and retractable landing gear.  But, when I arrived PFTC, Cessna 182RG was down.  The instructor suggested to try a glass-cockpit, and I took it.  Actually, it was not my first time to fly Garmin G1000 glass cockpit.  But, my only one G1000 experience was just flying straight and level.  I really didn't work on G1000.  But, this time I took off, shot approaches, and did a touch & go with G1000.  For the first time, I logged time with a glass-cockpit.  By the way, there were scattered light rain around the airport.  Below is the picture that I took while departing from Allegheny County airport.  Relatively heavy rain on the south-east side of the airport.

I am planning to upload photos from Latrobe air show practice session, Japan trip, Dayton air show, and Toledo air show soon.  I hope my articles help some airplane fans who are planning to visit those places.

But, I have a pile of overdue things to take care as well.  This summer is quite busy.  I haven't been able to go shooting hummingbirds yet.  I hope I have a few chances to go down to Schenley park to see them before the fall semester starts.


B-29 FiFi

I've been interested in flying a formation and an aerobatic.  If an aerobatic flight is not possible, I want to learn to fly a formation.  If I am able to fly a formation with a historic airplane, that would be awesome.

A Cessna 172 cannot only fly a limited aerobatic maneuvers like steep turns and stalls, and I am not allowed to fly a formation by the rental agreement unfortunately.

But, I am at least allowed to fly in the same traffic pattern with a historic airplane.  I don't even need a permission to do so.

(Read more)


During the past one month, I visited Latrobe air show (practice session only due to heavy rain on the day of the air show), visited Japan, and then visited Dayton air show.  While I was in Japan, I learned CSS and JavaScript.  I modified this page so that it shows the menu from JavaScript.  I hope it is working in your environment all right.

By the way, no matter how much everyone hates, I need to make sure my programs run on Windows 10.  (I think everyone hates Windows 10 not because of its specification, but because Microsoft is essentially forcing every non-expert users to upgrade.)  I upgraded one of my PCs in my office to Windows 10.  Windows Explorer crashes since then.  As far as I searched, it is a very common problem that has no solution so far.  There seems to be multiple theories, some says it is a driver problem.  Some says it is due to an installed software.  Both theories do not give any way of finding which driver or software is crashing.  Microsoft seems to be ignoring it, just like 9-year old bugs in the Office drawing tools.  What's strange is I can press Windows+R, and then type C:\ to open an Explorer window.  Or, I can type start C:\ from the command prompt to do the same.  What I cannot do now is to open an Explorer window from the tool bar, or open My Computer with Windows+E.

I have also installed Windows 10 on my old ThinkPad X230T.  So far, Windows Explorer does not crash on it.  But, Lenovo Power Manager cannot be installed on Windows 10.  This software allowed me to set up maximum battery charge, and the charge level at which the system start charging.

I suppose everyone knows by now that Lithium-Ion batteries lose its capacity when (1) fully charged, (2) charged many times, and (3) fully exhausted.  Eventually the capacity becomes too little to be useful.  (One of my friends was calling it a capacitorlization.)  We need to be careful so that the battery is not fully exhausted.  But, what about (1) and (2)?  If we can avoid fully charging and reduce the number of charging, we can substantially extend the life of the battery.

If you carry your laptop between your home and office, and if you plug the AC power in both places, the PC consumes battery a little bit during the transition, and is re-charged when you plug it to the AC.  So, you end up charging twice a day.  About 700 times a year.  If you end up fully charging every time, the battery capacity substantially degrades within a year.  The capacity is supposed to be about 80% after several hundreds times of charging.  If it goes in the same rate after that, you should have like 60% or so even after two years.  But, in my experience, the capacity drops steeply after it hits some threshold.  I didn't know about the battery-charge threshold while I was using X230T, ended up charging fully twice a day, and the battery capacity dropped from 2 hours to 30 minutes in two years.

If you set the battery-charge thresholds so that it does not charge more than 80%, and it does not start charging until the battery level goes below 60%, for example, you can substantially reduce the number of charging, and also prevent loss of capacity due to full-charge.  I tried this setting in my ThinkPad X250, and it is indeed super effective.  After one year, my battery is as fresh as new.  In Windows 7, I could set these threshold it in Lenovo Power Manager.

This program cannot be installed on Windows 10.  OK.  Windows 10 is bad.  That's what I thought, but one of my colleagues found that the newest version of Lenovo Settings App can control this setting.  I confirmed that I can at least set the maximum battery charge threshold.  I can stop my X230T from fully charging the battery.  But, it cannot control the start-charge threshold.  I can prevent battery degradation from fully-charging, but I cannot prevent it from charging twice a day.  This article suggests that the start-charge threshold can be controlled by the registry.  But, shouldn't it be stored in a low-level BIOS setting?  I'll try it anyway.  I hope Lenovo adds the setting of start-charge threshold in the Lenovo Settings app soon.


Spring Semester, the Aftermath

Finally, finally the spring semester is over.  It was an extremely busy semester for me.  It was mainly because I was teaching a new programming course.  I initially had a very ambitious plan.  I could do as I wanted in some parts, but I need to admit that I couldn't cover well in some other parts.

At the beginning of the semester, I was two weeks ahead in terms of the lecture preparation.  But, toward the end of the semester, I was barely keeping up with the clock.  I was preparing the lecture notes for the coming week.  I had to give up some topics because I could not prepare sample code and lecture notes in time.  Some students probably were not very satisfied with the contents.  Sorry about that.  I'll do better next year.

Then, at the end of the semester, I had to pack stuffs up and move to a temporary office space.  The Department of Mechanical Engineering is massively renovating the students / researchers office space.  In fact, they are tearing down the floor and completely re-building the office space.  I am given a nice temporary office where I would use at least another 12 months or so.  But, I am sure I packed 7 boxes, but I can find only 6.  I don't know exactly what are missing.  I should have made a list of boxes and contents, but it's too late.

I submitted the final grade of my new course last week, and finally I was done with it for the time being.  I need to deal with a lot of stuffs that I was postponing.  But, when I start one thing, something else pops up in my mind, and it is very difficult to concentrate on one thing.  I made a to-do list, which only overwhelmed me by the amount of work to do.  I'm wondering what to take care frst.

Yesterday was the last week of the bowling league I was participating for the last 36 weeks.  This was my first time to bowl in a USBC sanctioned league.  I am very happy to have a sanctioned average for the first time.  My average of the season was 187.  My high game was 254, and had many 200+ games.  But, I also had very low scores as well, like 130 and 140s.  During the season, I had some instructions from a professional bowling instuctor.  I learned many new concepts and new ways to spinning (or not spinning) the ball.  I still fail to select a right type of spin for the different lane condition.  I'll practice during the summer, and hopefully I can do better in the next season.

I went to Latrobe to see air-show practice session today.  Latrobe air show is, sorry to say, is not a very good one among the air shows near south-western PA.  I was out of town last year, so I didn't go 2015 Latrobe air show.  But, from my experience in 2014 Latrobe air show, there are a lot to be improved.  One of the biggest problems is the traffic.  Evey traffic coming in to the parking lot need to pass US-30 and PA-981 intersection.  However, nobody was controlling the traffic.  As a result, drivers coming from the I-76 had experienced unacceptable delay.  Also, it might have been better last year, I don't know, but there was only one food court in 2014.  Everyone stampeded to one tent during the lunch time.  I just gave up lunch.  I didn't want to miss Blue Angels.  It was the worst-planned air show among other air shows I visited around here.

They added an annoyance this year.  Everyone was welcome to see the practice session next to the terminal building in 2014.  This year, police was chasing away people who were watching the practice session within the airport perimeter.  It is understandable if the parking was a problem.  Spectators watching the practice session shouldn't fill up the space for the passengers who travel through the airport.  But, I parked outside the perimeter and walked.  I was told to leave even though I was not disturbing any passengers.  The police came at the worst timing, when F-22 had just taxied out, to maximize the sore feeling.  Another spectator who was there was saying he was coming to see the practice sessions as well as the real show for many years, but this was the first time he was told to leave.  Very unfriendly air show it is.

Actually, we already purchased tickets and were planning to go on Saturday.  But, the forecast is horrible.  Probably the worst condition in the past a few weeks.  Not just rain all day, but also forecasted ceiling is 700 to 800ft.  Probably no airplane can take off unless they do instrument-approach demo.  Actually, once it happened in Dayton airshow.  The weather was pretty bad, and some fighter jets just shot some ILS and made low-approaches in front of the spectators.  That was a good idea.  Much better than no flight at all.  Only one regret for not going there is I wanted to have 2016 pamphlet of Royal Canadian Air Force Snowbirds.

The forecast for Sunday is slightly better than Saturday.  But, rain in the forecast.  It is almost certain that part of or all flights will be cancelled during the two days of the air show.  Also they didn't want people to see the practice session.  If they don't want people to see the air show, they don't have to hold one.  Honestly, if there are more air shows to choose from, I would skip Latrobe.

I need to resume YSFLIGHT development as well. .... Where was I stopping?  I feel like decades have passed since I saw the YSFLIGHT code last time.


Repairing a Tripod Screw Hole with a 3D Printer

The tripod-screw hole of the one that I was using for recording the instrument panel was worn loose.  I was expecting it to wear since it was made of plastic.  I thought about several ways to repair.  Using epoxy material may not tolerate repeated screwing in and out.  Inserting a heli-coil is only good for metal frame.  The plastic base of P50 may not be able to hold a heli-coil.  Super-gluing a plate with a screw hole will hide some screws and eliminating a possibility of repair (or using it as repair parts for another P50) in the future.

(Read more)


Backup of Backup of Coolpix P50

Nikon Coolpix P50 was a miracle compact digital camera.  It was sold in 2007.  So, it is already 9 years old.  But, I conclude that this is the only one camera that can be used for taking forward-looking video from the cockpit of a single-engine airplane.

I always capture videos with forward-looking and instrument-looking camras when I fly an airplane.  I can review the flight after coming back home.  I took half-day off today, and went flying.  In the last landing, the airplane didn't want to touch the ground longer than usual and I ended up using longer runway to stop.  My instrument-looking camera tells if my airspeed control was bad or it was due to the wind.  Looks like it was wind.  I was keeping 65kt on final, which is exactly the airspeed I am supposed to keep.

I have been using two Nikon Coolpix P50s for long time for forward-looking and instrument-looking videos.  I was using Pentax Optio S55 and taking 320x240 resolution video, but later I switched to Coolpix P50 and now I take 640x480-resolution video.  But, nothing lasts forever.  I wondered what camera should replace my P50 in case it is damaged, when I came to know an unbelievable stupid rule that is making all compact digital camera disqualify for my purpose.

(Read more)


It snowed overnight, and grassy field and ceilings were snow-covered when I woke up.  The sky was clear, and the wind was blowing violently.  Another unflyable clear-sky day.

Since the last night's bowling left me so miserable, I went Playmor to practice several games.  I bowled 5 games, the lowest was 153, but I also had 212.  I bowled the lowest score, 153, in the last game, when the lane condition changed in a strange way.  The bowling ball grinds off the oil shot by shot, and the ball will hook harder into the later frames.  But, my ball suddenly hooked less in the middle of the 5th game, and I could not adjust for the condition change.  Actually I couldn't tell if it was my spin error or the condition change.  I rather suspected my spin error, so my adjustment was too late.  It is rare but happens time to time.  I want to know why this change happens, and how I can distinguish from my spin error.  I'm going to ask my instructor in the next session.

The five-day forecast is predicting a mild wind and clear sky on Tuesday.  I thought to take half-day off and go flying, only to find that the vice-president Joe Biden is going to visit Pittsburgh and makes temporary flight restriction.  After the 911 terror attack, VIPs creates a temporary-flight restriction whereever they go.  Moving nuisanse.

Let's look at the fact.  The cowardly terrorists used large airliners for the attack.  They could have used small general-aviation airplanes.  They could have easily stolen a small airplane.  But, they chose to use large airliners instead of small airplanes because a small airplane could cause no significant damage.  That is the fact.  And, George W. Bush administration did not ban airline flights around VIPs.  Instead, small airplanes are banned.  I was wishing the Obama administration to change this rule to a more logical one.  But, this administration didn't do anything about this stupid rule, to my disappointment.

OK.  The nuisanse-radius of the vice-presicential TFR seems to be much smaller than the presidential TFR.  Beaver County airport is far north of the TFR.  I'll take half-day off and go flying Tuesday.


It's been an extremely busy spring semester for me, probably the busiest since 1999.  I am as busy as when I was studying for my Ph.D qualifying exam.  Of course the main reason is because I am teaching a new programming course.  At the beginning of the semester, I was preparing lecture notes two weeks ahead of time. Now time is catching up with me, and I am preparing a lecture note for the next week.  I am spending so much time for preparing lecture notes, but I have a feeling that the students are not keeping up with the course contents.  There is no point of the new course if I cover the same-level topics as the introductory programming course that I have been teaching in the fall semesters.  I am trying to include more advanced (more advanced than introductory level) programming topics that I am dealing day-to-day basis.  But, from the podium, the students don't look to be quite understanding the contents that I am covering.  Maybe I should spend more time to explain the topics.

I had a bowling instruction from a professional instructor for the first time on Tuesday.  Actually, he suggested me to convert from 5-step approach to 4-step approach, which is a big change.  It was a big change.  I had been bowling with 5-step approach for decades.  I took his suggestion anyway, and on Thursday, I bowled 244, 212, and 169 in Brunswick Playmor bowling alley.  Score sheet is here.  I was bowling like 180 to 185 average at Playmor before converting to 4-step approach.  Although I still need to improve for the third game, when the oil is ground off, but 625 series was way above my average.  The 4-step approach looked to fit me well.

But, today I bowled 125, 139, and 190 in Forward Lanes.  Bowling 244 on Thursday, and 125 on Saturday?  Give me a break.  The problem is I cannot throw a fast ball.  For some reason, the lane condition in Forward Lanes has been extremely dry this season.  My balls have been hooking like crazy.  I comfortably hit the pocket at Playmor (until the oil is ground off), but my less-hooking ball hooks too much, goes beyond Brooklyn, misses the head pin and hitting the #2 pin, no matter what adjustment I make.  Am employee at Forward Lanes tells the oil condition has been same as the past seasons, but my balls tell differently.  If I am able to throw a fast ball, I may be able to compensate for the condition.  But, conversion to 4-step approach even slowed my ball speed.  My ball was hooking crazier than ever tonight.  Actually, the hand drier was out of order, and my thumb often slid before releasing the ball, adding some extra difficulty.

I am suspecting Forward Lanes is saving oil because the Saturday-night league because it is not a serious league.  Most bowlers throw straight.  Nobody is supposed to care about the lane oil condition.  That dry condition is good for straight bowlers and fast bowlers.  Not for me.

On the other hand, I am learning a lot of new things from the Playmor league.  It is a great experience for me to bowl among very good bowlers including some professionals.  I eventually want to learn how to throw a fast ball without losing balance and control, but probably I shouldn't practice myself and end up rather breaking my form.  I should practice a fast ball while a professional instructor is watching me.  I might enjoy bowling in Forward Lanes if the condition is comfortable for me, but unless they change the oil condition back to the previous level, I would never feel comfortable until I learn to throw faster.  I am feeling uncomfortable, rather struggling, not learning anything, even breaking my form, not getting USBC official score.  Why am I bowling in that league?  ... Because Forward Lanes is 3 minutes walk from my place.  But, I'm going to move to an apartment closer to CMU this summer.  Then it will be out of my walking distance.  My current short-term goal is to bowl 200 average in a USBC sanctioned league.  Maybe I skip the Forward Lanes Saturday night league next season and change my home ground to Playmor.

I was expecting the weather to stabilize in March.  But, it's been a weird weather pattern.  When the sky is clear, the wind blows brutally.  When the wind is mild, the sky is covered by low overcast.  If it is just overcast, I can take off IFR, but it was overcast plus low temperature.  I couldn't take off because of potential icing hazard.  I could fly only once in March.  This weather pattern seems to continue for another two weeks or so.


Polygon Crest Version 20160221 is available for download!

Actually, I was surprised by receiving many comments regarding the imprinting.  It's still very experimental, and I am only imprinting edges, and not transferring polygon colors, the function is in this version.  You can select the source polygon and/or constraint edges and then select:

[Edit]->[Projection]->[Imprint Selections]

to use this functionality.  By the way, the source must be sufficiently close to the destination.

By the way, now YSFLIGHT (in my newest code) uses exactly the same data structure as Polygon Crest for dealing with .DNM data.  So, it is kind like I can do whatever I can do in Polygon Crest in YSFLIGHT.  What I am thinking is to use this imprinting function in YSFLIGHT to leg the user imprint tail numbers in YSFLIGHT.  But, to enable this feature, I need to be able to transfer colors, not just edges.

I have also added the steps to cut out flaps and ailerons from the main wing of Cessna 172 in the tutorial.

By the way, I'm in the deepest slump in the recent severl years in bowling.  I rolled 123 today, which made me deeply depressed.  I am changing my form to increase the ball speed.  But, 120th was too low.  My primary ball (Karma) started hooking too much in the middle of the second game, so I switched to my second ball (Groove).  After switching the ball in the second game, I had five splits in total, after which I totally lost confidence in my ball....  Today was the worst in the past a few weeks, but my score has been constantly going down.  How can I get 120th after years of years of training....


I had to root-canal one of my teeth.  I was expecting that my dentist was going to put a temporary crown on it until the permanent one arrives, but instead he said it should be fine without a temporary crown because the nerve is gone and the tooth is not sensitive.  The tooth is left like a rocky mountain in the Monument Valley in Arizona.  It will be like that for about two weeks until the permanent crown arrives.  I hope it arrives earlier.

The spring semester is going so far so good.  I am still two weeks ahead in terms of lecture-note preparation.  Actually, I was too optimistic at the beginning and could not cover all the materials I have prepared in the last a few lectures.  So, I seem to have three weeks supply of lecture notes.

I am trying to write a program real time in the lecture as much as possible.  I could also show a pre-made programs and explain in the lecture.  But, a pre-made program cannot tell how I think and how long it takes to write.  Just a few hundred lines of code may appear very complex to a student.  I am trying to demonstrate that something that appears to be complex is just a result of small steps and can be done in the lecture time frame.

I am mimicking a lecture style of Solid Mechanics I that I took while I was working on my Ph. D.  The professor started from the basic equation and derived a complex (complex to me) equations in class.  I didn't understand everything, but I at least could understand that such a complex equation can be derived by following small steps.  I hope I am sending a same message to my students.

But, I am like taking an exam every week.  Something easily be done if I am sitting at my desk may not be as easy if I code and verbally explain at the same time.  I often overloop something that I never miss if I am doing alone at my desk.  Such an error often takes 5 to 10 minutes.  But, when the students are following me, someone finds my error for me.  It's a good practice after all.  Sometimes nobody finds an error, which makes me worry that nobody may be understanding what I am doing.

I am trying to run at least demo mode of YSFLIGHT in iOS and also trying to push Polygon Crest so that I can at least model Cessna 172 from end to end.  It is very difficult to squeeze time for my hobby project in this working schedule.  But, I added functionalities for cutting out flaps from the main wing and rouding the leading edge.  Also I am working on imprinting function so that I can easily put a tail number on the side of the airplane.

A flap cut out from the main wing.

Select a polygon to imprint, and....

Imprinted and painted in a different color.  Painting is manual at this time.



Flying over the snowfield

North eastern U.S. was hit by a historic snow storm over the weekend.  South east of Pittsburgh, Harrisburg, Philadelphia, and Washington D.C., were hit hard.  But, here in Pittsburgh was really on the border between heavy snow and clear sky.  The roads around my place were covered by snow and unpassable from Friday night to Saturday morning.  But, it was normal in the afternoon of Saturday.

On Sunday, I took two of my teaching assistants to a sight-seeing flight.  The low cloud didn't clear as early as forecasted so I delayed the take off by an hour.  But, when I arrived at the airport, the sky was clear.  Maybe I didn't have to delay after all.

I took off Beaver county, made two circles over the Carnegie Mellon University, one touch & go at Allegheny County and Washington County each, then flew back to Beaver county.  I thought about flying farther south to see how much snow fell over there.  But, in case I need to make an emergency landing, calling a rescue to a deeply snow-covered place wouldn't be easy.  So, I just stayed close to Pittsburgh.  But, the snow-covered terrain was beautiful nonetheless.

(Read more)


The spring semester started.  Since I am teaching a new programming course, I am living like a cartoonist surviving deadline after deadline.  I am trying to run (and am actually doing) two weeks ahead.  I've just finished preparing lecture slides for the 8th lecture.  I am safe at least for the next two weeks.  I remember almost everything I teach in the fall semester.  But, this new course is one-step advanced than the fall class.  The contents are from what I learned and used in my career, but I need to review so that I can explain.  Just knowing something doesn't mean being able to teach.  Teaching is fun.  The difficult part is the preparation.

By the way, I finished Dragon Quest 7.

North-eastern U.S. was hit by a historic blizzard this weekend.  Pittsburgh was really on the boundary between heavy snow and no snow.  We had moderate snow fall from last night to this morning.  The steep slope of the Morrowfield Avenue next to my apartment building was unpassable.  But, the road was well salted and snow melted by the afternoon.  I'm scheduled to fly tomorrow.  I'm going to see the snow-covered Pittsburgh from the air.

Below are the photos taken from my place this morning.


Happy New Year!

Thank you for visiting YSFLIGHT.COM during year 2015.  I appreciate your continuous support.

Right now, my primary goal is porting YSFLIGHT to iOS devices.  YSFLIGHT for iOS is very possible.  It is taking shape.  I wanted to get it during the winter break, but I had to spend time for preparing my new programming course.  The Department of Mechanical Engineering at Carnegie Mellon University let me teach an advanced programming course starting this spring semester.  I like teaching.  It's exciting.  But, since it is a new course, I'll have to prepare course materials from zero.  It will be easier from the second year on.

I'm thinking to cover GLSL (OpenGL Shader Language), and I wrote an experimental code for shadow mapping.  Teaching is the best way of learning.  Really.  I think I can feed back some stuffs that I learn for this course to YSFLIGHT code.

By the way, another reason why I couldn't get YSFLIGHT for iOS done during the winter break was Dragon Quest 7 for iOS.  I killed the last boss last week.  But, I am still to defeat the last boss in the after-the-first-round-clear dungeon.  I hope I can get this done over the weekend so that I don't have to think about it during the semester ;-)


[Posts from year 2015]

Please enable JavaScript to display links.

Comments are welcome.  Send E-Mail to: 


This page is link free, but please link to  Please use one of following banners.