tagadab.com

VN:F [1.9.22_1171]
Rating: 8.0/10 (1 vote cast)

Cheap developer VPS hosting from £10

superuser.com

VN:F [1.9.22_1171]
Rating: 7.0/10 (1 vote cast)

Super User is a Q&A site for computer enthusiasts that’s free. Free to ask questions, free to answer questions, free to read, free to index

How to add an external library to Immich in Windows?

30 December 2025 @ 1:11 am

How do I add an external library in Windows, such as "M:\My Documents\Pictures\Personal". I tried adding it with and without quotes but I get an error like: "Invalid import path: Import path must be absolute, try /usr/src/app/M:\My D(Immich Server Error)". I don't understand the instructions in the Immich documentation that say: Edit docker-compose.yml to add one or more new mount points in the section immich-server: under volumes:. If you want Immich to be able to delete the images in the external library or add metadata (XMP sidecars), remove :ro from the end of the mount point. immich-server: volumes: - ${UPLOAD_LOCATION}:/data + - /home/user/photos1:/home/user/photos1:ro + - /mnt/photos2:/mnt

Why won’t Rufus work for a “Windows To Go” installation?

30 December 2025 @ 12:48 am

I am using Rufus 4.11 64-bit and I’m trying to create a Windows 10 rescue USB flash drive. I do not want to install Windows, I want a windows system to boot from my USB flash drive. Rufus seems to work when I choose “Standard Windows Installation” but if I choose “Windows to Go” (which is what I want) I get: ISO image scan failed.

How to get a Windows ARM64 native version of Firefox?

29 December 2025 @ 11:33 pm

I have a ARM64 Windows laptop (Qualcomm Snapdragon), and my web browsing experience is performance-sensitive. The downloaders from https://www.firefox.com/en-US/browsers/enterprise/#download install x86-64 Firefox executing with the Prism x86-64 emulator. I want a native arm64 Firefox. Where can I get it? enter image description here

How to install Python2 zlib on Ubuntu 24?

29 December 2025 @ 10:10 pm

I am trying to set up my Python2 virtualenv on Ubuntu 24. The following script worked on Ubuntu 16-20. It would set up a virtualenv named _py. mkdir -p _py git clone https://github.com/pypa/virtualenv.git _py/virtualenv (cd _py/virtualenv ; git checkout -b 13.1.2 13.1.2) /usr/bin/python2.7 _py/virtualenv/virtualenv.py _py However on Ubuntu 24 it says the following: Traceback (most recent call last): File "./_py/virtualenv/virtualenv.py", line 17, in <module> import zlib ImportError: No module named zlib This question is not a duplicate of this one which is not focused on Ubuntu 24. The answers there (such as installing zlib1g-dev or using the --no-site-packages virtualenv option) do not fix the ImportError on Ubuntu 24. Update Another wa

C5 and C6 SMART errors, how bad is it? [duplicate]

29 December 2025 @ 9:26 pm

A hard disk of mine shows C5 and C6 SMART errors: CrystalDiskInfo showing C5 and C6 SMART errors "Uncorrectable" does not sound great, so I have ordered a replacement. However, it may ship in a few days, possibly 2nd of January due to public holidays. Are those errors so bad that I should leave the PC turned off for the next few days, or should I be able to work normally, until the replacement arrives?

Is it possible to scroll past the bottom / have empty space below the cursor with Windows Terminal?

29 December 2025 @ 7:36 pm

I am using Windows Terminal (1.23.13503.0) with Command Prompt as the default profile. I have others like PowerShell, Ubuntu 24.04.01 LTS. This is not a scrollback or history issue, if I understand those terms correctly. Scrolling up works fine and I can see all previous output. My problem is specifically at the bottom of the screen: in classic Command Prompt (conhost), the screen buffer can be taller than the window, so I can scroll past the last line and have empty space below the cursor. This gives visual breathing room while typing near the bottom. And I don't feel claustrophobic. In Windows Terminal, the cursor is always glued to the bottom edge. Until I actually print new lines, there is no empty space below, and typing feels visually cramped. I am NOT asking for: More scrollback. History retention. Switching shells. Workarounds like pressing Enter. I want to know:

Where does UEFI find the names for each entry in the boot options list?

29 December 2025 @ 4:14 am

