Capital Bikeshare app with React and Webpack

I put together this app to try out a few things together:

»
Author's profile picture Bill Schneider

Query cache without L2 cache

(I’m writing about NHibernate, but this applies equally to JPA in the Java universe. I’m not sure about Entity Framework.)

»
Author's profile picture Bill Schneider

Microservice first?

One argument I’ve heard for building microservices from the beginning is that, teams often lack discipline to enforce modularity and separation of concerns. A monolith usually turns into a “big ball of mud,” which is a problem. Starting with microservices forces teams to think about their module boundaries up front.

»
Author's profile picture Bill Schneider

Anonymous types, dynamic keyword and other reasons I like C#

A few years back I wrote about how I was starting to like C# better than Java.

»
Author's profile picture Bill Schneider

Screaming Architecture translated to practice

I like Uncle Bob’s post on Screaming Architecture.

»
Author's profile picture Bill Schneider

React.js and Components vs. Templates

“React is all about modular, composable components,” according to the tutorial. Riot.js emulates the React philosophy that “templates separate technologies, not concerns,” so they “focus on reusable components instead of templates.” As far as I can tell, Angular 2.0 embraces components as well.

»
Author's profile picture Bill Schneider

DC may not be the next Silicon Valley, but not because of college recruiting

(As usual, all opinions are my own.)

»
Author's profile picture Bill Schneider

React.js, JSX and readability

React.js is the new hotness in front-end JS frameworks, although I am having a hard time getting excited about it. I’m reacting (pun intended) mostly to readability concerns with JSX. I also have issues about slicing everything up into granular components, but that’s a topic for another day.

»
Author's profile picture Bill Schneider

Stupid riot.js tricks

I made a simple Riot.js application to try it out. My demo is as simple as it gets: it lets you add and remove items from a list, with a link to display an item from the list selected at random.

»
Author's profile picture Bill Schneider

Node.js with SQL Server

Yes, you can use SQL Server with Node.js. I added a Gist to show how it could work. I didn’t get to connection pooling or transactions, just enough to get a general feel.

»
Author's profile picture Bill Schneider

Combining coverage from unit and functional tests

You can combine test coverage reports from both unit and end-to-end functional (e.g., Selenium) tests.

»
Author's profile picture Bill Schneider

Overusing dependency inversion principle

A few days ago I wrote about overusing interface-implementation pairs.

»
Author's profile picture Bill Schneider

Cost of supporting old browsers, revisited

As I was starting to pick up blogging again, I came across a post I wrote over 10 years ago about having to put up with older browsers. It was kind of funny to see how back then, I was excited about IE 6 and this new thing called AJAX. Also, that back then, it seemed like a novelty to prioritize support for different operating systems and browsers based on real usage metrics.

Some things haven’t changed: old browsers are still a pain, and there’s still a sizeable number of users in various industries stuck on Windows XP and therefore IE8 – the US Navy is one of the more public examples.

»
Author's profile picture Bill Schneider

Foo/FooImpl pairs - stop doing it!

I was wondering why so many people are still creating interfaces for their class, instead of just creating the class, when there’s only a single implementation.

»
Author's profile picture Bill Schneider

Turtle graphics in Javascript

I found this project online to do turtle graphics in Javascript, just like we used to do with Logo in grade school. I made some patches to it and submitted as a pull request. You can play with it live here or here.

»
Author's profile picture Bill Schneider