~/devreads

14 Feb 2024

vladmihalcea 1 min read

Introduction In this article, we are going to explore various PostgreSQL performance tuning settings that you might want to configure since the default values are not suitable for a QA or production environment. As explained in this PostgreSQL wiki page, the default PostgreSQL configuration settings were chosen to make it easier to install the database on a wide range of…

databasepostgresqlaivenconfigurationperformance tuning

13 Feb 2024

{"twitter"=>"hlaueriksson"} 8 min read

PowerToys Run is a quick launcher for Windows. It is open-source and modular for additional plugins. Official plugins include: Calculator Unit Converter Value Generator Windows Search At the time of writing, there are 20 plugins out of the box. If you think the official plugins are not enough, you can write our own. The easiest way to get started is…

Di Hei 4 min read

The npm engineering team recently transitioned to using GitHub Codespaces for local development for npm registry services. This shift to Codespaces has substantially reduced the friction of our inner development loop and boosted developer productivity. In this post, we would like to share our experiences and learnings from this transition, hoping this information may be useful to you. What are…

Rob 2 min read

One nice thing about Go is that it can cross-compile which allows me to use my Mac to build binaries for different operating systems. This is increibly useful for providing binaries for Rodeo, my command line Flickr uploader. To do this we set the GOOS and GOARCH environment variables before calling go build. For example to build for x64 on…

developmentgorodeo flickr uploader

Olga Troyan 6 min read

We had a project where we aimed to optimize page load times while preserving SEO benefits. One of the techniques we employed was enabling ISR (Incremental Static Regeneration), which caches the page’s HTML response on the CDN network until the TTL (Time to Live) expires. However, we also encountered challenges with parts of the pages […] The post Nuxt 3…

javascript

Markus Kohler 1 min read

Display how many users are currently viewing a webpage in real time. Learn how to build a free web UI widget in under 5 minutes, backed by Presence.

12 Feb 2024

Pooja Sharma 6 min read

In today’s competitive world of Mobile app development, it’s essential to create apps that are not only feature-rich but also lightweight. Studies show that for every 6MB increase in the app size, there’s a decrease in install conversion rate by 1%. Therefore, with the increasing demand for faster downloads and better user experiences, app size has become crucial to increase…

mobile-appsandroid-app-developmentapp-sizemobile-app-developmentreact-native

11 Feb 2024

10 Feb 2024

Tom Richards 1 min read

Pinboard is a discussion and asset sharing tool (or rather tool within other tools) which is gradually transforming how the news room communicate as news stories move through the various phases of the production process This is part three of three (part one and part two). Continue reading...

9 Feb 2024

Konstantin Zolotov 9 min read

During the development process, we often focus on the source code but rarely inspect the compiled bytecode. This means we’re missing out on a valuable source of information and data for analysis. How? Let’s delve into Dex file inspection and build a tool that demonstrates how source code changes impact the compiled binary. Have you ever set R8 rules to…

bytecodekotlinandroidandriod-app-development

Tom Richards 1 min read

Pinboard is a discussion and asset sharing tool (or rather tool within other tools) which is gradually transforming how the news room communicate as news stories move through the various phases of the production process This is part two of three (part one and part three). Continue reading...

8 Feb 2024

Deepthi Rao Coppisetty 7 min read

How do we ensure over 100 million users across the world have uninterrupted access to GitHub’s products and services on a platform that is always available, secure, and accessible? From our beginnings as a platform for open source to now also supporting 90% of the Fortune 100, that is the ongoing challenge we face and hold ourselves accountable for delivering…

Tom Richards (with contributions from Ana Pradas) 1 min read

Pinboard is a discussion and asset sharing tool (or rather tool within other tools) which is gradually transforming how the news room communicate as news stories move through the various phases of the production process This is part one of three (part two and part three). Who works on a story? How many people does it take to put a…

jesalg 2 min read

From Assumptions to Understanding Louis Moeller, Different Opinions, High Museum of Art, Atlanta. While returning home from my company offsite, I was standing in the TSA line, placing my belongings into the gray bins. It was then that a question caught me off guard. “Have you ever been on a flight?” I froze, my hands mid-air, gripping my shoes. The…

7 Feb 2024

vladmihalcea 1 min read

Introduction In this article, we are going to see how we can use the Hibernate StatelessSession in order to enable JDBC Batching for INSERT, UPDATE, and DELETE statements. While the StatelessSession has been available for more than 20 years, until Hibernate 6, its usefulness was rather limited since it lacked support for batching, as well as other cool features, such…

