Monday, August 31, 2020

As a front end developer, I still need to know what is going on in the backend.

As a front end developer, I still need to know what is going on in the backend.

Using data from Stack Overflow and other sources, this author explores the state of JavaScript vs. Python vs. Go fight.


With a lot of rework as a Swift Package, here is my official release of SlamMacOSKit, a closure based approach to Mac UI programming.

With a lot of rework as a Swift Package, here is my official release of SlamMacOSKit, a closure based approach to Mac UI programming.

I have written and given talks on the advantages of Closure Based programming.


Demo app showing SlamMacOSKit use: https://github.com/magesteve/SlamMacOSKit-Demo

Ps. Yes, there is an iOS version, but it has not yet been completely moved to Swift Package. 

Sunday, August 30, 2020

The Ghost Howls is a great source of information regarding VR & AR.

The Ghost Howls is a great source of information regarding VR & AR.

Antony ”Skarred Ghost” Vitillo has some great opinion pieces and interviews, all worth reading.


Saturday, August 29, 2020

There are some great people in the world, in small ways that matter.

There are some great people in the world, in small ways that matter.

Rather than get upset when his motion detector went off, this guy chalked in a racetrack for the 3-year-old trespasser.


Friday, August 28, 2020

Thursday, August 27, 2020

iOS 13 is established, so here is a great checklist of features you should add to be an up-to-date app.

iOS 13 is established, so here is a great checklist of features you should add to be an up-to-date app.

Anupam Chugh created this list last year that any developer needs in order to modernize their app.


Part 1 of 2 part talk on identifying the distinct subgroups within a game, and the problems in doing this.

Part 1 of 2 part talk on identifying the distinct subgroups within a game, and the problems in doing this.

This article was the basis of a talk by Nick Yee at the 2020 Game Developer Conference, based on 5 years of surveys.


I am looking forward to the 2nd part.

Wednesday, August 26, 2020

This is a good background article for those new to iOS/Mac dev, explaining into object communication.

This is a good background article for those new to iOS/Mac dev, explaining into object communication.

I have slowly been replacing all my code with Closures, as the best way to handle this task.


Old friend and colleague Duncan Champney release this open-source gem BlueView.

Old friend and colleague Duncan Champney release this open-source gem BlueView.

BlueView is a Swift-based UIView that blurs its contents with variable radius


Monday, August 24, 2020

One of the most common tasks is handling a cache of images, ones often downloaded from the cloud.

One of the most common tasks is handling a cache of images, ones often downloaded from the cloud.

Building on NSCache, Maksym Shcheglov gives us this Swift implementation of an image cache.


From indie developer 42tones, SynthVR is a modular synthesizer for virtual reality.

From indie developer 42tones, SynthVR is a modular synthesizer for virtual reality.

I always thought that VR would be the perfect environment for designing virtual electronic circuitry. 



Sunday, August 23, 2020

Youtube video of KrazyKen from Computer Clan after he purchases an antique NextCube at a computer swap.

Youtube video of KrazyKen from Computer Clan after he purchases an antique NextCube at a computer swap.

He talks about its history, as he slowly takes Steve Job’s brainchild apart. Remember this is where OS X came from.


Saturday, August 22, 2020

Panel Discussion for MagFest 2020 (Jan 2-4) on the Future of VR/AR/MR.

Panel Discussion for MagFest 2020 (Jan 2-4) on the Future of VR/AR/MR.

I am proud of the panels, and tracks, that I organized, not for myself, but for the group of experts we gathered.


Friday, August 21, 2020

"AppleBus Developer Conference" paper pad

