Front end vs. back end

by Joey deVilla on April 17, 2018

Click the image to see it at full size.

Yeah, that’s about right.

Thanks to Mark Farmer for the find!

{ 0 comments }

Algorithms, IKEA-style

by Joey deVilla on April 17, 2018

Illustration: Quicksort algorithm, illustrated in the style of IKEA furniture assembly instructions.

Click the image to see it at full size.

IDEA is a site that takes those things you should’ve learned in your sophomore year “Algorithms and Data Structures” course (or, if you didn’t major in computer science, the things you’ll pick up if you’re inquisitive) and turns them into illustrations that look like IKEA furniture assembly instructions.

Illustration: Ad-hoc, depth-first, and breadth-first graph search algorithms, illustrated in the style of IKEA furniture assembly instructions.

Click the image to see it at full size.

The explanations of algorithms are so much like IKEA instructions, right down to the point that while they give you a general idea of what to do, you may find yourself wishing that they’d thrown in a sentence or two, just to make things clearer.

Illustration: Public-key cryptography, illustrated in the style of IKEA furniture assembly instructions.

Click the image to see it at full size.

Here’s how the creators describe their work:

IDEA is a series of nonverbal algorithm assembly instructions by Sándor P. FeketeSebastian Morr, and Sebastian Stiller. They were originally created for Sándor’s algorithms and datastructures lecture at TU Braunschweig, but we hope they will be useful in all sorts of context. We publish them here so that they can be used by teachers, students, and curious people alike.

{ 0 comments }

New iOS programming books

RayWenderlich.com iOS programming books: 'Data Structures & Algorithms in Swift', 'Realm: Building Modern Swift Apps with Realm Database', and 'Design Patterns by Tutorials'.

If you’re an iOS developer with some experience and looking to boost your skills, you’re in luck: RayWenderlich.com, the go-to place for tutorials and books on iOS programming, has three new books for intermediate to advanced Swift programmers:

  • Realm: Building Modern Swift Apps with Realm Database: The perfect introduction to Realm Database and Realm Platform. Learn how to set up your first Realm database, see how to persist and read data, find out how to perform migrations and more.
  • Data Structures and Algorithms in Swift: Learn how to implement the most popular and useful data structures, and when and why you should use one particular data structure or algorithm over another.
  • Design Patterns by Tutorials: Explore the usefulness of design patterns, moving from the basic building blocks of patterns into more advanced patterns and completes the lesson with less common but incredibly useful patterns.

Illustration: Advance Swift Spring Fling.

Normally, these books sell for $54.99 each (and they’re worth it), but right now, they’re on sale as part of their Advanced Swift Spring Fling, where all 3 books are available as a bundle for $99.99, a 40% discount! This event lasts for just two weeks, so if you want these books at a cheaper price, get them now.

New Android programming books

RayWenderlich.com Android programming books: 'Android Apprentice' and 'Kotlin Apprentice'.

RayWenderlich.com has long been known as the go-to place for tutorials and books on iOS programming, but over the past year, they’ve expanded to cover Android programming as well (in fact, I’m actually on their Android writing team — here’s the one article I’ve written so far). They’ve published Android programming articles, and now there are two new books:

  • Android Apprentice: If you have prior programming experience — say, with Swift, Java, Python, or JavaScript — this book will help you get up to speed with Android development in short order. You’ll learn by building 4 complete Android apps from scratch:
    • Timefighter: You’ll get started with Android development by creating a game with a simple goal: tap a button as fast as you can, within a set time limit.
    • CheckList: Make a simple TODO app with multiple lists. Along the way, learn about layout managers, activities, saving data, and notifications.
    • PlaceBook: Keep track of your favorite places with photos and maps. Along the way, learn about Google Play services, Room, Google Maps API, and working with photos.
    • PodPlay: You’ll round out the book by building a podcast manager with a built-in media player. You’ll cover Android networking, job scheduling, media browser, notifications, and media playback.
  • Kotlin Apprentice: This one’s written with a couple of audiences in mind:
    • People with no prior programming experience, but who want to learn how to program in Kotlin, presumably in the hopes of taking up Android programming.
    • People who have prior programming experience and are looking to get up-to-speed quickly with Kotlin.

Both books span hundreds of pages — Android Apprentice is 652 pages long, and Kotlin apprentice, which is still in the process of being written, is already 200 pages. Like other RayWenderlich.com books, they sell for $54.99 in PDF form and come with starter and finished code. This may seem expensive, but again, like other RayWenderlich.com books, they’re worth it. Having read a good number of their books, gone through the writing and editing process for an article on the site, and six hours’ worth of presentations and having tech edited one of their upcoming books, I can say that with confidence that they’re worth every penny.

{ 0 comments }

How to “work the room” at RWDevCon

by Joey deVilla on April 6, 2018

Me and Delia, one of the friends I made at RWDevCon.

