MacBook, defective by design banner

Put the knife down and take a green herb, dude.

One feller's views on the state of everyday computer science & its application (and now, OTHER STUFF) who isn't rich enough to shell out for

FOR ENTERTAINMENT PURPOSES ONLY!!! Back-up your data and always wear white.
URLs I want to remember:
* Atari 2600 programming on your Mac
* joel on software (tip pt)
* Professional links: resume, github, paltry StackOverflow * Regular Expression Introduction (copy)
* The hex editor whose name I forget
* JSONLint to pretty-ify JSON
* Using CommonDialog in VB 6 * Free zip utils
* that hardware vendor review site I forget about is here * Javascript 1.5 ref
* Read the bits about the zone * Find column in sql server db by name
* Giant ASCII Textifier in Stick Figures (in Ivrit) * Quick intro to Javascript
* Don't [over-]sweat "micro-optimization" * Parsing str's in VB6
* .ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture); (src) * Break on a Lenovo T430: Fn+Alt+B
email if ya gotta, RSS if ya wanna RSS, ¢ if you're keypadless
Wednesday, February 10, 2016

I've noticed recently that Feedly isn't doing a great job keeping what's read up to date across all of my devices, and there are a few. I read largely via browser when I take a break from work, on my iPad mini at home using the first-party Feedly app, and via Phonly on my Windows Phone, which I've been using to test apps and to bridge the time between when I sold my iPhone 5S and when I buy an iPhone 7*.

So lately I've seen things marked read reappearing on different devices. That's a pain. I wanted to tell Feedly, or at least see if that's more common recently on the forums.

Well, forget it. There's nothing. The "support" link gives you this...

... and that's completely fair. If you can't give $5.41 for support, what's the point? And for less than a fancy burger, I'm getting email and chat support for a month. That's crazy, you know?

Recently, I complained that I had too many podcast release announcements show up in my RSS feeds, and Jason Snell of Six Colors not only responded, but did something about it, dang it! An hour later, all the while telling me how useful the posts were, and how I was the only one complaining, he'd made me a custom RSS feed!

I wasn't planning on becoming a "patron", but when he requested it, it was difficult to say no. He'd wasted a cool hundred bucks, just to guess, of time on me. Couldn't I afford to give him half that back? Really tough to say no, even though the only thing I supported previously was Trace Ramsey, a great writer from NC.

(Now that said, I paid for Overcast back before it was patronware, tipped David Smith for Pedometer++, and purchased all sorts of podcast sponsor jive -- Fracture, Hover... something I forget... and eventually Linode, if I ever get off the tookus.)

The bottom line, though, is that Feedly is doing it right. I'm probably going to release the Markdown editor I'm writing as "serious" paidware ($5+) at first, even though -- no, precisely because -- it'll greatly reduce the number of users. I'd rather support 10 serious folks' feature requests than address 100 folks' pet peeves.

How invested are your customers, and which ones do you really need to help? If they aren't paying you peanuts, you'll lose more time === money replying to them in an email than you'll ever make back, more than likely. Build your core audience, and start by putting up a very conventional barrier to entry -- cash. It's sort of like the old, "Who is more committed to breakfast? The chicken or the pig?" bit. I want to listen to the pigs, to mix metaphors painfully.

