Wed.Jan 08, 2025

article thumbnail

Incident Update: Docker Desktop for MacĀ 

Docker Blog

We want to inform you about a new issue affecting Docker Desktop for some macOS users. This causes Docker Desktop to not start. Some users may also have received malware warnings. Those warnings are inaccurate. Current status We have identified the root cause. A temporary workaround that will restore functionality is available for any affected users.

363
363
article thumbnail

The Wall of Technical Debt

Mathias Verraes

Technical debt is a metaphor for all software design choices that turn out to be suboptimal, no longer valid, or just plain wrong. These choices incur a cost on future development, and the shortcuts taken today will later slow you down until you pay back the debt by fixing the problems. And its not only code: Artifacts like architecture, documentation, tests, and domain models can all suffer from technical debt.

Financial 245
Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Trending Sources

article thumbnail

How to Dockerize a Django App: Step-by-Step Guide for Beginners

Docker Blog

One of the best ways to make sure your web apps work well in different environments is to containerize them. Containe rs let you work in a more controlled way, which makes development and deployment easier. This guide will show you how to containerize a Django web app with Docker and explain why it’s a good idea. We will walk through creating a Docker container for your Django application.

Port 295
article thumbnail

ā€œSoftware design is just theoryā€

Mathias Verraes

Software design is just theory. Design patterns are too academic. Writing code is the only way to become a better programmer. Just ship it. Thats over-designed. As a consultant, I visit different clients throughout Europe. Some of them hire me for help with greenfield projects. Some others want my help with legacy projects, that they have been working on for typically 4-6 years.

245
245
article thumbnail

Unlocking Efficiency with Docker for AI and Cloud-Native Development

Docker Blog

The need for secure and high quality software becomes more critical every day as the impact of vulnerabilities increases and related costs continue to rise. For example, flawed software cost the U.S. economy $2.08 trillion in 2020 alone, according to the Consortium for Information and Software Quality (CISQ). And, a software defect that might cost $100 to fix if found early in the development process can grow exponentially to $10,000 if discovered later in production.

Cloud 165
article thumbnail

DRY is about Knowledge

Mathias Verraes

Have a look at these two classes: products )) { throw new Exception ( "Max 3 products allowed" ); } $this -> products [] = $product ; } } final class Shipment { private $products ; public function addProduct ( $product ) { if ( 3 == count ( $this -> products )) { throw new Exception ( "Max 3 products allowed" ); } $this -> products [] = $product ; } } Would you say this is duplicate code?

236
236
article thumbnail

SMB Digital Transformation: Enabling Success by Fostering a Culture of Innovation and Agility

Cisco Wireless

Explore how Rasheeda Frazier of Empowering Greatness Inc. drives digital transformation for SMBs, fostering innovation and agility, and empowering communities through strategic insights and Cisco partnerships.

More Trending

article thumbnail

Vertiv acquires centrifugal chiller technology to broaden its global solutions portfolio in support of high-performance compute and AI

Vertiv

