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.

As an Amazon Associate, I earn from qualifying purchases. Affiliate links in green.

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!

Wednesday, November 30, 2016

From Tips for Writing Portable Node.js Code:

Bonus: Something that Breaks on Linux and Solaris!

Both Windows and, by default, OS X, use case-insensitive file systems. That means if you install a package named foo, any ofย require("foo")ย orย require("FOO")ย orย require("fOo")ย will workโ€”on Windows and OS X. But then when you go to deploy your code, out of your development environment and into your Linux or Solaris production system, the latter two willย not work! So it's a little thing, but make sure you always get your module and package name casing right. [emphasis mine -- mfn]

This is a problem when serving files by name with express' static middleware too. Argh. And check out this schmoe's problem, with a huge legacy php site migrating to Linux, from case insensitivity to case sensitive. Ouch. Can you imagine the tech debt there?

So what if you want to use Express to serve files from the filesystem on, I don't know, Ubuntu on linode [which uses ext4]? And what if you want folks to be able to access your privacy policy at both http://rufwork.com/Privacy/ and http://rufwork.com/privacy/?

Even worse, what if you told your app reviewer to try http://rufwork.com/privacy/ and that meant they had to reject your app submission now that you've changed servers? /facepalm

From MarkUpDown - Review Results:

Locations: mumduwp1.4.0.0x86x64_arm.appxbundle

Tested OSes: Windows.Universal

Tested Devices: Acer Iconia W700

Notes To Developer

The privacy policy link did not resolve to a functional webpage.

(>แƒš)

I've never liked it when I've typed in a URL by hand and got a 404 because I had one or two letters in the wrong case. I mean, it makes sense that case sensitive file systems are easier to maintain. It's just an end-use-case pain when you're serving files.

But URL case in Edge is broken too... ๐Ÿ™„๐Ÿ˜ฑ