hibernatebatchjdbcstatelesssession

12 min read

On large platforms, it's impossible to have policies on things like moderation, spam, fraud, and sexual content that people agree on. David Turner made a simple game to illustrate how difficult this is even in a trivial case, No Vehicles in the Park. If you haven't played it yet, I recommend playing it now before continuing to read this document.…

6 Feb 2024

Arpad Tarics 9 min read

We’ve already covered why Elixir and Phoenix are worth a try, but making the switch can be tricky. Elixir is a world apart from the JavaScript ecosystem, but we’re here to offer you a familiar reference point as you dive in. To do this, we’re crafting a series of articles that explain Elixir using JavaScript […] The post Getting Started…

elixir

David Walsh 1 min read

Anyone is capable of having their caps lock key on at any given time without realizing so. Users can easily spot unwanted caps lock when typing in most inputs, but when using a password input, the problem isn’t so obvious. That leads to the user’s password being incorrect, which is an annoyance. Ideally developers could let the user know their…

5 Feb 2024

Guardian Staff 1 min read

A developer in the Fellowship Scheme shares his experiences of his first year at the Guardian I clearly remember my early days in the Guardian’s Digital Fellowship as a mixture of excitement and being totally overwhelmed. I had joined the editorial tools team, which builds all our digital tools for our journalists. At morning stand-up people were mentioning more acronyms…

information

Praveen Kumar 2 min read

How we optimized legacy top hits aggregation query time from 500ms to ~50ms. We are using an elastic search on the search listings page to filter listings based on user filters and some complex aggregation logic. Problem Statement: Our legacy aggregation query was taking approximately 500ms for city-level SRP ( Search Results Page) and approximately 200-300ms for city locality pages.…

performancequery-optimizationelasticsearch

David Walsh 1 min read

One of the HTML elements that frequently comes into collision with CSS is the img element. As we learned in Request Metrics’ Fixing Cumulative Layout Shift Problems on DavidWalshBlog article, providing image dimensions within the image tag will help to improve your website’s score. But in a world where responsive design is king, we need CSS and HTML to work…

1 Feb 2024

Courtney Webster 4 min read

The February 2024 release of the Python and Jupyter extensions for Visual Studio Code are now available. This month's updates include the Python Debugger extension installed by default, option to create a virtual environment in the interpreter Quick Pick, built-in variable viewer with Jupyter, new diagnostic rules with Pylance, and triggered breakpoints in VS Code. Keep reading to learn more!…

python

James Graham 5 min read

Following the success of Interop 2023, we are pleased to confirm that the project will continue in 2024 with a new selection of focus areas, representing areas of the web platform where we think we can have the biggest positive impact on users and web developers. The post Announcing Interop 2024 appeared first on Mozilla Hacks - the Web developer…

featured articlefirefoxweb developersaccessibilitybrowsers

Erlang Solutions Team 11 min read

As turnaround times continue to shrink and the innovation expected from developers expands, programming language speeds can become a deciding factor for solution designers. If you’re concerned about speed, Elixir may be the language you’re looking for. The post What Is the Fastest Programming Language? Making the Case for Elixir appeared first on Erlang Solutions.

elixir programming languageelixir

vladmihalcea 1 min read

Introduction Welcome to a new issue of the High-Performance Java Persistence Newsletter in which we share articles, videos, workshops, and StackOverflow answers that are very relevant to any developer who interacts with a database system using Java. Articles The pick of this week is this article written by Lukas Eder about various query optimizations the database can do to speed…

newsletterhibernatejavajpamysql

31 Jan 2024

1 min read

Bookmarks for February 2024: 6 links - How hard is it to cheat with ChatGPT in te...; Fixing the billion dollar mistake in Go by..., and more.

Jonathan Crooke 7 min read

Scaling iOS at Bumble: Part 1/3 — The Challenges Introduction This article is the first in a series of three. We’ll be presenting work undertaken during 2022 and 2023 aimed at tackling the challenges of scaling our iOS production apps. Who are we? Bumble Inc. is the parent company of Bumble , Badoo , Fruitz and Official . The Bumble…

1 min read

We’re developing a blueprint for evaluating the risk that a large language model (LLM) could aid someone in creating a biological threat. In an evaluation involving both biology experts and students, we found that GPT-4 provides at most a mild uplift in biological threat creation accuracy. While this uplift is not large enough to be conclusive, our finding is a…

research

27 min read

