-
Add Graal JIT Compilation to Your JVM Language in 5 Steps, A Tutorial http://stefan-marr.de/2015/11/add-graal-jit-compilation-to-your-jvm-language-in-5-easy-steps-step-1/
-
The SimpleLanguage, an example of using Truffle with great JavaDocs. It is the officle getting-started project: https://github.com/graalvm/simplelanguage
-
Truffle Tutorial, Christan Wimmer, PLDI 2016, 3h recording https://youtu.be/FJY96_6Y3a4 Slides
| /* bling.js */ | |
| window.$ = document.querySelector.bind(document); | |
| window.$$ = document.querySelectorAll.bind(document); | |
| Node.prototype.on = window.on = function(name, fn) { this.addEventListener(name, fn); }; | |
| NodeList.prototype.__proto__ = Array.prototype; | |
| NodeList.prototype.on = function(name, fn) { this.forEach((elem) => elem.on(name, fn)); }; |
Last updated 2020/03/04
Some links from twitter on the topic of parsing PSD files (haven't looked into them in details). PSD include a flattened rasterized image so this is easy to load if that's the only thing you need. Most software / librairies have support for extracting this flattened data (e.g. stb_image.h does).
However if you want access to individual layers, render non-rasterized layers, emulate every photoshop features, extract or apply effects with more granularity, more code is needed. May range from easy to lots-of-work depending on what exactly you need.
As far as I know there isn't a trivial stb-like ready-to-use C++ library to do that sort of things. Posting all links here. Some are probably bloated or hard to use into your project, some lacking features.
TODO: Actually look into the pros/cons of all those.
| function logClass(target: any) { | |
| // save a reference to the original constructor | |
| var original = target; | |
| // a utility function to generate instances of a class | |
| function construct(constructor, args) { | |
| var c : any = function () { | |
| return constructor.apply(this, args); | |
| } |
| <html> | |
| <head> | |
| <title>Step progress bar</title> | |
| <style type="text/css"> | |
| .container { | |
| width: 100%; | |
| } | |
| .progressbar { | |
| counter-reset: step; | |
| } |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Notification Bar</title> | |
| <link rel="stylesheet" type="text/css" href="http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css"> | |
| <style type="text/css"> | |
| .container { | |
| padding: 20px; | |
| } | |
| .notificationBar { |
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Toggle Switch</title> | |
| <style> | |
| .switch { | |
| position: relative; | |
| } | |
| .switch label { | |
| width: 55px; |
| /** | |
| * Using: | |
| * var queue = new RafAnimationQueue(defaultContext) | |
| * queue.add(firstAnimationFrameCallback) // firstAnimationFrameCallback will executed with defaultContext | |
| * queue.add(secondAnimationFrameCallback, customContext) | |
| * queue.delay() // skip just one frame | |
| * queue.clear() // clear animation queue | |
| **/ | |
| window.RafAnimationQueue = (function () { | |
| function RafAnimationQueue(context) { |
| #!/bin/bash | |
| # generate file containing all URIs to execute to retrieve data from hacker news firebase API | |
| # api docs: https://github.com/HackerNews/API | |
| echo generating file hn-uri.txt | |
| URICOUNT=10000000 | |
| echo file will contain $URICOUNT lines |