May 18, 2022

Confusing Windows Hello Setting Prevents File Sharing between Windows 11 to Windows 10

Filed under: Software Blog, Windows 11 — marcstober @ 11:38 pm

I recently bought a new Windows 11 laptop. Yay! I need to keep up with the latest and greatest.

In the process of setting up my new laptop, I needed to transfer files from my old laptop. I ran into a problem, and eventually fixed it, but didn’t find any solution online, even though the solution ultimately made sense after interpreting the meaning of a confusing setting. I’m sharing my solution here for the benefit of anyone else searching for this.

File Sharing between Windows computers (at home, not involving any professional or server version of the operating system) is always a bit wonky. In addition to sharing the folder, you have to ensure you’re in a private network and turn on Network Discover and File Sharing. You can find explanations of that on the Internet; none of that is new.

However, I kept getting messages that “The user name or password is incorrect” when I tried to connect from the Windows 10 computer to a folder shared on the Windows 11 computer. (I had previously had a share working the other way—with the Windows 11 computer accessing files on the Windows 10 computer.)

Not wanting to overthink this, I thought, maybe I am putting in the wrong user name and password. Recent versions of Windows like to tie the user name and password for logging on to the computer to an online Microsoft account, which makes for some confusing because there’s not simply a user name and password that you set on the computer that is sharing the files. I thought I should at least try to log in to the computer with my user name and password to ensure that, at least, that user name and password I was trying really did work for local logins.

But, it turns out, you can’t just log in to a Windows 11 computer with a user name and password! At least not how it’s configured “out of the box.” Once the computer is connected to your Microsoft account, you can only sign in with Windows Hello, which is Microsoft’s brand-name for the ability to use face recognition or a fingerprint reader (depending on your hardware) or a PIN to sign in. I thought I’d try disabling the face recognition and PIN, but discovered I couldn’t. Searching for solutions to that issue online, I found that this issue was a setting called “For improved security, only allow Windows Hello sign-in for Microsoft Accounts on this device (Recommended).”
I’d seen this setting before in my troubleshooting, and in addition to not wanting to mess with something that was “For improved security,” I misunderstood what that mean. I read is as: IF the account is NOT a Microsoft account, THEN do NOT allow Windows Hello. The correct reading is: IF the account is a Microsoft account, THEN allow Windows Hello ONLY—i.e., do not allow logging in with a password.

Well, now, this kind of makes sense. If using a password isn’t allowed, then it makes sense that connections with my password were being rejected. However, I don’t see any way to share files between two home versions of Windows on a home network without passwords; maybe this is something Microsoft will implement in the future. Indeed, changing this setting allowed the file sharing to work!

I couldn’t find a lot of information on this setting online, in particular I couldn’t any official Microsoft documentation, but I did find one article from bruceb consulting about it. After reading that, I do see that searching for “passwordless” brings up Microsoft’s passwordless strategy and even a redditor running into a related problem.

Hope this information helps someone!

January 16, 2019

Does the Facebook Page Plugin need an App ID or not?

Filed under: Social Media, Software Blog — marcstober @ 12:20 pm

A while ago I set up the official Facebook Page Plugin on a WordPress site I help manage for Beantown Jewish Gardens, a small nonprofit.

At the time, Facebook seemed to want me to sign up for an App ID to do this, so I did, even though adding some Facebook code to our site hardly felt like an “app”. The App ID is included in the code you add to the page to use the Page Plugin.

Recently, Facebook has changed their rules and requires Apps to go through a review process regarding use of personal data, privacy policy, etc. This morning, I got a developer alert from Facebook that they had removed permissions from the my app because it failed review. Of course, the things is failed review for was wanting to access personal information that I wasn’t accessing and didn’t want to access—I just wanted the Page Plugin to show up on our site. And the Page Plugin was still showing up on the site just fine.

Looking further at the documentation for the page plugin, I found some conflicting information. While the FAQs said that an App ID and review is not required, when I went to the place where you can grab the code to put in your page, it forced me to choose an App ID:

Eventually, I had the idea to open the same page to generate the code in a Private Window in Firefox, so Facebook wouldn’t know it was me. Behold, it now generated the without making me choose an App ID–actually, in this state you wouldn’t even know that was a possibility! (I’m also wondering if I was the Admin of the Facebook page if I might have had some different options while logged in.)

So, I guess I don’t need an App any more after all. It would be nice if Facebook could just keep this more simple and stable in the first place but I guess that’s not the world we live in. 😐

In the end, it was a one-line code change to remove the App ID. I also thought about going back to a WordPress plugin to handle this for us—there had been some reason I didn’t do that at one point in the past, but maybe there’s a good option now (this one?). (Note that while it’s called “Facebook Page Plugin” it’s not a “plugin” in the WordPress sense.)