Hello from RWDevCon! It’s the annual conference held by the folks who run RayWenderlich.com, the premier tutorial site for mobile development (and where I’m an author on the Android team). We’re all gathered at the Westin in Alexandria, Virginia, just across the Potomac River from Washington, D.C., where Anitra and I will get some sightseeing in once the conference has wrapped up.

I’m sure that you’ve perused the schedules and picked out the ones that you’d like to attend (and hey, if you’ve been meaning to learn about ARKit, come see my session on Saturday at 10:00 a.m.). But have you planned out how you’re going to work the room?

At RWDevCon — and hey, any conference you attend — you should keep in mind that while we spend a lot of energy on the presentations and sessions, the opportunity to meet and talk to the other people there is just as important. I’ve observed that some of the most important things I’ve learned at conferences didn’t happen at the presentation, but in the hallways, lounges, lunches, and social gathering, conversing with the other attendees. This observation is so common that it’s given rise to “unconferences” like BarCamp, whose purpose is to invert the order of things so that the conference is more “hallway” than “lecture theatre”.

It’s especially important to talk to people you don’t know or who are outside your usual circle. Books like The Tipping Point classify acquaintances with such people as “weak ties”, but don’t let the word “weak” make you think they’re unimportant. As people outside your usual circle, they have access to a lot of information that you don’t. That’s why most people get jobs through someone they know, and of those cases, most of the references came from a weak tie. The sorts of opportunities that come about because of this sort of relationship led sociologist Mark Granovetter to coin the phrase “the strength of weak ties”.

The best way to make weak ties at a conference is to work the room. If the phrase sounds like sleazy marketing-speak and fills your head with images of popped collars and wearing too much body spray, relax. Working the room means being an active participant in a social event and contributing to it so that it’s better for both you and everyone else. Think of it as good social citizenship.

If you’re unsure of how to work the room, I’ve got some tips that you might find handy…

Have a one-line self-introduction

A one-line self-introduction is simply a single-sentence way of introducing yourself to people you meet at a conference. It’s more than likely that you won’t know more than a handful of attendees and introducing yourself over and over again, during the conference, as well as its post-session party events. It’s a trick that Susan RoAne, room-working expert and author of How to Work a Room: The Ultimate Guide to Making Lasting Connections In-Person and Online teaches, and it works. It’s pretty simple:

  • Keep it short — no longer than 10 seconds, and shorter if possible. It’s not your life story, but a pleasantry that also gives people just a little bit about who you are.
  • Make it fit. It should give people a hint of the cool stuff that you do (or, if you’re slogging it out in the hopes of doing cool stuff someday, the cool stuff that you intend to do.)
  • Show your benefits. Rather than simply give them your job title, tell them about a benefit that your work provides in a way that invites people to find out more. Susan RoAne likes to tell a story about someone she met whose one-liner was “I help rich people sleep at night”. That’s more interesting than “I’m a financial analyst”.

My intro will be something along the lines of “I’m a rock and roll accordion player, but in my side gig, I’m a mobile/AR app developer who helps design apps for Tampa’s coolest software company.”

How to join a conversation

At RWDevCon, you’ll probably see a group of people already engaged in a conversation. If this is your nightmare…

Click the photo to read the Onion article.

…here’s how you handle it:

  1. Pick a lively group of people you’d like to join in conversation. As people who are already in a conversation, they’ve already done some of the work for you. They’re lively, which makes it more likely that they’re open to people joining in. They’ve also picked a topic, which saves you the effort of having to come up with one. It also lets you decide whether or not it interests you. If they’re lively and their topic of conversation interests you, proceed to step 2. If not, go find another group!
  2. Stand on the periphery and look interested. Just do it. This is a conference, and one of the attendees’ goals is to meet people. Smile. Pipe in if you have something to contribute; people here are pretty cool about that.
  3. When acknowledged, step into the group. You’re in like Flynn! Step in confidently and introduce yourself. If you’ve got that one-line summary of who you are that I talked about earlier, now’s the time to use it.
  4. Don’t force a change of subject. You’ve just joined the convo, and you’re not campaigning. Contribute, and let the subject changes come naturally.

Feel free to join me in at any conversational circle I’m in! I always keep an eye on the periphery for people who want to join in, and I’ll invite them.

More tips

