I've given myself an absolutely massive reading-list of books on AI and related topics to plow through, so mostly I expect to be doing a lot of reading. Some specific titles I'm actively working through right now:
Foundations of Computational Linguistics: Human-Computer Communication in Natural Language by Roland Hausser[1]
The Hidden Pattern: A Patternist Philosophy of Mind by Ben Goertzel[2]
Integrating Rules and Connectionism for Robust Commonsense Reasoning
by Ron Sun[3]
Talking Nets: An Oral History of Neural Networks by James A. Anderson (Editor),
Edward Rosenfeld (Editor)[4]
Readings in Cognitive Science: A Perspective from Psychology and Artificial Intelligence by Alan Collins (Editor)[5]
I'll be working on the reference implementation [1] of Concise Encoding [2], which is a secure data format for the modern world. My aim is to replace insecure and clunky formats like JSON and XML and the various binary formats that do similar things less conveniently.
In a nutshell:
- Existing ad-hoc formats are too loosely defined to be secure, and that's becoming a huge problem as the bad guys become more sophisticated. CE is tightly specified and designed to mitigate exploitation of codecs.
- CE is a twin text and binary format. Humans view and edit in text, and machines send it in binary, so you get the convenience of text and the efficiency of binary for free.
- CE supports the fundamental types natively. Stringifying is buggy, causes incompatibilities, and opens security holes. And it's completely unnecessary with a properly designed data format.
There's a benchmark test in the go implementation that gets 30-50% better performance than go's stdlib JSON. Mind you, this is a reference implementation and built for study, not speed.
Ultimately, performance in go comes down to how many allocations you do.
Started with my first pixel art project, Factorio game has piqued my interest in pixel art. I've been lurking on the Pixel Art subreddit[1] for a while now and I've finally indulged myself this weekend.
Couple of tutorials on YT to start if anyone is interested:
I've always been pretty good with complex systems, and in most places it's always been no problem to stay ahead of everything. Right now, I've hit a limit as things are becoming even more complex.
CS techniques like DDD are helping, but I get enough of that on the weekdays. Weekends and nights I'm looking through game design videos, and maybe economics if I have time.
I am trying to finish the first draft of my next fiction book so that I can finally move on to the editing phase. I'm so close, but the last few chapters are always the hardest for me, so I'm just forcing myself through it to get the words - any words - down with the full expectation of having to edit the crap out of it later.
I'll be working on a personal project I have been working for a few years now called Exomind[1]. It's 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 iOS and web/electron clients at the moment and a simple browser extension for bookmarking.
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 is written in Rust and has iOS, C and Web (WASM) clients. It's extensible via WebAssembly written applications.
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, TypeScript and Swift skills over the last two years (it was on another tech stack before).
While developing client sites we found a need to minify HTML files content.
So the new tool will be called HTML Minifier (saving space and improving load speed)
15 comments
[ 5.1 ms ] story [ 43.9 ms ] threadFoundations of Computational Linguistics: Human-Computer Communication in Natural Language by Roland Hausser[1]
The Hidden Pattern: A Patternist Philosophy of Mind by Ben Goertzel[2]
Integrating Rules and Connectionism for Robust Commonsense Reasoning by Ron Sun[3]
Talking Nets: An Oral History of Neural Networks by James A. Anderson (Editor), Edward Rosenfeld (Editor)[4]
Readings in Cognitive Science: A Perspective from Psychology and Artificial Intelligence by Alan Collins (Editor)[5]
[1]: https://www.goodreads.com/book/show/19538351-foundations-of-...
[2]: https://www.goodreads.com/book/show/2052143.The_Hidden_Patte...
[3]: https://www.goodreads.com/book/show/3826453-integrating-rule...
[4]: https://www.goodreads.com/book/show/1976091.Talking_Nets
[5]: https://www.goodreads.com/book/show/3535749-readings-in-cogn...
In a nutshell:
- Existing ad-hoc formats are too loosely defined to be secure, and that's becoming a huge problem as the bad guys become more sophisticated. CE is tightly specified and designed to mitigate exploitation of codecs.
- CE is a twin text and binary format. Humans view and edit in text, and machines send it in binary, so you get the convenience of text and the efficiency of binary for free.
- CE supports the fundamental types natively. Stringifying is buggy, causes incompatibilities, and opens security holes. And it's completely unnecessary with a properly designed data format.
[1] https://github.com/kstenerud/go-concise-encoding
[2] https://concise-encoding.org/
[3] https://github.com/kstenerud/concise-encoding
Ultimately, performance in go comes down to how many allocations you do.
Couple of tutorials on YT to start if anyone is interested:
Getting started with Aesprite[2].
Choosing the canvas size[3].
Do's and Don't s with Pixel Art[4].
[1] https://www.reddit.com/r/PixelArt/
[2] https://www.youtube.com/watch?v=tFsETEP01k8
[3] https://www.youtube.com/watch?v=Z8earctNBxg
[4] https://www.youtube.com/watch?v=SZXg7rexa2k
CS techniques like DDD are helping, but I get enough of that on the weekdays. Weekends and nights I'm looking through game design videos, and maybe economics if I have time.
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 is written in Rust and has iOS, C and Web (WASM) clients. It's extensible via WebAssembly written applications.
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, TypeScript and Swift skills over the last two years (it was on another tech stack before).
[1]: https://github.com/appaquet/exomind [2]: https://github.com/appaquet/exocore
Example https://img.bruzu.com/?a.text=HN2222
check more info at https://bruzu.com
While developing client sites we found a need to minify HTML files content. So the new tool will be called HTML Minifier (saving space and improving load speed)
Will be similar to JS Minifier: https://freetools.dev/js-minifier