Of course I still haven't paid Feedly so I can ask what's up. Or Phonly to get rid of the two banner ads it keeps running (its Twitter feed hasn't updated since 2014, fwiw). And that's the kind of user you don't want to waste your time placating#. ;^)

*I've got to say, going six and a half months without an iPhone has been more annoying than I'd thought. I mean, Windows Phone 8.1 is pretty good, much better than I'd expect. And now that it's got Crossy Road, I can't even complain much about games. But if I was a betting man (I'm not), I'd put some cash on me going for the iPhone 5se when it's released in a month. I'd like to think it's because I like the smaller phone (I think I do, especially with the mini to play GIANT phone when I'm at home), but it's probably, admittedly, partially due to impatience and partially to save a few hundred bucks. Still, I'd kinda hope I wait it out and get the "full" iPhone 7 experience.

Decisions, decisions, first-world decisions.

#Maybe. I mean, you never know how many of those folks will shell out after you help them, a la me and Snell. I used to email one developer about their app when I couldn't tell which to buy, and if they replied quickly, I'd buy theirs. Active support of any kind is worth something.

Labels: , , ,

posted by ruffin at 2/10/2016 10:09:00 AM
Tuesday, February 09, 2016

At what point are you checking in too many files as a single commit? I don't know, but I think more than twenty is getting really close.

I understand we like to have things working great before checking things in. I'm really bad about creating a "defensively written" feature and not checking it in until "it's at version 1.0". Admittedly, I'm unlikely to change that real soon, as when I'm writing this way, nothing I do impacts any existing code, and I usually maintain an independent repo somewhere with my feature in a testing framework as I develop. Then you add a hook to call it somewhere in existing code, check it in, and profit.

But if you're hacking twenty or more places that other folks are hacking too, you could potentially sideline someone for hours before they can reintegrate with whatever mental model you were using to create those changes.

You have to make bite-sized changes and check them in to your team's shared repo (so team-dev, if not dev proper) as you finish each mental unit of work. It's lots easier to eat a watermelon (Why watermelon? Well, really, who wants to eat an elephant? You have to draw the line on meat somewhere, right?) when it's cut up into bite-sized chunks.

Don't dump a watermelon on your repo, man.

Labels: , ,

posted by ruffin at 2/09/2016 01:00:00 PM
Monday, February 08, 2016

One of the serious disadvantages of having alpha software is that you need to already start dogfooding it. So if you're, say, writing a Markdown editor, you need to start using it to write you blog posts.

This is great until you find that you'd like to make a change to the app's behavior, which turns a quick 15-30 minute blog post into 15-30 minutes of blogging plus 90 minutes of feature refactoring.

Oh well. That's what you've got to do. I didn't like the way I was inserting quoted text or, rather, marking up a block of text as a quote, so I rewrote it for this post. Fun times. But wow, it's nicer. I like having elegant white space in my files, and now the app will ensure you have two newlines before and after a blockquote in your markdown. Simple enough, if it wasn't for insane UWP TextBox newline management. I completely rewrote how I was handling that so that I could access SelectedText, SelectionLength, and SelectionStart, etc with new properties in a subclass of TextBox instead of post-processing the wacky, non-platform native newlines in code outside of the TextBox.

And though this blog's "main" topic is related, let's move on...

Was checking out Rachel Andrew's free chapter from her book, The Profitable Side Project (hint #1: A Markdown editor probably isn't going to lead to Hats of Cash), which quoted this MVP (minimum viable product) definition from Jon Radoff from 2010:

The goal of a startup is to find the sweet-spot where minimum product and viable product meet

Obvious, it seems, but I think it's worth looking at "minimum" and "viable" on their own terms as independent characteristics of a product, and know that mvp isn't some concept that exists on its own. It is the intersection of these two sets, as his Venn diagram depicts:

Radoff's Venn Diagram

I think Apple's completely lost the ability to do this, btw. Read through Michael Tsai's run-down of recently reported problems with Apple Music combined with his run-down of Mossberg's post and reactions to see what I mean. Apple's stopped making viable software, and has grossly overemphasized minimum.

This bit from Jason Snell that Tsai points out is my "favorite", insomuch as a report of a horrible user experience can be a favorite:

First iTunes threw up a dialog box saying that the amount of iTunes credit had changed, so I would need to click OK and try my purchase again. (It’s a free app, so this entire experience is already pointless, but whatever.) I clicked OK and the Free button was now inactive. I typed Command-R to see if that would reload the iTunes page—no normal user would do it, but it worked because the App Store and iTunes is more or less a disguised web page—and then was able to click Free and download the app.

At some point in this process, the song I was listening to finished and another song began to play. It was a randomly selected track from my entire music library. The act of viewing the App Store had destroyed my music shuffle.

I really do think this is, as I've mentioned before (with all "Apple Fails" I remember to tag here), bad QA work at Apple. Nobody seems to be testing the edge cases. And when QA drops back this far, you won't get viable software.

