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
Thursday, May 12, 2016

The Lenovo Y700-14's trackpad is, as Ricky Gervais keeps saying about cellphone carriers as I try to watch the NBA, rubbish. Seriously, it's crud. And coming from a ThinkPad, the drop in quality is pretty stark. Not only do I lose the TrackPoint, I've lost the precise pad and two pairs of discreet mouse buttons.

The worst thing with the Y700 trackpad is the clicking. There are no discreet buttons, and instead it has annoyingly mushy corners that you press for right and left click.

You can turn on tap-to-click for left click, which is a huge improvement when you're not dragging. (Unfortunately, I can't get "double tap and hold to drag" to work, even though it's on  in the control panel.) Even then, you're still stuck clicking the mush for right-clicking.

It's easy to use the control panel to set up "two-finger click" to right click, but you still have to click through that mush with your two fingers to get it to work. That's not great.

To get two-finger tap (vs. click) to right-click, you need to edit the registry. I've tried a few different combination, but this one actually seems to work:

1. Open regedit
2. Goto - HKEY_CURRENT_USER\SOFTWARE\Apls\Apoint\Gesture
3. Edit 2TapShow set value to 1
4. Edit 2TapSupport set value to 1
5. Edit 2TapSetting set value to decimal 13 (hexadecimal d)
6. Do the same for HKEY_LOCAL_MACHINE\SOFTWARE\Alps\Apoint\Gesture
7. Restart machine

Voila. Enjoy. Thanks heavens.

I should point out many places claim that you don't have to perform step 6 to get things working, and suggest that 6 only makes it work for every user, not just yourself. But I think, at least with this laptop, you really have to do 6 to get it to work at all. It didn't work until I did, at any rate.

Still stinks to drag, but everything else is bearable to do with the trackpad now. Now if I could just improve the clicky-but-imprecise keyboard too...

Labels: , ,

posted by ruffin at 5/12/2016 08:12:00 PM

Letting Gmail be your default mail client in Chrome is a little hipster...

Step 1: [Go to] in Chrome and click the Protocol Handler icon overlapping-diamonds in your browser's address bar. 

Then click that little symbol, probably on the right, next to the "favorites" star, and the rest is cake.  But if you didn't know about that little symbol, well, it's much more difficult. ;^)

Labels: , ,

posted by ruffin at 5/12/2016 08:27:00 AM
Wednesday, May 11, 2016

Left a quick note over on the CNET Cheapskate that I thought I'd repeat here, edited slightly:

Idk. Most of the time, even the "real" reviewers that get items for free or less than full price often seem to give inflated grades. Even when they put in some serious time making sure the review has good production values, I'm not sure they always use the product representatively. There seems to be a real crunch on time, as if they had too many items to review, and they miss too many important things about products you only get from being a daily user for at least a week or so.
You might be one of the good ones (there's no reason a priori that they can't exist -- if you've got a good bell curve, count me impressed), but in my unscientific-yet-increasingly-vast experience, compensated reviewers do not leave reviews as useful or as honest as the best reviews from actual purchasers, and it's those first not-quite-earned 4-5 star reviews that really drive sales. It's an ugly business, overall.

Labels: , ,

posted by ruffin at 5/11/2016 10:48:00 AM
Monday, May 09, 2016

Gruber weighs in on the rumored iTunes reboot:

What do you see when you open the Spotify or Pandora apps? Just the streaming music you have access to. That makes them less complicated, by definition. “Everything you see is in the cloud, and you have access to it because you are a subscriber” is easy to understand. “Some of this is in the cloud, some of this you own” is more complicated.

He's joining a reasonably long list of Apple pundits with the request to split Apple Music into its own app, the most recent I can think of offhand was Jared Sinclair, whose step two of four ways to reorg Music was, "Bye, Bye, iPod - Break out all the legacy iPod features into another app."

The worst part is that, sort of like the Big Jennifer Null stuff I've mentioned recently, the iTunes confusion really was preventable.

Gruber leaves the door open on the preventable part, saying,

Maybe there’s a way to design “all your music in one app” that is completely clear, convenient, and obvious.

The four sets of Apple Music

Well, the idea Apple had was bang on. It shouldn't matter where your music lives, you should be able to sync it all. There are really only four sets of music files from iTunes' perspective:

  1. Files that you brought to Apple music (no DRM)
  2. Files Apple thinks it's matched from 1.) on another of your devices (no DRM)
  3. Files Apple didn't match from 1.) and allows you to copy to your other devices via their cloud (no DRM)
    • This is really another version of 1, just copied to a new device.
  4. Files you've only ever gotten from an Apple Music subscription (DRM)

Doomsday hub with covered red button

Apple should keep 1.) around like those files are gold. Never let the user whack those without going through some sort of "locked button with cover" removal process. As Jason Snell points out, there's a real UI issue here, but also a serious functional one. "Remove download" should never throw your original files in the trash. Warn that those are files that you brought to Apple Music, and that deleting them will irrevocably remove the originals. And even then, after they're deleted, make sure users can redownload matched versions at the worst, if they were matched, without DRM, until their subscription lapses. Better is to immediately create a backup of that original file, though I realize there are cases where the user might really rather that original disappear immediately.

