The start of my ‘Year in review’

It’s a bit late, but, hey, I never have time to do this stuff…

2023 was a doozie… computers, guitars, jobs, and Legos (plus cat vet bills, and some crazy incidentals)

First up – Apple

2023 was an amazing Apple year, but also one that pissed me off a bit. At the end of 2022, the M2 Macs were released, and the M2 Pro / Max notebooks came out at the beginning of 2023. I had decided that my M1 Max with 32 gigs of memory wasn’t going to be enough (I’m a developer that runs Docker *all* the time working with a Microservices environment that has waaayyyy too many services), plus “needed” extra drive space. So, I sold my M1 Max Mac Studio and my M1 Max MacBook, and grabbed the M2 Max notebook, with some great, bumped up specs. Woo-hoo!

Then WWDC happened… While the Vision Pro is amazing, with my eyesight, it’s definitely a ‘gotta try it out’ product… BUT… the M2 Ultra Mac Studio was released. As I said, I’d sold my M1 Mac Studio, and normally would be happy with the M2 MacBook Pro I have, but there were some issues that popped up with the notebook, and I *wanted* a cool desktop. So, an ‘up’ed spec’ M2 Ultra was purchased. All well and good, especially with macOS Sonoma, everything started working *extremely* well. Safari with the profiles (I didn’t realize Edge and Chrome had them already, *doh*), Edge getting the iCloud password manager to work on macOS, Stage Manager working pretty well, and just a great year for polish for iOS/iPadOS and macOS… not many problems lately, enough so that I’ve back off using betas to get my problems ‘resolved’

So far, so good… so what pissed me off?

The M3 MacBook Pros… I bough the M2 MacBook Pro in March, and it was out of date by October. I wouldn’t be so upset, except the rumor mill so thoroughly had things wrong, that my planning sucked. If I knew that an M3 Max MacBook Pro would keep up with and usually *beat* the M2 *ULTRA*, I’d have just waited. Usually Apple gives us at least one year to be ‘new’… kinda feel cheated, lol… and I’m sure the updated Mac Studio’s are not too far off, either. Ok, first world problems, and I still have two computers that I *rarely* ever push, lol

Guitars

This one, I hate to talk about. I had SWORN I didn’t need another guitar at the beginning of 2023. I really have backed off playing, and wasn’t looking to do *anything* any time soon. Of course, that’s the *worst* time because I could experiment with different guitars and setups… lol… 2022 had ended well, with me getting a STUNNING Taylor well under what it should have gone for. I should have been very happy at that…

Unfortunately, I live on the same street as a Guitar Center… lol

2023 brought several opportunities for guitars I had been searching for for a while. One amazing Fender Telecaster showed up, and almost immediately the one I *really* wanted popped up. So, I ended up with 2 guitars I had no intention of buying, but hey… then a unicorn appeared. A guitar that I haven’t seen available at ALL popped up for a really good price. A PRS DGT model with a rosewood neck. *very* rare. Unfortunately, I know why, lol… Ok, so I was DONE! and I mean DONE! Except… the week before Christmas, I get a call to check out a guitar. A model I tried before, and was NOT impressed by at all… but, I go check it out. Amazing doesn’t even *begin* to describe the guitar. Not only that, playing it through an old, used Fender Hot Rod Deluxe basically checked almost everything I’ve been looking for. *sigh*. Oh well, nice Christmas present…

So, good year for guitars, depending upon how you look at it.

Legos

Yes, I’m still a kid at heart… and the Lego sets for the last two years have been on a completely different level. Lego finally figured out that older people love more complicated sets, and will spend lots of money on them. The sets I grew up with were big and complicated, and had a couple hundred pieces. Now, the little poly bags have that much! And Lego figured out that people like me will do the spends to get good Gifts With Purchases (GWPs). And 2023 was an amazing year. The Lord of the Rings set was just the beginning last year. The big one for me was the Orient Express. Initial pictures didn’t look great, but the set has turned out to be excellent!

Job

Enough about stuff… one thing that did happen was that I got caught in a layoff early in January of 2023. I lucked out and had a job a day later, though. The new position is everything I’ve needed, it’s pushed me WAY outside of my comfort zone, and gotten me to be a much better writer and thinker. I’ll write more about it soon. Frankly, that was one of th best things that happened last year (once I calmed down and settled in!)

Everything else…

There was *so* much more that happened (good and bad)… Iggy passed away, even though I tried to do everything I could for him… I’ve still not really come to terms with that.

I’m hoping to write some more, the amount of things that have gone into my brain on the positive side is pretty overwhelming…

More to come!

Follow up to the Apple ‘Sherlocking’

