exomind
Our great sponsors
AdventOfCode2019 | exomind | |
---|---|---|
1 | 5 | |
0 | 57 | |
- | - | |
1.8 | 9.3 | |
about 3 years ago | 12 days ago | |
Rust | TypeScript | |
- | 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.
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.
exomind
-
Ask HN: What is your current side-project?
Is your PDF reader open sourced? It's a feature I'd like to implement at some point in my own personal project (https://github.com/appaquet/exomind)
-
What is your “I don't care if this succeeds” project?
I just added a few screenshots in the README: https://github.com/appaquet/exomind
As for the Gmail integration, it is quite crude at the moment. I use it mostly to organize incoming emails, but I still use Gmail to send or reply to my emails. Exomind inbox is synchronized with Gmail, so all emails that you remove from one or the other get removed / archived on the other side. It also supports multiple accounts.
If you are interested to try and not afraid of the rough edges, just let me know. I added Discussions to the GitHub repository.
-
Ask HN: What Are You Working On?
Exomind[1], a personal knowledge management tool that takes the form of a unified inbox in which you can have your emails, tasks, notes and bookmarks organized into collections. I have an iOS and a web/electron client at the moment. I plan to eventually add files (blobs), definitions and support extensibility via WASM applications.
Its backend (Exocore[2]) is built on top of a personal / private blockchain and is made from the ground up to be hosted in a semi-decentralized fashion on your own personal devices (your computer, raspberry pi, a cloud instance, etc.)
It has very rough edges, but I'm using it daily to organize my life. It has also been my learning playground to improve my Rust skills over the last two years. If all goes well, I'm a few months away from some kind of tech preview.
[1] https://github.com/appaquet/exomind
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.
esper
listudy - Listudy - chess training server
notebook
DsHidMini - Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers
okta-aws-cli-assume-role - Okta AWS CLI Assume Role Tool
ExtPay - The JavaScript library for ExtensionPay.com — payments for your browser extensions, no server needed.
name-needed - 🕹 A one man effort to produce an intuitive and high performance Dwarf Fortress-esque game. Needs a name.
electron-browser-shell - A minimal, tabbed web browser with support for Chrome extensions—built on Electron.
Video-Hub-App - Official repository for Video Hub App