Files from 2.) should similarly always be downloaded without DRM. There should also be the possibility of saying, "That's a bad match; give me my original file." Maybe in version two you let the user pick from other possible matches, and then you cloud source the right matches after you get a better idea what goes where.

Files from 3.) are pretty simple. You didn't match 'em, so you let folks copy them anywhere they are logged into iTunes. It's pretty much what Dropbox does.

For the fourth, well, the only real gotcha is when they really do match something from 1.), and Apple mismatched it. But then you've already got both files. If someone tries to delete their original because it's now "duplicated", you should send them through that "locked button cover" process, and possibly have a, "duplicate match" reason there. Then you should delete the file from 4, not 1.

Note that there's another category that we're going to ignore to make things simpler -- things that should be matches that aren't matched. I'd provide a mechanism to say when something's mismatched, but if there isn't a match found and should've been, having the original file from 1.) on another machine isn't too bad. That is, there's Category 5: Things Apple should've matched with AACs they have on file and didn't. Instead of providing a way to say so in order that you get more 2.), just leave them in Category 3 until you get everything else straight. That often happens now, and it's fine.

When your Apple Music subscription lapses, you should probably also be given a final download session (that could take weeks to finish), possibly even on more than one device. "Your Apple Music subscription has ended. Would you like to download your matched and/or original files that are currently missing on this Mac/PC?"

Notice that the first three categories make up iTunes Match.

iTunes Match should've let Apple know that they weren't doing a great job of providing its eponymous function -- matching -- and they really needed to make sure they could get 1.), 2.), & 3.) right before going whole hog into a unified Apple Music. But it's still just a database management problem. They "simply" should have been much more defensive with Apple Music for when matching failed. If your user doesn't have a file three places, don't delete it.

But as long as you have a space for a flag on each file to say which it is -- an unDRM'd original*, an unDRM'd "likely match", or a DRM'd file that's never been matched -- you don't have this trouble.

It takes some great QA, but it's a straightforward, at worst tedious, process. I could make such a system without the issues Apple's seen in, let's say, six months, and I could recommend a good five or so folks that could as well.

  • "UnDRM'd" could also included files purchased before iTunes removed DRM.

Labels: , , , , , , ,

posted by ruffin at 5/09/2016 12:42:00 PM
Thursday, May 05, 2016

So here I am, happily streaming songs from Prime via Amazon Music, when I hear a song from Garbage I know (#1 Crush*). I know this isn't in my favorites playlist on iTunes. Why not?

I check, and sure enough, it's a B-side, and I haven't shelled out for the Garbage 20th Anniversary Super Deluxe edition. ;^) So let's see if I can just buy the single file to "add" to my plain wayne version of Garbage (the album).

Search a little, and...

#1 Crush Garbage -- nothing

Nothing. I tried a few other options, and still nothing. Lots of crush, not so much crush from Garbage. That's interesting.

Surely (Shirley?) they have the song, right?

