DCGLUG virtual meeting (jitsi) Day / Date: Saturday 20/2/2021 Time: From 12:00 Location: Online – Meeting jit.si link
Mastodon Account
The group now have an account on Mastodon. This can be found here. If you search for @dcglug@qoto.org you should be able to find us.
Debian Firmware
As Debian is a fully free Operating System. This means that if your hardware has any non free firmware, the drivers may not be available during the install. There are several ways round this.
- Use the non-free ISO
- Create a media that has the drivers available so that the installer can scan and install the appropriate firmware drivers during install. The instructions for this are available here.
Another option is to use hardware that does not contain proprietary firmware. Some links below may be helpful.
- USB Wifi Dongle USB 2.0 Wireless 802.11n USB Wifi Adapter
- FSF Certified Wifi hardware (article)
- List of computer hardware that works with free software
Right to repair
The free software foundation have released their latest animated video on the fight to maintain and get back our right to repair.
More information on the FSF website.
Annotating pdf files
PDF files are really useful for moving documents around when you ‘need’ the recipient to be able to open in a pdf reader and see what you intended.
Unless you have access to expensive software you are usually not able to edit these files easily. While LibreOffice draw can perhaps do this, it may not be ideal for the job.
Xournal [1] is a Debian application, that while mostly aimed at touch screens, is able to annotate pdf files as the video below demonstrates.
As mentioned in the video notes, Xournal will export as a **.pdf.pdf file**, so you may want to rename it when saving. This is not even an issue for me.
Happy to discuss further on Mastodon [2] or on IRC. Please see contact page for details.
**References**
1 Xournal
2 Mastodon
3 Alternatives
Originally published 10/1/2020 on Author’s personal blog. Reproduced here by original author.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Basic OS development with Visual Studio
Recently I came across an add-on for Visual Studio 2013 named Cosmos, which lets you use C# or Visual Basic to develop a fully independent OS. I have been working on one now for a couple of weeks. Sadly, Cosmos is still in early development stages, but it is still possible to make basic graphical OS’s. This post uses C#, but it is just as easy to use Visual Basic. My current code is:
using System;
using System.Collections.Generic;
using System.Text;
using Sys = Cosmos.System;
using Cosmos.Hardware;
using Cosmos.Hardware.BlockDevice;
namespace CosmosOS
{
public class Kernel : Sys.Kernel
{
protected override void BeforeRun()
{
while (true)
{
Run();
}
}
protected override void Run()
{
string input = Console.ReadLine();
string input1 = input.ToLower();
if (input1 == "shutdown" || input1 == "quit" || input1 == "exit") Shutdown();
else if (input1 == "reboot" || input1 == "restart" || input1 == "reload") Reboot();
else Console.WriteLine("Command \"" + input1 + "\" not recognized!");
public void Shutdown()
{
this.Stop();
Cosmos.Core.Bootstrap.CPU.Halt();
}
public void Reboot()
{
}
public static void WriteData(byte[] aData, ulong block)
{
if (BlockDevice.Devices.Count > 0)
{
for (int i = 0; i < BlockDevice.Devices.Count; i++)
{
var xDevice = BlockDevice.Devices[i];
if (xDevice is Partition)
{
xDevice.WriteBlock(block, 1, aData);
}
}
}
}
public static byte[] ReadData(ulong block)
{
byte[] aData = new byte[] { 1 };
if (BlockDevice.Devices.Count > 0)
{
for (int i = 0; i < BlockDevice.Devices.Count; i++)
{
var xDevice = BlockDevice.Devices[i];
if (xDevice is Partition)
{
aData = xDevice.NewBlockArray(1);
xDevice.ReadBlock(block, 1, aData);
}
}
}
return aData;
}
}
}
Lets go over some of this code.
protected override void BeforeRun()
{
while (true)
{
Run();
}
}
This Run function is looped by default anyway, but it loops slightly faster when this code is put in BeforeRun.
protected override void Run()
{
string input = Console.ReadLine();
string input1 = input.ToLower();
if (input1 == "shutdown" || input1 == "quit" || input1 == "exit") Shutdown();
else if (input1 == "reboot" || input1 == "restart" || input1 == "reload") Reboot();
else Console.WriteLine("Command \"" + input1 + "\" not recognized!");
This is fairly trivial code for a command-line OS, simple input.
public void Shutdown()
{
this.Stop();
Cosmos.Core.Bootstrap.CPU.Halt();
}
public void Reboot()
{
}
This is my own shutdown code. I have yet to figure out reboot, though.
public static void WriteData(byte[] aData, ulong block)
{
if (BlockDevice.Devices.Count > 0)
{
for (int i = 0; i < BlockDevice.Devices.Count; i++)
{
var xDevice = BlockDevice.Devices[i];
if (xDevice is Partition)
{
xDevice.WriteBlock(block, 1, aData);
}
}
}
}
public static byte[] ReadData(ulong block)
{
byte[] aData = new byte[] { 1 };
if (BlockDevice.Devices.Count > 0)
{
for (int i = 0; i < BlockDevice.Devices.Count; i++)
{
var xDevice = BlockDevice.Devices[i];
if (xDevice is Partition)
{
aData = xDevice.NewBlockArray(1);
xDevice.ReadBlock(block, 1, aData);
}
}
}
return aData;
}
I got this code from a forum and modified it a little to make it work – it writes arrays of bytes to the hard disk. Sadly the built-in FAT fileystem can currently only read files, so you will have to make your own.
This is a fun tool to just play around with, although it is extremely limited at the moment.
http://www.nikeairmaxfreerun.com nike air max thea
Open Street Map
Open Street Map
OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
Open Street Map is a great project that anyone can get involved with, using open data so mapping data can be used freely in accordance with the terms on the website.
Embedded maps are also interactive
Links
#openstreetmap,#data,#mapping,#open,#project
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Peertube
What is Peertube
So following my post on the [3rd January](https://personaljournal.ca/paulsutton/cuttlefish-peertube-client) on Cuttlefish. The video below provides a good explanation of what Peertube is.
* Joinpeertube
* Sepia Search Search Peertube for content.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
South Devon Tech Jam Meeting
January Meeting
DCGLUG virtual meeting (jitsi) Day / Date: Saturday 16/1/2021 Time: From 12:00 Location: Online – Meeting jit.si link
Meeting going ahead, while it is Boxing day some members have confirmed they would like the meeting to go ahead.