When I plug a bootable drive into a computer, it appears in the BIOS/boot options menu, and has a name, such as 'Windows Boot Manager' or 'Fedora', etc. But I don't understand where these names come from, and whenever I search about it I only find info about viewing/editing the options in the list, not their source. To my understanding, the motherboard/BIOS keeps a list in NVRAM of EFI boot options. These can be edited with programs like efibootmgr. But those must be being populated from some data in the EFI partition, right? When I look in there I just see a bunch of .efi executable files, and the names of the folders they're in also don't seem to correspond to this. Is the BIOS actually executing these .efi files somehow to get the name to display for them, without actually triggering the boot process, or is there some header or something in them? Or is there some other hidden place where the names come from?

How to "aggregate" a list of items for a shopping list?

28 December 2025 @ 7:36 pm

I'm an electrician and I build my invoices with Excel, using both the Data Model (Power Pivot) and Power Query. I'm very happy with the result so far and I want to add a functionality: from each invoice I would like to produce a shopping list that I can send to my supplier, so he can send me the right materials for the job. So far I have a table that looks like this (I simplified it for sharing it here): Quantity Items to buy 10 so, box 4 sw1, box, lsoE Each line in this table corresponds to a Task (for example, the first line is "installing a single socket"). The items on the right correspond to the keys of items, which I have in another table: everything is linked in the Data Model. So if I install 10 single sockets, I'

.cda music files on commercial audio CD are not recognized with their media information

26 December 2025 @ 1:31 pm

I recently purchased a Commercial Audio CD. When I load the CD through an external CD drive in Windows 11, it reads properly, but doesn't detect the music info from that commercial CD. Also, it doesn't load either Album Art or other media information. The good thing is that songs are launching properly. File Explorer - Screenshot: enter image description here Example: It's showing Track01.cda instead of showing the original name.cda of the song with the album art. Windows Media Player - Screenshot: enter image description here It's having the same issue. Showing me an Unknown Album in the Windows Media Player when loaded. Please guide me on how to fix this issue. This is my firs

Windows Media Player (Legacy) - Missing Artist/Title etc. when ripping

26 December 2025 @ 1:32 am

I haven't ripped any CDs lately, but today, when I loaded up a CD (U2, The Best of 1980 - 1990) (not an obscure title!), it is just displaying generic "Track 1", "Unknown artist," etc. I've waded through the menus, and I see the following from choosing menu options "Tools" -> "Options" I have the following options: Options page, Library tab I've also chosen the menu option "Tools" -> "Apply media information changes" a few times. I've ejected and re-inserted the CD. I do get this dialog window -- eventually: Cannot download media information When I click on the "How do I add media information" URL, I get sent to the generic MS Windows support page. I know I can use the MP3Tag p

stackshare.io

VN:F [1.9.22_1171]
Rating: 8.0/10 (1 vote cast)

Dev / Production stacks for all to see. Handy tool to see what software is trending today.

StackOverflow.com

VN:F [1.9.22_1171]
Rating: 8.5/10 (13 votes cast)

Random snippets of all sorts of code, mixed with a selection of help and advice.

Simulating JAKA moveJ does linear joint position interpolation capture the real path?

29 December 2025 @ 7:39 pm

I am working on simulating JAKA robot moveJ commands in PyBullet to validate whether a set of joint poses is collision-free before executing them on the real robot. I have a list of joint poses, for example pose1, pose2, pose3. I generate the intermediate trajectory using a linear interpolation in joint space: def linear_interpolation(p1, p2, n_points): p1 = np.array(p1, dtype=np.float32) p2 = np.array(p2, dtype=np.float32) points = [((1 - t) * p1 + t * p2).tolist() for t in np.linspace(0, 1, n_points)] return points I also calculate the number of interpolation points per segment based on joint speed limits, in order to approximate timing: def compute_segment_steps(p1, p2, joint_speed_limits, step_time, safety_factor=1.2): delta = np.abs(np.array(p2) - np.array(p1)) T_segment = np.m

Prevent Python Textual from retaining content in screens

29 December 2025 @ 7:22 pm

I'm not sure why this is happening, but I'm guessing it's something that I'm missing versus a bug in the library. I'm yielding a container that we populate ListView, Label, and Button widgets into later as a result of searching: with textual.containers.Vertical(): self._search_container_widget = \ textual.containers.Horizontal( id='movie-results-container') yield self._search_container_widget That's fine. An ListItem is selected and we will navigate away. If we navigate back, this container is nonempty, with all of the widgets we've previously added to it. We were popping the screen prior to pushing the next. We began uninstalling the screen as well, but it hasn't made a difference. The compose() and on_mount() methods seem to only be called once for the initial render, so we can't proactively delete any of that content upon load, either. What am I missing? Any suggestions?

