MacBook, defective by design banner

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


descrip:

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 www.myfreakinfirst-andlast-name.com

Using 89% of the same design the blog had in 2001.

FOR ENTERTAINMENT PURPOSES ONLY!!!
Back-up your data and, when you bike, always wear white.
x

MarkUpDown is the best Markdown editor for professionals on Windows 10.

It includes two-pane live preview, in-app uploads to imgur for image hosting, and MultiMarkdown table support.

Features you won't find anywhere else include...

You've wasted more than $15 of your time looking for a great Markdown editor.

Stop looking. MarkUpDown is the app you're looking for.

Learn more or head over to the 'Store now!

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
0 comments
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. [emphasis mine]

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'm 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
0 comments
Wednesday, January 27, 2016

It's well past time. Gmail seems to finally be really merging the sort of intelligent, context-specific search Google provides for you on the web* with searching on

Now when you're searching for a frequent flyer number or shipping status (for example), Inbox will show it at the top of search results–no more digging through individual emails to find what you're looking for.



Underneath any quick answers, you'll see a "Top results" section that orders emails by relevance. Below that is all the email results, ordered by date, but chances are you won't have to look here often.

In my spare time, I'm still slowly slogging my way to creating a mail client I'd want to use, and these are the sorts of features that are going to be difficult to copy. Not impossible, but difficult. It'd be interesting to know if this code is shared somewhere else in Google, or if the Inbox team did it themselves.

The big advantage of being a one-person shop is that you can turn on a dime and release things without waiting for committees to sign off on design, function, branding, and reuse. But that opposite side is, of course, that you only have one schmoe working for you, and, at least in my case, that schmoe isn't going to have millions of people's worth of data from which to pull patterns.



* With the usual caveats: if you have a Google account, and it's turned on when you search, which many prefer not to do. I've used DuckDuckGo a bit recently. It's my default search engine on my iPad and a few browsers. It's not as good as Google yet, and I wonder how much of the advantage is due to these potentially privacy invasive moves Google can pull off.

Labels: , , ,


posted by ruffin at 1/27/2016 09:49:00 AM
0 comments
Thursday, January 21, 2016

I give up. I'm trying to sync playlists without iTunes Match on, and it's not going well. I think I'm just going to have to copy the entire iTunes library from one computer to another.

Here's an example of serious fail.


Hard to read, I know. Here's what's important -- I'm looking at exact duplicates ordered by "Album by Artist Year", and all those White Zombie songs at the bottom aren't duplicates.



Guess what they all are, however? Protected AACs, purchased while Apple still had DRM. I know, I know, I should have matched copies somewhere from using Apple Match for a while, but I don't have those files handy.

(Just for fun, also notice Rich Robinson's "Enemy", which also isn't a dupe, or at least isn't shown with its dupe, which it's supposed to. I give.)

I'm sure I have more Protected AACs. I'm not sure if I just haven't imported them (I'm trying to keep a subset of my songs on my work box) or if they're not turning up as "duplicates".

Either way, it makes me wonder how effective iTunes/Apple/Whatever Match is with the cloud if they can't even get QA for the client down right. /sigh /LE FREAKIN' SIGH I really, really want to write a stripped down player, but knowing that week-long project would take months before I was done, I have to resist. ;^)

Labels: ,


posted by ruffin at 1/21/2016 11:05:00 AM
0 comments

