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 issue for large files. The easiest way to work around this is to ensure that all our files are small. For most intents and purposes, this will be the case. 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 not serve newbies very well. Yes, the entire API is documented but it assumes that you already have a big picture grasp of the entire tool-kit. Now, I can say 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 concluded that it would not significantly mess things up for us and would actually be good as we build our database for future growth, if we are careful. Some points 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 was missing was to add the following right at the beginning of the code, right after loading the Bootstrap theme. setTheme(new Wt::WBootstrapTheme()); root()->addStyleClass(“container”); That did the trick. Now everything is 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…)

Witty Adventures

It turns out that understanding how web technology works is a hindrance to working with the Witty framework. I keep trying to relate the framework workings to the underpinning web technologies. However, what I should do is to just accept the framework as it is.
(more…)

Working on AEMB opcodes

In my second week, time was an issue. Therefore, I attempted to finish up more this week (my third week) so that I can cover the workload from week two. Generally, I am supposed to finish the opcodes by the end of this week. However, like 99% of the things with programming, it always ends up as an underestimation.
(more…)