My New Blue Light Blocking Tinted Glasses

For the past two weeks while I am at work or at home working on a computer, playing video games, etc. I am wearing a pair of prescription glasses with a blue light blocking tint to them. After a number of different articles came out saying how blue light being emitted from our screens is causing harm to our eyes and sleep, I thought it would be best to ask my optometrist about getting a pair of glasses that block out the blue light.

What I have noticed in just these few weeks of using prescription glasses with a blue light blocking tint was my eyes were less tired at the end of the day, slightly less red and irritated looking, and I fall asleep a little easier. Is this just a placebo effect and something that I am just noticing now because of my new glasses? Perhaps, but in my mind I would rather have “healthier” eyes and an easier time falling asleep with a better sleeping pattern than the opposite. With so much negativity in the world, having something positive is essential.

My original pair of glasses were fitted with transitional lenses (they get darker depending on the amount of UV light detected) and unfortunately I could not get them equipped with both transition lenses and blue light blocking lenses. So now while I am indoors working on a PC or playing Xbox I wear my new glasses, but when I do anything outdoors I wear my older pair of glasses with the transitional lenses.

If you stare at a computer or screen all day then I suggest you take a look at getting a pair of blue light blocking tinted glasses, either with a prescription or not. Previously I believe the glasses lenses that were available had a yellow hue to them, but now (well mine anyway) are clear and depending on the angle you hold them you can see a blue fade to them. To me the eyes are one of the most important body parts and I would absolutely be devastated if something seriously injured them if I could have prevented it. These glasses are one type of protection and prevention that I am more than happy to have obtained.

Microsoft or Google’s Productivity Apps

My original post was going to be about the two different AI assistants that Microsoft and Google offer, Cortana and Google Assistant respectively. However while writing and reviewing the post the theme of productivity and how the two assistants are making life simpler kept appearing. So instead I discarded that post and started this one. I try to streamline and make my life easier by looking for ways to automate, digitally organise, and remove redundant or boring tasks while taking advantage of applications on both mobile and PC to keep everything together.

As someone with an Android phone and has/is still using Google’s products on a number of platforms it would make sense that I lean towards Google’s ecosystem and productivity apps. But, Microsoft’s own products are just as good (if not better IMO) than Google’s. Are there other productivity products out there that do the same job or better? There could be but I generally only like using first party products because I don’t like giving other applications access to my account information. If others have suggestions about other apps that are useful let me know in the comments and I’ll potentially take a look at them and break my rule.

Email

Be it personal or for work, I use email a good amount. On my Android phone I have disabled the Gmail app and have opted for the Outlook app. There are several reasons for this. Aesthetically the Gmail app is pleasing and the performance is great, you never see any slowness or lag. Outlook is not as visually pleasing and appears more formal but it too performs well with little to no lag or slowness. If you are on PC then you can use both Gmail and Outlook through your web browser of choice, and if you subscribe to Office 365 (like I do) you can get access to the Outlook application where you can have both your Gmail and Outlook accounts synced up. The features that you get with Outlook on their apps and the web are also far superior than what Google offers. Outlook can be far more complicated and daunting with all your options, etc while Gmail is more user friendly, streamlined but lacks the options that Outlook offers. Score one to Microsoft here with the number of email features on offer when using Outlook.

Calendar

This one is a no brainer. For some reason Google has a separate app for your calendar which is a little bit of a pain. But the calendar app they do have is like the Gmail app aesthetically pleasing. Not only does it look good but it also performs very well. However the major draw back is that it will only sync with your Gmail account (perhaps I have not found the right setting but I cannot sync other calendars to it). Microsoft’s Outlook app has an inbuilt calendar (yay, less apps) and it has all the features the Google Calendar app offers. On the PC you can again use a web browser to access both Google and Microsoft account calendars. The Outlook app to manage your calendar on PC is a power user’s dream. There are a number of features that are either really hard to find in Google Calendar or are not present. So again Microsoft takes the win here by making Outlook such a powerful app on both Android and PC.

