My space in the world

Code is poetry

Posted by Sayak
July - 4 - 2014

We just finished migrating one of our stacks to a new and powerful piece of hardware. It was a major activity and took about 9 hours with around 2-3 hours of downtime per CMS. The activity is now complete, however there are a few rough edges that we’ll be ironing out over the weekend.

If you are facing issues with one or more websites listed in this email, please let us know by filing a ticket at

Posted by Sayak
October - 2 - 2013

I deployed a new version of KDE Pastebin today – which should be available at Here are a few things to note:

  • Even though will redirect you to, the old API is still available at
  • The new API will be available at Please refer to the API specs here:
  • Please update your client to use the new API at If the users that use your client switch to the latest version of your client app, they will end up using behind the scenes. The users who haven’t updated to the latest client app yet will continue using the old API.
  • The old API will be deprecated on Jan 31 2014.
  • After Jan 31 2014, will also have the new API endpoints. However, will also exist indefinitely as an alias to – so you can continue using that URL.
Posted by Sayak
September - 16 - 2013

EDIT: Read the updated plan here:

Today, I released a stable version of Sticky Notes, the app behind This release is a complete rewrite of the entire app using the Laravel 4 framework. The main intention behind a rewrite was not only to cope up with the feature requests of the application (for Sticky Notes as a product, not necessarily related to KDE Pastebin itself) and an opportunity to see how far PHP has come as a “real-OOP” language.

Since my KDE work is mostly web development oriented, I often miss out the fun involved with “hardcore coding”. However, this experience with Laravel not only changes my view about PHP but has been a good learning opportunity for me. So if you are a PHP developer with a knack of doing unconventional things, I strongly recommend Laravel to you if you haven’t tried it already.

