Author Archives: pbickford

Aww! My first bomb threat–Spammers are soooo cute!

From my email yesterday:

From: Riley Mitchell <Marcel@virtualfirefox.com>
Sent: Thursday, December 13, 2018 11:59 AM
To: sales@comicbase.com
Subject: Rescue service will complicate the situation

Hello.  My recruited person carried a bomb (Hexogen) into the building where your business is located. My man assembled the bomb according to my instructions. It  is small and it is hidden very carefully, it can not damage the building structure, but in case of its explosion there will be many wounded people.

My man is watching the situation around the building. Ifany strange behavior, panic or policeman is noticed the bomb will be exploded.

I can call off my recruited person if you make a transfer. 20’000 usd is the price for your life. Pay it to me in BTC and I guarantee that I will withdraw my recruited person and the device will not detonate. But do not try to cheat- my guarantee will become valid only after 3 confirmations in blockchain.

My payment details (btc address)-1CF9VQhwjJutPxwVq5QLFA7j7baq4RDb3w

You must pay me by the end of the workday. If the workday is over and people start leaving the building the device will detonate.

This is just a business, if you don’t transfer me the bitcoin and the bomb explodes, next time other commercial enterprises will send me more bitcoins, because it is not an isolated incident.

To stay anonimous I will no longer enter this email account. I check my  wallet every 25 min and if I see the money I will order my man to get away.

If an explosion occurred and the authorities read this letter: We arent the terrorist society and dont assume any  liability for acts of terrorism in other places.

Standing strong with heroic resolve in the face of this terrifying threat, I refused to negotiate with this international criminal mastermind. It was a tough decision, but these are the times where it’s critical to show these thugs what Americans are made of. 

I’m sure you’ll all be relieved to know that the building (my house) still stands, although frighteningly, we did lose Bob the Minion, one of our beloved inflatable Christmas decorations, whose lifeless body was found in the center of our lawn this morning.

I’m sure many in the sleeping outer world must think Bob’s death was a mere blower malfunction of a four year old $30 Christmas decoration. But we can now reveal that his demise was almost certainly an orchestrated hit job to let us know that These Men Were Serious.

But even as we mourn the loss of Bob–a faithful employee whose warmth and goofy appearance always brought a smile to all who knew him–we owe it to his memory to remain steadfast, and to never give in to shadowy forces such as these which would terrorize innocents in search of financial gain.

The Surveillance State of the Web (And A Better Alternative to Chrome?)

surveillance-1-fotoliaI don’t know about the rest of you, but I’m getting increasingly creeped out by the constant surveillance that we’re all under, particularly in the Google/FaceBook environment. To summarize but a few of the highlights:

  • Your physical movements are being constantly noted and aggregated via your phone’s GPS and location services–even when you seemingly opt out of those services.
  • Even if you’re not logged in to Google or FaceBook (or Amazon, or Microsoft), the tech giants are actively tracking your movements around the web by the use of omnipresent ad tracking cookies which their ad networks serve up on almost any major site you visit.
  • Every time you sign in to a site using social sign-on (that “Log in with FaceBook” or “Log in with Google” code that so many sites–and yes, even ComicBase and Atomic Avenue–use to allow you to avoid adding yet another password to your no-doubt huge list) your login is noted on FaceBook or Google’s servers–and the IP and tracking cookie information allows them to know that you’re the same person who visited any site where one of their ads appears–and now that formerly anonymous site usage is tied to a verifiable identity.
  • Everything you say within range of your Smart TV or Alexa speaker can be recorded and saved on their servers when they’re activated.
  • Every search you type in a search engine or browser is recorded, logged, and aggregated–along with your IP and device information.
  • Every time you call out “Hey Google” or trigger Siri, Cortana, or Bixby, your voice and search are recorded and stored.

