Devon and Cornwall GNU/Linux Users Group

  • About DCGLUG
    • FAQ
    • Join
    • CHAT (IRC)
    • Meetings
      • Other events
    • Mailing List Archive
  • About : GNU / Linux
    • Federated social media
    • Video on Free software
    • Video on DRM
    • Video on Creative Commons
    • Hacker / Hacking definition
  • Tutorials
    • e-learning
    • My Sql
    • LaTeX and Overleaf
    • Send Plain text e-mail
    • Tutorial : GnuPG – Encryption & Signing
    • IRC – Client Setup
      • IRC User list
      • Weechat Setup guide
      • Hexchat Setup
      • IRSSI Configuration
      • xchat – setup
      • ERC Setup

About the DCGLUG

Posted on December 31, 2020 by Paul Sutton

GNU logo Tux

DEVON AND CORNWALL GNU/LINUX USER GROUP


The aims of the Devon and Cornwall GNU / Linux user group are :

  • Promote, advocate and support the use of Free software and GNU / Linux within the Devon and Cornwall region and beyond.
  • We run an active e-mail discussion list.
    • Please visit our join page for more details
  • Due to the current pandemic, all physical meetings are cancelled but we are meeting up on line
    • please see meetings page for details.
    • Meeting details will also be posted to the blog and mailing list.

 

 

 

Posted in 2021, 4 freedoms, advocacy | 3 Comments |

Right to repair

Posted on January 12, 2021 by Paul Sutton

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.

Posted in 2021, achine learning., Fediverse, freedom, FreeSoftwareFoundation, fsf, GNU, Hardware, Linux User Group, Repair, Rights | Leave a comment |

Annotating pdf files

Posted on January 11, 2021 by Paul Sutton

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.

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Posted in 2021, annotate, edit, pdf, pdf files, Peertube, Xournal | Leave a comment |

Basic OS development with Visual Studio

Posted on January 11, 2021 by Matthew Lugg

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:

Source code   
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.

Source 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.

 

Source code   
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.

 

Source code   
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.

 

Source code   
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

Posted in Uncategorized | 2 Comments |

Open Street Map

Posted on January 9, 2021 by Paul Sutton

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


View Larger Map

Links

* Open Street Map

#openstreetmap,#data,#mapping,#open,#project

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Posted in 2021, advocacy, OpenStreetMap | Leave a comment |

Peertube

Posted on January 5, 2021 by Paul Sutton

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.

 

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Posted in 2021, Activty Pub, advocacy | Leave a comment |

South Devon Tech Jam Meeting

Posted on January 1, 2021 by Paul Sutton
South Devon Tech Jam – Virtual Meeting
We are back,  Just virtually using Big Blue Button – video conferencing
Saturday, January 9, 2021
11:00 AM
to 2:00 PM GMT
Details from our Meetup page.
contact e-mail for more details  : info AT sdtj DOT org DOT uk
Posted in 2021, advocacy, Arduino, ARM Development, coding, development, documentation, education, hacking, Hardware, HTML5, Internet Safety, Learning, programming, Raspberry pi, Scratch 3, South Devon Tech Jam | Leave a comment |

January Meeting

Posted on January 1, 2021 by Paul Sutton

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.

Posted in Uncategorized | Leave a comment |

Mastodon and the Fediverse

Posted on December 29, 2020 by Paul Sutton

If you are not sure what Mastodon and the Fediverse are there is a really good explanation on this here.

 

Creative Commons Licence
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

Posted in 2020, Activty Pub, Explanation, Mastodon | Leave a comment |

December Meeting

Posted on December 1, 2020 by Paul Sutton

DCGLUG virtual meeting (jitsi) Day / Date: Saturday 26/12/2020 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.

Posted in Uncategorized | Leave a comment |
Next Page »

Recent Posts

  • Right to repair
  • Annotating pdf files
  • Basic OS development with Visual Studio
  • Open Street Map
  • Peertube

RSS Debian Security

  • DSA-4833 gst-plugins-bad1.0
  • DSA-4832 chromium
  • DSA-4831 ruby-redcarpet

RSS Debian News

  • Updated Debian 10: 10.7 released
  • Updated Debian 10: 10.6 released
  • DebConf20 online closes

CyberChimps WordPress Themes

© 2021 Devon and Cornwall GNU/Linux Users Group