Long time, no post here, but not no happenings on the DWScript front
Behold a “cleaned up old logo” for DWScript, which will replace the old one until a better one is made
The DWS source saw mostly bug fixes and small improvements during the last months, as I became absorbed in the crypto-currency project mentioned several months ago. What was initially planned as an experiment grew a bit more, and is now self-financing project involving several servers, with DWScript WebServer powering the main one (web, db, and data gathering). It is now serving about 1.2 GB in almost 700k requests every day, essentially JSON and server-side generated HTML.
Another source of improvements for DWS came from the fixes leading up to the release of Smart Mobile Studio 2.1.
A new pre-compiled release v2014.04.04 for the DWS WebServer is available from the downloads page, it is compiled from the latest source.
Besides the usual demo sites, it has been used to serve a crypto-currency block-chain explorer website that peaked at 1600 page views / hour after some successful tweets went viral.
We’ve all encoutered reCAPTCHA, as it’s one of the few effective ways to protect form submissions from bots on the internet.
Acquired by google in 2009, it comes with multiple plugins for various web environment, here is a plugin for DWScript.
There is now an embryo of standard cryptography support for DWScript through the dwsCryptoLib module. The implementations are currently based on mORMot‘s SynCrypto unit, which is fast and solid.
Script-side it’s exposed as a System.Crypto unit, and offers the following classes:
As Google Code no longer allows downloads, I will incrementally relocate the DWScript downloads on this website.
The first of the new downloads is an updated binary installer for the DWS Web Server.
Here is a small snippet to illustrate how you can perform a conditional HTTP 301 redirection in DWScript, and can serve as an illustration on serving “special” HTTP responses.
This is useful when a website is moved from one domain to another, but the server is not, ie. if both old and new domains are hosted by the same server.
An utility that was added to the DWScript sample WebServer during the 4 TeraPixel Mandelbrot experiment is the BackgroundWorkers API.
This is a rather low-level threading facility that can work well with Global Queues to handle background tasks or serializing tasks.
A recent addition to dwsDataBase is the DataBasePool static class.
As the names indicates, it facilitates pooling database connections from the script-side, while previously you had to rely on Delphi or driver-side pooling (or lack of).
DWScript has a “Globals” facility that allows storing and sharing data across scripts living in the same executable.
The first are Global Vars, and is a Key-Value storage, the second are Global Queues, which are LIFO/FIFO named queues. Both are thread-safe and high performance.
As a step up from the previous Mandelbrot Set explorer, I’m running a Terapixel image experience for DWScript Christmas 2013.
This is again on the Mandelbrot set, and involves a massive step up in complexity from the previous version, this one isn’t just server-side computed, it’s “Grid Computed” (more…)