While cleaning out the catacombs, also known as my basement, I found a white 8 1/5 x 11 pad of paper with the letterhead "AppleBus Developer Conference". It had a Picasso style Apple logo (not Mac logo) on it. Any ideas about the time of this conference? I am sure it pre-dates WWDC, but not as early as the first ProDOS conference (Apple's first developer conference).

Addendum: With help from the Facebook Apple 80s group, this was identified as being from a 1984 conference.

Yes, thanks to the popularity of iPad as a desktop machine, we finally have support for Mouse & TrackPad within iOS.

Yes, thanks to the popularity of iPad as a desktop machine, we finally have support for Mouse & TrackPad within iOS.

Warren Burton of RayWenderlich team excellent tutorial on using external iOS devices.


After 5 years, M. Kerem Keskin believes developers are still not using all the features of UIStackView.

After 5 years, M. Kerem Keskin believes developers are still not using all the features of UIStackView.

I agree 100%, having only recently making IStackViews the center part of my UI.


Thursday, August 20, 2020

A bit of a rambling, but interesting piece talking about Apple’s Direction.

A bit of a rambling, but interesting piece talking about Apple’s Direction.

Alex Kantrowitz has a point, Apple solutions are often other people’s work.


A slightly condescending journey through the early days of Phone Phreaking.

A slightly condescending journey through the early days of Phone Phreaking.

During the late 70s, John Draper discovered that a Captain Crunch serial whistle allowed free long-distance phone calling


John also wrote EasyWriter, the first word processor for the Apple //, so he was well known in the Apple community. I met him years later at a WWDC party. He had just returned from a cultural/technical exchange with Russia. He was telling us stories about seeing the still vulnerable Soviet phone system, and suspecting they did not know who he was.

Wednesday, August 19, 2020

“The most version of iOS you support means a larger base of customers” is an often debated topic.

“The most version of iOS you support means a larger base of customers” is an often debated topic.

Antoine van der Lee of Swift Lee dwells into the what version you should support.


Apple’s numbers are amazing when it comes to installed base who upgrade to newer Ones. Other platforms would kill for similar percentages. Combined this with fact later OSes have improved SDK and features, so in general, I only support one or two releases back.

How do you keep up with all the good software coming out? You examine what others like.

How do you keep up with all the good software coming out? You examine what others like.

There are enough interesting items on this list, to make me want to review all of the apps.


Tuesday, August 18, 2020

Followup article from CNN regarding Fortnite suing Apple & Google

Followup article from CNN regarding Fortnite suing Apple & Google. 

They obviously had this scheduled for a while, since the Epic had a PR campaign, complete with parody video, planned out. 

https://www.cnn.com/2020/08/15/tech/fortnite-apple-google-lawsuit/index.html

The phase-out of Oculus Go, a device I heavily recommended for low-end VR, has started.

The phase-out of Oculus Go, a device I heavily recommended for low-end VR, has started.

RoadToVR reports it is no longer part of the Oculus SDK.  This is a shame.


I disagree with Oculus' decision.  6DOF (Degrees of Freedom) is better than 3DOF, but there was a place for an inexpensive 360 video player.

Some of these things are interesting, some are scary, and some are just silly.

Some of these things are interesting, some are scary, and some are just silly.

A quick review from an attendee of Black Hat, the Las Vegas Computer Security Conference.


Monday, August 17, 2020

This may be Epic (pun intended). Both Apple & Google shut down Fortnight, and get sued in response.

This may be Epic (pun intended). Both Apple & Google shut down Fortnight, and get sued in response.

I believe that it fair for the mobile platforms to have part of the software revenue (including in-app purchases). I think 30% is too much.


This case will have a major impact on the future.

Followup article from CNN: https://www.cnn.com/2020/08/15/tech/fortnite-apple-google-lawsuit/index.html

MSCaptureView for Mac Video/Audio capture, A new Open-Source Swift Package from Steve Sheet

MSCaptureView for Mac Video/Audio capture, A new Open-Source Swift Package from Steve Sheet 

A replacement for AVCaptureView, this versions is much more turn key, with a lot of the functionality handled for you.


I am currently working on some Video editing/capture tools for 2D and 360 Videos (VR).  I wanted better control, so I created this new subclass of NSView, with similar but slightly more comprehensive abilities than AVCaptureView.

Sunday, August 16, 2020

A nice article by Ross Butler on NWPathMonitor, a replacement for Reachability.

A nice article by Ross Butler on NWPathMonitor, a replacement for Reachability.

The older Reachability API detected if and how the iOS device accessed the network, but not when it changed. 


With everything going on, I never noticed that MagFest 2020 posted my VR talk on YouTube.

With everything going on, I never noticed that MagFest 2020 posted my VR talk on YouTube.

Besides being moderate on other VR discussions, I gave my annual State of the Union of Virtual Reality in January.


Saturday, August 15, 2020

Danny Sapio list of good UX/UI practices.

Danny Sapio list of good UX/UI practices.

Yes, there are plenty of lists out there, and some of his points are basic, but others made me think. It is always good to review more thoughts on this.


ps. I do not know the difference between UI & UX, nor do I think it important. Before all the experts attack me, I am more than willing to state that there is a difference between UI & UX. I know this for a fact because I could never find two experts who agreed on what made up a User Interface. Nor two who agreed what User Experience means. So of course, there is always a difference between UI & UX. Please do not worry about the nomenclature, and pay attention to the points that make up better software.

Simulator vs VR? It is unfair to ask which is better. instead, point out what each is best at.

Simulator vs VR? It is unfair to ask which is better. instead, point out what each is best at.

This gentleman compares his homemade A-10C Warthog Simulator to VR.


I agree 100% with him about the importance of physical elements for a simulator. The touch and positioning of the console are impossible to simulate with VR.  This is one of the reasons I was so impressed with the Void VR centers, with their brand of Hyper VR; holding weapons, and touching walls.  When AR becomes better, the mixing of simulators and AR goggles will be groundbreaking.

Youtube channel for Warthog Project: https://www.youtube.com/channel/UCJq3cq9N6xYF0fAvTgpwoBg

Friday, August 14, 2020

Eric Yang gives us 5 useful Xcode extensions fro Swift Developers.

Eric Yang gives us 5 useful Xcode extensions for Swift Developers.

Even if you don’t want to use these tools, take a look at what is possible in your own Xcode extensions.


Composer & Audio director Hwiman Ryu explains about "impactful sound design”.

Composer & Audio director Hwiman Ryu explains about "impactful sound design”.

I like how he talks about “hit satisfaction" when having the sound interact with the player.


Thursday, August 13, 2020

No, I am not trying to make money selling Monitors, but all single-screen programmers should read this.

No, I am not trying to make money selling Monitors, but all single-screen programmers should read this.

Only within the last few years have I started using 2 & 3 monitor arrangement, why have I not done this before?


As reported in Tidbit, Apple has updated their Style Guide. This is required reading for any Apple programmer!

As reported in Tidbit, Apple has updated their Style Guide. This is required reading for any Apple programmer!

As the UI for Apple devices change, developers have to keep up to date on expected appearance.  



Wednesday, August 12, 2020

A two-part tutorial on how to build an iOS Music Player, that works with Apple Music

A two-part tutorial on how to build an iOS Music Player, that works with Apple Music

This articles uses SwiftUI, and continues with the Music AP, and finishes with the MediaPlayer Controller. Well Done!



Sometimes it is not the code you develop that makes you a great developer.

Sometimes it is not the code you develop that makes you a great developer.

How you handle being critiqued and how you share unfinished code are 2 of the ideas that Shilpi Gupta brings up.


Tuesday, August 11, 2020

An amazing useful list of Open Source Mac Applications

An amazing useful list of Open Source Mac Applications

Christian Stewart compiled this list from the original Git repository of Serhii Londar.


Serhii Londar’s original repository https://github.com/serhii-londar/open-source-mac-os-apps

Monday, August 10, 2020

From last year, an article by Luca Angeletti on using features of Swift Codeable to work with multiple Date formats of JSON

From last year, an article by Luca Angeletti on using features of Swift Codeable to work with multiple Date formats of JSON

This technique can be used for a variety of uses when dealing with Swift codable. I often have issues with simple YES-TRUE-1 JSON conversion.


Core Haptic article by Andrew Tetlaw of the RayWenderlich team.

Core Haptic article by Andrew Tetlaw of the RayWenderlich team.

Just liking syncing video with audio is important, syncing haptic vibrations with audio is part of good UI design.


A great merger of technology, nature, and creativeness.

Sunday, August 9, 2020

A National Geographic photographer has a new use for Drones, using them as a spotlight for nighttime photoshoots!

A National Geographic photographer has a new use for Drones, using them as a spotlight for nighttime photoshoots!

The photos are time elapse, thus the lit circles are simply one drone going around in a circle. It causes an amazing effect and appearance.

https://www.nationalgeographic.com/magazine/2020/09/the-surreal-art-of-unnatural-lighting/

A great merger of technology, nature, and creativeness.

Nintendo's massive security breach is causing a moral issue for Computer Historians.

Nintendo's massive security breach is causing a moral issue for Computer Historians.

These are the type of people who love to document the history of game design, but what happens when the documentation from developing Mario titles came from an illegal hack.

Saturday, August 8, 2020

In June 2018, Apple persuaded the developers of Obscura Camera app to give their app away for free. The story is worth knowing.

In June 2018, Apple persuaded the developers of Obscura Camera app to give their app away for free.  The story is worth knowing.

The promotion was a success for the developer Ben McCarthy, but not in the way he expected.


Friday, August 7, 2020

Using VR sensors on the foot, this mod to the popular Beat Saber is one of the first feet tracking VR experiences.

Using VR sensors on the foot, this mod to the popular Beat Saber is one of the first feet tracking VR experiences.

Not just for dancing, knowing feet position is vitally important for many body movement modeling uses.  We should see more of this in the future.


A friend at GMU is using similar technology to track the human body during historical swordplay.

Feet Saber Video: https://youtu.be/jSXJ-TJhuQo

Thursday, August 6, 2020

Have we created Artificial General Intelligence (AGI)? Or at least, very close to having a program that can do anything a human can ask of it?

Have we created Artificial General Intelligence (AGI)? Or at least, very close to having a program that can do anything a human can ask of it?

Sometimes called General Purpose AI, the OpenAI team givens us the language model GPT-3. Julien Lauret makes some interesting points regarding this tool.


Wednesday, August 5, 2020

An interesting proposal by Nickas Millard on how to improve code by reducing the use of If-Else.

An interesting proposal by Nickas Millard on how to improve code by reducing the use of If-Else.

I doubt If-Else will go away, but Nickas gives solid solutions on how not to use them.


In the Swift world that I live in, the expansion of the Swift Case statement has greatly diminished the use of If-Else. Personally, with the use of the Guard statement, my code immediately takes care of error states like out of range or bad parameters (a common use of Else clause) at the start of a code block. This also greatly reduced the number of Else clauses.

3 Years of Daily Tech Blogging!

3 Years of Daily Tech Blogging!

On Aug 4, 2017, I posted my first of what would become a daily ritual: finding a technical posting or article that I found interesting. That was the only requirement. Be it Apple Development, Swift programming language, VR/AR, Machine Learning, Computer History, Game Development, Social impact of tech, General Science, or any other topic that makes one think. A few breaks for vacation (and several double posting) means over 1100 posts on Blogger, Twitter, LinkedIn, and Facebook. I post them for the same reason I teach classes and write articles; as a way for me to stay current in a technologically changing time.  I have hoped others find it as useful as I see it.  Thanks for listening.

LinkedIn: https://www.linkedin.com/in/steve-sheets/
Blogger: magesteve.blogspot.com
Twitter: https://twitter.com/magesteve
Facebook: https://www.facebook.com/steve.sheets

Tuesday, August 4, 2020

Introduced at WWDC 2019, CryptoKit provided the much needed tools to authenticate and encrypt data.

Introduced at WWDC 2019, CryptoKit provided the much needed tools to authenticate and encrypt data.


Audrey Tam of Team RayWenderlich provides a tutorial on this new Apple tech.


https://www.raywenderlich.com/10846296-introducing-cryptokit


Monday, August 3, 2020

Reporting in as part of the Department of Redundancy Department, Recursive Enums.

Reporting in as part of the Department of Redundancy Department, Recursive Enums.


Mayur Rathod shows a Swift Enum pattern is a surprisingly useful method to describe complex structures.


https://levelup.gitconnected.com/swift-understand-recursive-enum-in-five-minutes-d4aff8bd50bb