In Part II of my Bash scripting adventures I’ll write a script to resize an image.
As a follow up on my Bash scripting efforts that I started this year I wrote a script that resizes a photo to a specified width in pixels. The script should work both on Linux and OSX (tested on OSX, will test on Linux later). For this script to work ImageMagick needs to be installed. The script tests if an argument is specified (the original photo of course), if ImageMagick has been installed and if the file output.jpg exists. If output.jpg exists the user gets the option to overwrite the existing file or exit the script. Finally the user needs to specify the width in pixels of the output.jpg.
If you want to use this script, copy the code below and paste it into an editor like vim, vi or Geany. Save it e.g under the name resize and make this file executable by typing.
chmod 755 resize
Now if the photo is in the same folder as the script just type.
# written by Eric Buijs 12 january 2019
if [ $# -eq 0 ]
echo You need to specify a file.
echo e.g: resize photo.jpg
if [ ! $(which convert) ]
echo This script requires Imagemagick!
echo You can download it at http://www.imagemagick.org/
if [ -e output.jpg ]
echo output.jpg already exists.
read -p "Do you want to overwrite it? (Y/N) " answer
if [ $answer = "N" ]
read -p "What is the desired width in px: " width
convert $1 -resize $width output.jpg
If you’re still looking for an alternative social network to replace G+ here is a guide to the Fediverse that helps you choose.
Time is running out for GPlus refugees. G+ will close on April 2nd. So to help people that haven’t decided yet where to go in the Fediverse I made some pointers.
I divided this guide in a number of sections. Each section describes a certain use of social networks and which networks are most suitable for this specific use. Combine this with your preferred use of a social network and you should be able make a decision.
Micro- or macroblog
In general a macroblogger writes longer posts with longer intermittent periods while a microblogger writes short bursts on a daily basis. Microblog networks typically have a maximum post length of hundreds of characters. The macroblogger can choose between Diaspora*, Socialhome, Friendicaand Hubzilla. The microblogger can choose between Mastodon, Pleroma, Misskey or GNU Social.
Arguably the most important part of a social network is the interface. Lot’s of G+ users like the smooth interface with the grid layout, the stream with updates on people, collections and communities that you follow and the lack of ads. G+ has an algorithm but unlike FB my stream felt mostly relevant with interesting posts (ok, lets forget about discover which I never used because it mostly served me rubbish).
First, none of the social networks of the Fediverse show ads or have some kind of algorithm to influence the stream of posts. All macroblog social networks (see above) have a stream only with updates on people and topics (tags in Diaspora*) that you! follow. The interface of Mastodon is very different from G+ and has more similarities with Twitter. It allows you the follow users but not topics (although the user can search for tags). Nevertheless the interface of Mastodon works very well and might be an important reason that this social network is currently by far the most popular of the Fediverse.
If the grid-like layout of G+ is important to you, Socialhome features a similar grid-like layout.
ease of use
The different social networks in the Fediverse have a widely different user experience. Now it’s up for debate which is easy to use and which is not but I’ll give my opinion on this. The most easy to use social networks are in my opinion Mastodon and Diaspora* and I recommend them for beginners in the Fediverse. Both have a relatively simple interface with easy access to the functions and concentrate on social interaction. On the other end of the spectrum are Hubzilla and Friendica. Both these social networks are packed with functionality and Hubzilla is even more than a social network (e.g it allows the user to create a website). The interface for both can be difficult to master with lots of options, menus and submenus. It took me a considerable time to find all the functionality in Friendica and after half a year I still find new options.
If mobile is important it’s good to know that some social network are supported by multiple mobile apps while others (mostly the newer social network) current don’t have a mobile app. I believe that Mastodon is best supported with multiple mobile apps. Diaspora*, Friendica, Hubzilla, GNU Social and Pleroma have at least one mobile app. As far as I know Socialhome lacks a mobile app.
Support for Diaspora* protocol
If it’s important to connect with friends on Diaspora* it’s good to know that currently not all social networks in the Fediverse enable you to do that. Socialhome is based on the Diaspora* protocol while Friendica and Hubzilla support it. Friendica and Hubzilla are the only social networks that’s able to connect with (I believe) all social networks of the Fediverse.
If photo’s are very important to you (think Instagram) Pixelfed is designed with photo sharing in mind. The same can be said about PeerTube for video.
If your interested in sharing more than discussing or having a conversation you either need to choose for a social network with the largest number of users or a social network that can connect with all other networks. The best choice for that is either Mastodon or for the latter Friendica or perhaps Pleroma or Hubzilla.
If you want to discover what’s going on in the Fediverse you’ll either want to choose Mastodon because of its size or a network that connects with most other social networks. I believe that in the latter case Friendica is the best choice but if you’re less interested in the Diaspora* side of things you can also choose Hubzilla or Pleroma.
G+ was the shared interest network and that gap is hard to fill. Nevertheless there are options. Mastodon has servers that are for people interested in specific topics like art (mastodon.art), open source (Fosstodon), Linux (linuxrocks.online), technology (mastodon.technology)) or science (scholar.social). Diaspora* takes a different approach where contacts can be ordered in aspects. By default the aspects are Family, Friends, Acquaintances and Work (social circles) but special interests aspects such as Science op OpenSource can very well be added. The groups in Friendica have a similar working.
Social networks such as Mastodon, Diaspora, Friendica and Hubzilla can be used for private messages but keep in mind that if you’re on Diaspora you can’t send a private message to someone on Mastodon vice versa.
Connect with G+ friends
G+ users went everywhere but the’re some likely places where you can
meet old G+ friends. The most prominent is likely the Diaspora* instance
(=server) Pluspora. As the name indicates Pluspora is
especially created for G+ refugees so there’s a good chance you’ll find
friends over there. It may be good to point out that Pluspora is part of
the Diaspora* network. I’ve also seen some of my old G+ friends
surfacing on either Mastodon or on Diaspora*.
There is no denying that G+ filled a gap in the market of social media networks. G+ was a shared interest network where the user could follow multiple persons on collections or I could join a community around a specific interest. This gap isn’t easy to fill by any social media network. Now my last tip is this. Take your time to look around in your new network, don’t expect it to be like G+ but keep an open mind and judge it on its own merits. After some time you’ll discover that this new social network has its own qualities that you start to care about and love.
EDIT 25 February 2019: I removed the Osada social network because the developers decided to abandon it. Instead they are concentrating their efforts on the Zap social network which is similar to Osada with one huge difference that Zap doesn’t support the ActivityPub protocol.
This post contains some use cases where Friendica could be a better choice than Diaspora*
Lately I’ve came across discussions and questions about the difference between Diaspora* and Friendica. So, after an earlier reply today describing when it’s worthwile to use Friendica instead of Diaspora, I decided to expand on that post. On the surface both social networks look similar, they’re allow for blogging with a markup language to structure text, the interface shows similarities and they share most of the functionality. Although they were both released in 2010 Diaspora is much better known and has more users. So why use Friendica at all?
I therefore defined some typical use cases where Friendica could be benificial:
Being able to connect and communicate with contacts from various social networks of the Fediverse. Friendica supports different social networking protocols and federates with Mastodon, Diaspora* and Pleroma and others.
Being able to automatically post from Friendica to several social networks (even non-federated and even to your WordPress blog) e.g. important for people that cast on mulitple social networks at once. This service alone is one that some people are willing to pay for.
Being able to follow and discuss certain hashtags over multiple social networks. See 1). Important if you don’t want to miss anything 😉
To setup a forum for a certain purpose for multiple people to join.
A link to a website doesn’t show a preview on my current Friendica server squeet.me. This is for some people a very important feature that’s missing.
The upload limit for a photo can be lower depending on the server. On the popular server squeet.me it is 781.25Kb this is way lower than the 4.2 Mb of Diaspora*. I guess the message is to carefully choose a server for your account.
All additional features of Friendica come at a price, complexity of the UI. This is I think the reason that Friendica is harder to master than Diaspora. Diaspora fulfills the needs of most people and the simplicity of the interface is in fact one of the strong suits of this social network. Friendica on the other hand is more for power users or people that absolutely need one of the use cases mentioned above.
Full disclosure I use both Friendica and Diaspora* and currently I don’t prefer one over the other.
To kick off the year I started to learn Bash scripting, something I wanted to do a very long time. I humbly began with tutorials on the web like this one and I’m rewriting scripts from Smokey01, a fanatic Puppy Linux user. As an exercise I simply rewrote this script to work on OSX. If you want to use it you need to install exiftool. I installed exiftool with Homebrew and typed brew install exiftool but there’s also a dmg file available. If you don’t use Homebrew you do have to change the check if exiftool is installed.
Now for the script. It reads a jpeg file that must contain geocoordinates. After some checks for parameter and exiftool installed it reads the geocoordinates and stores them in the variable coord. This variable is then added to a Google search query and the result displayed in the browser.
Save the script e.g. with the name place and run with place /path/to/photo.jpg to display the location where photo.jpg was taken.
2 # Originally written by smokey01 28 May 2017
3 # Rewritten for OSX by Eric Buijs 9 Jan 2019
4 if [ $# -eq 0 ]
6 echo You need to specify a file.
7 echo EG: place photo.jpg
8 exit 1
11 if [ ! -d /usr/local/Cellar/exiftool ]
13 echo “This script requires exiftool!”
14 exit 1
17 coords=`exiftool -n -p ‘$GPSLatitude,$GPSLongitude’ $@`
18 read -e -p “Do you want to see the location in your Browser? ” choice
19 [[ “$choice” == [Yy]* ]] && open https://www.google.com/search?q=$coords || exit 1
With G+ closing in a couple of months community owners are searching for alternatives. I provide a number of FLOSS options.
With the demise of G+ a lot of community owners are suddenly looking for a new home. Since a lot of G+ users despise FaceBook (and rightfully so) other social networks are mentioned. The problem with a lot of these networks is that they are centralized and proprietary making the users depending on the whims of the owner of the network. Below I summerize the FLOSS options for people interested in setting up a community. This is not an exhaustive list. I encountered these options after discussions often on G+ and I experimented with some of these options during the last couple of months.
Self-hosted or not
An important decisions is whether or not to host the forum or community yourself. If you want to host it yourself you’ll keep full control of the server however the maintenance is considerably more labor-intensive than with a non-selfhosted solution. You also need to install the software on a server and configure it.
Both are macroblogging social media networks that offer the possibility to create a forum. The UI of Friendica doesn’t look very modern but the functionality needed to use and maintain a forum is all there. Click this link to see an example of what a Friendica forum looks like. If you want to create a forum on a existing server please note that the administrator of this server can place limits to the forum e.g the number of participant or the number of forums that can be created by one account. Be aware that you’re a guest on someone else’s server.
A practical example. In the German town of Zwenkau the citizens are provided with a community platform, the Zwenkauer Flaschenpost, for online communication and discussion between citizens. This is all done with a standard Friendica install on a server. If you want to read more here is a link.
Movim is social platform that let you share and chat. Movim is build on top of the XMPP communication protocol. A strength of Movim is that is federates and that everyone with a XMPP account (e.g Jabber) can connect. Once you’ve created an account it’s very easy to create a community. The UI looks modern but some community admin features are missing (or I couldn’t find them). As an example as an owner I couldn’t ban someone from the community. This is a link to a Movim community. Also a word of warning if you create a forum on an existing server be aware that you’re a guest of that server and that restriction may be applicable.
Mastodon is a microblog social network that has a TweetDeck like interface. I was hesitant to add it to this list because the UI and the dynamic experience differ from a classical forum where the same post remains in the viewport for days or weeks. However when joining the right instance (=server) or create one yourself it may very well become a great dedicated community. Here is a link to mastodon.art an instance where artists can show their artwork.
Open source forum software that is currently in beta. Nice, modern UI. I’ve read some concerns about the beta status and the stability of Flarum. If you want to see what the interface looks like here is a link.
EDIT: I removed the Osada social network because the developers decided to abandon it. Instead they are concentrating their efforts on the Zap social network which is similar to Osada with one huge difference that Zap doesn’t support the ActivityPub protocol.
Friendica is a good alternative to the Diaspora* social network. One of the features that makes Friendica shine are various filtering options. This article describes them.
Diaspora* vs Friendica
About two months ago I created a Friendica account to make a comparison with Diaspora*. I wanted to know if Friendica is a good alternative to Diaspora*. A problem that I have with Diaspora*, at least on my pod, is the lack of control of the stream. The stream contains all the posts from the hashtags and people that I follow. Although this is an excellent way to create a stream it also results in much unwanted posts. An example, if I follow someone on Diaspora* I get every post. If for instance I find another person interesting for his/her ideas about the Fediverse I also get all the kitty pictures. In this case I often end up ignoring the person entirely which is a pity.
Filtering in Friendica
Friendica provides much better control over the posts in /network (this is the equivalent of the Diaspora* stream). This is achieved with several filter options. Under /settings/addon these filtering options can be found. Here is a summary:
Collapse (=partially hide) posts from specified users with Blockem
Allow only specified languages. Other languages are collapsed (Language Filter)
Collapse posts with specified hashtags e.g nsfw (Content Filter)
Block specified users (Superblock)
Advanced Content Filter, a very versatile filter that allows to collapse posts on about every property found in a post, such as body text, title, author boolean combinations of properties. This is done in so called rules. The Advanced Content Filter uses Symfony’s Expression Language. The following link provides some examples https://github.com/friendica/friendica/wiki/Advanced-Content-Filter-addon. Advanced Content Filter enables the user for instance to collapse every post that has an image (and saves me a lot of scrolling) or has certain text in the body. A simple example, the rule body matches "/politics/" collapses every post that contains the word ‘politics’.
Furthermore Friendica displays at the top of a post when a filter is used. This way it’s easy to determine if the filtering works as intended.
All in all the filtering options of Friendica are a good way to control the posts in the stream improving the experience of the social network. The image filter and the language filter alone strongly reduce the amount of mouse scrolling for me.
Hallo allemaal, ik geef sinds kort bijles in wiskunde, natuurkunde en scheikunde voor Havo en VWO. Als je zoon, dochter of misschien jijzelf bijles in deze vakken kan gebruiken en je komt uit Utrecht ga dan naar www.bijles-in-utrecht.nl. Daar staat meer informatie over de bijles en hoe je deze kunt aanvragen.
How do you rip a DVD even the one with DRM. What do you need to decrypt DVD’s, create mpeg4, add metadata and play it on Kodi, OpenELEC or LibreElec. This post describes the free/libre software that does the job.
Why in this day and age of Netflix one would be interested in how to rip a DVD? More and more people are using Netflix or an other video streaming service to watch movies and TV series. What most people don’t know is that Netflix is trampling user rights. Not only does Netflix use digital rights management (DRM) they also mine huge amounts of data from the users. This data is not only used to improve the service it can also be provided to third parties like law enforcement and other businessess for promotional ‘services’ . If you don’t believe me you can read it in the privacy statement of Netflix.
Unfortunately the’re very little legal alternatives that respect the user rights. DVD’s are an option but most of current DVD’s have strong DRM in place. Luckily this DRM can be removed with relatively simple means. Without the DRM the user can watch the content the way he/she prefers.
In this post I’ll explain what you need to remove the DRM from DVD’s and copy the movie or TV series to OpenELEC or LibreELEC or any other system with Kodi e.g in your living room.
MetaZ is a metadata editor but the beauty is that it uses the title of the movie or the TV series to retrieve metadata from The Movie Database (TMDb) and adds this metadata to the rip file we just made with HandBrake. Unfortunately MetaZ only runs on OSX while MetaX only runs on Windows. Of course we can use VLC for GNU/Linux but the user has to add the metadata manually which is a pain in the butt.
Kodi, OpenELEC, LibreElec
Eventually you want to be able to play the video files that you ripped from the DVD’s. The’re many free/libre software choices but perhaps the most popular is Kodi. Kodi is mediaplayer software that runs on about every media file you’ll throw at it. It is available for GNU/Linux, Windows and OSX. OpenELEC and LibreELEC take this a step further because the’re Linux based operating systems with the sole purpose to run Kodi.
I hope this information has helped you to rip your DVD’s and start watching them on the device of your own liking. If you have any questions about this topic feel free to send me an email. Now if you excuse me I have a nice classic movie to watch.
Read about the Fediverse where you own your data instead of Facebook, Instagram or Twitter. This post explains about the different social networks in de Fediverse and how you can get an account, no strings attached.
Chances are you have a Facebook, Twitter or Instagram account. All three very popular free (as in free beer) social networks that have something in common. They are centralized services owned by a single commercial entity and that entity wants to make profit. In fact they want to make as much profit as possible. Unfortunately this profit comes at a loss, your loss. The social networks gathers your data this is called data mining. This data is mined to create a profile of you to serve you ads. Also they sell your data to third parties and who knows what they’ll do with it.
Ok, you probably know this but what can you do about it? First, if you don’t care about all this you can stop reading and continue posting kitty pics on Facebook. If you do care please read on because the’re good alternatives. Alternatives that aren’t centralized, aren’t commercial, don’t maximize profit, in fact they don’t make a profit at all. Is this possible? Yes, welcome to the distributed social networks.
Now what are distributed social networks? These networks are full featured social networks that do what social networks are supposed to do, enable you to interact socially over the internet, have a chat, have a conversation, discuss, blog and share. But the services are decentralized or distributed over distinct providers. Every provider maintains a server (or multiple servers) and interacts with the other distinct servers thus creating a joined service. Hence the name federated network also know by the name Fediverse.
The lack of a single commercial entity provides huge advantages for the user of the Fediverse.
Since the’re is no single owner it can’t mine your data. This means that the data is yours and not the owner’s. You decide what you want to share e.g in your profile and who you want to share it with. This ensures a better protection of your privacy.
No owner can decide to close the social network. This is what happened to G+. But even if a distinct provider of the Fediverse closes his server you can take your profile and move it to another server and continue like nothing happened.
No government can block the Fediverse nor can an ISP boycot the Fediverse. Remember what happened to Gab where ISP’s and other parties boycotted the service. An ISP can close a server but the Fediverse consists of thousands of distinct servers all around the world.
If your server doesn’t meet particular needs you can hop to another taking your data with you and never leave the social network. NOTE: this is not available for the Diaspora social network.
No ads. Servers of a distributed network cost money but this money doesn’t come from ads shown to the user. People that maintain the servers either pay this out of their own pocket or you can support them with donations (which I highly recommend).
With all these advantages you may be wondering who are these social networks and how can I get an account. For a full overview you can go to fediverse.party where you can find detailed information about more than ten social networks. I’ll mention the biggest four here:
Diaspora. In size second after Mastodon with a Facebook like interface but in terms of content more an anti-Facebook social network. Diaspora is lightweight making it very fast on even old PC’s.
Friendica. Diaspora and Mastodon use different communication protocols and can’t interact with each other. Friendica solves that by supporting several protocols. It can therefore serve as a hub to communicate with several networks. Apart from that Friendica could be considered as a Diaspora with additional features.
Hubzilla. Offers the same benefits as Friendica but uses some cutting edge features not present in Friendica. Probably beneficial for power users.
The Fediverse is a great place for social interaction. People in general are nice and the conversation are good. Yes they don’t have billions of users but it’s the quality of the interaction that counts. Sign up to one of these network, no strings attached garanteed and allow yourself some time to get acquainted. If you don’t like it try another one. The experience differ greatly over the different social networks. I’m sure that after a while you’ll find the right network that you will call home.
Three weeks ago I wrote an article about the demise of G+ and I defined four criteria for an alternative social network. This blog post describes my experience with Diaspora.
Why an alternative social network
Three weeks ago I wrote an article about the demise of G+ and I defined four criteria for an alternative social network. Based on these criteria I choose three social networks, Mastodon, MeWe and Diaspora* and signed up on them and promised to write about my experience with these three.
I will not write any further about MeWe since I already deleted the account after one week and wrote a post about it. So that leaves Mastodon and Diaspora*. This blog post is about my experience with Diaspora*.
What is Diaspora*
The shortest way to describe Diaspora* is it being a Facebook clone however this doesn’t do justice to Diaspora*. Although the user interface of Diaspora* has similarities with Facebook the network couldn’t be more different, kind of an anti-Facebook. First of all Diaspora* is free and open source software while Facebook is proprietary and Diaspora* is distributed while Facebook is centralized. The latter means that while Facebook is owned by a single entity that controls the entire network and it’s users Diaspora* has no owner and thus can never be controlled by a single organisation or person. Instead Diaspora* consists of many servers (or pods) that have their own administrator. These servers are are all interconnected (or federated). Without going into details about how this works exactly being distributed has other notable advantages from a user point of view.
First of all Diaspora* doesn’t have ads (it worth to note that some centralized social networks like G+ and MeWe also don’t have ads).
Diaspora* can’t be closed or sold.
There is no ‘built-in’ data-mining. While it can’t be excluded that some rogue administrator will use your data there is no ‘Diaspora* business model’ that would encourage this. Meaning that your privacy is better protected.
Conversations on Diaspora* are good and in-depth although it takes time to identify good contacts.
Working with Diaspora*
Being a user of G+ for several years I admit it took a little time to get used to the Diaspora* interface. Central is the ‘Stream’, a single column of posts of your contacts (followers in G+) and the hashtags (e.g #Linux) that you follow. Next is ‘My Activity’ which lists all posts that you liked, shared or commented on but also the posts that you wrote yourself. Lastly there is ‘Public activity’ that shows all public posts from the Diaspora* community. This also shows nudity or even porn but, as I noticed so far, this was always tagged with #nsfw which stands for ‘not suitable for work’. These #nsfw posts are not shown until the users clicks to open it. I think this is good solution to protect the user without censorship.
Conversations on Diaspora* are good and in-depth although it takes time to identify good contacts. After two weeks I have 29 contacts (on Januari 9 it was 50) of which half turns out to be what I consider good. Diaspora* provides the user with a good tool to ignore a contacts for instance if he or she turns out to be spammer. Diaspora* also allows for a private chat with an established contact which can be very handy.
Diaspora* doesn’t have the G+ equivalent of communities, a group of users sharing posts about a certain topic, and collections, a single users sharing posts about a single topic. These communities and collections can’t be mimicked by combined tags and aspects.
Diaspora* is, after Mastodon, the second biggest distributed social networks with the about 660.000 user accounts. Still a dwarf compared to FaceBook but I’m not interested in the total number of users. I’m interested in the quality of the conversation and this is good, in fact it’s very good. People are mostly knowlegdeable and helpful which guarentees meaningful chats. Just what I’m looking for.
I still prefer the G+ interface with multiple columns over the one column stream in Diaspora* because it saves a lot of scrolling however this seems like nitpicking. Overall the user interface of Diaspora* is straight forward and easy to work with.
The user has good control of the streams of information although I would have preferred the user to be able to combine tags and aspects. The reason for this is I want to be able to follow someone on certain topics instead of all his or her posts.
Yes, my family and friends are not on Diaspora* but I don’t care about that in fact it’s a plus.
Diaspora* works surprisingly good on low-end machines. This is probably due to the minimal user interface. I consider this a big plus since I have a very old Thinkpad laptop that I use regularly.
Yes, my family and friends are not on Diaspora* but I don’t care about that in fact is a plus. I’d rather see them face to face anyway.
In conclusion Diaspora* starts to grow on me. I had a slow start with it but I’m gradually beginning to experience the strength of this well established and stable social network. I found Diaspora* very easy to use a plus that is not to be underestimated. The content that’s being shared is valuable and the conversations are excellent. For me that’s what counts when it comes to social networks.
EDIT: Diaspora* users can choose between a couple of Android apps. I choose Dandelior (which is the same app from the same developer as Dandelion) and I like it. Dandelior and Dandelion for Android can be downloaded from F-Droid.
EDIT: Diaspora* uses Markdown to format text making it an excellent choice for macroblogging. Markdown appears to be more powerful than the editing features of G+. This and the single column stream are making Diaspora* an excellent choice for macroblogging.