why yes, yes they do have the song

Yes they do. And now I'm previewing it. (See it, down there at #18?)

This is as bad as the "Big Jennifer Null" problem I blogged about a while back. THIS IS NOT LITTLE BOBBY TABLES. It'd be bad enough if it was, as even "real" SQL injection should be caught by anyone worth their salt these days. But not being able to search for special characters? No, past that, not being to able to find a title that contains special characters? That's just sad. Unforgivably sad.

It's not difficult to search for a string that begins with "#", dang it. Grow up, Apple. I'm dying to fix this. Please let me fix this. As I said before about J-Null, this isn't Little Bobby Tables. This is stoooopid.

Insult to injury? When I started writing this, iTunes decided it'd take 23.7% of my CPU. I'd noticed Garbage had a new release, and was on that page, doing nothing. Not playing any music on a page without even a rotating photo carousel (thanks a lot, Draper) takes 23.7% of my CPU.

iTunes CPU fail

Fail, Apple. That's a huge fail.

* Ha, I can't even make an affiliate link to #1 Crush.

Pro tip: Do not search for "Hooper Mix" on the affiliate link tool for the iTunes Music Store. Borderline NSFW. Thanks again, Apple.

Labels: , , , ,

posted by ruffin at 5/05/2016 11:02:00 AM
Saturday, April 30, 2016

With my DVR+, Apple TV, and Amazon Fire Stick taking up all of my TV's HDMI ports, I thought I'd take off the increasingly annoying Monoprice 3 mini HDMI switch and put the PS3 into the component video in. Voila! No more jumping up to swap from Apple TV to PS3.

One problem: Blu-Rays are windowboxed. That is, there are black bars on every side of the picture, and the picture is squished so that everyone is tall and skinny. Major fail.

If we go back in our time machines about five years, we can find out why:

"The new CECH-3000 series PS3 requires HDMI only for BD movie output in HD, in compliance with AACS standards," Sony told Ars Technica. "PS3 continues to support component output for HD gaming and streaming content." The restriction is just on high-definition video from Blu-Ray discs.
The strange part, then, is that the PS3 ever supported HD Blu-ray playback through component. Digital Foundry speculates that the rule didn't kick in officially until the AACS Final Adopter Agreement in December 2010, and thus only affects PS3s produced after then. That would mean that Sony (and pretty much every other electronics company) skirted its own rule for as long as possible. [emph mine]

Nice. Thank heavens I can't record the Blu-Ray with... well, with what I don't know... in full HD glory. For that, I'd need the net and a fast connection. So difficult to find those two things.

I hate DRM. I mean, I get it. Protect what you've got, and put a lock on to keep the honest folk honest. But the implementation is so shoddy. I mean, even Sony doesn't want to mind their own content protection rules. I wouldn't've even minded too much if the BluRay output was downsampled when it came out over component if they could do it cleanly, without screwing up the dimensions of the output (it looks like it's shooting for qHD, but I'm not sure why my TV would windowbox it skewed). I just want the blamed thing to display properly on my television.

Also managed to corrupt the hard drive somehow while I was doing all this testing. It's been a great couple of days.

Labels: , , ,

posted by ruffin at 4/30/2016 04:18:00 PM
Friday, April 29, 2016

I've done these enough now that I'd would've thought I'd have accidentally memorized it already, but thanks to the ease with which you can learn the exact syntax of any concept stuck if your head with a half-second of googling, I hadn't yet.

Anyhow, SQL Server object checks are pretty easy. All you need to know is...


Now you can leave out the object type and use the above for anything in your db:

    DROP VIEW myFreakinView;

Or you can use object types to ensure you're really getting the object type that you're checking for, in this case, a view:

IF OBJECT_ID('myFreakinView', 'V') IS NOT NULL
    DROP VIEW myFreakinView;

Seems I've listed these before...

SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = SQL table-valued-function
TR = SQL DML trigger
TT = Table type
U = Table (user-defined)
UQ = UNIQUE constraint
V = View
X = Extended stored procedure