Sooo…. The Game Porting Toolkit story got a LOT more interesting after I wrote my original blog post (https://dscheidt.wordpress.com/2023/06/07/this-years-sherlocking/). How did it get more interesting? Short answer… Apple change the licensing of the Game Porting Toolkit to allow Codeweavers to include the Game Porting Toolkit into Crossover!

I honestly don’t know if what Apple loosing the licensing terms came from the feedback from the community, or if the original licensing terms were just boiler plate that was going to be replaced at some some point, but around September, Apple changed the terms of the Game Porting Toolkit to allow it to be used in Crossover. My guess is that because people were already hacking together Crossover and Game Porting Toolkit, Apple just went ahead and gave in.

Here’s the Crossover announcement: https://www.codeweavers.com/blog/mjohnson/2023/9/27/crossover-235-is-a-real-game-changer

And, what have been very interesting is that Apple changed from not even acknowledging Codeweavers, to now allowing Codeweavers to use the newest version of the Game Porting Toolkit before even releasing it to the general public! Very cool changes!

https://www.youtube.com/watch?v=3FkstFAJ-9s

Trying to be 100% Apple / .NET Developer

A little background… I’m a professional .NET Developer who happens to prefer working with macOS and Apple hardware. For the most part, developing with .NET required working on Windows. Even as Microsoft does more and more cross platform support, macOS has felt definitely ‘behind’. My working setup has been use my Mac as a glorified Remote Desktop client terminal onto a Windows box. Over the past couple of years, almost all of my tools have been working on macOS or using Safari / Edge on the web site, so *most* things already worked. It’s just Visual Studio that’s always been a challenge to find something that works ‘on the Mac’.

I’ve had several issues with trying to live 100% on the Mac. One of the first has been that most websites lately have been developed Chrome / Edge first, Safari second. I’m OK with that, as at least people do a LOT of Safari work, but sometimes, the sites just don’t play nice with Safari. One can run Edge or Chrome on macOS, and it works very well… except… the password management. I happen to be a big believer in Apple’s iCloud password management. It does a great job, is secure, works on all my devices. Heck, it even works on Windows* based Edge and Chrome. What’s been weird, though, has been that ON MACOS iCloud password management DOESN’T WORK… WTAF? I have no explanation for this. *(the windows version was very flakey up until a recent release, plus, because I Remote Desktop into windows, Windows Hello doesn’t work, and I can’t manage the passwords from windows. Not a complete show stopper, but it makes for working with the passwords Mac / iOS only for me)

The password management problem ended up getting solved with macOS SonomaWhy it requires an OS update, I have no clue, but that was one of the reasons I started working with Sonoma. iCloud password manager works correctly in Edge, so no need to go looking up passwords all the time when I need Edge. It’s still weird, both the Windows and macOS version need a 2FA code every time you enable it on the browser, which is every new session. Not *completely* horrible, as it’s usually popped up right below it, but still odd, and a bit of a pain.

The second issue that I didn’t really realize I had, but I’ve ‘known’ about is how cluttered Safari / Edge / Chrome become when you try to have several different focuses in life. My current company allows me to work with my personal computer, so there is a definite need to keep things somewhat separate. The real problem that I ran into was that I did something kinda dumb with my GitHub account. For my new company, I created a new account rather than adding my GitHub user to their account. This has *definitely* caused problems, as GitHub tends to use browser session information for logins in 3rd party programs.

Sonoma to the rescue *again*. Safari now has profiles that allow multiple versions of Safari to run that have their information completely independent of each other. Edge and Chrome also have this, so that’s helpful, too. Unfortunately, profiles are a Sonoma only feature. So, good thing that I started using it.

The final hurdle was Visual Studio itself. The Mac version of Visual Studio is, at best, terrible. With the last round of layoffs at Microsoft, I heard that the Visual Studio for Mac team was hit pretty hard. It’s *not* hard to see why. The Visual Studio Code team is really getting some things working right, and are starting to really catch up to Visual Studio, even passing it in some ways. Microsoft even made official C# / .NET Solution plug-ins for VS Code, that bring a LOT of functionality to VS Code, and all of it is *very* usable on the Mac. Still, it’s got some issues (why the #$%#$%@ does creating a file not put the namespace correct?), but certainly fairly usable.

What *really* pushed me over the edge (no pun intended) is JetBrains Rider IDE. It is a VERY good IDE, close enough to Visual Studio 2022 that I’m not missing a lot. I’m still figuring out the window system and getting the keyboard shortcuts right, but other than that, Rider is proving *very* capable.

Looking forward to writing up more of the adventure of living ‘off-windows’!

This year’s ‘sherlocking’?

First off, what *IS* Sherlocking / Sherlocked… See this article https://theamericangenius.com/tech-news/what-is-sherlocking-apple/ for details. Basically, whenever Apple takes creates a default app that does the work of an available app, and usually makes it part of the operating system, so it’s ‘free’. There are many examples of that, with one of the latest from last year being Camo, the app that let you use your iPhone camera as a web cam.

So, what was sherlocked this year? And, is this one a bigger deal than most?

This year’s sherlocking might not be terribly obvious, but it is important none the less. And, no, it’s not the Journaling app. This year, Apple released a Game Porting Toolkit. How in the heck is that even worth mentioning? Weeeellll…. as part of the Game Porting Toolkit, a ‘developer’ can take a WINDOWS game, and just run it on the Mac. No changes. No ‘recompile for the Mac’. No ‘switch the graphics engine’… nada. This was created to allow Game Developers to see how much work they would need to do to get a game to run on the Mac. Uh… sounds a bit like Crossover. Funny thing is, the Game Porting Toolkit is built on top of Wine / Crossover! But… Apple jumped ahead, and actually fully implement DirectX 12 with the toolkit. Crossover JUST released a beta of DirectX 12 implementation that only allows for *1* game to run using DirectX. The Apple code is pretty complete.

Here is a video detailing the Game Porting Toolkit already in action: https://www.youtube.com/watch?v=CcYyvzHtJVM

Now, one thing is that the Game Porting Toolkit *isn’t* a consumer product, and Crossover *is*. But, anyone trying Crossover is probably already more technical than the average user, so using the GPT (not ChatGPT) isn’t outside the realm of use. It will be interesting to see what happens with this, since Apple did build this on an Open Source application, and may be required to add the DirectX code back to the code base. It will be interesting!

WWDC 2023 was a doozie…

June 5, 2023 will probably become an important day in history for Apple. The 2023 WWDC Keynote was one of the most insane product announcements that the company has done (https://www.youtube.com/watch?v=GYkq9Rgoj8E)

First off, in the first 15 minutes, 3 products that had not really been expected were announced. The 15″ MacBook Air was expected, but the M2-based Mac Studios and the M2 Ultra based MacPro were definitely not. Most rumors had stated that the Mac Studio wouldn’t get an upgrade until the M3 or later, so that the Mac Pro would have time to shine. Fortunately, Apple had other ideas, and just released them all together. There is a bunch of head scratchers from all of this, though. With the Apple Silicon transition effectively ‘done’, we are starting to see the roadmaps form with the different lines. It feels like the M1 was a great processor, but on the professional side, it’s been a bit behind. There were some definite issues with the graphics engines that the M2 addressed, which makes it feel like the M2s were rushed out to cover the M1s. Two other things are really weird… one is that with the Apple Silicon transition, the iMacs didn’t get an M2 version at all. So, they are almost 3 years old. It seems odd to not have at least put an M2 chip in, since they’ve been able to put them everywhere else. Second thing is Apple kept referring their Xx performance numbers to *Intel* iMacs… what the hell? I’m guessing that the M2 numbers are definitely better than the M1s, but in a 10%-20% way, not 200% (2x). It’s sad that Apple is having revert to these kinds of marketing hand waving. Still, it was an impressive and unexpected first 15 minutes that was aimed at developers / pro users. Definitely started things off well.

Next up was the operating system refreshes. Nothing really ‘jumped out’ as a killer feature like last year. 2023 feels like the ‘year of the widget’, with the implementation from iOS going to iPadOS, macOS, and watchOS. watchOS seemed to get the most changes, but still feels clunky. I wish Apple would at least take a stab a using some of the user designed interfaces for the watch that are out there. The fluid app display sucks, and the list view isn’t any better. There were some very notable ‘non-mentions’… Apple CarPlay and HomeKit. After last year’s big ‘next version of CarPlay’ announcement, you’d think there might be some follow up to it. HomeKit not getting a mention is a bit surprising, since Matter 1.0/1.1 has been finalized and released. Considering how much time Apple took to show off stickers in everything (ugh…) I would have hoped for some HomeKit news. Fortunately, one of the follow ups mentioned an addition to HomeKit that is welcome… storing 30 days of events. Now, if they’d just figure out a way to allow an external monitoring company to work with the system… Also no mention was the camera app. (or, if they did, I missed it while taking the garbage out…) Final Cut Pro for the iPad put an AMAZING camera interface in, was hoping that it will show up in the regular photos app… Also, Apple is definitely starting to focus on games. It might have been a short segment of the talk, but there is *definitely* a lot going on to try to get game companies to port to the Mac.

Finally, the ‘one more thing’… VisionPro. All I can say is… dayumn… some of the craziest rumors turned out to be true. This is a device I don’t want to want, but actually see many good cases for it. This is what Apple does differently than anyone else. They actually brought out some compelling use cases for the… whatever the hell you want to call them (I’ll go with ‘glasses’ for right now). The idea of my monitors floating in front of me just gives me the chills. That one use case alone makes them interesting to me. The fact that Apple is partnering with a lens manufacturer to put prescriptions in really impresses me. And, so far, the initial 30 minute impressions that visitors got from the Apple campus have been that, at least in the initial peek, they work pretty well. My biggest concern with the VisionPros are how ‘singular’ it makes you feel. I can’t imagining cuddling up on the couch with a significant other with two sets of glasses on… ‘Netflix and chill’ would become more ‘Netflix’ and much less ‘chill’… lol. Still, I see this as a winner for Apple in the long run.

All-in-all, a great WWDC this year, mainly hits, just missing some ‘wishes’ (why can’t normal people get multi-user iPadOS!?!)

M2 MacBook Pro secret feature!

I’ll cut to the chase 🙂 I found out that the latest MacBook Pro’s (at least the one I bought) has Clamshell mode working! (Well, sorta…) I’m absolutely surprised that no one has mentioned this, so I hope this info will drive a bit to my blog, lol!

TLDR; The Details of ‘the find’…

First off, what is Clamshell mode, and why does ANYONE even care? Clamshell mode is a way to use a notebook computer without opening up the lid. Why would anyone want to do that, especially with how great looking the MacBook Pro screens are??? A variety of reasons, actually. My biggest problem is that the MacBook Pro’s screen is a different size than the external monitors I connect it to. For a specific program (*cough* Remote Desktop, Windows, etc… *cough*) having two screens that are different sizes disables using multiple monitors. I do two things that having multiple monitors *really* helps, software development and music production. Because I work in windows a lot, the weird windows would drive me a bit crazy. Plus, being able to put the notebook in a holder that allows it to take up a lot less desk space is awesome.

So… MacBook Pro’s have had a pretty decent implementation of Clamshell mode. The Intel-based MacBook Pros either had a setting or something built in to the hardware that would turn the computer on, if the plugged in power supply would get power. This worked great, all the way up through the last Intel-based i9 MacBook Pro.

Then the M1 chips happened.

The M1 Max MacBook Pro that I had before was awesome! Overkill for almost everything I was doing when I bought it. It certainly has dealt with anything I could throw at it. The one thing that did drive me a bit crazy was that the M1 chips did not support Clamshell mode. There have been some pretty crazy work arounds (such as scheduling when to turn the computer on… WTF!?!) but no real solution has ever come about. I ended up actually getting a Mac Studio as my desktop computer, just for the smaller space. I certainly wasn’t planning on replacing anything just for the one missing feature. One problem I *did* run into was that I bought ‘underspec’ed’ models of both my MacBook Pro, and MacStudio. Both were ‘base’ models, and a couple of things really started to trip me up. Memory was one, and storage space was another. I had found work arounds that did *ok*, but neither computer was ever going to be able to increase the memory, and I’ve been starting to work with large docker development and Kubernetes, which both eat processors, memory, and storage space. Plus, I was offered a bit of incentive to upgrade my systems for some better specs…

One of the strengths of the Apple Silicon Macs is that everything is on the chip… memory, processors, and storage space. This is also a huge weakness. NONE of it is upgradable. So, what I normally would have done would be grab some extra memory, and put a bigger drive in (and maybe upgrade the processor), but to get better specs, one has to get a new machine.

So an M2 Max MacBook Pro was purchased

This time around, I wanted to install everything ‘fresh’, and not just do a restore of my last machine. There was enough weirdness that I wanted a clean slate. In doing so, I was rebooting the computer, turning things off and one, etc… and I noticed something… I had the lid closed, but the computer would actually start up when I turned on the switch to the power supply. (I have a powerstrip that allows me to turn on and off sockets individually). I tried it several times, and it worked! Whoa! Clamshell mode worked on the new MacBook Pro! I did some installs, including going to the latest beta of macOS (the current public version of macOS screwed up the Continuity Camera, so moving forward is required, unfortunately). I tried again, and… Clamshell mode *didn’t* work. Before I did anything, I figured it would be a good idea to see what Apple themselves had to say about it. In speaking with the tech, it seems that Clamshell mode *should* work on the latest MacBook Pros. I didn’t get full details, but was very glad to hear that the hardware has been updated to make this work! So, I was going to try to go back to the public version of macOS (basically do a restore, as I haven’t *really* done much with the computer yet), and wildly enough… Clamshell mode worked! At this point, it’s been hit and miss, sometimes it works, sometimes it doesn’t. I’ve logged a bug with Apple, and from the tech learned that there is discussions in the tech side of the support, so it’s a know issue.

Hopefully next beta will get it straightened out!

UPDATE – With macOS 13.4 public release, Clamshell mode on the M2 Max MacBook Pro is working most of the time. If it doesn’t, I just power everything off, let it sit for a couple of moments, and then it seems to work.

I give up… (computer story)

Sometimes, you lose the battle, but hopefully win the war…

I’m a definite Apple fanboy / Mac user. I’m also a .NET developer. At one point in time, those were polar opposites. I used to have to have a Windows computer for development, and a Mac for my music and content creation. When Apple switched to Intel chips, it made things MUCH easier. If I needed to develop with .NET, just start up Windows in either Parallels / VMWare or switch the entire computer to run Windows with Bootcamp. Life was good, could run everything I needed in the Virtual machines, including running nested virtual machines to run Docker.

Unfortunately, two things changed. Number one, Windows started setting a base requirement for Windows 11 that the Mac would not ever implement for Bootcamp. The dreaded TPM 2.0 module requirement made Mac Bootcamp for windows locked into Windows 10. While Windows 10 is quite good, the updates to many of the development tools was starting to only happen to Windows 11. Parallels and VMWare took a while to be able to get Windows 11 to run in a VM, and then, only the Intel Macs could run Docker inside of the VMs. The second thing that changed was Apple switching to the Apple Silicon architecture. While this was great for everything Mac, it wasn’t so good for people like me, who live in both ecosystems. The Apple Silicon Macs didn’t run Windows natively, since the new processors are using the ARM instruction set instead of the AMD x64 instruction set that Windows supports natively. Fortunately, Parallels and VMWare were able to virtualize Windows 11 for ARM, so Windows is able to be run. It took a while, but even Visual Studio was compiled for ARM officially, so for the most part, the Apple Silicon Macs and .NET development are back to being a good combination…

Except…

The AWS extension. for Visual Studio… Before the release of Visual Studio 2022 17.4, the installer didn’t know to check the architecture of the extension. Visual Studio happily installed the AWS extension, and it worked well enough for what I needed. Unfortunately, once Visual Studio 17.4 was released with ‘official’ support, the AWS extension stopped installing. No worries, until Amazon said that they were going to take a while go get it working :(. My problem is that I have current development projects that use AWS, and I only had it installed on one version on one computer. Now it won’t install anywhere else.

So… back to the title, ‘I give up’… I finally threw up my hands and said ‘I give up’. My friend got ahold of one of the cooler PCs made recently, the Windows Developer Kit PC, which is Microsoft’s answer to the Mac mini in a dev kit. It’s ARM based, and everything looks great on it. Good price, Windows 11 pro, good hardware… EXCEPT it Docker isn’t working on it, and since it’s ARM, it will have the same problem with AWS. To solve the problem, I finally waved the white flag, and bought a Black November computer, lol. Got a great deal on an Intel 12th gen i7 processor, decent RAM and decent storage space. Everything installed correctly, and works like a charm.

Hopefully, as more users use Windows on ARM, the support will be in place. Microsoft certainly seems to be taking it serious enough to get Windows, Office, and Visual Studio working correctly on the ARM architecture, and selling probably one of the coolest Windows computers I’ve seen in a while.

Fun times as a developer!

More Blazor learnings…

I’ve been working through doing a site replacement for a friend of mine. His current site is an older MVC site that has been running for 10 years, with little attention. For the most part, it meets the needs of his company. He approached me about updating it, though, recently. I hadn’t put much thought in to it, until I started to get into Blazor, and found a couple of VERY helpful online learning classes.

In working with the new site, I’ve hit a bunch of ‘fun’ problems. The first one is my search box. At various times, the box would not send back the text, or it would force the page to reload from the beginning. It took a bit of research to figure out, including putting a type=”button” on a button tag (why doesn’t it know this?), and my current fix, changing a form to a div. For some reason the form tag catches the return before the onkeyup process… Not sure if this is due to .NET 7 or forms or what. Changing the form to div solves the problem, at the moment, though.

One other thing that I learned is related to the ASP.NET identity framework. My friend’s site used that from before, and the user information is being stored in a separate table. With the new Identity Framework, the preference is to put the user information in with the user list. I found out that the entity can be split over multiple tables. I’ll detail that in a different post.

Yesterday was definitely a good ‘geeky’ day in tech in my world (with some Blazor content)

Yesterday seemed to be the convergence of many things 🙂 Apple announced new iPad Pros, new iPads, a new Apple TV, and release candidates of almost all of their operating systems (iOS 16.1, iPadOS 16.1, macOS Ventura, watchOS 9.1, and tvOS 16.1). Microsoft updated .NET 7 to RC 2 which includes updating Visual Studio 17.4 beta 4 with .NET Maui support, including support for iOS 16.

The good… All of these release candidates will be 100% within the next 4 weeks. The Apple updates will be released on October 24th, and the issues I’ve had with the Continuity Camera have been at least mitigated. Stage Manager on macOS Ventura is definitely cool. The AppleTV and iPads are shipping very quickly. .NET will be release mid-November. MacOS version of Visual Studio will create an run iOS / iPadOS 16 apps in Maui!

The bad / questionable… The new AppleTV has two versions, and only ONE of them supports Thread networking. That’s an absolute WTF… especially with Apple starting to push Thread and Matter, and ALL of the 2021 4k Apple TVs support Thread and Matter. So, not sure why that was changed. I can understand removing the ethernet port (heck, I didn’t even know the current one had an ethernet port). And, why not get Wifi 6E on the AppleTV if bandwidth is critical? Of course, I’ll be buying the new one, lol… What’s the point of the M2 in the iPad Pro? My cycle time with my iPad Pro means I’ll probably pick the new one up, too, lol.

The one ugly… The Continuity Camera. When it works, it’s brilliant. When it doesn’t, it’s makes NO sense. Everything works for a time, then seems to fall apart after a while. Current issue is that the computer loses the camera, even though NOTHING changed. Time to log some more issues in the Apple Feedback app…

One thing that came out of the updates too .NET 7 RC2 is that I researched a problem I was having with my Blazor app that I’m developing for a client. My problem was that inside of a form block (<form></form>), there was a button that was doing a NavigateTo. This would cause the Blazor WASM to reload, and I had no idea why. Turns out that the button control needed a type=”button” as part of its properties, else the button does the post back to the website, causing the app to reload. Thank you to this article’s ‘Common Mistakes’ to see a demo of the problem and the solution: https://blazorschool.com/tutorial/blazor-wasm/dotnet6/forms-680671

Continuity Camera Calamity…

In a previous post (https://dscheidt.wordpress.com/2022/10/11/fix-for-stupid-programmer-error-with-apple-continuity-camera-as-a-webcam-with-some-colorful-commentary/), I detailed my trials and tribulations with the Continuity Camera in macOS Ventura and iOS 16.1. The Continuity Camera is an awesome feature, but over the course of beta testing, it “stopped working”.

One thing I found out with this time around with Apple, the two issues I logged actually received attention, more than any issues I’ve ever logged before. This definitely surprised me, and actually delighted me (a bit) in that someone is actually reviewing the issues. I have some *very* old issues open, and not sure anyone ever looked at them. Maybe I picked an area that Apple is focused on, or maybe my reports were actually coherent (hey, one of the reasons I’m reactivating this blog is to work on my writing!), but I gladly put together any information that Apple asked me for.

One of the replies I received was ‘Works as Designed’, which did set me off a bit. FORTUNATELY, I received a *very* detailed explanation of why the camera didn’t show up, and the reasoning behind it. The short version is that for security purposes, the continuity camera on the iPhone will not show up unless certain conditions are met. Here’s the information I received:

Due to privacy concerns with Macs that don’t have any other cameras available, we don’t want camera applications to start streaming from their phone simply because it is the only camera on the system.  To indicate a level of intent to use the continuity camera before it is published for applications to use, the phone must either:

(A) be plugged into the Mac with a wired connection (e.g. lightning to USB cable on the Mac), or

(B) satisfy the wireless Automatic Camera Selection requirements:
– landscape left or landscape right orientation, aligned with horizon
– locked, screen off
– motionless (not handheld)
– both front/back cameras unobstructed
– nearby “strong” bluetooth signal strength

Macs which have a built-in or USB camera available will publish Continuity Camera devices for manual selection outside of those requirements, but will only automatically switch between cameras (in supporting applications) based on meeting those requirements.

Ok, I can live with that, and I would hope that this will be published somewhere, else please use this article for the answer 🙂

So, after testing this with the Release candidate of iOS 16.1 and macOS Ventura, it STILL didn’t work!!! Well… not exactly… after a little more hacking, I found out that it actually DOES WORK, BUT… one has to unlock and lock the phone once the computer is started before the camera will show up. I can live with this… lol.

Some great take aways…

  1. Apple is actually listening. If someone is testing, definitely use the feedback app with as clear as possible information.
  2. Apple’s focus on security is good. There is a LOT behind the scenes to make the continuity camera work securely.
  3. Sometimes, security gets in the way, though. This is one time where I think it might have gone a bit too far. I get what is trying to be accomplished, but the continuity camera won’t even work on wifi unless the computer and the phone are logged in on the same iCloud account (which may make the wifi aspect a problem for using your personal phone with a business computer).
  4. Glad to be able to figure out the problem and some solutions, so hopefully someone else won’t have to deal with the problem!

Still, all in all, this is one of my favorite features of the latest iOS and macOS!

Fix for stupid programmer error with Apple Continuity Camera as a WebCam (with some colorful commentary…)

Let’s get the problem and solution out of the way first, before I get on my high-horse… 🙂

In testing macOS Ventura and iOS 16.1’s WebCamera feature (https://9to5mac.com/2022/08/01/iphone-as-mac-webcam-continuity-camera), I hit an interesting bug. On my Mac Studio, the camera was showing up, but then recently, the camera would not show up in the camera list. To cut to the chase, the phone will only show up in the list of cameras if there is another camera in the list. So, quick solution is to plug another web camera in, then the phone shows up.

Camera displaying with the workaround

Ok, simple problem, simple solution… except, it’s taken me almost 3 weeks to figure out what is going on.

<RANT>

Maybe this is why I’ll always be a hacker (hacker being defined as a person who tries lots of different things to get something to work, not a cracker, which is someone who tries things to break them… don’t get me on another rant about how ‘hacker’ is a GOOD thing, not a bad one)

At one point, the iPhone as a camera was showing up perfectly. In the past, I’ve been using Reincubate’s brilliant Camo (https://reincubate.com/camo/) for using my iPhone as a web camera. The quality is amazing, and truly helped during the COVID pandemic of 2020, since good web cameras were VERY difficult to find. I was very happy to use that software, but it had 3 limitations… One, the phone had to be plugged into the computer; Two, you needed to be running the software on both the phone and the computer at the same time; Three, you couldn’t use the phone while the camera app was going. Not necessarily deal breakers, but certainly not ideal.

With iOS 16 and macOS Ventura, Apple basically came along and sherlocked Camo. And, because Apple has a LOT more resources, they were able to get the phone to work wirelessly, build the software into both OSes, and allowed for dealing with phone calls. I’m not going to comment on whether I’m happy with Apple doing the Sherlock, but the resulting feature certainly is impressive. I’m still paying Camo for a license because, frankly, they did a great job, and deserve a bit of support.

So, on to the fun part. With the initial betas / public previews, on my Mac Studio, the camera showed up correctly over wifi. Everything worked great. Then, a couple of beta’s ago, the camera disappeared. “Ok, maybe it was a simple bug that will get fixed with the next build”, I thought. So, I gave it a couple of builds… no dice. Ok, time to hack a bit… tested on my MacBook Pro… f— it works. WTH? Ok, start trying to figure out the differences. Even logged out of iCloud on my phone and computer (don’t do this except as a last resort!). Nadda, nothing changed it…

Finally, I had a light bulb go off… let’s just try plugging another camera in… lo and behold… that @#$%@# worked… the plugged in camera and the wifi iPhone camera both show up… unplug the camera, and no camera’s show up… *sigh* wonderful, somewhere in the code there is a really stupid bug where someone probably starts looking for cameras at array point 1 instead of 0, and it’s in the OS code. Fortunately, I put in a bug report to Apple. Hopefully they will be able to get it fixed.

It’s funny, it probably works for the developers because I imagine almost everyone is using a MacBook Pro laptop which has a camera, so they won’t ever see the bug… lol

At least I have it working now, and a good bug report filed with Apple

</RANT>

My (almost) perfect Mac / .NET setup for 2022

I’ll kick off my new writings with things… in the middle of the story, lol

SO much has changed in the last 2-3 years (whenever I sorta deprioritized sharing my thoughts). Probably about the last time I was writing, I had the (almost) perfect Mac / Windows setup (pre-fall-2020)… It was the latest and greatest MacBook Pro with an Intel i9 chip. Stupid me only got 16 gigs of memory, but other than that, it did everything really well. It ran Windows 10 both in Boot Camp and Parallels / VM. It ran Docker. Visual Studio and .NET both were running cross platform. Life was good… until…

Several things changed all around the 2020 timeframe. And, for once, I’m not talking about the COVID-19 pandemic…

First off, Microsoft released Windows 11. In making Windows 11 ‘more secure’, a new requirement for install was added. Windows 11 now requires a TPM 2.0 module to be installed on a computer to run it, but Apple did not implement TPM 2.0 with their MacBooks / Pros. Sooo… ‘No Windows 11 in BootCamp for you!’. While Parallels and VMWare Fusion have since added that to their virtual machines, the virtual machines share memory, so all of a sudden 16 gigs of memory starts to feel cramped. (I started using Docker, and while that’s not a huge memory drain, running the amount of docker containers I was playing with started to be an issue)

Second, Apple announced a move from Intel to their own processors, the Apple Silicon processors. Once again, Apple’s look at the world has disrupted computers with things that one didn’t realize they needed. Out of the blue, Apple Silicon processors were as fast or faster than the Intel equivalents but ran with FAR less power and heat. To top it off, Apple created a layer to allow for running Intel code on top of the new architecture… Except… Intel based virtual machines are not supported, and BootCamp is a no go. Apple Silicon is based on ARM rather than x64… which leads to one more *interesting* change…

One last, import change… Microsoft started taking ARM seriously. Windows 10 ARM felt like a ‘hack’ project, much like x64 did with Windows XP (Windows 7 was when x64 seemed to gel). Microsoft seems to be taking ARM more seriously since the release of the Apple Silicon Macs. Windows 11 for ARM is finally a real thing, and many of Microsoft’s core applications are already running ARM versions. .NET works on ARM Windows and ARM Mac. Office has an ARM version, and so does Visual Studio Code. Visual Studio even has an ARM version! Speaking of Visual Studio, Microsoft only NOW released Visual Studio as an x64 project in 2022, almost 20 years after x64 XP was released.

Lots of backstory, and hopefully will help explain the choices for the the ‘almost’ perfect Mac / .NET developer setup 🙂

With all of those changes, my 2019 Intel MacBook Pro was starting to feel a bit dated. In 2021, Apple released the M1 Max MacBook Pro, which had killer performance, cool running, lots of Thunderbolt 4 ports, and even MagSafe. And, the base model for the M1 Max was 32 gigs of memory! I ended up getting one (and also a Mac Studio based on a similar chip). By this time, Parallels runs Windows 11 really well, and many programs support ARM with both MacOS and Windows. Once Visual Studio for ARM came out, I could do *almost* everything that I can with a Windows box… The *almost* is Docker. One thing is that since Windows is running in a VM as a virtual machine and processor, Docker on Windows for ARM isn’t supported in the VM. Docker does run in Windows for ARM, just not in the Virtual Machine. The Apple Silicon chips don’t have a way to do the nested virtualization. However, I did find a 90% workaround. Docker can be run on the host machine (the MacOS machine) and the Windows Virtual Machine can access Docker from there. That works great for everything *except* compiling and running code as a Docker container. If I can get that working, than my machine basically does everything I want!

Oops, I did it again…

Every time I try to get some traction with my writing / blogging / thought outpouring, I get interrupted. Or, I feel like there’s no ‘reward’ for writing. Or one of a million things just seems to be more important. Every day I seem to read less and less, and watch more and more in videos. Books seem harder and harder to read, and certainly don’t get their point across as easily. As soon as my learning sites include full transcripts of their classes, I almost feel like books become mainly reference material instead of learning material.

A friend of mine has encouraged me to do video log, and I certainly have the equipment to do it (much more than even some of the super successful people out there), but finding the time and inclination are tough. Still, I think that it might be an idea, because so much has happened in the last couple of years. Yes, I hope to blog at least some, especially my experiences at being an Apple Junkie with a Microsoft .NET addiction, lol, and what it takes to actually make a successful development environment.

More content to come!

2020 – The house

Where to begin?

This year marked the ‘lucky 13th year’ I’ve been in my ‘new’ house, lol. This year, the choice of house has paid off in spades. In the middle of March, my company sent out an email to start working from home due to COVID-19, and they had no idea when we would (even IF we would) come back to the office. That simple email changed my life (and house) for the rest of the year.

With me living and working from home, several things had to change. Home previously had basically been a place to sleep, wash clothes, and take a shower, and little more. I was usually gone by 9 a.m. and frequently would return home anywhere from 11 p.m. to 2 a.m. (wtf!?!) To not need to get up and drive almost an hour each way every day was an absolute blessing. (I actually started working at 8 a.m. frequently!) As I settled in to ‘living’ in my house, first off, it started to become ‘home’. Odd thing to say after 13 years, but, for the most part, I’ve never been a homebody. Since I was here a large percentage of my day now, I started to get ‘tech lazy’ (basically buying technology gadgets to do simple, yet annoying things around the house’, lol)

It all started with the thermostat.

I’m an Apple Junkie to the core right now, and Homekit has always intrigued me. It seems like a great idea but because I was never home enough, it wasn’t very interesting (plus the devices seemed to be expensive). Well, the first that started to get annoying was setting the thermostat. It’s silly that one or two degrees can make a difference in being comfortable, but it was true. I started having to fiddle with the ‘normal’ thermostat, and if I was downstairs, I’d have to go back upstairs to change the temperature. That could be at some ‘inconvenient’ times, so the first Homekit-enabling device was a new ecobee. I feel proud of myself, I was able to change it out all by myself. Ecobee’s site and Youtube were great for providing tutorials. The app works well, and one thing that really changed was now not having to worry about a ‘heat / cool’ slider. Awesome!

That was so easy, I started looking at more things…

Ah… the front door lock. Level.co came out with a HomeKit* door lock that just replaces the bolt, not the knobs. (I’ll explain the asterisk in a moment). You’d never know the lock was electronic. So, I decided to try it. This one turned out to be simple, too. Just undo the bolt mechanism, slide the old dead bolt out, and the Level lock goes right in. Perfect! It works great! Except for that little asterisk…

One thing that wasn’t clear to me (I was probably just excited to get a lock I can open with the phone) was that the Level Lock DOESN’T HAVE WIFI. Let me repeat that, there is NO wi-fi connection on the lock. Uh… then how does it work with HomeKit? The Level lock only has low power Bluetooth. What I learned *after* getting the lock was that the lock needs a HomeKit server (I didn’t even know those existed!) A HomeKit server turns out to be something like a HomePod or an AppleTV (or even an iPad that just sits somewhere). I have an Apple TV, but it was too far away from the lock to be picked up via Bluetooth… Fortunately, a good friend had a ‘old’ Apple TV that wasn’t being used. He gave it to me (THANK YOU RICK!) and I was able to get it updated and just set beside the front door. Problem sorta solved. What sucked was that the company August came out with a similar lock that DOES have Wifi, but you need to change the batteries out more, and the inside looks more like a knob instead of a small little handle to turn. I would have definitely gotten the August lock, but it wasn’t available when I bought the Level. Oh well, the ‘work around’ has been doing well enough. It feels cool to be able to lock and unlock the front door with… wait for it… my freakin’ watch! Starting to feel like James Bond, or (in my case) Inspector Gadget! lol

Those two projects gave me a lot to like about HomeKit. I’ve since added a couple of in-house security cameras that use HomeKit to store video. Plus, recently, I grabbed a light that can be controlled via HomeKit. I know these things sound trivial, and are certainly ‘first world’ stuff, but it makes me feel better that I can turn on and off the lights for the cats, and see how things are going.

Funny story… all of this came together when an offer to have an impromptu getaway for a couple of days came up. My normal cat sitter couldn’t make it, so I had to find someone on the fly. Fortunately, the person I found (thank you care.com!) was tech savvy enough that I could just send that person a code to load the app to open and close the door lock. My pet sitter never needed a key, I got notifications when that person came and went, and I was able to watch while they fed the cats and did some cleanup. Made for a much more enjoyable trip, as I was able to see things that I’ve never been able to see before.

One ‘non-HomeKit’ thing that happened was that my washer and dryer finally decided to die. One was helped along in dying, and the second was natural causes. I learned a couple of valuable lessons. First thing, the manufacturers really are terrible about supporting their products. For the first time in my life, I GLADLY bought the BestBuy extended warranty. I wish I’d done it for the dryer, but after that lesson, the washer definitely had the BestBuy extended warranty. (It took over a MONTH to get a 2 month old dryer fixed, since GE wouldn’t just replace it, and if I’d had the BestBuy warranty, it would have been replaced within days)

Various other things have come up, and I’m a bit proud of being able to do most of them myself. It’s now fairly easy for me to change a toilet fill valve and replace the washer rings on a ball faucet 🙂 I’ve changed more light bulbs than ever, but it’s certainly made my house much more a ‘home’. And, I don’t see ever WANTING to work from an office again. LOL!

2020… who’da thunk it…

Starting my ‘year in review(s)’ a bit early. To say 2020 has been a YEAR is an understatement. COVID-19 has changed everything, and in some ways, I don’t want to go back to the ‘normal’ way of doing things.

One of the first things that changed this year is that in March, I started working from home, on a more-or-less permanent basis (my company(ies) would want less, I’m happier with ‘more’, lol) Having to be home ‘full time’ has made me change a bit about my house, computers, and music. Sooo… the year in review is going to be broken into a couple of different parts. One part is going to focus on the house stuff (gawd, way too much house stuff). Another part will focus on music, Third and fourth will be health and personal technology. At the end, I’ll write something up about the computer industry.

2020 is definitely one for the record books, and it wasn’t all bad. I hope to be able to look back at these posts to remember just what happened with all of the changes.

Here we go!!!!

2019 Toys that made enough sense to buy or subscribe to…

After reading a post on The Furrygoat’s Experience blog about his year in review, I decided to post the things that have made sense for me to purchase and sign up for. 2019 has been a rebuilding year, as the last couple of years have been doing things only out of necessity, not out of what I wanted to do. So, in no particular order, here’s some of the things that made sense for me this year:

Services:

  1. Disney+: Ummm, everything Disney which includes Star Wars, Pixar, and the Marvel Universe… for $7 a month… oookaaayyy, how do you NOT sign up for that? Bonus, the Mandalorian was good out of the gate. It’s not Firefly, but, hey, what is?
  2. Youtube Unlimited: NOT the TV Service. This is $11 a month to remove the ads from Youtube (and gives you the music service). Frankly, it’s sad that it’s worth it to remove the ads, but it truly is. I watch training and product videos, and nothing is worse than the ads popping up. Now that they are gone, I find myself actually using the video management feature rather than just searching all the time. Bonus, I did sign up for the TV service to be able to watch some things away from the house. Second Bonus, YouTube integrates with the Movies Anywhere platform, so my movies from everywhere else can be watched on Youtube.
  3. LinkedIn Learning / Groove 3 / Udemy: These three get lumped together for education. I find most of what I ‘watch’ comes from here, as I been working on learning new skills, and brushing up on my old ones. Some advice, before buying a class on Udemy, make sure you search for coupon codes, the classes should never be more than $10-15
  4. Mint.com: Actually free, but worth being a target for ads for. This one is a bit controversial, my friend and I go back and forth on this one. There’s no ‘paid’ tier, so there’s no way to get rid of the ads. For me, thought, it’s been very helpful, allowing me to finally retire Quicken. The betas of the iOS apps look promising, as they move the ads out of the main pages. Not sure if that’s good enough, but we’ll see. Hopefully they’ll offer a way to pay to get rid of the ads at some point.

Hardware:

  1. Apple TV to Apple TV 4K upgrade: I did this one because someone I know needed the older version, and hey, I wanted to get the latest and greatest Apple TV. Probably wasn’t worth the upgrade cost, but it does allow me to seriously think about a 4k TV in the nearer future
  2. Apple 16″ MacBook Pro: my iMac was OK, especially with the external SSD HD upgrade, but when a friend of mine gave me a 4k monitor, all hell broke loose. To get the monitor to actually work required changing out my Thunderbolt 2 dock to a thunderbolt 3 dock, changing the display types, and various other machinations. In the end, the good discounts on the MBPs and the desire for more CPU / better video card won out over common sense, so the new MBP came home. So far, it’s been a good upgrade, as it’s got me back to using the computer. The iMac just wasn’t inspiring. For next time, always upgrade the memory. I didn’t this time, and am already kicking myself a bit. I’ll survive, but I should have gone 32 gigs…
  3. iPhone 11 Pro Max: Ok, somewhat better name than the XS Max, still horrible. Basically, it was a photographer’s upgrade. The camera and the software that works with the cameras is amazing. The battery is better. Everything else is the same. One word of warning, though. If you are sending back an iPhone to AT&T, MAKE SURE TO GET THE TRACKING NUMBER!!!!!!
  4. AirPod Pros: This is a no-brainer for me. I work in a rather noisy office. The noise cancellation feature made these an automatic purchase. Great upgrade over the AirPods. I just hope the battery life is better than before. The AirPods had a nasty problem of the charge that they held went to 1/2 in months (my talk time went from 2 hours to 1 in a shockingly short amount of time). This time, AppleCare was offered, and I’ve bought that for them if the battery charge dies like that again.

This year has been a great tech year. Finally, some compelling reasons to upgrade and some very compelling services. Looking forward to 2020!

A very Apple year (2018)…

Somehow, I didn’t publish this last year… I’m getting back into blogging, and trying to clean the blog up. I like having this for memories, almost like a journal, so, instead of deleting the post, I’m publishing it now… lol

As 2018 comes to a close, I started looking at my computer purchases over the year.  One thing absolutely stood out, it’s been a very Apple year.  This is not necessarily a bad thing, lol.

First up this year was an iMac purchase sometime around February.  My 7 year old Macbook Pro decided to die, with no luck at reviving it.  The base model 27″ iMac was on sale so I was able to get *something* to do work on.  A quick upgrade to 16 gigs of memory, and my new computer was up and running.  Unfortunately, it had the Fusion drive, so I felt like I stepped backwards a bit with speed.  More on this in a bit…  Still, a great computer, more than enough for what I have been doing lately.

Next, my first generation iPad Pro lock button got jammed.  Instead of being smart, and using the accessibility options for emulating the button, I jumped in and bought the 2nd generation iPad Pro.  Great update, with a better screen, faster processor, etc…

I managed to go several months with no new Apple toys… alas, that didn’t last…

Enter the iPhone XS Max…  The iPhone X that was the same size as my iPhone Pluses (I really need big screens).  This was ordered on day 1, as my iPhone 7 was acting weird for me.  The iPhone upgrade has been a mixed bag.  The hardware has been awesome, but there are some things that are driving me crazy.  As much as I know that FaceID is better, for some reason, I’m having a difficult time adjusting.  I don’t always get my face lined up, so what used to be just ‘putting my thumb on a button and it always works’ has turned into trying to aim the phone at my face a half dozen times and then finally typing in my code.  Not the easiest thing to do when you are trying to open your phone fast.  Also, Facebook Live decided to give me a bunch of grief, with horrible recordings for a while.  At least the Facebook issue has been fixed!

At the same time, the Apple Watch 4 showed up.  The watch has been an interesting purchase.  I had hoped to use it for exercise, and that certainly has been a good starting point, but what has really jumped out at me is how helpful it is for notifications.  I almost always was checking my phone for messages / texts / etc…  I don’t need to do that now, as the watch alerts me.  Always a double edged sword, as now people expect instant responses… lol

It’s a good time to be a computer junkie, the little stuff

Since my last blog post, I’ve received both my iPhone XS Max (I will ALWAYS hate the name) and my Apple Watch Series 4.  The iPhone is a great upgrade from the 7, and the watch is very interesting.  But, that’s not what I am going to write about today, lol.

I mentioned in my last post that it was a great time to be a computer junkie, and I talked about all the big stuff, the phones, the tablets, the computers, the development.  One thing I didn’t mention was the ‘little things’.

What are the ‘little things’?  These are the things that make the everything ‘just work’.  Things aren’t perfect, but the improvements are astounding.

First thing is the hardware that is totally awesome… The current Apple Magic Mouse and the Apple wireless keyboard with the number pad.  I use both of these extensively, and they are great.  Both are rechargeable, so there’s no buying of batteries, and the charges seem to last forever.  I was worried about the keyboard, as there are times when you need to get to the computer without Bluetooth, but it turns out that the charging cable can be plugged into the computer, and it functions as a regular USB keyboard.  The Magic Mouse just works.  A friend of mine has a Bluetooth mouse, and it drops the connection like crazy, and it’s new!

For the software, setting up a new device with Apple is as easy as holding the two devices near each other.  New phone?  Hold them near each other, then choose the backup to restore from, you’re basically done!  It’s those types of details that the new software is getting much better at.

The little things really help!

It’s a good time to be in computers (Apple and Microsoft are finally building what *I* want!)

I’ve been working with computers for more than 30 years (I started *very* young!) and the computer eco system has never, ever been better.  Up until recently, I truly thought the best, most fun years where when I was young, hacking away at a Commodore 64, and understanding every little bit of what it could do, and still always being blown away with what other people were doing (I’m still amazed at the computer game Elite on the Commodore 64)

But, with the recent releases by Apple and Microsoft, I can’t think of a better time to be a computer junkie.  Both companies are finally building the things that I’ve always wanted…

Let’s start with Apple

With the release of the latest iPhones and Apple Watch, the wireless hardware side of Apple is hard to imagine getting better.  The iPhone is amazing.  From what I’ve read, the camera is top notch.  A friend of mine recently let me use her DSLR, and the photos were amazing.  My iPhone 7’s camera all of a sudden felt like crap.  The iPhone XS seems to have fixed that situation.  From what I’ve read of the initial reviews of the XS, the camera improvements bring the photography to another level.  I’m hoping that my photos get better with the new phone, lol.  The Apple watch finally seems to be useful, with the LTE from the 3rd generation plus the bigger screen and 64-bit of the 4 finally making it something more than a novelty.  I’ve ordered both the iPhone and the Watch, and look forward to using them extensively.  Another aspect of the wireless side of Apple that has been impressive is the AirPods.  I cannot imagine living without them.  Finally, the iPad is my defacto computer.  I use my iPad for everything except programming and mixing, and it does actually help me with mixing 🙂  I’m really looking forward to the rumored new iPads, but even the current one is more than I really need.

The computer side of Apple is doing very well, too.  The latest MacBook Pro, with 6 cores, is exactly what I would want.  The biggest drawback to any notebook is expandability, and with Thunderbolt 3, Apple has really solved that problem.  Apple also invested big in getting external graphics cards to work the way one would want in macOS Mojave.  Having the eGPUs work is huge, as the iMac and the notebooks aren’t as ‘hardware limited’ as they used to be.  The current iMac has some of the best screens out there, and rumored iMac update will have the 6 core processors.  The iMac Pro is exactly what I would want from a computer.  I’m really looking forward to the Mac Mini and Mac Pro updates, but they no longer are what I would ‘have to have’, like I did with the original Mac Pro.

For Microsoft, things are good, too.

Microsoft’s software has grown in leaps and bounds in the last several years.  Steve Ballmer leaving Microsoft was one of the best things to ever happen to the company, at least from a developer’s point of view.  Microsoft embracing cross platform with Linux, Git, and .NET Core has been amazing.  Buying Xamarin, and incorporating it into Visual Studio has enabled easier cross platform development.  Windows 10 is a great operating system.

It’s a good time to be a computer junkie…

WWDC 2018 thoughts

It’s been over a year since I last THOUGHT about writing a blog post, and even longer since I completed one!  So, it’s now time to get this thing back going.

Today was the keynote for WWDC 2018.  Last year’s WWDC was super exciting:  new iPads, updated iMacs, the iMac Pro, and the HomePod.  iOS and macOS were almost afterthoughts.

This year was different.

In 2018, the focus was software.  Now, I have no issues with that, if the software is exciting.  Unfortunately, 2018 is looking to be a bust.  Here’s my takeaway:

The Good:

  1. Siri automation – Basically, run a macro by telling Siri to do something.  Programmers will love it.  It will be cool for the general population once the apps start adding their own templates for it.
  2. macOS store and iBooks (Apple Books) store updates.  The new iOS store has been very good.  Bringing those concepts to both the macOS store and the Apple Books store will help both systems.  Loosening the restrictions on the macOS sandbox enough to let Transit & Office 365 be back in the store is awesome!
  3. macOS dark mode.  White is NOT easy on the eyes.  End of Story.  Even Microsoft understands this, look at Windows 10…

The OK:

  1. Speed improvements for iOS.  Great news, but, why the hell was it so bad in the first place?
  2. Group notifications.  Well, it’s a start.  Notifications are a real PITA.  I’m not sure what *should* be done, but currently, they are a bit of a mess

The Ugly:

  1. OpenGL & OpenCL depreciated?  Ummm… OpenGL is why a lot of games run on the Mac.  It’s a cross platform standard.  Taking that away will force devs to code to two different graphics standards that are platform specific.  Great for optimizations, but adding double duty to game developers who are already short of time & money will cause many studios to rethink their macOS commitments
  2. iCloud?  The web?  Is it just me, or did Apple completely forget about the web?

My last point really has me concerned.  Apple is reverting back to the ‘old Apple’.  They control the hardware, and are working on controlling the software.  That’s great, and it certainly locks the users in, but it feels like a very short sighted move.  No iCloud announcement is really worrisome.  iCloud used to be way ahead with the UI, but lately, it’s felt very dated.  Google’s gmail update, and Microsoft’s changes to outlook.com / office 365 are beginning to feel very modern, while iCloud is starting to just feel old.  Couple the lack of announcements for iCloud with no mention of Safari at all the keynote, and it just feels like Apple doesn’t care about the web too much.  The dev team is focused on Swift and native apps.  Not really sure where it’s gonna lead…

Understanding Git

I’ve been meaning to write this post for a while.  Lately, the places I’ve worked at have been pushing to go from Team Foundation Version Control (TFVC) or an SVN based derivative to Git.  To me, they both were the same.  They both handle branching.  They both do all the same stuff.  I just couldn’t put my finger on the difference between the two.

Over the past 8 months, I worked in a shop that converted from TFVC to Git.  And, for some reason, working with the source control did feel different.  I went from a big proponent of TFVC to actually liking Git better.  And I *still* couldn’t figure out the difference.

It finally hit me.  I was explaining the differences to someone at my new job, and I got a flash of insight that may have been obvious to everyone else…

Here’s what I finally understood:

TFVC or any SVN/PVCS/etc… based source control systems build their branches on history.  When you branch, you start with the base, then build on top of that to get your files.  TFVC is always looking backwards.

Git works off of changes.  While branches start off of a specific base, you are able to apply Git changes to literally ANYTHING.  It is very easy to apply a change to a completely different branch, as Git doesn’t worry about the base.  It just cares about the change.  Git allows you to look forward.

When I worked with Git, if I wanted to apply my changes, it was stupidly simple to create a new branch off of the master, and just apply my changes from my commits, and boom, my commits were up to date.  Trying to do something like that on TFVC was insane because the comparisons started with the point where the branch occurred, and then had to be reconciled.  Doable, but no where near as efficient.

After that, I now really enjoy Git for feature branching.  It’s still a bit of a nightmare to keep track of everything, but the tools for that are getting better and better.

The real reason the music industry is sinking

Well, at least *my* opinion of why… 🙂 This post doesn’t contain facts and figures, but a gut level reaction…

Today, it finally hit me why the music industry is nothing like the industry was through the 90’s.  What event brought this revelation on?  It was when I was listening to my weekly ‘New Music’ mix from Apple Music.  This new feature has been huge!  I’ve been introduced to some modern music that sounds like my favorite classics!  Awesome!

But…

What happened was that I listened to the music, thought ‘cool’, and moved on.  I didn’t buy the band’s album, either electronically or physically.  In fact, I had heard the band on my playlist a couple of weeks ago, had thought ‘cool!’, and promptly forgot the name of the band.

That is when it finally hit me…

I don’t cherish the music anymore.

Let me repeat that… I don’t cherish the music anymore.

What do I mean by that?

Well… when I was growing up, getting a record/cassette/CD was a big deal.  It was expensive!  ($10 on a student job salary or worse, an allowance was a LOT of money!). Plus, I didn’t have a way to pick and choose songs, unless you spent $4 on a single.  Also, playback was pretty linear, you really couldn’t copy different songs from different albums.  You either had to build a mix tape with the double cassettes or just listen to the whole album.  Finally, the playback devices really didn’t support multiple albums.  I remember listening to the same cassette for a month in my car.

This meant that I listened to an album a LOT.  Not just once or twice, but ten times, 100 times, even more.  I got to know those songs.  Got to know the song before each song.  Got to know the song AFTER each song.  Really dug into the music.  Really listened to the words.  Identified with the songs.  Even mentally stored them away for a time when I would understand them.  And, so, when the band I would listen to for a month on end had a new album, I purchased.  Wash, rinse, repeat…

With that, I cherished every record, cassette, or CD I ever owned…  the music was part of me.

Then, along came .mp3s, Napster, and subscription music services.

Now, for $10 a month, a person can get almost everything ever recorded.  It’s like Columbia House’s advertisements came true!  Any album, any song, any time!  Music nirvana!

And, in doing so, the music industry lost something.

They lost the ability to connect.

Now, if you don’t dig a song, it’s ‘next’, there ‘something else out there’.  Or, even if a song resonates with you, you don’t listen to it for hours on end.  I heard some great music on my new playlist, and I did nothing to further the band (i.e. buy the album in some form).  I didn’t even make a play list or listen to the whole album.  In doing so, I stopped cherishing the music.  These songs are forgotten 20 minutes after I listen to them.  I do nothing to etch them on my soul, like I did when I was younger.  These are not songs that I will hate upon listening to them, then grow into them after 10, 20, even 30 years.

The music truly became a commodity, and the only ones that survive are the mega stars that the record companies create.  Everyone else will live off of the crumbs.

 

No sleep ’til dub dub (WWDC)

Actually, that’s not true.  I’ll sleep a LOT before Apple’s WWDC conference this year.  For some reason, Apple’s announcements haven’t had the urgency or excitement that they used to have.  The OS X (macOS) / iOS changes haven’t been terribly drastic lately.  The built in programs have been incrementally improving, but nothing earth shattering.  I’m not even sure that I truly care that much this year.  There have been no major change rumors, and with no major hardware announcements going to be announced, it might just be one of Apple’s quieter Apple-notes.

Hopefully, I’m wrong!  I want to see new Mac Pros, Macbook Pros, updated iMacs, etc…  I’d love to see some cool changes in the OS.  OS X is incredibly awesome, so I guess boring is a good thing!

Wow… talk about some surprises from Microsoft

Well… Build 2016 certainly started out with a bang…  For some reason Microsoft is having a complete love affair with Linux.  Between buying Xamarin, SQL Server for Linux, and today’s announcement that bash will be native in Windows 10.  Oh, let’s not forget that .NET for Linux/Mac and ASP.NET for Linux/Mac are real things, too, and fairly close to shipping.

“Wow, this is great!”, you say.  On the initial announcement, yeah, this seems like a great idea, something developers have been clamoring for for YEARS.  No more Cygwin, no more crazy emulators, native everything Linux on a Windows box!

But, as Charles Dickens wrote in the tale of two cities, ‘It was the best of times, it was the worst of times.”

After getting over my initial giddiness of these VERY cool announcements, the question that came to mind is ‘WHY!?!?’  Why is Microsoft doing this?  This isn’t just a ‘hey, lets do some cool experiments to get developers back’.  These are very serious investments that are not being done on a lark.

First off, the Linux love affair seems to have started with Satya Nadella.  I think under Steve Balmer, the words Linux, Unix, and OS X (and iOS) were banned.  Microsoft had not successfully done cross platform software since the early days of Excel for the Mac, and porting it to Windows.  Windows for Alpha, and Windows for Itanium never took off.  Office for Mac was a red-headed step child.  Heck, even getting Windows Mobile to run on the phones proved to be a huge challenge.

Since Mr. Nadella took charge, Linux has not only been unbanned, but it has completely been embraced.  It started with the Mac and either Silverlight or Office.  Since OS X is based upon BSD Unix, Microsoft had to come up with tools to allow them to develop for the Mac.  Microsoft started out slow, but lately, they have been able to bring a pretty good parity to Office for the Mac.  In doing so, they have build up some better understanding of developing for Unix, and are now applying that to Linux.

The one thing that worries me is that Microsoft seems to be developing somewhat of an inferiority complex.  Microsoft under Bill Gates and Steve Balmer would have always been ‘we think ours is better, deal with it’.  They would be almost as arrogant as Steve Jobs.  The new Microsoft is almost apologetic.  ‘Hey, we want to be where the cool stuff is, and we realize our stuff isn’t cool’.  Which is sad, considering that the latest Visual Studio is awesome, Powershell is cool, and Windows 10 is probably the best OS they’ve ever done.

Am I excited by what Microsoft is producing?  Sure!  I love the fact that my skill set will start to be more cross-platform.  I just want to know ‘why’.  Yes, I understand this will help Azure, and that is where the future of Microsoft probably is.  But, this seems like a LOT of resources are being poured into this Linux initiative, and there doesn’t seem like a way that Microsoft will make money.  Microsoft is not Google, where they only play with cool.