Once again, Microsoft is making good progress. In this post, it's regarding the sync'ing of user accounts across platforms. In this case, Visual Studio (development platform) and GitHub (code management platform).
Friday, November 20, 2020
Wednesday, November 18, 2020
Microsoft's Game Development with .NET (and Unity)
This is very attractive to me. I need to try this out and see what the offerings are.
https://devblogs.microsoft.com/dotnet/game-development-with-net/
This particularly caught my attention:
".NET does not just cover building your game. You can also use it to build your game’s website with ASP.NET, your mobile app using Xamarin, and even do remote rendering with Microsoft Azure. Your skills will transfer across the entire game development pipeline."
References
Friday, November 13, 2020
Good Coding Tip: NEVER USE ELSE Statement
This author has a really good point (to NEVER USE ELSE statements) that I've never spent much time meditating on.
"We can see that without the if statement, we can't determine what this [else] is meant to be doing. Why would it return an empty string? Is this an error, or the ‘normal' behaviour? This code instead relies on us remembering, and having read, the earlier context. This doesn't matter much when the statements are small, but if there's complicated logic within theif { … }block or we are scanning quickly, then the separation of context from code can hurt readability massively. It hurts even more when if/else statements are nested, or there are multiple of them in one function (which if statement is this else for?)."
Read the full article here:
Tuesday, October 27, 2020
Improving Your Debugging Strategies by Chelsea Troy
I really like this article by Chelsea Troy in Functionize.
https://www.functionize.com/blog/improve-your-debugging-strategies/
Most developers know the standard strategy of debugging that she highlights. I would paraphrase her standard strategy term as "speeding through debugging with random breakpoints based on what developer believe is causing the issue." Like the author points out, this strategy is usually not the best unless you already know the the entire code base of the application or system. With the vast inter-communication among multiple apps, I doubt most developers today have this capacity to store an entire code base in human memory.
She defines another term called the investigation strategy. This strategy uses an existing algorithm to find the root cause of the issue like a binary search. The point isn't to list all the approaches to debugging but to understand that a better strategy is needed to improve your debugging skills. And, it should be language-agnostic as well as independent of any debugging tools (although it's helpful).
Thanks, Chelsea.
Thursday, October 22, 2020
Kite - Free AI Coding Assistance
Read a quick article on this and visit website to learn about it. No time to explore, but thought I would at least post and share.
Kite - Free AI Coding Assistance
Monday, October 5, 2020
Wednesday, September 16, 2020
Oracle Java 15
Thursday, September 3, 2020
Microsoft Learning Portal for NASA
Nice to see Microsoft partner with NASA in creating a learning portal for the next space frontier.
https://www.techrepublic.com/article/python-programming-in-the-final-frontier-microsoft-and-nasa-release-student-learning-portal/
https://docs.microsoft.com/en-us/learn/topics/nasa
Wednesday, August 19, 2020
Thank You - to that Random Person who maintains that one special library we all depend on
Hahaha! It's not often that I come across a comic that cracks me up. This is definitely a good one, though, and I think actually reflects a lot on our culture of modern technology. This makes me think about the capitalistic world and the lack of appreciation (via financial compensation) for open source developers. Eventually, programmers will need to be taught to privatize their code and negotiate on matters of advancing society. Perhaps some kind of blockchain stamp that signals royalties due to original programmer each time his/her code is used in a new program or product? I don't know, but I'm sure the day will come where the Open Source world will no longer exist. Or for a subscription fee (like online newspapers).
Source: https://xkcd.com/2347/
Wednesday, August 5, 2020
Microsoft's FAST framework
https://www.infoq.com/news/2020/08/microsoft-fast-design-system/
https://www.fast.design/
Monday, July 27, 2020
Becoming a Scrum Leader
People will say lots of bad things about "scrumming" and I have been one of those people. To the defense of negative perspective, it's because the scrumming has lost its value. In addition, it's because the scrum leader didn't and isn't catching the devalue of the scrums or the team that scrums. (And usually one is to write a whole paragraph before starting a new one - but it lowers the value of the message when unnecessary, for example).
There are lots of good things about "scrumming". Again, when scrums are done well, the value increases and the team becomes more productive. When the team becomes more productive, the product will most likely satisfy the customer and then the customer will, too, become more productive. That's the goal: Become More Productive.
My Four Points on Scrum
Let's look at the positive side of "scrum" as I learn to be a scrum leader for the first time. Here are my four key points promoting scrum:1. Understand why we "scrum" (i.e. necessary process).
We scrum to communicate clearly our progress to the customer. Without the customer, we have no work and thus no need to scrum and talk about work progress. In order to communicate our project status effectively, we along with other teams collectively deliver our status to the product owner who will eventually deliver the overall project status to the customer.2. Who should "scrum" (i.e. necessary people).
Our small teams of 3-6 people. Luckily, my team is of four including me which means each contributor will be necessary, needed, and critical to get work done. Because the point behind scrums is to communicate frequently and with key contributors, keeping the teams small helps to keep the frequency of communication high and, most of all, clear and concise. Too many people will cause too much noise and drown our the product's music. We want our customers to dance while waiting. :-)3. What are the "scrum" priorities (i.e. product needs).
Identify the needs for the product (which are the needs for the customer) and we now have priorities to discuss during scrums. These needs combined with the skills of our team determine the timeline of finishing the product to deliver to the customer. Basically, what needs to get done to give the product to the customer when they need it.4. How we "scrum" (i.e. progress needs)
The "how" is what makes "scrumming" different across the spectrum of agile practices. From my experience, the daily scrum using a "managing ticket" tool is the dominant method during sprints (i.e. a set of selected features to complete over a few weeks). This daily scrum was invented long before the modern tools we have today in managing tickets like Jira. However, I have found on many occasions this compels teams to scrum when unnecessary. I have found individuals to become less productive because of relying on scrums to give their status updates. Therefore, I oppose the daily scrum method and think we should leverage the modern tools to maximize scrums. As a team lead, I think it's more effective to encourage contributors (i.e. individuals on the team) to keep their status updates in the tickets and meet two or three times a week.We ought to keep status of:
- completions - i.e. tickets completed
- progress - i.e. tickets currently being addressed
- blockers - i.e. tickets on waiting on ticket owner due to lack of knowledge, skill, funding, etc.
- holds - i.e. any ticket waiting on something or someone and why
Overall, I think it's good to set expectations upfront with my team (or any team). Keeping my expectations simple should also help with making future adjustments. Here are my expectations:
- I will do my best. You can expect me to do my best. I will expect the same from you - do your best. (Please don't expect anyone to be the best scrum lead or team contributor.)
- I will always aim for us to do and be better. But I can't do it alone. I can't aim higher if even with three of us. We need all four of us to aim higher, together. Expect the same.
With the end in mind, let's see how my outlook helps or needs to be adjusted. Pray for me and wish me luck!
References
Here are some references that help develop my understanding.Scrum Intro < 10 minutes
https://www.youtube.com/watch?v=XU0llRltyFM
Arduino - Programming Language
https://spectrum.ieee.org/at-work/tech-careers/top-programming-language-2020
More on Arduino
https://www.arduino.cc/
Design Docs at Google article
https://www.industrialempathy.com/posts/design-docs-at-google/
I wonder how other tech giants go about design docs.
- Quick Outline (in article) -
Since design docs are overhead, know the trade-offs with whether a design doc is necessary or not.
Anatomy of a Design Doc
Context & Scope
Goal & non-goals
Actual Design: One Overview & One Detailed
System-context diagram
APIs
Data Storage
Code & Pseudocode
Degree of constraint
Alternatives Considered
Cross-Cutting Concerns
Length of Design Doc
Design Doc Lifecycle
- Creation & rapid iteration
- Review
- Implementation & iteration
- Maintenance & learning
Tuesday, July 21, 2020
Opinion: Algorithms used Day to Day
https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/
Reminding myself to also read through this book on algorithms which seems cool.
Wednesday, July 1, 2020
Amazon's CodeGuru
From another good article on Amazon's progress in the Tech World: CodeGuru
https://www.zdnet.com/article/aws-codeguru-is-out-ai-tool-checks-code-and-suggests-changes-to-save-you-money/
Learn more:https://aws.amazon.com/codeguru/
Friday, June 26, 2020
Amazon's HoneyCode
More References
https://aws.amazon.com/blogs/aws/introducing-amazon-honeycode-build-web-mobile-apps-without-writing-code/
https://www.honeycode.aws/
Wednesday, June 24, 2020
CIRA: Free Cybersecurity Courses
Wonderful that Canada cares so much about the new global, work-from-home culture that they are sharing these resources for free!
https://www.cira.ca/resources/cybersecurity/guide-how/free-cybersecurity-course-cybersecurity-practices-remote-workers
Cheers!
Monday, June 22, 2020
JetBrains releases report on The Developer Ecosystem 2020
https://www.jetbrains.com/lp/devecosystem-2020/
C# Specific Overviews
https://blog.jetbrains.com/dotnet/2020/06/16/developer-ecosystem-2020-key-trends-c/
Cheers!
Wednesday, April 15, 2020
Go for ML Infrastructure Engineering
Wednesday, April 8, 2020
Microsoft's Edge browser - 2nd Popular
https://9to5google.com/2020/04/06/microsoft-edge-popular-desktop-browser-report/
Sunday, March 29, 2020
GitHub Sponsors and The Future of Work
https://github.blog/2020-03-24-getting-started-with-github-sponsors/
Soon, people will be employed by contribution and we will no longer have the "packaged" salary or the hourly wage. Since online repositories like GitHub timestamps code committed, pushed, forked, etc., employers and potential employers can have more say over who to hire for certain parts of a project they will pay for. This sounds like a crazy idea considering how much effort goes into building a project with a team of individuals. How much crazier with an unaligned set of contributors where one might only be on the team for a few minutes and another for a few weeks? Well, if you consider how AI is on the rise, then this idea is not as crazy as some may think.
As I continue reading "The Future is Faster than You Think", I am growing my understanding of how to prepare myself for this future of work in a globally competitive society.
I wish you all the best as you continue to grow and prepare for our future, too.
Good Luck!
Thursday, March 19, 2020
Microsoft's Visual Studio 2019 v16.5 - now available
https://devblogs.microsoft.com/visualstudio/visual-studio-2019-version-16-5/
Why it's being released as "2019" in "2020", I have no idea and find it strange. I wonder if I should wait for a 2020 edition, lol?
Enjoy!
Wednesday, March 18, 2020
GitHub's mobile app - finally!
Anyhow, let's see how smooth this operates over mobile. Thanks, GitHub team!
https://github.blog/2019-11-13-universe-day-one/#mobile
Wednesday, March 11, 2020
Google's Machine Learning Training for Medical Image Data
https://ai.googleblog.com/2020/02/generating-diverse-synthetic-medical.html?m=1
Google's TensorFlow Quantum for Quantum Machine Learning
https://ai.googleblog.com/2020/03/announcing-tensorflow-quantum-open.html
Thursday, March 5, 2020
Microsoft's PowerShell 7.0
"Open-source, cross-platform and people seem to like it: PowerShell 7 has landed" - The Register
https://www.theregister.co.uk/2020/03/04/powershell_7_generally_available/
Friday, February 28, 2020
Microsoft's Road Map - Visual Studio
Yeah, I should have worked for Microsoft. #teamculture
Road Map - Visual Studio
https://docs.microsoft.com/en-us/visualstudio/productinfo/vs-roadmap
Microsoft's Blazor - Development Toolkit to build once for everything
Article
https://www.zdnet.com/article/ios-and-android-developers-microsofts-blazor-for-building-mobile-apps-gains-traction/
GitHub
I'm not sure if this is the official online repo for this toolkit, but seems like it.
https://github.com/Daddoon/BlazorMobile
More references
https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor
https://devblogs.microsoft.com/aspnet/mobile-blazor-bindings-experiment/
Monday, February 24, 2020
Microsoft for Startups
https://blogs.microsoft.com/blog/2020/02/13/microsoft-for-startups-unlocks-1-billion-in-sales-opportunities-for-b2b-startups-adds-github-and-microsoft-power-platform/
Top Browsers in 2020
- Firefox (Developer Edition)
- Google Chrome (for Developers)
- Opera (for Developers)
- Polypane - never heard of this but will now consider and test
- Blisk - never heard of this and am skeptical
- Safari - like for real, in 2020?
Reference
https://www.webdesignerdepot.com/2020/02/6-best-browsers-for-developers-in-2020/O'Reilly's 5 key areas for tech leaders
5 Key Areas - Article
https://www.oreilly.com/radar/oreilly-2020-platform-analysis/Rate of Change
- Biggest increase - Rust
- Biggest drop - Scala
Thursday, February 13, 2020
HBR on Locomotive Organizations
Monday, February 3, 2020
Google and OpenSK
https://security.googleblog.com/2020/01/say-hello-to-opensk-fully-open-source.html
Wednesday, January 29, 2020
Microsoft's Project Tokyo
First let me say that I'm in awe of how Microsoft is on the up and up with having so many software (and overall system) projects in progress. Usually I rarely hear about Microsoft and often hear more about Google or Facebook projects. Maybe even Amazon, but those are usually more hardware related.
Anyhow, I'm super happy to hear about this Project Tokyo! Another great project in the suite of wonder from Microsoft.
Read more from Venture Beat:
https://venturebeat.com/2020/01/28/microsofts-project-tokyo-helps-visually-impaired-users-see-with-ai-and-ar/
Reference
https://news.microsoft.com/innovation-stories/project-tokyo/
Tuesday, January 21, 2020
Microsoft's Project Verona - New Programming Language Research
Microsoft's New Programming Language - Project Verona
- https://www.zdnet.com/article/microsoft-opens-up-rust-inspired-project-verona-programming-language-on-github/
- https://github.com/microsoft/verona/blob/master/docs/faq.md
This is very interesting to see Microsoft "claim" continuing contribution to the development of Rust but research and develop its own new programming language comparatively to Rust.
Thanks to CodeProject for this update.