Who knew? Probably everyone but me, but it makes me happy. I always wondered why, if subqueries are 1970s tech at worst, why iTunes playlists didn't have them. Maybe I'm just UI illiterate instead. Accidentally found it wondering if the "..." was holding how to reorder the criteria (not that order is important functionally, but it's useful when you're comparing two playlist to see what's missing).


Labels:


posted by ruffin at 1/21/2016 10:38:00 AM
0 comments
Tuesday, January 19, 2016

I'm an idiot. I got the new Apple TV as soon as it was announced. I was ready for a better TV experience, and I thought, in part because of the famous Issacson quote of Jobs saying they'd finally "cracked" TV or whatever it was.

They haven't. The problem with counting on apps to fix TV is that the apps have to be good, and everything we're watching is still at best a beta, it seems. I can't stop getting, "This account has started playback on another device. You have reached the maximum number of concurrent streams," with the ESPN app, for instance, when I'm definitely not watching anywhere else. It seems to happen when I change ESPN streams... watching ESPN2 after ESPN or vice versa. It even made me reactivate my account a few minutes ago by logging in online on my laptop, but a few minutes of SportCenter later, I'm right back to "Playback Stopped. This account has started playback..." No it hasn't dang it! Strangely, I can plug back in my Amazon Fire Stick, open SlingTV, and start watching ESPN, no problems (other than the slowness from using an age old Fire Stick).

And the Showtime app has had serious trouble. If I navigated around too much, it'd stop playing. Not stopped working completely; I just couldn't watch any shows. Hitting the Play buttons would make the button look depressed and released, but no show. The only way to get things working was to reboot -- by unplugging the Apple TV and plugging it back in.

To be clear, after nearly forcing myself to give the Apple TV a chance for a few months, I'm back to using my Fire Stick as much or more for the services where there's overlap, namely the two above: ESPN and Showtime. Though the hardware is worse, and the interface is mostly worse[1], ultimately it does a better job, with less goofy bugs and random feed pixelation.

The Apple TV might be a great platform, but if it is, I can't tell. The apps are letting it down.

[1] I enjoy the Apple TV scrubber more than the fast-forward buttons in Showtime, for example. When you fast forward a show on the Fire, you see the time change, but don't get to see the screen "scrub" at all. VHS beat that, for heaven's sake.

Labels: , ,


posted by ruffin at 1/19/2016 11:20:00 PM
0 comments
Saturday, January 16, 2016

Gruber on how CPU hungry the iTunes Music Store is:

It’s easy to pick on iTunes, but this is pretty egregious.

No, no the iTMS isn't egregious. 35% of my (admittedly getting older, but no slouch) CPU just to play songs is:



How can that be? How did iTunes even run on my old iMacs? ;^)

No, honestly, what setting is it that's killing perf? Equalizer? Auto volume? Insane. Inexcusable. I do more on my box than just play music, you know?

EDIT: Nope. Took off Sound Check and already had the equalizer off. For a while, it was riding 38-40%. Insane.

To compare, somehow, Elpis manages to play music from Pandora at 3-5%, tops. Embarrassing.

Labels: , ,


posted by ruffin at 1/16/2016 12:48:00 PM
0 comments
Friday, January 15, 2016

You can see them here.

Or in a giant image here (click the image for full-size):

Labels: , ,


posted by ruffin at 1/15/2016 10:40:00 AM
0 comments

Nice of Windows to ask me, in the advance settings during my Windows 10 upgrade on my ThinkPad, what I'd like to use as my default browser, and then decide that I'm wrong.

Edge is the default in each of my logins, even though I selected Chrome.

Not a huge deal, and easy to fix, but it does make you wonder what other choices Windows 10 decided to ignore. In my best interest, I'm sure.

Labels: , ,


posted by ruffin at 1/15/2016 09:11:00 AM
0 comments
Thursday, January 14, 2016

You've got a personal blog. You post written compositions there.

You have a podcast. Maybe a few podcasts. You contribute to them. You release new episodes.

Your podcast has its own RSS feed. If I like it, I'll subscribe. If I don't subscribe, I don't want to see your podcast releases in my RSS reader.

Your blog has its own RSS feed. If I like it, I'll subscribe. If I don't subscribe, I don't want to see your blog in my podcast backlog.

Can you imagine having every one of your blog posts in your podcast feed? No. No you can't. At least not in a usefully sane world. Get the podcasts out of your blog rss.

If you want to remind me every few months of the existence of your podcast, please do by writing a blog post that explores a related subject differently. If you're not willing to do the written work, find another place to pimp your cast.

Blog readers thank you.

Labels: , ,


posted by ruffin at 1/14/2016 10:21:00 AM
0 comments
Monday, January 11, 2016

It's kind of a pain to save transparent layers in images when you're a programmer by trade and just want a few placeholder images. On the Mac, Paintbrush'll do it, but you've got to watch a YouTube video with the craziest background noise and grossest random colors ever to learn how.

You'd think there'd be an easier way on Windows, but for png, there's kinda not. Paint.NET is a common suggestion, and a good one. But wouldn't it be nice if IrfanView made it easy for you?