Changing column values based on values of separate columns

29 December 2025 @ 7:09 pm

I'm trying to figure out how to change values in a column (Age), based on the values of two separate columns (Species and Length). I have a dataset of fish lengths, with all of them designated either "yoy" (young of year) or "adult". these designations aren't great for the analyses I'm trying to do so I would like to assign new age designations based on the lengths and species of the sampled fish. For example if I have a dataset like this: #random sample dataframe set.seed(1) df <- data.frame( Species = rep(c("rainbow", "coho", "brown"), times = 20), Length_in = sample(1:15), Age = rep(c("yoy","adult"), times = 30)) Species Length_in Age 1 rainbow 10 yoy 2 coho 7 adult 3 brown 9 yoy 4 rainbow 5 adult 5 coho 12 yoy 6 brown 13 adult 7 rainbow 15 yoy 8 coho 6 a

SignInWithPassword has exceeded quota limits

29 December 2025 @ 7:08 pm

I was developing an Android app using Firebase, but I end up with an error message that says: 2025-12-28 10:26:29.681 10326-10326 MainActivity com.tritongames.shoppingwishlist D Sign in failed 2025-12-28 10:26:29.682 10326-10326 RecaptchaCallWrapper com.tritongames.shoppingwishlist E Initial task failed for action RecaptchaAction(action=signInWithPassword)with exception - This project's quota for this operation has been exceeded. [ Exceeded quota for verifying passwords. ] 2025-12-28 10:26:29.686 10326-10875 LocalRequestInterceptor com.tritongames.shoppingwishlist W Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: No AppCheckProvider installed. I've tried to use Gemini's advice with searching for the quota exceeded on Google Cloud IAM Quotas & System Limits, but I've never found anything. I'm still testing the project (not published), I should be able to shut o

Building a Vue3 component library: Components lose template-reactivity in Consumer-project

29 December 2025 @ 7:04 pm

Context I am creating a library of vue3 components and I am testing the build output in another consumer-project. The specific vue3-component takes data from a service-callback and is not updated through props. This works great when the component is added directly to the consuming project. But it breaks when I build it with vite and install / use it via npm in another project. Just like for user: https://github.com/vitejs/vite/issues/14846 Observations I initially had the same error of this user: onMounted is called when there is no active component instance to be associated with. However once I fixed it, the component does render but only as if it were tagged with v-once and does not upda

Is there a better way to get the length of runs in a list in haskell?

29 December 2025 @ 7:03 pm