At best, Apple is getting its dogfooding completely wrong. It's really sad how far quality has dropped in the race to be minimum everywhere. They've substituted Jobs', "We'll only support doing it our way, and we don't care who is inconvenienced," which allowed Apple to drop support for legacy techs and hardware at the drop of a hat for, "We simply won't care who is inconvenienced."

Folks, it has to be viable first... as Radoff says, that means a product that will "get people to fall in love with you". It's not something "crappy" that "nobody wants to use". The "Apple Way" used to mean they'd do it right -- loveably well -- no matter what. Man, I loved using MacWrite on OS 7 and 8. OS 8.1 was a great OS, even though it was so old you couldn't help looking at it and wondering when you'd have to put it down. But using it was great. That love isn't there with Apple software now for too many of us.

Anyhow, back to work before I start fixing bugs on my app again...

Labels: , , , ,

posted by ruffin at 2/08/2016 10:46:00 AM
Friday, February 05, 2016

I replied to a comment on 9to5mac that was embedded in a thread about Phil Schiller on the iPhone's paltry starting storage of 16 gigs. Here are a couple of bits:

Schiller will tell you ‘You can get iCloud storage which most people use these days’

As if mobile data is free and available everywhere

... followed by...

As if mobile data is free and available everywhere

It isn’t? I think it depends on where you live. In North America, South Africa and Australia, it seems to commonly have limited monthly usage and is paid per traffic transferred. In most other places, there are no transfer limits and you basically pay a flat monthly fee for a certain level of speed limit.

I'm not sure what places that comments is trying to say have these pie on the sky unlimited plans... I got the feeling that wasn't true in the UK and France, but could be conflating with overseas temporary SIMs. But this seemed to feed in fairly well with an older post of mine that said Apple wants you to stream tons, because it keeps iPhone use expensive.

I said more along those lines on 9to5, and figured I'd put that text here as well.

There's a close relationship between keeping iPhones as status items and linking them to expensive phone plans. I used mine with Ting, which is exceptionally low cost, but Apple would rather we kept shelling out for more expensive plans from the big four. Music streaming, cloud document storage, and, increasingly, video (esp cord cutters who have even cut the home Internet cord) mean iPhones users desire phatter data plans.

If people with money keep using iPhones, people will keep buying iPhones to look like they have plenty of money. Plans with lots of data is part of the cachet. Apple's going to continue to design phones to be used by those with enough expendable cash they keep expensive plans.

In other news, this is the first post made by my new Markdown editor. It's not even alpha yet, but we're getting close.

Labels: , , ,

posted by ruffin at 2/05/2016 10:08:00 AM
Tuesday, February 02, 2016

What do you think Stanford's annual operating budget is? ... It's 750 million dollars. Michigan's is over a billion. These are Fortune 500 companies disguised by another name, and a lot of myth.

This is from 1988. Wish I'd heard (and then, further, understood).

Labels: , ,

posted by ruffin at 2/02/2016 12:15:00 PM
Saturday, January 30, 2016

Remember when you got a new game, brought it home, opened it, slapped it into your console, and it immediately played? Remember when you got out an older game that you hadn't played in a long time, slapped it in, and immediately started playing?

Ah, those were the days.

I've seem other complaints about this, but for us exceptionally infrequent gamers, the current state of console affairs is atrocious. I plugged in GTA V into my PS3 to get in a few minutes of gaming during a quick break today. Forget it.

First, I had to download an update for the PS3. Now, a download, install, and reboot several minutes later, I'm downloading ELEVEN FREAKIN' UPDATES FOR GTA V!!1! Good heavens.

If it takes me 30 minutes to prepare to play, and I had, say, 20 minutes of free time, that equals... let's see... carry the one... NO TIME FOR GAMING.

The worst part? I played this game the last time I went through this dance to get things running, and... I enjoyed it! Why not let me keep playing from that version until you've got the downloads ready? So I miss some online content in some games, these games should have some idea of what it can offer me to pass the time while it gets the rest of itself ready to play.