It doesn't. At least not with pngs. But with gifs? Child's play, as explained on this webpage from 2004:

  • Save as GIF - Choose GIF. Choose GIF - Compuserve GIF from the drop down menu.
  • Save as GIF - type in filename. Make sure that 'Save Transparent Color' and 'Choose transparent color during saving' boxes are checked. Type in the filename. Hit the Save button.
  • Set Transparency. Place your cursor anywhere on the background of the depicted image and click on it to save.

Check out this groovy how-to image. Groovy. But here's a screenshot I took, just because the llizard guy seems copyright paranoid:

And just to prove the point, here it isn't for png:

PS -- This may be a better option. Requires some setup, but then you've allegedly got transparency at a right-click in explorer whenever you need it.

Labels: ,


posted by ruffin at 1/11/2016 02:37:00 PM
0 comments

Apple apparently painfully undercounts Apple News usage:

However, Apple has mistakenly has been underestimating the number of readers using the News app since its launch, and passing that inaccurate information on to publishers, according to the WSJ.

Eddy Cue, Apple’s senior vice president of Internet Software and Services, told the publication that the company missed the error as it focused on other aspects of the product. The company didn’t explain how the problem occurred or say exactly when it might be rectified.

“We’re in the process of fixing that now, but our numbers are lower than reality,” he told the WSJ. “We don’t know what the right number is,” but he added that it was better to undercount than overcount traffic.

Sounds like a fail. The real red flags for me is the excuse-speak from Cue.
  • the company missed the error as it focused on other aspects of the product
  • it was better to undercount than overcount traffic.
No, Cue, it's best to get the count right. Saying, "We don't know what the right number is," is more worrying than encouraging. I understand protecting privacy, but this sounds more like poor programming -- an increasingly common mantra in Apple software design -- than privacy. Saying it happened due to "focus[ing] on other aspects of the product" pushes the buck well past programming to management.

That is, signs like these suggest that Apple software development is often-to-routinely poorly managed.

Is there a more important metric for your news aggregator when your business model is selling ads than reader count? What "other aspects of the product" were you concentrating on? Bugs QA missed? /sigh

Labels: , , ,


posted by ruffin at 1/11/2016 12:35:00 PM
0 comments

From Kirk McElhearn at MacWorld's "15 years of iTunes: A look at Apple’s media app and its influence on an industry":

The problem now is that those who want to use iTunes for its original purpose, music, find themselves stuck in a morass of features designed to sell, sell, sell product from the iTunes Store.

That about sums it up.

Labels: ,


posted by ruffin at 1/11/2016 09:57:00 AM
0 comments
Thursday, January 07, 2016

From Daring Fireball:

This is madness. Beats will almost certainly sell a wide assortment of Lightning headphones if the iPhone goes Lightning-only, but Apple has to include a pair of Lightning or Bluetooth earbuds in the box. It would be madness not to.

Ha. That's a good one.

Grubes, the iPhone's not even secondarily an iPod any more, Apple Music be damned. And who uses Apple earbuds in their iPhone? I haven't seen them in the wild for years, since iPods were still a thing.

EDIT: There's enough smoke about Lightning earbuds that I'm probably wrong above, but just like the ADB port in the iMac (or Firewire, or, well, everything but USB-C), I wouldn't ever tell someone Apple's scared to remove any conventional piece of a popular platform.

That they'd stop including pack-in earbuds and instead just sell you hard on fancier-pants add-ons wouldn't surprise me at all, especially with today's Apple. Honestly, though I keep a pair in my laptop bag for when I've forgotten every other pair, other than me when I'm forgetful, I haven't seen Apple 'buds in ears for years. Maybe it's still popular in high school or something?

Labels: , ,


posted by ruffin at 1/07/2016 10:18:00 PM
0 comments

If you have a contractor who is billing you for more than 45 hours a week and pretends that they have a life, any life, be nervous, very nervous.

