I’ve ported QuickJS engine by Fabrice Bellard and Charlie Gordon to standard C (without GCC extensions) and Windows. Yet added premake5 to generate MS VS solution. See it on GitHub.
Category: C++
Premake5 and Compilation of Sciter Engine.
Those famous “nightly builds”… Not a secret that compilation/build times are somehow critical for projects of Sciter’s scale. The fact: it takes from 4 to 6 hours to build Chrome/Chromium browser. And note – that is on dedicated build servers / farms, not on your work machine. So devops, as a desperate move, are forced to…
Robot Vasilii, progress report.
(that is continuation of my previous article about Vasilii the Robot ) Not too much progress actually as I am busy with Sciter. Behavior of the robot is still quite basic as you see: But at this stage I have finalized its on board framework with my async.hpp library – header only await/async primitives. async.hpp…
C# Span versus aux::slice
The Span<T> has landed in .NET Standard today. According to the article (Span<T> is) at the heart of most performance-related improvements in .NET Core 2.1. Since it allows managing buffers in a more efficient way, it can help in reducing allocations and copying. We consider Span to be a very fundamental type as it requires…
Refreshing AI basics …
In the light of recent “AI hype” I’ve decided to refresh my knowledge about AI principles.
#include source “foo.c”, why not?
If we would have #include source construct that includes compilation units into final assembly (rather than just headers in-place) any library can be included to a project as plain .c file:
When linear search O(N) is faster than hash table O(1) lookup
Consider quite popular in programming task of string-to-enum value parsing. You have enum declared in your code (C/C++ but can be any modern programming language)
Modern Template Metaprogramming: A Compendium
Just in case if someone as myself have missed presentation of His Excellence Mr. Walter E. Brown at CppCon 2014 Part I (above) and Part II
Sciter UI, basic principles. Calling code behind UI from worker threads.
I’ve updated the SDK with new sample: /sdk/demos/ui-framework . This sample demonstrates principles outlined in “Sciter UI, application architecture” article. In particular it demonstrates definition of native function (view.execTask() -> window::exec_task()) and call of UI methods (callbacks in this sample) from worker threads. I’ve explained idea of calling UI code from worker threads in this…
Comments in source code considered harmful
In the file ResourceFontFileLoader.h (offical Windows SDK samples) you can see variable declared as: static IDWriteFontFileLoader* instance_; As you see it is a raw pointer here. And in the file ResourceFontFileLoader.cpp it is initialized with this: // Smart pointer to singleton instance of the font file loader. IDWriteFontFileLoader* ResourceFontFileLoader::instance_( new(std::nothrow) ResourceFontFileLoader() ); Note the comment….