There's no reason we can't download this crud in the background, and install it at 2am. Or, in my case, any hour between now and late next month, when I finally have a free 20 minutes for gaming again.

Here are the sizes of the update, later with times that my laptop said it was when I noticed the download started.

  1. 103 MB
  2. 142 MB
  3. 65 MB 9:02
  4. 94 MB 9:06
  5. 67 MB 9:06
  6. 1314 MB 9:07... 27% at 9:13 (my cxn is faster than this)... 44% 9:25
  7. 74 MB 9:30
  8. The previous might have been 8. I missed one here. Didn't feel like staring at progress bars forever.
  9. 113 MB 9:33
  10. 247 MB 9:35
  11. 77 MB 9:39
9:42, after some cloud stuff, I can play. OH NO, NO MORE FACEBOOK FEATURES?!?!!!

I wasn't paying attention to the time at first, and started installing the PS3 update before walking away, but I think 50 minutes to get GTA V online isn't an exaggeration.

Labels: ,

posted by ruffin at 1/30/2016 09:44:00 PM
Thursday, January 28, 2016

I've been depressed that my Macs won't display 2560x1440 on my 27" monitor. It's not a huge deal, and I realize I'm in an insanely small market -- folks using VGA based KVM switches in 2016 -- but rereading the "35 Days Against DRM" article I've got linked from the banner that's currently at the top of my blog again, I've started wondering...

See, it's not that you can't do 2560x1440 over VGA. My Lenovo and whitebox tower both do it, no problems.* And it's not exactly a DisplayPort issue, as you can get larger resolutions out in other, admittedly digital, formats.

So I'd assumed Macs don't do high resolutions over VGA for one of two reasons:

  • The driver wasn't written to support them (code to specifications)
  • The adapter simply doesn't have the guts to pull it off. 
And there's some very light, implicit support for Apple knowing they're self-inflicting this limitation in this Apple support FAQ. There's a question there explicitly dealing with max VGA resolution:

2. What is the maximum resolution available for use with the Apple Mini DisplayPort to VGA adapter?

The resolution available with the Apple Mini DisplayPort to VGA Adapter is 1920 x 1200. VGA displays that use higher refresh rates (such as 85 Hz) at resolutions of 1600 x 1200 or greater may not generate video properly until you lower the refresh rate. 

This question wouldn't be here if they didn't realize VGA can go much higher, which is no big surprise.

But is it really a case of either lazy engineers (bad driver) or cheap hardware (bad adapter)?

The other shoe

It makes me wonder if 3rd party USB-C adapters will be similarly limited. If my new guess here is right, they would.

I wonder if this isn't a DRM thing. From the FSF's page (pubbed in 2008):

The new MacBooks contain a hardware chip that prevents certain types of display being used, in an effort to plug the analog hole. Devices such as the HDfury can get around this, but this adds greater cost and inconveinience [sic] to what should be a relatively simple procedure.

I wonder if Apple's got some deal that makes it so that they can't allow analog high-definition output (or any content sans DRM) from their machines. That'd make some sense as part of their iTunes deals, perhaps. I'd also suspicious this is why Apple laptops lost their line-in port, so that you can't record what you watch/consume directly, so no Spotify rips, for example. Seems like another really small market, but it's one that Rogue Amoeba figured was worth pursuing, and recently.

Interesting to me that "cable-free" is included. /shrug

Guess we'll see. I'm tempted to take my monitor to the Apple Store to see if the MacBook 12" can use a third party VGA adapter now to output 2560x1440. Before, I was hopeful. After reading the FSF again today, I'm much less so.

* Okay, that's not completely true. The integrated graphics in my ASRock mobo, for whatever reason, wouldn't go 2560x1440, so I stuck a dedicated card (whose 3DMark score was lower than the integrated graphics!) in there which would.

Labels: , , , ,

posted by ruffin at 1/28/2016 09:54:00 AM

Support freedom
All posts can be accessed here:

Just the last year o' posts:

Powered by Blogger Curmudgeon Gamer badge