The global device and network situation continues to evolve, and this series is an effort to provide an an up-to-date understanding for working web developers. So what's changed since last year? And how much HTML, CSS, and (particularly) JavaScript can a new project afford? Contents The Budget, 2024 JavaScript-Heavy Markup-Heavy Calculate Your Own Situation Report Mobile Desktop Takeaways The Great…

30 Jan 2024

Rob 2 min read

I have a Linux-based server that acts as my Plex server amongst other things. It's fanless and I added an additional SSD for to hold the media data so it is nice and quiet. I'm a little bit of a belt-and-braces person when it comes to backing up my data, so in addition to backing up to the cloud, I…

computing

29 Jan 2024

44 min read

This is a set of notes on the Quinn Emanuel report on Cruise's handling of the 2023-10-02 accident where a Cruise autonomous vehicle (AV) hit a pedestrian, stopped, and then started moving again with the pedestrian stuck under the bottom of the AV, dragging the pedestrian 20 feet. After seeing some comments about this report, I read five stories on…

28 Jan 2024

21 min read

I've been using Golang in the past months, and I was very happy about it, this language makes me feel entertained and productive and the same time. Studying for me is a lifelong…

26 Jan 2024

RisingStack Engineering 7 min read

This article serves as your one-stop resource for all the necessary information on updating these key components of the Elixir ecosystem. You’ll also find the recent changes and enhancements that have been made to Elixir, Phoenix, and LiveView – changelogs included. Whether you’re new to this tech stack, or just need quick info to get […] The post Update Elixir…

elixir

25 Jan 2024

Oliver Carson 1 min read

Read our complete guide to build game alerts. Read this and our other information when building game alerts and push notifications.

Cara May-Cole 6 min read

The fintech industry is a major disruptor. Cara will be exploring its impact for 2024 and what leaders can do to manage expectations and occupy market space. The post 5 Key Tech Priorities for Fintech Leaders in 2024 appeared first on Erlang Solutions.

fintech

Campbell Graham 3 min read

Learning to embrace a hybrid approach for mobile app development: Native apps are best! Like the rest of the native mobile app development community, I typically agree with the notion that “native is best” when it comes to mobile apps. After all, these are the technologies we spend tens of hours every week utilising, and there is a passion for…

18 min read

There's a class of comment you often see when someone makes a popular thread on Mastodon/Twitter/Threads/etc., that you also see on videos that's basically "Why make a Twitter thread? This would be better as a blog post" or "Why make a video? This would be better as a blog post". But, these comments are often stronger in form, such as:…

24 Jan 2024

Belal Taher 8 min read

Building confidence in new code before deploying is a crucial part of any good development loop. This is especially challenging when working in a distributed or microservice system with multiple teams operating on different services. This modular team structure gives rise to an important question: how can we provide teams with fast and reliable development cycles when testing and shipping…

vladmihalcea 1 min read

Introduction In this article, we are going to see how to fetch recursive associations when using JPA and Hibernate. Recursive table relationships are built using self-referencing Foreign Key columns so that a record in a table can reference another record in the very same table, therefore allowing us to represent hierarchical structures using the relational model. Domain Model Let’s consider…

hibernateassociationjparecursive

Todd Gardner 3 min read

Over 50 thousand developers visit DavidWalshBlog every month from around the world to learn JavaScript tricks and fix problems in their code. Unfortunately, some of them have a slow experience on the site. David tracks the performance of his Core Web Vitals and overall performance with Request Metrics. Recently, we noticed that his CLS performance score was trending pretty slow…

23 Jan 2024

Rob 1 min read

I upload lots of pictures to Flickr and sometimes I just want to point at a file in Finder and upload it. Fairly recently, macOS introduced Quick Actions to Finder and this seemed like the ideal way to have a quick and easy way to upload an image to Flickr. To do this, the easiest way is to use Automator…

computing

22 Jan 2024

21 Jan 2024

Eric Elliott 13 min read

Writing testable code is a vital skill in software engineering. Let’s explore practical advice, strategies, and tactics for writing more testable code, unlocking the benefits of modularity, reusability, and high quality software in your projects. Embracing testability in your coding practice isn’t just about catching bugs; it’s about fostering a culture of quality and efficiency in your projects. A good…

tddtypescriptjavascriptreacttechnology

20 Jan 2024

hello@taniarascia.com 4 min read

It's 2024, y'all. We're 20 days into the year, so I'm running out of time to write that end of year post I always do. I haven't quite known…

19 Jan 2024

1 min read

