It’s been well over a decade since I started my journey as a front-end developer. I’ve worked on numerous projects, built and maintained websites, and developed applications. I have numerous open-source projects and am on the Aurelia Javascript framework core team. Over the years, I’ve gained experience and learned a lot of things, but there are still times when I feel like I don’t know what I’m doing.
I know I’m not alone in this. As developers, we face a lot of challenges, big and small. From dealing with complex algorithms to fixing simple bugs, obstacles always exist. But despite my experience, I still get caught up in stupid bugs, struggle to install and configure packages and spend hours stuck on things that ultimately have simple solutions.
TypeScript is a statically-typed superset of JavaScript introduced by Microsoft in 2012. It’s a language that some developers love to hate, but over the years, TypeScript has won over many sceptics, becoming an essential part of many modern JavaScript projects.
You now have developers that once hated TypeScript liking it. Perhaps one of the most known developer advocates to get their TypeScript stance wrong was Eric Elliott, who published an article where he discusses a TypeScript tax. To Eric’s credit, he doesn’t say not to use TypeScript but attempts to argue against its use.
The widespread tech layoffs over the past few months, and in January and February 2023 alone, have been causing concern for some. Is it a sign of a possible recession and economic avalanche that will see the unemployment rate skyrocket in different countries?
I am not an economist, so this is just more observational. But, I don’t believe the widespread tech exodus we are currently witnessing is symptomatic of an economic storm battering down on the tech sector. It’s a correction.
Just when you thought the return to office movement was gaining momentum, driven by high-profile companies and out-of-touch boomer CEOs that struggle to adapt to the new paradigm of flexible working, it appears there might be a few bumps in the road.
Some data has come out on productivity from the U.S. Bureau of Labor Statistics since some workers have been forced back into the office, most notably showing that productivity has decreased.
Since taking the helm of Twitter, Chief Twit and manical entrepreneur Elon Musk has ruffled some feathers. From losing advertisers to claims he asked engineers to boost his popularity on the platform, it has been a wild ride.
The latest wild ride is Twitter has announced two factor authentication using text messages will be a Twitter Blue only feature. There is this image circulating and people are upset.
Is Twitter disabling text message two-factor authentication a security threat? Well, it is if you don’t configure something else in its place. Install Authy and spend the 2 minutes configuring it. Problem solved.
After a lengthy free period of constant downtime and unreliability, ChatGPT has opened up its paid Plus plan to more people and wanting to see what the difference was between Plus and free, I signed up.
For some, USD 20 might be too much to reconcile in this current economic climate. If you use ChatGPT as part of your daily tasks like some do, then $20 might be pretty valuable. If you’re a hobbyist user or just curious, $20 might be a cost you’ll have to weigh against your coffee budget.
Password generation is something you’re hopefully using a password manager for these days. However, you might not be aware that modern browsers support some great crypto features.
In this quick little tutorial, we will use the Crypto API to create a strong password generator. The code is remarkably simple, and you can adapt this to generate unique values for games and other purposes besides passwords.
/\*\* \* Generates a random password of the specified length. \* \* @param length The length of the password to generate. \* @returns A Promise that resolves to a string containing the generated password. \* @throws An error if the length argument is less than 1. \*/ const generatePassword = async (length: number): Promise => { if (length < 1) { throw new Error('Length must be greater than 0'); } // Create a new Uint8Array with the specified length. const buffer = new Uint8Array(length); // Get the browser's crypto object for generating random numbers. const crypto = window.crypto || (window as any).msCrypto; // For compatibility with IE11. // Generate random values and store them in the buffer. const array = await crypto.getRandomValues(buffer); // Initialize an empty string to hold the generated password. let password = ''; // Define the characters that can be used in the password. const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; // Iterate over the array of random values and add characters to the password. for (let i = 0; i < length; i++) { // Use the modulus operator to get a random index in the characters string // and add the corresponding character to the password. password += characters.charAt(array[i] % characters.length); } // Return the generated password. return password; }; As you can see, the getRandomValues method does all of the heavy lifting here for generating our password. We also define what characters are allowed in our password, allowing us to remove ambiguous characters if we wish.
There are more methodologies than you can shake a stick at. All promise to streamline your workflow and deliver quality software, many of which leverage the same old approach to work: estimation and timelines.
I am not saying that timelines need to be replaced entirely. Because they are a necessary evil. However, in my experience, most companies putting deadlines on features and projects use arbitrary figures, not for a valid reason.
Samsung is making yearly phone upgrades obsolete. I used my beloved Galaxy Note 10+ Plus until its dying breath. Even when the charging port failed and could only be charged wireless, I persisted until one day; it refused to charge.
I have been using the Samsung Galaxy S21 Ultra for the last couple of years. It’s no Note, but it’s one of the best phones I have ever owned. Even now, the hardware specifications of the S21 hold up against newer devices.
The ChatGPT tool is possibly part of your everyday workflow. I’ve been using it for research purposes and as a writing assistant, where it thrives at. However, one of the issues with ChatGPT is that it has a limitation on its response length.
You write in a prompt, and ChatGPT starts generating its response. All of a sudden, it stops. I hope OpenAI one day increases the response limit because, besides the fact, there is a way to fix it, it’s still frustrating.