Boot PPC PowerMac from USB

•April 27, 2019 • 1 Comment

First, familiarize yourself with the following articles:

Now for the fun part:

  1. Have a USB thumb drive handy (I successfully used 512MB, 1GB, 2GB drives)
  2. Download and unzip the 9.2.2 Boot Kit (the resulting file will have a .toast file extension)
  3. Download and unzip HDD Raw Copy Tool
  4. Use HDD Raw Copy Tool to write the Toast file to the USB thumb drive
  5. Turn on the Mac and immediately hold down <Command><Option><O><F> until you see the white Open Firmware screen
  6. Type “boot usb0/disk@1:,\\:tbxi” (without the double-quotes) and press <Enter>

(Be aware you may need to change the port number of the USB device depending on the Mac model and which port the USB thumb drive is plugged into.)

  1. Voila!

Installing Google Chrome for All Users

•December 26, 2018 • Leave a Comment

I find myself repeatedly looking this up so here’s my own link:

Google Chrome for All Users (Windows x64)

Or if you prefer the offline installer, look for “Chrome MSI for Windows 64‑bit” on the Enterprise page.

 

Mac OS X Software I Install

•October 3, 2018 • Leave a Comment

Mac OS X Lineage

•February 6, 2018 • Leave a Comment
Version Name Released Platform Kernel
10.14 Mojave September 24, 2018 x86-64 64-bit
10.13 High Sierra September 25, 2017 x86-64 64-bit
10.12 Sierra September 20, 2016 x86-64 64-bit
10.11 El Capitan September 30, 2015 x86-64 64-bit
10.10 Yosemite October 16, 2014 x86-64 64-bit
10.9 Mavericks October 22, 2013 x86-64 64-bit
10.8 Mountain Lion July 25, 2012 x86-64 64-bit
10.7 Lion July 20, 2011 x86-64 64-bit, 32-bit
10.6 Snow Leopard August 28, 2009 IA-32, x86-64 64-bit, 32-bit
10.5 Leopard October 26, 2007 IA-32, x86-64, PowerPC 64-bit, 32-bit
10.4 Tiger April 29, 2005 IA-32, x86-64, PowerPC 64-bit, 32-bit
10.3 Panther October 24, 2003 PowerPC 32-bit
10.2 Jaguar August 23, 2002 PowerPC 32-bit
10.1 Puma September 25, 2001 PowerPC 32-bit
10.0 Cheetah March 24, 2001 PowerPC 32-bit
9.2 Mac OS 9.2 June 18, 2001 PowerPC 32-bit
9.1 Mac OS 9.1 January 9, 2001 PowerPC 32-bit
9.0 Mac OS 9 October 23, 1999 PowerPC 32-bit
8.6 Mac OS 8.6 May 10, 1999 PowerPC 32-bit
8.5 Mac OS 8.5 October 17, 1998 PowerPC 32-bit
8.1 Mac OS 8.1 January 19, 1998 Motorola 68K, PowerPC 32-bit
8.0 Mac OS 8 July 26, 1997 Motorola 68K, PowerPC 32-bit
7.6 Mac OS 7.6 January 1997 Motorola 68K, PowerPC 32-bit
7.5 System 7.5 September 12, 1994 Motorola 68K, PowerPC 24-bit, 32-bit
7.1.2 System 7 March 14, 1994 Motorola 68K, PowerPC 24-bit, 32-bit
7.0 System 7 May 13, 1991 Motorola 68K 24-bit, 32-bit
6.0 System Software 6 April 1988 Motorola 68K 24-bit
5.0 System Software 5 October 1987 Motorola 68K 24-bit
4.0 System Software 2.0 January 1987 Motorola 68K 24-bit
3.2 System Software 1.1 June 1986 Motorola 68K 24-bit
3.1 System Software 1.0 February 1986 Motorola 68K 24-bit
3.0 Macintosh System Software January 1986 Motorola 68K 24-bit
2.0 Macintosh System Software April 1985 Motorola 68K 24-bit
1.0 Macintosh System Software January 24, 1984 Motorola 68K 24-bit

Basic ArcGIS Server 10.8.1 Installation

•January 9, 2018 • Leave a Comment

Profile Preferences

  • Enable single-click
  • Edit desktop themes  to show common desktop icons (Computer, Documents)
  • Show all taskbar icons

System Configuration

  • Replace “My Computer” text with computer and user name
    • Change ownership on “HKCR\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}” to Administrators and allow editing
    • Set “LocalizedString” (REG_EXPAND_SZ) value to “%ComputerName% (%UserName%)
  • Create “C:\Temp” folder
  • Create “C:\KitsapData” folder and add “ArcGISSOM” with full permissions

Utility Applications and Tools

Install ArcGIS Server 10.8.1

  • Install Software
  • Authorize software license
  • Install Patches (use “start /wait msiexec /p patch-file-name.msi”)
  • Create cluster site
  • Install security certificates for each SOC server
  • Update the default REST API references to utilize a newer version of the ArcGIS JavaScript API

Visual Studio 2017 15.5.2: Addition of Flurl to ASP.NET project causes NuGet to incorrectly reference System.Net.Http

•December 19, 2017 • 1 Comment

This incident occurred whilst creating a new ASP.NET 4.7.1 project in Visual Studio Enterprise 2017 (Version 15.5.2):

  1. Created a new ASP.NET Web Application (.NET Framework Standard 4.7.1) and enabled Web API;
  2. Added Flurl.Signed and Flurl.Http.Signed via the NuGet package manager;
  3. Updated all package dependencies.

Upon building and running the web application, an error occurred:

Could not load file or assembly ‘System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Here’s the source error:

Line 21: new { controller = “Help”, action = “Index”, apiId = UrlParameter.Optional });
Line 22:
Line 23: HelpPageConfig.Register(GlobalConfiguration.Configuration);
Line 24: }
Line 25: }

And the full stack trace:

 

[FileLoadException: Could not load file or assembly ‘System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
System.Web.Http.GlobalConfiguration..cctor() +0

[TypeInitializationException: The type initializer for ‘System.Web.Http.GlobalConfiguration’ threw an exception.]
System.Web.Http.GlobalConfiguration.get_Configuration() +14
WebApplication1.Areas.HelpPage.HelpPageAreaRegistration.RegisterArea(AreaRegistrationContext context) in ..\WebApplication1\WebApplication1\Areas\HelpPage\HelpPageAreaRegistration.cs:23
System.Web.Mvc.AreaRegistration.CreateContextAndRegister(RouteCollection routes, Object state) +104
System.Web.Mvc.AreaRegistration.RegisterAllAreas(RouteCollection routes, IBuildManager buildManager, Object state) +190
System.Web.Mvc.AreaRegistration.RegisterAllAreas(Object state) +35
System.Web.Mvc.AreaRegistration.RegisterAllAreas() +7
WebApplication1.WebApiApplication.Application_Start() in ..\WebApplication1\WebApplication1\Global.asax.cs:16

[HttpException (0x80004005): The type initializer for ‘System.Web.Http.GlobalConfiguration’ threw an exception.]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +475
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +176
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +349
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext) +303

[HttpException (0x80004005): The type initializer for ‘System.Web.Http.GlobalConfiguration’ threw an exception.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +658
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +89
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +188

After creating a few dummy projects and testing, I determined the adding references to Flurl.Signed / Flurl.Http.Signed and updating packages using the NuGet package manager added the following dependent assembly in the Web.Config file:

<dependentAssembly>
<assemblyIdentity name=”System.Net.Http” publicKeyToken=”b03f5f7f11d50a3a” culture=”neutral” />
<bindingRedirect oldVersion=”0.0.0.0-4.1.0.0″ newVersion=”4.1.0.0″ />
</dependentAssembly>

I understand what’s going on but not how to fix the dependency reference. I did find however that simply removing or commenting out the dependent assembly reference to “System.Net.Http” resolved the issue (at least presumably until another NuGet update is made).

Since I did not have this issue prior to updating Visual Studio 2017 from 15.5.1 to 15.5.2 last week, I’m making an educated guess that was the cause.

(more to come…)

 

Keyboard Shortcuts for macOS

•November 22, 2017 • Leave a Comment

Text Navigation, Selection, and Editing

  1. Home / End: Command ( ⌘ ) + up arrow / down arrow
  2. Page up / down: Option ( ⌥ ) + up arrow / down arrow
  3. Beginning of line / End of line: Command ( ⌘ ) + left arrow / right arrow
  4. Previous word / Next word: Option ( ⌥ ) + left arrow / right arrow
  5. Select all: Command ( ⌘ ) + A
  6. Select from cursor to previous word / next word: Shift ( ⇧ ) + left arrow / right arrow
  7. Select from cursor to beginning of line / end of line: Command ( ⌘ ) + Shift ( ⇧ ) + left arrow / right arrow
  8. Select from cursor to beginning of document / end of document: Command ( ⌘ ) + Shift ( ⇧ ) + up arrow / down arrow
  9. Cut / Copy / Paste: Command ( ⌘ ) + X / C / V
  10. Undo / Redo: Command ( ⌘ ) + Z / Y
  11. Check Spelling and Grammar: Shift ( ⇧ ) + Command ( ⌘ ) + Colon ( : )

Applications

  1. Quit application: Command ( ⌘ ) + Q
  2. Switch between applications: Command ( ⌘ ) + Tab
  3. Switch between windows in the same application: Command ( ⌘ ) + Backquote ( ` )
  4. Open Preferences for the Active App: Command ( ⌘ ) + Comma ( , )
  5. Open new document or window: Command ( ⌘ ) + N
  6. Close Window: Command ( ⌘ ) + W
  7. Zoom in or out of a Safari window: Command ( ⌘ ) + Plus Sign ( + ) or Command ( ⌘ ) + Minus Sign ( – )
  8. Expanding Save As Dialog in Finder: Command ( ⌘ ) + (“Cmd+”)
  9. Open new tab in Chrome: Command ( ⌘ ) + T
  10. Chrome history: Command ( ⌘ ) + Y or Command ( ⌘ ) + Shift ( ⇧ ) + H

Folders

  1. Open Desktop Folder: Command ( ⌘ ) + Shift ( ⇧ ) + D
  2. Open Documents Folder: Command ( ⌘ ) + Shift ( ⇧ ) + O
  3. Open Utilities: Command ( ⌘ ) + Shift ( ⇧ ) + U
  4. Open iCloud Drive from the Finder: Command ( ⌘ ) + Shift ( ⇧ ) + I
  5. View a Quick Look Slideshow of Selected Files: Option ( ⌥ ) + Command ( ⌘ ) + Y
  6. Jump to the AirDrop Folder on Your Mac From The Finder: Command ( ⌘ ) + Shift ( ⇧ ) + R
  7. Empty Trash with no confirmation: Command ( ⌘ ) + Shift ( ⇧ ) + Option ( ⌥ ) + Delete

System

  1. Spotlight Search: Command ( ⌘ ) + space bar
  2. Select and Launch Apps with your Keyboard: F4 (Launchpad) + Arrow Keys
  3. Lock Screen: Command ( ⌘ ) + Control ( ⌃ ) + Q
    1. Keyboards with Eject ( ) button: Command ( ⌘ ) + Control ( ⌃ ) + Eject (  )
  4. Log Out of your macOS user account: Shift ( ⇧ ) + Command ( ⌘ ) + Q
    1. Bypass the log out dialog: Option ( ⌥ ) + Shift ( ⇧ ) + Command ( ⌘ ) + Q
  5. Force Quit an application: Command ( ⌘ ) + Option ( ⌥ ) + Esc
  6. Hide or Show the Dock: Command ( ⌘ ) + Option ( ⌥ ) + D
  7. Display and Control Accessibility: Option ( ⌥ ) + Command ( ⌘ ) + F5

Other

  1. Get details on any word: Command ( ⌘ ) + Control ( ⌃ ) + D
  2. Finder QuickView: Space bar
  3. Take a screenshot of the entire desktop: Command ( ⌘ ) + Shift ( ⇧ ) + 3
  4. Take a screenshot of an application: Command ( ⌘ ) + Shift ( ⇧ ) + 4
    1. Press the spacebar to toggle between draw and select

[Most of these are learned and/or from memory while others were compiled and abbreviated from the excellent articles “15 macOS Keyboard Shortcuts To Improve Your Productivity” and “Ten More macOS Keyboard Shortcuts to Improve Productivity” published 2017/10/13 and 2017/10/20 respectively.]

Other resources to consult:

Useful HTTP Response Headers for IIS and ArcGIS JavaScript Web Applications

•February 6, 2017 • Leave a Comment

This is in addition to a question I answered on Stack Overflow where someone had asked how to turn off IE compatibility mode (hint: set “X-UA-Compatible” to “IE=edge”).

These additional response headers are useful in making ArcGIS Server REST endpoints accessible across sites without adding XSS vulnerability.

Useful HTTP Response Headers for IIS and ArcGIS JavaScript Web Applications
Access-Control-Allow-Credentials true
Access-Control-Allow-Headers Origin,X-Requested-With,Content-Type,Accept
Access-Control-Allow-Methods GET,PUT,POST,DELETE,OPTIONS
Access-Control-Allow-Origin *
X-UA-Compatible IE=edge

Learning Python

•February 12, 2015 • Leave a Comment

Books

Learn Python the Hard Way, 3rd Edition” is available online for free or you can buy the eBook.

Several Packt Publishing titles also come to mind:
Learning Python Design Patterns
Expert Python Programming
Python Tools for Visual Studio
Raspberry Pi Cookbook for Python Programmers
BeagleBone for Secret Agents
Python for Secret Agents
Python Programming for Arduino

I would suggest creating an account with them and signing up for their daily special.

Some people don’t like O’Reilly but I find their books are pretty good as well:
Head First Python

IDE

One thing Python lacks is a solid IDE but that’s changed now that Microsoft has made Visual Studio Community 2013 available for free. Couple this with the Packt title, “Python Tools for Visual Studio“, listed earlier and you have a viable platform.

Some people swear by IDLE; I like Google’s PyScripter myself.

There’s also a great stackoverflow article listing many of the IDEs available and their feature set.

Python 2.x vs 3.x

There’s a war of sorts going on in the Python community since the release of version 3.x which breaks some existing 2.x code. The general consensus is to steer people towards 3.x unless they have to support 2.x legacy code or require a plug-in that’s not supported in 3.x.

Globally disable OnSwipe on iPad

•August 18, 2011 • Leave a Comment

Yep, I stole this entry’s title from the support article in the WordPress support forums.

Please do all those iPad owners a favor and disable OnSwipe on your blog. It does nothing to enhance or beautify your blog. In fact, it does the opposite and removes your individualization thus making all WordPress blogs look (and bounce) the same (boring).