Featured post

About the DCGLUG

images images (1)


http://www.nikeairmaxfreedom.com nike air max 95


The Devon and Cornwall GNU/Linux User Group is for anyone who uses – or is interested in using – Free, Libre and Open Source Software. The group is made up of a wide range of people from home users to professionals and between us we have a wide range of experience and knowledge. Please feel free to join our discussion mailing list, or chat with us on IRC (chat). The Torbay meetings are now part of the Raspberry Pi jams as these are arranged by members.


Arm DS Development tools (Debian edition)

The Arm DS Development tools is now available for Debian.

Quoted from the website (Which I hope is ok,  as its for promotional purposes)

The ARM® DS-5 Development Studio is a professional toolchain developed by ARM to accelerate the development of native (C/C++) Linux applications. It is available free of charge to Debian Developers and offers 32-bit (armel and armhf) and 64-bit (arm64) ARM application debug and system analysis to help make Debian packages robust and highly optimized for ARM processor-based devices. Learn more about Streamline performance analyzer and DS-5 Debugger.

Please visit:


For more information


September Raspberry Pi jam

Torbay Raspberry Pi jam – Write up 13th September 2014

This month we had the usual mix of projects, help and advice.

First off :

Tom Brough brought along freddie and bob, to demonstrate, Freddie now has a user interface, written in python and I guess tkinter. This allows control over features, which colour the web cam detects OR you can control freddies arms with the interface. Again this proved popular and there could be some interest to run a build your own freddie activity at a future event.

Gordon was on hand to demonstrate some of his ever increasing array of add on boards for the Pi, this is now looking rather impressive esp with the pi-moroni kit to look at.

We also had the virtually safe people along in a tie in to advise people on internet safety, while we didn’t get anyone in specifically to see them, they did talk to the 3 young people and discussed issues that concerns them e.g swearing in chat rooms. The young people also showed them their projects, including a minecraft clone in scratch. We also installed minetest which is the free MC clone.

So a big thank you to the two PCSOs from the virtually safe team. I think you gained something from the chat with the young people which is a good thing. I will discuss getting you back in, in the mean time we have some flyers for the next Pi jam.


The Pi jam now have 3 laptops for people to use, the idea here being that these are extra computers to either run scratch, or perhaps use for remotely accessing a Raspberry Pi.

I helped a young lad and his dad with some advice on what is needed to get started with a Pi, where to buy from and what can be done with a pi, and then left them to have a go with scratch / Python.

A big thank you to everyone involved, and especially Dan S for bringing two laptops and a stack of Maplins flyers down. Thank you also goes to Rob Beard for PAT testing the PSU’s this means they are certified as safe for people to use.

The next Pi jam in Devon is 4th October at Exeter library 10 – 12

The next Pi jam in Torbay is 11th October, this is the same week as European code week, so the Jam is listed on the codeweek website.

Please tell friends, teachers, work colleages, children / young people lets get lots of people to the events in October.

The event is slowly building up, we took positives from today so we are working on a few items behind the scenes.

