Social annotation tools help students read together

Now, a new study offers evidence supporting what […] has long observed: online social annotation helps students understand and construct knowledge around scholarly content, while at the same time building community.

https://www.insidehighered.com/news/2022/10/12/social-annotation-technology-helps-students-read-together

There is room for the use of social annotation tools in legal education especially as more teaching resources move online. Tools like Hypothesis would provide law students with ways to highlight and annotate online materials and share those as annotations with study groups, peers, and teachers.

Hypothesis is available in CALI Lawbooks, the online publishing platform that for CALI members

Yum, ribs!

Oven baked ribs

Sometimes after you prep and they spend the night in the fridge you just don’t feel like firing up the smoker. That’s why we have ovens. Not as smokey but just as tasty.

Canonical Launches Free Ubuntu Pro Subscriptions for Everyone – 9to5Linux

Canonical will provide free Ubuntu Pro on up to 5 machines for personal and small business uses. This provides additional security and support to extend the life of LTS releases. Details at https://9to5linux.com/canonical-launches-free-ubuntu-pro-subscriptions-for-everyone

The prompt says “Start writing” so, sure, I’ll just start writing. I’m on my phone at the moment so writing is me like swiping but it does have a certain cursive feel to it once you get going. Of course proof reading to avoid bad autocorrect is essential. It also helps to have something to say and that’s a bit subjective I think.

What I’m really looking for is whether or not I can post without a title. Sometimes I have an idea but get stuck staring at the “Add title” and lose my inspiration. Not having to think of a title is nice.

Control your home automation remotely with Raspberry Pi and Traefik Hub | Opensource.com

Employ open source networking to facilitate cloud-native apps.

Source: Control your home automation remotely with Raspberry Pi and Traefik Hub | Opensource.com

From opensource.com: Building the metaverse with open source

Ensuring that virtual worlds are open, accessible, and safe to all is paramount to a successful metaverse.

Source: Building the metaverse with open source

From opensource.com: A Drupal developer’s guide to Progressive Web Apps

Here is an outlined approach to PWA implementation for a Drupal site, but other options are certainly available with similar designs.

Source: A Drupal developer’s guide to Progressive Web Apps

From RaceDepartment: Automobilista 2 | The Ultimate Formula 1 Season Guide

When it comes to retro content in sim racing, it is hard to ignore Automobilista 2 – the selection is overwhelming, especially for Formula 1 fans. The sim currently offers no less than 14 Formula 1 seasons, spanning six decades – which exact years are represented is only undoubtedly made clear in very few cases. To give you a better overview of the historic F1 content, we have assembled a guide to the different classes for you.

No less than 32 cars from six decades – the amount of choice is a sight to behold and cannot be found anywhere else, except with mods. The best part: All of the F1 cars in Automobilista 2 are free and already in the sim – you do not need to buy them as DLC.

Source: Automobilista 2 | The Ultimate Formula 1 Season Guide

Pretty cool that you can run all of these historic cars as part of the base game.

Scraping the Teknoids Mailman PiperMail Archive

Putting this here in case anyone finds themselves in need of something to scrape a Pipermail web archive of a Mailman mailing list. This bit of Python 3 is based on a a bit of Python 2 I found at Scraping GNU Mailman Pipermail Email List Archives. The only changes I made from the original are to update somethings to work in Python 3. It works well for my purposes, generating a single text file of the teknoids list archive from 2005 to today.

#!/usr/bin/env python

import requests
from lxml import html
import gzip
from io import BytesIO

listname = 'teknoids'
url = 'https://lists.teknoids.net/pipermail/' + listname + '/'

response = requests.get(url)
tree = html.fromstring(response.text)

filenames = tree.xpath('//table/tr/td[3]/a/@href')

def emails_from_filename(filename):
print (filename)
response = requests.get(url + filename)
if filename[-3:] == '.gz':
contents = gzip.GzipFile(fileobj=BytesIO(response.content)).read()
else:
contents = response.content
return contents

contents = [emails_from_filename(filename) for filename in filenames]
contents.reverse()

contents = b"\n\n\n\n".join(contents)

with open(listname + '.txt', 'wb') as filehandle:
filehandle.write(contents)