module Trial where import Data.List getRunCount :: (Ord a, Eq a) => [a] -> [(a, Integer)] getRunCount lst = getRunCount' (sort lst) [] where getRunCount' :: Eq a => [a] -> [(a, Integer)] -> [(a, Integer)] getRunCount' [x] cs = case getIdx x cs of Just idx -> take (fromInteger idx) cs ++ [incr idx cs] ++ drop (fromInteger (idx + 1)) cs Nothing -> (x, 1):cs getRunCount' (x:xs) cs = case getIdx x cs of Just idx -> getRunCount' xs $ take (fromInteger idx) cs ++ [incr idx cs] ++ drop (fromInteger (idx + 1)) cs Nothing -> getRunCount' xs $ (x, 1):cs incr :: Integer -> [(a, Integer)] -> (a, Integer) incr i pairs = let (e, c) = pairs!!(fromInteger i) in (e, (c + 1)) getIdx :: Eq a => a -> [(a, In

How to disable accessibility features in a Qt app?

29 December 2025 @ 6:51 pm

The issue: You create an Android Qt C++ app. When the user has any accessibility features enabled, the app lags, it's so slow that it's unusable and finally crashes. In the associated Android log you find entries like that: [2025-12-28 13:42:43.177 Uid(value=10021):11177:11177 W/Qt A11Y] Accessibility: populateNode for Invalid ID [2025-12-28 13:42:43.178 Uid(value=10021):11177:11177 W/Qt A11Y] AccessibilityEvent with empty description The issue is present in Qt bug logs since Qt 5.2 up to Qt 6.8, I'm now using Qt 6.10 and it appeared again. Possible solutions: There was a solution in Qt 6.8 which was rather simple. You use the following code in your C++ main() function to define an environment variable before instantiating your QApplication class: qputenv("QT_ANDROID_DISABLE_ACCESSIBILITY", "1");

Does a ModelSerializer catch "django.core.exceptions.ValidationError"s and turn them to an HTTP response with a 400 status code?

29 December 2025 @ 6:41 pm

Let's say this is my model: from django.core.exceptions import ValidationError class MyModel(models.Model): value = models.CharField(max_length=255) def clean(self): if self.value == "bad": raise ValidationError("bad value") def save(self): self.full_clean() return super().save() And I have this serializer: from rest_framework.serializers import ModelSerializer class MyModelSerializer(ModelSerializer): class Meta: model = MyModel fields = ["value"] And this was my viewset from rest_framework.viewsets import ModelViewSet class MyModelViewSet(ModelViewSet): queryset = MyModel.objects.all() serializer_class = MyModelSerializer My question is: what should happen when a bad

How to set timeout for function execution in postgresql?

29 December 2025 @ 6:10 pm

I've received a task to optimize our function for generating new partitions for a table. Let's say that we have something like this: CREATE OR REPLACE FUNCTION partition_creator(count_days integer, from_relative_today integer) RETURNS void LANGUAGE plpgsql AS $function$ declare -- some fields declaration begin execute 'set role AS_ADMIN;'; execute 'SET local lock_timeout=300000'; for i in 1..count_days loop -- some logic here with selects to pg_class to check if partition with specific name exists already -- and sqls for creating new partitions and indexes for them end loop; end; $function$ ; As you can see, this function will wait for 5 minutes to receive the lock for execution. I need to reduce total execution time to 2 minutes. These time should include lock waiting time and execution time (for example - if the function waits for the lock for 1:30 minutes, then it has only 30 seconds for

How to properly implement global exception handling in ASP.NET Core Web API to return consistent error responses?

29 December 2025 @ 6:06 am

I'm building an ASP.NET Core 8.0 Web API and want to implement global exception handling that returns consistent JSON error responses to clients, regardless of where exceptions occur in my application. Right now, different types of exceptions return different response formats: Business logic exception (my custom exception): { "message": "User not found" } Validation error: { "errors": { "Email": ["Email is required"] } } Unhandled exception (500 error) just returns a generic error page or empty response in production. I want ALL errors to return a consistent format like this: { "statusCode": 404, "message": "User not found", "details": "Additional context here" } What I've tried: 1. Using middleware: public class Ex

stackblitz.com

VN:F [1.9.22_1171]
Rating: 8.5/10 (2 votes cast)

Create, edit & deploy fullstack apps — in just one click. From Angular to React or even just HTML, JS and CSS.

speckyboy.com

VN:F [1.9.22_1171]
Rating: 7.0/10 (1 vote cast)

insightful tutorials, time-saving techniques, fresh and useful resources and inspirational art, covering web design and development, graphic design, advertising, mobile development.

10+ Best Text Animation Presets & Templates for Premiere Pro

10 December 2025 @ 9:45 pm

Collection of Premiere Pro text animation presets and templates that will actually help your workflow. All fully editable, built for speed, and ready to drop into your timeline. The post 10+ Best Text Animation Presets & Templates for Premiere Pro appeared first on Speckyboy Design Magazine.

50+ Free Christmas Templates & Resources for Designers

8 December 2025 @ 7:35 am

A huge collection of free Christmas and holiday season-related illustrations, icon sets, brushes, invitation, cards, flyer templates, and more. The post 50+ Free Christmas Templates & Resources for Designers appeared first on Speckyboy Design Magazine.

Do Built-From-Scratch WordPress Themes Still Make Sense?

7 December 2025 @ 10:33 am

Built from scratch WordPress themes are not gone quite yet. We explain how blocks changed WordPress theme development and give clear examples of when going custom still makes sense. The post Do Built-From-Scratch WordPress Themes Still Make Sense? appeared first on Speckyboy Design Magazine.

30+ Best Free Heavy & Ultra-Bold Fonts for Creatives

6 December 2025 @ 6:28 pm

We share a curated selection of the best free ultra-bold and heavy fonts available. These are the heavy fonts you've been looking for! The post 30+ Best Free Heavy & Ultra-Bold Fonts for Creatives appeared first on Speckyboy Design Magazine.

40+ Beautiful High-Resolution Christmas Wallpapers for Your Desktop

5 December 2025 @ 12:16 am

As the holiday season draws nearer, there’s no better time to infuse your computer screen with a dash of festive flair. This collection of high-definition wallpapers have all been created... The post 40+ Beautiful High-Resolution Christmas Wallpapers for Your Desktop appeared first on Speckyboy Design Magazine.

How Should Web Designers Deal With Service Outages?

4 December 2025 @ 6:45 pm

When the web goes down, web designers are caught between providers and clients. Get practical advice on checking issues, sharing clear updates, and staying calm. The post How Should Web Designers Deal With Service Outages? appeared first on Speckyboy Design Magazine.

Why the Themes and Plugins You Choose Matter to Your Clients

4 December 2025 @ 10:33 am

Plan ahead on client projects with smart WordPress theme and plugin choices that reduce risk, cut emergency fixes, and keep your sites running smoothly for years. The post Why the Themes and Plugins You Choose Matter to Your Clients appeared first on Speckyboy Design Magazine.

10+ Best News & Broadcast Packages for After Effects in 2025

4 December 2025 @ 7:02 am

A collection of professional After Effects broadcast packages and templates for motion designers. All with stunning visuals and elegant graphics. The post 10+ Best News & Broadcast Packages for After Effects in 2025 appeared first on Speckyboy Design Magazine.

How to Build a Custom WordPress Block With Telex

2 December 2025 @ 8:16 am

Learn how Telex from Automattic helps you build custom WordPress blocks with plain language prompts, test them in Playground, and export them as installable plugins. The post How to Build a Custom WordPress Block With Telex appeared first on Speckyboy Design Magazine.

6 Best Plugins for Adding Two-Factor Authentication (TFA) to WordPress

1 December 2025 @ 8:25 am

We explore what two-factor authentication actually is and take a look at a few WordPress plugins that will help you add this feature with minimal effort. The post 6 Best Plugins for Adding Two-Factor Authentication (TFA) to WordPress appeared first on Speckyboy Design Magazine.

SmashingMagazine.com

VN:F [1.9.22_1171]
Rating: 8.5/10 (6 votes cast)

Digital media magazine for designers and developers
Web design plus tips and tricks.

Giving Users A Voice Through Virtual Personas

23 December 2025 @ 10:00 am

Turn scattered user research into AI-powered personas that give anyone consolidated multi-perspective feedback from a single question.

How To Measure The Impact Of Features

19 December 2025 @ 10:00 am

Meet TARS — a simple, repeatable, and meaningful UX metric designed specifically to track the performance of product features. Upcoming part of the Measure UX & Design Impact (use the code 🎟 IMPACT to save 20% off today).

Smashing Animations Part 7: Recreating Toon Text With CSS And SVG

17 December 2025 @ 10:00 am

In this article, pioneering author and web designer [Andy Clarke](https://stuffandnonsense.co.uk) shows his techniques for creating [Toon Text titles](https://stuffandnonsense.co.uk/toon-text/index.html) using modern CSS and SVG.

Accessible UX Research, eBook Now Available For Download

9 December 2025 @ 4:00 pm

We’ve got exciting news! eBook versions of “Accessible UX Research,” a new Smashing Book by Michele A. Williams, are now available for download! Which means soon the book will go to the printer. Order the eBook for instant download now or reserve your print copy at the presale price.

State, Logic, And Native Power: CSS Wrapped 2025

9 December 2025 @ 10:00 am

CSS Wrapped 2025 is out! We’re entering a world where CSS can increasingly handle logic, state, and complex interactions once reserved for JavaScript. Here is an unpacking of the standout highlights and how they connect to the bigger evolution of modern CSS.

How UX Professionals Can Lead AI Strategy

8 December 2025 @ 8:00 am

Lead your organization’s AI strategy before someone else defines it for you. A practical framework for UX professionals to shape AI implementation.

Beyond The Black Box: Practical XAI For UX Practitioners

5 December 2025 @ 3:00 pm

Explainable AI isn’t just a challenge for data scientists. It’s also a design challenge and a core pillar of trustworthy, effective AI products. Victor Yocco offers practical guidance and design patterns for building explainability into real products.

Masonry: Things You Won’t Need A Library For Anymore

2 December 2025 @ 10:00 am

CSS Masonry is almost here! Patrick Brosset takes a deep dive into what this long-awaited feature means for web developers and how you could make use of it in your own work.

A Sparkle Of December Magic (2025 Wallpapers Edition)

30 November 2025 @ 9:00 am

With December just around the corner, how about some new desktop wallpapers to welcome the last month of the year — and the holiday season, if you’re celebrating? Our latest edition of monthly wallpapers has got you covered. Enjoy!

The Accessibility Problem With Authentication Methods Like CAPTCHA

27 November 2025 @ 10:00 am

CAPTCHAs were meant to keep bots out, but too often, they lock people with disabilities out, too. From image classification to click-based tests, many “human checks” are anything but inclusive. There’s no universal solution, but understanding real user needs is where accessibility truly starts.

SitePoint.com

VN:F [1.9.22_1171]
Rating: 7.7/10 (3 votes cast)

New Articles, Fresh Thinking for Web Developers and Designers

Yearly Recap of SitePoint's Dev Newsletter

23 December 2025 @ 7:37 pm

Yearly Recap of SitePoint's Dev Newsletter Discover SitePoint's top 20 developer newsletter articles of 2025, featuring insights on React, AI, SQL, CSS, APIs, and modern web development trends. Continue reading Yearly Recap of SitePoint's Dev Newsletter on SitePoint.

Write for SitePoint

19 December 2025 @ 7:15 pm

Write for SitePoint We're looking for developers and designers to write about web technologies. Find out how to pitch us and what we're looking for. Continue reading Write for SitePoint on SitePoint.

Why a product-first approach can put security and reliability at risk

19 December 2025 @ 6:20 pm

Why a product-first approach can put security and reliability at risk Discover why technical maintenance and security matter as much as features. How to prioritize technical debt and build reliable products customers trust. Continue reading Why a product-first approach can put security and reliability at risk on SitePoint.

Getting Started with Foundation 6’s CLI Tools

16 December 2025 @ 5:39 am

Getting Started with Foundation 6’s CLI Tools Julian provides an in-depth look at a lesser-known, but no less powerful, feature of the new Foundation 6: the command line tools to ease development. Continue reading Getting Started with Foundation 6’s CLI Tools on SitePoint.

Store and Display Data Using ASP and XML/XSL

15 December 2025 @ 9:57 am

Store and Display Data Using ASP and XML/XSL Read Store and Display Data Using ASP and XML/XSL and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more. Continue reading Store and Display Data Using ASP and XML/XSL on SitePoint.

Create Your Own Guestbook In ASP.NET

15 December 2025 @ 9:53 am

Create Your Own Guestbook In ASP.NET Read Create Your Own Guestbook In ASP.NET and learn with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more. Continue reading Create Your Own Guestbook In ASP.NET on SitePoint.

How I Built a Form Management Platform with Angular 17 and SurveyJS

5 December 2025 @ 1:28 pm

How I Built a Form Management Platform with Angular 17 and SurveyJS Set up Angular 17 with SurveyJS for form creation. Configure standalone components, install dependencies, and establish a PHP backend for survey management. Continue reading How I Built a Form Management Platform with Angular 17 and SurveyJS on

Top 7 AI SEO Tools to Improve Your Rankings in 2026

5 December 2025 @ 1:23 pm

Top 7 AI SEO Tools to Improve Your Rankings in 2026 AI-powered SEO tools help boost rankings, speed up research, and automate optimization. Discover 2026’s best AI SEO tools for smarter growth. Continue reading Top 7 AI SEO Tools to Improve Your Rankings in 2026 on SitePoint.

Color Contrast and Web Accessibility 

2 December 2025 @ 11:30 am

Color Contrast and Web Accessibility  Understand color contrast for web accessibility. WCAG standards, testing tools, and best practices to make your website inclusive and accessible. Continue reading Color Contrast and Web Accessibility  on SitePoint.

How Microfrontends Work: 3 Integration Strategies

28 November 2025 @ 4:22 pm

How Microfrontends Work: 3 Integration Strategies What's the best way to build microfrontends? Compare route segmentation, iframes, and JavaScript composition approaches with real trade-offs and use cases. Continue reading How Microfrontends Work: 3 Integration Strategies on SitePoint.

ShowMeDo.com

VN:F [1.9.22_1171]
Rating: 7.0/10 (1 vote cast)

Learning Python, Linux, Java, Ruby and more with Videos, Tutorials and Screencasts

serverfault.com

VN:F [1.9.22_1171]
Rating: 6.0/10 (1 vote cast)

Common Server issues – FAQs and answers from those in the know

ceph-volume lvm prepare ends up with error -11

29 December 2025 @ 5:42 pm

I'm trying to add OSDs to my Ceph installation. There is a clean (no partitions, no LVM, no GPT) M.2 SSD /dev/nvme0n1 attached to each node. After having solved numerous issues with ceph-volume lvm prepare (missing keyfile, ceph-osd in wrong directory etc.), I ended up with a message saying, Was unable to complete a new OSD, will rollback changes (without any details), and error -11 at the very end of the procedure. Here is the whole output: mixtile@blade3n1:~$ sudo ceph-volume lvm prepare --data /dev/nvme0n1 Running command: /usr/bin/ceph-authtool --gen-print-key Running command: /usr/bin/ceph-authtool --gen-print-key Running command: /usr/bin/ceph --cluster ceph --name client.bootstrap-osd --keyring /var/lib/ceph/bootstrap-osd/ceph.keyring -i - osd new 7823b3e8-040f-469f-a190-25e7ae58f56d Running command: vgcreate --force --yes ceph-35f55425-c7a8-4fa1-bda8-8b2358f2eba5 /dev/nv

Kerberos Keytable missing/not writable

29 December 2025 @ 4:01 pm

I am recently trying to set up a Kerberos-5 service on my latest Debian Trixie server. I have done so years ago, using this Howto and used it this time, too. I used APT package manager to install packages krb5-admin-server and krb5-kdc sudo apt-get install krb5-admin-server krb5-kdc Following the above mentioned script, everything went smooth, until I tried to export a host principal from the (local) server to the (local) machine, as described in Section "Installing kerberized services" Connecting the Kerberos server was no problem, neither creating the principal. But exporting the principal gave an error message, that kadmin

Dovecot: How can I set up login for both unix and virtual users with passwd-file passdb?

29 December 2025 @ 1:06 pm

I am trying to set up a postfix/dovecot email server on a Debian 13 VPS. I have thus far been able to successfully configure the server for smtp and imap support on my primary domain (we will say example.com). I have even been able to configure postfix to have virtual mailboxes and aliases, and can see from root that the mail is getting successfully delivered. However, I am struggling to set up dovecot so I can authenticate both unix and virtual users (so, for example, I could host mailboxes for example.net). This documentation page describes the process to configure multiple authentication databases. It describes being able to use multiple passdb and userdb sections in order to authenticate dovecot users. Based upon what it suggested, I tried this configuration: ## Snippet from /etc/dovecot/dovecot.conf ## pa

Create new TLD or partition in ApacheDS

29 December 2025 @ 12:23 pm

I have installed ApacheDS 2.0.0 on an Oracle 9 system and am trying to configure it for my setup. It configures a default TLD of example.com with multiple OUs and other items below it. I want to create a fresh TLD: mydivision.mycompany.myorg The help and blogs point to older versions that used XML configuration files. Can someone kindly point me to a how-to for this version? The Linux server is remote and does not have GNome. I am using Apache Directory studio on my Windows PC. I also have SSH connectivity with sudo privilege. BTW, if I select Root DSE and create a new entry from scratch using domain class and specify dc=myorg as the dn, I get an error: LDAP result code 32 - noSuchObject NO_SUCH_OBJECTL failed for MessageType: ADD_REQUEST

Postfix - non-SMTP command from unknown[59.52.179.56]

29 December 2025 @ 9:26 am

Can someone help me to understand this log: 2025-12-29T09:16:22.700542+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754566]: warning: non-SMTP command from unknown[59.52.179.56]: GET / HTTP/1.1 2025-12-29T09:16:22.700896+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754566]: disconnect from unknown[59.52.179.56] unknown=0/1 commands=0/1 2025-12-29T09:16:25.094963+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754589]: warning: hostname dns67.online.tj.cn does not resolve to address 111.162.157.67: Name or service not known 2025-12-29T09:16:25.095045+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754589]: connect from unknown[111.162.157.67] 2025-12-29T09:16:25.095080+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754589]: improper command pipelining after CONNECT from unknown[111.162.157.67]: USER anonymous\r\n 2025-12-29T09:16:25.330394+00:00 ubuntu-4gb-fsn1-1 postfix/smtpd[2754589]: lost connection after UNKNOWN from unknown[111.162.157.67] 2025-12-29T09:16:25.330527+00:00 ubuntu-4gb-fsn1-1 postfix/smt

