Feed Aggregator Page 8792
Ego dan Salib-Nya
How to Install and Use Fedora Media Writer on Linux
Fedora Media Writer is a Fedora team and community-driven effort to offer a free, open-source, and cross-platform application to write any ISO image to your flash drive (USB stick). In this article, I’ll show you how to install Fedora Media Writer on Linux (including Windows) and then how to flash the Fedora image using Fedora Media Writer.
The post How to Install and Use Fedora Media Writer on Linux appeared first on Linux Today.
Enhiker Helps You Decide if its a Good Day to Hike

Debunking Myths About Open-Source Security
Stephanie Domas, CISO at Canonical, discusses common misconceptions about open-source security and how the community can work to dispel them. She explains how open-source solutions, contrary to myths, offer enterprise-grade maturity, reliability, and transparency.
The post Debunking Myths About Open-Source Security appeared first on Linux Today.
DEVELOPING: Trump Sentencing Canceled in New York
Judge Juan Merchan has canceled the sentencing previously scheduled for November 26 in Donald Trump’s New York felony case. He did not reschedule, and he granted Trump’s motion for permission to file what they call a Clayton motion, or motion to dismiss in the interest of justice. It is part of New York’s criminal code […]
No Title
I just realized that there's another kind of enshitification that we're experiencing now because the twitter-verse has split into so many forks. Bluesky is hot now, but this isn't over yet. Developers are deliberately locking their users in by creating new APIs that are not only incompatible with previously existing APIs, but also are difficult for developers who learned earlier APIs to adopt because now they have all kinds of replicated code for different systems. It adds another level of complexity to the developer's code. What each platform vendor wants is not only captive users, but also locked-in developers. Why do you think they all have new languages? Come on is Swift really better than Go or whatever the fuck. So you see groups of Mac developers. And groups of JavaScript developers. And there are many kinds of JS devs. When does it end. And ones who build on OpenAI and others that develop on the APIs of other vendors (I'm not even trying to go on that ride, too late in my career.) There's so much confusion, that leads to exhaustion. Now we're feeling it especially hard when there are such ill-conceived duplicate APIs that all could have been done with RSS 2.0. Every one of them. Cory Doctorow, who came up with the term enshitification, also wrote a passionate piece about RSS. I want to say to my friend Cory, if a system isn't built on RSS at this point, they are certainly trying to lock in users and developers. I don't care if it's ActivityPub or ATProto or Facebook or Twitter (sorry I can't keep track of their names). I want to build on a system that's pure inbound and outbound RSS. Give me lists in OPML and the please just let me ignore the rest of your lockin strategy. They talk a good line about wanting interop, federation and standards, but their actions speak otherwise.
vindarel: cl-ansi-term: print tables with style, and other script utilities
I am not the original author of cl-ansi-term, but I revived it lately. In particular, I added useful stuff to print data in tables:
- print list of lists (where the first one is the list of headers)
- print horizontal or vertical tables
- the header keys are either the first row, either the first column
- print hash-tables, plists, alists
- filter keys to display (include, exclude)
- limit the number of columns
- they can be styled:
- with or without borders
- choose the columns’ width
- choose the borders’ elements (“-|+”)
- choose the headers’ and the cells’ style (color, bold...).
For example:
(progn
(defparameter d (serapeum:dict :a 1.1 :b 2.2 :c 3.3))
(banner "A single hash-table")
(table d)
(banner "A single hash-table, in columns")
(vtable d)
(banner "A single hash-table, ignoring column :B")
(table d :exclude :b)
(banner "A single hash-table, vertically ignoring column :B")
(vtable d :exclude :b)
(banner "A list of hash-tables")
(table (list d d d))
(banner "A list of hash-tables, ignoring column :B")
(table (list d d d) :keys '(:a :c))
(banner "A list of hash-tables, in columns")
(vtable (list d d d))
(banner "same, ignoring the column :b")
(vtable (list d d d) :exclude :b))
prints:
--------------------------------------------------------------------------------
A single hash-table
--------------------------------------------------------------------------------
+---------+---------+---------+
|A |B |C |
+---------+---------+---------+
|1.1 |2.2 |3.3 |
+---------+---------+---------+
--------------------------------------------------------------------------------
A single hash-table, in columns
--------------------------------------------------------------------------------
+---------+---------+
|A |1.1 |
+---------+---------+
|B |2.2 |
+---------+---------+
|C |3.3 |
+---------+---------+
--------------------------------------------------------------------------------
A single hash-table, ignoring column :B
--------------------------------------------------------------------------------
+---------+---------+
|A |C |
+---------+---------+
|1.1 |3.3 |
+---------+---------+
--------------------------------------------------------------------------------
A single hash-table, vertically ignoring column :B
--------------------------------------------------------------------------------
+---------+---------+
|A |1.1 |
+---------+---------+
|C |3.3 |
+---------+---------+
--------------------------------------------------------------------------------
A list of hash-tables
--------------------------------------------------------------------------------
+---------+---------+---------+
|A |B |C |
+---------+---------+---------+
|1.1 |2.2 |3.3 |
+---------+---------+---------+
|1.1 |2.2 |3.3 |
+---------+---------+---------+
|1.1 |2.2 |3.3 |
+---------+---------+---------+
--------------------------------------------------------------------------------
A list of hash-tables, ignoring column :B
--------------------------------------------------------------------------------
+---------+---------+
|A |C |
+---------+---------+
|1.1 |3.3 |
+---------+---------+
|1.1 |3.3 |
+---------+---------+
|1.1 |3.3 |
+---------+---------+
--------------------------------------------------------------------------------
A list of hash-tables, in columns
--------------------------------------------------------------------------------
+---------+---------+---------+---------+
|A |1.1 |1.1 |1.1 |
+---------+---------+---------+---------+
|B |2.2 |2.2 |2.2 |
+---------+---------+---------+---------+
|C |3.3 |3.3 |3.3 |
+---------+---------+---------+---------+
--------------------------------------------------------------------------------
same, ignoring the column :b
--------------------------------------------------------------------------------
+---------+---------+---------+---------+
|A |1.1 |1.1 |1.1 |
+---------+---------+---------+---------+
|C |3.3 |3.3 |3.3 |
+---------+---------+---------+---------+
or again
TERM> (table (list d d d) :exclude :b :border-style nil)
A C
1.1 3.3
1.1 3.3
1.1 3.3
Real example
Remember, the scripts I use in production. I’m usually fine with big data output in the REPL, until:
- until I want a cleaner output in the production script, so I can see quicker what’s going on.
- when I want to filter and study the data a bit more.
In this case I extract data from my DB and I get a list of plists:
((:|isbn| "3760281971082" :|quantity| -1 :|price| 12.8d0 :|vat| NIL
:|distributor| NIL :|discount| NIL :|type_name| NIL :|type_vat| NIL
:|price_bought| NIL :|price_sold| 12.8d0 :|quantity_sold| 1 :|sold_date|
"2024-04-03 09:27:12")
(:|isbn| "9791094298169" :|quantity| 4 :|price| 15.0d0 :|vat| NIL
:|distributor| NIL :|discount| NIL :|type_name| "book" :|type_vat| NIL
:|price_bought| NIL :|price_sold| 15.0d0 :|quantity_sold| 1 :|sold_date|
"2024-04-03 10:06:58")
...)
With the table and vtable functions, I can explore data in a clearer fashion.
(uiop:add-package-local-nickname :sera :serapeum)
(term:table (sera:take 15 *sells*)
:keys '(:|isbn| :|quantity| :|price|)
:plist t
:column-width '(15 10 10))
+--------------+---------+---------+
|isbn |quantity |price |
+--------------+---------+---------+
|3760281971082 |-1 |12.8d0 |
+--------------+---------+---------+
|9791094298169 |4 |15.0d0 |
+--------------+---------+---------+
|3700275724249 |-126 |2.8d0 |
+--------------+---------+---------+
|9782372600842 |1 |10.0d0 |
+--------------+---------+---------+
|9782372600736 |0 |10.0d0 |
+--------------+---------+---------+
|9782221256770 |1 |19.0d0 |
+--------------+---------+---------+
|3700275734392 |171 |3.95d0 |
+--------------+---------+---------+
|3662846007789 |2 |16.95d0 |
+--------------+---------+---------+
|9782368292907 |1 |8.95d0 |
+--------------+---------+---------+
|9782095022679 |1 |12.95d0 |
+--------------+---------+---------+
|3662846007871 |5 |5.9d0 |
+--------------+---------+---------+
|9782092588949 |2 |5.95d0 |
+--------------+---------+---------+
|3700275724249 |-126 |2.8d0 |
+--------------+---------+---------+
|3700275734392 |171 |3.95d0 |
+--------------+---------+---------+
|3770017095135 |0 |29.99d0 |
+--------------+---------+---------+
Yes, this calls for more features: align the numbers, automatically adapt the cells’ width, etc.
(I’m sure we could have an explorer window, watching for changes, displaying data in a real table with interactive features... I can feel we’re close... CLOG frame and malleable systems someone?)
Use case and other primitives: title, banner, vspace, o-list
The use case is cleaner output for scripts.
Other libraries exist with other goals:
- https://github.com/AccelerationNet/data-table “A Common Lisp data structure representing tabular data (think CSVs and database results)”
- https://github.com/40ants/teddy “A data framework for Common Lisp”
- https://github.com/telephil/cl-ascii-table/ “Common Lisp API to present tabular data in ASCII-art tables”
Here are some of other cl-ansi-term’s utilities:
ordered and un-ordered lists:
(term:o-list '((:one one-a (:one-b :one-b-1 :one-b-2)) :two))
1. ONE
1. ONE-A
2. ONE-B
1. ONE-B-1
2. ONE-B-2
2. TWO
Horizontal lines
(term:hr :filler "=")
================================================================================
printing stuff, align on screen:
(term:cat-print '(:abc :def :ghi) :align :center)
;; =>
ABCDEFGHI
vspace for vertical space (default: 3 newlines)
banner:
(banner "My title" :space 1)
--------------------------------------------------------------------------------
My title
--------------------------------------------------------------------------------
Stylesheets and colorized text
The library allows to use styles.
Start by defining your stylesheet.
(term:update-style-sheet
'((:header :cyan :underline)
(:mark :red :reverse)
(:term :yellow :bold)))
:header, :mark and :term are now your own vocabulary. Anytime you
use functions that accept a style, reference them.
Example:
(term:table (list '(:name :age) '(:me 7)) :header-style :header)
To see colors in a “dumb” terminal like in Emacs Slime, install the package slime-repl-ansi-color, “require” it and enable it ith M-x slime-repl-ansi-color-mode.
You can also disable styles in non-interactive terminals with term::*enable-effects-on-dumb-terminals*.
Happy lisping.
This Week in Security: Footguns, Bing Worms, and Gogs

Help Shape Debian 13: Cast Your Vote for Trixie’s Desktop Artwork
Debian 13’s desktop artwork survey is now open and awaits your vote. Before November 30, pick your favorite theme and decide on Trixie’s look.
The post Help Shape Debian 13: Cast Your Vote for Trixie’s Desktop Artwork appeared first on Linux Today.
Gaupol: Create or Edit Subtitle Files with a Free Subtitle Editor
Gaupol is a free and open-source subtitle editor that allows anyone to easily create or edit subtitle files and supports multiple subtitle formats.
The post Gaupol: Create or Edit Subtitle Files with a Free Subtitle Editor appeared first on Linux Today.
No Title
Reconfigure the Power Button in Debian
My humble Fujitsu Futro S720 running Debian makes a decent home server. But it has one weakness: the power button is too easy to press by accident, which shuts down the machine. I know that, because I've done it several times. Not the end of the world, but a mild nuisance I can leave without. Turned out, it's an easy problem to solve.
The post Reconfigure the Power Button in Debian appeared first on Linux Today.
OpenWeather Refined – GNOME Shell Extension Which Displays Weather Information
OpenWeather Refined is a GNOME shell extension which displays weather information for any location. We evaluated OpenWeather Refined using Manjaro, an Arch-based distro, as well as the ubiquitous Ubuntu 24.10 distro.
The post OpenWeather Refined – GNOME Shell Extension Which Displays Weather Information appeared first on Linux Today.
Wilhoit, Anti-Conservatism, and Anarchism
They Should Have Said No
People who wore the “mask” when ordered ought to have understood what would be coming next. Of course, most didn’t – and so they got what was coming next. Similarly, the car companies – as regards their Babbitt-like, obsequious going-along-with the push to “electrify” everything on wheels. Many of them openly said they would do […]
The post They Should Have Said No appeared first on EPautos - Libertarian Car Talk.
Taxonomy
With the holiday season upon us, it means I clean out the podcast addict of topics I thought about doing but did not do for some reason. One topic is the categorization of the political tribes and subcultures in this … Continue reading
Seaton: Adventures In Cheer Dadding
Even Jessie Smollett Deserves Due Process
Matt Gaetz Is Out – But Plenty of Controversial Nominees Remain
By James Fite
Donald Trump has announced some controversial Cabinet picks, and Matt Gaetz for US attorney general may well have been the most contentious. Now that the firebrand former representative has withdrawn his name from consideration, however, will those other nominees who previously raised eyebrows see a smoother Senate confirmation? Or will there even be confirmations? The […]
Leftist Media on the Ropes
It has been a rough month for progressives. Not only did they take a drubbing at the ballot box, but now they must face the possibility that their favorite cable TV networks are hanging on by a thread. Lest one forget: The media outlets in America are primarily corporate entities. Except for very few instances, […]
