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


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


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