How not to ask a newly registering user for a password

CategoriesHomepage, Software Development
Found Tenet spies! These guys are moving backwards in time.

I find this astounding. I was just working on a workflow that deals with setting passwords, and we try to make passwords more complex, requiring special characters and a certain length. These guys (Fidelity, to be exact!) are moving backwards in time, restricting your password to only certain special characters and not others.

I see absolutely no good reason for this. If they are concerned with a sql injection attack, they need to solve that internally without sacrificing user experience.

Actually, after clicking through some of the other workflows on fidelity website, I couldn’t even click a “continue” button, and there was no error. Inspector said there is a 500 code response from the backend. Therefore I give Fidelity’s technical team a low rating of 2/5: not trustworthy. I understand that technology is hard, but also they have money to hire people, and they should really get on top of their own tech stack.

On naming (in software)

CategoriesHomepage, Software Development
This is a piece of a conversation that took place elsewhere, a commentary that I think people might find generally useful – therefore, I’m posting it here.

Just for the record, the reason `withassets` is one word (I understand it’s not very English) is because (1) “with” is one syllable, and (2) it’s a single token.

On counting syllables: I prefer names that are short, while still being descriptive. Previously, I named something “more notes” when some reviewers favored “additional notes”. Generally, I think 2-3 syllables is a good length for a name. Good examples: facebook, instagram, google, sprokets. Bad examples: wikipedia, asset pipeline.

On lack of underscores: an underscore is safer than a dash (which is a mathematical operation), but it’s still a special character that separates tokens. I saw a client database where table names were just a-z letters, no capitalization, no other chars. While other readers ridiculed that choice, I found it interesting. `withassets` is a sub-environment so to say, and it’s one thing. It’s not separable into “with” and “assets”. If there is ever a need to have `development_withcache`, `development_withssl`, splitting environment name by underscore clearly gives you the major and minor parts. Introducing an underscore in the middle of a token may require more complex parsing.

Deepfakes?

CategoriesSoftware Development

They were made illegal fairly quickly. A few Reddit subreddits were shut down over digital privacy violations as soon as they were created. Anyway, how does one get onto the deep fake train?

Turns out this is the software suite that’s used “95% for the time” for deep fake creation: https://github.com/iperov/DeepFaceLab

And here is a tutorial: https://mrdeepfakes.com/forums/thread-guide-deepfacelab-2-0-explained-and-tutorials-recommended

Of course, this is a reminder to myself as much as anything else, to go back to this and read up and do a trial run, when I have the time.

Good-Bye, Google

CategoriesSoftware Development
How I am planning on controlling the products and services I use more strictly.

Relatively I’ve gotten a new phone, a moto x4, and since I’m on Project Fi (by Google), this phone ended up being a Google phone, too. I only really got it for one reason: it has a dual rear camera, allowing me to take nicer pics. I can use that, for my Instagram. However! After 3 or so months of using it, I have to say I’m ready to give it up, and finally switch to an iPhone.

Now, why? The short answer is that I really really don’t like the Google assistant. It tells me when I get home, it tells me when my credit card is due, it knows everything about me. My photos are backed up (poorly) on Google cloud – so I can neither get them back easily, nor have any reasonable privacy. And I use google way too much. It has all my data and when I type in a search query in Chrome, it auto-completes it for me, so very often instead of searching for what I want I search for something else – the nearest-popular autocompleted sentence. I don’t feel comfortable with that at all.

Now, Google will still have my data, and true privacy is impossible to achieve. But I should make a conscious choice to at least attempt to mitigate the risk and the problem of privacy. Just look at how much trouble Google+ has been, or how much trouble Facebook has been! Oh, I quit Facebook quite a while ago, I have an account but I don’t rely on it for communication or any part of my social life. However, real tools like the email, calendar, and the physical sellphone are harder to own as private.

Another reason for me to dislike google is that they charged me $1800 according to some 5-year-old contract, because someone used some API keys that were under my name. I’m still recovering these monies, actually. Obviously nobody reads the contracts they sign, but also – let’s sign fewer contracts, and let’s actually avoid unnecessarily giving away control.

In general, I don’t feel comfortable how pervasive Google’s services are. I want to use it less, not more. So I’m in the slow, gradual process of abandoning google services. I feel that email may be the hardest to abandon.

Live Systems

CategoriesSoftware Development
Everything changes. And change works – life itself has proven that.

In technology, you would think that since computers are very good at repeating something very exactly over and over again, things in the digital world sometimes wouldn’t change… But they do. They have to. There is somethign called digital rot – everything rots if it doesn’t change. Relationships rot (try not talking to a close friend for a week), tools rot (who uses myspace anymore?), and if a digital offering doesn’t undergo continuous change, it gets left behind and dies off. So you have to change, and your products and services have to evolve, or be left to “die.”

What twitch.tv teaches us also is that a good media service has to be updated very regularly. Preferably every day. If something is not happening in a channel for a day, it’ll start losing popularity. So you have to continue innovating, continue generating content, and be more varied and precisely match what current trends are set by the market. It’s a hard job, but it’s the only way to survive (and prosper).

The good news is that if you are very new, if you’re just starting out, the continuous change aspect of things doesn’t disadvantage you, on the contrary! As something new on the field, your product/service has room to grow, you haven’t figured everything out so there is very much room for change, and change is often good. So it’s a natural way to level the playing field: the newcomers have this edge over the old-timers, in that the newcomers will necessarily change.