Witty Sluggishness

While playing around with low-level Witty, I faced a serious issue of performance. For some reason, one of the operations that we were doing was taking a relatively long (1s) time to complete. This didn’t make sense as the operation itself was not particularly onerous.
(more…)

Low Level HTTP with Witty

Witty is great for creating complex web applications as it simplifies and automates a lot of the necessary back-end work. However, when all you need is simple HTTP request and response, things need to be modified slightly to have it work correctly. This is what happened when we needed some low-level access to the underlying web server.
(more…)

LZO Data Compression

While fooling around with the zram Linux kernel module, I learned about the existence of a fast compression/decompression algorithm called LZO. This is a very fast compression and decompression algorithm that does not consume a lot of resources and provides decent compression ratios as benchmarked against other popular algorithms. Looking Read more…

Robo Olympics 2014

We were among the main sponsors of the Robo Olympics 2014 event held at UTAR, which culminated at an exhibit at the KL Science & Engineering Fair. We were really fortunate to be involved in such an event for high school children, teaching them how to build simple robots.

C++ Name Mangling

While building our C++ application, I got interested in looking at C++ name mangling conventions used in GCC and learned quite a few things. I have always known about name mangling as a mechanism for determining C++ functions, classes and name spaces. But I have not studied the details of it. Turns out that there is a lot of documentation on it.
(more…)

Webserver Segfault

For some reason, our new C++ web application kept segfaulting whenever the user closed the browser. We ignored this problem for a bit, while focusing on functional development. However, it is a nagging problem and I decided to take a look at it today. The good thing is that by Read more…

Witty-CodeMirror Traffic

While using Witty with CodeMirror to perform code edits, we discovered that there is a limit to the amount of data that can be transferred at a go. This is probably designed as a security measure to prevent overloading the server. Therefore, there is a need to work around this Read more…

Witty with Ace and CodeMirror

Our product requires an online code editor. So, we decided to experiment with two of the leading contenders – Ace and CodeMirror. Both of these are open sourced and can be easily integrated with Witty. In fact, we managed the integration is about an hour each.

I’ll skip the details on how to use Ace and CodeMirror as these can be gleaned from their friendly documentation. They’re also both compatible in so many ways.

However, I will try to show how it can be easily integrated with Witty and also some general comments. All we need is to load the Javascript, invoke the appropriate functions with the appropriate DOM object to use as the editor, and set the onChange event trigger.
(more…)

C++ Web Development

After spending the last week immersed in Witty and re-writing our application from scratch, twice, I have come to appreciate the capabilities of the tool-kit in helping to develop web applications. It has certainly been both a good and bad experience. Let’s talk about the bad first. The documentation does Read more…

UUID v Integers

After some preliminary development, we’ve come to realise that we will need to use UUID as the primary key for all our database models. However, we were concerned that this would incur a performance penalty as UUID were huge random numbers. So, we read up on some other experiences and Read more…