private class HttpInterceptor implements Interceptor { | |
@Override | |
public Response intercept(Chain chain) throws IOException { | |
Request request = chain.request(); | |
//Build new request | |
Request.Builder builder = request.newBuilder(); | |
builder.header("Accept", "application/json"); //if necessary, say to consume JSON | |
Picking the right architecture = Picking the right battles + Managing trade-offs
- Clarify and agree on the scope of the system
- User cases (description of sequences of events that, taken together, lead to a system doing something useful)
- Who is going to use it?
- How are they going to use it?
package com.xwray.vectorbinding; | |
import android.databinding.BindingAdapter; | |
import android.databinding.DataBindingUtil; | |
import android.graphics.drawable.Drawable; | |
import android.os.Bundle; | |
import android.support.graphics.drawable.VectorDrawableCompat; | |
import android.support.v7.app.AppCompatActivity; | |
import android.widget.TextView; |
Spring/summer/fall (in order of distance)
- Daytrip list
- Tobermory swimming holes/grotto
- Bruce Peninsula National Park - you can book backcountry sites here. Very chill hike, but really beautiful. I came from the east parking lot and then got a ride back to my car, but you could definitely just park at the main campground, camp at site HD6 (or thereabouts), and then hike back the next day, as it was only about 12km from there to the main camp.
- Algonquin Provincial Park - I've only ever carcamped here, but there's a loo
- Build the Android Studio Project (Gradle Project) which exist on your Git repository.
- Upload the generated apk file to Slack.
- Name: YOUR-REPOSITORY-NAME
- Repository URL: [email protected]:XXX/YYY.git
- Provider: Github
- Source control: Git
- Project type: Generic
State machines are everywhere in interactive systems, but they're rarely defined clearly and explicitly. Given some big blob of code including implicit state machines, which transitions are possible and under what conditions? What effects take place on what transitions?
There are existing design patterns for state machines, but all the patterns I've seen complect side effects with the structure of the state machine itself. Instances of these patterns are difficult to test without mocking, and they end up with more dependencies. Worse, the classic patterns compose poorly: hierarchical state machines are typically not straightforward extensions. The functional programming world has solutions, but they don't transpose neatly enough to be broadly usable in mainstream languages.
Here I present a composable pattern for pure state machiness with effects,
import android.text.SpannableStringBuilder; | |
import android.text.Spanned; | |
import android.text.TextPaint; | |
import android.text.method.LinkMovementMethod; | |
import android.text.style.ClickableSpan; | |
import android.view.View; | |
import android.widget.TextView; | |
import java.util.ArrayList; | |
import java.util.regex.Matcher; |