Anyway, I didn’t find any information on this specific issue on the web so I figured I’d put these notes up on my blog in case anyone runs into the same issue.

October 9, 2017

Retiring the More Bookmarks Toolbar

Filed under: Software Blog — marcstober @ 9:46 pm

Once upon a time, when web browsers did a lot less than they did today, and Google Chrome wasn’t yet a twinkle in Alphabet’s eye, Toolbars were a thing. You could install a Toolbar (such as the Yahoo! Toolbar) into Internet Explorer and get features like a search box, notifications, the ability to store bookmarks in the cloud, and even tabs back before browsers did all these things.

A few years ago I built a Firefox extension to “scratch my own itch” and add a second row of bookmarks to the Firefox UI, and it used this same functionality the browser provided to allow adding a toolbar. I called it the More Bookmarks Toolbar. It has had a four-star review average, over 5,000 downloads and over 500 current users as of today. I was pretty proud of it.

Well, things never stay the same in technology. The current version of Firefox (56) broke the toolbar and the next version (57) is not going to support toolbars at all, in fact all of the add-on functionality that used to distinguish Firefox is being dropped in favor of a new extension API that is harmonized with other browser (i.e., Google Chrome). I guess this is what Mozilla needs to do, but unfortunately I’d need to do a completely rewrite of the Toolbar and it wouldn’t even be able to work the way it did before.

In addition, the Toolbar is no longer a part of my daily workflow and I’ve changed focus to other things professionally both inside and outside of the software industry so I don’t have time to work on this. So, sadly, I’m going to retire the More Bookmarks Toolbar; I’m not planning any more versions and it’s not going to compatible with Firefox 56 or later.

The code has always been on Github so anyone who has the developer skills to make use of that it welcome to try to keep it working.

To all of you who have used, reviewed or commented about the Toolbar have been important, thank you for your support and I’m sorry to say goodbye.

July 14, 2016

Not .NET

Filed under: Personal Blog, Software Blog — marcstober @ 7:10 am

Yesterday I got an e-mail from a recruiter; I get these pretty typically:

I came across your resume in a file of ours…. I am not sure if you are looking around anymore or not but I just partnered up with the company searching for a .NET engineer…

I am long over identifying as a “.NET engineer.”

Let me tell you how I got into this business. First, I taught myself Perl from a book—back when Perl was cool! Then, I taught myself Microsoft Access from book, and also from learning relational databases from the academic side in graduate school. With that I became a citizen developer, learning the programming language that came with Access, Visual Basic for Applications (VBA). I leveraged that experience into jobs that required more serious development on the Microsoft stack, first in Visual Basic 6 and then in C# with the advent of .NET.

C# in particular is a great language and Microsoft despite all the criticism they’ve taken has made some great software. But while I’ve made actual money using Microsoft technologies, I’ve always envied the cool kids working on a LAMP stack or Plone or Django or Ruby on Rails. That is where this work becomes an art form. Or building iPhone apps.

Over the past few years I’ve gotten back to what first got me into technology in the ’90’s, web development. And, finally, I’m at a job where I’m not at all a Microsoft developer; I’m still running IIS but, conspicuously, without ASP.NET.

So no, I’m not interested in your old resume on file that says I’m a .NET Developer. Besides which if you can’t even look me up on LinkedIn and see what I’ve been doing since I talked to your agency ten years ago you’re not a very good recruiter anyway.

Oh, and that first database was to track custom imprinted B’Kol Echad orders. So that I was ever a Microsoft-stack developer was all caused by that other domain I am still passionate about.

March 6, 2016

Compiling aacgain (an exercise in Open Source software archaelogy)

Filed under: Software Blog — marcstober @ 12:07 pm

So I found a lecture that had been recorded and posted online that I wanted to listen to.

The only problem, is, it was very, very, quiet. I had to turn up the volume all the way to hear it all all, and still could barely hear it; not to mention that I almost damaged my ears when I changed to listen to something else.

So, being me, I went looking for an open-source tool that could modify the volume of an audio recording. I found some references to mp3gain, but this was an M4A file which is (basically) an AAC file. It also turns out there is something called aacgain. But what I was finding was source code, which I don’t usually bother with.

Nevertheless, I downloaded and tried to compile it. I was able to compile mp3gain easily, so I was encouraged. aacgain, which I really needed, was more complicated. But, I dug in, and after downloading various things from SourceForge and Google Code, and combining that with an existing copy of the core mp3gain code to Github, I was able to get aacgain up and running.