zpool resilver crash may have caused pool to become corrupted

28 December 2025 @ 8:57 pm

I'll start off by saying I do have a backup of this pool, but I also want to add that this kind of thing, if it's not recoverable, seems pretty bad if it can happen, so I want to figure out if anything can be done. I was adding a drive to the zpool when an error caused a system crash. This is the current output: zpool import music cannot import 'music': I/O error Destroy and re-create the pool from a backup source. All the partitions look fine (I think) from zdb, I tried specifying them all with -d, and I tried not including the one that was just added. It's currently been running a -X import for a few hours now which I'm not optimistic about. The import is average 70 M/s currently according to iotop (it's been a few hours, and it's not a large zpool). Is there any other way to learn what it thinks went wrong and how to fix it? Also happy to post any more useful info.

Linux policy routing VLAN -> OpenVPN tun0 not working

27 December 2025 @ 5:55 pm

OS: Ubuntu 20.04 OpenVPN client (tun0): 10.8.0.0/24 LAN: eth0 -> ISP local (must stay default) VLAN20: vlan20 -> 192.168.80.0/24 (gateway 192.168.80.1) Goal: Only traffic from 192.168.80.0/24 must go through OpenVPN (tun0). eth0 must continue using local ISP. my local network Current state: VLAN20 is reachable locally tun0 is up and reachable net.ipv4.ip_forward = 1 policy routing breaks connectivity from VLAN20 Routing policy database: # ip rule 0: from all lookup local 100: from 192.168.80.0/24 lookup vlan20vpn 32766: from all lookup main 32767: from all lookup default Routing tables: #ip route default via 192.168.0.1 dev eth0 proto dhcp src 192.168.0.50 metric 100 10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.10 1

