Used to use Xnest to do this. IDK how easy it still is these days.
Used to use Xnest to do this. IDK how easy it still is these days.
Knoppix got Ubuntu halfway there.
The fact that is is from LA Times shows that it’s still significant though
Sounds like a regulatory solution is needed. The intersection where domestic policy impacts international.
As in part of a review process?
Things like:
Back before the media decided it wasn’t a competitor but rather a potential profit source. I do think the government does need to have it’s own alternatives (obviously not identical more on this one day) for other reasons, such as for it’s own media releases, but more internationally coordinated appropriate & considered legislation is probably better.
I asked chatgpt to write a go program for this, this looks roughly correct (I have used both libraries before) obviously this won’t be enough for your particular use case. I imagine you can integrate an RSS feed to your site, however if you’re using something like hugo perhaps output it as a csv.
Super low effort but a good start I think:
package main
import (
"fmt"
"log"
"os"
"strings"
"time"
git "github.com/go-git/go-git/v5"
rss "github.com/jteeuwen/go-pkg-rss"
)
const (
timeout = 5 // timeout in seconds for the RSS feed generation
)
// Repository represents a git repository with its URL
type Repository struct {
URL string
}
// Repositories is the list of git repositories
var Repositories = []Repository{
{URL: "https://github.com/owner/repo1"},
{URL: "https://github.com/owner/repo2"},
// Add more repositories here
}
// FetchLatestTag fetches the latest tag from a git repository
func FetchLatestTag(repoURL string) (string, string, error) {
// Clone the repository to a temporary directory
dir, err := os.MkdirTemp("", "repo")
if err != nil {
return "", "", err
}
defer os.RemoveAll(dir)
_, err = git.PlainClone(dir, true, &git.CloneOptions{
URL: repoURL,
Progress: os.Stdout,
})
if err != nil {
return "", "", err
}
repo, err := git.PlainOpen(dir)
if err != nil {
return "", "", err
}
tags, err := repo.Tags()
if err != nil {
return "", "", err
}
var latestTag string
var latestCommitTime time.Time
err = tags.ForEach(func(ref *plumbing.Reference) error {
tag := ref.Name().Short()
commit, err := repo.CommitObject(ref.Hash())
if err != nil {
return err
}
if commit.Committer.When.After(latestCommitTime) {
latestCommitTime = commit.Committer.When
latestTag = tag
}
return nil
})
if err != nil {
return "", "", err
}
return latestTag, latestCommitTime.Format(time.RFC1123Z), nil
}
// GenerateRSS generates an RSS feed from the latest tags of the repositories
func GenerateRSS() string {
feed := rss.Feed{
Title: "Latest Tags from Git Repositories",
Link: &rss.Link{Href: "http://example.com/"},
Description: "This feed provides the latest tags from a list of git repositories.",
Created: time.Now(),
}
for _, repo := range Repositories {
tag, date, err := FetchLatestTag(repo.URL)
if err != nil {
log.Printf("Error fetching latest tag for repository %s: %v", repo.URL, err)
continue
}
feed.Items = append(feed.Items, &rss.Item{
Title: fmt.Sprintf("Latest tag for %s: %s", repo.URL, tag),
Link: &rss.Link{Href: repo.URL},
Description: fmt.Sprintf("The latest tag for repository %s is %s, created on %s.", repo.URL, tag, date),
Created: time.Now(),
})
}
var rssFeed strings.Builder
rssFeed.WriteString(xml.Header)
if err := feed.Write(&rssFeed); err != nil {
log.Fatalf("Error generating RSS feed: %v", err)
}
return rssFeed.String()
}
func main() {
rssFeed := GenerateRSS()
fmt.Println(rssFeed)
}
For another conversation I need some evidence of that, where did you find it?
This sounds like FUD to me. If it were it would be acquired pretty quickly.
There are several ways of doing this, but you have to be wary of how grub is configured to boot off the disks, and how your /etc/fstab is configured.
The simplest way probably is to just put the old ssd in a USB case, boot off a live usb/cd, then dd the disk (make sure you do it the right way around or there will be tears), then reboot. There are a couple ways this could fail still depending on config, but you can always put the old disk in if it does. Then once you’re in the system you can use tools like parted/kde partition manager to resize the volumes once decrypted. – And you will have your old disk as a backup the entire process.
If you want to get more comfortable with this type of work install arch / gentoo and you will learn more of the underline processes making you more confident.
Using btrfs with subvolumes to mount different disks in different locations. To maintain an “OS” disk and “what really matters” disk.
I like the idea and have been meaning to build / find something like this however this does a little too much and in not quite the way I want. But it’s cool for those who need this exact implementation.
This. However from about the release of knoppix and ubuntu things started looking and feeling a lot more like they are today. – I credit that to Knoppix for X & filesystem work and Ubuntu for setup and everything desktop.
So even though late 90s it was tough, it was nothing like mid 90s. But by around 2004-2005ish the install and setup was substantially easier however the reputational damage still exists to today.
I remember spending a lot of time in XFree86 config files, re-configuring it trying to figure out what works best on my monitor, and then the migration to XOrg. All good times.
There was however a substantial amount of hype around Linux. It wasn’t quite what it is with AI. But you couldn’t read a magazine without encountering it in some way, but it was the type of hype were everyone knew of it but few people had anything to do with it.
Another thing that hadn’t been mentioned is that there was a new distribution cropping up every day or so. (It felt like at least.) But this seems to back up that statement: https://en.m.wikipedia.org/wiki/File:Linux_Distribution_Timeline.svg
Gentoo, after a 15 year break where I used Ubuntu / Arch. Might try NixOS or something similar.
KDE for desktop env.
I have never tired Daisy Chaining but I hear it exists on some of the models not sure about the specific one I linked.
Some monitors like the Dell U4323qe have a KVM built in, the KVM does Ethernet too.
Most of the reasons mentioned, and also they are a bit out of the way to install and setup, you don’t get much feedback as per users using them. As they integrated with the OS you have to search for them as a user, and you have advertise them as a someone packaging. Every extra step creates friction which ads up. It feels like a solution based in the concept of maintaining SEP. – Plus people aren’t exactly paid to do this.
Something like: https://forums.gentoo.org/viewtopic-t-147062-start-0.html