Now coming to the point, due to the massive rewrite involved, I needed to deprecate some bad programming practices that were there in the old pastebin API. I have come to understand that there are indeed a few more than a handful of apps that uses the API. So if you are reading this, and you are the author of an app that uses the KDE Pastebin API, please refer to the new API specifications. If you have any questions, please create a ticket here or on (component You can also find me at #kde-sysadmin on freenode (nick: sayakb).

There are a few things to note:

  • I will be loading the new API to on 1st October 2013 12:00am CST and I’ll move the old API to So if you are not able to publish the new API changes by 1st October, you can simply point your code to the fallback URL. However, will be temporary and will be nuked by the end of this year.
  • I have tried to keep things very similar to how they were before from an API consumer point of view. So from the top of my head, other than removing the annoying paste_ prefixes for the request parameters and some new response error codes, not much changed.
  • The URL for the requests have changed though – as Laravel uses a different approach towards URL routing. The create endpoint now supports POST only (I always wanted to remove GET as transmitting an optional password for the paste as GET is a no-no), while the list and show endpoints support GET requests.
  • If you are looking for some example code, look at this api-client branch here:
  • You can test out the new version of the API here:

A mirror of the entire codebase is also available at here:

Posted by Sayak
August - 19 - 2012

Today, we finished upgrading one of the most visited KDE websites: KDE.News. The Dot now not only runs on drupal’s latest release (7.15), but also has a fresh new look featuring the Neverland theme.


The main aim of this theme is to serve a clean yet beautiful interface. We’ve taken extra care in having the views pixel perfect.

As always, if you find any issues with the upgrade or with the theme, please file a bug report. Happy reading!

Posted by Sayak
July - 25 - 2012

Yesterday after a long head banging session with Ingo Malchow, we’re happy to release the first version of the Neverland UI for KDE Wikis ( and Being one of the most complex sites (both architecture and content wise), we realize that there are some loose ends that need to be tied up in the new interface, and we are working on them.

Neverland is a simple yet very powerful interface that is gradually becoming the face of all KDE websites. So far, off the top of my head, 10 KDE websites including the wikis are now serving a variant of the Neverland theme.

Ingo also updated UserBase to the latest MediaWiki release. So we now have a more solid website with our latest and greatest theme. More sites soon to join the Neverland family.

Posted by Sayak
July - 14 - 2012

Exactly one year back, we made KDE Forum IdentityEnabled™ (yeah, I like to add ™ to random stuff!). Now it is time to take it one step further. Thanks to Ben, Ingo, Tom and Emil, we have a powerful frontend for KDE Identity (codename Solena). So we had to do some minor adjustments to the forum to get back into the Identity league once Solena was rolled out. But the system implemented on the forum still had quite a few shortcomings:

  • We did allow the user can choose to login to the forum using Identity credentials, but the user had to manually click on a checkbox saying “Login using KDE Identity” in order to do that. Of course, we saved the state of the checkbox, but when I think of seamless integration, I imagine that the decision of which authentication system to use needn’t be made by the end user (openID logins are a different thing, there’s no username/password involved at all there, unlike SSO).
  • When logging in for the first time, the user had to go through a ‘link your accounts’ screen. Now since we couldn’t merge the forum DB and LDAP due to a lot of conflicts, we are stuck with two databases. On this link screen, the user could link it with an existing forum account (by keying in the credentials for that), or create a new local account (which was confusing. Why should John Doe create another account when he already created one on KDE Identity?).
  • We allowed the user to register on — again giving way to confusion. We say that we support SSO, while we still give the user two different websites where he can register. That’s not SSO.


So what did we do? We designed this new workflow:

  • No “Login using identity” checkbox. We now use dual authentication (both DB and LDAP), so authenticate with any credential you want to on the same prompt.
  • We still have to keep the link screen, but we gave it a less confusing name, we changed its name to ‘display username’. We also removed unneeded fields like email and password from this screen as an Identity user will not really need a local password (and we can use his Identity email address). We also have an option for the user to choose an auto-generated username.
  • We disabled registration on and redirected all registrations to KDE Identity.


We can describe the whole registration process functionally as follows:

  • User visits the forum and clicks on registration link
  • User registers on KDE Identity
  • Then he comes back to the login page (we’ll find a way soon to bring him back automatically)
  • User logs in with the account he just created
  • On the ‘display username’ prompt, if he is happy with the auto generated display username, he simply clicks on “Complete registration” without having to enter his password or email address.


We hope the new workflow will integrate the forum deeply with KDE Identity. If you come across any issues, please report it on Bugzilla for the component

Link to the official announcement:

Posted by Sayak
July - 7 - 2012

A few weeks back, Teo called out for volunteers to work on an application for managing the workflow during programs like Season of KDE (our own version of google-melange). After two weeks of intensive coding, we now have our very own application!

The application has been titled “KDE Students Program” (codename Pandora) and will be available at after a while. My primary aim was to make something that is not only easy to use, but easy to maintain. So what does it do?

  • It allows creation of multiple programs, with more than one active at one point of time.
  • It provides an option for users to sign up as a student or a mentor. A mentor application has to be approved by a SoC admin.
  • Students can submit one or more proposals. Approved mentors can select projects they want to mentor.
  • Once the student application deadline is hit, SoC admins will go through all proposals and accept/reject them.
  • Once the coding period starts, the mentors will then coordinate with their students.
  • Upon completion of the program, mentors will evaluate the students’ performance and mark them as passed/failed accordingly.

Program Home

Project Details

Submit a proposal

So as you see, the workflow is quite simple. Of course, there are quite a few other stuff that are available to SoC admins, but I won’t get into all that. The application is wired up our central login system KDE Identity and has been built on the Neverland UI.

If you wish to test and try to break the application, the source code is available here:
If you can’t / don’t want to install it locally, ping me on IRC (nick sayakb on #kde-www) and I’ll share a (private) link where you can test the application.

Posted by Sayak
April - 22 - 2012

Last month, Ingo Malchow blogged about Bugzilla and Neverland. I’m happy to announce that another site was added to the Neverland category: the KDE Community Forums have been migrated to our new Neverland theme and also undergone a major revamp at the same time. The main changes are:

  • KDE Brainstorm has been fully integrated with the forum: a decision was reached to discontinue the old software due to maintenance reasons. The voting interface is still partly driven by AJAX, but the rest of the interface has been merged with the main forum structure.
  • Collapsible forums: You can now hide the categories that you don’t use.
  • Visual navigation: Jump through various sections on a page without having to scroll.
  • Hierarchical navigation: Go through a folder’s hierarchy using the new tree style navigation.
  • A new look for the user profile and control panel.
  • A re-designed online friends system and an easy way to send them messages.
  • Context based navigation everywhere for a clutter-free UI

… and that’s just the tip of the iceberg. We are really excited about the release and we hope you like using it. If you encounter any bugs with the new design, please file a bug report at under the component.

Here’s a link to the official announcement:
Take a tour of Neverland here:

Posted by Sayak
September - 25 - 2011

Thought of testing out the WordPress application for Android. So far, seems pretty powerful yet simple. Not many WYSIWYG options though.

Posted by Sayak
July - 29 - 2011

A week post the expected release date, I finally announce KDE Identity integration for the KDE Wikis. This means now, you can log into UserBase, TechBase and Community Wiki with your KDE Identity credentials.

So how do you use it? Start with clicking on the OpenID / Identity Login link at the bottom of the sidebar. On the login page, choose KDE Identity, and enter your Identity credentials (if you don’t have one already, register here). You’ll be taken to a page where you can either link your Identity account with an existing user on the wiki, or create a new user. And you’re done!

Important: If you are an existing OpenID user on any of these wikis, and you originally created your account using an OpenID provider, you may not have a password at all. So linking to your existing account will not be possible from the login prompt. In such cases, log into the wiki with your existing OpenID account, go to My Preferences, click on the OpenID tab and click on the Add new OpenID link at the bottom in the Logins associated with your account section. That should let you add your Identity account to your existing account.

Please note that this is a beta release of the plugin. It will be much appreciated if you file a bug in case you find one!

About Me

A son, brother and friend. Enjoys scripting and making small bits of apps here and there. Wants to conquer the world (well, who doesnt). A geek who has an obsession for ponies. Loves acoustic and wants to play guitar sitting on the Hollywood hill one day!

A Word About KDE

KDE is a versatile software compilation for all platforms. It is an intuitive and powerful desktop environment that focuses on finding innovative solutions to old and new problems, and creating a vibrant, open atmosphere for experimentation.