In other news, my Y700 is supposed to show up today. Ordered yesterday, free shipping option, on the truck this morning. Not too shabby. Guess that's what ordering the preconfigured loadout does for you. Of course I don't think I'll be home when it arrives. ARGH. Oh well.

Labels: ,

posted by ruffin at 4/29/2016 11:36:00 AM
Thursday, April 28, 2016

I think I have a winner for the April 2016 MyFreakinName Programmer Laptop. I was looking for something that was relatively small -- the 14" class, so to speak -- and that had a reasonably powerful processor, as you may have guessed from my Programmer Laptop Shootout: Processors post.

Also keep in mind that I've never spent a "lot"^ on a laptop. My ThinkPad T430 was about $1000-$1100, and I purchased it because it was sooooo much less expensive than a MacBook with similar specs. For the last three years, that's been a great choice.

Which is just to set up the decision criteria...

  • Emphasis on maximizing a quad-core, fast processor.
  • Ability to upgrade to more than 8 gigs of RAM.
  • 1920x1080 or greater resolution
  • Reasonably inexpensive -- all equal, cheaper > featureful

I'm afraid my desktop's i7-4790K (11206/2529) has made me greedy. Wow, it's fast.

Top Candidates

Old laptop (T430) CpuBenchmark: 3998 multi, 1626 single

  1. Lenovo ThinkPad T460p: $1100 as spec'd (includes 3rd party RAM)
    • CpuBenchmark: 6443 multi, 1932* single
    • A 14" ThinkPad modified to hold a quad-core processor
  2. MacBook Pro 13" $1100
    • CpuBenchmark: 4375 multi, 1716 single
    • Either a current gen at $1100 refurb, or
    • ... wait for new one in a month or two
    • But $1100 is only 8 gigs RAM; $1269 (!!) for 16.
    • Dual core only.
  3. Alienware 15 R2 $1200
    • CpuBenchmark: 5734 multi, 1643 single
    • This category really means "any gaming laptop"
    • Eyed the Razer Stealth & Asus & MSI options

The ThinkPad was my first choice for a long time (see below for when that changed). The MacBook Pro was too expensive and didn't have two of my criteria -- more than 8 gigs of RAM & a quad-core processor. You could fix the first, but then you're at $1270+. The Alienware was simply too expensive. The Razer Stealth was affordable ($1k), but had the same issues as the MacBook Pro: anemic processor and soldered RAM. Other manufacturers generally had their most attractive hardware in a 15 or 17" case. 15" would be okay, but then you're paying at least $100 over the ThinkPad and losing the thumbprint sensor and TrackPoint. I'd rather save the money and keep the ThinkPad keyboard.

The Asus ROG GL552 (review here) is pretty tempting at about the same price. For $1000, it has USB-C, an i7 6700HQ, 16 gigs of RAM, GeForce GTX 960M, and even a num pad, maintenance hatch, & an optical drive. Reviews on Newegg aren't great, however. Doesn't seem to have the best build quality, but great specs for the price.

So I'm back to the ThinkPad. Yet the ThinkPad is hampered a little in that, first, the i7 model still isn't for sale in the US and threatens to be several hundred bucks more expensive if you convert the Australian version's processor markup to $US. Second, the T460p throttles its processor's power from 45W to 35W to, as far as most reviewers and forum posters can figure, help with cooling. NotebookCheck claims that doesn't affect performance, but I don't see how it couldn't at times. Otherwise, the processor would be 35W.

The bottom line is that the quad-core Skylake doesn't really like being pushed into a T460 chassis.

It's also disappointing overall how little single thread performance seems to have increased since 2013. These are less than 10% gains in the CPU benchmark I'm tracking. Can that be accurate? Seems insane. If I wasn't getting a better screen too, I'd consider not upgrading.

If money wasn't an object, I think a 15" MacBook Pro wins easily. Runs OS X and Windows, and has great processor options. The build quality is excellent, including the trackpad and keyboard, and I bet it gets a USB-C port in the next revision. I just can't justify $2000 on a laptop, I don't think. If it was going to last me six years, maybe, but that's a lot of coin. Still, I think it's the smart choice, even moreso after they're refreshed in a month or two, for, let's say, a company looking to treat their developers The Right Way.

