The current goal is running Weather Typing on Raspberry Pi but I wan’t to run it on mobile at the same time so I tried Xamarin.Forms I was interested in.

When I created a cross-platform project in Visual Studio 2017, I got Shared Project and UWP/Android/iOS projects. I can test on UWP before testing on Windows 10 IoT, that is convenient.

There are many way to achieve cross platform development. At first, I can use Portable Class Library (PCL) as is. I can port WPF common project to Shared Project and use ifdef for each platform. The better way may be making interface in PCL and using Dependency Injection but I have too many classes.

Shared Project is not a DLL not a static library. That project will be merged to each platform project. I thought the define value should be defined for each platform but that was not true. I defined platform dependent value such as _UWP__.

How about XAML cross platform? In some books. I can choose using Xamarin Forms or I can make
each platform screen. I wan’t to try Xamarin Forms! But… I think making each platform screen is easier. I don’t see screen image in develop phase, that is okay. But intellisense will be dead when I wrote wrong code. And do I have to Build & Deploy manually before debug code? I think it will be fine after I got some tips, right?

I concerned about GPIO. Does it work with Xamarin? Yes, I can add reference GPIO library from UWP project. Is it normal UWP app instead of Xamarin emulated .NET framework?

This is the first app with UWP on Xamarin.Forms.

I’m trying to run Weather Typing on Raspberry Pi. I can use C# in Windows 10 IoT so started experiment.

As in MS page, copied image from Windows 10 IoT Core Dashboard to SD and run, but it stacks then ended up with BSOD (BAD SYSTEM CONFIG INFO). After that, I get BCD error and the end. I tried it several times
but no luck. After Googling, I get some information of power issue but I can’t use it with Surface charger.

Another topic, After installing Windows IoT, that makes many partitions. I don’t know which partition I have to delete so I deleted all the partition. But after that, Windows lost the SD card. That SD card was recognized after formatted it in Xperia.

After all, that was SD card issue. I can’t use TOSHIBA 16GB and can use ELECOM 16GB.

→That was because my TOSHIBA SD card was class 4. I bought it in convenience store. I bought ELECOM one in electric store so that was class 10.

As official 7 inch touch screen is shown up-side down so I launched Windows 10 IoT Core Dashboard to fix it. But I can’t use the first password I specified. But I got error. it seems the first password
was fixed to “p@ssw0rd”? I changed the password and finally I reversed display direction/

Next, I searched the way to remote control Windows IoT and found Windows Store App. I can remote login with a href=”″>Windows IoT Remote Client. I can start
develop Windows IoT app.

I released WT3.2.1. I fixed the error
related to input after last character. Internally, key array hash was changed.

Weather Typing page was messy so I moved previous version to previous version. And I added downloading past versions. I don’t have ver. 1.0 but you can download after ver. 1.2.

I published input method plugin as open source atGitHub. It is my first time to have open source. I decided the license to Apache2 that is less restriction. You can use it as non-proprietary or proprietary, you can change it. The more Weather Typing plugins, the better.

I have almost finished WT3.2 so I’m building Raspberry Pi environment. I attached a touch LCD and case I bought in Akihabara.

I can provide power from Raspberry Pi to LCD, I can easily take it to anywhere. More than anything, I
can remove the back cover. I love it.

Now start Weather Typing on Raspberry Pi project.

I want to make Weather Typing plugin open source but there are some unknown stuff. Is license Apache2 fine for this project? I don’t need to concern yet but if someone want to change the source
code, pull request will come, right? In the future, I will make Weather Typing store that publishes word, inputmethod, cpu plugin, replay, I don’t know when I can do it.

And I’m making manual of GitHub project top page. I can write it in Markdown format that is similar
to Wiki. At first I was using Atom that is GitHub official editor. But
it is heavy for long document. At last I’m using Sakura Editor for editing and Atom for preview. Atom detect changes of the file to that is fine.

I have finished test so I published beta version of WT3.2.

In fact, I wanted to public production version but I had many bugs so decided to public beta at first. If no bugs are found, I will publish it and if any bugs are found, I will update 3.2.1.

I will finish developing WT3 in anytime. I have 700 checklist and 22 remains. I find bugs every time I executed some checklist so I cannot publish develop version. After finished test, I will publish production version. I found 49 bugs and the target was 50 so quality is good I think.