And as if this wasn’t enough to complete the panopticon of your life, Google Chrome, the dominant web browser in the world today, recently released a change which automatically logs you in to help “sync” your information between devices.  Of course, keeping all your bookmarks current is the visible benefit to you–but firmly establishing your identity and correlating everything you do while using a web browser or mobile device is the true benefit to Google.

Unless you’re a noted crime figure, it’s likely you’ve never been under anything like the level of surveillance that you’re under today, courtesy of our web browsers and our smartphones. Note also that it’s enormously difficult to escape any of it, even using tools like VPNs, since there are so many redundant mechanisms and tripwires scattered around the web–all with the common mission of aggregating who you are, where you are, and recording as much of what you do and where you go as possible.

And it’s worth noting that all this is just the stuff that we personally signed up for by installing our various tech gadgets and apps, and by clicking through the “Agree” buttons on all those end-user licenses we never read. At the same time, actual law enforcement (and even private companies) are participating on a more global scale to monitor our every movement using everything from both fixed and roaming license-plate scanners and facial recognition, easy-pass toll devices, car GPS transponders, and wholesale processing of entire networks of internet and cellular data — no search warrants required, so long as a particular individual isn’t being targeted. All the information just sits there until it’s needed, which ever-cheaper storage ensures can be a long time indeed.

A Few Countermeasures

To start at the end: I don’t believe there’s a practical way to keep any real sort of privacy in today’s world, but there’s much you can do to at least staunch the river of information you’re constantly sending to the tech companies. Call it pure cussedness on my own part, but even if the battle to escape a surveillance state is a losing one, I see no reason to staff up my own Stasi command post with the personal mission of spying on myself.

It’s been months since I uninstalled the constantly-snooping FaceBook app from my mobile devices, and try to make sure I “log out” whenever I (more and more rarely) visit the FaceBook web site. But this is merely Orwell’s equivalent of blocking the hidden camera in the television when Big Brother has dozens of other listening devices hidden around your house, as well as thousands dangling from street lamps.

Also, do yourself a favor and take a trip over to the Google Privacy Settings and FaceBook Privacy Settings–particularly the deeper “Profile” and “History” sections. After you get over the shock of seeing that both sites can meticulously trace that road trip you took in 2015 down to pictures of the lunch you had at that out-of-the-way cafe, do yourself a favor and delete it all, and turn off as much of the tracking as you can. Then come back every month or so and do it all over again, as you’ll discover that any number of things you did–as simple as putting in a direction request in Google Maps, or buying concert tickets to a show–will continue to add new information to your personal dossier. I’d personally never assume that anything deleted is gone forever–backups often exist, after all–but it’s a start.

Log out of Google, Bing, and other search engines whenever possible, and turn off their “sync” options. Yes, it’s less convenient to check your favorite news sites this way, but remember that–as currently implemented–anything you sync, like your web history–is also synched to Google’s servers.

(And speaking of Google’s servers: all those saved passwords are being backed up too–and the passwords to your local wifi networks are apparently saved as clear-text on Google’s servers. Even when data is encrypted, however, it’s a safe bet to assume that the people doing the encrypting have a copy of the keys.)

 

Giving the Brave Browser a try

brave-logotype-full-color

Since the recent Chrome sign-in fiasco (which Google is currently backing away from slightly), I’ve decided to see what else I can do to stem the flood of personal information to the Silicon Valley tech giant. On a recommendation, I recently gave the Brave browser a shot, and I like what I’m seeing so far.

Built built a crew led by ex-Mozilla chief and Javascript inventor Brendan Eich, it’s a browser that embraces the clean design of early Chrome, while combining it with very smooth and user-controllable privacy settings which seem to do an excellent job of blocking intrusive ads, tracking cookies, and the like. Best of all, by getting rid of all this surveillance foo, it seems to load and display pages noticeably faster than any of the more established alternatives like Chrome, Safari, and Edge.