I'm having a hard time billing for things that aren't obviously work (so I'm not). Some I worry about are no-brainers: eating, exercising, travel. Some aren't: Hardware troubleshooting, quick web surfing to take a break before diving back in, blogging about something you learned while working, or working on your own related-but-open source and public projects.

I certainly spent a lot of time troubleshooting hardware in other jobs, but that was hardware that was provided by the company. If they didn't feel like paying for better stuff and backup hardware for me to use while mine was being fixed, well, there's only so much I can do. (That said, I can and have done some stuff, like taking small, modular bits of work and setting them up on personal boxes while I was waiting if I had to.)

Also note when you're working alone, you have fewer built-in breaks. We might hate inefficient meetings, but one thing's for sure, you're ready to work when they're done. Or maybe you have a coworker who is bugging you with a question, and you're forced to get out of the zone. Or even just 20 seconds here and there for a few jokes. When you're a remote contractor, these interruptions that, strangely, also recharge you in many ways, simply don't happen.

Do you charge for the time you use to recharge that you were getting paid for (because they were culturally required) before? (To be clear, generally no, but I can see the argument for a reasonable amount it.)

Some things are closer to kosher, though, I think. I like to write reuseable libraries when there's not a great one for a project's specific use case, and experience tells me I'm going to spend more time shoehorning existing libraries to fit our need than it'd cost me to write something that zaps our needs with an ever-proverbial laser focus. But what do you do with that time? How much time do you have to spend on your own creating it before you can start charging to apply it to your current work? Isn't there some portion of the implementation that's billable?

And what about writing StackOverflow answers or blog posts about technical lessons you've learned while working? I've certainly benefited at jobs taking a second look at something I'd done months or years before, and I'm sure as heck benefiting from others taking the time, some of it work time, to answer SO questions "for" me. Isn't some portion of recording your on-the-job knowledge building billable?

Which is to say that I'd like to know what my contractor is billing me for, exactly, if s/he is billing for more than 45 hours and also seems to have a life. I know I have a good work ethic, if only because I've seen just enough folks at a number of workplaces to know, well, I'm no worse than average (I'm trying to stay modest here. You see how well that's working.)

If you figure 16 hours a day awake, 3/4 and hour for your morning routine (15.25), 1.5 more [total] for lunch and dinner (13.75), one driving (12.75), plus whatever "life" is -- two for evening wind-down and kids (10.75), half an hour writing a stupid blog entry (10.25), an hour or so with your SO (9.25-9.5)... we're already at just over nine left for errands, hobbies (like more programming, natch!), volunteering, and, oh yeah, billable work.

Nine times five is 45. If  someone billing 45 isn't putting in weekend work and seems to have a life -- any life, like they're a member of a WoW guild, or talk more than once about going out with friends, or watch a weekday sport, or listen to podcasts -- be suspicious. Be very suspicious. ;^)

Labels: , , ,


posted by ruffin at 1/07/2016 07:09:00 PM
0 comments
Monday, January 04, 2016

The new Snap in Windows 10 is nice. I'd been using WinSplit Revolution for years, through Windows 8 even in spite of the fact that it hasn't been supported for years itself. Its old URL seems to have a squatter now, pushing you to buy a new windows manager that's pay to play.

Snap isn't a horrible replacement. It does allow me to throw things to secondary monitors, etc, and position windows in at least seven different positions -- four corners, half screens split vertically, and default window. That plus Alt-Space, X means I've got most of what I miss.

What I hate, however, is the Snap Assist after you make a window fill half your screen, where Windows 10 decides you also have to pick the window that you want to display on the other half of your screen. This page says Microsoft said the following...

When arranging two windows side-by-side, we noticed in practice that this scenario frequently involved snapping the first window and then spending time wading through other windows on screen to find the second one to drag and snap. This insight lead us to ask: instead of making you hunt for the second window to snap, why not present a list of recently used windows up front? This is the fundamental idea behind Snap Assist in Windows 10.

No, no, heavens no. What a pain. I was starting to commit Windows-DirectionKey, Esc to memory, so it was high time to google a fix.

Luckily the fix is easy. Window, "Settings", Multitasking, and...


Now we're cooking.

It probably has something to do with the new i7-4790K and SSD, but wow, after a good, solid day working on it today, I really like Windows 10 so far.

Labels: , ,


posted by ruffin at 1/04/2016 09:00:00 PM
0 comments

Support freedom
All posts can be accessed here:


Just the last year o' posts:

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
* git repo mapped drive setup * Regex Tester
* 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


Powered by Blogger etree.org Curmudgeon Gamer badge
The postings on this site are [usually] my own and do not necessarily reflect the views of any employer, past or present, or other entity.