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.
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?
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:
- Create a new website.
- Open an existing website.
- Create a new file.
- Open an existing file.
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.
Tuesday, April 13, 2010
Irie Pascal 3.0. Adding support for multi-module programs.
I'm currently working on adding support for writing multi-module programs. I've decided to support the Object Pascal syntax for this. If you're not familiar with this syntax (with UNITs and USES clauses) then please see chapter 3: Programs and Units in the Object Pascal Language Guide for a look at this syntax.
NOTE: Irie Pascal will NOT be able to use most units written for other compilers, and I am NOT planning to create units for Irie Pascal that are similiar to units available for other compilers.
I am planning to make sure that the units supplied with Irie Pascal don't have the same names as units available for other compilers (maybe I'll prefix the Irie Pascal unit names with "Irie"). So I'm leaving the door open for someone else to write units for Irie Pascal that are similiar to units available for other compilers. I'm not going out of my way to make Irie Pascal incompatible with other compilers (I don't like it when vendors do that), but I'm not making any heroic efforts to make it compatible either.
I'm adding a linker.
Right now, Irie Pascal doesn't use a linker, instead the compiler just generates executables directly from the source files. This is not difficult, because Irie Pascal builds each program from a single module, but building programs from multiple modules is much more complicated so I've decided to build programs in two phases.
Already done
NOTE: Irie Pascal will NOT be able to use most units written for other compilers, and I am NOT planning to create units for Irie Pascal that are similiar to units available for other compilers.
I am planning to make sure that the units supplied with Irie Pascal don't have the same names as units available for other compilers (maybe I'll prefix the Irie Pascal unit names with "Irie"). So I'm leaving the door open for someone else to write units for Irie Pascal that are similiar to units available for other compilers. I'm not going out of my way to make Irie Pascal incompatible with other compilers (I don't like it when vendors do that), but I'm not making any heroic efforts to make it compatible either.
I'm adding a linker.
Right now, Irie Pascal doesn't use a linker, instead the compiler just generates executables directly from the source files. This is not difficult, because Irie Pascal builds each program from a single module, but building programs from multiple modules is much more complicated so I've decided to build programs in two phases.
- A compile phase. In this phase the compiler generates intermediate object files from the source files.
- A link phase. In this phase the linker generates an executable object file from all of the intermediate object files in the project.
Already done
- Design a new object file format. All of these changes to Irie Pascal mean that a new object file format is necessary.
- Switch over to the new object file format. Which means updating Irie Pascal to compile existing (single-module) programs in two phases and generate files in the new format).
- Test the updated Irie Pascal.
- Add syntax-only support for multi-module programs (i.e. update Irie Pascal to recognize the new multi-module syntax but don't generate any code for it yet).
- Gradually add full support for multi-module programs (i.e. gradually start generating code for each piece of the new multi-module syntax).
- Add new programs to the Irie Pascal test suite (to test the new syntax).
- Done.
Irie Pascal 3.0. Added support for HTMLHelp.
Work on the next release of Irie Pascal is continuing.
I have finished adding support for HTMLHelp (the newer Windows Help format that replaces WinHelp). Irie Pascal now includes both WinHelp and HTMLHelp versions of the online help manuals. The HTMLHelp versions are used when Irie Pascal is run on Windows 2000 or later, while the WinHelp versions are used on earlier versions of Windows.
I have finished adding support for HTMLHelp (the newer Windows Help format that replaces WinHelp). Irie Pascal now includes both WinHelp and HTMLHelp versions of the online help manuals. The HTMLHelp versions are used when Irie Pascal is run on Windows 2000 or later, while the WinHelp versions are used on earlier versions of Windows.
Monday, February 22, 2010
A web programming section has been added to the new Irie Tools website.
I just finished adding a new secton to the new Irie Tools website:
Irie Pascal web programming
Ok, this "new" section is not really new (it's just a slightly updated version of the Common Gateway Interface (CGI) section from the old website), but it's still a good introduction to CGI.
Irie Pascal web programming
Ok, this "new" section is not really new (it's just a slightly updated version of the Common Gateway Interface (CGI) section from the old website), but it's still a good introduction to CGI.
Thursday, February 18, 2010
The new Irie Tools website is live.
All of the new pages were created with Jump (the web template technology I've been working on), and so far so good. I'm now going to use Jump to redo some more pages from the old website. This time I'll redo the pages about web programming with Irie Pascal, using the Common Gateway Interface (CGI).
The new website is still at: http://www.irietools.com/ (I've just added some new pages and updated some of the existing ones).
The new website is still at: http://www.irietools.com/ (I've just added some new pages and updated some of the existing ones).
Friday, January 15, 2010
New look for IrieTools.com
I've been working on a new look for the Irie Tools website. I have a demo of what the new front page will look like at the address below. Please note that only this page has been done, so the links on this
page either don't point anywhere or they point at old content that will
be removed or updated.
Address of new page: www.irietools.com/demos
This is actually my second try at creating a new look for the Irie Tools website. I got some very useful feedback from my first try, which I've used to make a second attempt.
What do you think about the new page?
Address of new page: www.irietools.com/demos
This is actually my second try at creating a new look for the Irie Tools website. I got some very useful feedback from my first try, which I've used to make a second attempt.
What do you think about the new page?
Tuesday, December 22, 2009
A preview of the new Irie Tools website (created with Jump).
I have been using Jump to create the new Irie Tools website, and it's looking pretty good. So far I have completed the new home page, which you can see at the address below:
http://www.irietools.com/demos/
NOTE: Only the home page is done, so the links don't go anywhere.
As a result of my ... ahhh, how to put this kindly ... limited design skills, it has taken a long time to complete the home page, but I'm excited by the results, and Jump is working perfectly so far.
Your comments on the new home page would be greatly appreciated.
http://www.irietools.com/demos/
NOTE: Only the home page is done, so the links don't go anywhere.
As a result of my ... ahhh, how to put this kindly ... limited design skills, it has taken a long time to complete the home page, but I'm excited by the results, and Jump is working perfectly so far.
Your comments on the new home page would be greatly appreciated.
Thursday, November 19, 2009
The First Jump Template.
I have finally finished the first actual real-life Jump template. It's written using XHTML 1.0 Strict, and I've validated it with the W3C Markup Validation Service.
So now that I have a Jump template, I'm planning to use it to redo the Irie Tools website. I'm guessing that I will have to make some minor changes to the template, but I don't expect any major changes.
I've put the template on the Irie Tools website for anyone who is interested (the link is below):
First Jump Template
By the way, this is just a template, so the the text is just made-up. and links and buttons just go to the home page.
Jump first, ask questions later (sorry, I know that was corny but I couldn't resist).
Stuart
This Blog: Inside Irie Tools Limited
Website: Irie Tools Limited
So now that I have a Jump template, I'm planning to use it to redo the Irie Tools website. I'm guessing that I will have to make some minor changes to the template, but I don't expect any major changes.
I've put the template on the Irie Tools website for anyone who is interested (the link is below):
First Jump Template
By the way, this is just a template, so the the text is just made-up. and links and buttons just go to the home page.
Jump first, ask questions later (sorry, I know that was corny but I couldn't resist).
Stuart
This Blog: Inside Irie Tools Limited
Website: Irie Tools Limited
Wednesday, November 4, 2009
Jump to the Rescue - an easy way to generate web pages
The Problem
Right now Irie Pascal does not provide an easy way to generate web pages, you have to use a writeln to output each line of the page. There is no way to add a web page to an Irie Pascal program without manually converting the page into a series of writeln's.
The Solution
The solution that I have come up with is a very simple language, which I'm calling Jump for the time being. Jump is so simple that I don't even know what to call it (it only has five keywords: jump, var, page, css, end). Anyway, it's simple enough that I designed it and wrote an implementation in a little over a week. I'm going to bang on the implementation a bit more before releasing it. Right now, I'm using it to redo the Irie Tools website. When that is done it should be ready for release.
In the meantime, here is a sneak preview of Jump
//Hello world Jump Program
jump
var
//Define one variable called "message" with the value "Hello World!!!".
//NOTE: Your program can easily change the value of the variable
// and thereby change the page generated.
message
Hello World!!!
end message
end var
page<html><head>
<title>
<?jump !message ?>
</title>
</head>
<body>
<p>
<?jump !message ?>
</p>
</body>
</html>
end page
end jump
As you can see, most of the program is taken up by the web page. However I think in most case, you would put the page in a seperate file. So if you removed everything between the page and the end page, and put it in a file called hello.html then the program is greatly simplified as shown below.
jump
var
//Define one variable called "message" with the value "Hello World!!!".
//NOTE: Your program can easily change the value of the variable
// and thereby change the page generated.
message
Hello World!!!
end message
end var
!page hello.html
end jump
Right now Irie Pascal does not provide an easy way to generate web pages, you have to use a writeln to output each line of the page. There is no way to add a web page to an Irie Pascal program without manually converting the page into a series of writeln's.
The Solution
The solution that I have come up with is a very simple language, which I'm calling Jump for the time being. Jump is so simple that I don't even know what to call it (it only has five keywords: jump, var, page, css, end). Anyway, it's simple enough that I designed it and wrote an implementation in a little over a week. I'm going to bang on the implementation a bit more before releasing it. Right now, I'm using it to redo the Irie Tools website. When that is done it should be ready for release.
In the meantime, here is a sneak preview of Jump
//Hello world Jump Program
jump
var
//Define one variable called "message" with the value "Hello World!!!".
//NOTE: Your program can easily change the value of the variable
// and thereby change the page generated.
message
Hello World!!!
end message
end var
page<html><head>
<title>
<?jump !message ?>
</title>
</head>
<body>
<p>
<?jump !message ?>
</p>
</body>
</html>
end page
end jump
As you can see, most of the program is taken up by the web page. However I think in most case, you would put the page in a seperate file. So if you removed everything between the page and the end page, and put it in a file called hello.html then the program is greatly simplified as shown below.
jump
var
//Define one variable called "message" with the value "Hello World!!!".
//NOTE: Your program can easily change the value of the variable
// and thereby change the page generated.
message
Hello World!!!
end message
end var
!page hello.html
end jump
Tuesday, October 20, 2009
Welcome to Inside Irie Tools Limited.
What is Inside Irie Tools Limited?
Inside Irie Tools Limited gives you a look behind the website at what is going on inside Irie Tools as well as an outline of what is planned for the future. The main reason for creating this blog is to help answer questions like:
Inside Irie Tools Limited gives you a look behind the website at what is going on inside Irie Tools as well as an outline of what is planned for the future. The main reason for creating this blog is to help answer questions like:
- What kind of company is this really?
- Who are the people behind the company (or for right now, who is the person behind the company)?
Subscribe to:
Posts (Atom)