Eich and the crew over at Brave also seem to be rethinking the whole online ad ecosystem. Since the ability to block ads also threatens to undercut the financial basis that supports the sites you use, they’re trying to rebalance the financial incentives by letting you directly support sites you visit using cryptocurrency-based “Basic Attention Tokens” or BATs, which act to funnel your voluntary donations to the sites you view the most. I’m not sure how I feel about the whole scheme at this point (and I’m more than a little skeptical of cryptocurrencies in general), but I do appreciate that the Brave crew is thinking about the overall problem, and I applaud their view that we ought to be moving beyond the place where we, the web’s users, must effectively become the product to be sold in order to provide all the great “free” new and information the web provides.

For now, however, I’m giving Brave a spin, and so far I’ve been impressed enough to make it my default browser on both my desktop and mobile devices. Here’s a decent video review of the whole thing by ThioJoe.

Uh Oh…

High Court: Online shoppers can be forced to pay sales tax

https://apnews.com/332abb7455cb4b60b2effc0852ff3c89/High-Court:-Online-shoppers-can-be-forced-to-pay-sales-tax

For anyone but the very largest retailers (think: Walmart, Amazon), this has the potential to unleash an absolutely ruinous storm of neverending tax paperwork on us from literally every state (and possibly county) in the country–all of which would likely require their own filing processes, tax rates, rules, and potentially auditing facilities.

We got a tiny taste of this when we used to exhibit at the Chicago Comic-Con, where our (then California-based) company had to apply for an Illinois sales permit each year and do separate sales tax and use filings (as well as deal with the inevitable bureaucratic foul-ups and notices) just for the purpose of being able to sell during a 3-day comic book show. Imagine every small company with an internet presence having to do this every quarter for virtually every tax jurisdiction in the country.

This is bad news for small businesses (meaning anyone without hundreds of millions in annual revenues). I can’t wait to see what inventive solutions the government will now cook up to make the problem even worse…

Bickford’s Law for Large Project Development

If you haven’t tested a particular part of your project recently, just assume you did something to the rest of the project which broke it.

Two Musicians and a Projector = Magic

Uncool confession time: I hated punk rock when it first came out. I thought it was badly recorded, atonal garbage, and failed  to see why anyone would want to pay attention to a bunch of untalented hacks who couldn’t actually play their instruments.

At the time, I was an overly earnest musician who had become entranced by multi-track studio production techniques and the increasingly technical hi-fi adventurism of groups like Pink Floyd. What I didn’t really appreciate at the time, was how closed off the formerly free world of rock music had become in the decades since its founding. As the 70s were rolling to a close, the rock scene had turned into a game which only an increasingly limited number of incredibly talented and well-financed acts could afford to play competitively.

What punk brought was the message of, “Screw you and your decades of mannered musical training and your hundreds of thousands of dollars of studio time! We’re going to spend about $500 to make a record based on little more than attitude and energy! Oh, and our guitarist only knows about 3 chords, our bassist got his crappy amp back from the repair shop on Tuesday, and our drummer is just some guy our lead singer met last night at the bar who’s rubbish at maintaining a steady tempo, but who does have a van that runs.”

The music industry was overdue for a great rebalancing of the old cosmic scales. It was the yin that said only the truly talented few who’d paid their dues and worked their way up were allowed to record an album vs. the yang which just screamed, “Try and stop us!” and let it rip. And yeah, the latter record had a pretty good chance of sounding like complete crap. But at the same time, it was all strangely freeing. I think it was the sudden introduction of the punk ethos  which kicked 70s corporate and soft rock to the curb, and helped usher in the golden age of experimentation and creativity which was the 80s.

The same energy even infected the rock veterans, giving them permission to take crazy chances. Did a lot of the old guard record some terrible albums as a result? Absolutely. But at the same time, that sort of wild experimentation gave us much of the music that we cherish decades later. It was, in short, the sound of a lot of musicians suddenly having a lot of fun. And as it turns out, people like fun–even better than they like perfectly produced albums.

