Philosophical Hacker
TalksRxJava O'Reilly BookNotes
  • A New way of Learning (Android Development)

    2016-06-11

    I’m working on a new way of learning android development. I call it “University Android.” The first lesson is available now. Check it out.

    android

  • Testing Strategies with a React/Redux Architecture

    2016-06-09

    In my last post, I briefly introduced the principles behind React and Redux. I said that React is about making what gets rendered to the screen a function of some view-state object. I also said that Redux is about making updates to the screen a function of the current view-state object and an action describing a user’s interaction with the view. In this post, I explore a benefit of a React/Redux-like architecture vis-a-vis testing.…

    androidtesting

  • How React-and-Redux-like Architectures for Android can make Testing Easier

    2016-06-08

    I think there’s a lot of value in seeing what else is happening, even if you’re not a master of one of those other languages. As long as you’re being exposed to it, you’re opening your mind up to different ways of approaching problems and solving problems and different techniques. Jake Wharton, Fragmented, Episode 6, 27:45-28:20 React and Redux are libraries that have taken the web development world by storm.…

    androidtesting

  • PSA: Dont Use Espresso Idling Resources like Google does

    2016-06-07

    Roman Nurik: …That’s actually one of the harder things with writing good sample code. People are going to be copying and pasting the heck out of it so you can’t take those shortcuts that you sometimes hopefully aren’t taking. Chet Haase: I always take the shortcuts. That’s one of the more interesting things that the developer relations group does in general…we will put together tests and sample code for the features that we work but we really don’t have the time to dive in deeply and do it in a real context.…

    androidtesting

  • Process vs. Procedure Recursion

    2016-04-06

    Just because a procedure is recursive, doesn’t mean the process that it generates is recursive. A procedure is recursive when that procedure refers to itself in order to evaluate. (defn factorial [x] (letfn [(fact-iter [product counter max-count] (if (> counter max-count) product (fact-iter (* counter product) (inc counter) max-count)) )] (fact-iter 1 1 n)) ) fact-iter, in the above code, is a recursive procedure, but the process it generates is not recursive.…

  • Abstraction, Scope, and Bound Variables

    2016-04-06

    Here’s my big take away from sicp section 1.1.8: Abstraction requires Scope and Bound Variables Procedures (or functions or methods) let us abstract our code. Abstraction is about dividing our program into identifiable tasks that can be reused in the construction of other (identifiable) tasks in our program, which can in turn be used to construct more complex identifiable tasks, etc. In order for procedures to enable us to abstract our code, parameter names of a procedure must only have meaning within body of that procedure.…

  • Sicp 1.1.1-1.1.7

    2016-03-29

    Today was my first work day at the Recurse Center. Yesterday, I found out that there’s an SICP study group. I’ve been wanting to study SICP for a while now, so naturally I joined. What follows are my thoughts and key take-aways from sections 1.1.1-1.1.7. Declarative vs. Procedural Knowledge Abelson et al. open the book with a really interesting distinction between declarative and procedural knowledge. Moreover, they suggest that the most significant achievement of computer science is that it provides a way for us to study procedural knowledge.…

    sicp

  • Testing Package Implementation from 'the Outside'

    2016-02-03

    Sometimes you need to test a package’s implementation from outside of the package containing the implementation you’d like to test. This post briefly covers why this need arises and how we can meet that need. Much of the information here is already covered in Andrew Gerrand’s testing techniques talk, so if you’ve watched that, you’ll probably only think the last section of this post is interesting. Why? Like I just said, sometimes you need to test a package’s implementation from outside of the package containing the implementation you’d like to test.…

    go

  • Table-driven tests with Gomock

    2016-01-23

    Table-driven tests are a common testing pattern for go tests. Since I recently started working with gomock, I wondered if there was a way to use table-driven tests with gomock mocks. It turns out that this is definitely possible, and that’s what this post is about. Before I show how to combine table-driven tests with gomock mocks, I briefly review how gomock and table-driven tests work and I try to show why you might want to combine table-driven tests with mocks in the first place.…

    go

  • Integration Tests in Go

    2016-01-22

    Although Go has support for testing built in to its toolchain, certain kinds of testing can be a bit tricky. For example, it may not be immediately obvious how you would go about writing and running integration tests in go. This post contains info on how to write and run integration tests for your go code. Clarifying Terms As I’ve said before, many terms in software are vague or ambiguous. So, before I get into how to write and run integration tests, let’s make sure we’re referring to the same thing when we use the word “integration” test.…

    go

  • 11
  • 12
  • 13
  • 14
  • 15

© 2025 Matt Dupree