windows dictation

Ever since I broke my wrist I found myself exploring the tools available to minimize the need for actually typing. I am using Windows dictation right now to write this article and I think this will help others find the solution to this problem.

In case you are not familiar with this if you have a newer version of Windows just press the Windows button and H at the same time and you should see a microphone with a dialog box pop up. Speech recognition has improved immensely in the past couple of years so if it’s been a while since you’ve used one last I must say these tools feel like they have finally gotten to the point where they actually are useful.

Screenshot of windows dictation

Since I have been using Windows dictation more I found that sometimes when I activate it that it gets stuck at “initializing” and doesn’t work. This happens sometimes with almost any software running on Windows. It seems the solution is usually to either reboot your computer or if you don’t want to reboot it to open up the Task Manager with Ctrl-Alt-Del. When the task manager pops up, go to Processes and find the “Microsoft Text Input Application.”

Right click this application and select “End Task” then try and restart Windows Dictation with the Windows and H key. For further details you can go here.

I would like to add that this seems to be a fix for programs Windows similar issue where opening they just hang. Hey Microsoft, if you are listening, one improvement to Windows Dictation would be to have a quick key to turn the microphone to listen again instead of having to use the mouse to toggle it on and off!


Microsoft Clip Champ screenshot

I found out Microsoft’s Clipchamp is built into Windows 11. It is a simple way to record those video tutorials that have become so prevalent and a staple for so many YouTube channels featuring experts providing guided walk-throughs and other demonstrations that require sharing the screen. Anyone can start recording not only his or her screen, but it can also show the webcam in a box simultaneously.

Microsoft’s Clipchamp is also available on Windows 10 but you have to go to the Microsoft App Store and install it. It does appear that you have to have a Microsoft account in order for it to work. The link to get Clip Champ is here.

Microsoft Clip Champ screenshot

For those looking for a free way to at least start creating web videos, Clipchamp looks promising. I only wish I had learned about it earlier! You can make walk-throughs and other useful presentations and add a personal touch by also including you or your other talent on camera at the same time. Clipchamp certainly seems to offer a lot just for owning a computer with a new version of Windows. They do also have upgrade options and there’s more information on the download page.

There is also a lot more information on Lifehacker: https://lifehacker.com/windows-has-a-new-tool-for-simultaneously-recording-you-1849756054


“git dst refspec matches more than one”

You may get this error when pushing a commit to your repo.  The most likely suspect is that someone named a tag the exact name of the branch.  You can rename the tag or delete it and retry pushing the commit.

If you have a branch you typically keep open because it represents a very strict set of changes, like “Code_Cleanup” but you still want to tag the branches at logical intervals, add more details to the end of the tag.  I’ve seen some serialize the number or just append the date but either way avoid creating a tag name the same name as the branch unless you are sure the branch is going to be retired.


This comes in handy as Doctrine doesn’t always support all native MySQL commands and functions.  Strangely, certain common time and date-related ones like YEAR(), MONTH() and DAY().

The $paramsArr is an array for all placeholders in your standard PDO query.

// Symfony raw queries with placeholders.
// Example query:
$query = "SELECT * FROM users WHERE status=:status
              GROUP BY last_name ORDER BY last_name ASC";
$paramsArr=array('status'=>'Active');
$stmt = $this->em->getConnection()->prepare($query);
$stmt->execute($paramsArr);
$resultsArr=$stmt->fetchAll();

.NET Logo

Microsoft has come a long way with .NET, ASP.NET and C-Sharp, to say nothing of Azure Dev Ops and all its free and powerful tools they’ve made available. Gone are the days of the “not invented here” mentality and here to stay is Microsoft’s renewed commitment to not just .NET developers, but to the software community in general. No longer do I feel Microsoft looks at my PHP/Python/MySQL/MongoDB open source credentials with disdain.

Suddenly there’s been a sense of a lot less scheming to try to “convert and lock-in” and more just putting product out there to let free people freely decide. Microsoft’s stock price, in my mind, has skyrocketed. Along with making Visual Studio 2019 more capable, powerful and free, they have shown a renewed commitment in their acceptance and slow, soft-walk into the Open Source software ecosystem. The giant has turned to face the world with a friendly, welcoming smile instead of an adversarial fist, as if opening its arms, ready to call a truce as it (in my mind) finally came to the realization that it stands so much more to gain if it stops fighting two-thirds of the software community and joins it as a citizen with a common goal with a win-win mentality.

I have had a love/hate relationship with Microsoft since I bought my first PC, an IBM PC Jr, with the money I saved up with my paper route and mowing cemeteries in Essex Junction, Vermont. In full disclosure, I have accumulated stock in Microsoft because I have believed in their products and long term growth. Second to Autodesk as my favorite software company, being another small name in their massive list of shareholders they don’t know me and I wouldn’t pretend they would nor would I expect them to care. However, I will say despite the fact that I have been a loyal PC Windows user going on four decades, when it comes to making systems and websites for businesses, I’ve been a Linux guy for about 20 years without regrets.