Tasks, To-Dos, and Reminders

I decided to bundle tasks, to-dos and reminders together because I generally treat and use all three in a similar way. Microsoft allows you to handle these either through the dedicated To-Do app (would have loved to be able to do this through the Outlook app like everything else unless you use Outlook on PC) or the AI assistant Cortana, plus there is the Microsoft Launcher, but I won’t discuss the details about that app here. I just want to point out that aesthetically Microsoft’s apps on Android feel very corporate and formal, but the To-Do app feels very consumer friendly and welcoming like Google’s apps. Google handles tasks, to-dos and reminders in a much similar fashion. Google has Google Keep and a new Google Tasks app, plus there is the Google Assistant. I previously used Google Keep and it did the job really well, but after moving to Office 365 and Microsoft’s products I found that Google Keep was/is fairly basic. From what I have read about Google Tasks, that product is also basic and has only the very bare minimum features with more coming the future. If you want a number of features for your tasks, to-dos and reminders then Microsoft’s products are the way to go, but what Google offers do the job just fine.

AI Assistant

The AI assistant of choice really depends on which ecosystem you are using. If you are in the Google ecosystem using Gmail, Google Calendar, Google Tasks, Google Keep, etc. then the Google Assistant is the one you should be using IMO. If you use Outlook and To-Do then Cortana is the AI assistant you need to use. Google Assistant on Android is integrated so well it is really a shame that Cortana does not integrate as well. If I could identify one area where Google is leaps and bounds above Microsoft is the quality, performance and appearance of the app on Android. I believe Cortana does not look as good as Google Assistant and also is not as responsive. There have been graphical issues when I launch the app at times, there is the occasional lag, etc. However with every new update of Cortana on Android it gets better. Cortana on PC however does not have the same issues as it does on Android in regard to performance and appearance. Both AI  assistants perform very similar when I ask them questions in my day to day use so if you’re worried about not being able to answer or perform a task during day to day use then you shouldn’t. They have their own ways to perform the same task but it is just a matter of getting used to it. Google’s feels a little more natural than Microsoft, but it is not a major issue. If I had to lean one way, Google’s integration with all their platforms, products and services, aesthetics and performance makes this one a win for it.

Overall Google and Microsoft offer a number of products and services that can pretty much handle everything that you throw at them. Google’s products are simpler, easy to use and are very consumer friendly. They perform very well and visually are superior to the ones offered by Microsoft. Microsoft’s products feel more business, formal and professional oriented. The number of features that they have is also far superior to that of the features the Google products have. If you are a power user and really want to streamline, organise and stay on top of all your things then Microsoft has you covered. At the end of the day you cannot go wrong with either ecosystem and it is all about what you want out of your apps.

Just A Small Update

I have not posted in a little while and there have really been two good reasons why. I have been a little busy the last month (mainly due to work) and also I have not really been happy with the quality of my writing so I just kept them all as drafts and never published them (want to get away from this though).

In the last month or so I have obtained my third stripe on my white belt in Brazilian Jiu-Jitsu, I have been reading some interesting articles on LinkedIn about how to be a better team leader, specifically in the technology and engineering sector, and I have been beavering away at some little side projects that will probably never see the light of day for others to use because I will probably get bored of working on them and start something new soon.

On the gaming side, with the release of The Sims 4 Seasons I have been playing that whenever I have the chance. I absolutely love that expansion and it really adds time and some more realism to the game. PUBG has officially been dropped by me, I probably only have played it once in the last couple of months to try out the new map. Was not too impressed; the server I was playing on was full of people outside my region, had stability and network issues, etc. Not much has changed on the performance side and that is my major gripe with that game. So my multiplayer fill has been Age of Empires 2 HD with my mates and it has been a blast.

