Thoughts on Programming
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.Read on →
If you’ve found a file opened with CreateFile() for writing only to be slow over a network, try instead opening for reading and writing. I ran up against this today and found it about 100 times faste.
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.
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.Read on →
Version 1.1 of CrazyPaint is now available in the App Store.
- Added iPad support.
- Added the ability to save the drawings to the photo album to email, print, or just keep them around.
- Improved performance.
- Added a simple About screen.
- Added support for older versions of iOS (iOS 3.0 or later).
Get it here.
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.