I *think* the ticket is to unquote the nested data...but I haven't sorted out how to do that conditionally, yet, since the data isn't always a quoted hash table.
In that test project there are 2 functions, inspector1 and inspector2, 1 works more or less as expected, 2 is supposed to test if a value is a hash table, but it always seems to return false.
Feedback, ideas, and insights are more than welcome
I had to wake up early to sneak in some $WORK time this morning. After wrapping that up the kids were still asleep so I dipped into the #DecemberAdventure a bit earlier than I've been doing! I like early morning programming a lot.
Not tons of progress today, but lots of exploring and playing with different tools for recursion. I've sorted out how to get at what I need manually. My next step is to figure out how to do it in a generic enough way that it works for any of the data shapes I'll be tackling...namely without relying toooooo heavily on car/cdr, and friends.
After yesterday's update I also spent a bit of time trying to reimplement what I've done so far in racket in chibi and chicken #scheme. I didn't get heaps far with either and threw out both attempts. I'm gonna keep on keeping on with #racket for now.
For today's #DecemberAdventure (squeezed in at lunch) I decided to step away from data wrangling and begin to think about display options. Racket is proving pretty slick for that! Nothing started, but I have a couple of directions I'd like to explore a bit more.
...speaking of explorations, last night I poked at a whole heap of different #scheme implementations.
I *want* to use chicken but run into weird issues whenever I try to do anything more than write tiny scripts with it...this seems to be a personal hex of mine, though, since everyone I know who uses chicken loves it and it seems to work fine for them 🤷
Guile seems like the "right" choice, and I've enjoyed the time I've spent with guile...but some real talk here: gnu-style docs *SUCK*. They make some wild assumptions about what you know and have absolutely atrocious information architec... show more
DEC 05
For today's #DecemberAdventure (squeezed in at lunch) I decided to step away from data wrangling and begin to think about display options. Racket is proving pretty slick for that! Nothing started, but I have a couple of directions I'd like to explore a bit more.
...speaking of explorations, last night I poked at a whole heap of different #scheme implementations.
I *want* to use chicken but run into weird issues whenever I try to do anything more than write tiny scripts with it...this seems to be a personal hex of mine, though, since everyone I know who uses chicken loves it and it seems to work fine for them 🤷
Guile seems like the "right" choice, and I've enjoyed the time I've spent with guile...but some real talk here: gnu-style docs *SUCK*. They make some wild assumptions about what you know and have absolutely atrocious information architecture. They're an absolute masterclass on how to alienate incoming learners.
Other fun implementations that I've got on my mind but that weren't right for this specific project:
- Kawa, scheme on the JVM! - Gauche - Chibi-scheme
I've raved about lil and decker in the past...but...ya'll, I'm still purdy darn smitten.
I sketched the basics of a little data driven application that I hope to build using lil. At first it'll be a cli application, but it may bloom into a full decker GUI one day.
Using lil, I'm going to focus on digging into the language features that are inspired by vector programming. Lil seems like a solid way to get deeper into vector programming, without plumbing the more esoteric depths of apl or bqn's digraphs (yeah yeah, I know about k, too, but )
I kept exploring lil during today's #DecemberAdventure. I had a quick email exchange with John, the person behind lil, and also started work on a minimal major-mode to write lil in emacs <<insert HMS Pinafore joke here>>.
I'm loosely basing the emacs stuff off of @d6's excellent uxntal-mode...but my plans are a lot less ambitious than everything uxntal-mode does.
After making my post for DEC 08, I ended up poking at a bunch of elisp into the wee hours of the morning. My goal was to put together a major mode for lil.
I got somewhere, but not where I wanted to be...but also...lil works really well in acme, so I think I'm gonna stick with that for now
Today brought a bit more elisp hackery, but also more proving out what I'm trying to do in lil. I remain smitten with the weird little language. I'm especially excited at the idea of its captain-planet-esq ability to combine features from functional and array programming systems.
I didn't want to eat up too much of my weekend at the computer, so kept this installment of the #DecemberAdventure short and sweet!
- last night I wrote a teeny tiny blog post about the whole thing - today I refactored the project I started in lil to be a bit more focused
The refactored project doesn't try to be a general purpose cataloguing utility anymore, instead it focuses only on link logging. This was an easier bite to chew.
I've completed the core functionality minus some protections (like handling errors from wget) and will be wrapping it all in a cli interface next! After that I may see about moving it all to Decker to add a UI 🤷 maybe.
OH! Last night I also added to ideas.txt for other things to do. I remain excited.
Project complete! I added a bit of a cli interface to my cataloguing utility written in lil for today's installment of the #DecemeberAdventure.
I could for certain take it farther, and might down the road, but going to call this very tiny project wrapped and move on to something new -- not 100% certain where I'll go next, but I've started collecting some ideas.
While I haven't done much, and this project was admittedly very very very very tiny, it feels weird (in a good way) to be so productive in such a teeny tiny language.
lil is wild to me because it has the expressivity of a #scheme while being nearly as terse as a #forth system.
At first I thought it was gonna be like #... show more
DEC 11
Project complete! I added a bit of a cli interface to my cataloguing utility written in lil for today's installment of the #DecemeberAdventure.
I could for certain take it farther, and might down the road, but going to call this very tiny project wrapped and move on to something new -- not 100% certain where I'll go next, but I've started collecting some ideas.
While I haven't done much, and this project was admittedly very very very very tiny, it feels weird (in a good way) to be so productive in such a teeny tiny language.
lil is wild to me because it has the expressivity of a #scheme while being nearly as terse as a #forth system.
At first I thought it was gonna be like #lua (which is a language I'm a pretty big fan of), but, while being waaaaaaay smaller than lua, I feel way more capable of getting things done in lil.
It is also fun to move within a language without strict idioms -- lil supports imperative, functional, and array programming paradigms so it is fun to implement a solution, and then refactor to another paradigm as necessary.
Today's #DecemberAdventure was low key -- not much code written, but I pulled together some (very, extraordinarily) rough wireframes for an app I've long fantasized about.
I used the wireframes as a touchstone for a conversation with my friend @hisaac to see if the app was feasible.
Consensus is that it is achievable, but not like a breeze to make.
I'm not certain about next steps on this app idea. I'll continue to noodle on it and do some more research, but not certain if I want to dive (back?) into the world of app dev after escaping it's jaws (professionally speaking).
- thinking about the future of computing - thinking about combinatorial logic 😆
I haven't picked up another project. I need to do that this evening or first thing tomorrow because I'm pushing two days of sort of nebulous reaching log entries
I'd like to do something with array programming but, to be totally honest, do know what to do with it other than math for math's own sake, and that isn't really my jam. Perhaps it is time to return to the Pokédex?
I think I've fallen off the #DecemberAdventure wagon ya'll -- I did write code today, but it was all for work and I don't have the juice to write other code I don't think.
...that said...data analysis is fun and I wish the tools I was using made it easier to get data out so that I could use the tools I wanna use.
But in all seriousness today was another day filled with tedious data analysis at work so I felt sorta burned out at the end of it all. I did think a wee bit about application architecture for two separate projects, one a very theoretical one I’ve been noodling on and one an early stage app that @hisaac is working on.
If I can muster some more concentration I would like to crack into some functional programming stuff. Mocking birds and what not.
Spent a bit of time working on a script to make writing blog posts easier, and did a very little bit of code golf for tiny code christmas thing. I am remarkably terrible at anything that requires visuals/pixels.
I pretty much spent all day playing with the kids today. No regrets, but this did impact the #DecemberAdventure. Now that they're asleep I'll probably spend a bit of time fiddling or reading with some computer stuffs.
No #DecemberAdventure today -- spent the day running around with kids and doing Chanukah things instead. Do have a toy that makes GameBoy dev pretty darn tootin' enticing.
I've been meaning to experiment with Arduino game dev., too -- maybe my first project will be to get #uxn or something up and running for either device?
Today's #DecemberAdventure was actually me writing some cursed javascript for work...sort of re-inventing the wheel to display a bunch of disparate data from a couple different places in 1 place.
Last night I waded into the water of sql -- I've got a serious soft spot for sql, especially in sqlite. Next to javascript it is probably the language I've spent the most time with (look, I had some dark time with php in there, too, but I'm ignoring those times...and there was a lot of inline sql there, too 😆).
I like that sql is unabashedly imperative, but also hides some intriguing vector capabilities under there somewhere if you know the right corners to snoop in.
Today's #DecemberAdventure brought me back to coffeescript -- I was looking for easy ways to do literate programming (nothing makes it as easy as @crc's retroforth, though...that includes literate haskell...glare glare glare). It was nice to see that coffeescript2 includes a lot of nice language features from javascript.
I returned to racket for tonight's #DecemberAdvneture. It was a pleasant return.
I wrote a few functions to check to see if an image exists in a directory, if not, the image is downloaded, and then displayed. The pokedex that I started the adventure with isn't glamorous, but I've got a most of the pieces in place to start assembling something interesting.
The #DecemberAdventure has slowed down a bit. Between ~24 hours of power outage and holiday fun (movies, Chinese food, video games, etc) I haven't spent any time with my computer. I probably won't be spending much time with it for a few days yet, so, for now, a rest bit.
This has been a really fun experience though! I'm excited to revisit it, and things like it in the future!
A few big shout outs and thanks:
- @Sandra for clear-eyed words of encouragement - @neauoire for making it "real" - @ratfactor for putting the shape of the thing in my head with assembly nights! - @llimllib for setting a bar to keep up with on the Advent of Computing side of the world!
eli_oat
in reply to eli_oat • • •Spent my #DecemberAdventure time playing with hash tables.
Nothing pretty to show yet, but already getting closer 1 little function at a time.
https://elioat.tilde.institute/december_adventure
eli_oat
in reply to eli_oat • • •Today's #DecemberAdventure has been a really 2 steps forward, 1 step back kinda affair.
No gigantic leap in progress today, I'm still wrestling with how to plumb data through this thing, but getting closer!
I set up a test project to explore how to get at nested hash table data within a hash table.
https://git.tilde.institute/elioat/december-2022/tree/src/tmp.rkt
I *think* the ticket is to unquote the nested data...but I haven't sorted out how to do that conditionally, yet, since the data isn't always a quoted hash table.
In that test project there are 2 functions, inspector1 and inspector2, 1 works more or less as expected, 2 is supposed to test if a value is a hash table, but it always seems to return false.
Feedback, ideas, and insights are more than welcome
eli_oat
in reply to eli_oat • • •I had to wake up early to sneak in some $WORK time this morning. After wrapping that up the kids were still asleep so I dipped into the #DecemberAdventure a bit earlier than I've been doing! I like early morning programming a lot.
Not tons of progress today, but lots of exploring and playing with different tools for recursion. I've sorted out how to get at what I need manually. My next step is to figure out how to do it in a generic enough way that it works for any of the data shapes I'll be tackling...namely without relying toooooo heavily on car/cdr, and friends.
After yesterday's update I also spent a bit of time trying to reimplement what I've done so far in racket in chibi and chicken #scheme. I didn't get heaps far with either and threw out both attempts. I'm gonna keep on keeping on with #racket for now.
https://elioat.tilde.institute/december_adventure
https://git.tilde.institute/elioat/december-2022/about/
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •For today's #DecemberAdventure (squeezed in at lunch) I decided to step away from data wrangling and begin to think about display options. Racket is proving pretty slick for that! Nothing started, but I have a couple of directions I'd like to explore a bit more.
...speaking of explorations, last night I poked at a whole heap of different #scheme implementations.
I *want* to use chicken but run into weird issues whenever I try to do anything more than write tiny scripts with it...this seems to be a personal hex of mine, though, since everyone I know who uses chicken loves it and it seems to work fine for them 🤷
Guile seems like the "right" choice, and I've enjoyed the time I've spent with guile...but some real talk here: gnu-style docs *SUCK*. They make some wild assumptions about what you know and have absolutely atrocious information architec... show more
For today's #DecemberAdventure (squeezed in at lunch) I decided to step away from data wrangling and begin to think about display options. Racket is proving pretty slick for that! Nothing started, but I have a couple of directions I'd like to explore a bit more.
...speaking of explorations, last night I poked at a whole heap of different #scheme implementations.
I *want* to use chicken but run into weird issues whenever I try to do anything more than write tiny scripts with it...this seems to be a personal hex of mine, though, since everyone I know who uses chicken loves it and it seems to work fine for them 🤷
Guile seems like the "right" choice, and I've enjoyed the time I've spent with guile...but some real talk here: gnu-style docs *SUCK*. They make some wild assumptions about what you know and have absolutely atrocious information architecture. They're an absolute masterclass on how to alienate incoming learners.
Other fun implementations that I've got on my mind but that weren't right for this specific project:
- Kawa, scheme on the JVM!
- Gauche
- Chibi-scheme
https://elioat.tilde.institute/december_adventure
https://git.tilde.institute/elioat/december-2022/about/
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •Today's #DecemberAdventure was kind of a rest day. Work was wicked busy, and honestly not over yet.
I poked a bit on the inspector function, and hope to do a little bit more this evening, time permitting.
I don't want to walk away from the Pokédex project, but I am also noodling on starting another project...time will tell!
Over the last 6 days I've also locked in my emacs config 🤷
https://git.tilde.institute/elioat/december-2022/about/
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •For today's #DecemberAdventure I stepped away from parenthesis and picked up lil, the language at the heart of decker.
https://beyondloom.com/decker/lil.html
https://beyondloom.com/decker
I've raved about lil and decker in the past...but...ya'll, I'm still purdy darn smitten.
I sketched the basics of a little data driven application that I hope to build using lil. At first it'll be a cli application, but it may bloom into a full decker GUI one day.
Using lil, I'm going to focus on digging into the language features that are inspired by vector programming. Lil seems like a solid way to get deeper into vector programming, without plumbing the more esoteric depths of apl or bqn's digraphs (yeah yeah, I know about k, too, but )
https://elioat.tilde.institute/december_adventure
https://git.tilde.institute/elioat/december-2022/about/
Lil: A Scripting Language
beyondloom.comeli_oat
in reply to eli_oat • • •I kept exploring lil during today's #DecemberAdventure. I had a quick email exchange with John, the person behind lil, and also started work on a minimal major-mode to write lil in emacs <<insert HMS Pinafore joke here>>.
I'm loosely basing the emacs stuff off of @d6's excellent uxntal-mode...but my plans are a lot less ambitious than everything uxntal-mode does.
https://elioat.tilde.institute/december_adventure
https://git.tilde.institute/elioat/december-2022/about/
I'm also realizing I haven't written a blog post about this December Adventure thing -- maybe this weekend I'll do that!
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •After making my post for DEC 08, I ended up poking at a bunch of elisp into the wee hours of the morning. My goal was to put together a major mode for lil.
I got somewhere, but not where I wanted to be...but also...lil works really well in acme, so I think I'm gonna stick with that for now
Today brought a bit more elisp hackery, but also more proving out what I'm trying to do in lil. I remain smitten with the weird little language. I'm especially excited at the idea of its captain-planet-esq ability to combine features from functional and array programming systems.
What will the weekend hold for #DecemberAdventure!?
https://git.tilde.institute/elioat/december-2022/about/
https://elioat.tilde.institute/december_adventure
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •I didn't want to eat up too much of my weekend at the computer, so kept this installment of the #DecemberAdventure short and sweet!
- last night I wrote a teeny tiny blog post about the whole thing
- today I refactored the project I started in lil to be a bit more focused
The refactored project doesn't try to be a general purpose cataloguing utility anymore, instead it focuses only on link logging. This was an easier bite to chew.
I've completed the core functionality minus some protections (like handling errors from wget) and will be wrapping it all in a cli interface next! After that I may see about moving it all to Decker to add a UI 🤷 maybe.
OH! Last night I also added to ideas.txt for other things to do. I remain excited.
https://eli.li/2022/12/9/december-adventure
Oatmeal - December adventure
eli.lieli_oat
in reply to eli_oat • • •Project complete! I added a bit of a cli interface to my cataloguing utility written in lil for today's installment of the #DecemeberAdventure.
I could for certain take it farther, and might down the road, but going to call this very tiny project wrapped and move on to something new -- not 100% certain where I'll go next, but I've started collecting some ideas.
While I haven't done much, and this project was admittedly very very very very tiny, it feels weird (in a good way) to be so productive in such a teeny tiny language.
lil is wild to me because it has the expressivity of a #scheme while being nearly as terse as a #forth system.
At first I thought it was gonna be like #... show more
Project complete! I added a bit of a cli interface to my cataloguing utility written in lil for today's installment of the #DecemeberAdventure.
I could for certain take it farther, and might down the road, but going to call this very tiny project wrapped and move on to something new -- not 100% certain where I'll go next, but I've started collecting some ideas.
While I haven't done much, and this project was admittedly very very very very tiny, it feels weird (in a good way) to be so productive in such a teeny tiny language.
lil is wild to me because it has the expressivity of a #scheme while being nearly as terse as a #forth system.
At first I thought it was gonna be like #lua (which is a language I'm a pretty big fan of), but, while being waaaaaaay smaller than lua, I feel way more capable of getting things done in lil.
It is also fun to move within a language without strict idioms -- lil supports imperative, functional, and array programming paradigms so it is fun to implement a solution, and then refactor to another paradigm as necessary.
https://git.tilde.institute/elioat/december-2022/about/
december-2022 - code a little bit every day in december
git.tilde.instituteeli_oat
in reply to eli_oat • • •Today's #DecemberAdventure was low key -- not much code written, but I pulled together some (very, extraordinarily) rough wireframes for an app I've long fantasized about.
I used the wireframes as a touchstone for a conversation with my friend @hisaac to see if the app was feasible.
Consensus is that it is achievable, but not like a breeze to make.
I'm not certain about next steps on this app idea. I'll continue to noodle on it and do some more research, but not certain if I want to dive (back?) into the world of app dev after escaping it's jaws (professionally speaking).
eli_oat
in reply to eli_oat • • •#DecemberAdventure invited me to do a lot of thinking today --
- thinking about the future of computing
- thinking about combinatorial logic 😆
I haven't picked up another project. I need to do that this evening or first thing tomorrow because I'm pushing two days of sort of nebulous reaching log entries
I'd like to do something with array programming but, to be totally honest, do know what to do with it other than math for math's own sake, and that isn't really my jam. Perhaps it is time to return to the Pokédex?
https://elioat.tilde.institute/december_adventure
eli_oat
in reply to eli_oat • • •I think I've fallen off the #DecemberAdventure wagon ya'll -- I did write code today, but it was all for work and I don't have the juice to write other code I don't think.
...that said...data analysis is fun and I wish the tools I was using made it easier to get data out so that I could use the tools I wanna use.
Devine Lu Linvega
in reply to eli_oat • • •eli_oat
in reply to eli_oat • • •The #DecemberAdventure has revealed that…I hate computers a little?
But in all seriousness today was another day filled with tedious data analysis at work so I felt sorta burned out at the end of it all. I did think a wee bit about application architecture for two separate projects, one a very theoretical one I’ve been noodling on and one an early stage app that @hisaac is working on.
If I can muster some more concentration I would like to crack into some functional programming stuff. Mocking birds and what not.
Devine Lu Linvega
in reply to eli_oat • • •eli_oat
in reply to eli_oat • • •Back at it! #DecemberAdventure reborn ... and still a baby thing.
Spent a bit of time working on a script to make writing blog posts easier, and did a very little bit of code golf for tiny code christmas thing. I am remarkably terrible at anything that requires visuals/pixels.
https://elioat.tilde.institute/december_adventure
eli_oat
in reply to eli_oat • • •I pretty much spent all day playing with the kids today. No regrets, but this did impact the #DecemberAdventure. Now that they're asleep I'll probably spend a bit of time fiddling or reading with some computer stuffs.
eli_oat
in reply to eli_oat • • •No #DecemberAdventure today -- spent the day running around with kids and doing Chanukah things instead. Do have a toy that makes GameBoy dev pretty darn tootin' enticing.
I've been meaning to experiment with Arduino game dev., too -- maybe my first project will be to get #uxn or something up and running for either device?
eli_oat
in reply to eli_oat • • •Today's #DecemberAdventure was actually me writing some cursed javascript for work...sort of re-inventing the wheel to display a bunch of disparate data from a couple different places in 1 place.
eli_oat
in reply to eli_oat • • •Last night I waded into the water of sql -- I've got a serious soft spot for sql, especially in sqlite. Next to javascript it is probably the language I've spent the most time with (look, I had some dark time with php in there, too, but I'm ignoring those times...and there was a lot of inline sql there, too 😆).
I like that sql is unabashedly imperative, but also hides some intriguing vector capabilities under there somewhere if you know the right corners to snoop in.
Today's #DecemberAdventure brought me back to coffeescript -- I was looking for easy ways to do literate programming (nothing makes it as easy as @crc's retroforth, though...that includes literate haskell...glare glare glare). It was nice to see that coffeescript2 includes a lot of nice language features from javascript.
eli_oat
in reply to eli_oat • • •I returned to racket for tonight's #DecemberAdvneture. It was a pleasant return.
I wrote a few functions to check to see if an image exists in a directory, if not, the image is downloaded, and then displayed. The pokedex that I started the adventure with isn't glamorous, but I've got a most of the pieces in place to start assembling something interesting.
eli_oat
in reply to eli_oat • • •No #DecemberAdventure this evening. Instead I’m gonna play some Zelda, Minish Cap.
Tomorrow, more racket though!
Devine Lu Linvega
in reply to eli_oat • • •eli_oat
in reply to eli_oat • • •The #DecemberAdventure has slowed down a bit. Between ~24 hours of power outage and holiday fun (movies, Chinese food, video games, etc) I haven't spent any time with my computer. I probably won't be spending much time with it for a few days yet, so, for now, a rest bit.
This has been a really fun experience though! I'm excited to revisit it, and things like it in the future!
A few big shout outs and thanks:
- @Sandra for clear-eyed words of encouragement
- @neauoire for making it "real"
- @ratfactor for putting the shape of the thing in my head with assembly nights!
- @llimllib for setting a bar to keep up with on the Advent of Computing side of the world!
Devine Lu Linvega
in reply to eli_oat • • •