Thursday, September 4, 2014

Financial Information & Real-Time Matchmaking (FIRM) Expo.


The Financial Information & Real-Time Matchmaking (FIRM) Expo seems to be another recent effort to support business in Jamaica, and of course I applied as soon as I heard about it. So far I haven't heard anything but I'll be posting updates on how things go.

StartUp Jamaica is here!


Start-Up Jamaica is (according to their website) "an accelerator (a physical facility that takes equity in start-up technology companies that go through an intensive selection process, in return for seed capital, training and mentorship)". I applied to Start-Up Jamaica almost as soon as I heard about it. My application was rejected but I'm still excited to have an accelerator in Jamaica. I've checked out a few like TechStars and Y Combinator but I never expected to see one in Jamaica (at least not so soon).

Anyway, I just thought I would do my bit to promote Start-Up Jamaica.

Monday, April 7, 2014

Creating Irie Pascal 3 April 2014

I have added support for two major new features to StrongLib (i.e. the library that makes it easy to create Windows applications). These new features are:
 Irie Pascal 3 may not use the support for TCP/IP sockets, but I added it because I needed the support for another project.

Irie Pascal 3 will use the support for bitmaps because some windows controls (like Toolbar, Ttree-View, and List-View controls) can use bitmaps.

Thursday, October 24, 2013

Creating Irie Pascal 3 October 2013


This is just a short progress report on how the next release of Irie Pascal is coming along.


Support for creating Windows applications with graphical user interfaces (GUIs) is THE new feature planned for Irie Pascal 3. I've been building a library (called StrongLib) to make it simple and easy to build GUI applications. When StrongLib is completed I'll integrate it into Irie Pascal.

So far, StrongLib can be used to create  windows (and window classes), menus, and keyboard accelerators (also called keyboard shortcuts). The next step will be to add support for creating controls in the windows (like buttons, labels, list boxes, etc).

Below is a screen shot of  a little application I built using StrongLib.



Below is the C code for the application.


#include <stronglib.h>

static STRONGLIB_APPINFO modAppInfo;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
                     PSTR szCmdLine, int iCmdShow)
{
    int iExitCode;

    ZeroMemory(&modAppInfo, sizeof modAppInfo);
    modAppInfo.cbSize = sizeof modAppInfo;
    modAppInfo.idAppName = STRONGLIB_TO_UCODE_NAMEID(MOD_UNICODE_NAME_APPNAME);
    modAppInfo.idMainWnd = STRONGLIB_TO_UCODE_NAMEID(MOD_FRAMEWND_ID);
    modAppInfo.pAppData = &modAppData;

    StrongLibAppRun(&iExitCode, &modAppInfo, hInstance, szCmdLine, iCmdShow, NULL);

    return iExitCode;
}
OK, I cheated a little bit. If you look closely you will see that some parts of the application are not defined.  For example, the modAppData variable describes the application's GUI and would normally be filled in by Irie Pascal or by some other external application, but I haven't created anything to fill in modAppData yet, so the actual application has some extra code to initialize modAppData.

Wednesday, February 13, 2013

Creating Irie Pascal 3 February 2013

What's been going on with Irie Pascal?


The first thing to say is that there has been a change in plans. The next release of Irie Pascal (i.e. Irie Pascal 3) will not be aimed at web development. The plan now is for Irie Pascal 3 to target desktop development.

Another change is that Irie Pascal 3 will only support Windows. So that means saying goodbye to the other operating systems (Linux, FreeBSD, etc), at least for now.

I apologise if these changes are an unwelcome surprise to anyone.

Why this change of plans?

Well, its quicker and easier to target desktop development for Windows rather than targeting web development for a number of different operating systems. One reason for this is that by targeting desktop development I don't have to worry about web servers and hosting web applications.

What's next

I don't want to go into too much detail, mostly because I don't want to raise any false hopes (I'm slowly learning my lesson about that), but right now I'm in the design phase. I've pretty much finished the design, but now I'm documenting it (double-checking as I go along).

The next thing I will probably tackle is creating a few custom Windows controls. Windows comes with a common control library with most of the controls you need for a Windows application (buttons, labels, list boxes, edit boxes, and many more), but there are a few missing controls that I think will be very useful in many applications.

More frequent updates

I'll be posting more frequent updates from now on.

Wednesday, September 1, 2010

Taking another look at supporting Amazon Web Services.

I'm taking another look at supporting Amazon Web Services (AWS) with the next release of Irie Pascal.

So far (fingers crossed) things are looking good, I haven't seen anything that will make it really difficult to support AWS. I did discover that parts of Amazon S3 (the main AWS storage service) use something called "eventual consistency", which is a new concept for me. I will have to let this roll around in my head for a while before I know whether or not "eventual consistency" is going to be a problem. I found this article, Read-After-Write Consistency in Amazon S3 that explains the concept.

I'm excited about supporting AWS because it could make it easy and cheap to host applications built using Irie Pascal. Right now, it can be a little difficult to find a hosting company that will host Irie Pascal applications (unless you get a dedicated server).

Anybody out there, have any experience with AWS?

Friday, August 27, 2010

Irie Pascal 3 - August Progress Report


The new IDE
 The design work and the coding to change the current IDE, which is designed for compiling Pascal programs, into the new IDE, which is designed for creating websites (powered by Pascal programs), is going well. The core changes have already been made, the new IDE can:
  1. Create a new website.
  2. Open an existing website.
  3. Create a new file.
  4. Open an existing file.
The next big change is to add support for creating web pages (using Jump templates).

The new compiler
Some of the new compiler features, that I've been writing about, won't make it into the next release. The new release is taking much longer than I thought it would, so I will have to leave out some things. For example, support for Unicode, and support for compiling multi-module programs, will have to wait for a later release.

The idea is to focus the next release on making the transition from a Pascal programming tool into a website development tool, while making as few changes to the compiler as possible.

Until next time.