I have to write manual for developing plugins.

I am in IT industry so I have to use recent service.

I do not have used net shop a lot because I live alone but recently there are receive in convenience store and receive at electric store. I bought some items which I cannot buy in real
stop. Amazon item has arrived in one day. It is very convenient for people who live alone.

Another one. I have many PC parts and I wonder how to throw them away. And I found some
service of recycling. I used Renet Japan which has a partnership with municipality. They confirmed me the items are personal because of amount but it finished with no problem. It is also convenient.

As new WT3 is approaching, I asked KK to play it with me. Test goes well but I noticed some issues. Play actually is much better than test program or check list.

I played WT online after long period but it was fun.

I changed my smartphone for the first time in 4 years. Old one lacks memory because of unwanted apps.

I used Docomo/NEC for 17 years but NEC ended smartphone so I bought Sony XZ SO-01J this time. I recovered all of apps
now and cloud helped me a lot. It is good, only it doesn’t have strap hole. I want to investigate new thing of new smartphone.

About WT plugin that I have been developing for a long time. I have finished base coding. This is the first step for new concept.

I am testing connecting new version and old version to keep compatibility. While trying various input, I found some bugs of
old version because I recreated input method.
・XN isn’t recognized in Dvorak. X position was Qwerty in Dvorak XN.
・Can’t input Shift+Kana in 50 on. I don’t change this as no one use this.

I may publish develop version in Golden Week.

The download count of Analog Book Reader a while ago was extraordinary.

Total count is about 40,000 now but the count in this term was 1600. After that, it became back to normal. I can’t found any information in Google and Twitter search. A friend of mine guesses that some organization adopts the app and all the member has installed. It is strange anyway.

By the way, Weather Typing download count is about 40,000+ that I don’t know the count of early days, though. Analog Book Reader download count is getting closer to that. The world is big. Weather Typing can be used in global after I developed current project so it will became global, I hope.

I went to Akihabara with Happa for the first time in a while. The goal this time was BEEP秋葉原店 which was on my mind for several month. Basic Magazine like paint was on road and when we entered the shop, there were many retro PC, game, books. There were MSX, x68, even Tiny-Xevious of PC 6001, and many NES games. However, I don’t have items to buy because I can’t play with them because of environment. There were Basic Magazines but I can read them in National Diet Library. Are really core people have gaming environment in their home?

The another goal was Raspberry Pi. I bought camera module I didn’t have one for Arduino. I will try it.

I bought Raspberry Pi a while ago so I played with it.

Raspberry Pi is a small computer and can be used with an OS in SD card. It has I/O pins which I can attach electric parts. In fact, I wanted to install a Wi-Fi and a camera into Arduino and grade up RC. But I can’t install other parts after installed two motors and Bluetooth so I will try Raspberry Pi which has Wi-Fi and camera I/F.

I bought Raspberry Pi and SD card, connect it to HDMI display, connected USB mouse and keyboard. I installed Raspbian (Default Linux) to SD card using PC, then ready. Launching Raspberry Pi and installed OS. After changing password, configured Wi-Fi, finally I was able to login to it with SSH from PC.

I have a problem here. When I use it, IP address will be changed because of DHCP and it is hard to use. I don’t want to connect display and execute ifconfig. Because of that, I created a first program that notify IP address to web site when launched. It was my first Python program so I don’t know details.

# coding: utf-8
import urllib2
import subprocess

url = 'http://xxxxx/cgi-bin/xxxxx.cgi?ip='
cmd = "hostname -I"
ip = subprocess.check_output(cmd,shell=True)
urllib2.urlopen(url + ip)

When Raspberry Pi launched, it seems that pi user automatically logins, so I added following code in .bashrc.

python /home/pi/ &

In Web side, I created CGI but I can’t copy & paste here because it is link to large original library. It saves given IP address and output latest IP address to standard output.

Now I don’t need display, mouse and keyboard. Super convenient.

January will end without any articles. WT3 is progressing but I have a lot of items to work with for input method plugin. I have to implement weight calculation, sandboxing, network protocol change, replay compatibility. When can I finish?

