This version of the site is now archived. See the next iteration at v4.chriskrycho.com.
Filed under: “Posts”

Something you should never do, but which did provide some hilarity for us today:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (idate < 65535)
  {
    CTime itime = CTime::GetCurrentTime();
      iyear = itime.GetYear();
        imonth = itime.GetMonth();
          idate = itime.GetDay();
            icurdate = (iyear - 2005)*512+12800 + (imonth*32 +1) + idate;
              if(icurdate > tdate)
                {
                  sprintf(str, "Key Expired");
                    MessageBoxEx(m_hWnd, str, "Error", MB_OK,LANG_ENGLISH);
                      exit(-1);
                    }
                  }

The whole 1500-line module was written up that way. Why? We have no idea. It’s better now. Less funny, but better.

PSA: Android browser and soft hyphens

The default Android browser does not love soft hyphens (Unicode: U+00AD, HTML: &#173; or &shy;). This means, for anyone using the good old PHP Typography tool or its WordPress plugin equivalent, wp-typography, that you’re in trouble if you have mobile viewership at all. While it’s nice to have a sensible hyphenization algorithm at play – the sort that can prevent widows – it’s a bad idea to be running anything that doesn’t support mobile these days. Read on, intrepid explorer →

Four Theses on Responsive Design

A friend and fellow web designer and developer (indeed, someone who gets to do a lot more front-end design) recently asked me,

Chris—what do you think of “responsive” layouts? I’m not a big fan. In theory, it’s a good idea. But it makes it difficult for ad placement, and in practice, I don’t know that anyone really needs five different “views” for a site based on browser width/height.

So, some thoughts from a guy who’s done a lot of reading, a lot of watching, and – alas – a lot less actual implementation than he’d like in the last year. (In other words: take these words with a grain of salt; they’re observations on watching others in the process as much as they are born of my own experience.)

I think responsive design is a great idea, but it has to be done carefully and thoughtfully, especially when considering ad placement. Read on, intrepid explorer →

Custom Fonts on Kindle

The standard typeface for the Kindle, Caecilia, works well enough: it’s a well-designed, high contrast slab serif that matches the needs of the low-contrast, low-resolution Kindle screens well. It’s also not even close to being a really great reading face. The new Kindle Paperwhite has gorgeous typography, by all accounts, but if you have an older Kindle, you don’t have to buy a new one to start getting some of the benefits of better typography.

I recently discovered that it is possible, with a fairly small amount of effort, to put whatever fonts you like on your Kindle, without jailbreaking. Here’s how. Read on, intrepid explorer →

PSA: jQuery Validate 1.10.0 ‘accept’ method

Just an FYI for any other potentially confused developers out there: the jQuery Validate plugin’s documentation is out of date as concerns the accept() method: I just spent an hour trying to figure out why accept() it isn’t working… Of course, it works just fine, but I was missing an important piece of the puzzle.

Though the method used to be part of the main validation plugin, this is no longer the case. The method still exists, but it is now part of the additional-methods.js. Accordingly, if you try to use the accept() method without including the extra file, you’re going to see the error message Cannot call method 'call' of undefined in your Javascript console.

The additional-methods.js script is part of the standard zip file download – it’s just not necessarily obvious that you need to include the extra file to make the method work. Hopefully the documentation will get updated soon so others don’t spend a bunch of time trying to figure out why a basic method isn’t working!

Dear Avid: Please Sell Sibelius

Dear Avid,1

Monday, after noting that my copy of Sibelius 5 would not install on my new MacBook Pro – no surprise, it is after all 5-year-old software – I looked for some solutions online. It became clear that I wouldn’t be able to get it going, so I started looking at upgrading to Sibelius 7, about which I’ve heard many good things. Upgrading was an easy decision: I’ve had nothing but good experiences with Sibelius since I bought a copy of Sibelius 3 back in 2004.

Along the way, I stumbled on this blog post by Daniel Spreadbury. Curious what he meant by “the recent news about Avid’s corporate restructuring”, I followed the link.

By now, I’m sure you can see where this is going: like many other long-time Sibelius users, I’m more than a bit disgruntled by the news. Read on, intrepid explorer →

Don’t Sell (Out)

Today, it came to my attention that Avid, maker of various audio and video processing tools – tools you’ve heard of if you’re in those industries, high profile names like Pro Tools – has closed down the main office responsible for developing Sibelius and sourced the development to a team in the Ukraine.

Nothing against the Ukrainians, but shutting down the London development office responsible for nearly two decades and replacing it with a team a third its size does not bode well for future development.

Box art for Sibelius 7

This came out in as underhanded a way as possible, with the sorts of PR doublespeak and carefully prepared press releases I’ve come to expect from large corporations. Avid’s statements indicated that they were consolidating their engineering efforts in order to save money. Since Sibelius seems to be quite profitable, it’s clear that Avid is choosing to bleed the product to support its other goals. This move, in other words, reeks of bean-counting trumping any love of product or any real concern for the customers that have invested in Sibelius over the last several decades – invested more than money. Read on, intrepid explorer →