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…

Witty Login

Now, it took me a while to figure this one out but I’ve managed to get the Witty authentication widget to center itself on-screen. Getting the actual widget itself to work took only a quick look at the tutorial and example. But it was never centered until today. All that Read more…

Branching Deep into AEMB

Unfortunately I am still behind schedule as I invested my time this week to analyse the flow of handling branches in AEMB. I had to do this because while I understand the big picture behind the new threading model, I still can’t see the details of it.
(more…)

Threading model for AEMB

Through out last week I started my preparation for changing the threading model for AEMB.

Software wise, I installed ISE on my Ubuntu to be able to compare the area of AEMB before and after the modifications. Here is a couple of tips for you to avoid making small mistakes during the installation. The first one is to run the installation script as root. Second make sure you have the necessary empty space on your drive before attempting the installation.
(more…)

AEMB hand drawn circuits

Unfortunately this week has been the least productive for me. In this post, I will summarize my small progress for this week. More importantly, as the blog title suggests, I will post images of AEMB design that I drew during my analysis. I hope this can make up for my slow progress.
(more…)