In any creative field, there’s a constant war between the raw desire to create: the emotion, and the more technical and reserved desire to put only the most beautiful and polished work forward: the craft. If you’re among the blessedly balanced creatives, you somehow manage to marry these two forces to create work that’s both authentic and refined. The rest of us fight a constant battle between uncritically putting forth any rubbish idea which pops into our heads, or refining and analyzing our every effort so much that we wind up spending 7 years getting our screenplay together, never really feel like we’ve achieved an acceptable mix of that song demo, and never get around to finishing that novel we’ve been boring our friends talking about for as long as anyone can remember.

It’s the War of Art if you will: the battle creative folk must constantly wage against the blank page, the empty canvas, or the silent red glare of the “record” light. To anyone who faces these challenges as part of your work, I wish you courage. This is not an easy struggle.

But the bottom line is this: real artists ship. And while craft is good, it’s amazing what you can achieve if you just go out there and create things without worrying too much about it. Case in point: a quirky couple calling themselves “Pomplamoose” who has created some of the coolest songs and videos I’ve ever seen using nothing but foam core, a projector, an iPhone, and a not-inconsiderable quantity of creativity and daring:

This is very cool stuff, and by all means, check out some of their other videos. It’s inspiring to see what you can do with so little time and resources if you make your mind up to just go out there and do it. Even better, they continue to get out there and produce new work. It’s the combination creativity, work, and guts that makes them so impressive. Hats off to Jack and Nataly.

And for the rest of us: back to work!

Baggage Fees and the Decline of Free Hotel Wi-Fi

1426610304

I’m in Las Vegas attending the National Association of Broadcasters show–easily the most informative trade show I attend each year. It’s an unparalleled exhibition of cutting-edge gear for making all things audio and video-related, and I inevitably return with a bad case of lust for something that has at least three more zeroes in the price than the Bickford family budget can absorb without a lot of hard thinking.

That said, NAB’s always an amazing place to learn tricks from people who make multi-million dollar feature films, which can be applied to things as commonplace as tightening up that horrific color cast in our in-house ComicBase barcode scanner commercial of a few years back. (In an otherwise smooth production, I unthinkingly bounced a light off our orange front office walls, giving everyone on screen the look of having just returned from getting a really cheap spray-tan). On the plus side, my tangerine-toned complexion in the video did teach me both a valuable lesson about lighting, and to appreciate the need for accurate camera monitors.

If you haven’t visited Vegas in a while, it’ll likely come as an unpleasant shock that one of life’s great pleasures for the common man–free valet parking at strip casinos–is basically a thing of the past. Free valet parking was once the great meeting of ostentatious casino hospitality and gambler gullibility, letting even the station-wagon-driving dad feel like a king for a brief moment as he passed the keys to the hotel valet in front of Caesars like a bona-fide high roller. At the same time, it set up a “quid pro quo” that encouraged the punters to repay the gesture by risking some of the kid’s college fund inside at the tables.

For over a decade of periodic visits to Vegas, I’d “pay” for my free valet parking by ritually playing $20 win-or-lose on the nearest blackjack table wherever a casino was kind enough to park me for free.  (And of course remember to tip the valet!). But those days, like so many other fine traditions that occasionally made the world of the everyman just a little wonderful, are now gone and buried.

It was a matter of great local scandal two years ago when the heads of MGM resorts decided to do with parking on their strip casinos (both valet and self-park) what airlines had done years earlier with baggage, booking, and countless other fees. I’d spared a hope at the time that casino patrons would rebel in sufficient numbers to cause the big resort chains to back down, but sadly no such revolt took place, and now an industry whose entire basis is to not encourage you to keep close tabs on your money has fully embraced the sort of nickel-and-diming that makes airfares such a labyrinth today.

In booking this year’s NAB trip, I also noticed that the ever-increasing “resort fee” (typically $15-25/day) tacked onto almost all hotel rentals in Vegas now no longer covers wi-fi at a growing number of hotels. This caused me to eschew my old strip favorites for the trip, as the resort, internet, parking, and other fees often more than doubled the stated price of the room.

