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…
18 Jan 2024
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.
AI agents unleashed: a new era of efficiency
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.
We’re working to prevent abuse, provide transparency on AI-generated content, and improve access to accurate voting information.
A short reflection on simplicity and why I try to keep software and life less complex.
Why I use Alpine.js to add small bits of interactivity without a big frontend framework.
Why I use htmx for simple dynamic web interactions without heavy client-side code.
Ace your next tech interview! Learn 6 key strategies - clear communication, smart solutions, and asking the right questions.
13 Jan 2024
Python Data Science Day is a full day of 25 min and 5 min community contributed content March 14th, 2024 streaming on the VS Code YouTube channel. Submission deadline is January 25th AOE (Anywhere on Earth). The post Data Science Day Announcement and Call for Speaker Proposals appeared first on Microsoft for Python Developers Blog.
12 Jan 2024
Learn Python's Network Socket Programming for Efficient and Fast Data Transmission Between Devices, Servers, and Clients
Digital Green uses OpenAI to increase farmer income.
Learn how to connect an Arduino GSM shield with cellular networks for bidirectional data streaming between devices without the need for WiFi.
Tackling the challenges of using event-driven architecture in a billing system
Thoughtworks InsightsTackling the challenges of using event-driven architecture in a billing system
What benefits does SwiftUI offer for building a design system?
An illustrated guide to green software engineering
11 Jan 2024
Develop simple and scalable apps with a fast backend environment that supports popular JavaScript libraries. Websockets server tutorial
I decided to expose myself more and more, I like to share my opinions and experiences (you can say reading this blog), and this time I decided to attend as a interviewee for a well known Podcast in Italy talking about something I've done for 3 months, are you curious about it?
It’s been a while since I wrote an “attack of the week” post, and the fault for this is entirely mine. I’ve been much too busy writing boring posts about Schnorr signatures! But this week’s news brings an exciting story with both technical and political dimensions: new reports claim that Chinese security agencies have developed … Continue reading Attack of…
Enhancing the Efficiency of Erlang and Elixir System Management: WombatOAM Now Accessible on AWS Marketplace
Erlang SolutionsExplore WombatOAM by Mohammed Ali Khechine on AWS Marketplace for streamlined Erlang and Elixir system management. The post Enhancing the Efficiency of Erlang and Elixir System Management: WombatOAM Now Accessible on AWS Marketplace appeared first on Erlang Solutions.
Introduction In this article, we are going to see what is the best way to test the data access layer when using a relational database system. First, we will talk about the pros and cons of unit testing. While unit testing is fine for validating independent logic units, when it comes to testing the data access layer, integration testing is…
10 Jan 2024
“Software design is preparation for change; change of behavior” Tidy First? is a new book by Kent Beck. It is a short little book, only about 100 pages (and lots of white space on them), but it contains some deep … Continue reading →
Let’s face it: In the JavaScript world, we still don’t have a killer app. We’ve previously written about Redwood and Blitz, two technologies that seemed promising at the time, but they’re still not really there, and we do not see them taking the community by storm. (You can read about them here: RedwoodJS vs. BlitzJS: […] The post Why Elixir?…
One of jOOQ’s key features so far has always been to render pretty much exactly the SQL that users expect, without any surprises – unless some emulation is required to make a query work, of course. This means that while join elimination is a powerful feature of many RDBMS, it isn’t part of jOOQ’s feature … Continue reading A Hidden…
We’re launching a new ChatGPT plan for teams of all sizes, which provides a secure, collaborative workspace to get the most out of ChatGPT at work.
It was only a matter of time before I fell in love with Domain-Driven Design. Not only did it clarify how to organize my code and untangle…
"Wait, is that Sean? Hold on a sec," I exclaimed, interrupting a friend mid-conversation. I had just seen him speeding past the famously…
A Rust object that survives program restart thanks to Rust allocators, systemd's file descriptor store, and syscall memfd_create.
9 Jan 2024
I usually use my rodeo app to upload photos to Flickr, but for various reasons, I recently uploaded some photos directly via Flickr itself. One feature of rodeo that I really like is that it sets the date posted to be the same as date taken which means that they are ordered correctly in my photo stream. As this doesn't…
Our .NET profiler was designed and implemented to run 24/7 in production, at any scale, with negligible impact. Here are the details of how we built it.
Remember scrambling for notes, losing ideas to the ether, struggling to keep up with tasks, and drowning in a sea of information? Yeah, me too. But that was before I understood Personal Knowledge Management (PKM). In my previous post, we explored the essentials of PKM and Tiago Forte’s The 4 Levels of Personal Knowledge Management. Since then, I have received…
8 Jan 2024
Hi my name is Bisman and I studied Computer Science at University of California, Santa Barbara. During summer of 2022, I had the most amazing experience working as a Software Engineer Intern on Strava’s Data Platform Team. In the first fews weeks, I learned the tools my team uses and then spent the rest of the time working on my…
We support journalism, partner with news organizations, and believe The New York Times lawsuit is without merit.
📔 Intro # This post will be a tutorial on how to get rclone working on Synology’s DSM and enable one/two-way sync between your Synology device and an rclone compatible cloud backend.
7 Jan 2024
Onion Dijon Crusted Catfish — Seafood Catfish fillets are seasoned with honey mustard and onion, then baked until golden brown in this easy main dish.
5 Jan 2024
Every year, I get asked, “How many CVEs do you think will be published this year?“ I am always willing to take a guess, but last year, I read Time Series Forecasting in Python. As I started to read more about the Kalman Filter, I figured it would work great for predicting CVE growth, so I built a simple model…
CRED has evolved to be a multi-product platform, and that necessitates the use of multiple microservices. The microservices we have run primarily on AWS ECS (Elastic Container Service). Within our ecosystem, these microservices predominantly operate on AWS ECS (Elastic Container Service). Additionally, we leverage EC2 instances and EKS for specific workloads that demand enhanced resource management capabilities. Among all of…
4 Jan 2024
How to: Call Access Manager from PubNub Functions
WHOOP delivers personalized fitness and health coaching with GPT-4.
3 Jan 2024
An efficient and effective way to manage their user and channel metadata without deploying additional backend infrastructure.
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 edition is this series of articles about transaction isolation levels in PostgreSQL. Speaking of database transactions, this article…
2023 marked another year of record growth in CVE data, and I thought it fitting to kick off the new year by delving into these statistics and showcasing some of the more interesting data points. CVEs By The Numbers We ended 2023 with 28,902 published CVEs, up over 15% from the 25,081 CVEs published in 2022. On average, there were…
Make Ahead Butter Balls — Refrigerator Cookie This recipe uses a make ahead mix that can be stored in the refrigerator for up to 4 weeks. Add the following ingredients to the mix for buttery cookies.
2 Jan 2024
Despite this blog series going very slowly, the DigiMixer project itself has certainly not been stalled. Over the last year, I’ve added support for various additional mixers, as well as improving the support for some of the earlier ones, and performing quite a lot of refactoring. DigiMixer now supports the following mixers, to a greater … Continue reading DigiMixer: Protocols…
When creating my Year in Pictures post I decided that I wanted a montage of all the photos I had taken. In previous years, I've done this by taking a screenshot in an application where I try to set the zoom level correctly to get something acceptable. This time, I decided to do it properly and guessed that ImageMagick could…
Navigating the geometry of language: A new approach to synthetic text generation
Thoughtworks InsightsNavigating the geometry of language: A new approach to synthetic text generation
1 Jan 2024
The tech news is chockablock1 with antitrust rumblings and slow-motion happenings. Eagle-eyed press coverage, regulatory reports, and legal discovery have comprehensively documented the shady dealings of Apple and Google's app stores. Pressure for change has built to an unsustainable level. Something's gotta give. This is the backdrop to the biggest app store story nobody is writing about: on pain of…
31 Dec 2023
Bookmarks for January 2024: 5 links - Perfectionism and Procrastination: How The...; Advice to Young People, The Lies I Tell My..., and more.
Vegetable Salad — Zucchini Salad with Herbs and Red Onion A lovely fresh zucchini salad with mint, basil, and red onion. Use a spiralizer or potato peeler to slice the zucchini as thin as possible.
As we finish 2023 and look forward to 20024, I have had an enjoyable time looking back at the photos I took throughout the year. As with the last 10 years, I have managed to take a least one photo every day as part of my Project 365, which allows me to remember what happened during this year of my…
The world of JavaScript has evolved significantly, and interview trends have changed a lot over the years. This guide features 10 essential questions that every JavaScript developer should know the answers to in 2024. It covers a range of topics from closures to TDD, equipping you with the knowledge and confidence to tackle modern JavaScript challenges. As a hiring manager,…
Annual year in review: 2023 edition.
30 Dec 2023
How bad are search results? Let's compare Google, Bing, Marginalia, Kagi, Mwmbl, and ChatGPT
Dan LuuIn The birth & death of search engine optimization, Xe suggests Here's a fun experiment to try. Take an open source project such as yt-dlp and try to find it from a very generic term like "youtube downloader". You won't be able to find it because of all of the content farms that try to rank at the top for…
28 Dec 2023
Risotto with Butternut Squash and White Beans — Main Dishes The ideal flavorful dish for a weeknight or entertaining your favorite guests is a steamed butternut squash that has been folded into a creamy white bean risotto.
jOOQ 3.19 finally delivers on a set of features that will greatly simplify your queries further, after jOOQ 3.11 introduced implicit to-one joins: What are these features? Many ORMs (e.g. JPA, Doctrine, jOOQ 3.11 and others) support “path joins” (they may have different names for this concept). A path join is a join derived from … Continue reading jOOQ 3.19’s…
27 Dec 2023
In 2023, Luciano Mammino attended his first re:Invent, grew open source projects like Middy, continued podcasting on AWS Bites, and strengthened connections through public speaking and live coding. He also contributed to sustainability through LifeFoliage's Landscape Hunt game.
26 Dec 2023
You do NOT need to store your data with PubNub to create a real-time solution, but doing so can give you access to extra capabilities
The yearly Christmas edition, and the last release of 2023. This release contains mostly small improvements and bug fixes.
25 Dec 2023
Drinks — Homemade Dill Pickle Vodka Make your own dill pickle-infused vodka and serve up some excellent martinis at your next cocktail party.
22 Dec 2023
Developers in the Product and Engineering department came together with colleagues from across the Guardian to explore the potential of LLMs and more The discussion of large language models (LLMs) and generative artificial intelligence was everywhere in 2023 – not least in the Guardian’s Product and Engineering department. Hack days are a staple part of the software development culture, so…
21 Dec 2023
Appetizers and Snacks — Traditional Beef Samosas These wonton-wrapped beef samosas are flavored with a variety of spices, including cumin, coriander, and garam masala.
In this video, Jean-Mathieu Saponaro, Data & Analytics Senior Engineering Manager, describes the journey of leading, growing, and scaling self-serve analytics within Datadog.
HTML inert is a relatively new property, but it is supported in all major browsers since April this year. When you set inert on an element, the browser will ignore all user events on it, including tabbing into elements. It will also hide it from screen readers. I like to think of it as a "reversed focus trap". But we…
20 Dec 2023
In MySQL, you cannot do this: The UPDATE statement will raise an error as follows: SQL Error [1093] [HY000]: You can’t specify target table ‘t’ for update in FROM clause People have considered this to be a bug in MySQL for ages, as most other RDBMS can do this without any issues, including MySQL clones: … Continue reading Workaround for…
The holiday season brings a huge spike in traffic for many companies. While increased traffic is great for retail business, it also puts infrastructure reliability to the test. At times when every second of uptime is of elevated importance, how can engineering teams ensure zero downtime and performant applications? Here are some key strategies and […]
Six years ago, I wrote a summary of my experience working with Ember for a year. I had been with Cinch Financial for a year, building their web & mobile apps with Ember and Elixir/Phoenix. After Cinch I joined Salsify, a leader in the Ember ecosystem, and shipped some great products built with Ember during my five-year tenure. I built…
Describing yourself in inclusive meetings
How can financial institutions reduce time to market for their ideas?
19 Dec 2023
Introduction In this article, we are going to see how the Hibernate StatelessSession Upsert method works. As I explained in this article, the UPSERT operation allows you to INSERT a record if there is no such record matching the filtering criteria or to UPDATE it in case the record exists. While many relational database systems offer the standard MERGE command…
GitHub’s primary codebase is a large Ruby on Rails monolith with over 4.2 million lines of code across roughly 30,000 files. As the platform has grown over the years, we have come to realize that we need a new way to organize and think about the systems we run. Our traditional approach to organizing Hubbers and code has been through…
Crash Course on the Android UI Layer | Part 2 State Holders and Saving State This blog post series aims to summarise the Android Developer guidance on the UI layer . We’ll explore all the entities involved in it, understand the role each part plays, and discuss best practices. By the end of this series, you will have a general…
What is the Blueprint and how will it impact payment progress in 2024 (and beyond)
Insights top picks from 2023
Twenty reasons why product organization transformations fail
18 Dec 2023
I was recently introduced to the paper “Seeing the Invisible: Perceptual-Cognitive Aspects of Expertise” by Gary Klein and Robert Hoffman. It’s excellent and I recommend you read it when you have a chance. Klein and Hoffman discuss the ability of experts to “see what is not there”: in addition to observing data and cues that are present in the environment,…
Yeast Bread — Finnish Pulla A unique bread with a sweet flavor that makes a wonderful holiday gift! It takes about 4 hours to make, so allow yourself plenty of time.
As the demands of the web change and developers experiment with different user experiences, the need for more native language improvements expands. Our presentation layer, CSS, has done incredibly well in improving capabilities, even if sometimes too slow. The need for native support for automatically expanding textarea elements has been long known…and it’s finally here! To allow textarea elements to…
17 Dec 2023
Personal Insights on Building Exceptional Teams In a world where 75% of cross-functional teams are dysfunctional, mastering the art of leadership is not just a skill but a necessity. I’ve been fortunate enough to lead teams in various environments, from small start-ups to large organizations, and along the way, I’ve received consistently positive feedback on my teams’ camaraderie, cohesion, and…
15 Dec 2023
jOOQ 3.19.0 Released with DuckDB, Trino, Oracle 23c support, join path improvements, an official gradle plugin, commercial maven repositories, policies, UDT paths, trigger meta data, hierarchies, and much more
jOOQNew Dialects It’s been a few releases since we’ve added support for new dialects, but finally some very interesting RDBMS of increasing popularity have joined the jOOQ family including: These dialects are available in all jOOQ editions. New dialect versions In addition to these entirely new dialects, big new CockroachDB and Oracle versions have shipped: … Continue reading jOOQ 3.19.0…
Introduction In this article, we are going to see what is the best way to map multiple entities on the same table. There are several advantages to mapping multiple entities on the same database table: To avoid loading large columns (e.g., JSON) To avoid N+1 query issues for bidirectional @OneToOne associations Before we start investigating the best way to map…
14 Dec 2023
Summer Health reimagines pediatric doctor’s visits with OpenAI.
We’re launching $10M in grants to support technical research towards the alignment and safety of superhuman AI systems, including weak-to-strong generalization, interpretability, scalable oversight, and more.
Appetizers and Snacks — Bacon-Ranch Cheese Ball This is an extra bacon-y version of a classic ranch cheese ball. If you’re a bacon or ranch lover (or both), this is the cheese ball dreams are made of, and will be a staple appetizer for entertaining.
We present a new research direction for superalignment, together with promising initial results: can we leverage the generalization properties of deep learning to control strong models with weak supervisors?