Analysis without metrics
is only an opinion.
Native threads and JNI
How a native (non Java) thread can call into Java code through JNI.
Enable JavascriptCore debugging
Enable JavascriptCore remote debugging on Safari devtools.
Javascript native wrappers in V8 — Part I
Full tutorial on how to define native/javascript wrappers in v8.
V8 wrapped objects lifecycle
Basic v8 native wrapper lifecycle management. GC hooks.
V8 inspector from an embedder standpoint
Debug v8 in dev tools. Architecture and how to.
Android v8 embedding guide
How to embed V8 in Android. Project setup.
Squeezing v8 startup time 2
Faster v8 startup times. Extracting and storing Bytecode cache.
Compiled v8
several arm and arm64 pre-compiled and ready to use v8 versions.
Compile v8 arm, arm64, ia32
Working script to compile v8 for different architectures.
Annotation processing basics
Simple Annotation processing tutorial.
Software development empirical rules
Brain dump of software engineering ideas.
Automata
Fully functional finite state machine library. Concepts and how-to.
Squeezing v8 startup time
On my day to day job, v8 in present most of the time. One philosophical foundation of our product is startup time, and all time taken from startup to the first frame drawn must be lowered as much as possible. This startup time is composed of many different steps, from GL context initialization, to scriptContinue reading “Squeezing v8 startup time”
Android Java/Json converter
With runtime type reflection I’ve been working a long time with multiplayer web-based/Android/iOS games, and one common operation on the server side or native clients is Json conversion to Java and vice versa. For such repetitive tasks I created a runtime reflection-based system to aid me in the process. Serialization is straightforward. Just recursively visitContinue reading “Android Java/Json converter”
Node.js module globals
Everyone that required a Node.js module realised that the module globals keep local to the module and don’t pollute the global namespace. From a Nodejs standpoint, this is fairly easy. Since in Javascript a function creates an scope, a module source code is then wrapped in a javascript function like: This function uses the same javascript contextContinue reading “Node.js module globals”
Change object default toString value in Javascript
For any javascript object, e.g.: A call obj.toString() will by default yield: [object Object] . Some other objects, like the browser Window object, will yield: [object Window] if printed on dev tools. We can force a value different than [object Object] by executing this: Now, obj will be identified as: Tagging special objects has never been easier than this. Addendum The native side of things would lookContinue reading “Change object default toString value in Javascript”
About me
This is a blog about random brain dumps on programming. Mostly things that have been useful to me over the years. In my career I have been cofounder of a couple failed startups, manager, but above all software engineer. As such, I face daily challenges that can be for sure blueprinted, and this is theContinue reading “About me”