With the end of the 2017/2018 financial year and the start of the 2018/2019 financial year, I am re-evaluating all of my subscriptions and I may be dropping some services (looking at you Netflix). Plus I plan on trying to achieve some more personal and professional goals (closer to what I set myself at the start of the year).

My Artificial Neural Network Application & Podcast

The last month my blog has been fairly quiet.

I have been a little busy working on my artificial neural network, practising BJJ and playing some video games; plus I was sick for a couple of days. Initially my plan (which I stuck to for an extended period) was to put out a blog post every one to two weeks. However coming up with meaningful content that often can be fairly difficult.

This month I plan on writing about my artificial neural network with some emphasis on how a multi-layer perceptron works and how my application works/be used. It can be viewed on my GitHub page.

The current state of my artificial neural network on GitHub is just the skeleton with the majority of the code still not pushed to the repository. As I start to push the meat of the artificial neural network components such as the feed-forward, backward propagation, etc I will be creating specific blog posts.

The podcast that I was working on has not turned out as expected so I am in the process of re-evaluating the tools and topics that I will cover. I still plan on creating a podcast and with the new Content Creator version of Skype it should make the process  much simpler.

Learning Patience From Teaching

I would consider myself a fairly calm, level headed and patient individual; never can I recall a time where I have gone off the deep end and blown a gasket. There is nothing beneficial in becoming angry, frustrated and furious at an individual or team, or questioning whether someone has really been paying attention in a demeaning fashion. I have seen first hand what happens when someone does blow up and starts angrily blaming and non-constructively criticize someone. As I worked with a variety of different individuals from a number different backgrounds, beliefs, understanding and competence, I have learnt to be patient and try to understand why and where they are coming from.

The reason why I am writing this blog post is because this weekend I was asked by my parents to construct an specific Microsoft Excel spreadsheet that can be easily modified aka “Idiot Proof” as they put it. I am not an Excel wizard or master, but I do know my way around a spreadsheet and I can do what was necessary in Excel for them. As I finished the spreadsheet and was showing them, they seemed fairly happy with the result which was good. But as I was showing them how to update and use it to meet their needs, that is when my patience was being tested. What I originally thought was going to be several minutes explaining how to use the spreadsheet turned into an hour worth of explaining.

My dad is an electrical engineer and as far back as I can remember he has used a computer. He knows how to build them and use a number of various software programs effectively. But his knowledge is limited when it comes to the Microsoft Office suite other than how to send an email in Outlook. My mum on the other hand is what you would call  unfortunately, computer illiterate. She knows the very (and I mean very) basic computer functions. Browsing the Internet (safely), and updating the computer is all she really knows how to do. Anything else would require me to either write it down in simple easy to understand steps or show her continuously until it becomes second nature. She has not used computers as much as my dad or me, so I don’t expect her computer literacy level to be as high as either of us, and that is perfectly fine. She is more than willing to learn which is fantastic.

Back to the Excel spreadsheet. It was constructed in a way that would auto-populate nearly all of the necessary cells with only a couple left to be filled in, and rows in a table would be used to auto-populate a number of other cells. I showed them once how to add a new row to a table in the spreadsheet which allowed the cells to be auto-populated. The actions and process was extremely simple. I laid it out to them in the following way:

  1. Left mouse click in the table cell to select the table.
  2. Right mouse click in the table cell to bring up the pop-up.
  3. Select Insert from the pop-up.
  4. Select Insert Row Below from the pop-up.

I really didn’t think it could get any simpler or easier. However it took them a number of times to understand that you cannot just enter values below the current row and have the necessary cells auto-populated. Knowing that for them this is fairly foreign, I needed to be patient and try to answer their questions as best as possible, in the most simplest way too. If I didn’t have the patience to explain something as simple as adding a new row to a table in Excel then it was a perfect time to learn to be more patient.

