Smart Pascal: Download streams

Jon L. Aasenden

Real, binary streams has been a part of the Smart Pascal RTL for quite some time now. As a Delphi developer you probably take that for granted, but truth be told – no other JavaScript framework even comes close to our implementation. So this is unique to Smart Pascal, believe it or not.

The same can be said about the ability to allocate, move and work with memory buffers. Sure you can write similar code by hand in pure JavaScript, but the amount of code you have to write will quickly remind you why object orientation is so important.

Binary data counts

So you got streams, what of it? I hear you say. But you are missing the point here. If there is one thing JavaScript sucks at, it’s dealing with binary data. It has no concept really of bytes versus 32 bit integers, or 64bit integers. There is no…

View original post 593 more words

Understanding Smart Pascal

Jon L. Aasenden

One of the problems you get when working pro-bono on a project, is a constant lack of time. You have a fixed amount of hours you can spare, and every day you have to make decisions about where to invest those hours. The result is that Smart Mobile Studio has a wealth of technical resources and depth, but lacks the documentation you expect such a product to have. This has been and continues to be a problem.

Documentation really is a chicken and egg thing. It doesn’t start out that way, but once the product is launched, you get trapped in this boolean dynamics: “Few people buy it because it lacks documentation; You can’t afford to write documentation because few people buy it“. Considering the size of our codebase I don’t blame people for being a bit overwhelmed.

Despite our shortcomings Smart Mobile Studio is growing. It has a slow but…

View original post 2,111 more words

UP board, first impressions for emulation

Jon L. Aasenden

To get the most out of this post please read my previous post, Embedded boards, finally.

In the previous post I went through the hardware specs for both the ODroid XU4 ARM embedded board, as well as the x86 based UP SoC board. Based on their specs I also defined some predictions regarding the performance I expect them to deliver, what tasks they would be best suited for – and what they would mean for you as a developer – or indeed an emulation enthusiast

In this post we are going to start digging into the practical side of things. And what is probably on everyone’s mind is: will the UP board be powerful enough to emulate and run Amiga OS 4.1 final edition? What about retrogaming, HTML5 and general use?

Well, let’s dig into it and find out!

Note: If emulation is not your cup of tea, I…

View original post 3,786 more words

Featured Image -- 3154

Goodbye G+ Delphi Developers group

Jon L. Aasenden

A bit sad today. I typically post blog articles about Delphi, Smart Pascal and embedded projects both on Facebook and Google+, but apparently Smart Pascal is not welcome at Google’s Delphi group. Even examples where Delphi talks with a node.js on Linux is apparently “off topic” and “not Delphi”. So much so that my post was deleted.

So easy, so powerful and you can deploy it anywhere. An embedded system, a dedicated server - or do a push to your Amazon / Azure cloud stack. Node.js is so powerful once you understand how to use it. This is from the deleted post. If you look at the picture you will notice a Delphi UDP client/server on the right talking with a node.js service on the left. Aparently this is not Delphi enough for the admin in charge of the Delphi group on G+

I was particularly saddened by this since I have from time to time seen Elevate Software post about their  web builder utility. But for some reason Smart pascal is not allowed to do the same (in this case it was a post from my blog). With all…

View original post 969 more words

Featured Image -- 3149

Smart Pascal, supported server types

Jon L. Aasenden

Merry_XMAS Use node.js to fill your xmas with fun!

Node.js is probably one of the coolest pieces of software I have had the pleasure to work with for years. It’s platform independent and available for just about every operative system you can imagine. I would even go so far as to say it has become universal.

NodeJS allows you not only to write server-side JavaScript, but also your own system level services. This is especially easy on Linux where the philosophy regarding a service is somewhat different from Microsoft Windows. On Linux, a simple bash script can be installed as a service. You can write services in python, perl or whatever tickles your fancy.

Our latest addition: UDP

Today I had a few minutes to test the UDP implementation I finished last week, and I was for some odd reason expecting an exception or “something” to come up. You know.. when…

View original post 631 more words

Featured Image -- 3146

Lazy Params, again..

Jon L. Aasenden

Right. A while back I posted an idea I had for extracting name/value pairs from a string. You know, typical “this=that” type parameters. This was just a concept, an idea, a scetch of how I could re-implement coding techniques from Smart Pascal in Delphi.

The point was actually not the name-value pair stuff at all, but rather setting up code in a way that allowed us to extract information on demand, objectively, and then just let the object die out when we dont need it anymore. Things common to C# and JS, but sometimes hard to get right in traditional languages like C++ and Delphi.

Come on you vicious bastard! Monty Python feelings

Naturally, ideas and concepts are not carved in stone. When you sit down to scetch out a painting – you dont actually produce the complete work. You play around with the idea and flesh out a draft. Sadly this was missunderstood in…

View original post 259 more words