Tagged: programming

Prioritized Experience Replay – Open Question
I have an open question about Prioritized Experience Replay from [Schaul15]. From my experiments, it seems that an equation in the publication is wrong, but maybe I’m overlooking something. I’d appreciate input.

Gym Experiments: CartPole with DQN
To introduce ourselves to reinforcement learning with Deep-Q Networks (DQN), we’ll visit a standard OpenAI Gym problem, CartPole. We’ll cover deeper RL theory in a later post, but let’s get our hands dirty first, to build some intuition!
The complete series can be found on the bottom of this post and the latest version of the GitHub repo can be found here. Be sure to get set up before you begin.

Gym Experiments: Setting Up
Kicking off a series of posts on OpenAI’s gym environment, I’ll cover some light bootstrapping to get us up and running more quickly. I promise, it will be short and sweet! I’ll be referring back to this from later posts in the series.
The complete series can be found on the bottom of this post and the latest version of the GitHub repo can be found here.

Syntactic Archery
Something that trips me up occasionally in C# is syntactic sugar with properties. Specifically, the difference between the fat arrow (=>
) and assignment (=
) with properties. Here’s a quick note to help clear up any confusion.

Elm Animation Showcase
Here’s a quick demo of a showcase set of Elm animations. Check out the GitHub repo under the Showcase
directory; run the app from the top-level Showcase.elm
module.
I’ve been meaning to publish a full-featured post for a while, but I’ve gotten bogged down in my studies once again. In the interest of not letting this content get too stale, I’m simply publishing what I have.
This expands upon the prior work I’ve blogged about, with some modifications. At the time of this writing, it demonstrates how to wire up two separate components, each with a collection of different animations (some of which are keyed off of one another, or off of other actions). The two components transition back and forth, too.
- The first component is an animated username/password form.
- The second component is an animated list of items.
At this point, pretty much all work starts from the MinimalModules.elm
file included in the repo and builds up from there. Just follow the comments and you should be able to hit the ground running, without worrying about the underlying piping.
I’ll likely expand this showcase set as I find time, but I won’t be updating this post.

Catching Completed Elm Animations
This post continues a series I’ve been writing as I toy with the mdgriffith/elm-style-animation Elm package. I’ve primarily been focused on both learning how to use the animation package, but as I’ve explored, there seems to be room for leveraging a higher layer of abstraction to more rapidly compose and deploy animations. Maybe things will work out, or maybe I’ll crash and burn. Either way, it has been a fun journey so far and I’ve enjoyed talking with the Elm community and the animation package’s author, Michael!
Let’s recap what we’ve covered so far. I’ll be mainly discussing changes that I’ve made to the previous code, so you’ll want to take a look at these posts (especially the first post) before we begin.
- In the first post, I discussed a basic framework for Elm animations that seemed to have fallen out naturally as I was manipulating data types for composing animations.
- In the second post, I extended this framework to perform more complex behavior like swapping view elements for controlling transitions in flow control.
In this post, I’m going to explore detecting the lifecycle of animations and triggering commands based on that lifecycle.
Read on for details, or just grab the code from this Github repo and run with it. You’ll want to look for the FinishAnimation.elm
module.

Swapping Elm Animations
I recently wrote about a handy extension to layer animations on top of the standard Elm Architecture.
This post explores taking the basic animation framework and building more complex animations upon it.
Read on for details, or just grab the code from this Github repo and run with it. You’ll want to look for the SwapView.elm
module.