After showing them a couple of other necessary actions to perform some other tasks I asked them are there any other follow up questions they had. My parents wanted to see if they could do the whole process from start to finish by themselves with me watching to make sure the right actions were performed. The very first task was adding a new row to the table, and already like an old bad habit they just entered the values below the row and not in the table. I calmly explained to them again that they needed to add a new row to the table otherwise the value will not auto-populate. So I proceeded to show them again how to do that. Again, if I didn’t have patience or was hot headed then I most likely would have said something like “I just showed you how to add a new row to the table like 5 minutes ago, how did you forget? Or were you just not paying attention?”.

As a project technical lead and a software engineer who has been with my current company a number of years, I also provide support to any new software engineers that join our teams. Once again I get to interact with individuals ranging from software engineering interns who are still studying at university to software engineers who have been around the block. With the vast difference in experience that someone has, I need to be able to be more forgiving, understanding and patience with someone who has never rebased a Git branch or resolved merge conflicts before pushing to their origin. I get the opportunity to teach someone something new while also learn to be more patient, understanding and a better leader. It is a win win for everyone 🙂

Obsessively Learning For The Better

Ever since I could remember I always loved to learn and help others. Be it to learn how things work, why something was designed a specific way, and/or what made this thing function the way it did. All of those questions fuelled my curiosity and passion to learn, to understand, and to help others understand or solve their problem. There is something satisfying about knowing how things work, why they work, and being able to answer people’s questions with an appropriate answer. Plenty of people are not too concerned about the how and why, and are just happy that it works; this is absolutely fine as well. For me however, the more I understand something the more I can leverage it to my advantage getting the absolute most out of it. This is probably another reason why I became a Software Engineer and continued to study after my Bachelor degree to obtain a Master degree.

I encountered a small technical issue yesterday and was browsing Stack Overflow to see how others resolved their problem and what the exact root cause was. There was a perfect answer to the issue with a equally perfect explanation as to why it was failing and how the fix solves the issue. Sometimes when I see the answers to questions on Stack Overflow there is just an answer with little to no explanation as to why it fixes the issue. These answers I feel are not that great because really you don’t learn and understand how to fix the problem, you just use a solution without understanding the problem properly. You don’t learn anything. If I do encounter just an answer to the problem I try to read up further as to why this solution works. In the long run being able to understand the problem completely and how the solution fixes it is far more beneficial.

On a daily basis I try to learn something new, be it a new functionality that I didn’t know in Java, C++ or C# had or how to use my body to ensure that I can easily incapacitate an attacker with minimal effort using BJJ. By me constantly learning something new every day I can better myself which in turn I can try and assist others to better themselves or provide a solution to a problem they have encountered. This desire to learn has helped me in my career so far as a Software Engineer, as you need to constantly develop your skills and research new and upcoming technological trends to stay relevant. It is a challenge to try and better yourself day in and day out, but when you go to bed at night and you think about what you have learnt that day or how you have helped someone, it makes going to sleep that much easier.

Being an Xbox and Windows Insider

After installing a new Xbox OS update on my Xbox One X console, I launched the Xbox Insider application to see what the changes were and if there was any new Quests, Polls, Survey, etc. I noticed that I had been an Xbox Insider for 3 years and 11 months, essentially as soon as there was an option to try the latest features and opt in to new functionality I jumped on it. Along with being an Xbox Insider, I am also a Windows Insider; but I have not been as active in that program in recent months. Checking out the new features and functionality that the teams over at Redmond and around the world working at Microsoft are developing is something that really excites me. I love trying out new gadgets, devices, software, etc. What Microsoft is doing with both their Windows and Xbox platforms, allowing individuals to try new features and provide constructive criticism and feedback is extremely positive and very pro-consumer. It helps ensure that the best product is produced.

