Thoughts on Programming

May 12th, 2012

I’ve been working on another project that I haven’t yet written about: Randomized Image Matching. At a high-level, this project uses a greedy algorithm with simulated annealing to reproduce an image using overlapping semi-transparent polygons.

Apr 29th, 2012

A few months ago, stared noticing how consistently slow my blog was. More than 3 seconds per page load is just terrible. That’s slow enough that some people would think the site just isn’t working and would navigate elsewhere. Being an engineer, I decided to see what I could do to improve the load times without paying a ton for fancy hosting. This a list of things that I used to improve this blog’s performance.

When an application creates a file across a network, it is better to use GENERIC_READ | GENERIC_WRITE for dwDesiredAccess than to use GENERIC_WRITE alone. The resulting code is faster, because the redirector can use the cache manager and send fewer SMBs with more data. This combination also avoids an issue where writing to a file across a network can occasionally return ERROR_ACCESS_DENIED.

Jan 8th, 2012

I’ve updated StudyPlannr with some new slickness. Now, most schedule editing operations don’t require page reloads since they use cool AJAX stuff. Behind the scenes, I’ve updated to use new the python 2.7 GAE runtime and the high-replication datastore.

Oct 22nd, 2011

One of the big announcements this week is Google Dart, Google’s new language that’s aimed at replacing or at least supplementing JavaScript. I haven’t tried it out yet (I’m waiting until it is at least implemented in Chrome), but I’m so far pretty optimistic about it.

Sep 3rd, 2011

If you’ve spent much time working with WPF or Silverlight, you’ve probably run into the MVVM (Model-View-ViewModel) pattern before. It’s probably the most popular pattern for designing WPF/Silverlight applications. In this series of posts, I’m going to go over what I’ve found to be the best way to structure WPF applications. The first post is going to be a broad overview of my take on MVVM and what I’ve found works best. Further posts will dive deeper into each section and start to explain why I’ve made the decisions I have. Any feedback, questions, or comments are of course welcome.

Aug 13th, 2011

CrazyPaint is now available in the App Store! It’s a very simple painting application that’s a bit inspired by Kid Pix. I’m using it to teach myself iOS development.

Version 1.0 took a while to get approved (submitted it last Sunday) so I’m already on my way to version 1.1 which includes a iPad support. I think the iPad will be much easier to draw on, but I unfortunately don’t have one to test it out so I have to rely on the simulator.