Copyright 2017-2018 Jason Ross, All Rights Reserved

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

When you create a user in an AWS Cognito user pool using the AdminCreateUser API action, the email address you provide is not automatically flagged as verified. None of the lambdas that are called by other user creation or sign-up methods get called either. Why is this?

Without a verified email address, users cannot change their passwords again after changing from the temporary passwords that are assigned when the account is created. This isn't really too much of a problem, and the answer is even mentioned in the AWS documentation - either set the email_verified attribute to True in the call to AdminCreateUser, or use AdminUpdateUserAttributes to do the same thing.

However, when you follow the instructions and set the email_verified attribute of a user to True, you may see that the email_verified attribute of another user has been set to False, and the user is no longer verified, This happens even though you didn't tell Cognito to do anything. Why does it do this?

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Sometimes you go away on vacation, then return to work and realize you've forgotten your password. Typically if you're working for a big company, you contact the IT department and they can help you. They'll usually reset your password and, if you're stuck at the login screen and can't reach your email, they'll tell you what the temporary password is while you're on the phone. That's usually enough to let you log on to your computer once, and immediately change the password to one that only you know.

But what happens if you're using an authentication system that doesn't let administrators reset passwords to a known value, something like, say, Cognito? If you need to reset a password to a known value for a user in a user pool, you've got a problem.

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

Applications and Systems

One of the worst things you can do with a system is let everyone have access to every part of it. If you do, people tend to mess around and “investigate” parts of the system they shouldn’t. They may accidentally delete something they shouldn’t. They may be tempted to access data they have no business going near, and by doing any of this they may make the company liable for any number of data-related legal problems.

Faced with this problem, you might decide to implement a system of permissions on your system, where each user is granted access to the parts of the system they need to access for their job.

Publishing An Article On Joomla
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

So, you need a web publishing system and you've decided that WordPress is just too mainstream, so you've gone with the extra functionality of Joomla. Welcome to the club!

Of course the extra flexibility brings some extra complexity, but it's nothing that can't be overcome and it will result in your having a great site. In the rest of this article I'll assume that you know about as much about Joomla as I did when I started this site, which is pretty much nothing.

Programming Languages - They're Just Tools

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active

When you start out as a software developer it's easy to get fixated on one particular language. It might be the first language you learned, or the first you used professionally, but you'll probably form a serious attachment to it. You might view this language as perfect, or at least much better than any other, and you'll tend to use it for pretty much everything you need to do.

After a while though, you'll start looking around at other languages and seeing why other people think they're good. Initially you may think they're nowhere near as good as your favourite language, and stick purely with your own. This is really the wrong approach.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

A while ago my laptop decided that it wasn't going to download and install Windows Updates in the background any more. I tried to open the Windows Updates window and all it said was that the service could not be started. I decided to dig around on the web and was unsurprised at the number of "Try stopping it and starting it again" suggestions, as well as "Switch off your anti-virus", all of which were useless.

A little more digging led me to the right way to fix it...

Bins - Commented Code Goes in The Black One With The Other Garbage!
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Looking through your system’s source code, you’ll almost certainly find code that’s been commented out without being deleted. This might strike you as an odd thing to do, and it is. Why would anyone clutter up their source code in this way?