~/devreads

18 Jan 2024

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

1 min read

A short reflection on simplicity and why I try to keep software and life less complex.

1 min read

Why I use htmx for simple dynamic web interactions without heavy client-side code.

13 Jan 2024

12 Jan 2024

11 Jan 2024

1 min read

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?

Matthew Green 11 min read

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…

appleattacksprivacy

10 Jan 2024

Henrik Warne 8 min read

“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 →

programmingbookbook reviewreviewtidying

Tamas Kadlecsik 5 min read

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?…

elixir

lukaseder 1 min read

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…

jooq-in-useimplicit joinsimplicit path joinjavajoin elimination

12 min read

"Wait, is that Sean? Hold on a sec," I exclaimed, interrupting a friend mid-conversation. I had just seen him speeding past the famously…

9 Jan 2024

Rob 2 min read

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…

python

jesalg 5 min read

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

Bisman Sodhi 4 min read

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…

software-engineeringdata-platformsdata-engineering

blog.muffn.io (muffn_) 1 min read

📔 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

Kirill Shevch 1 min read

Onion Dijon Crusted Catfish — Seafood Catfish fillets are seasoned with honey mustard and onion, then baked until golden brown in this easy main dish.

catfishhoney-mustardonionpeppercatfish-recipe

5 Jan 2024

jgamblin 1 min read

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…

uncategorized

Ayush Priya 7 min read

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…

aws-securitycloud-securityinfrastructure-securityimdsv2

4 Jan 2024

3 Jan 2024

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 edition is this series of articles about transaction isolation levels in PostgreSQL. Speaking of database transactions, this article…

newsletterhibernatejavajpamysql

jgamblin 3 min read

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…

uncategorized

Kirill Shevch 1 min read

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.

reciperefrigeratorcookiesbutter-balls-recipebrown-sugar

2 Jan 2024

jonskeet 16 min read

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…

digimixer

Rob 1 min read

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…

software

1 Jan 2024

19 min read

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

1 min read

Bookmarks for January 2024: 5 links - Perfectionism and Procrastination: How The...; Advice to Young People, The Lies I Tell My..., and more.

Rob 3 min read

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…

mephotographyyear in pictures

Eric Elliott 13 min read

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,…

typescriptjavascripttddreacttechnology

30 Dec 2023

28 Dec 2023

Kirill Shevch 1 min read

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.

weeknightrisottobutternut-squashwhite-beans-reciperice-mixture

lukaseder 1 min read

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…

jooq-developmentcorrelated subqueriesexplicit path joinsimplicit join path correlationimplicit joins

27 Dec 2023

Luciano Mammino 25 min read

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.

life

26 Dec 2023

25 Dec 2023

22 Dec 2023

Rasha Ardati 1 min read

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

Stanko 3 min read

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

lukaseder 1 min read

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…

jooq-in-usesqlfor updatefrom clausemysql

Allan Hunter 5 min read

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 […]

software architecturetestingbfcmperformance testingquality assurance

0xADADA 6 min read

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…

essaysopen-sourcesoftware-engineeringember.jsreact

19 Dec 2023

vladmihalcea 1 min read

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…

hibernatemysqloraclepostgresqlsql server

Max Beizer 4 min read

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…

Manuel Vivo 12 min read

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…

android-app-developmentviewmodelarchitectureandroidui

18 Dec 2023

1 min read

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,…

Kirill Shevch 1 min read

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.

doughteaspoon-ground-cardamombreadmilkholiday-gifts

David Walsh 1 min read

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

jesalg 9 min read

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

lukaseder 1 min read

New 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…

jooq-developmentcockroachdb 23duckdbgradlegradle plugin

vladmihalcea 1 min read

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…

hibernateonetoonejpamultiple entities

14 Dec 2023

1 min read

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.

safety alignment

Kirill Shevch 1 min read

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.

bacon-y-versioncheese-ball-dreamsranch-cheese-ball-recipeloversbacon-ranch