notebook
notebook | AdventOfCode2019 | |
---|---|---|
2 | 1 | |
4 | 0 | |
- | - | |
0.0 | 1.8 | |
over 1 year ago | about 3 years ago | |
JavaScript | Rust | |
Apache License 2.0 | - |
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.
notebook
-
Ask HN: What is your current side-project?
Open source: End to End Encrypted Notebook / Website & Builder. Just had first release last week to fight for privacy and freedom of speech.
https://github.com/privapps/notebook
- Show HN: An End to End Encrypted Notebook
AdventOfCode2019
-
Ask HN: What is your current side-project?
I've been (slowly) doing Advent of Code 2019 on an STM32F303 microcontroller. I want all of the problem data to be stored in the binary, with the answers being output on a display. Most of my time so far has been spent on getting the clock working, and compression/decompression. I only have limited space (256KB), and the 20 of last year's problems I solved take up 221KB, so I decided the best course of action would be to store them compressed when possible.
I did consider just using compression library, but decided against it partly because it would be more interesting to write it myself, but also having a quick look I couldn't find one that could do decompression without needing additional temporary storage. It's not that fancy, just LZW with a multi-stage compression to optimize the dictionary.
Because of how many of the inputs work, you can often handle it in smaller chunks (e.g. one line at a time, I called them records), so the inputs have a small amount of pre-processing on my PC to split them up into smaller chunks so the entire input doesn't need to be held in RAM at once.
Of course, not all input data will compress well, some will even "compress" to a larger size, so I've also abstracted over the data storage so that it can handle reading records from compressed or uncompressed inputs.
I've done 4 days so far, and none of the inputs have compressed. Total runtime is 3.24 seconds (that day 4...).
Current state can be found here for the morbidly curious: https://github.com/Measter/AdventOfCode2019 Spoilers are in the mcu/src/challenges folder.
What are some alternatives?
openmiko - Open source firmware for Ingenic T20 based devices such as WyzeCam V2, Xiaomi Xiaofang 1S, iSmartAlarm's Spot+ and others.
epanet-js - Model a water distribution network in JavaScript using the OWA-EPANET engine
esper
SearchStory - Lucene based search application to search your own history (notes, papers, browser history)
okta-aws-cli-assume-role - Okta AWS CLI Assume Role Tool
name-needed - 🕹 A one man effort to produce an intuitive and high performance Dwarf Fortress-esque game. Needs a name.
ExtPay - The JavaScript library for ExtensionPay.com — payments for your browser extensions, no server needed.
saasform - Add signup & payments to your SaaS in minutes.