Next time expect more of the same, I am hoping to demonstrate ToriOS which is a minimal Linux based operating system based on Ubuntu 12.04 (http://www.torios.org/)

There is more to a Pi jam than simply Raspberry Pi. It is also about coding, education, help & advice and keeping safe while coding.

Net Neutrality

The Honorable Tom Wheeler
Federal Communications Commission
445 12th Street, NW
Washington, DC 20554
Dear Chairman Wheeler:We are writing to urge you to implement strong and unambiguous net neutrality rules that protect the Internet from discrimination and other practices that will impede its ability to serve our democracy, empower consumers, and fuel economic growth. Erecting toll booths or designating fast lanes on the information superhighway would stifle free speech, limit consumer choice, and thwart innovation.

The FCC must act in a clear and decisive way to ensure the Internet does not become the bastion of powerful incumbents and carriers, but rather remains a place where all speakers, creators, and innovators can harness its power now and in the future.

The Internet is a staple of our lives and our economy. The FCC should protect access to the Internet under a Title II framework, with appropriate forbearance, thereby ensuring greater regulatory and market certainty for users and broadband providers.

To ensure that the Internet fulfills its promise of being a powerful, open platform for social, political, and economic life, the FCC must adopt a rule against blocking, a bright-line rule against application-specific discrimination, and a rule banning access fees. These principles of fairness and openness should not only apply to the so-called last-mile network, but also at points of interconnection to the broadband access provider’s network. Likewise, strong net neutrality rules must apply regardless of whether users access the Internet on fixed or mobile connections.

The FCC’s proposed rules would be a significant departure from how the Internet currently works, limiting the economic and expressive opportunity it provides. Investors, entrepreneurs, and employees have invested in businesses based on the certainty of a level playing field and equal-opportunity marketplace. The proposal would threaten those investments and undermine the necessary certainty that businesses and investors need going forward. The current proposed rules, albeit well-meaning, would be far-reaching. Erecting new barriers to entry would result in fewer innovative startups, fewer micro-entrepreneurs, and fewer diverse voices in the public square. The FCC should abandon its current proposal and adopt a simple rule that reflects the essential values of our free markets, our participatory democracy, and our communications laws.

When the history of the Internet is written, 2014 will be remembered as a defining moment. This FCC will be remembered either for handing the Internet over to the highest bidders or for ensuring that the conditions of Internet openness remain for the next generation of American entrepreneurs and citizens. We urge you to take bold and unequivocal action that will protect the open Internet and the opportunity it affords for innovation, economic development, communication, and democracy itself.



Exeter Raspberry Pi Jam 06/09/2014

Saturday 6th September 2014 saw another Raspberry Pi Jam in Exeter take place and what a great turnout there was!

At today’s Jam, there was lots of teaching going on with the introduction to Raspberry Pi course going on in the Fab Lab and there was even more teaching going on in the Meeting Room where the rest of the Jam took place. Continue reading

hack4good pre-event webcasts

You can build/design apps? Why not put your powers to good? Join us at #hack4good as we hack #ClimateChange together https://geekli.st/hackathon/hack4good-06

Global Pre-Event Webcasts Schedule is out!

We have exclusive webcasts all next week with Save the Children, WWF, Fauna & Flora International, Lead International, WeForest, WRI, King Tides Network and Forum for the Future!


Please share and spread widely in all of your networks!

Mesh Networking in Scratch – The way to interface practically anything to scratch.


The Scratch development platform is a great way for younger coders to get into computer programming with it’s simple “lego brick” style of drag and drop code construction. However interfacing hardware to it can be a little bit tricky (although not totally impossible).

One feature of Scratch that can be very useful is the mesh network feature which provides a mechanism for broadcasting messages and sharing variables (as “sensor-updates”) via standard network sockets.

This feature means that practically any modern computer language (python,c,c++,java,php to name but a few) could be used to interface to a scratch session via the mesh. For example these languages can be used to directly interface other hardware such as game controllers (wii remotes, console game pads etc.), to scratch via the mesh network.

There are two little wrinkles in this plan however. Firstly because the program is acting as a proxy between the hardware and scratch via a network connection the response can be sluggish. Press button here and wait half a second plus before scratch responds. This isn’t the nanosecond responses that console games expect in “real world” game titles, but this is scratch games, not the next multinational block buster game.

The second wrinkle is that you have to turn on the Mesh networking. Not the hardest thing to do in the world, but one should be aware of what mesh networking is doing in the background. For one thing its allowing anything that understands the Mesh networking protocol (which I will be explaining later in this article)  to access variables in your scratch session without a single nod or wink to authentication or security (because frankly mesh networking on scratch has none). If you think of a scratch variable holding one of your private emails then switching on mesh networking would allow another computer on the same local network to access that email. Worse still if you open up port 42001 on your firewall then potentially anyone on the Internet could access your scratch session. The good news here is that by default it is highly unlikely that your firewall will have opened up port 42001 to any machine on your local network (let alone one used by a primary school child).  However it is possible to do this through your firewall management software and there maybe a point where you would want to consider a school-to-school project link. If that opportunity does ever arise, open up your firewall to port 42001, do the exercise, close down access to port 42001, job done.

Having said all that, the reality is that you will not (should not) be doing anything that sensitive with scratch. By making you aware of the minor risks and dangers in opening up mesh networking (when compared to the benefits that it brings to young coders discovering new ways to do things like inter process communication), I am hoping that you will be able to appreciate the issues involved and head them off in the more controlled environment of the classroom. The most likely scenario is when some bright kid realised that they can snoop on another kids classroom project by connecting to his/her mesh. If that happens credit them for having a deeper understanding of how mesh network works with Scratch… but also take some time to explain to them the ethical issues of doing such things “unannounced” with a hope that they will grow up to be network security consultants not master cyber criminals…..

Most importantly be aware of how it works  yourself. If you know how to detect it (and hopefully this article will explain it well enough for you to understand) then it probably will never happen. And even an “up front” lesson on ethical computing would not go amiss. Give them the old spiderman pep talk “with great power comes great responsibility ….”

Turning Mesh On

I could write a really boring sub section on this but frankly M.I.T’s own instructions for doing this pretty much cover it, after all they did develop Scratch so they should have an idea or two about how it works! See: http://wiki.scratch.mit.edu/wiki/Mesh

The only other thing I would add to this from my own personal experience is that while turning mesh networking on for Scratch on Linux based systems like the Raspberry Pi you will need to run it as root (sudo scratch) from the console. If you don’t do this it will probably freeze up as the “save” stage and you will have to follow the instructions all over again.

Once you have updated the image with mesh enabled you will be able to switch it on/off from within any scratch session started as a “normal” user via the usual desktop shortcut link.

My Python ScratchListener Class

I have adopted and adapted other peoples work in constructing my own “ScratchListener” class. The code is meant as a test piece framework for someone to add new features to or interface new devices to scratch

from array import array
import threading
import struct
import socket
import time
import sys
class Scratch():
def __init__(self):
PORT = 42001
HOST = 'localhost'
if not HOST:
self.scratchSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.scratchSock.connect((HOST, PORT))
def send(self,cmd):
head = len(cmd).to_bytes(4,byteorder="big")
self.scratchSock.send(head + cmd.encode("utf-8"))
def broadcast(self,message):
self.send("broadcast %s" % message)
def update(self,variable,value):
self.send("sensor-update \"%s\" %s" % (variable,value))
def recv(self):
class ScratchListener(threading.Thread):
def __init__(self):
PORT = 42001
HOST = 'localhost'
if not HOST:
self.scratchSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.scratchSock.connect((HOST, PORT))
def run(self):
data = self.scratchSock.recv(1024)
length = struct.unpack(">l",data[0:4])[0]
pdata = data[4:].decode("utf-8")
if(length != len(pdata)):
print("Data Length Missmatch on received data")
print("Data Received %d %s" % (length,pdata))
def process(self,pdata):
if("sensor-update" in pdata):
print("Sensor Stuff")
parts = pdata.split(" ")
variable = (parts[1])[1:-1]
val = (parts[2])
exec("%s_temp = %s" % (variable,val))
def send(self,cmd):
head = len(cmd).to_bytes(4,byteorder="big")
self.scratchSock.send(head + cmd.encode("utf-8"))
def broadcast(self,message):
self.send("broadcast %s" % message)
def update(self,variable,value):
self.send("sensor-update \"%s\" %s" % (variable,value))
def recv(self):
# Main....
if(__name__ == "__main__"):
scratch = ScratchListener()
external1 = 0
#scratch.send("broadcast broadcast")
#scratch.send("sensor-update \"external1\" %d " % external1)
#scratch.send("sensor-update \"external2\" %d " % external1)
#scratch.send("set variable \"external1\" to %d" % external1)
#scratch.send("broadcast hello")
scratch.update("external1","%d" % external1)
external1 = external1 + 1

http://www.nikeairmaxfreedom.com nike air max 2015