There are a lot of Apple developers out there these days. And it often seems like few groups like to share information more than those who work in the Apple space. So where can you go to learn more about Apple development? There are a lots of websites and code camps, but what about annual conferences?
WWDC: San Jose, CA – This is the grandaddy of them all. Hear from the people who build the frameworks and IDEs directly! But registration is limited and no everyone can go to that one place at that one date and time of the year. Also, different conferences can give different perspectives, so even if you go to WWDC every year, it’s worth looking at some of these other conferences as a +1!
AltConf: San Jose – Everything from iBeacons to how to name a product. The big thing is that it’s held alongside WWDC so I mention it first. By developers for developers – but not really connected to Apple’s developer relations.
Appdevcon: Amsterdam – I like conferences for and by developers. And I like Amsterdam.
Objective By The Sea: Hawaii!!! – Who doesn’t love a conference in Hawaii?!?! But more importantly, some of the top security minds in the Apple world have signed up for the inaugural conference to
dot Swift: Paris – A Swift conference in Paris. I prefer how to write code type of conferences, or why pick a framework. So there ya’ go. In Paris.
RWdevCon: Washington, DC – I love the format of a tutorial-driven conference (and will likely emulate that in the future. Nothing gets rid of the silly touchy-feely stuff in tech conferences more than how-tos!
Swift by Northwest
iOSCon 2018: London – Any conference Aaron Hillegass ends up at is gonna’ be good. Especially if you live close.
iosdevuk: Aberystwyth, Wales, UK – iOS Development
MobileWorld Congress: Barcelona – More upper level but with good dev sessions. Warning, developers sent here might end up writing their own games long term! 😉
UIKonf: Berlin – I love these videos, test driven development, specific information about frameworks (often from the people that wrote the frameworks. Awesome.
Teki-Con: Atlanta – Any conference Aaron Hillegass ends up at is gonna’ be good. Especially if you live close.
360 iDev: Denver – Good technical workshops that focus on metal and frameworks and all the fun stuffs.
Game Developers Conference: San Francisco – Guess what? Everything you learn building games translates to building any kind of app you could imagine.
ADDC: Barcelona – More of a focus on design than hard core coding techniques. Some people are into that!
OSCON: Portland – Learn about all the latest and greatest open source languages and projects.
QCon New York – A bit more about organizing software teams and team structure.
Microsoft Ignite: Orlando – If you build enterprise software, you likely leverage the Active Directory, Azure identity, or even host on Azure, meaning Ignite is very pertinent to what you’re doing. While you might not see sessions on how to drop a specific Swift framework into a project, you might.
Google I/O: San Francisco – What I said above but for s/Microsoft/Google.
Facebook F8: San Jose – What I said above but for s/Microsoft/Facebook.
AWS reInvent: Las Vegas – What I said above but for s/Microsoft/Amazon
IT/Dev Connections: Dallas – When you deploy software, you likely need to automate the build process. When you get into that intersection between IT and DevOps, you should at least read the session descriptions for this conference to see if it’s something you’re into.
DockerCon: San Francisco – If you devop (yes, I made up a verb) in Docker all day then this is your conference.
DevOps Con: Berlin – More on DevOps, but in Germany!
When you’re building and manipulating apps in the Apple App Stores, it helps to be able to pull and parse pieces of data. Here, we’ll look at two strategies that you can use to do so. It’s worth noting that the purpose of this was to use the URL of an app from an MDM and then be able to script updating metadata about the app, given that vendors often change names of the display name of an app (e.g. Yelp is actually called “Yelp: Discover Local Favorites on the App Store”).
First, we’ll grab a URL. This one is for Self Service:
If you don’t know the URL then you can get it based on the ID by parsing the json from:
Of course, if you know the id, you can probably just assume that https://itunes.apple.com/us/app/id718509958?mt=8 will work as well, since if you remove the name it has always worked for me (although I’ve never seen that in a spec so I can’t guarantee it will always be true). Then, we can curl it, but the output is a bit not lovely:
<meta name="description" content="Read reviews, compare customer ratings, see screenshots, and learn more about Self Service Mobile. Download Self Service Mobile and enjoy it on your iPhone, iPad, and iPod touch." id="ember75894226" class="ember-view">
From there it’s pretty simple to extract the exact field you want and the metadata from that field. If you are obtaining names and descriptions for a large number of apps then you’d simply move the path into a variable as follows so you can put it into your loop:
The codesign command is used to sign apps and check the signature of apps. Apps need to be signed more and more and more these days. So, you might need to loop through your apps and verify that they’re signed. You might also choose to stop trusting given signing authorities if one is compromised. To check signing authorities, you can use
codesign -dv --verbose=4 /Applications/Firefox.app/ 2>&1 | sed -n '/Authority/p'
The options in the above command:
-d is used to display information about the app (as opposed to a -s which would actually sign the app)
-v increases the verbosity level (without the v’s we won’t see the signing “Authority”)
–verbose=4 indicates the level of verbosity
2>&1 redirects stderr to stdout
/Applications/Firefox.app/ – the path to the app we’re checking (or signing if you’re signing)
Then we pipe the output into a simple sed and get the signing chain. Or don’t. For example, if you’re scripting don’t forget a sanity check for whether an object isn’t signed. For example, if we just run the following for a non-signed app:
codesign -dv --verbose=4 /Applications/Utilities/XQuartz.app/
The output would be as follows:
/Applications/Utilities/XQuartz.app/: code object is not signed at all
My latest Huffington Post article, Twenty Cool Things You Can Do with Box is online here. It begins:
If you are looking for a secure and uncomplicated and file sharing service, you will find box.com to be a wonderful way to share files from any device. Today, it is easier than ever for businesses to operate globally regardless of how large or small they are. This is because of the digital age that makes works products easy to share or transfer. Here are twenty cool things that you can do with box.com.
Last night, I went to setup a new Nest Protect in my home, and while I was futzing with the app (yes, futzing is the technical term) I missed the question that was asked on the device about what language to use while waiting at this screen.
And so my Nest Protect was speaking Spanish. Which is fine with me; but notsofine for my daughter. So, I needed to change the language. And after hunting for the setting for awhile, I thought: self, you should document this.
So to change the language on a Nest protect, open the Nest app and then tap on the icon for Protect (which will appear once you’ve associated the first Nest Protect to your account. Then tap on the Settings gear icon in the upper right corner of the screen, which allows you to configure all your Nest Protects at once. Then tap on the Protect you want to change the language on and there’s a magical setting for Spoken Language there. Tap that and select the language you wish to use. Out of the box, the device only supports English and Spanish. But once setup, you can change the language to French or Dutch. So this is also the method to unlock French and Dutch language support on the device.
Once changed, you can replicate the change to other devices by cycling through them. I also noticed the setting didn’t appear on my iPhone. I had to use an Android device to access my Protect and make the change. The setting doesn’t seem to be a part of the iOS code. But YMMV.
My latest Huffington Post article is up; this one on 10 Cool Things You Might Not Know You Can Do With Dropbox. A sample of the article:
You lіvе in an аgе whеn you wаnt (and ѕоmеtіmеѕ nееd) tо access іnfоrmаtіоn аt аll tіmеѕ. Thіѕ іnсludеѕ yоur оwn dаtа аnd fіlеѕ — text dосumеntѕ, рhоtоgrарhѕ, vіdеоѕ, music and mоrе. Thаt’ѕ whу ѕеrvісеѕ lіkе Drорbоx is so popular wіth thе соnnесtеd gеnеrаtіоn.
Free оf сhаrgе (wіth a раіd uрgrаdе орtіоn), Dropbox lеtѕ уоu uрlоаd уоur files tо fоldеrѕ ассеѕѕіblе аnуwhеrе thеrе’ѕ аn Intеrnеt connection. It еlіmіnаtеѕ thе hаѕѕlе of еmаіlіng уоurѕеlf attachments аnd runnіng іntо size limits. People can use Dropbox through the desktop арр, mоbіlе аррѕ оr via thе wеb.
Who still says “like a boss?” I guess I did. Get over it. But don’t get over spam. Especially annoying are the ones we know we accidentally signed up for. Because it’s our own darn fault. But luckily, there’s a lot more tools for dealing with bulk mail (solicited or unsolicited) these days. Most modern email clients have the ability to deal with spam. Exchange/Office 365 has clutter and junk. You can build rules on sites. You can use spam assassin on your servers. But, there’s also a nice little app called unroll.me. Once you sign up you’ll have 3 ways of dealing with each message: request removal from a list, mark as rolled up into a single daily digest, or mark as good email.
Download it here. The app works a lot like something like Tinder. You swipe right to like something, left to not like something. Facebook should implement this into your timeline!
If you decide to mark emails as digests, you’ll get an email once a day that looks like this:
This works great for organizations that actually properly remove you from lists (which is surprisingly most). Using this swiping type of workflow, you can knock through 100 or more emails in 10-15 minutes. For organizations that don’t respect unfollow or stop sending me your crap emails, there’s also always just marking them as spam. The only problem with this is that you likely have a phone, a computer, a home computer, and maybe a tablet. No one wants to mark the same email as spam four times and then potentially have emails disappearing and not being able to figure out which computer they were marked as junk on.
There are lots and lots of options for this type of thing. But given the ease of use an quick evisceration I can do on my mailbox, I rather like unfollow.me. Give it a shot. You might hate it. I don’t.
This is my 3,000th post on Krypted.com. The past 3,000 posts have primarily been about OS X Server, Mac automation, Mac deployment, scripting, iOS deployments, troubleshooting, Xsan, Windows Servers, Exchange Server, Powershell, security, and other technical things that I have done in my career. I started the site in response to a request from my first publisher. But it took on a mind of its own. And I’m happy with the way it’s turned out.
My life has changed a lot over these past 11 years. I got married and then I got divorced. I now have a wonderful daughter. I became a partner and the Chief Technology Officer of 318 and helped to shape it into what was the largest provider of Apple services, I left Los Angeles and moved to Minnesota, left 318 to help start up a new MDM for small businesses at JAMF Software called Bushel, and now I have become the Consulting Engineering Manager at JAMF. In these 11 years, I have made a lot of friends along the way. Friends who helped me so much. I have written 14 more books, spoken at over a hundred conferences, watched the Apple community flourish, and watched the emergence of the Post-PC era.
In these 11 years, a lot has happened. Twitter and Facebook have emerged. Microsoft has hit hard times. Apple has risen like a phoenix from those dark ashes. Unix has proved a constant. Open Source has come into the Mac world. The Linux gurus are still waiting for Linux on the desktop to take over the world. Apps. iOS. iPad. Mobility. Android. Wearables. Less certifications. More admins. And you can see these trends in the traffic for the site. For example, the top post I’ve ever written is now a list of Fitbit badges. The second top post is a list of crosh commands. My list of my favorite hacking movies is the third top post. None of these have to do with scripting, Apple, or any of the articles that I’ve spent the most time writing.
That’s the first 3,000 posts. What’s next? 3,000 more posts? Documenting the unfolding of the Post-PC era? Documenting the rise and fall of more technologies? I will keep writing, that’s for sure. I will continue doing everything I can to help build out the Apple community. And I will enjoy it. I’ve learned a lot about writing along this path. But I have a lot more to learn.
The past 3,000 posts have mostly been technical in nature. I’ve shown few of my opinions, choosing to keep things how-to oriented and very technical. Sure, there’s the occasional movie trailer when I have a “squee” moment. But pretty technical, overall. I’ve been lucky to have been honored to speak at many conferences around the world. One thing I’ve noticed over the past few years is that when people ask me to speak at conferences, they ask me to speak about broader topics. They don’t want me doing a technical deep dive. People use the term thought leader. And while I don’t necessarily agree, maybe it’s time I step up and write more of those kinds of articles here and there.
I’ve learned so much from you these 11 years. But I feel like I’ve barely scratched the surface. I look forward to learning together over the course of the next 3,000 posts! Thank you for your support. Without it, I’d have probably stopped at 10 articles!
Now that I’ve found the right calculator for me, I should point out that I still take my phone out of my pocket to use a calculator. That’s a habit thing though, not a problem with the size of the objects on the Apple Watch.
Calculator for Apple Watch
Calculator for Apple Watch is a free, basic, standard little calculator app. It’s the app that could be built into the Apple Watch.
Calcbot is a slight step up from Calculator. Here, we gain the ability to convert some basic things as well, such as kilograms to pounds, Fahrenheit to Celsius and a few other little things. There’s also a little tip calculator for those who need it.
If you need more functions, you can also do some scientific functions, fractions, percents, etc with this one.
Oh, and Calculator+ supporting using handwriting!
Similar to Calculator+ but adds constants and conversions. See the ellipse. That opens up a lot of different options. And you have a glance to see recent calculations from the iOS app, which can be cool if you’re in a meeting!
Scientific calculator (the only one where the numbers are separate on the screen). Also has history and the options available in PCalc, but adds speakable items!
Simple currency converter. A few of the more traditional calculator apps have some currencies, but XE has all the world currencies.
As with a few of the calculator apps, this one has themes, so you can match it up with your band. But it also has a tip calculator, basic conversions and some of the bigger buttons (’cause lets face it, it’s a small screen).
All the calculator things, matched to your watch band – but you have to buy it.
Cruncher – Watch Calculator
Very basic calculator but with big buttons. Buttons are big because there are multiple objects within them. If you need bigger buttons give this one a shot.
Another specialty calculator. How much is $20 from 1980 worth today?
Bonus: There are tons of calorie counters out there for both Apple Watch and iPhone.Bonus 2: There are tons of tip calculators out there for the Apple Watch, but I didn’t include any of those here.