blooddy_crypto
LIBUCL
blooddy_crypto | LIBUCL | |
---|---|---|
1 | 5 | |
90 | 1,595 | |
- | - | |
10.0 | 7.9 | |
about 2 years ago | 13 days ago | |
ActionScript | C | |
MIT License | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
blooddy_crypto
-
That's a Lot of YAML
I worked for a shop that made Flash games for Symbian phones (i.e. old Nokias). That's a lot more resource-constrained environment than any of iPhone or Android ever were. And it ran fine, if you knew what you were doing.
When Android just appeared on the market, I worked for a company that was making a video chat Facebook app. It was written in AS3 and one of the main features was to apply various effects to video. We tested it on Android, and it worked fine, even though that's a very memory and CPU intensive app.
Really, Flash player was not the problem. It couldn't go toe-to-toe with native code, but optimized AS3 code would beat unoptimized native code.
It was some form of code-golf to write Base64 encoding in AS3 and benchmark it. Usually comparing to the implementation in Flex. When Flash Alchemy came out, I wrote a version of Base64 encoding that beat it something like 100:1. A friend of mine who was known by his forum / Github user name "bloodhound" (here's some of his stuff: https://github.com/blooddy/blooddy_crypto/tree/master/src/by... ) wrote a bunch of encoding / decoding libraries for various formats (he also improved upon my Base64 code). And these were used all over the place for things like image uploads / image generation online. This stuff would beat similar Java libraries for example.
Not sure if you remember this, but at one point in the past Facebook had a Java applet that they used to manage image uploads to your "albums". Later they replaced it by Flash applet. It didn't work any worse that's for sure.
----
The performance problems were in Adobe AS3 code, not the player. Flex was a very inefficiently written framework. And so were AS components. But if you take AS3 3D engines, even those that were fully on CPU... you had plenty of proper 3D games. Eg. Tanki Online (a Russian game made with Alternativa3D Flash engine) was a huge hit. Even if the phone could handle a fraction of that, you'd still have plenty of room for less complex UI.
LIBUCL
-
That's a Lot of YAML
Have you seen ucl? https://github.com/vstakhov/libucl
It seems very similar.
-
Structured configuration in Go
Structured configuration is the type of configuration language I wanted for Djinn, whereby parameters could be grouped together into blocks, and nested within each other. Hence, the structure. The language I came up with was heavily influenced by HCL, and libucl and has support for duration and size literal values. Below is what the language looks like,
- Libucl: Universal configuration language parser library
- An Intuition for Lisp Syntax
-
The YAML file of Prometheus Operator has over 13k lines, one of the longest YAML files on GitHub ever
Here you go: https://github.com/vstakhov/libucl
What are some alternatives?
json2jsii - Generates jsii-compatible structs from JSON schemas
yaml-cpp - A YAML parser and emitter in C++
noyaml - A silly emotional rant about the state of devops tooling/the infrastructure sector in 2018. #noyaml.com
frozen - JSON parser and generator for C/C++ with scanf/printf like interface. Targeting embedded systems.
cue - The home of the CUE language! Validate and define text-based and dynamic configuration
YAJL - A fast streaming JSON parsing library in C.
honeysql - Turn Clojure data structures into SQL
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
json5 - JSON5 — JSON for Humans
JsonCpp - A C++ library for interacting with JSON.
cuetorials.com - Learn you some CUE for a great good!
Boost.PropertyTree - Boost.org property_tree module