Vertiv (NYSE: VRT), a global provider of critical digital infrastructure and continuity solutions, today announced the acquisition by its Chinese subsidiary of certain assets and technologies of BiXin Energy Technology (Suzhou) Co., Ltd (.

Energy 132
article thumbnail

How to read more books

Mathias Verraes

You cant learn everything from books, people say. Its nothing but an excuse not to read books. Its a straw man argument, because no-one has ever claimed that you can. Or, knowledge from experience cant be taught in a book. Even though thats true, there are many people out there with years of experiences that you will never have. Some of them are very good at sharing at least some of that gained knowledge through writing.

233
233
article thumbnail

Open source all the way down: Upgrading our developer documentation

CloudFaire

At Cloudflare, we treat developer content like a product , where we take the user and their feedback into consideration. We are constantly iterating, testing, analyzing, and refining content. Inspired by agile practices, treating developer content like an open source product means we approach our documentation the same way an open source software project is created and maintained.

article thumbnail

Facilitating Event Storming

Mathias Verraes

Event Storming is a technique where you get the developers and the business stakeholders in a room, and visualize the business processes. You do this using stickies with domain events and causality (such as commands), and end with drawing boundaries for aggregates, bounded contexts and subdomains. Its developed by Alberto Brandolini and is deeply rooted in Domain Driven Design, and CQRS/ES.

231
231
article thumbnail

Feature ā€“ Reducing the impact of cyber attacks with rapid detection

DCNN Magazine

By Eric Herzog, CMO at Infinidat. There are constant headlines reporting cyber attacks on enterprises and preparing for the inevitability of cyber crime is absolutely critical. Yet despite such a widespread expectation of cyber attacks, there’s a concerning lack of preparedness. Research conducted by the Ponemon Institute in 2023 suggests that only 35% of enterprises say they feel properly prepared to deal with a cyber security incident.

Financial 108
article thumbnail

Code Reviews and Blame Culture

Mathias Verraes

Gated pre-merge code reviews are bad. Always refactor on master. Always do Pair Programming. Dont use branches. Apply Continuous Integration. Best practices likes these are great. They encode experiences of many individuals and teams into memorable slogans, and help others to make decisions on how to run their teams processes. Unfortunately, the not-so-great practices also get their share of the slogans.

227
227
article thumbnail

How Fast is Human Reaction Time? Human Perception & Tech

PubNub

How fast is this concept of 'real-time?' How fast can the human mind process input? What about emulating that with technology?

105
105
article thumbnail

Managed Technical Debt

Mathias Verraes

Update 2020-01-22 I wrote a new version of this. Alberto Brandolini said at IDDD Belgium (quoting from memory): We've always explained 'technical debt' badly to the business. If you have debt with a bank, you can talk to someone, negotiate, and agree on a payment plan. But technical debt is like debt with the mob: they come at night, pointing a gun to your head, and they want their money NOW.

Banking 223
article thumbnail

Real-Time, Real Fast: Meet Seti, PubNubā€™s Sponsored Skier

PubNub

Meet the newest member of the PubNub team. No, she's not a programmer, and actually, she isn't even in high school yet.

98
article thumbnail

The DDDBE Modellathon

Mathias Verraes

Goal Many teams are not spending enough time on modeling. Often, theyre not particularly good at it, and often, the business considers time spent at the whiteboard unproductive. The goal of the Modellathon workshop, was to give people a safe environment to play around with different modeling techniques, without the pressure of producing something of immediate value.

article thumbnail

Converting JavaScript App Into an Android App with PhoneGap

PubNub

This tutorial shows you how to convert a JavaScript web application into an Android application with PhoneGap, as well as manually with Cordova CLI.

article thumbnail

Objects as Contracts for Behaviour

Mathias Verraes

A lot of so-called Object-Oriented Programming 1 is in fact nothing more than procedural code wrapped in objects. The funny thing is: many people actually defend this style of programming! This is one of the chief arguments: Objects should just be bags of state and nothing more. An invoice does not pay itself. An appointment does not reschedule itself. 2 invoice.pay(anAmount) and appointment.reschedule(aDate) do not match the real world.

Education 214
article thumbnail

Sending Android Push Notifications via GCM in JavaScript

PubNub

In this tutorial, we'll show you how to send and receive Android Push Notifications with GCM, PubNub, and PhoneGap for web, mobile, and devices.

article thumbnail

The Cost of Estimation

Mathias Verraes

On Estimation The Cost of Estimation Sterile Estimation Ballpark Figures When somebody asks you to estimate how long a feature or a project will take, you will estimate the shortest possible time in which you can complete it. Think about this. Observe your own thoughts while estimating, and youll know its true. Even if the request was done with the best of intentions, the implicit assumption is not how long will it take to build it right but how fast can you build it.

Server 213
article thumbnail

Turn Your Phone into a Motion Controller with Polymer

PubNub

How to turn your phone into a motion controller to control actions in real time to interact with a web browser game. It's a DIY Nintendo Wii!

98
article thumbnail

Design Heuristics

Mathias Verraes

Video for my DDD eXchange 2018 keynote in London Abstract Software design principles aspire to be universal. And yet, when you create software, you sometimes intentionally violate principles. You might not be able to explain why this wrong design somehow feels better. Youre applying your own, unspoken design heuristics. Bringing them out in the open, improves design discussions, and helps you build a larger toolkit for making better tradeoffs.

213
213
article thumbnail

$20M Series C to Transform Global Real-time Communications

PubNub

Were excited to announce $20 million in Series C funding led by Sapphire Ventures, joined by prior investors Scale Venture Partners and Relay Ventures.

98
article thumbnail

Sterile Estimation

Mathias Verraes

On Estimation The Cost of Estimation Sterile Estimation To reduce the risk of incidents, the FAA imposed the so-called sterile cockpit regulation. Most air traffic accidents happen while taking off or landing, or in the vicinity of airports. The rule instructs pilots and cabin crew to refrain from non-essential activities and conversations while the plane is below 10.000 feet.

211
211
article thumbnail

Build an IoT Coffee Maker with Real-time Volume Monitoring

PubNub

How to build an IoT coffee maker that streams coffee volume in the pot to a real-time web interface with an Atmel MCU, ESP8266, & PubNub Data Streams

IoT 98
article thumbnail

Small Uncontrolled Experiments (revisited)

Mathias Verraes

My blog post on Small Uncontrolled Experiments landed me an invitation to speak at Agile Cambridge. As the slides are probably not that useful if you havent seen the presentation, I advise you to read the blog post instead. Update 2021-01-25: I used to call this small controlled experiments. It was a name that grew organically and it stuck. Nowadays, I believe theyre very much uncontrolled: a team is too small and a sprint is too short for anything remotely scientific.

210
210
article thumbnail

Motion-controlled Servos with Leap Motion & Raspberry Pi

PubNub

How to use Leap Motion, Raspberry Pi, and PubNub to create remote motion-controlled servos enabling the control of a physical object in real time.

98
article thumbnail

Code Folder Structure

Mathias Verraes

All code bases I ever read or worked with, share a similar folder structure: Controllers BlogPostController CommentController Models BlogPostModel CommentModel Views BlogPostsView BlogPostDetailView Helpers The ones where the developer has read Domain Driven Design, or is using Doctrine2 or Hibernate, usually have a better focus on the domain model: Model Entities BlogPost Comment User Repositories BlogPostRepository CommentRepository UserRepository Services UserService The philosophy of these

article thumbnail

WebRTC Video Chat in 20 Lines of JavaScript (1/2)

PubNub

How to get up-and-running with a simple WebRTC video and voice chat app in 20 lines of JavaScript, enabling two users to video chat in a web browser.

article thumbnail

Type Safety and Money

Mathias Verraes

Below is an attempt at illustrating a design/redesign process I went through at a client, whos started refactoring the core systems their business depends on. Design is the part of software development that is the most messy, the hardest to fit into rules or well-defined processes. In fact, while writing this post, I tweeted: There are surprisingly few software design books that recommend taking a walk, a shower, or a nap, as an important step.

article thumbnail

Vertiv Launches Augmented Reality App for Immersive Product Exploration

Vertiv

Vertiv (NYSE: VRT), a global provider of critical digital infrastructure and continuity solutions, today announced the release of the Vertiv XR app, a first-of-its-kind tool in the data center space that allows data center operators, IT.

article thumbnail

How Much Testing is Too Much?

Mathias Verraes

Figuring out how much unit tests you need to write, can be tricky, especially if you are new to Test-Driven Development. Some teams strive for 100% code coverage. Some open source projects even announce their test coverage on their GitHub profiles as if coverage is an indicator of quality. Coverage only measures the lines of code that are executed by the test suite.

Education 201
article thumbnail

Vertiv announces Frank Poncheri as chief human resources officer

Vertiv

Vertiv (NYSE: VRT), a global provider of critical digital infrastructure and continuity solutions, has named Frank Poncheri as the new Chief Human Resources Officer (CHRO), reporting to CEO Giordano (Gio) Albertazzi. He will lead HR strat.

98
article thumbnail

Let It Crash

Mathias Verraes

Programming Erlang: Software for a Concurrent World, 2nd ed by Joe Armstrong, is not just a great introduction to the language, but also offers a glimpse into the Let It Crash philosophy that drives it. Its a great read, even if you have no intention of programming in Erlang. Ive selected and reordered a number of passages that were scattered across the book, and added some comments, that I hope will do the book justice.

Routers 199
article thumbnail

How We Sped Up Eventually -Consistent Databases Global Syncs

PubNub

Our average case for global consistency was 1 second. By adding a volatile cache we improved our data acquisition rate to 1/10 of a second or less.

98
article thumbnail

Event Storming, Storytelling, Visualisations

Mathias Verraes

Visual storytelling through Event Storming Last week, my clients Chief Product Owner announced to the team they would introduce a set of new requirements using Event Storming, as Mathias has taught us. (Ive visited there regularly for the past half year or so). The session took about ten minutes, and included no brainstorming or collaboration of any kind.

Energy 199