💾 Archived View for chirale.org › 2017-09-17_3913.gmi captured on 2024-07-08 at 23:34:56. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-12)

-=-=-=-=-=-=-

A new language for Social Media managers on Twitter

Last months I looked for a tool to shape my community on Twitter to follow interesting profiles and to increase my followers.

I had bad experiences using integration from third party (app) so I wanted this tool to be able to create my own app on Twitter without 3rd party involvment for better security and privacy.

Since I wanted real new followers and I don’t want to violate Twitter policies I looked for a tool able to select and filter users from my network, choosing only those whom are relevant to follow.

I wasn’t looking for a new, fancy SaaS website with a monthly fee to pay, and I want to handle many accounts at the same time without additional costs.

I wanted a tool able to run on my own PC and with the full access to the source code to avoid my data to be stolen and to understand its inner mechanics.

Well, that tool doesn’t exists at the time.

So I decided to write my own.

The fancy app

When I start to develop a full-featured Twitter app for desktop with a user interface running on my local machine. I started to add icons for the actions, tables to list users, buttons to do actions, a lot of checkboxes to select users and so on.

The result was a good-looking app that works. But when I tried to filter and select users using some criteria it all became clumsy.

As a programmer, I started to feel my own application as a cage.

I wasn’t allowed to search for users on my network for multiple or complex criteria. I wasn’t able to merge, diff or intersect different set of users.

Then I realized that what I was really looking for wasn’t an app but a brand new scripting language to manage social networks.

The programming language

I started to look for open source solutions able to create this new programming language for social media management using Python There is a small bunch of instructions to add to this programming language but I want it to be efficient and well-designed.

Here comes in help TextX by the professor Igor Dejanović, a parser build on top of the Arpeggio PEG. Among all formal languages and parsers, Parsing Expression Language (PEG) seems to me the better for my purpose and the most modern approach to parsers.

TextX

Igor Dejanović

Arpeggio

Parsing Expression Language

The grammar of this new language is written on a single file and can be graphically represented using DOT language. Then TextX use the grammar to parse the language using a Meta-model where the language comes to life.

single file

DOT language

.ows language grammar

To handle the Twitter management I used the solid Tweepy by Joshua Roesslein and to query the social network SQLAlchemy and SQLite.

Tweepy

SQLAlchemy

SQLite

Scripts are launched by command line and an interactive console with history is available to manage your Twitter account using the scripting language using the Python Prompt Toolkit by Jonathan Slenders.

Python Prompt Toolkit

JournaKit Followship .ows

All these free software / open source tools among others are the construction blocks used to create this bare-bones social media managers’ tool for Twitter.

A simple scripting language to manage and expand your network of followers and friends with complex queries, running on my PC, registered with custom application on Twitter and executable on many accounts at the same time.

Its name is JournaKit Followship .ows and it’s available on Gumroad. The complete application, the source code and a comprehensive user manual are provided allowing you to master the .ows language.

JournaKit Followship .ows

This is the first application of the JournaKit suite aiming to help journalists and writers whom use the web to share their works and to discover new sources and contacts.

JournaKit suite

Comment this article or contact me privately if you want to know more about it.

contact me

https://web.archive.org/web/20170917000000*/http://www.igordejanovic.net/textX/

https://web.archive.org/web/20170917000000*/http://www.igordejanovic.net/about.html

https://web.archive.org/web/20170917000000*/http://www.igordejanovic.net/Arpeggio/

https://web.archive.org/web/20170917000000*/https://en.wikipedia.org/wiki/Parsing_expression_grammar

https://web.archive.org/web/20170917000000*/http://www.igordejanovic.net/textX/grammar/

https://web.archive.org/web/20170917000000*/https://en.wikipedia.org/wiki/Graphviz

https://web.archive.org/web/20170917000000*/https://journakit.chirale.org/

https://web.archive.org/web/20170917000000*/https://chirale.wordpress.com/2017/09/17/a-new-language-for-social-media-managers-on-twitter/ows_dot/

https://web.archive.org/web/20170917000000*/http://www.tweepy.org/

https://web.archive.org/web/20170917000000*/https://www.sqlalchemy.org/

https://web.archive.org/web/20170917000000*/https://www.sqlite.org/

https://web.archive.org/web/20170917000000*/https://python-prompt-toolkit.readthedocs.io/en/latest/

https://web.archive.org/web/20170917000000*/https://gum.co/zQrpz

https://web.archive.org/web/20170917000000*/https://journakit.chirale.org/

https://web.archive.org/web/20170917000000*/https://chirale.org/contact-me/?g3563-comment=About%20Journakit%20Followship%20.ows