So this time in town, I explicitly decided to pay a bit more for both the room and the resort fee to stay off the strip at a place explicitly offering free parking and wi-fi. But, like so much in Vegas, there’s a catch even to that: The free in-room wi-fi is limited to two devices per room, and it’s throttled  so hard that it’s useful for little other than email.

Interestingly, the wi-fi down by the hotel fitness center was performing respectably enough to actually let me stream an episode of Lost while working out on the treadmill. But the same episode from my room was soon choked down to modem-like speeds despite showing 5 bars of coverage. Helpfully, the hotel also offers an “expanded” wi-fi option for $5.99/device which promises to perhaps even bring the in-room wi-fi up to the speeds offered by your average Motel 6 in Des Moines, Iowa, but I’m avoiding it for now.

As I type this, I’m a few blocks away at the local Starbucks on Los Vegas Blvd, pulling down a respectable 3 MB download speed, even when shared by the other two dozen coffee-swilling denizens of the joint at 8pm at night.

As the man said: “TANSTAAFL”: There Ain’t No Such Thing As A Free Lunch. And this goes for everything else in life, including wi-fi. So take this missive as a free travel tip to always check the fine-print on your hotel booking, and even then be ready to roll with the punches.

But if you do need to find a good place to sync your Dropbox when you’re on the road, the local Starbucks might just be able to hook you up for the price of a Tall Skinny Blonde Mocha. And that’s not half bad.

Farewell, Facebook? (or “Back to the Blog”)

When I moved to Nashville a little over a year ago, I warned friends that I was simultaneously going to use the move as an excuse to do a fade from social media like Facebook.

The reason? Facebook had changed–or maybe the people using it had changed–since I first started using it a decade earlier. What was once like a friendly bunch of water-cooler chit-chat had become increasingly strident and nasty, and less and less of it was about the goings-on in my friend’s actual lives, and more and more an exercise in either virtue-signalling (my nomination for the Official Narcotic of the New Millennium), or punching at shadows for the Outrage of the Day.

We were being manipulated, and we should have known it. It was pitting friends against friends, while looting mountains of data about our lives, attitudes, physical locations, and relationships. And increasingly, I was beginning to notice that I felt worse about my life and the people in it after I launched the Facebook application than before.

Facebook: Our Own Private Iago

My best guess as to what’s going wrong? It’s that we’ve become a generation of addicts to the dopamine rush we get when our friends signal their social approval to something we’ve done with the various “Like”s, comments, or retweets.

More, changes to Facebook’s algorithms now hide all but the most active engagements from your timeline. This slight change in the mechanics of the system had an enormous effect: encouraging incrementally more strident and over-the-top position-taking, ratcheting up the reactions of those who identify with your positions, and making invisible anyone in your life who does not feel as strongly. The lack of visibility of everyone but those who agree or disagree strongly with you then becomes a social cue that your more strident position-taking is normal, and the ratchet continues until all subtlety of discussion is lost. Suddenly, friends who agree with each other on 95% of all issues suddenly feel like blood enemies over small differences we’ve ourselves magnified to huge size.

Pocket-sized Big Brother

More recently, it’s becoming increasingly obvious how very much spying these social networks are doing on your every activity. Want a scare in your life? Go to Facebook’s Settings > General page, and click the little blue link at the bottom to request a download of all the data Facebook (admits) it has on you. The KGB and Stasi never dreamed of having this kind of tracking data that we’ve all willingly given up to Facebook, including our every movement, our relationships, beliefs, and tastes in everything from music to dishwashers.

Similarly, Google and Apple keep location maps of everywhere your phone travels, logging your every movement since your first booted up your iPhone or Android phone and let it enable Location Services.

Used Google Maps to find your way to the mall yesterday? Google remembers where you went, when you left, and whether you were speeding along the way. Asked your Amazon or Google smart speaker for anything? Your every word is now stored on their servers. It’s truly shocking how many moments of our life are being monitored. And increasingly, all these companies are willing to use all this data to do more than just sell you products.

