Thursday, December 12, 2013

From concept to reality in 6 weeks - part 19

Well today is a new day. The days of coding are getting longer and the amount of daylight is getting shorter with each passing day as the day with the least amount of daylight is coming soon. It is so cold out to me that it is not very appealing to be outside anyway!

Today I have a new mapping engine that I need to add to my project and then see how many things have been fixed. We were having issues with touch events working but today that has been fixed. That is a great start to a new day. I also added a debug statement handler for the mapping engine so when running in debug I could tell if I caused any errors by incorrect setup on my part. The mapping engine team of two needed that functionality anyway to help debug crashes I was seeing so hopefully it will help us both.

I had yet another victory using LINQ and the more I use it the more I like it. This time I needed an "orderby" and "group" to find unique values. Oh my gosh that was so simple and makes sense at the same time. Now if I just had that in other languages that I use. This list of LINQ grouping examples definitely helped me a lot. Then I wanted to pass the group to a method to do more calculations and I found that I can create a List instead of having to deal with IGrouping by using ToList(). Wow that is so nice.

Next up is a little bit of math and thanks to the iPad app code I learned about this great site that explains in exact details how to determine a bearing. That certainly was easy, except for one thing I need to get the floating point modulus, which does not exist in the Windows Store Math library. Wait, it turns out that the "%" operator already handles that and so there is no need for a special Math library function like in Objective-C - that is the way it should work. I think I am finally getting the hang of this C# stuff. Of course it matters who you hang out with. Spending many hours yesterday with ex-Microsofties helps me know which language is better!

Pretty happy day so far as I finished the last layer on the map so now just need to look into a couple of small bugs and move onto the next tasks of filtering the data being displayed on the map. That is after I get the app working on another Windows 8.1 machine to make sure all of the mapping engine bugs have been fixed that preventing me from getting that far yesterday.

Today I am trying new music by following related to links in Spotify and found Doyle Bramhall again and I am enjoying like while struggling with builds. And then something magical happens as I have the app running on the other tablet. Maybe I should just quit while I am way ahead and it is not even noon yet.

I took a short break to celebrate but helping my daughter with my old Mac laptop as it was acting strangely. It is a 2009 model and still works pretty well for homework and cruising on the internet so it has done a great deal of work over the years. I originally bought it to work on writing my book as I wanted to use Pages and carry it around with me at work and when I went to the library. Overall is looks pretty good and recently my daughter decorated it with a turquoise outer shell and has a thin rubber key cover as well. All it took was a reboot and then holding down Command+S and I checked the hard drive to make sure there were no problems. All was well in the old Mac land.

Now I am back to work as I need to get filtering working. Wait, I cannot start yet as my Windows laptop has a bunch of updates that require a restart. I might as well do that before I get back into the depths of filtering. Just when I thought the work would begin on filtering I re-ran the app and noticed a point off the west coast of Africa, which can only mean one thing. There was a slight problem in that I always need to check to make sure every GPS point I receive is valid. Not that a point off the west Africa is not valid, it just is not valid in my case. I had to do some searching to see if there was anything special I had to do in C# to test a float is close to zero. Turns out the solution would work in pretty much any language.

Had to take a break and do a show-n-tell at work so others could see all of the amazing stuff that is working in the 18+ days so far.

Now I get to learn about notifications, bindings and the event model used in Windows Store apps. There is a couple of articles I need to read to become familiar with it.

At the moment I have to figure out how to take a screenshot on a Windows tablet without a keyboard. This is special hardware I am on so hopefully a generic solution will work. I searched Ms. Google for "windows 8 tablet screenshot" and found an article that described exactly what I need. Thankfully clicking on the Windows button on the front of the tablet and the Volume down button did the trick. It is kind of like the Home button and the Power button on my iPad. The only problem is I have to look to find which button is the Volume down button as the up and down buttons feel just the same. The Power button is right above the Volume up so that is probably not a good button to click on randomly. There is another button below the Power button that I don't even know what it is. I click it and behold it is the Autorotate button, which feels different from the others as it is smaller. The small unreadable label did not help me figure out that one.

I think it is time to call it a day and think about the notifications tomorrow morning when I am fresh from a good night's sleep. I am a morning person and need such tasks that require concentration for the wee morning hours.

No comments: