Fedigroup – group system for the Fediverse August 7, 2023
Posted by GuySoft in open source, programming, python.Tags: fediverse, open source, programming, python
add a comment
Hey all,
The past year I’ve been playing pretty active on federated social networks. This led me to try and write a federated social network group system. Although this group system is far from being complete since Fedigroup is currently in pre-alpha level. I think it is worth sharing what I have learned, and also explain a bit why, if you met me during the past three years. I’ve been going about federated social networks.
You are also welcome to join a server I maintain here, Hayu.sh is the second largest Hebrew-speaking instance.
What is a federated social network?
A federation in servers means everyone can run their own server which is autonomous. And it can communicate with other servers too. Creating a large network. The first protocol on the internet is actually federated too – email.
There is no one central email server, or single email software. In social networks this means that you join a server, and follow and interact with everyone else. Even though your server could be, like in my case, hosted in your own home, with you owning all the data. You can also join a any other server, and switch between them.
For Hebrew speakers, I gave a small TED lecture about it, which is hosted on a federated video server. You can watch it here (Hebrew).
The Fediverse is the servers using the a W3C Standard that does just that
What made the Fediverse possible is the standard that was passed to describe it. The protocol is called ActivityPub 2.0. And it lets social networks share status messages (notes), shares (boosts) and favorites across different servers. It was created by a group of people who cared, not large companies. Despite some of them being members of the W3C. Its also worth mentioning that one of the major adopters of the ActivityPub 2.0 protocol was Mastodon, a type of social network server, which resembles twitter. And that really help gain critical mass.
Why didn’t I hear about this?
I was asked this by other developers and power users. It makes people dismiss the Fediverse as a passing or niche thing.
Unlike Facebook, Twitter even if you’re been avoiding social networks, their marketing will reach you, your news channel, municipality and country are likely using them. Their existence depends on it that you use and browse on their site. However, in the Fediverse does not have a business model that demands it. Or a marketing team. Its just people. You are welcome to join, but no ones income depends on it.
The Fediverse is growing though, by word-of-mouth, or text-in-blog. Recently even celebrities and others. The latest are the BBC, PNAS, George Takei, Neil Gaiman, Stephen Fry and the European Commission.
(more…)BackupFriend – Self-hosted backup to your RaspberryPi with a history and UI! July 19, 2021
Posted by GuySoft in open source, programming, python, wxpython.Tags: backupfriend, howto, open source, programming, python, self-hosted
4 comments

Atribution: Icon by: Freepik
Hey all,
I am releasing today something I’ve been working on the past year. It stared with a friend that had a requirement to do off-site backups of his work for his insurance, but BackupFriend has became a full blown backup solution.
The idea is you get a RaspberryPi and plug a harddrive to it, put it at your friends, family or just in your house and backup up to it using a desktop client that should have the feel like Dropbox/Google Drive/etc. You also get history! The RaspberryPi can also be changed to a remote server (instructions here). This guide focuses on self-hosted instructions, because I think its strange all backup solutions out there require you to pay rent for your own data.
Using a 4TB drive for under $100 and a Pi, you can get much more storage which is not ephemeral.
The desktop client has been tested on both Linux, MacOS and Windows.
Also, many thanks to Pull Request Community that featured BackupFriend as a project to work on, that helped get a few PRs on-board.
What you will need
- A Raspberry Pi, preferably 4B because of the USB3
- Note: Raspsberrypi can be replaced with a server (instructions here).
- A home network with a computer running Linux, MacOS or Windows, which you will be backing up from
- An external hard drive that can connect to the Pi (I use a 4TB WD My Passport drive, you can also just use a thumb drive for testing).
How to install on a Pi
(more…)ElectricSheepPi – Use your spare RaspberryPi to run evolving digital art! July 18, 2017
Posted by GuySoft in open source, programming.Tags: CustomPiOS, open source, programming, Raspberry Pi, raspbian
add a comment

Electric Sheep running on a Raspberry Pi
Hey all,
So its been a while since I had time to release something fun. After developing CustomPiOS I thought I might write something to demonstrate how easy it is to make your own RaspberryPi distribution with it. So I made one that runs Electric Sheep on boot. Its called ElectricSheepPi.
Electric Sheep is a collaborative abstract artwork that keeps evolving as you vote for “sheep”. So it makes nice visuals and is great to play on a spare screen and Pi. Raspberrypi 2 works, Raspberrypi 3 is recommended for smooth visuals. You can see examples of the visuals on youtube.
To run it
- Download the image
- Flash it like any distro
- set up wifi, set your wifi settings with the file electricsheep-network.txt or electricsheep-wpa-supplicant.txt.
- Plug to HDMI display, internet and boot
Its easy to write a custom distro with CustomPiOS!
To write I had to write a module for CustomPiOS, it was just 32 lines mostly copied from the electric sheep install manual. To make stuff start on boot I used the gui module which lets you start any gui application full screen at boot, that’s 2 lines in the config file.
Thank you Doc’s Tech for hosting the image yet again!
OctoPi – 3D Printer Web Server Distribution for the Raspberry Pi August 4, 2013
Posted by GuySoft in diy, Electronics, Hamakor, ITU, linux, open source, programming.Tags: 3D Printers, debian, OctoPrint, open source, programming, Raspberry Pi, raspbian
28 comments
Update2: New mirror opened after Dropbox suspended my public links due to traffic. Download the image here.
Update: Dropbox have suspended my Public links due to “extreme traffic activity” so in a few hours I should be syncing the image to other mirrors. Other hosting would be appreciated!
Hey all,
I am happy to say that I am a backer of the Rigidbot 3D printer, (which you can pre-order already), I am expecting it to arrive in August. In the meantime, I have ordered a Raspberry Pi to play with and started visiting a local maker community known as XLN.
This led me to find a really cool project called OctoPrint, which lets you control 3D printers using a Raspberry Pi over a web interface, however people were not installing it on their Pis because there was no out-of-the-box solution. Today I am happy to announce that a solution is here! I give you Octoprint + Rapberry Pi = OctoPi. A raspberry Pi distribution which runs OctoPrint out of the box, with support for time-lapse video on webcams (there is also an experiential version in the works that supports streaming from a raspberry Pi camera).
Just dd the image on to an sd card, put the sd card in your Pi, boot it and connect to the network and printer, then point your browser to http://octopi.local and you have a fully functional 3D printer server! Plug in a webcam and can also make time-lapse videos. Just as simple as that. More details for windows users can be found on OctoPrint’s download page.
The OctoPi image can be downloaded here.
The sources are available on github, and could also serve as a framework to automatically build other Raspbian-based Raspberry Pi distributions.
Pull requests, forks and issue reports are welcome. Also it would be helpful if someone could help me mirroring, since currently the images are hosted on my Dropbox account.
Thanks to Gina, the developer of OctoPrint, for such a great software! PlugWash on #raspbian for the build tips and Richard Mitchell for the last touches to OctoPi’s logo.
Share and enjoy,
Guy
3arabi – Arabic chat to English translator December 4, 2010
Posted by GuySoft in Crictor, Hamakor, ITU, open source, programming, python.Tags: 3arabi, arabic, code, open source, programming, python
36 comments

