Devon and Cornwall GNU/Linux Users Group

  • About DCGLUG
    • FAQ
    • Join
    • 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
    • BASH Tutorials
    • e-learning
    • My Sql
    • LaTeX and Overleaf
    • Send Plain text e-mail
    • Tutorial : GnuPG – Encryption & Signing
  • CHAT (IRC) / Matrix
    • IRC – Client Setup
      • Weechat Setup guide
      • Hexchat Setup
      • IRSSI Configuration
      • xchat – setup
      • ERC Setup
      • Chat – Matrix
    • DCGLUG on Mastodon

Category Archives: Uncategorized

February Meeting

Posted on February 1, 2021 by Paul Sutton

DCGLUG virtual meeting (jitsi) Day / Date: Saturday 20/2/2021 Time: From 12:00 Location: Online – Meeting jit.si link

Posted in 2021, jitsi, Linux User Group, Linux user group meeting, Lug Meet, Uncategorized | 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 |

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 |

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 |

Repl.it Languages

Posted on October 18, 2019 by Paul Sutton

Repl.it

Languages

Repl.it supports a wide range of development languages, which makes it a good option to learn and develop solutions.   Now supports multi user collaboration by default. This means that you can work with other developers on solutions and get help in real time.

repl.it languages

You can discuss more on Twitter @dcglug and Friendica 

Above list created with LaTeX – Source code project can be viewed here.

 

Posted in Uncategorized | Leave a comment |

Outreachy

Posted on August 15, 2019 by Paul Sutton

Outreachy provides internships to work in Free and Open Source Software (FOSS). Outreachy internships are open to applicants around the world. Interns work remotely, and are not required to move. Interns are paid a stipend of $5,500 USD for the three month internship. Interns have a $500 USD travel stipend to attend conferences or events.

Interns work with experienced mentors from FOSS communities. Outreachy internship projects may include programming, user experience, documentation, illustration, graphical design, or data science. Interns often find employment after their internship with Outreachy sponsors or in jobs that use the skills they learned during their internship.

Application window for internships running from December 19 to March 2019.  Is September and October 2019.

However please check the website for more information.

 

Posted in Uncategorized | Leave a comment |

Plymouth LUG meeting report – July 2019

Posted on July 27, 2019 by Paul Sutton

With Café Fandom closed again, possibly for good, we regrouped at the Crown and Anchor on Southside Street. Topics included:

  • The National Museum of Computing : definitely worth a visit if you like retro computing.
  • The Yalp Store : a way to install Google Play Store apps without having to install the Google Play Store (good if you have a de-googled Android phone (e.g. Lineage OS, Fairphone Open) but can’t avoid the odd closed-source app
  • Raspberry Pi 4 – hot as the sun, non-compliant with USB C, and rare as hen’s teeth
  • Debian Buster
  • GDPR – has it improved things?
  • Controlling your kid’s internet access
  • Deep learning, picture classification
  • Floppy drives orphaned by Linux kernel
  • First experiences of Linux
  • Emax (yes, Emax, although I did also have an Emacs t-shirt on…) and SCSCI2SD
  • IT in Special Needs
  • LAN gaming on Linux

From the August meeting, Plymouth LUG will move to the Moments Café.

Posted in Uncategorized | Leave a comment |

South Devon CAS community

Posted on July 25, 2019 by Paul Sutton

There is work underway to restart the South Devon Computing at School Community.   Please see my personal blog post for more information.

  1. Computing At School Website
Posted in Uncategorized | Leave a comment |

Code Club August

Posted on July 25, 2019 by Paul Sutton

DATES FOR CODE CLUB & TECH JAM etc IN AUGUST

Sat 3td August – Code Club

Sat 10th August – South Devon Tech Jam

Sat 17th August – Code Club

Sat 17th August – North Devon DCGLUG Meeting (Holsworthy)

Sat 24th August – Plymouth DCGLUG Meeting

Posted in Uncategorized | Leave a comment |

https://www.dcglug.org.uk/3271-2/

Posted on July 2, 2019 by Paul Sutton

The July South Devon Tech Jam will take place on

Saturday 13th July  2019. 11 – 15:00

at Paignton Library and Information Centre

Schedule TBC

Note there is a £2 donation towards the cost of running this event.  More info can be found at

http://zleap.net/south-devon-tech-jam/

Friendica / Fediverse

Facebook page

 

Posted in Uncategorized | Leave a comment |
Next Page »

Recent Posts

  • March Meeting
  • FOSDEM 2021
  • LibrePlanet 2021
  • February Meeting
  • Mastodon Account

RSS Debian Security

  • DSA-4888 xen
  • DSA-4889 mediawiki
  • DSA-4887 lib3mf

RSS Debian News

  • Updated Debian 10: 10.9 released
  • Updated Debian 10: 10.8 released
  • Updated Debian 10: 10.7 released

CyberChimps WordPress Themes

© 2021 Devon and Cornwall GNU/Linux Users Group