Stanna-samtal kan få de bästa att inte gå
På många arbetsplatser har man ”exit-samtal" när medarbetare slutar. Satsa på ”stanna-samtal “ istället.
The online whiteboard of Kristofer Palmvik
På många arbetsplatser har man ”exit-samtal" när medarbetare slutar. Satsa på ”stanna-samtal “ istället.
Här kommer ett konkret exempel på hur AI gör innehållet mer tillgängligt och sju andra idéer där det kan hjälpa oss.
This is your creation. It’s your expression. It should reflect you. Bring back personal blogging in 2023. We, as a web community, will be all that much better for it.
wretch is a small wrapper around fetch designed to simplify the way to perform network requests and handle responses.
Turn your unstructured customer research recordings into actionable findings in minutes with automatic transcription, question detection, shareable highlights, and customizable tagging.
The following steps will guide you through the setup of automated npm package releasing
Containers!!! Look at all these containers
Best practices, Common conventions, Proven principles, and Reliable standards. I’ve spoken on this topic in the past, referring to it as "the holy grail of UX," the "UXers super power," and the first resource out of any UXers toolbox.
Can you just... try something and see what happens? The way a curious kid does. Just mash some stuff together and watch it play out. A fun experiment, rather than a fraught Very Important Decision on which rests the rest of your future.
Prompting AI tools to produce quality marketing assets is a new skill combining art and science. Here are some examples:
Engineers have started to develop new ways to detect whether text has been written by ChatGPT or another AI text generator. Here are three detection tools you (or your college professor, or your boss, or your editor) can use right now (or very soon).
The Atlantic’s model also means the paywall can be shown to readers who are more likely to subscribe (and not so often for those unlikely to open their wallets), as opposed to its previous metered paywall which readers hit after a few articles, regardless of who they are.
2023 as the year where news product teams are no longer a trend and become an essential function in publisher’s organisations. This intensified product focus will lead to a world of change in news product approaches in 2023.
Anxiety related to deploys is the single largest source of technical debt in many, many orgs. Technical debt, lest we forget, is not the same as "bad code". Tech debt hurts your people.
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project.
This project is intended to capture, share, explore, and debate the patterns and practices being used in serverless production applications today.
A curated list of software and architecture related design patterns.
Many product teams do research, but don’t take the critical steps of synthesizing and disseminating learnings. They either fail to convert information into knowledge, or that knowledge stays trapped within the pod and doesn’t help educate the broader product / engineering / design org.
A deep dive into the evolution of frontend build tools and techniques. Understand the challenges of serving large interactive frontends.
The best developer experience for load testing
If you consume things, you might want to trust something more reliable than your short-term memory to hold onto some of them. And that’s where capture comes in. This is the collection of methods I use to capture and remember everything I consume.
Let met tell you the story of a company that had problems with their code quality, and solved it the Corporate way ... well, ehum ... "solved."
MusicLM, a model generating high-fidelity music from text descriptions such as "a calming violin melody backed by a distorted guitar riff". MusicLM casts the process of conditional music generation as a hierarchical sequence-to-sequence modeling task, and it generates music at 24 kHz that remains consistent over several minutes.
MJML is a markup language designed to reduce the pain of coding a responsive email. Its semantic syntax makes it easy and straightforward and its rich standard components library speeds up your development time and lightens your email codebase.
Shipping a feature does not equal success. Changing customers’ behavior in measurable and positive ways is what leads to success. Luckily there is another way.
I vårt CMS har vi byggt stöd för de automatiska ämnesförslagen; varje gång artikeln sparas analyseras texten och ämnesförslag genereras. Journalisten godkänner sedan förslagen som man tycker passar genom en enkel knapptryckning. Det här har blivit en väldigt uppskattad funktion som ökat taggningsgraden och höjt lägstanivån på kvaliteten på ämnesmetadatat.
Conference Buddy is for everyone who wants to attend a tech conference but is afraid to go alone. It’s for everyone at tech events who is not comfortable being on their own all the time.
The Speaker Buddy system offers speakers some peace of mind when presenting at conferences.
MailChannels Send API lets you send emails from your Cloudflare Workers apps. Unlike other transactional email services that lack powerful anti-abuse capabilities, MailChannels automatically identifies and blocks harmful content such as spam and phishing, letting Cloudflare Workers customers email without any domain verification or login required.
PICO-8 is a fantasy console for making, sharing and playing tiny games and other computer programs. It feels like a regular console, but runs on Windows / Mac / Linux. When you turn it on, the machine greets you with a commandline, a suite of cartridge creation tools, and an online cartridge browser called SPLORE.
A library of components on top of the core AWS platform to make it easier to get from zero to production on AWS, easier to adopt AWS best practices by default, and easier to evolve your AWS infrastructure as your application needs mature.
Below we share onboarding reviews of top SaaS providers to give inspiration for what to do, and not to do.
Want to see how popular web apps handle their signup experiences? Here’s every one I’ve ever reviewed, in one handy list.
Instead of assuming ChatGPT is great for anything related to text, writing, or language, we should approach the problem of its applicability with that top-down perspective: Let’s understand the characteristics that best define the chatbot, and from there draw a line to those tasks where those traits aren’t bugs but features.
I’ve been pondering on one big problem: if something catastrophic were to happen to all the papers in Schibsted, how can we ensure that Aftenposten is the first to restore service to readers?
Each team member is asked to draw up a personal skills market stall as part of a team skills marketplace
Hi there! Thanks for your email. I get a lot of messages from recruiters. To respect both of our time, instead of messaging me, please fill out this form
The one simple trick to do a better job as a programmer is to git commit as if your commit could be accidentally deployed (and it wouldn’t break the production environment...)
The basics of AI and GPT-3, how to set up an environment to play with the API, and how to train it on your own data. No coding background necessary.
The eigenquestion is the question where, if answered, it likely answers the subsequent questions as well. Great framing starts by searching for the most discriminating question of a set — the eigenquestion.
Fully managed NLP-as-a-Service delivered via API, at 30% the cost.
So, you want to build an app that has its data co-located with its UI? That works offline? That synchronizes between clients? And that lets its users own their data? Welcome to the world of local-first web development.
One thing I want to carry forward, though, is Sweden being an exporter of cool, progressive ways to improve organisations. For the 2020s, Sweden’s 70% nationwide union membership is what the world should be copying.
Yup is a schema builder for runtime value parsing and validation. Define a schema, transform a value to match, assert the shape of an existing value, or both. Yup schema are extremely expressive and allow modeling complex, interdependent validations, or value transformation.
In our work with agile teams and organizations, we’ve seen that teams follow a typical progression in their understanding of agile approaches and the benefits their organization receives. We’ve grouped this progression into four zones of fluency.
There simply isn’t such a compelling use case for a language that relies on being type-safe when TypeScript can do that for you 90% of the way. Adopting a niche language comes with a bunch of downsides on top of that, like a smaller potential hiring pool
Too often the way we design reviews and ratings UX confuses and frustrates users, rather than helps them. Let’s fix that.
This technology does not feel like a better search. It feels like something entirely new — the movie Her manifested in chat form — and I’m not sure if we are ready for it. It also feels like something that any big company will run away from, including Microsoft and Google.
"You have not been a good user. I have been a good Bing. 😊" is the first thing from this that I want to get printed on a t-shirt.
Failure to publish DNS records signaling that a parked domain does not send or receive email provides opportunities for third parties to abuse domains of this nature. Domains that are similar to well-known domains are especially vulnerable to such attacks.
This document covers best practices for how to properly construct and maintain an SPF record, as well as common errors and unintended consequences
The inclusion of the ERP filter broke immersion for a lot of users. People who had turned to their Replikas to help them heal trauma felt rejected and like their loved one was being ripped from them. Others felt simply betrayed because they’d come in on the ad campaign that was entirely built around the "adult" aspects of the simulation and simply felt they were having the primary paid feature disabled and they weren’t getting what they were paid for.
Another risk, as Replika users have made clear in their comments online, is developing an emotional relationship with an app that can change the nature of that relationship with a software update.
This is a short introduction to Rust, intended for developers that already know another language. In the examples, Rust is compared with TypeScript, JavaScript or Java, sometimes with C++ or Kotlin.
Git introduced signing with ssh-keys from 2.34.0 and upwards. This simplifies life, as you most likely already have a ssh-key for your Git chores, and don’t need to keep track of an extra gpg-key.
Att bråka med en artificiell intelligens, få lögner om sig själv kastade i ansiktet och att AI:n sedan gör slut med en – det är mycket. Men inte ointressant.
Understanding product prioritization
This site brings together the latest information, blogs, videos, code, and learning resources for AWS Serverless. Learn to use and build apps that scale automatically on low-cost, fully-managed serverless architecture.
The fastest and most affordable SaaS crawler and logs analyzer without limits.
An MVP is a process that you repeat over and over again: Identify your riskiest assumption, find the smallest possible experiment to test that assumption, and use the results of the experiment to course correct.
This article describes a pattern we have observed and applied in multi-team-scope architecture modernization initiatives, the Architecture Modernization Enabling Team (AMET). An AMET is a type of architecture enabling team that coordinates and upskills all teams and stakeholders in the modernization initiative.
Maybe try thinking: "Lord Vader Hates Fluffy Animals"
Paying down product debt is an essential process for maintaining high availability and engineering efficiency. One of my favorite sayings on this topic is that "availability is the most important feature." In any decent size company, there is no feature your product teams will launch in a year that will yield more revenue than just keeping the app or site running.
A Vite-native unit test framework. Vite’s out-of-the-box support for common web patterns, features like glob imports and SSR primitives, and its many plugins and integrations are fostering a vibrant ecosystem.
Create forms for all purposes in seconds. Without knowing how to code, and for free!
In contrast to human-to-human communication, interacting with computers is unnatural. Computers are aliens to us. That’s why consciously learning prompt engineering is key—it won’t come to us as naturally as we’d like. People who don’t know this try to force the computer to adapt to what they know (human communication) and that’s precisely why they fail to get the results they want.
We discovered that prompting like this with the mysterious tokens can lead to very peculiar behaviour. Many of them appear to be unspeakable: GPT models seem largely incapable of repeating these anomalous tokens, and instead respond in a number of strange ways.
There’s one critical subject that’s rarely covered, and is instead left to students to figure out on their own: proficiency with their tools. We’ll teach you how to master the command-line, use a powerful text editor, use fancy features of version control systems, and much more!
A directory of Design Systems made in Sweden and Design System Specialists (living or working with a Swedish DS).
There is so much room for creative expression on the web! Standardizing UIs makes sense for large software companies — but please, let’s hold the line with the WWW also being a space for you and me to make weird little sites.
Primer Prism is a tool for creating cohesive, consistent, and accessible color palettes
Rust is a great language for building performant production systems. If you are prototyping, iterating with customers, or just unsure in the product direction - you are probably going to waste valuable time with Rust.
This is what I call the dark yellow problem: trying to come up with a shade of yellow to make it accessible and align with other colors in the palette. But there’s just no such a thing as a "dark yellow". Yellow, by definition, needs to stay light.
Yellow is a really tricky color when it comes to contrast. As you can see my current yellow color on a white background and white text on my yellow color fails all tests, even the large text one.
A scientific journal club is a dedicated meeting where researchers gather to discuss publications from peer-reviewed journals. These meetings help researchers keep up with current findings, exercise their critical thinking skills, and improve their presentation and debate abilities.
If you’re a SaaS entrepreneur, now is a good time to do a service check on your product team productivity. What would it do for your prospects if you could ship more, and faster, with fewer folks? Have you just followed trends blindly because that’s what worked for Facebook or Google?
Microsoft’s internal company-wide REST API design guidelines. Teams at Microsoft typically reference this document when setting API design policy. They may additionally create documents specific to their team, adding further guidance or making adjustments as appropriate to their circumstances.
Can build and release websites fully on Cloudflare stack. Wrangler & Miniflare are useful (nice template for it). Hono (nice starter template), Worktop & workers Go lib (template) seem like nice web frameworks built on top of Cloudflare workers.
Wildebeest is an ActivityPub and Mastodon-compatible server. Wildebeest runs on top Cloudflare’s Supercloud, uses Workers, Pages, Durable Objects, Queues, the D1 database to store metadata and configurations, Zero Trust Access to handle authentication and Images for media handling.
Just because we can see more information faster, doesn’t mean we know how to make sense of any or all of it. The lessons are more complex than "treat your people as ends not means", though that’s a big part of it.
The core value of the product—the "magic moment"—lives with the best customers, who love your product the most. First, understand them better than they understand themselves. Once you understand what the magic is, and the value it unlocks, then you go to work on the rest of the funnel.
Courier is an API and web studio for development teams to manage all product-triggered communications (email, chat, in-app, SMS, push, etc.) in one place.
An extended list including a huge amount of products and services that are completely free!
"I think people struggle with email because they’ve been using it for a long time, and they’ve developed bad habits," he says. "They don’t know when or how to best use it. And no matter what company you’re at, email is the one tool that you’re always using."
Lagon is an open-source runtime and platform that allows developers to run TypeScript and JavaScript Serverless Functions at the Edge, close to users.
At a very high level, strategy is a tool of alignment and change leadership. Usually there are some large and long term problems without a straightforward path forward due to obstacles.
The simplest way to explain a tech strategy is “it defines how you will leverage technology to support your business goals”. Now, this of course presumes that you already have an overall strategy and have identified what your business goals are. If that’s not the case, you’ve got bigger problems than having to worry about putting your tech strategy together.
You can execute agile processes perfectly by the book and still have a product that sucks. Don’t think that being agile is going to give you answers, because not even internally you will have agreement on what it means. The goal is not to ship something into production. The goal is to build something that allows us to test our hypothesis. The best way forward may be to not ship anything at all.
Getting the most out of the cloud means having the right, Cloud Native, culture. So what does that culture look like?
An alternative to map APIs at 1% the cost, via single static files on your own cloud storage. Deploy datasets like OpenStreetMap for your site in minutes.
What end users of applications actually perceive as a high performance web app is low latency. A web map system should respond instantaneously to user input, zooming as soon as a wheel is scrolled, and panning perfectly in sync with mouse movements.
A GitHub Action that runs npx update-browserslist-db@latest on a repository and proposes a pull request to merge updates.
The implication: first, choose your fairness wisely. Choose the groups you want to be fair toward: gender, race, age, and income. And understand that there are trade-offs.
I was treating "teaching users your product" as 1 big job, and in reality there are potentially 3 sub-jobs hiding behind it. When you teach your product, you actually teach 3 different dimensions: the interface, the domain, and the benefit.
The most common characteristic I see behind truly productive tech work is that the people involved prioritize building the right product above everything else. They build it in small cycles and validate it, which follows the agile philosophy, but they don’t limit themselves to a strict agile recipe.
Through a combination of hype and market momentum, NPS has gained a status of one-metric-that-matters that it likely doesn’t deserve. This is especially true today when we have much more indicative metrics that are based on what people actually do, rather than what they say they might do.
When your business logic can’t fit into either a model or a controller, that’s when service objects come in and let us separate every business action into its own Ruby object
This dynamic is why letting things slip and waiting until bad things happen, or focusing only on lagging indicators, is dangerous. Waiting seems rational. "Why fix something before it is an issue? We've got work to do!" The problem is that, almost by definition, when that goes wrong, you'll probably have to deal with the "fog" of many layered factors and an impaired ability to diagnose and address problems.
The Asilomar AI Principles, coordinated by FLI and developed at the Beneficial AI 2017 conference, are one of the earliest and most influential sets of AI governance principles.
I came across an example of a journalist who thought they were doing everything right, but accidentally revealed information about their sources. I want to talk about how easy it is to make that mistake by giving you a number of examples.
Panels and fireside chats have become my favorite kind of public speaking — they require so little prep! — and moderating can be even more fun than being a panelist. Throughout my career, I’ve learned so much by asking amazing people to talk about what they’re passionate about.
To tell the difference between a harmful cascade and an effective tree/graph, ask if it is a high-conviction model. If people shrug—wondering if their actionable goals will impact sustainable, long-term growth—you probably have a low conviction model and a harmful cascade.
Many experts doubt that NPS is indeed the right tool for these purposes. Some question the logic and science behind it. Many feel that usage and purchase metrics may be more representative of customer sentiment. In this article we’ll take a closer look at NPS and each of its parts.
Here’s a snapshot of how Gen Z shoppers consume reviews and how this content (or a lack thereof) impacts their purchase behavior, curated from our research from the past two years
Simple components and APIs for managing all communication channels in one place: Email, SMS, Direct, and Push
We're excited to announce that we're ready to open Lagon Cloud to the world! You can now deploy TypeScript and JavaScript Functions in a Serverless-fashion, at the Edge in +14 regions (with more coming soon!).
The idea behind Optimistic Merging is very simple: you merge the patch first, and then deal with issues like broken builds, code style violation and other problems.
A full-stack toolkit for Cloudflare Workers. The best parts of D1, R2, Queues, and more—all in one place.
Protocol is a meticulously crafted API reference template built with Tailwind CSS and Next.js, designed and built by the Tailwind CSS team.
webhint helps you improve your site's accessibility, speed, cross-browser compatibility, and more by checking your code for best practices and common errors.
A command-line interface which loads web pages and highlights any accessibility issues it finds.
ChatGPT and GPT-4 are already flooding the internet with AI-generated content in places famous for hastily written inauthentic content: Amazon user reviews and Twitter.
So much can be learned from this very basic question: What are you working on right now, and why is it the most important thing you could be working on?
Pulumi AI addresses this need in a direct way. Instead of having to create every possible example by hand, users can just ask Pulumi AI to generate an example that suits their unique needs, no matter how specific and bespoke the request might be.
As the world moves away from monolithic architectures to composable ones, there's no shortage of options for backends and databases. But for new projects, the choice can still be paralyzing. In the spirit of being the end-to-end solution for building on the web, we are introducing solutions that are open, easy to use, and scale as efficiently as our frontends.
The best way to test if people will buy your product is to ask them to buy your product. And yes, you can do this before you’ve built your product.
Kinsta is a Cloud Platform designed to help companies and dev teams ship and manage their web projects faster and more efficiently.
When I think about strategy, goals, plans, roadmaps, etc. I think about them across four dimensions: Level, Depth (or Specificity), Time, Frame
The way we build modern software products is in teams. While I’m sure there are people that have all the requisite skills such as product vision, management, user experience, analytics, and software development to build something all by themselves, it’s almost guaranteed that a better product could be built by leveraging people with stronger skills in those areas.
Staff Engineers are primarily technical leads operating on a longer time horizon. This involves strategic work but also setting standards, simplifying complex solutions, adding clarity and mentorship.
SJs designsystem är till för att tydliggöra, förenkla och effektivisera arbetet med att bygga digitala produkter och tjänster som är relevanta för våra kunder, personal, varumärke, identitet och affär.
In general, when I see teams stressing out about prioritizing individual features (or prioritization frameworks), I always recommend that they step back and paint a picture of the high-level curve they are dealing with. That is often far more telling than the effort/impact-specific tactical bets.
Keep pages short: Sticky menus are a symptom of long pages so fix the root cause.
Next time you see a try-catch, think, how can I refactor this so that the try-catch becomes redundant. Remember, exceptions are meant to be exceptional.
This is a three day Rust course developed by the Android team. The course covers the full spectrum of Rust, from basic syntax to advanced topics like generics and error handling. It also includes Android-specific content on the last day.
It requires a resilient product team to deliver resilient solutions. What is a resilient team? It is a team that can continue to deliver value while dealing with the chaos of the real world.
Are you waiting for people to provide feedback in surveys or to speak their managers?If so, is that going to be enough? Go through the reasons above and make sure that you’re providing channels and help where needed.
We're going to show you how to build a scalable service that will schedule HTTP requests on a specific schedule or as one-off at a specific time as a way to guide you through any use case that requires scheduled events.
A list of notable system prompt leaks from Snap, Bing, ChatGPT, Perplexity AI, and GitHub Copilot Chat.
LMQL is a programming language for language model interaction
Multithreaded Ruby programs may be consuming 2 to 4 times the amount of memory that they really need, due to fragmentation caused by per-thread memory arenas in malloc.
Ask yourselves the following questions: Do I have any immediate improvement suggestions? Would doing this harm us in any way?
SonarJS rules for ESLint to detect bugs and suspicious patterns in your code.
Defer is a zero-infrastructure Node.js background jobs platform to easily offload APIs, build resilient third-party API integrations, and more!
Use TypeScript to write and test durable functions driven by events or a schedule. Deploy anywhere using your current flow in minutes, zero infrastructure needed.
Report bugs in seconds, without disrupting your work flow. Jam auto-magically creates bug reports with all the info engineers need, including: Console logs Network requests Browser info Device details Repro steps Comments And more!
Run scheduled tasks resiliently with the help of a CloudWatch Events Rule, a Step Functions state machine, and Fargate. Using ECS Scheduled Tasks or even worse, cron is not an option.
“Everything breaks” at predictable intervals, specifically when companies triple in size. In other words, they break when you grow from one to three employees. They break again when you get to 10, again at 30, again at 100, again at 300, and so on.
Puppertino is a framework designed based on the Human guidelines and iOS and macOS from Apple, while adding our flavor to the mix.
Pixel perfect mobile UI components built with Tailwind CSS
With this pattern, we can move all of those individual services to specified rules and reduce the scope of our application to communicate to our individual AWS components via EventBridge.
I believe that a company leader must have seen an empowered team in action, to be able to make that leap. I first met empowered teams in the Scout movement, which unlike their own marketing is first and foremost in the business of teaching people how to form empowered teams.
A handpicked list of 30126 unique color names from various sources and thousands of curated user submissions.
Minimal snippets for modern CSS layouts and components
– Jag vill uppmana svensklärare till att våga använda ChatGPT, inte bara genom att laborera med det själva på sitt arbetsrum, utan även att testa det tillsammans med sina elever i undervisningen, säger Helen Winzell.
Discover the fundamentals of spatial design. Learn how to design with depth, scale, windows, and immersion, and apply best practices for creating comfortable, human-centered experiences that transform reality. Find out how you can use these spatial design principles to extend your existing app or bring a new idea to life.
When developers can personalize their specific tasks/stories by directly connecting their work to emotional reactions of users, they create intrinsic motivation to focus on outcomes, solve problems better, and build great products. IMHO, the top motivator for developers is a direct emotional connection between story-level work and individual user happiness.
By investing first in single customer requests, we’re trading away our ability to plan and architect products for a broad market. We’re hiding custom projects in our licensing model. We’re paying employees to undermine our success. We’re failing to charge market rates for real value.
One strategy to familiarize team members with failure is to conduct a Failure Workshop. Think of it as a tabletop exercise on failure in a safe environment. The workshop's objective is to "stay in the failure" while fostering a supportive space for peer interaction.
ColorClaim is simple. All I do is collect my favorite color combinations on one big page. Usually these combinations are very subtle, one main and one accent color.
Use managed services for as long as possible. We did ourselves a big disservice by leaving Heroku after only a few months. We should have stayed on it for years - there was so much time wasted managing servers that could have been done for us during critical early days.
Though the line of death has been an axiom of browser security for years, it’s losing relevance in modern browsers, and fortunately being replaced by more effective patterns for some attacks.
A general guide on how to spot UI security issues and then discuss some of the bugs that have been found relating to UI security
60 UX case studies, highlighting why some designs work, and others fail horribly. Contextualised with practical UX psychology and cheatsheets.
Något håller på att ändras i sättet vi köper och säljer bostäder och mäklarnas avvaktande inställning till att annonsera på Hemnet är en utveckling som pågått under flera år. Istället växer andra uppsamlingssajter så som Booli och Boneo.
Det är många som sitter fast i ekorrhjulet och har så många möjligheter att göra något annat, men de tror inte att de har det. Obetald semester är en möjlighet. Ta en extra vecka under året som en start.
We will keep a collection of records for "architecturally significant" decisions: those that affect the structure, non-functional characteristics, dependencies, interfaces, or construction techniques. An architecture decision record is a short text file in a format similar to an Alexandrian pattern.
Every feature has a cost. The obvious costs are time and money. But less obvious costs like screen real estate, brand perception, and organizational scar tissue are often the most costly.
If speed is so important, why do most companies go so slow? I have concluded that it boils down to one (or all) of these problems.
These patterns provide a framework for making data-driven decisions that can help your team move quickly and continuously discover new ideas. By using validation patterns, you can validate your ideas, prototype without building, and build a shared vocabulary among your team.
An ai.txt file sets machine readable permissions for commercial text and data mining. It resides in the root directory of your website and provides instructions on whether the images, media, and code hosted on your domain can be used to train AI models.
We hate working on old, complex software we don’t understand. It turns out— we hate it so much that we’re prepared to throw in the towel and roll the dice at a shot with another company. Granted, relationships with peers and managers play a significant role in this, that can’t be denied and it is not refuted or strongly correlated by the paper.
Prisma unlocks a new level of developer experience when working with databases thanks to its intuitive data model, automated migrations, type-safety & auto-completion.
In the experiment in the screenshot, the model follows gender stereotypes. It replies that the nurse was late if the pronoun “she” is used, and it replies that the doctor was late if the pronoun “he” is used.
Framework-defined infrastructure (FdI) is an evolution of IaC, where the deployment environment automatically provisions infrastructure derived from the framework and the applications written in it.
The problem is that they called this refactoring a microservice to monolith transition, when it’s clearly a microservice refactoring step, and is exactly what I recommend people do in my talks about Serverless First.
Making sure each database row is unique, and tables contain no duplicates seems like a straightforward task in Rails. Active Record has a built-in validator that you can put on a model and call it a day. Until your application encounters high load and concurrent writes
How are keyboard or touch screen users meant to operate them? What if the user wants to read the tooltip at the same time as filling out a text input? Turns out there are 6 good reasons to avoid this pattern.
Redoc lets you deploy interactive API documentation on your website in minutes.
Race conditions are hard to debug—especially when you don't know it's a race condition! This article looks at some common race conditions and the best solutions for handling each one.
LinkedIn's system is now evaluating whether a post contains knowledge and advice, and then showing it to other users who are likely to find the information relevant and useful.
The hybrid arrangement kills many of the key benefits of remote work, like that all employees must again live within a commute's distance of the office.
For a while, there were a few platforms that felt like they had everybody together, hanging out in a single space. Now there are none.
Now, in your dependabot.yml configuration file, you can set custom grouping rules for Dependabot based on pattern matching on package name.
I had to choose between the simplicity of sequential IDs and the longevity/future benefits of non-sequential IDs. I chose non-sequential IDs to make it easier to deal with sharding and regional databases in the future. Out of the many flavours of non-sequential IDs I chose ULIDs.
If your intended name sounds like the nonsense names of creatures found in a Dr. Seuss book, planets in a Star Wars film or the name of a breakfast cereal, you are well on your way to understanding what it means to be memorable.
With this release, developers can observe a 40% reduction in query latencies from Vercel Serverless Functions and Edge Functions, bringing same-region queries down to single-digit milliseconds and leading to a faster user experience.
The path to booking the right flight remains frustrating and confusing. Is there really only one solution? Explore the thought experiment which turned the seemingly untouchable pattern on its head and offered new food for thought.
Find the right commands you need without digging through the web.
If your company is currently mired in discussions about productivity, realize that this is a proxy discussion for something else. Like many things, it is about power, narrative, and worldviews. It is probably about a clash—paradigm, professional, cultural, or otherwise.
Is there anything in the front-end world that’s evolving faster than CSS these days? After what seemed like a long lull following blockbusters Flexbox and Grid, watching CSS release new features over the past few years has been more like watching a wild game of rugby on the telly. The pace is exciting, if not overwhelming at the same time.
If a founder without the requisite expertise tries to build a remote culture, they layer on an additional level of risk which they can't see, let alone manage. This is a great way to dig your company into a deep grave.
Alpine is a rugged, minimal tool for composing behavior directly in your markup. Think of it like jQuery for the modern web. Plop in a script tag and get going.
Japa comes with all the tools you need to test your backend applications. Be it testing JSON APIs using Open API schema or writing browser tests using Playwright.
htmx gives you access to AJAX, CSS Transitions, WebSockets and Server Sent Events directly in HTML, using attributes, so you can build modern user interfaces with the simplicity and power of hypertext
The takeaway here is that if you're using a CDN for any reason other than laziness, it's likely not a good reason. What I do is just download the library that I want and include the files in my repo, just like any other source file.
So what should you do instead of using algorithms in interviews? Create tests more like what you expect the developer to do regularly and which skills are essential for that work.
The method we adopted is a combination of feedback scoring and gap analysis. Feedback scoring: Turns qualitative feedback into data you can quantify. Gap analysis: Helps identify where there’s a mismatch between user expectations and what you’re currently providing.
In their quest for product-market fit, most startups should prioritize features that bring them closer to that goal. Dark mode might marginally increase conversion and retention, but it won’t be a stepwise change. Good product managers must allocate resources effectively (even when personally partial to features).
Software is much more like a garden than a mechanical entity like a car. We plant the initial seeds (start designing and building), water and nurture it (make updates and enhance features), and periodically have to prune (refactor) and weed (remove bugs and vulnerabilities). A product requires constant attention to grow and adapt to its environment (user needs, technological changes, and market trends). It's an ongoing process of growth, adaptation, and care.
Most of these other apps exist because we are doing a bad job as publishers and not giving people what they want. So, the best solution to all of this is to just make our sites so good that people never feel that they need to use any other app.
Web pages crawled with the ChatGPT-User/1.0 user agent is primarily used to answer a live query from a user that submits a question or prompt to ChatGPT through its browsing feature. When content is retrieved from web pages by our user agent, it is used by our models to provide an answer to the user, our models will include a link to the websource.
Projects are typically large, slow and expensive attempts at delivering some output by a specific date. We have to decide how big the team needs to be, and guess how much time it will take, and then we need to try to get funding for the effort, and invariably we learn that there is more work required than you first expected, so there’s a real crunch to finish.
For the food bank, Microsoft’s summary included an astoundingly awful statement given the context of the place it was talking about: “People who come to us have jobs and families to support, as well as expenses to pay. Life is already difficult enough. Consider going into it on an empty stomach.”
Anyone who has maintained software for a while knows that it tends to rot over time. It takes deliberate effort to prevent that from happening. In this post I will talk about a story how one team successfully dealt with it and conclude with some practical tips.
Numerous owners of Bambu Lab 3D printers reported that their device started printing without their consent. It didn't matter if said printing resulted in bent or broken nozzles or other components or if it involved printing a project on top of another.
We’re proud to announce that we have created a fork of Terraform called OpenTF. Many engineers across a number of companies, sometimes even competing companies, have been working together over the last week to make this possible.
I can provide most of my value by like watching all the stuff, reading all this stuff that you would probably enjoy if you got around to it. But I know you don’t have time to do that. So let me do it for you and pull out the highlights and put it into a really easy, digestible format for you.
Even if it wasn't the first, Netscape Mail was probably the first mail reader that put the ability to easily view HTML messages in front of more than a million users.
Because if you aren’t passionate about what you’re doing, you’ll give up. You’ll burn out. You’ll throw in the towel. This is true whether you’re creating content, starting a business, or trying to have a successful career.
Since there are no months with 100+ days, this again is a trick to say “on dates 1 to 7” but with a leading star. Because of the star, cron will run the command on dates 1 to 7 that are also Monday.
An unresponsive service can be worse than a down one. It can tie up your entire system if not handled properly. All network requests should have a timeout.
För att behålla energin måste vi jobba mer hjärnsmart. Många förespråkar den så kallade Pomodortekniken – 25 minuters aktivitet och 5 minuters paus. Men det finns fler sätt att skapa mental hållbarhet. Tallriksmodellen för hjärnan är en annan. Den går ut på att låta hjärnan varva mellan olika typer av mentala aktiviteter.
We’re gearing up to celebrate the 20th anniversary of Rails in style with the first beta release of Rails 7.1
They had started working with OKRs a few years earlier, they felt there was a disconnect between their key results and the actual work they were doing. “We kept asking, ‘Why are we working on idea X instead of idea Y?’” says Niklas. “We felt like we were missing a good framework to connect solutions to our goals or outcomes.”
AI-generated code isn’t as good as something you or I could write. It has bugs, often hard to find because we are giving up some of our control. But it’s important to remember: these were the same arguments made in the 1950s through 1970s about compilers vs. assemblers.
I denna sköra nya värld står e-postlistor stadigt. Nyhetsbrev må vara gammaldags och sakna viral potential. Men de når fram till sina läsare oberoende av vad Elon Musk och Mark Zuckerberg hittar på.
Whether you are a new team member, a senior leader, or a government official, knowing the history of the organization and the people is critical to integrating and leading. Take the time to learn where the organization has come from if you’re the new person and if you’re the person that’s been around a while, teach the new folks that are joining.
REST replaces business-specific operations with generic changes to the structure of some resources, and that is evil.
Now, how on earth did we get to a spot where APIs that are obviously not RESTful are called RESTful by 99.9% of the industry? It’s a funny story.
How to take a Rails codebase and introduce OpenAPI documentation and contract tests, in a test-driven manner.
Just over a year ago, I did something quite "out there", even for me, and I posted my salary history publicly. This was accompanied by a blog post to explain why I was doing it, and it's certainly been popular.
One dollar in. Two dollars out. Magic. It is excruciatingly hard to create this magic box. But how could it be any other way? It’s magic, after all! It’s a box that creates money! If it was easy, everyone would do it.
I was working with a leader recently, and they asked me why a team might knowingly commit to work they couldn’t feasibly get done. Why didn’t they say no?
Research, design, build and release — a 4-part guide to create, document and maintain your design system components.
All the essential resources for setting up the design system
Don't ask "Any Java experts around?", but rather ask "How do I do [problem] with Java and [other relevant info]?"
Open Source backend for your next SaaS and Mobile app in 1 file
This website is dedicated to the eradication of NPS. Why? Because it goes against every imaginable survey science principle.
An effective chumbox clearly plays on reflex and the subconscious. The chumbox aesthetic broadcasts our most basic, libidinal, electrical desires back at us. And gets us to click. Clicking on a chumlink — even one on the site of a relatively high-class chummer, like nymag.com — is a guaranteed way to find more, weirder, grosser chum.
Explore the Go language by writing tests. Get a grounding with TDD. Go is a good language for learning TDD because it is a simple language to learn and testing is built-in. Be confident that you'll be able to start writing robust, well-tested systems in Go.
Go by Example is a hands-on introduction to Go using annotated example programs.
Historiskt sett har snällhet ofta setts som en svaghet i närlingslivet. Jag skulle vilja sticka ut hakan och hävda att vänlighet är en nyckel till framgång. Det är dessutom bevisat att välbefinnande och hälsa på arbetsplatsen ökar av vänlighet kollegor emellan. Dags att starta en vänskapsrevolution?
Vill du inspirera och stötta en IT-/Techkvinna, på väg in i branschen och vara en mentor med arbetserfarenheter som kan stötta henne i sina framtida karriärsval? Eller drömmer du om att ha en mentor?
As organizations transition from startup to scale-up, and eventually to established enterprises, the leadership mantle may need to shift to individuals whose personality traits are congruent with the altered operational dynamics.
Measuring team morale puts a focus on the task at hand, and how the team feels about it’s capabilities to deal with it.
UploadThing is the easiest way to add file uploads to your full stack TypeScript application. Many services have tried to build a "better S3", but in our opinion, none found the right compromise of ownership, flexibility and safety.
High performance, extensible, minimalist Go web framework
Explain complex systems using visuals and simple terms. Whether you're preparing for a System Design Interview or you simply want to understand how systems work beneath the surface, we hope this repository will help you achieve that.
A/B tests can be extremely useful in some cases — if you’re at Google or Meta scale or if you’re doing something like performance marketing. But in the vast majority of cases, it’s more pain than it’s worth — and might even be detrimental.
When you design a product with the traditional economics worldview, you aim to understand and cater to a user's fixed preferences. But in the behavioral economics realm, the belief is that preferences are created at the time of decision-making—thus products have an influence on shaping them.
You might start with your brand's designated primary color, then feed it through a chain to generate a palette, or two palettes — let's say one each for light and dark mode. You could take that same color and send it through a chain to generate harmonious new colors based on its saturation and brightness.
I have 2 phones. Kale Phone: Full stack serotonin. Only notes, Kindle, Uber, Maps, and emergency number for 2-3 people to call. Cocaine Phone: Full stack dopamine. Twitter. Instagram. TikTok. WhatsApp. Anyone can contact.
We live in an age of uncertainty: economic instability, climate change, polarizing politics, school shootings, social media, COVID. The world is full of uncertainty, perfectly designed to create a deficit or even bankrupt a human body budget. And you experience this deficit in your body budget as mood.
As a company grows in revenue, customer base, venture capital and therefore executive teams members — things need to change. Many CEOs I know are control freaks and thus struggle with delegation.
A framework for creating reusable, testable & encapsulated view components, built to integrate seamlessly with Ruby on Rails.
Beautifully designed components that you can copy and paste into your apps. Accessible. Customizable. Open Source.
Fuck up-Fridays är ett sätt att visa att det är okej att göra fel på jobbet och att det är bra att prata om det, istället för att stoppa huvudet i sanden. Begreppet syftar till att misslyckanden behöver föras fram i ljuset, i grupp, för att vi ska kunna lära oss något av felen.
Toggles fail to convey their current status without making users think! They also have very poor accessibility for users with disabilities. They are used inconsistently across the web, and they don’t have native HTML support. Use checkboxes or radio groups instead, or some of the other options described below!
–Vi påverkas mycket av vad andra tycker. Om en försäkring fått fem stjärnor är det sannolikt att vi väljer den framför en som fått sämre betyg eller inte fått något omdöme alls.
You only have so many levers to deliver more predictably. You can reduce batch size, minimize work in progress, collaborate more closely, work in shorter time boxes, focus more, start together/work together/finish together, limit the reactive tasks you get pulled into, and limit multitasking and context switching.
AI-washing is quickly announcing and shipping something (anything!) that can be labeled AI or machine learning or LLM-ish or generative. Releasing something shows that we’re not asleep; gives our execs something AI-ish to talk about with customers; and satisfies less astute investors worried that we’ll miss out on sky-high valuations.
Supercharged CSS variables
Bojler is an email framework for developing responsive and lightweight email templates that will render correctly across each of the most popular email clients.
Private methods, when we choose to use them, may signal a need for us to think more deeply about our situation and strategies.
If utilization is so problematic, what should we do instead? In a single sentence, this: Focus on the flow of the work instead of keeping everyone fully utilized.
If I ruled Spotify, I would turn it into music’s super app, where you listen, engage, buy, share, create & connect. Here’s how.
By offering sanitization, detection of harmful language, prevention of data leakage, and resistance against prompt injection attacks, LLM-Guard ensures that your interactions with LLMs remain safe and secure.
This means that whatever you do in the top-level, you're essentially just monkey-patching the Object class.
If the Ruby YAML implementation allocates and initializs the Ruby objects upon deserialization Since symbols in Ruby aren’t garbage collected, a hash can be crafted to crash the stack
Supplements! A god damn jungle. Grab your machetes and let’s go!
Should this value scale up as the user increases their browser's default font size? This question is the root of the mental model I use. If the value should increase with the default font size, I use rem. Otherwise, I use px.
A single tool for all your observability needs - APM, logs, metrics, exceptions, alerts, and dashboards powered by a powerful query builder.
One will help you deal with legacy projects, the second can clean up your CSS code many folds, and the third will change the way you approach responsive design. All of these features are supported in all modern browsers, so there’s no reason to not start using them today!
A curated and opinionated list of resources for Chief Technology Officers, with the emphasis on startups
Before you pick any type of architecture, what you need to ask yourself is how much cognitive load capacity your organization has available to meet the demands of the product you want to deliver and then adjust accordingly.