WT3。The completion is still far away but I’m working on customization. I ended up UI designing word customization and input method customization. That will be finish soon. I have to stop working on design as it take infinite time. I will upload development version.

Recently, I’m study math to understand Elliptic curve cryptography. At first I read 「数学ガール」 series by Hiroshi Yuki who is famous by C magazine and 「なっとくする虚数・複素数の物理数学」 which was in my house. In my college, I thought Japanese books are too difficult but now a days there are easy books even in Japanese so it is good for people studying as hobby.

Speaking of Elliptic curve cryptography, I should learn Fermat’s Last Theorem. I read Simon Singhの「Fermat’s Last Theorem」. The story of Andrew Wiles who research it for 7 years in secret and make a presentation on conference is interesting. The book does not include much formula so it is not satisfying. But as it is too difficult to understand full theory so maybe the book is good. As a side effect, I was able to study math terms in English because I read it in English.

Finally, I am reading 「暗号理論と楕円曲線」 which I can read somehow. I have read 1/3 and I feel I can understand overview of Elliptic curve cryptography.

Since I studied math, I want to make an application about it like the physics simulator and music score app, I want some ideas.

I went to bookshop. I bought 趣味で物理学 series as all the three books are at the bookshop.

This book is based on a site EMANの物理学 and I read a lot while I was making a physics simulator World Tester. This site explores physics during describing and it is so interesting that I was reading the site for a long time. I wish buying books helps the author.

I have to add entry before November.

WT3 is progressing but I cannot release it for a while. I am making a input method plugin but before that, I have to improve lobby design which I spent little time before.

I am reading a book which I found in a bookstore なるほどデザイン. It is very interesting. Most design book includes rules and example but I do not know how I use it. This book includes design method and write every steps to design so it is useful.

Weather Typing. The issue, occurred in summit, that input speed becomes very slow has been solved. I am using bit flags for Roman input customize and in C++, I used STL bitset and in C#, I used BitArray. That was very slow and after I changed it to simple long, it became super fast.

I had similar report from some users but I didn’t find the cause because I couldn’t reproduce. But in summit, I got hint that WT will be slow when 5 people battle with long word so that helped a lot.

I’m changing WT input method so publishing new version will be later.

I couldn’t go to it but I write a report of annual Typing Summit.

This year, I assumed I have to go to work this time of year so I didn’t entry. But as a result, Only I was free so I was able to see NikoNama.

WT team battle. Thanks to have a great event. Broadcasting is improved. In the last year, I saw NikoNama after the summit but I couldn’t see the words in screen. In this year, because of tahe lighting and layout, I could see words clearly. Other than that, the team name which was hard to see, was changed to color name that was easy to understand.

I was worrying about connection and spec change but it seems no bit problems. Maybe the facility team was tested carefully. The following things are the software issues. I have to handle it.

  • The user can’t see all the information
  • Too much lag
  • The result graphs are complicated
  • Roman and Kana scope doesn’t match

I have to resolve the issues. Also I will develop the new concept, and I will propose new WT next year. But the new concept doesn’t contribute to the summit battle. I think it is good to support team battle which I’m not sure I can develop by next year.


The user can’t see all the information

I fixed “change information panel size” this time but I forgot the real request was to show the screen on the lowest size. I thought increase the resolution will solve but it maybe difficult with projector.

Too much lag

I don’t know the cause. In my environment, 5 people battle has no problem. Long words seems to cause the lag so .NET WPF can’t draw such a many object, if it is so, I have to change the framework to such as Unity.

The result graphs are complicated

I have to improve graphs. Maybe zooming and highlight one line. I will think of it in the new analyzing feature.

Roman and Kana scope doesn’t match

In variety words, I concerned the difference between Roman and Kana scope and someone can’t type some character but the facility team already considered. But in the new concept, I have to do something to that issue.

Morse code. I am developing the Input Method Plugin and I think I will add Morse code as a sample. That will enable true Morse code input.

Analog Book Reader。I got a report from a user that ABR shows an error when 1000+ books were import. This spec itself comes from a limitation of StorageApplicationPermissions.FutureAccessList (StorageItemAccessList). The files user selected can be loaded later if a program remember the token of the file but it can remember only 1000 files.

That is a specification but after investigating, I found a bug. I forgot to remove from the list when the file was removed from bookshelf or deleted. Because of that, after registering 1000 files, users cannot add files anymore. I fixed only that bug and registered to store.

But, that version doesn’t solve the issue of 1000 files limitation. The limitation is about files or folders so if I used folders, maybe it will be resolved.

I was creating official package of Analog Book Reader for Windows store, but I struggled a lot.

At first, I couldn’t build the app because my store certificate was expired. I created new test certificate but Package Family Name was changed so it seems new product. At last I found the Package Family Name restored when I associate the app to Store again.

Next. I tried to test version up from previous version but the certificate was expired so I can’t install previous version. I back-dated the system time and I was able to install it.

Next. English UI is showed in Japanese OS. This is an issue from V1.7. V1.7 is a UWP app so it supports only Windows 10. Japanese people hate Windows 10 so it was no problem I think. I don’t know the real cause. If I have _language-ja.appx in the package, it is good. But sometimes I don’t have that file in package. I should test Japanese OS before release from next version. I don’t know whether I should support Japanese which has low download count.

So far, I submitted Analog Book Reader V1.8 to store so it will be released soon.

I got a Kindle Paperwhite and used it for a while. A competitor analysis?

Display is great!. As it has no back light, I see it with front light and reflection of environment. My eyes recognize it as paper. For example, when I move my hand over it, it makes shadow on display. I get tired as seeing paper after using it several hours.

But, UX is not as paper. Frame rate is too low to improve it. If e-ink can count 30 fps, it will be a great e-reader with Analog Book Reader.

Kindle has a browser so I tried to read Safari Books Online. If I set the browser mode to Article Mode, I can read it comfortably. But the operation to read it like sign in was tedious.

I went to Maker Faire Tokyo 2016 with Happa.

It was our first time to join it so we went the 2nd day PM to avoid crowdedness. Not so crowded and not so hot. We skipped event and saw almost all the exhibition. It was so huge and tired. My image was comiket that circles or individuals sell something. Actually, there are university labs, it was like the university festival? So professional.

In electrics, I knew only Arduino,Rapsbery Pi,IchigojJam, but there are many types, extensions, and other frameworks and digital blocks. VR all over the place. Other than electrics, Pitagora devices, keyboard shooter were interesting.

This time, I went there to just a take a look at it, but I got much motivation to make something there.

Weather Typing 3.1.1 released. I fix the bug that was reported in Twitter a while ago. I want to develop next feature but I wonder which project will I proceed, ABR,electronic project, new app?

I used Buffalo DT-H70/U2 to see TV. It is old but worked with Windows 10.

But suddenly, the capture software PCastTV3 stopped working this week. There are some people with the same problem in Twitter. It is old capture so maybe Buffalo won’t support it. OK, I will quit seeing TV. The only program I want to see is NHK English learning program.

I had stomachache in last week so I have been stopping development. During that, I slept in strange form to protect stomach then I had a dry eye next.

I have 2 releases pending, WT3 improved connection problem I was requested in Twitter and next version of Analog Book Reader. After I recovered, I will release it.

Now I’m reading “Make: Electronics” and in this book, the author says that you can’t cross wires on both surfaces because they will short through hole. I got it. My shield which I made in previous article has the problem. Actually the wires are not attached to board but it is not good.

In the normal books say “do so.” So they say just use wrapper wires to cross the wires so I thought put wires on both surfaces. This book writes about “do not” so it is good to read.

I monitored the view of RC.

The video output is sent from an iPod Touch on Arduino RC via Wi-Fi. And Windows 10 Mobile show the video real time. RC is also controlled by Windows 10 Mobile via Bluetooth.

I finished RC part so next I will move RC automatically by the video.

In the previous diary, I have made a rc car. But I controlled it in a Windows PC. I think controlling in a smart phone is much smarter so I was planning to make Android App. But wait a minute, I have Windows 10 Mobile so that I can make UWP app on Windows and I can run it on mobile.

In Windows, I was able to use SPP and connect to Bluetooth device by COM port serial. But I don’t see COM port number on my phone… I found that I can’t use SPP on Windows 10 Mobile. OK. I referred to here and change it to use RFCOMM. I only have to change serial connection to socket.

Here is the latest screenshot. I can debug it in Windows as well so it is very easy to develop Windows 10 Mobile app.