3arabi Logo
Hi all,
As some might have noticed, Arabic speakers on the net use a form of writing called ‘Arabic chat‘ or 3arabi, which involves using Latin characters and Hindu-Arabic numerals to write words in Arabic. I wrote a small service called 3arabi that lets you translate this Arabic chat directly to English.
Apparently there are tools to do transliteration (converting Latin letters back to Arabic), and also translation. But nothing that does them both. That is why I wrote a small script that uses Google’s transliteration service and ‘Google Translate’. This does the job, but is not perfect, however, it does actually help me understand some messages.
The source is also available in GitHub (its in python). If anyone contributes better code I’ll merge it back to the service.
Thanks to Ira Abramov for hosting the service!
Thanks to Rajesh who wrote the transliteration API though after using it I moved to the javascript google tool with his help.
Thanks Muhammad Khatib who wrote Google Translate python API and for releasing it.
Enjoy,
Guy
Update: Google seem to be blocking the translation service, thinking its spam, if anyone knows how to contact them and asking them to lift that ban would be appreciated.
Using CHDK to photograph blackboards in University Courses August 5, 2010
Posted by GuySoft in Crictor, diy, Hamakor, ITU, linux, open source, programming, python.Tags: chdk, diy, hacking, open source, programming, python, university
6 comments
Hi all,
During last semester I developed a set of scripts that lets me photograph pictures of the blackboards during my university courses, categorize them while I am taking them and automatically generate PDF document for each course week. Because physics equations are not the simplest things to input in to a laptop in realtime, I have developed the following method. I am writing the post because I have a feeling this tool could help people in many ways, since it did change how I study in lectures.
You can see my blackboard photographs here (and here is a simple pdf example, if you get lost in the Hebrew).
How it works in a nutshell
During the lesson I take the photographs of the blackboard with a script I wrote for CHDK. In the script you set the course and week of the semester and this is stored per-picture on the SD card.
(more…)
Qutecom Portable – a sip phone for your USB Flash Drive April 18, 2010
Posted by GuySoft in Crictor, Hamakor, ITU, open source, programming.Tags: open source, portable, programming, software, VOIP, windows
25 comments
I came across the need for a portable VOIP phone for windows, apparently there is no package out there for this.
So I repackaged QuteCom, a cross-platform softphone. Just adding a simple parameter did the job!
You can download the package here.
Extract it and simply run the “runme.bat” file in the folder.
The package is kindly hosted for me on Hamakor FOSS Society. There is also a wiki page with additional information about Qutecom portable there.
Cheaper Than SkypeOut!
Thanks to this package I can now call anywhere on my VOIP accounts. Where usually only skype was available, meaning I have a cheaper-than-skype providers 🙂 (Curently using voipvoip.com and callcentric). I really think standard VOIP should be more out there among the people giving a healthy competition.
Would love to hear feedback!
Bumble-B and an ADC with OpenGL make an oscilloscope February 22, 2010
Posted by GuySoft in Crictor, diy, Electronics, Hamakor, ITU, linux, open source, programming, python.Tags: bumbleb, diy, Electronics, linux, open source, OpenGL, programming, python
4 comments
Hi all,
During my small semester break I managed to connect my Bumble-b chip to an analog-digital converter (ADC).
With this I can read voltage changes and send the information to the computer to plot live.
Here is a demonstration video:
How its all connected
Pidgin and X-chat plugins to execute a command on new messages February 14, 2010
Posted by GuySoft in Crictor, Hamakor, ITU, linux, open source, programming, python.Tags: open source, pidgin, programming, python, source code, x-chat
28 comments
A while ago, when I coded message alert plugins for pidgin and X-chat so each time I get a new message my bumble-b LED display would flash, so I thought I might release the code here for people to use.
Both plugins will execute a command of your choice when receiving a new message.
Thanks to Simo Mattila who wrote the base code for the pidgin plugin 🙂
- Source code for the pidgin plugin
- You will have to follow the README file and compile the plugin. Then place the created .so file in ~/.purple/plugins/ .
- In the plugin menu there would be a configuration window to set the command.
- Source code for the X-chat plugin
- You will have to set the command inside the python file. Then copy it to ~/.xchat2/
- The X-chat plugin also is able to return the name of the user that sent the message.
Here is a video of the X-chat plugin in action:
I hope to find more time to posts the things I am doing, but as usual, university takes up all my time. Stay tuned
Introducing the Bumble-b and using it to control a LED matrix October 8, 2009
Posted by GuySoft in Crictor, diy, Electronics, Hamakor, ITU, open source, programming.Tags: bumble-b, diy, Electronics, howto, leds, linux, open source, programming, usb
4 comments

The Bumble-b
Hi all,
The past week I have been playing around with my new Bumble-b, as I mentioned in my last post. Basically what I did with it is control an LED matrix. After doing that I made it in to a USB Device! Thanks to the simple library LUFA. Now I can use a simple echo > /dev/ttyACM0 command to send a text message to the display. Meaning that I have now /dev/matrix!
In this post I hope to explain how to use the Bumble-b, a programmable USB chip, including its own built in programmer, for just $20. I would also like to encourage people here in Israel to start playing with this, since its cheap and easy to order way to get started with amateur electronics.
Here is a quick introduction video (followed by a detail post):
What is the Bumble-b?
The bumble-b is a USB programmable AVR chip with a programmer built in to it (called a breakout board). It is an AVR chip, meaning that its based on something that is widely used (the model is at90usb162). Moreover, since it has a USB connector right on it , this makes the creation of USB devices really simple. But not only USB devices alone.
(more…)






