Posts tagged Racket

Using call/input-url

:: Racket, racket-cookbook

When I learned Racket, one of the first things I wanted to try was doing HTTP requests. And Racket’s net/url module is great.

Racket was the first real Lisp/Scheme family language I ever learned. As a result I was focused on building blocks like ports, and assuming I would need to open and close them directly all the time. At that early stage, I also didn’t really appreciate the value of higher-order functions. So I overlooked the value of call/input-url. I sometimes see other folks do the same, and wanted to write this short blog post.

Skim or sink

:: software, Racket

In my experience, the way to become a better programmer is to:

  • write lots of code
  • skim lots of reading material, and
  • defer answers until you have questions.

To learn why you should skim this post, please read it carefully.

Using Travis CI for Racket projects

:: Racket

(Updated 2014–06–06)

Travis CI is a continuous integration service for open source projects that has nice integration with GitHub.

Whenever you push a commit to GitHub, a build/test can launch. Notification of the result comes via a variety of methods. Also there’s a “badge” to show the build status, which you can link to in your README.md.

Chromebook Pixel

:: Google, Linux, Racket

I’m writing this blog post on a Chromebook Pixel. In Emacs. On Ubuntu, as a chroot, thanks to crouton.

Why do I have a Chromebook Pixel? Google gave one to every Google I/O 2013 attendee.1

Although I was happy to get such a cool new gadget, I honestly wasn’t sure what I’d do with the thing. I really like my MacBook Pro Retina and wasn’t looking for an alternative. Also, although I love web apps and 45% of my day is in the web browser, another 45% is in Emacs using Racket — what about that?

The ~> Threading Macro

:: Racket, Clojure, macros

Although I prefer Racket, there are a few idioms from Clojure I like. I’m particularly infatuated with the threading macros, -> and ->>.

I was surprised how little documentation I could find for these. So although I’m writing this for Racketeers, it’s possible a few Clojure folks might find it interesting, too.

feeds2gmail

:: Google, Racket, Atom, RSS

Recently I wrote about my my Google Reader successor, using rss2email to push feeds to Gmail.

In the month since, I was still running it on my laptop. To make it work best, it should run on a dedicated server. That way, it would push emails even if I’m away from my laptop, and I could read them on e.g. my phone. But before committing to setting this up on Amazon EC2, I wanted to be sure I liked the approach.

A guide for infrequent contributors to Racket

:: Racket, Git

Do the following apply to you?

  • Maybe you want to contribute something to Racket: You’d like to improve the documentation, or you’d like to add a small feature.

  • Maybe you’re comfortable with Git, but haven’t made a pull request before.

  • Maybe you’ve made a one-off pull request, but haven’t tried to contribute to the same project over time and stay in sync with the upstream project.

If so, you may find my guide helpful. I was hopelessly confused about how to handle the branches and merging. After I figured it out, I wrote this down in a Gist as a note to my future self. Today I figured I’d dust it off and make it into a blog post.

Planet vs. the new package system

:: Racket

Recently I’ve shared some new libraries using the new package manager, but not uploaded them to Planet.

What about my existing Planet libraries? Yesterday Danny Yoo pointed out a bug in the Dynamo module of my Amazon AWS library on Planet.

The bug wasn’t present in my GitHub repo—I’d neglected to go through the steps of making a new version and uploading to Planet.

By contrast, with the new package manger, it would have been automatically up-to-date.