Ohhh. More logging. Feels good.
Posted a few projects to git:
A somewhat decent file event cli tool in go. Performs crazy good so far. Had to make a few modifications to the fsnotify library so that I could hook CLOSE_WRITE inotify events. These are important because one use of this tool is to monitor 'file uploads' to a directory(s) and trigger resque events when the uploads are complete. This happens via 'intelligent guess work' instead of the uploader/uploading client triggering some kind of api.. So a CLOSE_WRITE is so far decent when trying to predict that a file has been opened for writing, written to, and then closed (upload behavior).
https://github.com/adarqui/watchque-goThis library is pretty nutty and unfinished.. Trying to port stream.js over to C -> to learn more about implementing lazy evaluation. Lazy eval can be incredibly powerful as I've learned during my research into haskell. So, the library is just a basic starting point which achieves some lazyness, but will eventually need to be re-written/re-designed. I figure, if I could implement a decent lazy list/data structure library for C, then I will have a pretty excellent grasp on lazy eval by that point.... I'd need to lazy eval various data structures, IO streams, etc.
https://github.com/adarqui/streamjs-cThese libraries are part of my 'port of haskell patterns to other languages'.. These are mostly experimental, no idea how they will turn out. I love haskell's libraries; they are on another level (of professionalism). For example, Shellac is a great example. All languages have some kind of third party/open source 'shell framework' for developing cli programs. None of them come close to shellac. Shellac is some beautiful & impressive code. So, one of my goals is to be able to port something like shellac over to C, go, node etc..... Once I'm able to accomplish those tasks, i will also be significantly better at coding haskell - which is another major goal. Want to become extremely skilled in that language. So here are some libraries I recently git'd:
https://github.com/adarqui/Prelude-jshttps://github.com/adarqui/Data.Maybe-jshttps://github.com/adarqui/Data.List-jsHere's the go Data.List lib I just started tonight:
https://github.com/adarqui/Data.List-goTomorrow I will also start the C variation of the lib, which I'm pretty excited about tbh... I'm hoping to implement most all of the C code as MACROS
That'll be really dope and somewhat haskell-like in terms of baby-level generics & optimized code (without excessive function calls). So that should be very interesting to play with.
Some small debian build/lxc container, extremely stripped down: ~54M
https://github.com/adarqui/quarkThis code is ~3-4 months old. I need to tinker with it near-daily. It's not a project that I would ever 'finish soon'. It's basically an attempt at turning 'ghci' (haskell's interpreter) into a unix-shell-like environment. Sooooo much you could do with functional shells. GHCI is perfect for this project. Some cool stuff in README.txt. For people familiar with linux/unix etc, check out the README.txt for some haskell examples that look exactly like shell commands. You'd think those were shell pipelines etc, but they are haskell functions & haskell function composition pipelines etc.. so sick.
https://github.com/adarqui/HBoxSo my biggest focus right now is the 'haskell port' project.. I have lots of libraries to port over to node, go, C etc (these seem to be the languages i've settled in for now). Libraries such as Data.List, Data.Char, Data.Bits, Data.Tree, Data.Set, Shellac, etc etc.. Lots of work to do here. The idea is to provide myself (and others) with a 'unified data pattern' environment for these languages.. ie, calling map's/fold's/bitwise funcs the same (as much as i can) across the languages, so that something I do in haskell will look very similar when I port it to C.
For example, one little project is to write some key/value store similar to redis which exposes my various haskell ports via a cli/api.. That way you could map/fold/use any of the haskell libraries I port over via a cli/web api etc.. Which might be pretty fun/cool. So, I'd like for the code to look very similar between C, go, haskell and node.
Some other projects I have are porting other libraries (non haskell) too.. One such library would be async.js. I think it would be pretty cool to port that library over to C/go, especially go.. ie, using waterfall/series/parallel etc in a very similar manner, but in go.. So ya, i'm trying to abstract alot of patterns out and port them to other langs so that I can hit that next next next next level in eng/arch/programming.. So much work to do
#jumping @ efnet.
peace
edit: hope you feel better LBSS.
damn injuries, it's the only thing I don't miss about training.