I say this is an exercise in software archaeology because this useful software was written several years ago and hosted on sites that are no longer the go-to places for open source code. There was a bit of fiddling required to get them running on a modern system. In the end, though, this is one of the promises of Open Source; you’re free to find something useful that no one is actively maintaining and get it working again yourself. It’s not just about the cool new stuff–something old and unmaintained, if Open Source, can still be valuable.

I’ve placed all the source code I cobbled together back in a Github repository for the benefit of anyone else who can use it.

Now off to listen to that lecture!

January 7, 2016

grunt.file.match and grunt.file.isMatch Do Not Access File System

Filed under: JavaScript, Software Blog — marcstober @ 10:05 am

While trying to improve my team’s grunt scripts, I spent a while stuck trying to figure out why grunt.file.isMatch wasn’t working.

I was expecting this to be like a fancy “file exists” check, that would take some pattern and looking in the current directory and subdirectories (as specified by my globbing pattern) to tell me if the file exists. And I couldn’t figure it out, especially since there were two arguments, “patterns” and “filepaths”.

Ultimately, I looked at the source code and figured out I’d gotten in all wrong. Despite being methods of the file object, “match” and “isMatch” don’t look at anything in the file system. They’re just string pattern matching operations: completely deterministic functions that match “patterns” against”filepaths”.

What I’d really wanted to do was something like:

if (grunt.file.expand(“my-dir/**/*.js”).length > 0) { …

Posting this so hopefully the next person searching the web for a solution to the same problem finds this and doesn’t get stuck like I did!

June 15, 2014

My Real Claim to Fame

Filed under: Personal Blog, Software Blog — marcstober @ 10:35 am

In 2009, I answered a CSS question on StackOverflow about word-wrap in an HTML table.


5 years later, almost every time I go to the site, I am greeted with new reputation points from people upvoting my my answer. I now have a reputation of 3,602 which the site tells me is in the top 10% overall! My answer, which is the top answer to the question, has been benevolently edited and commented upon and the question protected due to its popularity.

I got lucky. If I had this problem I wouldn’t know the answer today and would go looking for the answer on StackOverflow. Even if someone asked the question today and I did know the answer, someone else would probably answer it before me. I just happened up on an unanswered question to which I’d just happened to figure out the answer in some other work I was doing.

The significance of this is that figuring out these little technical details of user interface implementations really is how I make my living, and it’s also how I leave the Web a little bit of a better place than I found it. As my tagline says, repairing the world, one byte at a time.

(For those who aren’t familiar, StackOverflow is a hugely influential online question and answer forum for computer programming questions. I like to say, only half jokingly, that my job as a software developer isn’t really about knowing how to do anything but about knowing how to find the right answer on StackOverflow.)

June 1, 2014

Who’s Social Now?

Filed under: Business, Consumer, Jewish Organizations, Parenting, Social Media — marcstober @ 2:41 pm

So this was an interesting tweet:

There are times when I wish the religious organizations I’ve been involved with would take some marketing lessons from the retail world. But, sometimes, we should value what we’re doing better: community and social stuff. I mean, the Jewish world is in the business of giving people a way to find community and social on Friday night as we have been for thousands for years. Businesses trying to add community and social features to their website are WAY behind at what community really means.

Indeed, I came across this tweet because I was ordering labels for kids going to summer camp. I am going to let the nonprofit Jewish summer camp meet some our family’s needs for community and social. Try as they might, the e-commerce company trying to be social seems a little forced. But they probably make good labels.

September 12, 2013

One of these EMRs is not like the others

Filed under: Health, Software Blog, Usability — marcstober @ 10:58 pm

winner-thumb healthhub-thumb runner-up-thumb

Above are three thumbnail screenshots of prototype medical applications.

One of them is the winner of a White House competition, winning thousands of dollars and influencing the EMR of the huge VA medical system.

One is a problem-oriented medical record and the runner up.

One is a prototype I designed as part of an Innovation Team project while working at Partners. (We didn’t win a White House award. I guess we were ahead of our time.)

June 28, 2013

Announcing the Release of My First Firefox Extension: More Bookmarks Toolbar

Filed under: Software Blog — marcstober @ 2:53 pm

Announcing the release of my first Firefox Extension: More Bookmarks Toolbar.

Add a second bookmarks toolbar to Firefox, with a separate set of bookmarks.

For example, use it at work for a separate set of bookmarks that only work on the corporate intranet. You can still use the regular bookmarks toolbar for personal sites, and hide and show either or both. (And with Firefox Sync, keep them consistent across my home and work computers.)

See its page or download from

The source code is on Github.

Next Page »