• Apple,  Mac OS X,  Mac OS X Server,  SQL

    Install and Setup mongodb on a Mac

    I don’t write as much about what I do at my day job as I used to. I probably should, because it’s all still relavant to my older readers. One example of that is that I have published a lot of articles on MySQL and sqlite. However, more and more of my development efforts use native json. I’ve slowly fallen in love with mongodb for this reason – I can have a local database that is fast, that stores data in native json. That makes my transactions cheaper when it’s time to read and write for databases. If I have to regex to put information in sql and then take…

  • Apple,  Mac OS X,  Mac Security,  MacAdmins Podcast

    Test A Fork Of NoMAD Maybe?

    tldr: here’s a slightly modernized fork of NoMAD that needs a little testing: https://gitlab.com/krypted1/nomad2 Been working on a fork of NoMAD that will hopefull just modernize code and get merged back in. In general, the changes shouldn’t be noticed with a big exception, it’s a breaking change for machines that run an operating system older than Catalina. Apple changes APIs and so we have the option to either introduce a breaking change or make the code really complicated by retaining existing code or moving to new APIs. So this version starts to transition away from UIKit and towards Swift UI. It also removes Carthage in favor of Swift Package Manager.…

  • Mac OS X

    Resolve Package Dependencies in NoMAD 2 with carthage

    Sometimes when we download an Xcode project, there are dependencies. Those that use swift packages might need to download the package (if it’s publicly available) or have it linked. Projects that use carthage (where the devs probably consider it a little tech debt to move to a new package management system) just need a quick carthage build. To do so, first install carthage, if it isn’t already installed. To do so, we can just use brew: brew install carthage Next, let’s cd into the root directory of the project (where below is ~/Documents/NoMAD2 and then run carthage with a bootstrap command: carthage bootstrap Subsequent updates might need a new build…

  • Mac OS X,  Mac Security

    New Version of Extensions Manager

    Just uploaded a new version of Extensions Manager to GitHub at https://github.com/krypted/extensionsmanager. Now it has a search function and can sort by column. These make it much quicker to find potential extension conflicts. Uploaded the Xcode project and the compiled binary to just download and run it.

  • Mac OS X,  Mac Security

    The Return Of Extensions Manager

    Just posted a graphical interface to see what extensions are running on Macs, the version of extension, what type of extension each is, the status, path, and SDK. This is a rebirth of the slick Extensions Manager of old. It’s less cool like that as it doesn’t yet allow for extensions management – but should once the logic is worked out (or an API is provided for these types of system-wide tasks rather than just for the app that instantiated the extension). To download Extensions Manager, click https://github.com/krypted/extensionsmanager/raw/main/Extension%20Manager%20Executable.zip or to access the source for it and the CLI version, visit https://github.com/krypted/extensionsmanager. The tool is similar in nature to the early…

  • Mac OS X,  Mac Security

    Extensions Manager Swift Project for macOS

    Extension Manager was an important app for those who managed Macs in the System 8 and System 9 era. It allowed us to see all of the extensions loaded in the classic OS and disable them. It was also easy to take extensions and move them to the desktop for troubleshooting. In the years since Apple began to pick apart what developers used kernel extensions to do, the type of extensions and how we use them has left us with a few different tools to comb through to see what extensions are on a system and what they do. Thus, let’s bring Extension Manager back (ish). Let’s start with a…

  • Mac OS X,  Mac Security,  Swift

    New Tool To Recursively Search For macOS Binaries With Specific Symbols

    A Mach-O object file is a file format used for executables, libraries, object code, and core dumps. These are binary files. There’s a Mach-O header and then load commands and segments of up to 255 sections with references to symbols encoded into objects and symbol names. Many of those symbols are APIs that Apple makes available that the code uses. We can see those APIs by extracting a list of symbols, but not really the logic underlying it. Tools like Hopper Disassembler can be used to look at these files and extract symbols, or a command like nm. Per the man page of nm, “nm displays the name list (symbol…