Skip to main content

Posts

Remainder of GSoC's first phase summary

A long way to climb   End of first phase is here! This post reflects last weeks' development as I juggle hands and feet through the climb. Events Prosodyctl - Added support for luarocks: admin-add (Flags supported: --tree, --server, --no-refresh, --help) admin-remove (Flags supported: --tree, --server, --no-refresh, --help) list commands(Flags supported: --tree, --help) - Various bug fixes, to make added functions comply with prosodyctl functionality and coding style Software usage - Solved some issues I was having when using ZeroBrane's studio to debug - Tinkering around the creation of rocks and rockspecs from mod_smacks Difficulties - Still clumsy using different tools, like ZBS's IDE, Mercurial and Luarocks - Some challenges with blog posts formatting Future goals - Enabling and disabling the mod_smacks plugin through prosodyctl  Considerations Albeit still going too slowly for my taste, some progress is being made in mo...

Using ZeroBrane Studio to understand prosodyctl

Working on the terminal One way to work on code is by using the terminal. We can navigate through folders and edit files with something classic, like Vim. The first time I was introduced to programming though, was through an IDE. Therefore, I always felt kind of uncomfortable working with code on something other than that. Even though nowadays I casually code with the terminal I always look for a neat IDE to use, albeit I know there isn't nothing I can do there that I can't do already through the normal tools. But that visual sugar, buttons and accessibility 😚 ... One example Okay, so here is the kind of situations were I like to use an IDE. I've made some coding on one of prosody's script, " prosodyctl ", which is a script that contains commands to control prosody, in a systemctl-like fashion. This is a custom prosody installation I did from source, so everything is nicely packed in the same folder, making it easier to work around and develop. Her...

2nd GSoC week summary

What do you mean, its on fire? Second week has been a little uneventful. Preparation for those last evaluations and working on GSoC is proving to be a hard task. The first GSoC evaluation is already around the corner, so pressure is definitely rising! Events: Research: prosodyctl:  Trying to reverse engineer mod_admin_telnet.lua and modulemanager.lua to deal with plugins. This path was discarded earlier, by my mentor's suggestion Studying prosodyctl's util.startup.lua and how it installs plugins after reading the configuration file Luarocks: Studying luarocks_admin.add command and experimenting with it  Difficulties: Time management between university and GSoC's courses/projects evaluations Future goals: Import luarocks.admin's add, list and remove commands into prosody Allowing the added functionality to recognize prosody's plugins and not just Rocks Considerations:  Fully understanding Prosody and Luarocks in order to make my own...

1st GSoC week summary

README These summary posts aim at being direct and concise, unlike those aimed at brainstormings, which are more verbose. I'll only post here the main points, without much elaboration in order to keep it short. Events: Prosodyctl: Made a simple command function that prints out a welcoming message Made a command function that prints out a list of currently enabled modules Made a command function that prints out locally available modules Research: Mercurial practice: evolve extension ssh connections branching resolving conflicts Prosody: Re-reading most of the documentation Luarocks:  Studying Luarocks-admin commands Looking for packages.path and packages.cpath related code  Difficulties: Community Bounding Period mindset - I feel like I'm still biased to do research like if I was in the CBP in order to review and understand a growing number of concepts Few commits - A feeling that I'm still not totally aware of what is going on has led to...

Project Introduction: XSF, XMPP and Prosody IM

Prosody: Plugin Installer What is this all about? This project aims at developing a tool to manage plugins in the XMPP server Prosody. It should have the power to install, remove, update and list them. A repository will be set up, and scripts should be provided to build and manage it. XMP-What? XMPP stands for eXtensible Messaging and Presence Protocol, which is a XML (eXtensible Markup Language) based communications protocol for message-oriented middleware. Communication protocols are important, because they clearly state how entities should communicate. Without them, everybody would communicate in any manner they'd come up with, which would be a mess to understand. Even inside an organization, different parties could start with the same blueprint on how to pass information around and overtime make their own undocumented changes, as enhancements or as a way to become more exclusive for example, leading to incompatibility between systems. One such case is IBM...

First Steps into GSoC

An inexperienced blogger and his first blog. First and foremost, to avoid wasting anyone's time, I need to warn that this is just an introductory post to test the blog and the general approach. Also, and at least for now, I'm adopting a tag system so that people can either go to the kind of post they want. Weekly report - Objectively sums up the work results of a given week Brainstorming - Always GSoC related, but maybe vague, messy and informal Houston, we have a problem - Workflow of tackling an hard/interesting problem Google Summer of Code is an initiative that allows a student to work in the summer, as a developer, in Open Source projects. Astonishingly, I was selected to work in one! A plugin Installer for Prosody! Astonishingly because this was my first serious proposal at a GSoC project. I feel there is an overwhelming amount of competition out there and right now I just feel very blessed to actually have been chosen O.o Anyway, why Prosody and XSF. Th...