HNHacker News
TopNewBestAskShowJobs

djblue

106 karma · joined September 22, 2013

[ my public key: https://keybase.io/djblue; my proof: https://keybase.io/djblue/sigs/nHZQ2Dcxl-FlmpuNvvKBdhy7bUdRNMKA2NcIqJky1c8 ]
submissionscomments
djblue··on My thoughts after using Clojure for about a month
I think one of Clojure's main strengths for concurrency / parallelism is structural sharing of immutable data across threads, which you simply cannot do in Erlang.
djblue··on My thoughts after using Clojure for about a month
I build and maintain Portal, which runs on multiple platforms including: Clojure, Babashka, ClojureCLR, ClojureScript, nbb, joyride, basilisp and soon jank. The main thing that's different per platform is the os/fs/http/ws libraries but the runtime state and serialization is all the same and reused across all platforms. Also, recently I was able to get most of Portal's reagent viewers, which were designed primarily to run in a browser via ClojureScript, running on the JVM for Server Side Rendering. Clojure is the most portable language I have ever used!
djblue··on Clojure Turns 15 panel discussion video
I think most programming communities experience fragmentation as they grow. I would say the javascript ecosystem has had an order of magnitude more fragmentation at every layer: package management, server, client, module specification. IMO this is the cost of progress.
djblue··on ClojureScript 1.10.844
I would say so, I have implemented a pwa https://djblue.github.io/portal/ hosted via github pages for people to browse through their data-structures. You can also connect the ui to a live host and send it data directly with tap> (kinda like console.log in js).
djblue··on ClojureScript 1.10.844
For me the real advantage is the shared information model with the backend that is trivial to serialize/de-serialize with something like transit-clj(s). It's like the benefit of js/node but with richer data structures: keywords, symbols, sets, maps with arbitrary keys, instants, uuids and extensibility via tagging. JSON is great, but EDN is so much better!
djblue··on Espruino: JavaScript for Microcontrollers
https://github.com/mfikes/esprit targets espruino from clojurescript.
djblue··on Show HN: Portal – A new data browser for Clojure to navigate through your data
Thanks!
djblue··on Show HN: Portal – A new data browser for Clojure to navigate through your data
Thanks!
djblue··on Show HN: Portal – A new data browser for Clojure to navigate through your data
https://github.com/djblue/portal - link to the source and usage instructions.
djblue··on Show HN: Tetris Implemented in ClojureScript
Sweet! Thanks for sharing. I see you're using pure-store to manage your game state. My implementation also uses a redux pattern for state management :)
djblue··on Show HN: Tetris Implemented in ClojureScript
Your project is substantially superior to mine. It looks so goooooood!
djblue··on Show HN: Tetris Implemented in ClojureScript
Thanks! I really enjoyed the data modeling aspect of this project. I also ended up modeling the board as a mapping of [row, column] -> color which might be different from the traditional 2D array representation.
djblue··on Show HN: Tetris Implemented in ClojureScript
https://github.com/djblue/tetris/blob/master/src/tetris/core... to update the mapping :)
djblue··on Show HN: Tetris Implemented in ClojureScript
I was following https://tetris.com/play-tetris, but I would be down to change it. It messes me up when I use the HJKL mapping.
djblue··on Show HN: Tetris Implemented in ClojureScript
Thanks!
djblue··on Way to store your dotfiles: A bare Git repository (2016)
The reason I want to be able to have different files for different machines was to make slight variations to some of my dotfiles. I used to use branches but it was too much error prone work keeping all my branches up-to-date. I switched to a system where I template my dotfiles, but now I have to expand those templates for them to actually work. I do have leverage when to expand the templates and how to install them. There are a bunch of different ways to do this depending on what you want but what I ended up doing was:

1. Template files using a syntax that was easy find / replace using a regex. You could use an existing one if you like.

2. Generate a bash install script with all the file variants embedded as base64 strings. I can build this script locally, but I also have a travis ci build that pushes up the install.sh script as a gh-pages like branch.

3. I can now curl the install.sh script from any machine I want and bootstrap my dotfiles. The only install time dependencies are bash, curl, git, base64, mkdir, and echo so it's a very portable self-contained script.

4. During install time, I use a case on hostname to determine which files to use and I use git to put them into my $HOME directory using a similar strategy described by the article.

github: https://github.com/djblue/dotfiles install.sh: https://git.io/vxQ4g

djblue··on Chicken Scheme 5.0
This is the biggest value of structured data, as soon as you convert something to a string you have lost all your leverage.
djblue··on GitHub user 4148 just starred 129k repositories and still counting
Same here :(
djblue··on GNU Guile site redesign
I think the consensus is that the site looks great... I have to agree :)
djblue··on [dead]
I don't think your link works. Sorry.
djblue··on Show HN: Setup a Ghost Blog Using Docker and Nginx
Thanks for the write up. I've been getting into docker lately and this is really useful.
djblue··on Show HN: Node.js middleware for unifying the way you send HTTP response statuses
agreed, but maybe easier without all the new.
djblue··on Show HN: The 3d universe of npm
This project is really cool! Well done.
djblue··on Crysis-inspired Menu / Navigation
That is freakin sweet!
djblue··on Vim: from n00b to meh
The Vim Adventures games is actually pretty useful for getting use to sticking with the keyboard and laying off the mouse.