Google already actively skews search results to put forward points of view it believes are more acceptable, even if they’re objectively less relevant and even overtly propagandistic in nature. Politically incorrect YouTube channels are being demonetized on a massive scale; Twitter has been stripping hundreds of thousands of followers from people they find objectionable; and Facebook is increasingly hiding or “correcting” news items they disagree with.

Recently, Facebook has been getting a lot of negative attention for helping facilitate the mining of personality and political data on tens of millions of people during the past election, but was actually celebrated when such mining helped a different candidate the election before. The real trouble is that all of these companies have so very much data about our personal lives, and we let them have it. This was bad when they behaved like disinterested utilities, but it’s now clear they’re willing to take sides, and there seem to be less and less restraints on using what they know about you to get results they want.

Back to the Blog

I’m still piecing my opinions together on all this (which is part of why I’m writing this blog entry–to write is to think, after all). That said, I think I’m going to be quite a bit more circumspect in my use of Facebook and other social media for the foreseeable future.

To all my friends who last saw me on Facebook (where this blog entry automatically cross-posts), please don’t take my lack of activity on the site as a sign that I don’t still love you all. I’m just becoming increasingly convinced that Facebook itself is a friend I don’t want to share many confidences with. I’ve deleted the app off all my mobile devices (this is where much of the spying comes from), and will likely be using the Facebook website more infrequently, and yes, more for business than personal reasons.

I’ll likely be reviving this blog for sharing thoughts on matters of more personal concern (such as this). If I write something you want to comment on, I’d encourage you to use the blog’s comment feature, or message me directly–I may not see comments you post to Facebook. And as always, feel free to contact me via email, phone, or text — my contact info’s right on the Contact Me page at pbickford.wordpress.com.

 

Crystal Reports 2016: Worst Installer. Ever.

It takes a lot to get worked up about a program’s installer for goodness sake, but Crystal Reports 2016 has one that’s so problem-ridden and buggy that it could drive a Zen monk to acts of random mayhem.

As ordered directly from the company, the program comes without apparent documentation, merely a big “click me to install” executable download of some 800 MB. After the giant download, you see a single a clickable installer .exe file. Double-clicking this in turn kicks off a giant-self-decompressing archive…which after several minutes, presents you with… an incomprehensible error message saying: “Fatal Error: At least one port in the range 4520-4539 must be open for the installation to proceed. Please ensure that no application or firewall is blocking this range.”

“Wow! I had no idea my firewall was blocking those ports, but let’s check…” and then an hour or more of checking security software, network settings, and firewalls commenced across both my own computer, my wireless router, and even my cable modem. All in vain. Because the error message had nothing to do with the actual problem.

What was the problem? Apparently something path-related, because it turns out that the (impossible-to-guess) solution was that the installer had to be located at the top level of the C: drive in order to work.

And even this is problematic: remember how launching the installer kicks off a self-decompressing archive? It turns out that there’s no user control over where those files decompress to (presumably someplace in the %TEMP% directory). It’s not even sufficient to copy the installer.exe file to your C: directory–you need to hunt down the decompressed files and copy them there. The easiest way I’ve found to accomplish this is to use 7-Zip, right-click on the installer.exe file, and tell it Extract the contents of the .exe file to your C: drive. After that, the program will actually install.

