In this article, delve into the reasons why embracing Elixir could be the catalyst for your evolution as a developer in 2024. The post Why Elixir is the Programming Language You Should Learn in 2024 appeared first on Erlang Solutions.
14 Feb 2024
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…
Learn how Datadog’s Documentation team uses a linter to shift quality left.
On-premise and Offline map server can now mosaic different layers with color-toning to create seamless, beautiful maps.
13 Feb 2024
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…
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…
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…
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…
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.
How we implemented CPU and wall time profiling in our .NET continuous profiler.
We’re testing the ability for ChatGPT to remember things you discuss to make future chats more helpful. You’re in control of ChatGPT’s memory.
12 Feb 2024
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…
11 Feb 2024
Since the last time I had too much fun, I wanted to repeat the experiment by taking another Coding Challenge. This time I'm gonna explain how I implemented an Application Load…
For the first time ever, I was laid off, and had to find a new software developer job. I managed to find a new one, but it took longer than I thought, and it was a lot of work. I … Continue reading →
10 Feb 2024
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
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…
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
GitHub’s Engineering Fundamentals program: How we deliver on availability, security, and accessibility
GitHubHow 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…
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…
Consistent hashing determines where data should be stored in a distributed system whilst tolerating servers being added or removed
Lee Sigauke unveils an innovative approach to transactional systems, championing the "let it crash" philosophy of Erlang and Elixir. The post A Match Made in Heaven – Transactional Systems and Erlang/Elixir appeared first on Erlang Solutions.
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
Discover how to create a video streaming application with instant video calling using WebRTC and PubNub.
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…
Serverless functions examples, discussing deployment tactics and choosing the right FaaS provider in today's cloud computing software industry
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.…
Part 3: Designing & Deploying MANS - A Hybrid NAS Approach with SnapRAID, MergerFS, and OpenZFS
Monstermuffin🎬 The Plan # I’m dubbing this setup and its configuration ✨ MANS ✨, Muffin’s Awesome NAS Stack.
6 Feb 2024
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…
When I was building Rodeo, my command line Flickr uploader, one thing I wanted to do was set the version number that you see when you type rodeo -v to the correct version when I build the application for release. The basic process I wanted was: Tag git repository with new version number and push Build rodeo with that version…
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
GoSquared is now 18 years old. The internet, and the world, has changed a lot in 18 years. Aside from... The post GoSquared celebrates 18 years in business, returns to being a loveable analytics tool appeared first on GoSquared Blog.
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…
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.…
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…
Happy new year! The first release of 2024 is here!
1 Feb 2024
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!…
Explore the rise of hybrid-casual games, merging hyper-casual simplicity with casual game depth, and their impact on the evolving gaming industry.
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…
Learn how to build a Chatbot with a Custom Knowledge Base using PubNub Functions
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.
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…
31 Jan 2024
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.
The on-demand economy is a service or product built on letting users request a physical object, data, a service and have it fulfilled soon after.
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…
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…
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
Build a high-tech home air quality monitoring system with Raspberry Pi, evaluating CO levels, temperature, humidity, and providing immediate alerts.
When building a real-time chat application to run cross-platform, Flutter and PubNub are a great combination.
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…
29 Jan 2024
During the Firefox 120 beta cycle, a new crash signature appeared on our radars with significant volume. Engineers working on Firefox, explore the subtle pitfalls of combining compiler flags. The post Option Soup: the subtle pitfalls of combining compiler flags appeared first on Mozilla Hacks - the Web developer blog.
Sending message to web browsers and mobile phones from Kafka topics is easy with the PubNub Kafka Sink Connector.
Read our complete guide to chat application architecture. Read this and our other information on chat application architecture.
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
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
Build with ease chat room app with JS code. Try simple 10 lines code demo or ready-to-use github repository and build your features
Explore the Python Global Interpreter Lock (GIL) and its impact on performance and threading in cPython environments.
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…
25 Jan 2024
Read our complete guide to build game alerts. Read this and our other information when building game alerts and push notifications.
Implement and display live-updating geolocation data on a real-time map using JavaScript with modern mapping APIs.
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.
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…
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
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…
Channel groups are the best way to receive real-time messages on different devices. Let's explore various use cases for this revamped feature.
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…
This article discuss the reason why I wanted to migrate this blog from Gatsby to Astro and the process I followed to do it. Plus a bunch of interesting and quirky bugs that I had to troubleshoot and fix along the way.
Learn how to build a free real-time chat app using Next.js and PubNub, focusing on creating an engaging and dynamic user experience
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
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…
22 Jan 2024
Build a scalable Python chat app using PubNub for real-time messaging, presence detection, and low-latency communication with easy API integration
21 Jan 2024
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…
20 Jan 2024
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
This guide will walk you through building the front-end and back-end code for desktop notifications with the MVVM design pattern.
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
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 –…
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…
Build scalable, real-time text and video chat apps with Node.js, leveraging WebSocket and WebRTC, while learning best practices for performance and security
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…
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…
An updated overview of how to build an Android beacon (ie. iBeacon), including in-depth tutorials on building the emitter and detector.
Unlock the power of Big Data! Learn its core concepts, tools, and best practices that every data engineer needs to design scalable data pipelines
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…
Explore the comparison between AWS Transit Gateway and VPC Peering, and how they impact modern cloud networking decisions.
17 Jan 2024
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…
Segregate gaming servers from chat servers using advanced methodologies and recent technologies.
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 […]
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…
16 Jan 2024
Unleash the power of your Raspberry Pi with GPS tracking using WiFi/LTE, and create interactive maps with the latest Google Maps API and PubNub.
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…
We funded 10 teams from around the world to design ideas and tools to collectively govern AI. We summarize the innovations, outline our learnings, and call for researchers and engineers to join us as we continue this work.
Compare Long Polling vs WebSockets: Advantages, Disadvantages and real-time impact. Find the best approach for your web development needs.
15 Jan 2024
An in depth guide with examples on how to program WebSocket clients in Java and Android, using the Spring Boot framework.
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…
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…
Reflecting on open banking's latest milestones and what's still left to achieve
Explore and compare modern realtime alternatives to WebSockets. Understand their advantages, limitations, and impact on web development.