Enter the Darkhorse: $700 IdeaPad Y700-14ISK

But then, clicking around the Lenovo site and, I bumped into Lenovo's 14" "gaming" laptop, the IdeaPad Y700. Great processor, the same that's in the second tier, $1250 Alienware 15 R2, and it only runs $700.

I read through a few reviews of the Y700, but it was hard to find many for the 14" version. The most informative I could find was this one from There's also a pretty reasonable YouTube review here:

Best quote? "For fake carbon fiber, I think they did a good job."

There does appear to be a consensus on the laptop's cons.

  • The Radeon R9 M375 GPU is underpowered for contemporary games
  • The laptop is purposefully showy (fake vents, red accents, etc)
  • The keyboard is okay, but a little flimsy and not snappy
  • The trackpad stinks and it's difficult to make the hard clicks work
  • Only one video-out option, a single HDMI port
  • Smallish, unremovable battery, maybe 3 hours time.

Yet it has...

  • An i7-6700HQ
    • CpuBenchmark: 8030 multi, 1791 single
  • User upgradeable RAM and drives
    • Includes an m.2 slot for dual drives
    • +16 gigs from Crucial is $65
    • Max 32 gigs. Sorry, MacBook Pro.
  • A 1920x1080 screen
  • Even comes with eight gigs of RAM instead of the usual entry-level 4

Again, that processor is the same as the $1250 tier of the Alienware 15 R2!

Seems like a pretty good fit. I don't care about the graphics card; this is for work, and there even the M375 is much more than enough. Replace the hard drive and/or add an m.2 SSD, and you're off and running for around $800.

The low battery life worries me a little, I'm worried build quality will be significantly under the ThinkPad, I wish it had an option for a better screen (the ThinkPad I spec'd includes $70 to step up to 2560x1440 /swoon), I'm going to need to find my USB-to-HDMI adapter for another screen, and, even though I'm usually pretty comfortable with unconventional looks, I don't know that I'd bring it to an interview. Might keep the T430 around just for that... ;^)

Also wondering how bad the keyboard will be, as that's been one of the best parts of the ThinkPad. I actually got the ThinkPad USB keyboard in preparation for getting a MacBook so I could still have the TrackPoint handy, at least in the office. I wonder if the ThinkPad USB keyboard will fit over the Y700 keyboard with a right-angle micro type b cord, or if I'll end up trying the Bluetooth keyboard. This guy might be crazy, but I'm not convinced he's not crazy like a fox.

A final con: No Windows 10 Pro option. Right now, that'd run $140-$200 to "correct". Not cool. The only thing I really need pro for is Hyper-V, however, and I'm doing a lot less of that recently.

You know, I'm having my usual immediate buyer's remorse wondering if I shouldn't've shelled out another $200 for the USB-C on the Asus GL552, but I think I'm going to appreciate the Y700-14's portability. I mean, that's what you're really buying a laptop for anyhow, right?

Anyhow, that's too cheap to pass up. I'm biting. Far and away the cheapest phat Skylake quad-core I can find in a portable laptop. Man, I hope that keyboard doesn't bite me back.

^ A "lot" of money for a laptop is pretty subjective. I bagged a Lenovo IdeaPad Y100 (?) for $150 a few weeks back, and though it doesn't have enough hard drive space for Visual Studio and the Win10 SDK, it's plenty to do web programming or console/Powershell work. You could actually make a living with it, and I keep it in the car for "emergencies" when I'm caught laptopless. But $1200 seems to be my comfortable max for a "personal" business laptop.

* Again, as I said on my "Processor Shootout", that single-thread score for the i5-6440HQ doesn't jibe with expectations or its scores at Geekbench. I think it's wrong and/or not based on enough samples.

Labels: , , , , , ,

posted by ruffin at 4/28/2016 10:06:00 AM

Support freedom
All posts can be accessed here:

Just the last year o' posts:

Powered by Blogger Curmudgeon Gamer badge