“Oh my goodness” you might be saying. “That sounds like some hacky installer implementation that must have caused all manner of tech support calls, and surely was the first thing SAP (the maker of Crystal Reports) fixed after release!”. If so, you’d be wrong. Indeed the exact same force-compress and moving of the installer files is necessary for the Crystal Reports 2016 Service Packs (Currently on Service Pack #4!).

Unbelievable. Did SAP actually intend to sell any copies of this $495 program? Or were they trying to kill off its user base in the most passive-aggressive way possible by making it nigh-impossible to install?

Do “The Kids” Manage Music Libraries Anymore?

[Edit: Apparently my memory was faulty: According to my iTunes library, I apparently own at least some songs from some 1903 CDs–not the 800 I originally posted!]

One of the casualties of the move to Nashville was a NAS drive that held my home copy of my 20,000+ song library — 1,900 or so CD’s worth — which I’d spent a lifetime building.

This isn’t a post about tech tragedy, however: I’m a massive believer in backups, and I had a second drive on a work computer (as well as a backup spare) which held nearly an identical copy of the library. The “nearly” part consisted of those disks I’d striped up to one location and not the other– a small but annoying part of the total.

Additionally, I noticed that the metadata and folder organization of the backups wasn’t quite up to the standards of the home copy, with almost 2,000 tracks that were missing their album covers, duplicates of other tracks, or with albums scattered between similar-but-not-identical artists like “Reggie AND the Full Effect” vs. “Reggie & The Full Effect”. Nothing life-threatening to be sure, but having spent countless hours getting the whole thing into shape previously, I wasn’t thrilled with the need to spend another dozen hours or so editing ID3 tags and chasing down album covers to restore my collection to a state of relative organization again.

In the past, I’d used a tool called “Tune-up” to help with the process, although their more recent “3.0” release seemed to choke utterly on collections of this size. In the years since I’d last used it, it seems the company that makes it had actually done something I’d rarely seen a company do: pull the new version and revert to development on the previous series. As a result, the current version of Tune-up is 2.7, and it did indeed help quite a bit in getting the whole library back into shape, although the software does not appear to be actively in development.

But this led me to wonder: does anyone out there even mess with this sort of thing anymore? After all, my record-collecting habit goes back almost 40 years, and as I laboriously made the move to digital in the 90s, all the time spent organizing and filing physical albums was replaced with the lesser, but still burdensome task of managing a 200 GB collection of audio files.

But for the kids of today, do they do any of this? If you never actually buy an album, but instead merely stream your music over Spotify, Pandora, or the like, is there even a reason to manage a big stash of music on a local device? Judging by the poor state of development of automated tools for helping organize such a collection, it seems to my eye like it’s possible that this is a market that is not exactly healthy. At the same time, I can’t be the only person who feels a need to actually own his precious digital music collection, vs. streaming or renting it… can I?

Under-30s in the audience: what do you do for music? And do you feel a need to organize your own music stash — or is it all just a collection of Pandora channels and Spotify playlists?

Getting Started in Xamarin Forms with Visual Studio 2017: Why Your First App Won’t Compile or Deploy

Visual Studio 2017 was just released with much fanfare, and if you work in the Windows world, your set of tools just got a major upgrade. One of the biggest toys in your new toolbox is the built-in support for Xamarin–a recent acquisition of Microsoft’s, and whose technology allows developers to write an app in C# that will deploy and run natively on iOS, Windows, and Android mobile devices. This is Really Big Stuff, and a technology which we’ll be spending a lot of time with in the coming years.

One of the more surprising aspects of the new Xamarin Forms support in Visual Studio 2017, however, is that the built-in templates for Forms-based projects don’t actually compile(!). These are the “Hello World” apps which are there to get novices (such as ourselves) started, so not being able to get them to… you know… work… is sort of unnerving.

After a couple of weeks dealing with Xamarin, here’s a few tips on how to get that first app running under Windows, using the Community edition of Visual Studio 2017. Hopefully Microsoft will fix much of this soon, but in the meantime, this article is for anyone who’s also getting their feet wet with Xamarin is might be getting flustered by the constant stream of errors standing between themselves and “Hello World”:

  1. You’ll likely need to install a new Windows SDK, or you’ll get errors when targeting different versions of Windows UWP. As soon as you choose to create a new “Cross Platform” project (iOS/Android/Windows), Visual Studio will go through the work of creating separate sub-projects for each one of these platforms. When it hits the UWP (Universal Windows Platform) one, you’ll be presented with a dialog asking you which version of Windows you want to target, and which level is the minimum you’ll support. Whatever you choose, there’s about an 80% change you don’t have the exact right version of the relevant Windows SDKs installed on your machine, and you’ll get a message with a “https://go.microsoft..” url as part of the error message. Copy that link into your browser’s address bar (the error message is not a hyperlink, unfortunately), and it’ll take you to the Windows  SDK download page. Install the relevant version, restart Visual Studio, and try again.

  2. Visual Studio Itself may need to be updated or you’ll get “(limited)” Mac Client connectivity and the iOS app won’t compile. After a day last week  spent wondering why my Mac Client was connecting with a “(limited)” next to the icon in the toolbar–and having the builds which worked the night before suddenly fail (and in desperation, spinning up a second Mac as a build computer only to have it also fail)–I discovered that Microsoft had just released a patch some 2 hours earlier to Visual Studio which solved the issue (itself likely caused by one of the Windows 10 updates that downloaded overnight). The solution: watch your “Notifications” in Visual Studio like a hawk, and download any updates you see there. You can also use Tools > Extensions and Updates to verify that you’ve got the very latest–and we do mean the very latest–updates.

  3. Your Android SDKs are out of date. If you want to work with the latest Android OSs (and you do), you’ll need to install more recent versions of the Android SDKs than are included with the Visual Studio 2017 install. The current versions of Xamarin (more on this later) also expect the Android SDKs to be updated. To do this, use Visual Studio’s Tools > Android > Android SDK Manager. Warning: the installs take a long time to complete, so throw on an episode or two of Breaking Bad before you kick them off.

  4. The default installed version of Xamarin is out of date, and will cause errors around InitializeComponent() in App.xaml.cs; when you try to compileThe solution: Before you do anything with a new project, right-click on the solution, go to Nuget Package Manager, click the Updates tab, and install all available updates. Then Do it Again as the Build component for Xamarin won’t update until the rest of it has updated. It’ll want to restart Visual Studio afterward, so do that too.

  5. Your Mac’s XCode and Xamarin also likely need updating. This is tedious. You’ll need the latest version of XCode… which in turn likely requires the latest version of the OS… along with the latest version of the Xamarin components (which you can get by downloading Xamarin Studio). It’s all pretty easily managed, but the installs take hours.

  6. The default project settings will nest the path too deeply and you’ll likely get deployment errors. By default, projects are created in the [My Documents]\Visual Studio 2017\Projects folder, creating a sub-folder for the project itself. Due to the depth of the folder nesting within the various sub-project folders, it’s far too easy to have some of the paths exceed Windows’ limit of 255 characters in the total path name. The solution: Don’t use the default location, and create the project’s directory as close to your drive’s root as possible.

  7. Your Android Devices need to be set up in developer mode to let you debug on the device. And trust me, after waiting several minutes for the emulators to boot up, you will want to debug on an actual device.The trick to turning on developer mode varies depending on the version of Android you’ve got. For mine (the “Marshmallow” version of Android), it involved tapping the Android OS version number a jillion times in a row under Settings. See http://www.androidcentral.com/android-50-lollipop-basics-how-turn-developer-settings or https://www.youtube.com/watch?v=TKIRXVhBvBY for more.

  8. Your iOS Devices need to be provisioned… and have their certificates set up… and a bunch of other stuff. The easiest way to handle all of this is through XCode. Start by paying the $99 to Apple to join their iOS developer program (you’ll need to bite the bullet and do it anyway if you distribute through their store), then connect your iOS device to your Mac, launch XCode, and follow the guide here: https://developer.xamarin.com/guides/ios/getting_started/installation/device_provisioning/Oh, and that part about needing to create a dummy app to get the proper provisioning profile installed? That’s actually real.

Hope these tips give you a smoother ride getting started. I’ll undoubtedly be blogging more on Xamarin in the future…