Here’s more advice on how to work the room:

  1. Be more of a host and less of a guest. No, you don’t have to worry about scheduling or if the coffee urns are full. By “being a host”, I mean doing some of things that hosts do, such as introducing people, saying “hello” to wallflowers and generally making people feel more comfortable. Being graceful to everyone is not only good karma, but it’s a good way to promote yourself. It worked out really well for me; for example, I came to the first DemoCamp (a regular Toronto tech event back in the 2000s) as a guest, but by the third one, I was one of the people officially hosting the event.
  2. Beware of “rock piles”. Rock piles are groups of people huddled together in a closed formation. It sends the signal “go away”. If you find yourself in one, try to position yourself to open up the formation.
  3. Beware of “hotboxing”. I’ve heard this term used in counter-culture settings, but in this case “hotboxing” means to square your shoulders front-and-center to the person you’re talking to. It’s a one-on-one version of the rock pile, and it excludes others from joining in. Once again, the cure for hotboxing is to change where you’re standing to allow more people to join in.
  4. Put your coat and bag down. Carrying them is a non-verbal cue that you’re about to leave. If you’re going to stay and chat, put them down. When you’re about to leave, take your coat and bag and start saying your goodbyes.
  5. Show and tell. We’re geeks, and nothing attracts our eyes like shiny, interesting pieces of tech and machinery. It’s why I carry my accordion around; I think of it as a device that converts curiosity into opportunity (and music as well). I’ll be doing the same with my iPhone and ARKit apps as well! Got a particularly funky laptop, netbook, smartphone or new device you just got from ThinkGeek? Got a neat project that you’ve been working on? Whatever it is, park yourself someplace comfortable in the hallway, show it off and start a conversation!
  6. Save the email, tweets and texts for later, unless they’re important.They’ll draw your attention away from the room and also send the message “go away”.
  7. Mentor. If you’ve got skills in a specific area, share your knowledge. Larry Chiang from GigaOm says that “It transitions nicely from the what-do-you-do-for-work question. It also adds some substance to party conversations and clearly brands you as a person.”
  8. Be mentored. You came to RWDevCon to learn, and as I said earlier, learning goes beyond the sessions. One bit of advice is to try and learn three new things at every event.
  9. Play “conversation bingo”. If there are certain topics that you’d like to learn about at RWDevCon, say ARKit, Android, architecture, and so on, put them in a list (mental, electronic or paper) of “bingo” words. As you converse at the conference, cross off any of those topics that you cover off the list. This trick forces you to become a more active listener and will help you towards your learning goals. Yelling “BINGO!” when you’ve crossed the last item on the list can be done at your discretion.

I’ll see you at RWDevCon, and if you see me, please say “hi” — I would love to meet you!

{ 1 comment }

The Lord and JavaScript equate in mysterious ways

by Joey deVilla on March 29, 2018

Click the graphic to contemplate its mysteries at full size.

As a graduate of both Catholic school and a computer science degree program, I have to salute @angealbertini, who created this, with a filet mignon on a flaming sword.

{ 0 comments }

What I’m up to this week (and next)

by Joey deVilla on March 26, 2018

Tampa iOS Meetup (Tuesday, March 27th)

On Tuesday, I’ll be leading the Tampa iOS Meetup group through another exercise building an augmented reality app with ARKit. This time, we’ll build a simple version of IKEA Place, the app that lets you see how furniture in the IKEA catalog would look in the room you’re in.

Tampa iOS Meetups are “code along with me” exercises. I’ll provide you with a starter project, and together, we’ll build a working app. Note that this meetup requires you to bring the following:

  • A Mac with the Xcode 9.3 beta installed (you can get it from developer.apple.com)
  • An ARKit-ready iPhone (iPhone 6S or later) or iPad (any iPad Pro, or the 2017 iPad) running the iOS 11.3 beta

Tampa iOS Meetup will take place this Tuesday, March 27th at the Sourcetoad office (2701 West Busch Blvd., suite 1018). We’ll provide omnivore and vegetarian pizza and drinks. If you want more details or to register (it’s free), visit our meetup page!

Synapse Innovation Summit (Wednesday, March 28th – Thursday, March 29th

I’ll also be at the Synapse Innovation Summit, which takes over Amalie Arena this Wednesday and Thursday.

With 2,500 attendees catching the following over two days…

  • 56 breakout sessions
  • 200 speakers (including IBM’s Chief Innovation Officer, a colonel from SOCOM’s Transnational Threats Division, the CEOs of Hyperloop, Connectwise, Bionic Miracle, and Innovation Hub)
  • 60 showcases
  • 250 exhibitors

…it should be an interesting event.

RWDevCon (Thursday, April 5th – Saturday, April 7th)

Next week, I’m off to the D.C. area to do double speaking duty at RWDevCon, RayWenderlich.com’s annual tutorial conference. RWDevCon 2018 is their 4th annual mostly-tutorials, high stuff-to-fluff ratio conference, and I’ll be there to do both a full-afternoon workshop and basic tutorial on building augmented reality apps for iOS with ARKit.

{ 0 comments }

Every week, I compile a list of events for developers, technologists, tech entrepreneurs, and nerds in and around the Tampa Bay area. We’ve got a lot of events going on this week, and here they are!

Monday, March 5, 2018

Tuesday, March 6, 2018

Wednesday, March 7, 2018

Thursday, March 8, 2018

Friday, March 9, 2018

Saturday, March 10, 2018

Sunday, March 11, 2018

{ 0 comments }