Speaking from my own perspective with some authority, when I shifted my career from agency work where I was a business-building consultant, media producer and marketing strategist to software and web development, Linux solutions were the only feasible option for most of my clients and employers. For two decades I have made many different kinds of business systems, including ERPs and custom programs along with countless websites and other software products for many freelance clients and employers over the years. For many of the owners and leaders of these companies, there was seldom any serious debate to consider developing any new systems in Microsoft and .NET, though there were many discussions about how to free themselves of their current dependency on it.

In the past, Microsoft’s perceived attitude and treatment of smaller businesses kept many small businesses away, a major reason I stayed firmly manning the mostly PHP & MySQL ship for so long. Many small business owners begrudged Microsoft or simply couldn’t afford to move to .NET while others found they couldn’t afford to stay on Microsoft.

To stay relevant and current, I have been studying .NET, ASP and C# these past two years and I have picked up other skills and worked in other languages like Python/Django and a little Java, but since behemoths like WordPress and Drupal are PHP/MySQL based that was where the demand was for over a decade. With the help of Zend, Laravel and Symfony PHP frameworks, up to only a few years ago PHP dominated the thriving web landscape.

For the web, it used to be an almost binary choice between PHP and .NET. Now, the competition of .NET and now NodeJS based systems seem to inundate the software development job boards as PHP appears to be waning faster than the tested and mature language deserves. After all, many government agencies still require certain systems run on Drupal due to its reputation for excellent security, as is .NET.

Unpredictable fees aside, there were other reasons why I stayed firmly manning the mostly PHP & MySQL ship for so long. Could I have steered my employers, some fairly large businesses, to Microsoft platforms, servers, SQL databases, and .NET over the years? Probably, but assessing the landscape and alternatives at the time, it wasn’t a hard decision for them to make – they all deemed that it was not worth the risk to change.

Since the late ’90s Microsoft’s attitude and treatment seemed to border on contempt of smaller businesses and made decisions that kept many of my clients and employers away. Their “exclusive club” attitude along with the uncertainty of their licensing fees helped sustain the reciprocal animosity towards them. Microsoft’s quick turn of late towards embracing the Open Source approach has been viewed with skepticism, but to me it’s competition working out the bugs and throwing out old paradigms. It’s the system at work, ever optimizing the different cogs, reducing friction and bottlenecks in its own way. Not the smoothest, not the most optimal or ideal, but real world optimization of systems are seldom predictable, clean and linear, but at least it’s happening! In a way it’s like why we test so much code before it gets into production, and even then there’s always a need for improvements.

Though for Microsoft especially that “common goal” as a “citizen” I mentioned earlier is an amalgam of many smaller goals, including its own self-interests, at least they are accompanied with recent very generous contributions to the open source community. No matter what their motives are, to me at least, Microsoft has finally grown up. There are bullies in the schoolyard and there are adult bullies and instead of trying to be the bully in the playground and the boardroom with the “Us against Them” posture, it has humbly stepped down from its elitist “our way or the highway” thinking and joined the ranks within the greater software community. Its slow walk became a run in 2017 as it really started to change its attitude and tone, accepting competing solutions and paradigms, partnering and working along side and (dare I say) embracing other libraries.

Their attitude of “not invented here” has morphed these past ten years, albeit slowly and painfully, into “don’t reinvent the wheel.” In a way, Microsoft is finally applying logic and more concrete software development principles to their own products and business. “DRY” – Do not repeat equates to “don’t reinvent the wheel.” I have taken notice of Microsoft’s new commitment to providing the best products to get the job done and its peace offering towards the Open Source community. In turn, I will consider recommending .NET and ASP as a viable solution to those who may benefit.

Should any developers want to look into transitioning to .NET or if you are interested in just learning more about software development, Microsoft has a treasure trove of free resources available now more than ever before. On a side note, I highly recommend IamTimCorey.com and his excellent and thorough tutorials of all things C# and .NET. This man is an experienced master whose videos and guided tours I highly recommend watching, following, and practicing.

Before Microsoft made these seismic changes they were generally seen by many in the open source community as a monolithic, close-minded exorbitant license fly catcher where once you were ensnared there was no escaping. I know like any giant corporation they have a duty to their shareholders and Microsoft has their ulterior motives. I am aware that in the end they will profit more if more of us software and web developers, uh… embrace them. But that’s okay with me as long we all get the best Return On Investment, something many people I’ve worked for in the past couldn’t seriously justify for many major projects and systems in the past.