Posts tagged Hacker-School
It’s been a few weeks since I’ve blogged. Bad me. This is a catch-up post.
Hacker School has a tool called Blaggregator created by Sasha Laundy. We can submit feeds for our blogs. Blaggregator provides an aggregate page, and puts new-post messages on Zulip, the chat tool.
I’m at the end of week 6 at Hacker School, which marks the halfway point. There are overlapping 12-week batches. As a result, the previous batch never-graduated yesterday.
My early weeks here included some pairing, and it was fun, but I spent more time learning and coding solo. My previous week was nearly the opposite. I spent most of my time pairing with Sumana Harihareswara.
Last week I decided to pivot from Clojure hands-on to Haskell hands-on.
Here are my notes about being puzzled about some Clojure code and diving into the implementation to figure it out. Although I figured it out the hard way, the exploration turned out to be interesting for me.
I spent most of late Thursday and Friday working on open source projects that pre-date Hacker School.
Yesterday a couple people asked me, “How and why do you use macros in a Lisp like Racket or Clojure?”.
I gave answers like:
Although all true, I wasn’t sure I was getting the full idea across.
So I’ve fallen behind on the blogging, for a few reasons. Time to catch up.
I’m calling this “day 5” as a useful fiction. It’s a distillation of what is closer to days 5–7, or something like that.
As I mentioned before, this series of blog posts is going more directly from brain to web. Reflection and editing? Not so much.
Overview:
- Spent time with Clojure Cookbook.
- Started a cheat sheet for Racket ↔ Clojure.
- Looked at
split-with
.
- Started a port of wffi from Racket to Clojure.
- Confusion: Aggregates and generics.
Please see the usual disclaimers from my previous posts.
As I mentioned yesterday, my next toy project is to write wrappers libraries for the new Hacker News API. This seems like a good exercise because the REST API is very simple, and I have experience doing this sort of thing in Racket. In fact, I’ll do the same thing in both Racket and Clojure.
The result is clacker-news and racker-news. Trademark registration application is in-process.1
As with yesterday’s post, important disclaimers:
-
I’ve used Racket heavily but not Clojure.
-
Opinions expressed herein are not those of my employer, were I to have one.
-
If indignation lasts more than four hours, please seek medical attention.
Day 2 with Clojure was much more fun! I didn’t hit speed bumps with tooling and workflow, so frequently. I was able to focus mostly on the code itself, which was wonderful.
For a slightly more realistic task, I decided to make a really simple function that, given a URL, would make a GET
request and return the value of the Server
response header (if any), and a list of URLs found on the page that are for other servers. The idea being, you could crawl from some starting point and accumulate some data about web server technology.