dvdcss
the never ending story
I wanted to play a dvd I hadn't touched for a while. I had the option of
nice -1 vlcandnice -1 mplayer
to execute playback I opted for vlc gui version, even though I normally use vlc -I cli because of the great logs produced there. While using the gui version of VLC I missed the log output and jumped to mplayer to see the stats. A nice set of parameters were echoed to the CON, but in the output a entry jumped up
MPlayer 1.5+svn38674-2 (Debian)do_connect: could not connect to socket
connect: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.Playing VIDEO_TS/VIDEO_TS.BUP.
libavformat version 61.7.103 (external)
Mismatching header version 61.7.100Playing VIDEO_TS/VIDEO_TS.IFO.
.IFO detected. Redirecting to dvd://
libdvdread: Encrypted DVD support unavailable.
No css library available.
See /usr/share/doc/libdvdread8t64/README.css
for more information.
I had used rpm based distributions which added libdvdread by default, so I had forgotten about it through the years, when I migrated to debian based distro's
This is the output of the file
Content Scramble System (CSS)
Many DVDs use CSS[0] as a form of a Digital Rights Management (DRM) to encrypt
the content of Video DVDs. To play such discs a special library is needed to
decode them, libdvdcss.
Due to the legal limbo of libdvdcss in some particular juristictions, some
distributions including Debian do not distribute libdvdcss.
If it is legal for you to use CSS in your juristiction, you can:
apt install libdvd-pkg && dpkg-reconfigure libdvd-pkg
Manually download and compile the source code from
http://www.videolan.org/developers/libdvdcss.html.Use packages from derivatives that include libdvdcss.
[0] http://en.wikipedia.org/wiki/Content_Scramble_System
-- Daniel Baumann mail@daniel-baumann.ch Fri, 02 Oct 2009 16:10:06 +0200
It was puzzling that debian decided to permanently leave this lib out while this was a thing from 26-9=17 years ago!
The installation process was smoothed out however, I did not need to do
configure; make; make install
instead I only needed to execute
apt install libdvd-pkg && dpkg-reconfigure libdvd-pkg- watch the output
Installing:
libdvd-pkg
Installing dependencies:
autoconf dh-strip-nondeterminism libfile-stripnondeterminism-perl
automake dwz libtool
autopoint gettext m4
autotools-dev intltool-debian po-debconf
debhelper libarchive-zip-perl
dh-autoreconf libdebhelper-perl
When the dependencies are installed (I don't compile sources on this machine other than the distro induced compilations) the lib is downloaded
/usr/bin/wget --tries=3 --timeout=40 --read-timeout=40 --continue -O libdvdcss_1.4.3.orig.tar.bz2 \
https://download.videolan.org/pub/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2 \
|| /usr/bin/uscan --noconf --verbose --rename --destdir=/usr/src/libdvd-pkg --check-dirname-level=0 --force-download --download-current-version /usr/share/libdvd-pkg/debian
--2026-08-08 07:03:15-- https://download.videolan.org/pub/libdvdcss/1.4.3/libdvdcss-1.4.3.tar.bz2
Resolving download.videolan.org (download.videolan.org)... 213.36.253.2, 2a01:e0d:1:3:58bf:fa02:c0de:5
Connecting to download.videolan.org (download.videolan.org)|213.36.253.2|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 388404 (379K) [application/octet-stream]
Saving to: ‘libdvdcss_1.4.3.orig.tar.bz2’
libdvdcss_1.4.3.orig.tar 100%[===============================>] 379.30K 338KB/s in 1.1s
2026-08-08 07:03:18 (338 KB/s) - ‘libdvdcss_1.4.3.orig.tar.bz2’ saved [388404/388404]
The compilation executed smoothly
Partial log
libdvd-pkg: Checking orig.tar integrity...
/usr/src/libdvd-pkg/libdvdcss_1.4.3.orig.tar.bz2: OK
libdvd-pkg: Unpacking and configuring...
libdvd-pkg: Building the package... (it may take a while)
libdvd-pkg: Build log will be saved to /usr/src/libdvd-pkg/libdvdcss2_1.4.3-1~local_amd64.build
Current: =ep cap_wake_alarm+i
- When you own your library (physical books, CD's, DVD's) you need libdvdcss in order to play the latter
- If you are smart and don't own your music (streaming subscriptions, will yank your music away, without warning) you will start fetching the albums, movies (buy them when still possible)
- Inspect your library for oxidation and insects
Conclusion
- libdvdcss is still not included in debian
- 17 years after the fact
- debian will never include the lib
- the download from videolan website is smooth easy and does not require (my) programming skills of sources
- libdvdcss compiles without problems
- you will be reminded by mplayer vlc and others when you play encrypted dvd's
The story of the creation of libdvdcss is one you should read also on wikipedia, which I've included in my sources
sources
mplayer dvd://
vlc -1 cli
man mplayer(1)
https://en.wikipedia.org/wiki/Libdvdcss
https://en.wikipedia.org/wiki/CD_and_DVD_copy_protection
https://www.videolan.org/developers/libdvdcss.html
#videolan #TV #dvd #css #libdvdcss #copy #protection #programming #encryption #debian #exclusion
Google is LLM horny.
All of a sudden I saw summarize this in Gmail.
Without my consent Google enabled LLM slop in Gmail.
They call it smart features you have to turn it off per account, and need to check after every patch of Gmail if they turned it back on
This is only important on a simple tight spaced Android of mine. All others have open source clients
#LLM #slop #hallucinations #AI #programming #coding #Google #arseholes #gmail #smart #features
Signal updates like this are nice.
I installed it again on my desktop
Going back to the basics is important especially when we talk about Electronics.
On this page amplifiers are highlighted and explained in a clear and consistent manner
>An amplifier is an electronic device or circuit which is used to increase the magnitude of the signal applied to its input with the increase between its output and input being called Gain
An Introduction to Different Types of Amplifier
>Amplifier is the generic term used to describe a circuit which produces and increased version of its input signal. However as we will see in this introduction to the amplifier tutorial, not all amplifier circuits are the same as they are classified according to their circuit configurations and modes of operation.
>In “Electronics”, small signal amplifiers are commonly used devices as they have the ability to amplify a relatively small input signal. For example from a Sensor such as a photo-device, into a much larger output signal to drive a relay, lamp or loudspeaker for example.
https://www.electronics-tutorials.ws/amplifier/amp_1.html
#Electrónica #electronics #component #soldering #chemistry #Physics #Mathematics #joy #Love
## mandelbrot 06:48
# syntax
* `nice -19 fraqtive &`
* type *julia*
* variant *amsolute IM*
* parameters *x 0.2 y 0.7*
* exponent *real=3.01*
* zoom *10^-0.25*
* rotation *60.0 deg*
* formula *Z(n+1)=(Re(Z(n))+i|Im(Zn)|)^3.01+C*
* control G
* generation *2D*
* Resolution *Width 2560 Height 1080*
* Anti Aliasing *Medium*
* Multisampling *4x4*
* Calculation time a whopping 42000 ms
## Julia Mandelbrot
sources:
man fraqtive(1)
man ls(1)
man thunar(1)
https://en.wikipedia.org/wiki/Mandelbrot_set
https://en.wikipedia.org/wiki/Mathematics
#mathematics #math #CPU #coprocessor #programming #mandelbrot #julia #fractals #advanced #Lineair #Algebra #complex #numbers #formulas #matrix #technology #OpenSource #no #TV#
With Apple phasing out AFP in macOS 27 and Time Capsules officially reaching end-of-life, it's time to move network backups to proper SMB.
If you run a FreeBSD server, you can build a fast, rock-solid, and secure Time Machine target powered by ZFS and Samba - neatly isolated inside a FreeBSD jail using Bastille.
https://it-notes.dragas.net/2026/01/28/time-machine-freebsd-jail/
Keep your macOS backups running smoothly via SMBv3 (with full vfs_fruit support) and full dataset quota control on ZFS!
#FreeBSD #macOS #TimeMachine #ZFS #BastilleBSD #Samba #SysAdmin #Backup #OwnYourData #SelfHosted #BSD #RunBSD #OwnYourData
Fixing a Sun Type 7 Keyboard
Recently, not quite sure why, I decided to start looking for a Sun keyboard. Originally I was on the hunt for a keyboard that would have vim bindings printed on the keycaps, but as I was browsing around, I stumbled on a great deal on eBay -- fraction of the price, but there was no USB cable. That's a relatively easy fix, so I got one.
The keyboard arrived in good shape, and apart from the insane amount of fluff in it and the faded / yellowed plastic of the keyboard it was in decent shape. Yes, the cable was cut. But it was easily accessible: two screws on the bottom and further three underneath the top keyboard cover.
Once undoing the two longer screws on the bottom I popped off the top keyboard cover; this is held on with tabs and if you work your way around the left, bottom, and right side, it hinges at the top.
I decided the first job would be cleaning. I used a soft brush to get rid of the debris under the keys after opening (but not fully disassembling) the keyboard, and then took cotton wool balls dipped in rubbing alcohol to the surface to clean. This took a while but it worked OK.
Next was connecting up the USB cable. On the PCB the USB connector is probably some kind of a standard SMD connector, with standard USB cables coming off it: black, white, green, red. These are GND, D-, D+, 5V, usually. There is a fifth ground cable going to the USB cable, which is the "shield ground".
I disconnected the USB connector to the PCB and chopped up a USB connector. My initial plan was to use a USBC female to USBA 3.0 male connector's USBC end. But USB3.0 has, I think, 8 pins rather than 4, and while it should be possible to only hook up the 4 "standard" USB lines, I did not have much success with this.
Otherwise the soldering job was fine, although with these thin cables, rather than stripping them, I took to melting back just enough of the cable sleeve on each to expose a workable amount of wire. Just apply some hot solder on the tip of the soldering iron and it works well.
Second attempt involved cannibalising an old MiniUSB cable I really had no use for anymore. This has the "correct" amount of wires and this time it worked! I was delighted.
OpenBSD recognised it really well as a Sun Type 7 USB keyboard:
uhidev1 at uhub1 port 4 configuration 1 interface 0 "Fujitsu Component Sun USB Keyboard" rev 2.00/1.05 addr 4
Then I fired up xev to see whether the most exciting bits, the extra "Stop" and "Again" keys do something.
And they do! xev reports the following mappings by default:
Left hand extra column of keys:
-Help: DEAD.
- Stop: keycode 145 (keysym 0xff69, Cancel)
- Again: keycode 146 (keysym 0xff66, Redo)
- Props: keycode 147 (keysym 0x1005ff70, SunProps)
- Undo: keycode 148 (keysym 0xff65, Undo)
- Front: keycode 149 (keysym 0x1005ff71, SunFront)
- Copy: keycode 150 (keysym 0x1008ff2f, XF86Sleep) *
- Open: keycode 151 (keysym 0x1005ff73, SunOpen)
- Paste: keycode 152 (keysym 0x1005ff74, SunPaste)
- Find: keycode 153 (keysym 0x1008ff17, XF86AudioNext) *
- Cut: keycode 154 (keysym 0x1005ff75, SunCut)
Top right hand extra row of keys (above numpad):
- keycode 160 (keysym 0x1008ff12, XF86AudioMute)
- keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume)
- keycode 176 (keysym 0x1008ff13, XF86AudioRaiseVolume)
- keycode 222 (keysym 0x1008ff2a, XF86PowerOff)
Bottom row:
- Compose: Menu
So as you can see, it mostly works okay. There are two funky key mappings by default, "Copy" doesn't copy but wants to put the computer to sleep; "Find" wants to skip to the next playing song. But these should be remappable.
The "Paste" and "Cut" keys do what one expects them to under X11, this is really really neat. I really like not having to press "Ctrl-Shift-V" for "paste" but ... "Paste".
The Compose key will be remapped as a Compose key I think, this is doable with xmodmap and .XCompose I think. I want to dig into whether, similar to SunPaste, there ought to be a SunCopy key that I could map to Copy.
For "Front" I want to set up a custom macro; for 9+Front I want to launch drawterm. 😆
Pity that "Help" doesn't do anything. It simply doesn't register as a keystroke. But you can't have it all -- besides, I haven't come up with anything funny to map it to.
I began my academic career during a time of crisis. My advisor had to ask the Institute Director to purchase two 8-inch floppy disks for me to use in my work. For years, I learned to "swim" through adversity by making do with whatever was available, adapting to limitations in CPU, memory, and storage, and helping to build a positive environment for academic productivity. Today, the "abundance" found in some projects has produced students who have no desire to learn how to utilize resources or go the extra mile; instead, they expect to be served like a customer in a restaurant. When adversity strikes—and it always does—they will be paralyzed by it, sitting idly by and claiming they "lack the proper working conditions." I find this deeply disheartening.
littleFedi works like a real app on your phone
A few people have asked me how to actually use littleFedi on mobile, so let's clear this up. I use MastoBlaster, for obvious reasons. But you don't need to build anything native - littleFedi is a Progressive Web App (PWA), and that means it behaves like a proper installed app once you set it up.
- You add littleFedi to your home screen like any other app
- It opens full screen, no browser address bar, no tabs cluttering things up
- It works offline for the shell of the app, so a dead connection doesn't just throw a blank error page at you
- You get real push notifications, even when the app isn't open
- Static assets load instantly on repeat visits because they're cached on the device
Just your browser doing what browsers are supposed to do.
Installing it
On Android (Chrome or most Chromium-based browsers): open your instance, tap the menu, and choose "Add to Home screen" or "Install app". On iOS (Safari): tap the Share button, then "Add to Home Screen". That's it - the icon lands on your home screen and from then on littleFedi launches like a native app, in its own window, with its own icon and theme color.
Notifications that actually work
This is the part people are usually most surprised by. littleFedi uses Web Push, so once you enable notifications from the settings page, you get real-time alerts for mentions, boosts, favourites, quotes, follows, follow requests, polls ending, and a few other events - each with its own icon so you can tell at a glance what happened without opening the app. Tap a notification and it takes you straight to the right place, or focuses the app if it's already open in another tab.
This works the same whether the app is in the foreground, in the background, or fully closed. The browser's service worker handles delivery even when littleFedi itself isn't running.
Why it feels fast
Static files - the JavaScript, the icons, the stylesheets - get cached on your device the first time you load the app. On every visit after that, they load instantly from local storage instead of going over the network again, and the cache quietly checks for updates in the background so you're never stuck on stale code. Your actual content - posts, notifications, everything tied to your session - always comes fresh from the server, since that's the stuff that has to be accurate and can't be cached.
If your connection drops entirely, you'll see an offline page instead of a browser error, so it's clear what's going on rather than looking broken.
No extra app needed
If you're on mobile and haven't installed littleFedi yet, this is really the way to use it day to day. It's lighter than many native apps, updates itself automatically, and you're not waiting on anyone to approve a release in an app store. Just add it to your home screen and it stays there, working like any other app on your phone.
Little Fedi as an AP from home on Android
#Social #contact #socialmedia #friends #circle #communication #nineteen #eighty #four