However by trying out early builds on either platform is not always fine and dandy. There have been a number of times when simple and basic functionality such as Xbox Live Party Chat did not work at all or installing and/or updating applications completely failed. Luckily to combat this, Microsoft has separated the Insider builds into “Rings” which determine the stability of each build and how new the features you will be getting are. If you are in the Alpha Ring (like I am) then you will get the latest and potentially breaking builds or you could be in the Delta Ring and get a significantly more stable build but not have the newest features. This creates choice for the individual while still allowing them to contribute to the evolution of the platform and assist in bug reporting (something as a software engineer is extremely helpful, the more testers the better). More software companies really need to start providing this feedback process as software is becoming ever increasingly more complex.

Many people will most likely not want to be involved in trying unstable or incomplete builds/features for various reasons. To me though, providing feedback and helping the features become less buggy and complete ready for the masses is rewarding (even though I do not write a single piece of code). To make trying out the new features more enticing and understandable, Microsoft has created Quests and Surveys. Generally if there is new functionality added after an update a new Quest will appear which shows you how to activate and or try it out. It is a very handy way to get your device configured with the new features. The Surveys provide an easy way to communicate how you find the new features (if they even do work as intended) and if there are any issues that you encountered. Reporting bugs and issues is also extremely easy. Each platform as their own Hub that allows you to provide as much detail as possible to help Microsoft resolve your problem, and if others have the same issue then they can piggy back off yours and add further information and diagnostic data.

Overall the entire Insider experience on both platforms has been fun and for someone who is looking to try new features before others, or just wants to help Microsoft out in providing the best possible experience for everyone then the Insider programs are a must. For more information about the Xbox Insiders Program check out the following link. For more information about the Windows Insiders Program check out the following link.

What I Enjoy The Most As A Software Engineer

The last two weeks or so I have been thinking about what I enjoy the most about being a software engineer. Do I love implementing new and exciting features for the customers to use? Absolutely. Do I enjoy designing and building new tools to make lives easier for the software engineers and testers where I work? Of course. Out of all the tasks that I perform on a daily basis, nothing beats fixing bugs.

The way you need to think is completely different in my opinion when you are fixing bugs compared to designing and implementing something from scratch or adding a new component. I treat this process much like a problem solving game where I assume the role of a detective trying to find out where the problem is happening, why it is happening and what is the best way to fix it so that in the future it won’t break again. With the use of logs, breakpoints and tests I ensure that the problem is fixed.

Why you may ask that I prefer to fix bugs over performing other tasks? It is extremely challenging, rewarding and you need to pay even greater attention to what you are doing. It really is the ultimate problem solving challenge in some ways. Your absolute attention to detail and focus is imperative and the amazing feeling you get when you successfully fix the bug is satisfying.

In the future will I still love fixing bugs over other tasks? I don’t really know. Most likely though I would say yes. I have always enjoyed a challenge, the problem solving game and that feeling you get when you succeed. Only time will tell, but right now any time I look at the Kanban boards or have issues assigned to me and it is a bug I get excited no matter how small or large the problem may be.

Goodbye 2017, Hello 2018

2017 I bid you farewell, and I welcome 2018 with open arms.

Overall 2017 was a great year for me, I started a number of things such as Brazilian Jiu-Jitsu and this very blog site. But with having done everything there was still a couple of things that I would have liked to have done such as release my app to the Windows Store, read a couple of more books and learn some new technologies that are not directly related to my work.

So now that 2018 has rolled in I am going to start making quarterly goals with mini goals in those quarters. With these quarterly goals I am hoping it will allow me to focus, reach some more milestones and achieve everything that I want to in 2018. If I was to give 2017 a label, it would be the year that I started many things. With 2018 I want it to be the year that I not only start new things but continue and finish a number of other things.

Right now I am in the process of thinking about and starting to write my quarterly goals. The very first item I put on that list was to release the alpha version of my artificial intelligence app to the Windows Store around April, some more information about the app currently can be found here. I also have picked out the first book I am going to read for 2018, Astrophysics for People in a Hurry; more information about the purchasing the book can be found here.

Let the 2018 adventure begin 🙂