While working on an AI-related app recently using vectors, I found myself with a 115MB file in my repository. While attempting to push to GitHub, I got an error in GitKraken about a hook failing. I didn’t have any hooks locally or remotely, so the issue was a bit perplexing. After trying a few things, I resorted to command-line Git, and that’s when I saw the problem.
GitHub blocks files larger than 100 megabytes. They recommend using Git Large File Storage, but I decided maybe I shouldn’t be adding large vector files into my repository anyway.
I’ve got a confession to make. I miss buttons. You know, the kind in cars, where you press one and something actually happens. No swiping, no squinting, no guessing if you hit the right part of the screen. Just good old-fashioned, satisfying, clicky buttons.
Remember when touchscreens started becoming a thing in cars? There was this sense of “Wow, it’s like driving in the future!” But after the novelty wore off, we were left playing a dangerous game of ‘Whack-A-Mole’ on the highway. You just wanted to adjust the fan speed, but instead found yourself in a high-stakes game of find-the-menu, all while keeping an eye on the road. Not exactly the stress-free driving experience we were promised.
Picture this: It’s 3 AM, and you’re staring at your computer screen, bleary-eyed, as you struggle to solve that pesky bug in your code. You can almost feel the weight of the digital cobwebs piling up on StackOverflow as you sift through outdated answers and snarky comments. But what if I told you that the days of scouring through StackOverflow’s seemingly endless abyss might be numbered? Enter ChatGPT, Google Bard, and a whole new breed of AI-powered chatbots revolutionising how developers find answers to their coding conundrums.
Rate limiting is a crucial aspect of building scalable and secure web applications. It helps prevent abuse and ensures the fair usage of resources. In this blog post, we will explore how to implement token bucket rate limiting in a NestJS application with a reset interval of 24 hours.
What is Token Bucket Rate Limiting? Token bucket rate limiting is an algorithm that controls the rate at which a system processes requests. The main idea is that a fixed number of tokens are added to a bucket regularly. When a request arrives, a token is removed from the bucket. If there are no tokens left, the request is rejected.
Remote work, or working from home, has become increasingly popular. With the COVID-19 pandemic, remote work has become the new norm for many employees. However, remote work had gained traction even before the pandemic due to its numerous benefits.
While remote work has many benefits, it’s important to note that it may not be suitable for every job or company. Some jobs require in-person collaboration or access to specialised equipment only available in a traditional office setting.
In the past year, a surge of AI tools has hit the market, with many identifying as AI startups. The advent of OpenAI’s ChatGPT, including GPT-3.5 and GPT-4 models, has revolutionised how we interact with technology. However, amidst this excitement, a trend needs addressing: the phenomenon of “API wrappers” masquerading as AI startups.
While it’s true that many of these products utilize the power of OpenAI’s GPT APIs, it’s essential to take a step back and consider the implications of relying solely on an external API for your business. Does wrapping GPT APIs and selling a service based on them warrant the label of an AI startup? Let’s take a closer look at the potential downsides of this approach.
The end of Succession is near its fourth and final season. Arguably, one of the greatest TV shows in recent years. A perfect mixture of comedy, drama and suspense. After the emotionally charged second last episode, “Church and State”, fans are left to guess how they will end the show.
Oh, also: spoiler alert. Stop reading if you haven’t seen season 4 or are behind.
Things are shaping up for the finale after the funeral episode featuring an incredible performance by Kieran Culkin (give the man an Emmy already). We saw Roman completely break; after saying he had already “pre-grieved”, he fell apart. This pinnacle moment of the episode saw the threads of power unravel.
If you’ve ever found yourself knee-deep in a pile of asynchronous Fetch API calls, you’ll understand the desire to have a method for controlling them — something akin to a dog whistle, but for your code. Enter the Fetch API’s Signals. And no, they’re not Morse code, semaphore flags, or even smoke signals. They’re a mechanism to control our fetch requests but with more grace and finesse than just shouting “STOP!” at your screen.
It’s no secret that artificial intelligence is booming. With the advent of ChatGPT in 2022, AI is becoming a hot topic. Naturally, many developers are also increasingly interested in building with AI, and there is no shortage of resources to learn from and reference.
There are a couple of glaring roadblocks of sorts right now. Most AI tutorials and resources are focused on Python and vector databases like Pinecone or Supabase PostgreSQL. These are great options, and I recommend learning them, but what about the TypeScript/Javascript and Node.js crowd who wants to experiment?
In this blog post, we’ll create a simple TypeScript module for parsing Vehicle Identification Numbers (VINs). VIN is a unique 17-character code the automotive industry uses to identify individual vehicles.
To get started, we’ll need to install TypeScript and Jest:
npm install typescript jest @types/jest ts-jest Next, configure Jest to work with TypeScript by creating a jest.config.js file:
module.exports = { preset: 'ts-jest', testEnvironment: 'node', }; Now, let’s write the TypeScript code for parsing VINs. Create a file named vinParser.ts: