SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Downloaden Sie, um offline zu lesen
Managing the User Experience
Tim Sutton
Concordia University, Faculty of Fine Arts
Montreal
OS Apps
Behaviour
for users
Why?
• Modify specific features causing issues in your environment
• Auto-updaters
• Installation issues (e.g. Installer scripts trying to set user
Preferences)
• Licensing
• Particulars of your environment (shares, printers, network settings)
• Settings for specific software workflows
OS X
OS X
Apps using OS X Preferences
Safari Office 2016 (sort of)
Apps using OS X Preferences
Apps using OS X Preferences
SUEnableAutomaticChecks
Apps using proprietary preferences systems
• Chrome, Firefox
• Most Adobe apps
• Many of Office 2016’s user settings
• Many cross-platform applications
Know your environment
• Are users admins?
• Shared (lab / kiosk / classroom / studio) use, or individual user?
• Network users or local users? Persistent home folders, or brand new
on every login?
Tools
NSUserDefaults
CFPreferences
Managing OS X Preferences
Configuration
Profilesdefaults
Prefs Editor
(Thomas Tempelmann)
http://apps.tempel.org/
Managing OS X Preferences
Managing proprietary preferences
• Depends on the application, but won't be using defaults or config profiles!
• e.g. /Library/Application Support/Macromedia/mms.cfg
• Scripts and LaunchAgents running at login time
• e.g. https://github.com/chilcote/outset
• https://github.com/MagerValp/LoginScriptPlugin (powerful, but install and
test carefully)
• LoginHooks (deprecated by Apple, not recommended)
• Common locations:
• ~/Library/Application Support
• ~/Library/Preferences
• ~/Library/Preferences/App
• ~/.app, ~/Documents/App
• Experimentation and testing necessary!
Managing proprietary preferences
Managing proprietary preferences
{
"browser": {
"check_default_browser": false,
"show_update_promotion_info_bar": false
},
"distribution": {
"make_chrome_default": false,
"show_welcome_page": false,
"skip_first_run_ui": true
},
"first_run_tabs":["http://macdeployment.ca"],
"homepage": "http://macdeployment.ca/",
"sync_promo": {
"user_skipped": true
}
}
Managing proprietary preferences
#!/bin/sh
prefs_src="/Library/MyOrg/Files/google_chrome_preferences"
prefs_tgt_dir="$HOME/Library/Application Support/Google/Chrome/Default"
prefs_tgt_file="$prefs_tgt_dir/Preferences"
# make our user's chrome profile dir if one doesn't already exist
[ -d "$prefs_tgt_dir" ] || mkdir -p "$prefs_tgt_dir"
# if prefs file doesn't already exist, copy it
[ -e "$prefs_tgt_file" ] || cp "$PREFS_SRC" "$prefs_tgt_file"
# create the special 'first run' file
touch "$prefs_tgt_dir/../First Run"
defaults
defaults
defaults write com.microsoft.silverlight UpdateMode -integer 2
binary
command
application or bundle ID
key
type
value
defaults write com.microsoft.silverlight UpdateMode -integer 2
defaults
current-user domain
defaults write /Users/tim/Library/Preferences/com.microsoft.silver
defaults
current-user domain
defaults write /Library/Preferences/com.microsoft.silverlight Upda
defaults
any-user domain
defaults -currentHost write com.apple.screensaver idleTime -integer 0
defaults
current-host domain
➜ defaults -currentHost read com.apple.Safari
{
SyncedTabsDeviceUUID = "14691C26-0723-4E67-B206-18D14AE98075";
}
/Users/tsutton/Library/Preferences/ByHost/com.apple.Safari.23C1B133-A1D4-5CA6-A526-C1F88B1C47CC.plist
/Users/tsutton/Library/Preferences/ByHost/com.apple.Safari.9B5C8635-D289-5EA3-B598-7277C0175D56.plist
/Users/tsutton/Library/Preferences/ByHost/com.apple.Safari.C1BB22BC-64CE-55E6-B871-F110399060EA.plist
/Users/tsutton/Library/Preferences/ByHost/com.apple.Safari.EEE79E13-BDD2-51A6-B602-DB056032BF88.plist
defaults
User and host domains
Search
Order
User scope Host scope Mapping to `defaults`
1 Current user Current host defaults -currentHost read <id>
2 Current user Any host defaults read <id>
3 Any user Current host defaults read /Library/Preferences/<id>
https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/
BPRuntimeConfig/Articles/UserPreferences.html#//apple_ref/doc/uid/
20002092-120915-TPXREF104
Defaults is weird
• defaults write /tmp/my_new.plist SomeKey “the value”
From the defaults manpage: ”WARNING: The defaults command will be changed
in an upcoming major release to only operate on preferences domains. General
plist manipulation utilities will be folded into a different command-line program."
Property Lists
com.apple.SoftwareUpdate.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AutomaticCheckEnabled</key>
<false/>
<key>CatalogURL</key>
<string>http://my.reposado.server/index_seed_testing.sucatalog</string>
<key>LastFullSuccessfulDate</key>
<date>2016-06-09T15:56:20Z</date>
<key>LastRecommendedUpdatesAvailable</key>
<integer>0</integer>
<key>LastResultCode</key>
<integer>2</integer>
<key>PrimaryLanguages</key>
<array>
<string>en</string>
<string>en-CA</string>
</array>
<key>RecommendedUpdates</key>
<array/>
</dict>
</plist>
Interacting with plists
• /usr/libexec/PlistBuddy
• TextWrangler (free) handles both XML and binary, displays always as XML
• Text editor of choice (Sublime, Atom, TextMate)
• QuickLook (using the spacebar)
• Python:
• plistlib (standard library, can’t open binary plists as shipped in OS X)
• FoundationPlist (by Greg Neagle, supports XML and Binary)

https://github.com/munki/munki/blob/master/code/client/munkilib/FoundationPlist.py
Property Lists
• Binary formats:
• plutil -convert <xml1 | binary1>
• man plutil
• (linting, merging, and more!)
~/Library/Preferences
~/Library/Preferences/ByHost
/Library/Preferences
/Library/Managed Preferences
Managing OS X Preferences
Managing OS X Preferences
Applications
cfprefsd
defaults server
Plists on disk
Prefs APIs Cache to
disk
Managing OS X Preferences
/System/Library/User Template/<lang>.lproj
/System/Library/User Template/Non_localized
Configuration Profiles
• Originated on iOS, brought to OS X in Lion
• Defines multiple settings in one “blob”, which can be added or
removed, installable using:
• Mobile Device Management (MDM)
• Downloaded to OS X system as a .mobileconfig file, installed by
double-clicking or Terminal using the `profiles` command
• .. and/or wrapped in an installer package

https://github.com/timsutton/make-profile-pkg
Configuration Profiles
<key>PayloadContent</key>
<dict>
<key>com.apple.Safari</key>
<dict>
<key>Set-Once</key>
<array>
<dict>
<key>mcx_data_timestamp</key>
<date>2014-12-04T19:03:28Z</date>
<key>mcx_preference_settings</key>
<dict>
<key>DomainsToNeverSetUp</key>
<array>
<string>google.com</string>
<string>yahoo.com</string>
</array>
<key>HomePage</key>
<string>http://myorg.org</string>
<key>LastDisplayedWelcomePageVersionString</key>
<string>4.0</string>
<key>LastSafariVersionWithWelcomePage</key>
<string>8.0</string>
<key>NewWindowBehavior</key>
<integer>0</integer>
<key>SendDoNotTrackHTTPHeader</key>
<true/>
</dict>
</dict>
Profile Manager (OS X Server)
Profile Manager (OS X Server)
Profile Manager (OS X Server)
Profile Manager (OS X Server)
Configuration Profiles
• Pros
• Portable and easy to install
• Put lots of configuration into a single logical “blob”
• Overall simplification of management
• Cons
• Profile Manager sets settings as “Forced”, which often doesn’t allow user to make changes
• “Forced” can have unexpected results with some applications
• Not easy to combine multiple settings for the same app id across multiple profiles
Configuration Profiles
• https://github.com/timsutton/mcxToProfile
• Lightweight way to generate profiles from defaults, plists and
existing MCX (Open Directory, Local, LDAP)
• Only handles the Custom Settings types
• Can also set the ‘once’ or ‘often’ management state like
Workgroup Manager, and ByHost prefs – not supported by Profile
Manager
Additional resources
ProfileCreator (Erik Berglund):
https://github.com/ProfileCreator/ProfileCreator
Dock Master (Michael Page):
https://github.com/Error-freeIT/Dock-Master
Preference Management with Profiles
(Greg Neagle, MacSysAdmin 2015):
http://docs.macsysadmin.se/2015/video/Day2Session2.mp4
When to use what mechanism?
• Configuration Profiles are the simplest to manage: try that first
• Especially if you know the thing you’re managing runs early at login - scripting
a defaults write won’t help if the application is already launched, like the Finder
• For proprietary preferences, see if vendor-supported options are available for
managing a setting with defaults or Profiles
• If prefs are all nested within a single key (Adobe Acrobat/Reader), can’t manage
these easily with a profile/defaults
• Possible to do with more granularity via a script that can manage nested
preference data, but is non-trivial to do it safely
Consider the problem,
not the solution
http://xyproblem.info
Thank you!
@timsutton
@tvsutton
https://macops.ca
Managing the User Experience

Weitere ähnliche Inhalte

Was ist angesagt?

Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMICF CIRCUIT
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web PerformanceEric ShangKuan
 
Take Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachTake Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachDiana Thompson
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web AppsTimothy Fisher
 
Sahana Eden : Deployment (SahanaCamp 1.2)
Sahana Eden : Deployment (SahanaCamp 1.2)Sahana Eden : Deployment (SahanaCamp 1.2)
Sahana Eden : Deployment (SahanaCamp 1.2)AidIQ
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setupsnopteck
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013Andrew Khoury
 
Php psr standard 2014 01-22
Php psr standard 2014 01-22Php psr standard 2014 01-22
Php psr standard 2014 01-22Võ Duy Tuấn
 
php & performance
 php & performance php & performance
php & performancesimon8410
 
Velocity 2014 nyc WebPagetest private instances
Velocity 2014 nyc   WebPagetest private instancesVelocity 2014 nyc   WebPagetest private instances
Velocity 2014 nyc WebPagetest private instancesPatrick Meenan
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance毅 吕
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...panagenda
 
Introduction To Navicat MySql GUI
Introduction To Navicat MySql GUIIntroduction To Navicat MySql GUI
Introduction To Navicat MySql GUIchadrobertson75
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLIDiana Thompson
 
Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Jeff Jones
 
PHP: Debugger, Profiler and more
PHP: Debugger, Profiler and morePHP: Debugger, Profiler and more
PHP: Debugger, Profiler and moreVõ Duy Tuấn
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!WordCamp Cape Town
 
Cache is king
Cache is kingCache is king
Cache is kingedrone
 

Was ist angesagt? (20)

Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
Uniface Lectures Webinar - Application & Infrastructure Security - Hardening ...
 
CIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEMCIRCUIT 2015 - Monitoring AEM
CIRCUIT 2015 - Monitoring AEM
 
Tuning Web Performance
Tuning Web PerformanceTuning Web Performance
Tuning Web Performance
 
Take Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long BeachTake Command of WordPress With WP-CLI at WordCamp Long Beach
Take Command of WordPress With WP-CLI at WordCamp Long Beach
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
Sahana Eden : Deployment (SahanaCamp 1.2)
Sahana Eden : Deployment (SahanaCamp 1.2)Sahana Eden : Deployment (SahanaCamp 1.2)
Sahana Eden : Deployment (SahanaCamp 1.2)
 
01 overview-and-setup
01 overview-and-setup01 overview-and-setup
01 overview-and-setup
 
CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013CQ5.x Maintenance Webinar 2013
CQ5.x Maintenance Webinar 2013
 
Php psr standard 2014 01-22
Php psr standard 2014 01-22Php psr standard 2014 01-22
Php psr standard 2014 01-22
 
php & performance
 php & performance php & performance
php & performance
 
Velocity 2014 nyc WebPagetest private instances
Velocity 2014 nyc   WebPagetest private instancesVelocity 2014 nyc   WebPagetest private instances
Velocity 2014 nyc WebPagetest private instances
 
PHP & Performance
PHP & PerformancePHP & Performance
PHP & Performance
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
 
Introduction To Navicat MySql GUI
Introduction To Navicat MySql GUIIntroduction To Navicat MySql GUI
Introduction To Navicat MySql GUI
 
Take Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLITake Command of WordPress With WP-CLI
Take Command of WordPress With WP-CLI
 
Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!
 
PHP: Debugger, Profiler and more
PHP: Debugger, Profiler and morePHP: Debugger, Profiler and more
PHP: Debugger, Profiler and more
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
Cache is the king
Cache is the kingCache is the king
Cache is the king
 
Cache is king
Cache is kingCache is king
Cache is king
 

Ähnlich wie Managing the User Experience

Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practicesdeseomar
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Building Web Sites that Work Everywhere
Building Web Sites that Work EverywhereBuilding Web Sites that Work Everywhere
Building Web Sites that Work EverywhereDoris Chen
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performanceEngine Yard
 
Optimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend ServerOptimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend Servervarien
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702Jess Coburn
 
How to? Drupal developer toolkit. Dennis Povshedny.
How to? Drupal developer toolkit. Dennis Povshedny.How to? Drupal developer toolkit. Dennis Povshedny.
How to? Drupal developer toolkit. Dennis Povshedny.DrupalCampDN
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindSam Keen
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019Anam Ahmed
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudLyzun Oleksandr
 
Seven steps to better security
Seven steps to better securitySeven steps to better security
Seven steps to better securityMichael Pignataro
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration OverviewVihangAstik
 
Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with PuppetJoe Ray
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101Mathew Beane
 
Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)Kazuaki Matsuo
 
Tools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTimothy Sutton
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
 

Ähnlich wie Managing the User Experience (20)

Website Testing Practices
Website Testing PracticesWebsite Testing Practices
Website Testing Practices
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Building Web Sites that Work Everywhere
Building Web Sites that Work EverywhereBuilding Web Sites that Work Everywhere
Building Web Sites that Work Everywhere
 
6 tips for improving ruby performance
6 tips for improving ruby performance6 tips for improving ruby performance
6 tips for improving ruby performance
 
Optimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend ServerOptimizing Magento Performance with Zend Server
Optimizing Magento Performance with Zend Server
 
Cloud computing 3702
Cloud computing 3702Cloud computing 3702
Cloud computing 3702
 
How to? Drupal developer toolkit. Dennis Povshedny.
How to? Drupal developer toolkit. Dennis Povshedny.How to? Drupal developer toolkit. Dennis Povshedny.
How to? Drupal developer toolkit. Dennis Povshedny.
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019WordPress At Scale. WordCamp Dhaka 2019
WordPress At Scale. WordCamp Dhaka 2019
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
T5 Oli Aro
T5 Oli AroT5 Oli Aro
T5 Oli Aro
 
Meet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento CloudMeet Magento Spain 2019 - Our Experience with Magento Cloud
Meet Magento Spain 2019 - Our Experience with Magento Cloud
 
Drupal development
Drupal development Drupal development
Drupal development
 
Seven steps to better security
Seven steps to better securitySeven steps to better security
Seven steps to better security
 
Fusion Applications Administration Overview
Fusion Applications Administration OverviewFusion Applications Administration Overview
Fusion Applications Administration Overview
 
Provisioning with Puppet
Provisioning with PuppetProvisioning with Puppet
Provisioning with Puppet
 
php[world] Magento101
php[world] Magento101php[world] Magento101
php[world] Magento101
 
Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)Chrome Devtools Protocol via Selenium/Appium (Japanese)
Chrome Devtools Protocol via Selenium/Appium (Japanese)
 
Tools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac DeploymentTools and Process for Streamlining Mac Deployment
Tools and Process for Streamlining Mac Deployment
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 

Mehr von Timothy Sutton

Jenkins CI for MacDevOps
Jenkins CI for MacDevOpsJenkins CI for MacDevOps
Jenkins CI for MacDevOpsTimothy Sutton
 
Advanced Mac Software Deployment and Configuration: Just Make It Work!
Advanced Mac Software Deployment and Configuration: Just Make It Work!Advanced Mac Software Deployment and Configuration: Just Make It Work!
Advanced Mac Software Deployment and Configuration: Just Make It Work!Timothy Sutton
 
Why Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonWhy Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonTimothy Sutton
 
AutoPkg: Crowd-sourcing Mac packaging and deployment
AutoPkg: Crowd-sourcing Mac packaging and deploymentAutoPkg: Crowd-sourcing Mac packaging and deployment
AutoPkg: Crowd-sourcing Mac packaging and deploymentTimothy Sutton
 

Mehr von Timothy Sutton (6)

Jenkins CI for MacDevOps
Jenkins CI for MacDevOpsJenkins CI for MacDevOps
Jenkins CI for MacDevOps
 
Advanced Mac Software Deployment and Configuration: Just Make It Work!
Advanced Mac Software Deployment and Configuration: Just Make It Work!Advanced Mac Software Deployment and Configuration: Just Make It Work!
Advanced Mac Software Deployment and Configuration: Just Make It Work!
 
Python for Mac Admins
Python for Mac AdminsPython for Mac Admins
Python for Mac Admins
 
How Do I Contribute?
How Do I Contribute?How Do I Contribute?
How Do I Contribute?
 
Why Mac Sysadmins Love Python
Why Mac Sysadmins Love PythonWhy Mac Sysadmins Love Python
Why Mac Sysadmins Love Python
 
AutoPkg: Crowd-sourcing Mac packaging and deployment
AutoPkg: Crowd-sourcing Mac packaging and deploymentAutoPkg: Crowd-sourcing Mac packaging and deployment
AutoPkg: Crowd-sourcing Mac packaging and deployment
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Managing the User Experience