For a little while, I’ve been considering the potential impact of generative Artificial Intelligence on various areas of our lives, more recently I’ve had very interesting conversations about applying AI to help the creations of manga/animé. This blurb was writing to help think through the challenges, but why not posting them. Having witnessed the transition from analog to digital, and…

18 Jan 2024

jonskeet 4 min read

This wasn’t the post I’d expected to write, but after reading two comments in close succession on an old post when I first started playing with the X-Touch Mini I decided to spend some time effectively shuffling code around (and adding a primitive configuration dialog) so I could publish a standalone app for DigiMixer. I … Continue reading DigiMixer –…

digimixer

Sean McIlroy 12 min read

Most of Slack runs on a monolithic service simply called “The Webapp”. It’s big – hundreds of developers create hundreds of changes every week. Deploying at this scale is a unique challenge. When people talk about continuous deployment, they’re often thinking about deploying to systems as soon as changes are ready. They talk about microservices…

uncategorizedautomationbackendci-cddeployment

Oliver Carson 1 min read

Build scalable, real-time text and video chat apps with Node.js, leveraging WebSocket and WebRTC, while learning best practices for performance and security

Mike Kasberg 14 min read

Strava challenges offer a fun way for athletes to compete against themselves and others! Back in 2020, our legacy challenge leaderboard system was running into bottlenecks and scalability problems on a regular basis, and we often found ourselves putting out fires to keep the system stable. In late 2020 and early 2021, I worked on a project to replace the…

system-design-conceptsprogrammingsqlscalabilityrelational-databases

Olga Troyan 11 min read

Update: to enhance the clarity of the Nuxt 3 documentation, we have opened a pull request (PR) that has already been merged. Now, the functionality of ISR/SWR rendering modes is better explained. The backstory We were developing a listing site using Nuxt 3 and aimed to optimize page load times while maintaining SEO benefits by choosing the […] The post…

javascript

Michael Carroll 1 min read

Unlock the power of Big Data! Learn its core concepts, tools, and best practices that every data engineer needs to design scalable data pipelines

vladmihalcea 1 min read

Introduction In this article, we are going to see how to use the Java CountDownLatch to write test cases that take concurrency into consideration. The Java CountDownLatch has been available since version 1.5, and it’s part of the java.util.concurrent package that contains many other threading-related utilities. The Java CountDownLatch class The Java CountDownLatch class provides the following methods: The most…

javaconcurrencycountdownlatchthreads

17 Jan 2024

David Walsh 1 min read

Ask any software engineer and they’ll tell you that coding date logic can be a nightmare. Developers need to consider timezones, weird date defaults, and platform-specific date formats. The easiest way to work with dates is to reduce the date to the most simple format possible — usually a timestamp. To get the immediate time in integer format, you can…

John McCloskey 5 min read

We all have secrets. Sometimes, these are guilty pleasures that we try to keep hidden, like watching cheesy reality TV or indulging in strange comfort food. We often worry: “How do we keep the secret safe?” “What could happen if someone finds out the secret?” “Who is keeping a secret?” “What happens if we lose […]

securitybackstageopensource

Pamela Fox 1 min read

The Microsoft AI Chat App Hack is a two-week virtual hackathon where you can learn how to build a chat app with Python, using the RAG (Retrieval Augmented Generation) approach with OpenAI and Azure AI Search. You’ll also get to meet other Python developers and learn from Microsoft engineers on live streams. The post Join us for AI Chat App…

azurepython

16 Jan 2024

David Walsh 1 min read

User input from HTML form fields is generally provided to JavaScript as a string. We’ve lived with that fact for decades but sometimes developers need to extract numbers from that string. There are multiple ways to get those numbers but let’s rely on regular expressions to extract those numbers! To employ a regular expression to get a number within a…

Darryn Campbell 1 min read

Compare Long Polling vs WebSockets: Advantages, Disadvantages and real-time impact. Find the best approach for your web development needs.

15 Jan 2024

David Walsh 2 min read

Streaming services have revolutionized content delivery, sending linear media companies into a panic as they watch traditional cable services decay. “Cutting the cord” is a common practice these days, but the streaming landscape isn’t perfect. We’re a decade into streaming so I wanted to share my thoughts on the state of new media: first impressions, second thoughts, and the third…

Rob 1 min read

I regularly need to darken images for background use behind a title. I've been using a filter in Acorn, but finally decided to make it a script that uses ImageMagick so that I could simplify it all with Alfred. This is the script: darken-image.sh #!/usr/bin/env bash if [ -z "$1" ] then echo "Usage: darken-image [contrast=40]" echo "" exit 1…

computing