And insult to injury? Microsoft Edge (Internet Explorer's replacement in Win10) "remembers" case when you retype a URL! What, wait? So I can't navigate to the "correctly cased" URL with Edge even if I want to -- and I wonder if I get the same reviewer(s) if this'll happen to them too.

(>แƒš)

How to fix it

How do you fix case sensitivity for express so that it's never a problem with ext4? Well, you could make everything in your filesystem lowercase, and then just always run request.url through .toLowerCase(). That seems pretty nuclear. Slightly better is to try the URL as requested first, and then do this...

From expressjs.com:

When a file is not found, instead of sending a 404 response, this module will instead callย next()ย to move on to the next middleware, allowing for stacking and fall-backs.

Still have to set the filesystem to a single case throughout, and then if you want to use mixed case in your URLs to make them easier to remember or what-have-you, you're creating a good deal of extra work for your server every time mixed case is used.

How bad is it to make your web server take a URL, not find it, then search the filesystem again for a lower cased version? It might be smarter/less work just to lowercase the string every time and ensure your filesystem is in sync. It has to be cheaper to lowercase the url every time than to hit express.static twice in 30+% of your requests, right? Kind of a pain when you're editing files and want to glance at human readable names, but I think that's the only other downside.

So I guess it looks like I get to go through and change the case of my website's files and folders to a single case. Right? Isn't that The Right Thing to do to approximate case insensitivity? Is it ever better for the end user to have a case sensitive http server? I don't think so. Seems unnecessarily processor churny and hacky to lower case the earth, but man, I hate case sensitivity for URLs.


That fishing metaphor that tells you I'm about to comprise my best intentions...

In any event, for now, I've decided to embarrassingly give the server a fish, I'm afraid.

if (req.originalUrl === "/privacy" || req.originalUrl === "/privacy/") {
    req.url = "/Privacy/";
}

That's probably worth a Unicode facepalm too.

I really enjoy using linode, though my needs are so small I might drop down to Digital Ocean's $5 a month plan if it's just as easy to administer. It's great having your own "box" on the net. So much more powerful than shared hosting. Feel like I was about a decade behind with hosts, but, boy, I'm caught up now. Wonder how long before I start using .NET Core on it...

Labels: , , , , ,


posted by ruffin at 11/30/2016 12:47:00 PM
Thursday, November 17, 2016

Recently I bristled at a fellow who implied that we needed to "touch" a MacBook Pro before critiquing it. Today I did. They're very nice. Very light, well made, great screen.

Here are some fimp-ish comments:

The Touch Bar is an extended replacement for right-click. I like it.

With the Touch Bar, most of what'd be in a context menu is already open, full color, waiting on you. On Windows, I hit shift-F10 to open a context menu. With Touch Bar, it's already open.

Like check this out... I downloaded MacVim, hoping I could try it out with the crazy escape key. When I clicked on the dmg file so that it was selected in the Finder, I got this:

Share menu

That's pretty cool. I can get info, share, or tag it. When I selected "share", I got this share sheet:

share sheet

Mail, Messages, Airdrop, Notes, and the ever-present "More". Neat!

Message Share

I can dig it.

When I tried Mail, I caught this Touch Bar menu (which, again, I'm arguing is essentially a mouse-free, gesture-aware context menu):

Mail Touch Bar Menu

Honestly, that's beautiful. SO much easier than making your user remember lots of keyboard shortcuts if they don't live in your app. And if they live in your app, you could potentially let them set up whatever items they want.

And of course this is better than a context-menu, because you can gesture with it as well.

Seems small, but Touch Bar isn't just a good idea waiting for programmers to do something with it, as I've heard it described. It's a good idea now, and well integreated into OS and first party apps.

Escape is odd. (I'm a VIm user.)

I wasn't able to get MacVim installed, as it was an app from the dreaded "unidentified developer" and I haven't been made privvy to the Apple Store admin login and password, but I could open vi in the Terminal and test drive a little.

Escape is odd.

If you don't know vi, it's a text editor that has two modes: Command Mode, where you give vi commands to perform on the text, and Insert Mode, where you're essentially just typing away like Notepad or TextEdit. And vi isn't the only editor that supports it. Sublime Text has a vi like mode built in, and WebStorm has a nice plugin, for instance.

How do you get from Insert to Command mode? Escape.

Escape key

Escape is now on the Touch Bar, and is just a virtual, not a "real", key. That's not great, but it's not horrible.

Here's the weird part -- it's not where it's supposed to be. See that dead space to its left? If I could trade that for a real, dedicated ESC key, I would in a heartbeat. It's hard to "feel", and since it's to the right of where I expect it to be, it's not natural. For someone who hits ESC scores of times a day, well, that stinks.

Enough. Fringe case.

One interesting tidbit...

But one thing I learned while playing around in the Terminal... See that greyed out button to the right of the ESC and color wheel? It says man page. That's really pretty cool. I wouldn't use it much, but it's context sensitive, and lights up when you type in a *NIX command.

I manned grep. Here it is:

grep man pages

Again, not a big deal, but nice. Makes me optimistic that the Touch Bar will slowly become second nature. Apple seems to be fairly interested in integrating it.

The track pad drives me batty. I couldn't single-click to save my life.

I kept force-clicking or having nothing happen. After switching to tap-to-click, I was okay again. But somehow, I've unlearned clicking. And I didn't have this trouble on the MacBook or early MacBook Pros with Force Trackpads.

(I think I might have been accidentally alt-clicking sometimes; it's a case of having the whole trackpad clickable)

Click-drag drove me crazy too. Windows has a tap, tap-drag gesture I'm used to now, perhaps. But keeping my initial click down is more painful, again, possibily because I was right-clicking at times.

Btw, three-finger drag is really well hidden now. But once I found it, instant happiness.

The keyboard is louder than it used to be. Like most sensible folk, I couldn't care much less.

Aside from my esc issues, above, I've got to say that it's a nice keyboard. I could use it easily when I'm mobile/out of the office/away from my "real" keyboard.

USB-C ports are really small. I get it.

If this is the trade off to get a smaller laptop, I'm all in. USB-C never bothered me. You need replacement cables for some peripherals, but otherwise, you just need a dock.

The new ports (and removal of the old ones) never bothered me.


Buying?

There are two great times to buy Mac hardware to get your money's worth:

  1. When it's initially released.
  2. When it's sold refurb for the first time.

Both of those maximize your cash, I think. The refurb discount is pretty good.

I'd convinced myself to wait on the 2017 MacBook, and rather than buy a truck, I'd just buy a real computer for my mobile slot. Right now, I carry around a Lenovo 100S for those times that I "don't carry a computer". It's a crap computer for specs, but has great battery life.

The MacBook is nearly the same size, and would actually run rings around the 100S.

But now I wonder. That Touch Bar is a nice addition. If that's a $300 mark-up addition like it is on the MacBook Pro, I'll probably wait for a 2017 "F12" MacBook (one without a Touch Bar) to hit the refurb rack. But now, having "touched" one, I think a refurb 13" MacBook Pro with Touch Bar might be an option I'll consider too. It's not as fast as much Y700, but it's a great mobile laptop. Having touched one, I get what the MacBook Pro is trying to be a little better.

The new MacBook Pro is still not a truck. Walt Mossberg at The Verge nails this on the head...

It's the name, stupid

Neither will unseat my "truck" on the laptop stand in the home office, but either Mac would mean the Y700 stays on the stand a lot more regularly when I leave the house.


I also spent a little time with the iPhone 7. Heeeeeello, nurse. Great feeling phone. You know, I like that home "button" better than the one on my SE. I played around with the settings, and "2" feels great.

Labels: , , , ,


posted by ruffin at 11/17/2016 05:09:00 PM

And for another in the, "How many times must I use this before I commit it to memory?" category: How to change the shortcut for multiple cursors on Sublime Text 2:

[
    // Multiple carets
    { "keys": ["shift+alt+up"], "command": "select_lines", "args": {"forward": false} },
    { "keys": ["shift+alt+down"], "command": "select_lines", "args": {"forward": true} }
]

You put that into your KeyBindings - User file:

User Key Bindings Location

Here, I'm changing from the default of Ctrl-Alt-up & down to shift so that it doesn't conflict with my WinSplit Revolution settings.

Speaking of WinSplit Revolution, nice that it still works in Win10. That Win10 "window snapping" was a poor replacement.


UPDATE 10 Apr 2017: Probably worth mentioning -- for the sake of over-explicit brainlessness -- that in Sublime Text 3 you insert these in Preferences >>> Key Bindings. There's no -User.

Labels: ,


posted by ruffin at 11/17/2016 10:12:00 AM
Wednesday, November 16, 2016

I went to build an app package for my newest app -- Podcasters' RSS Feed Generator, which does, not surprisingly, exactly what it says it does -- I got the following error in Visual Studio.

App manifest references the image 'Assets\StoreLogo.png' which does not have a candidate in main app package.

Turns out this is a pretty cryptic error. We get a partial answer from hololens.com:

Best Answer

... but it's not quite that easy. You can't simply rename the file; the images also have to be exactly the right size. Painfully, all the .scale-xxx extensions to the names that I had weren't from Unity; they were from Visual Studio. Et tu, VS? That stinks. Microsoft is helping me create a situation they don't support.

Anyhow, the three I had complaints about with their "correct" sizes are:

  • StoreLogo.png: 50x50 pixels
  • BadgeLogo.png: 48x48 pixels
  • Square71x71Logo.png: 142x142 pixels (of course, right?)

Blasting all the old ones with StoreLogo, etc, in the name and then dropping the new, "correctly-sized" replacements into the Assets folder, then including them in the project from VS, does the trick.

Or so I thought. Now I get...

Severity

Description Project

Line

Error

App manifest references the badge
logo image 'Assets\BadgeLogo.png'
which does not have valid dimensions. It must be 24x24 pixels.

19

Error

App manifest references the square
71x71 logo image
'Assets\Square71x71Logo.png' which
does not have valid dimensions. It
must be 71x71 pixels.

20

Which is it, dang it?

Visual Studio complaining about BadgeLogo sizing, though we have the size the error window asked for earlier

Answer: Apparently we wanted the sizes the error window wanted. Ignore errors like the ones pictured, above.

Labels: , , ,


posted by ruffin at 11/16/2016 01:56:00 PM
Tuesday, November 15, 2016

There's a repeated joke in the Rockford Files that everyone in or that has been in jail was innocent; just ask them. (Of course, we're supposed to assume Jim really is innocent, but I've leave the meta alone for now.)

Ever heard something similar with programmers? Have you ever met a programmer who won't tell you they're a superstar? Coders' self-proclaimed brilliance is like ex-cons' proclamations of innocence. Seriously, who doesn't think they're above average? The sea of programmers thinks itself an extended version of Lake Wobegon.

A more interesting discussion would be to ask yourself why every coder thinks that and who is encouraging it, but I'm leaving that alone for now too. ;^)

Labels: ,


posted by ruffin at 11/15/2016 09:14:00 AM
Monday, November 14, 2016

The MacBook Pro with Touch Bar review embargo is apparently over. From Review: Apple's late-2016 15" MacBook Pro with Touch Bar:

The 15 inch model has two base configurations: the first ($2399) using a 2.6 GHz quad-core Intel Core i7 Skylake (6700HQ) with 6MB shared L3 cache...

If that's right, and I'm a little surprised to see it, the $2400 entry-level 15" MacBook Pro has exactly the same processor my $850 Lenovo Y700 has.

what's in my box

Wow. I got 15" MacBook Pro internals over half a year earlier for a third of the price. Okay, okay, my battery life STINKS and the keyboard & trackpad aren't nearly as nice as the MBP's likely are, but wow. The Touch Bar & Force Trackpad simply aren't worth $1500 to me.

YMMV, of course.

<rant>But this is why I hate articles like this one that ended up on DaringFireball:

On the 27th October Apple unveiled their new line of MacBook Pros. Since then half of what I read online seems to be โ€œProfessionalsโ€ (those guys), telling me itโ€™s not Pro at all, not Pro enough or not the right kind of Pro. How many of these people have even touched the new devices?

Very few.

Iโ€™ve been using the new 15โ€ MacBook Pro (with Touch Bar) for the last week or so for actual work, so hereโ€™s my โ€œProfessionalโ€ opinion.

Oh, like I have to touch it to know it's really worth an extra $1500. (Even more ironic now that we know I've been using the MBP 15"'s processor for six months.) Or that fact that it works great today means that it's a good deal and well spec'd out. Would you rather buy a brand new box in two years and still have spent $700+ less than you would have buying a MBP today, or would you rather be stuck with something that's already debatably underspec'd for the next three or four years?

So what is he doing?

From co.uk:

Iโ€™m an editor atย Trim Editingย in London, where we cut high end commercials, music videos and films. Weโ€™re a small company and choose individually what we want to edit with. I happen to use Final Cut Pro X (If youโ€™d like to debate with me endlessly about the Proโ€™ness of FCP X, you can do thatย here) So Iโ€™m in a good position to try out the new devices and see what they are/arenโ€™t capable of.

Oh, oh good. Video editing. With Final Cut Pro. Yes, I'll readily admit the MacBook Pro is a better box for FCP users than a Windows box. /sigh

I understand that if money's no object (and nowhere does that review mention "price" or "$"), this is a great computer. Would I like my Lenovo to have a great keyboard, insanely great trackpad, more battery life, and a fancy function key replacement bar? Yes, yes I would. But I do worry about price. We all should. Heck, imagine the amorphous "good" you could do donating $1500 somewhere. If you have to use Final Cut Pro, well, there's no conversation to have. But FPC !== Pro, kk?

Or this...

From Daring Fireball:

MacRumors forum member, in the first comment after the announcement of new MacBook Pros:

Well, Iโ€™m sure Iโ€™ll be attacked for this, but Iโ€™m gonna say it anyway:

Tiny harddrive, barely enough RAM (and not upgradable to the โ€œenoughโ€ level), no dedicated graphics, only dual-core processors. It certainly isnโ€™t bad, but Apple just took the โ€œproโ€ out of the 13-inch line. And come on - itโ€™s freaking expensive. [โ€ฆ]

The 13โ€ is NOT a pro device in my opinion. Itโ€™s more like a beefed-up and slightly heavier MacBook Air. For that, it just costs way too much.

This isnโ€™t a new comment. This was posted 4 years ago, in response to the last major MacBook Pro redesign. Dรฉjร  vu. (Via.)

Clever. Sooooo the reaction's been the same for two generations (at least) of MBP. As if that made the overall lack of Mac updates bearable. If anything, it just reminds me that the Mac Tax returned earlier than I gave it credit for. Why am I waiting years to get a new processor in a mini or Pro again?

Look, if you need macOS to do your work, I get it. This $2400 beast is your new laptop. If your work is OS agnostic, the chasm just keeps growing. Stick with Windows or Linux and enjoy your fat wallet.</rant>

Labels: , , ,


posted by ruffin at 11/14/2016 01:17:00 PM

In other news, from stackoverflow.com:

You can append ",ac" to the watch expression to have it automatically refresh the value

x.ToString(),ac

Seeย http://msdn.microsoft.com/en-us/library/e514eeby.aspxย for more information and other format specifiers.

Well, of course. /sigh

I was trying to evaluate src.Substring(i,20) in my Watch window, and it had the "This expression causes side effects and will not be evaluated" deal beside it with the annoying little "refresh" button. Finally decided there's got to be a better option than hitting "refresh" every loop iteration.

I like Visual Studio a lot -- and, somewhat unrelatedly, though I guess it speaks to the general quality of MS IDE tools, have started using Visual Studio Code to debug Node apps -- but there are some edge cases that really surprise me.

Labels: ,


posted by ruffin at 11/14/2016 12:32:00 PM
Friday, November 11, 2016

When I'm on a laptop without an external monitor, I often want my external tool windows in Visual Studio where I usually have my Output, Error, and Find windows situated, to stop floating over the main VS edit windows.

I keep thinking I've forgotten how to do it, though it's not difficult. You just open your preferences, search for "window", and up it comes.

Turning off tool window floating

This really is a better way to get around on a small-screened setup. I have a super-cheap Lenovo 100S that I keep around for when I don't have a computer with me (har har), as it has great battery life and a screen that'll go to 180 degrees on its hinge. It's small, fits nicely on my lap, and there's plenty of space to fit this little thing in front of the steering wheel when I'm sitting around for a while and want to hack a bit. The keyboard and trackpad are pretty crappy, but for the price, I'll manage. (Occasionally, yes, I couple it with my ThinkPad Compact USB keyboard. That thing is wonderful, even if it isn't backlit.)

I consider the 100S my off-brand MacBook Air.

But the 1366x768 screen is pretty small. When I'm using Visual Studio [sic], it's nice to keep those three tool windows somewhere else so that I can still see the code. Much easier than all the window rearranging I used to do.

Labels: ,


posted by ruffin at 11/11/2016 07:39:00 PM
Thursday, November 10, 2016

Whew boy, too many irons in the fire today.

  1. Figuring out how to server http ranges from a node server.
  2. Using CamStudio to create a demo video for MarkUpDown.
  3. Putting my new podcast feed management app on the Windows store.
  4. Making a website for the podcast app.
  5. Figuring out how to post to Blogger & Wordpress from C#.
    • Mostly just OAuth fun.
  6. Figuring out ufw and complete my Linux box install at Linode.
  7. Move over my company webpages from the current host I've used for a little too long (webhost4life).
  8. Applying for a few more contracts to fill back up the proverbial work pipeline.

That's all for now, I think. /sigh

Ever overcommitted? This time, I've got nobody to blame but myself. The problem, of course, is that I've got all of these well started, which means I probably could've finished the top two or three in the same amount of time as the nothing-finished state they're in now. And that's the real lesson: You have to finish what you start before starting something new if you want to get things done as efficiently as possible.

Why is finishing something now more efficient than working in parallel and finishing it all at the same future time Y? Well, take the CamStudio work: I wanted to finish the MarkUpDown video before I really started advertising. Let's face it -- a Window 10 app, even though it seems fairly cutting edge-ish now, has a limited shelf life. Assuming there's much money to make, I'm losing money by not advertising now. Sales today should compound sales tomorrow. I'm wasting my asset.

Finishing Task A at time X rather than end time Y means you get from X to Y as extra time to benefit from Task A's work. Clear?

So enough blogging. Back to the fire I go. ;^)

Labels: , ,


posted by ruffin at 11/10/2016 10:15:00 AM
Wednesday, November 09, 2016

Apologies for the political post, but as a US citizen and voter, you might as well spill a few pixels. Yesterday was, well, unexpected. And that leaves us with an important lesson, that...

The bell tolls for soft sciences

I think I took some screengrabs somewhere of so many websites predicting Clinton's win likelihood percentage. CNN, The New York Times, Nate Flyboy Silver's FiveThirtyEight -- they all had Clinton at a 70+% chance of winning. Even though, in poorly circular reasoning, I imagine, I mostly believed that'd be the outcome, I wondered what stupid alchemical dances some were doing to get percentages to the tenth of a percent. Come on. Show me a predictive poll, and I'll show you the LSU/Alabama game.

Do polls have some predictive value? Sure. Polls are best at predicting what the numbers will be for the next poll taken with similar conditions. They're not as good for predicting something complex that only happens once. If you can't repeat it, is it really a science? We might be better than tea leaf readers now, but we're still just guessing.

I got tired of hearing about the "silent" majority or "quiet" majority -- or whatever the term of art would eventually be chosen by each network's cobbled-together crow eating festival last night as I watched, transfixed. (Kudos to Chuck Todd on NBC for being the first by about a half hour to start chewing, and to immediately accurately describe how large the plate of crow was.) If you'd polled the right people, you'd have gotten answers from the "silents". That is, good polls have no silent demographics. You know what that means: Either pollers are complete idiots and can't sample to save their lives (partially true, I bet), or people aren't always honest when they answer calls from polls. Welcome to the 21st century, "scientists".

We're all in the media now

I wonder how much it's like trying to get an unbiased jury pool. People don't just read the news now, they're saturated with their news. Everyone's tainted. Everyone has a nuanced relationship with not just the news, but the news media. Heck, look how many of us are media producers, are broadcasters. We all have blogs, Medium accounts, Twitter accounts, Facebook pages. We're all publishers, and, worse, so many of us are republishers. We're all broken Facebook news aggregators.

That is to say, people who self-identify as "likely voters" are already by definition folks who listen to the media, participate in the media, in some senses are the media. They know the "right" answers. Like ESPN talking heads predicting football games in their echo chamber, none brave enough to leave the herd, once one person goes on the limb, the lemmings follow. Worse, the lemmings approach the cliff together, checking in with each other, making sure they all agree to follow the same script, and jump all at once. At least if the drop's fatal, they have company. (And that means job security.)

Talking Head Echo Chamber

Don't believe me? Check out the picks for last week's NFL games from NFL Pick Watch:

Grid of NFL picks from last week. Giants swathes of people picking the same winners -- and losers! -- en masse

Not only does everyone pick the same team, they often pick the same losers to win too. Hey, look, we're all 8-5 or 9-4 together!

And that collective echo chamber is what we see here with pollsters. "My poll matches their poll so I'm guessing we're on to something." Yesterday shows us that's not good enough.

Why polls aren't like betting on sports

There's a reason the sports bookies stay rich, relatively speaking, and don't seem to be as bad at picking games as folks on TV. Bookies know something we don't: How people have made their bets to this point. Then they adjust their lines, and eventually make money. It's not really about the games. Casinos are really just selling lines so to minimize their overall risk, and making money on the juice you pay to play the game. They don't care who wins, or even if they "got it right" the first time.

From complex.com:

When oddsmakers create betting lines, the goal is simple: To get people to wager on both teams equally. They want just as many bets to be placed on Team A as Team B. Now, we know what you're thinking: Doesn't that mean that they just end up breaking even? No, they don't, and it's because of the "vig" (also known as the "juice") that's attached to each and every bet that a sportsbook takes.

Here's how it works: When you place a wager in order to win, say, $100 on a point spread bet, you'll be required to bet slightly more than $100. The amount varies depending on the vig that your sportsbook charges. But in most cases, you'll likely be required to place a $110 bet in order to win $100 back.ย 

This really isn't unlike what Costco's making their profit from memberships, not goods sold.

From Why Membership Fees Are So Important to Costco Wholesale Corporation -- The Motley Fool:

A club, not a retailer
Membership revenue totaled $2.4 billion last year, up 6% from 2013. Meanwhile, Costco booked $3.2 billion in total operating profit. So, subscriber fees accounted for 75% of earnings, which shows why its more useful to think of Costco as a membership club rather than a retailer.

Does that make sense? Not even sports books can really predict a game. They take their insider knowledge -- how people are betting on their initial guess at who is going to win and by how much -- and then tweak the numbers continually to approximate neutrality.

To have a similar situation in politics, we'd have to only let 5% of the population vote each day, factor in the results, and readjust our predictions. (Actually not a completely horrible idea a priori...)

Can you scientifically predict a unique event?

Polling isn't supposed to be prognostication, and it sure isn't a Vegas casino taking bets. It's supposed to be scientifically predictive. Instead, polling has become a Mobius strip of popular opinion that's found it safest to ignore both the influence of fickle psychology and its hand in creating it from its own previous polls.

The worst part is that there's no second chance. This isn't a seven game series, where Clinton could win the next two nationwide elections and pull back ahead, more accurately testing if she really had a 70+% chance of winning this election. Let's painfully undercut my credibility and substitute this from wikipedia.org, as a proxy for what we've all been taught about the Scientific Method:

Replication

If an experiment cannot beย repeatedย to produce the same results, this implies that the original results might have been in error.

Here's your corollary: If an experiment cannot be repeated at all, it's not science. There's a reason why doctors practice. You're always a special case. (I swear. ;^D)

Polls are folks practicing alchemy and divination, and we need to make it clear to everyone to base their actions on their own convictions, not the stupid 10,000' view explanations from the THEC (Talking Head Echo Chamber) saying why the entire nation seems to have answered questions with a three-point swing. Don't weigh your vote using the silly rationale of a talking head explaining away a shift in a poll: the way a candidate smiles or stands near someone or waves or sighs or coughs. Vote because of your belief in their platform, and their track record in getting the planks of their platform done.

What a broken mess we've made of elections, regardless of how your candidates fared.


Speaking of echo chambers, did any network call Trump winning before 2:30am? I think the AP was first to call enough states that he couldn't lose, but who was the first group with any substance to call the race for Trump? Clinton's campaign. The same group that wouldn't address their supporters who'd waited hours on hours at the Javits Center. The networks had less gumption than a group of pretty poor losers. I'm not sure who to congratulate from this motley crew.

Labels: ,


posted by ruffin at 11/09/2016 10:19:00 AM
Saturday, November 05, 2016

Marco Arment botched his last blog post, when he suggested Apple should have kept USB-A ports on the new MacBook Pro.

Today's post shows he's thought about the issue a little more. From A world without the Mac Pro โ€“ Marco.org:

Pros wouldnโ€™t be as angry about the limitations of the new MacBook Pro line if there was an alternative that solved their needs.

That's the sentiment that powered my earlier critique of the new line of MacBook Pros when I said that they Built the Wrong Truck. Underneath that was the regret that they'd only built one new model of trucks.

In that post, I included a tweet...

Would I trade the TouchBar etc in #NewMacBook redesign for proc/mobo updates across the entire line, keeping same designs? Yes, yes I would.

Implicit was also that I'd've taken (vs "traded") the new MBP if they'd also given me updated hardware with old designs everywhere else. If the Mac mini had a new processor and wasn't RAM hamstrung, I would've preferred a truck-ier MBP, but I would've considered biting -- I think I've owned three or four minis, and still use one as a build box at times. Three grand is probably too much for me to go Pro, but two grand and updated internals (and maybe only one graphics card to save them some cash) would've been attractive, and cut the MBP sting a little. And for non-crossplatform devs in boats otherwise similar to mine, I've got to think an updated, less expensive Pro would've been a near no-brainer.

I want a new Mac truck. Right now, I only have one model with three trim levels to choose from. The rest of the stable might as well all be certified used.

one new truck


Of course, I've also always said that if you've got a few cheapskates complaining about price, you're probably pretty close to the right mark. So Marco's new $3k Pro is probably close to the money. I was surprised to see that he said "The existing iMac is great, but it isnโ€™t enough."

He had a Pro, swapped to a [nearly maxed out?] iMac for the screen, but now wants to come back and use an external screen that's as nice. If I were an Apple-only dev, I would too...

And can you do a better job selling a Mac Pro than Marco does at the end?

From marco.org:

Itโ€™s the only pro-grade, workstation-class operating system that has ever been easy to use and nice enough that weย wantedย to spend more time at our workstations.

And hidden behind our pro apps and terminal windows are the shared photo streams we made last night, showing pictures of our children to their grandparents, who are running the exact same operating system.


One random final comment:

From marco.org again:

Linux can solve some pro needs, but not most. Itโ€™s a fantastic server OS but a miserable desktop one, and that will probably never change.

Oh, come on. Really? What's missing, other than, say, Messages? Linux is great. It's missing an iOS simulator, which I'd have to think is the real problem for Marco.

Labels: , , ,


posted by ruffin at 11/05/2016 01:24:00 PM
Thursday, November 03, 2016

From Daring Fireball: Design to Bring About the Future:

Marco Arment, โ€œDesign for the Presentโ€:

A pro laptop released today should definitely have USB-C ports โ€” mostly USB-C ports, even โ€” but it should also have at least one USB-A port.

Including a port thatโ€™s still in extremely widespread use isnโ€™t an admission of failure or holding onto the past โ€” itโ€™s making a pragmatic tradeoff for customersโ€™ real-world needs. I worry when Apple falls on the wrong side of decisions like that, because itโ€™s putting form (and profitability) over function.

...

But this is not how Apple thinks about transitions like this. They design for the future, and in doing so, they bring the future here faster. In the alternate universe where the new MacBook Pros ship with one USB-A port, the transition to ubiquitous USB-C peripherals and cables will happen at least a little slower.

See? Gruber's usually right on the Apple-aesthetic money. (But isn't it "more slowly"?)

I was going to reply to Marco's post myself to say something similar. If there's one thing that Jobsian-Apple (so any time before Jobs left, and anytime, up to & including now, after he returned) does better than anyone, it's follow this advice from The Great One:

โ€œI skate to where the puck is going to be, not where it has been.โ€

ย --Wayne Gretzky

Marco's asking Apple to skate to where the puck has been. Bad advice.

Lots of things wrong with the Mac line-up. The desktops are fossils, and the new MacBook Pros are too expensive and easily argued to be underpowered, refusing to wholly make up for the desktop gaps. But in five years, when I might want 32 gigs of RAM, I'll definitely want USB-C ports. My current laptop doesn't have them, and that's already a pain when it comes to docking options.

Maybe we should take a second to consider what Apple expects you to connect to your ports:

  1. Thunderbolt monitor 1 (includes power & ports)
  2. Optional Thunderbolt monitor 2 (also includes ports)
  3. A dock, if your monitors aren't enough -- or something they didn't think of.
  4. Something else they didn't think of. (The "horn of a rabbit" port)

The third and fourth are really just favors Apple's paying to you already. You need a controller per monitor, and Apple's throwing in an extra port per controller.

External keyboard and mouse -- and headphones/AirPods -- are all supposed to be wireless in Apple-world now. If there's anything you're not attaching to your monitor or dock, what is it? If you're mobile, you don't need anything else (in Apple world) beyond the power supply. You have the best screen, keyboard, and trackpad available. USB-C thumb drives exist, and are often faster than the crap you're still shoving in your USB-A ports.

What are you missing?

There's really only one place you can ding them on ports, and that's that there's no USB-C to Lightning cable in the iPhone 7 box.

Every Mac user thought the end of ADB (and every PC user the parallel port!) was the end of the world. Anybody (other than Gruber -- no, really) using an ADB or parallel port device now?


(And does anyone really think Apple's doing USB-C for profit? What, are they making billions on adapters? Seriously, who is buying MBPs? Joe iPhone User? Probably not. And Jane Creative Pro knows Monoprice & friends has cheaper options. Plus, honestly, you know, I really don't mind the symmetry.)


EDIT: See, this is completely wrong:

From appleinsider.com:

OWC announces Thunderbolt 3 Dock with ports galore, returns functionality to new MacBook Pro

Capitalizing on Apple's decision to go all in on Thunderbolt 3 with its latest MacBook Pro, aftermarket Mac specialist OWC is taking preorders for a 13-port breakout dock that restores expansion options lost with the new laptop design.ย 

Thunderbolt 3 dock for Mac

No, no it does not. These options weren't lost. Apple wants you to use a dock. This is what USB-C enables, for heaven's sake.

Do you need ethernet when you're away from your desk? How about digital audio out? Thunderbolt? DisplayPort? An additional USB-C port?

If you need a USB-A port, you can get a slick metal adapter for $10 shipped with Prime. Think of it as part of the device you're plugging in, and it doesn't seem as unwieldy.

If you use SD cards on the road to download images and you were considering a MBP, I feel for you. No, really. That does stink.

Otherwise, stop it. This is exactly what Apple intended.

Labels: , , , ,


posted by ruffin at 11/03/2016 11:08:00 AM
Tuesday, November 01, 2016

I like John Gruber a lot, but his reactions to the new MacBook Pro have been wildly off the mark.

When Tim says "P-C" you say, "Now also inclu-udes MacBooks"!

From Daring Fireball: Translation From Apple Lingo to English of Tim Cook's Year-Ago 'Why Would You Buy a PC Anymore?' Comment:

People are pointing to this as proof that Tim Cook doesnโ€™t care about the Mac, because he thinks everybody should just switch to an iPad Pro. But hereโ€™s the thing, in Apple lingo, the Mac is not a โ€œPCโ€. A โ€œPCโ€ is a personal computer that runs Windows or Linux or whatever. Iโ€™m not splitting hairs here โ€” this is how people inside Apple talk. Itโ€™s right there in the opening lines of the years-long โ€œGet a Macโ€ ad campaign (66 ads!) โ€” โ€œIโ€™m a Macโ€ฆโ€, โ€œโ€ฆ and Iโ€™m a PC.โ€

No, Gruber's just plain wrong. I thought I remembered Cook using "PC" to mean Mac and WinPC, and, after a little Googling, found I was right:

Here it is in context (this is a transcript of Cook talking to Goldman Sachs):

If we had a meeting today in this hotel and we invited everybody thatโ€™s working on the coolest PC apps to come to the meetingโ€“you might not find anybody in the meeting! But if you did that same thing for iOS or that other operating system, and said everybody thatโ€™s working on this come, you couldnโ€™t get everybody in [this?] hotel. Youโ€™d have somebody covering every square inch here. Thatโ€™s where the innovation [is;?] here. That doesnโ€™t mean the PC is going to die; I love the Mac! And the Mac is still growing, and I think it can still grow.

Sorry, man. Tim Cook uses "PC" to mean "anyone's PC".

I know Jobs didn't. Cook always has. Used to sound incongruous when he did it, but now that Windows is sort of a lesser beast, it makes some sense to stop with the Mac/PC dichotomy. Macs sell like mad [in the limited market which is Cook's PC]. Macs & other PCs makers are equals at worst. Calling them all PC manufacturers allows Apple to be one of the best of the breed.

Slow your horses, DF

Anyhow, just plain wrong on this one. What worries me is that we're skirting fanboy territory in Daring Fireball recently. Gruber is usually pretty measured in his comments about Apple. Don't get me wrong; his aesthetic so closely parallels Apple's that you do have to wonder how much is "his" and how much has been internalized from watching Apple so closely all these years. But wherever the aesthetic comes from (and I think it's predominantly his own), I think John does a great job letting Apple know when they've missed their own mark, so to speak. That's what keeps you from becoming a fanboy.

But here, well, there's a segment of traditional Mac users that weren't served by the light at the end of the MacBook Pro upgrade tunnel. After waiting years to buy a new Mac, we get overpriced, underpowered, underspecced boxes. I tried to explain why we're disappointed, using expectations set by Steve Jobs. These aren't the trucks we were looking for.

And it's not because the only way to deliver was to make ugly boxes. That is, "nice" vs "well spec'd" isn't a zero sum game, which is nearly what Gruber argued yesterday when stumbling over a comparison of MBPs to System76 Linux laptops:

(I will add that the Oryx is ugly as sin, and doesnโ€™t have a retina-resolution display. Here I am slamming it.)

But the price you pay for the MacBook Pro isnโ€™t about the sum of the components. Itโ€™s about getting them into that sleek, lightweight form factor, too. In a word, Apple is optimizing the MacBook lineup for niceness. Thatโ€™s frustrating โ€” in some cases, downright angering โ€” for people who want a notebook optimized for performance.

Perfect rebuttal? Look to this post, quoted on Michael Tsai's excellent roundup, New MacBook Pros and the State of the Mac:*

David Owens II:

To me, Thursdayโ€™s event signaled one thing for me, and maybe Iโ€™m completely wrong, but the Mac is officially over.

[โ€ฆ]

Apple, the MacBook Pro is not a pro-level computer. Itโ€™s simply not.

You want to see what a pro-level laptop looks like? Look at the Razer lineup. They are crushing it on terms of performance and style in hardware design.

You can shoot down System76 for making chunky Linux boxes. You can't say this about Razer. Small, "nice", fast, and fairly well priced. Maybe my Lenovo truck is ugly (it largely is), but the Razer isn't.

And, as David Owens rightly says, the MBP "is not a pro-level computer". The MBP isn't a "Pro" computer to the point that Schiller himself during the laptop roll-out suggested that the "professional" but entry level MBP was a replacement for the consumer MacBook Air. As I emailed Gruber this morning, "When you slot a MBP into the consumer half of the product grid, we've got a problem [with meeting past expectations, at least]." (Note: I just added "meeting".)


* Speaking of Tsai's roundup, it also included my earlier post -- wow. Lots of clicks from Tsai, but then another HUGE bump once Daring Fireball linked to him. So 4x Tsai clicks just from being grand-fireballed!

Labels: , , , , , ,


posted by ruffin at 11/01/2016 04:29:00 PM

<< Older | Newer >>


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.