Dovecot - Amavis - Spamassassin - spam with zero body isn't evaluated by Amavis/Spamassassin

25 December 2025 @ 12:20 pm

I got an obvious spammail in my mailbox. It even send the mail supposedly in my name... Why isn't this mail filtered out? My setup filters most of the spam nicely. edit 29/12/2025 (addition): I found a mail in my quarantine from the same spammer. Also empty body using a X-MimeOLE tag for message content, but was filtered out as spam with a heigh hits-score. The only difference seems to be the 'from' adress being not my e-mail adress. But why isn't the spf-check not filtering out the spam mail where the spammer is including a false form tag being my e-mail adres? Headers of the mail that is filtered out as spam: Return-Path: <[email protected]> X-Original-To: [email protected] Delivered-To: [email protected] Received: from localhost (localhost [127.0.0.1]) by pronova1.ramaekers-stassart.be (Postfix) with ESMTP id 62905886DE for <[email protected]>; Mon, 29 Dec 2025 12:16:40 +0100 (CET) Resen

Reverse Proxy supporting UDP with Proxy Protocol headers

24 December 2025 @ 11:21 pm

I want to host a Minecraft server on my home PC for both Java Edition (TCP) and Bedrock Edition (UDP). Because my home connection is behind CGNAT, I cannot expose the server directly, so I’m using a very low-resource VPS as a public entry point and forwarding traffic to my PC over Tailscale. The basic setup works using a simple reverse proxy (NGINX with the stream module), but there is a major limitation: on the backend server, all player connections appear to come from the VPS IP, not from the players’ real IP addresses. I learned that this can be solved for TCP by enabling PROXY protocol, which prepends the original client IP to the connection. With NGINX acting as the proxy and the backend configured to accept PROXY protocol, this works perfectly for Minecraft Java Edition (TCP). However, Minecraft Bedrock Edition uses UDP, and this is where I’m stuck: NGINX only supports PROXY protocol over TCP, not UDP. I tested HAProxy Community Edition

ceph orch always spits out error "ENOENT: Module not found" no matter which command. Why?

23 December 2025 @ 6:57 pm

I'm now adding OSDs to my Ceph cluster. Creating the OSD nodes themselves worked on all nodes: sudo ceph osd create 0 But once I tried to add the SSD on my nodes to the cluster, I got this: mixtile@blade3n1:~$ sudo ceph orch apply osd --all-available-devices Error ENOENT: Module not found mixtile@blade3n1:~$ sudo ceph orch daemon add osd node-01:/dev/nvme0n1 Error ENOENT: Module not found Other commands ended up with exactly the same error message, so that I'm afraid there's something wrong with the orchestrator itself. Ceph commands, which do not use the orchestrator, apparently do work: mixtile@blade3n1:~$ sudo ceph -s cluster: id: 3d540960-ce05-11f0-a5b1-0e281c59af8c health: HEALTH_WARN 1 MDSs report slow metadata IOs 1/4 mons down, quorum blade3n4,blade3n2,blade3n3 Reduced data availability: 2 pg