Scripting language
POPULARITY
The Road to Macstock Conference and Expo takes us to first-time speaker Mike Burke, who discusses his presentation on “digital mise en place”—a method for organizing digital workflows before beginning creative tasks. Inspired by both culinary prep and The Checklist Manifesto by Atul Gawande, Mike outlines how he will share thoughts on structured folder systems and automation tools like Keyboard Maestro to improve productivity and aid future collaboration. Show Notes: Chapters: 00:07 Introduction to MacStock01:50 Mike's Presentation on Digital Mise en Place08:08 The Importance of Organization11:28 Benefits of Digital vs. Physical Organization16:05 Becoming a MacStock Speaker19:14 Connecting with Mike Burke Links: Macstock Conference and Expo Save $50 with the Mike's discount code: mikeburke50 Save $50 with Chuck's discount code: macvoices50 Guests: Mike Burke is a corporate technical trainer and automation enthusiast who specializes in creating structured systems that blend productivity techniques with practical technology solutions. Drawing on his background as a former high school science teacher, Mike brings a methodical, educational approach to complex technical concepts. Through his blog and YouTube channel, he shares insights on macOS automation technologies including Keyboard Maestro, AppleScript, and shell scripting. Mike is passionate about the concept of “digital mise en place” — creating thoughtfully organized digital environments that eliminate friction and support creative work. When not exploring new automation techniques, Mike can be found documenting his family's quest to visit all U.S. National Parks. His workshop at MacStock draws on years of experience bridging educational and corporate environments to create sustainable, maintainable digital workflows. Connect with him through his web site, TheMikeBurke.com. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
The Road to Macstock Conference and Expo takes us to first-time speaker Mike Burke, who discusses his presentation on “digital mise en place”—a method for organizing digital workflows before beginning creative tasks. Inspired by both culinary prep and The Checklist Manifesto by Atul Gawande, Mike outlines how he will share thoughts on structured folder systems and automation tools like Keyboard Maestro to improve productivity and aid future collaboration. Show Notes: Chapters: 00:07 Introduction to MacStock 01:50 Mike's Presentation on Digital Mise en Place 08:08 The Importance of Organization 11:28 Benefits of Digital vs. Physical Organization 16:05 Becoming a MacStock Speaker 19:14 Connecting with Mike Burke Links: Macstock Conference and Expo Save $50 with the Mike's discount code: mikeburke50 Save $50 with Chuck's discount code: macvoices50 Guests: Mike Burke is a corporate technical trainer and automation enthusiast who specializes in creating structured systems that blend productivity techniques with practical technology solutions. Drawing on his background as a former high school science teacher, Mike brings a methodical, educational approach to complex technical concepts. Through his blog and YouTube channel, he shares insights on macOS automation technologies including Keyboard Maestro, AppleScript, and shell scripting. Mike is passionate about the concept of “digital mise en place” — creating thoughtfully organized digital environments that eliminate friction and support creative work. When not exploring new automation techniques, Mike can be found documenting his family's quest to visit all U.S. National Parks. His workshop at MacStock draws on years of experience bridging educational and corporate environments to create sustainable, maintainable digital workflows. Connect with him through his web site, TheMikeBurke.com. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Arkadiusz Świętnicki przedstawia możliwości aplikacji Anybox, służącej do gromadzenia i zarządzania zakładkami w systemach Apple. Anybox to menedżer zakładek dostępny na iPhone, iPad i Mac, oferujący funkcje takie jak szybkie wyszukiwanie, pływający pasek zakładek na pulpicie oraz możliwość kategoryzowania zakładek za pomocą zagnieżdżonych tagów i folderów. Aplikacja umożliwia również tworzenie inteligentnych list do automatycznego organizowania zakładek na podstawie atrybutów, takich jak URL czy data dodania. Dodatkowo, Anybox obsługuje integrację z Siri Shortcuts i Apple Script, co pozwala na automatyzację wielu zadań. Dostępny mechanizm Synchronizacji zapewnia dostęp do zakładek na wszystkich urządzeniach Apple. Audycja dostępna jest również w wygenerowanej automatycznie wersji tekstowej
Another brand new stop on The Road to Macstock Conference and Expo is a conversation with Michael D.J. Eisenberg, The Tech-Savvy Lawyer. Michael discusses about how he became a dedicated Mac user, and how his talk will on insights into using artificial intelligence for automation tools like Hazel, AppleScript, TextExpander, and Microsoft Word. He also offers a tip or two from another passion: coffee. Visit Macstock Conference and Expo and use Michael's discount code, TECHSAVVYLAWYER, or the MacVoices discount code MACVOICES to save $30 on your registration fee. Today's edition of MacVoices is supported by MacVoices Live!, our weekly live panel discussion of what is going in the Apple space as well as the larger tech world, and how it is impacting you. Join us live at YouTube.com/MacVoicesTV at 8 PM Eastern 5 PM Pacific, or whatever time that is wherever you are and participate in the chat, or catch the edited and segmented versions of the show on the regular MacVoices channels and feeds. Chapters: 00:00 Introduction to MacVoices with Michael D.J. Eisenberg00:40 Meeting Michael D.J. Eisenberg on the Road to Macstock06:27 Exploring Simple Programming and Automation with Hazel and Scripts10:55 Understanding AI and the Imperfections in Automation12:57 Basic Functions and Tools for Enhancing Automation22:20 Special Offerings and Coffee Connoisseur Insights24:51 Inviting Audience to Join Macstock with Exclusive Codes Guests: Michael D.J. Eisenberg is a solo practitioner based in Washington, DC, advocating for veterans, military members, and their families for nearly two decades. Michael has been helping lawyers and law offices utilize technology tools to promote efficiency and effectiveness for decades. He created the blog and podcast The Tech-Savvy Lawyer in 2019 to share that information and more with the world. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Another brand new stop on The Road to Macstock Conference and Expo is a conversation with Michael D.J. Eisenberg, The Tech-Savvy Lawyer. Michael discusses about how he became a dedicated Mac user, and how his talk will on insights into using artificial intelligence for automation tools like Hazel, AppleScript, TextExpander, and Microsoft Word. He also offers a tip or two from another passion: coffee. Visit Macstock Conference and Expo and use Michael's discount code, TECHSAVVYLAWYER, or the MacVoices discount code MACVOICES to save $30 on your registration fee. Today's edition of MacVoices is supported by MacVoices Live!, our weekly live panel discussion of what is going in the Apple space as well as the larger tech world, and how it is impacting you. Join us live at YouTube.com/MacVoicesTV at 8 PM Eastern 5 PM Pacific, or whatever time that is wherever you are and participate in the chat, or catch the edited and segmented versions of the show on the regular MacVoices channels and feeds. Chapters: 00:00 Introduction to MacVoices with Michael D.J. Eisenberg00:40 Meeting Michael D.J. Eisenberg on the Road to Macstock06:27 Exploring Simple Programming and Automation with Hazel and Scripts10:55 Understanding AI and the Imperfections in Automation12:57 Basic Functions and Tools for Enhancing Automation22:20 Special Offerings and Coffee Connoisseur Insights24:51 Inviting Audience to Join Macstock with Exclusive Codes Guests: Michael D.J. Eisenberg is a solo practitioner based in Washington, DC, advocating for veterans, military members, and their families for nearly two decades. Michael has been helping lawyers and law offices utilize technology tools to promote efficiency and effectiveness for decades. He created the blog and podcast The Tech-Savvy Lawyer in 2019 to share that information and more with the world. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Another brand new stop on The Road to Macstock Conference and Expo is a conversation with Michael D.J. Eisenberg, The Tech-Savvy Lawyer. Michael discusses about how he became a dedicated Mac user, and how his talk will on insights into using artificial intelligence for automation tools like Hazel, AppleScript, TextExpander, and Microsoft Word. He also offers a tip or two from another passion: coffee. Visit Macstock Conference and Expo and use Michael's discount code, TECHSAVVYLAWYER, or the MacVoices discount code MACVOICES to save $30 on your registration fee. Today's edition of MacVoices is supported by MacVoices Live!, our weekly live panel discussion of what is going in the Apple space as well as the larger tech world, and how it is impacting you. Join us live at YouTube.com/MacVoicesTV at 8 PM Eastern 5 PM Pacific, or whatever time that is wherever you are and participate in the chat, or catch the edited and segmented versions of the show on the regular MacVoices channels and feeds. Chapters: 00:00 Introduction to MacVoices with Michael D.J. Eisenberg 00:40 Meeting Michael D.J. Eisenberg on the Road to Macstock 06:27 Exploring Simple Programming and Automation with Hazel and Scripts 10:55 Understanding AI and the Imperfections in Automation 12:57 Basic Functions and Tools for Enhancing Automation 22:20 Special Offerings and Coffee Connoisseur Insights 24:51 Inviting Audience to Join Macstock with Exclusive Codes Guests: Michael D.J. Eisenberg is a solo practitioner based in Washington, DC, advocating for veterans, military members, and their families for nearly two decades. Michael has been helping lawyers and law offices utilize technology tools to promote efficiency and effectiveness for decades. He created the blog and podcast The Tech-Savvy Lawyer in 2019 to share that information and more with the world. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Mastodon: https://mastodon.cloud/@chuckjoiner Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Microsoft recalls Recall. An Arc browser impostor contains malware. We'll tell you which older devices will be able to run Apple's newest operating systems, and we discuss the security and privacy improvements Apple has announced for its upcoming OS releases. Show Notes: Microsoft pulls release preview build of Windows 11 24H2 after Recall controversy Intego discovers fake Arc browser with unique AppleScript malware component A Bug Allowed Kids to Visit X-Rated Sites. Apple Took Three Years to Fix It. Top 5 security and privacy features of macOS Sequoia, iOS 18, and iPadOS 18 Apple's Forthcoming AI Operating Systems – Intego Mac Podcast Episode 348 Apple Intelligence: Why most users won't get it Apple still leaving critical vulnerabilities unpatched in macOS Sonoma When does an old iPhone become unsafe to use? When does an old Mac become unsafe to use? Behind OS X's modern face lies an aging collection of Unix tools Intego Mac Premium Bundle X9 is the ultimate protection and utility suite for your Mac. Download a free trial now at intego.com, and use this link for a special discount when you're ready to buy.
On this episode of For Mac Eyes Only: Mike and Eric cover the basics of automating tasks on the Mac with an overview of Shortcuts, Automator, Keyboard Maestro, and AppleScript as well as a couple “helper apps” to make Shortcuts more powerful. Eric steps us through a real-world example of a time-saving workflow created in Shortcuts. Mike's Essential App pick this week: Free Ruler.
Shortcuts aren't just a little Applescript goodness that can be used to make droplets. Although you could do that. Shortcuts can be used to perform fairly complex atomic operations. In this session we'll look at some of the work Damian Cavanagh has posted to his Github, and the crazy lengths he went to in order to have Shortcuts that work with device management options. Hosts: Tom Bridge - @tbridge@theinternet.social Marcus Ransom - @marcusransom Guests: Damian Cavanagh - LinkedIn Links: ShortcutsForJamfPro Canvas podcast - Workflow Series Automators podcast - Shortcuts utility apps Actions app GitHub repo Sponsors: Kandji Kolide Watchman Monitoring If you're interested in sponsoring the Mac Admins Podcast, please email podcast@macadmins.org for more information. Get the latest about the Mac Admins Podcast, follow us on Twitter! We're @MacAdmPodcast! The Mac Admins Podcast has launched a Patreon Campaign! Our named patrons this month include Weldon Dodd, Damien Barrett, Justin Holt, Chad Swarthout, William Smith, Stephen Weinstein, Seb Nash, Dan McLaughlin, Joe Sfarra, Nate Cinal, Jon Brown, Dan Barker, Tim Perfitt, Ashley MacKinlay, Tobias Linder Philippe Daoust, AJ Potrebka, Adam Burg, & Hamlin Krewson
Topics: -The Andy Esposito story from an ACEs conference event long ago is the gift that keeps on giving. -Jerry gives a shout out to our friends at TidBITS Content Network. -Dave Hamilton of Mac Geek Gab mentioned blazing fast ThunderBolt cables from Leirui. Available on Amazon. -Joe has some personal experience with Nudge and AppleScript automation from macsudo.com. -Joe wants to do some follow up on all the automations within Addigy…when he has time. -Sam made a mistake deploying Nudge and found out the result the hard way. -The power of beta testers is crucial. A small group of tech savvy employees that can vet your deployments. -Sam has some experience with UniFi's Cloud Controller and shares some of what he has learned. -Ryan Grimes gave Joe some tips on keeping tabs on UniFi alerts using Uptime Robot. -LTE backup ISP options are critical when another ISP isn't available for a business.
You've got some juicy tidbits from Mac Geek Gab 1004 with Pilot Pete and Dave Hamilton. Ready? Raise your watch, say “five minutes,” and boom – timer set. Jazz up your Notebook with emojis in the folder names, create a dedicated email address for newsletters, and if you're into privacy, […]
Hey dear ThursdAI friends, as always I'm very excited to bring you this edition of ThursdAI, September 21st, which is packed full of goodness updates, great conversations with experts, breaking AI news and not 1 but 2 interviewsThursdAI - hey, psst, if you got here from X, dont' worry, I don't spam, but def. subscribe, you'll be the coolest most up to date AI person you know!TL;DR of all topics covered* AI Art & Diffusion*
This is a free preview of a paid episode. To hear more, visit sub.thursdai.newsHey! Welcome to this special ThursdAI Sunday episode. Today I'm excited to share my interview with Killian Lucas, the creator of Open Interpreter - an incredible new open source project that lets you run code via AI models like GPT-4 or local models like Llama on your own machine. Just a quick note, that while this episode is provided for free, premium subscribers enjoy the full write up including my examples of using Open Interpreter, the complete (manually edited) transcript and a video form of the pod for easier viewing, search, highlights and more. Here's a trailer of that in case you consider subscribingIf you haven't caught up with GPT-4 Code Interpreter yet (now renamed to Advanced Data Analytics), I joined and when it first launched and we had a deep dive about it on and even at the day of the release, we were already noticing a major restricting factor, Code Interpreter is amazing, but doesn't have internet access, and can't install new packages, or use new tools. An additional thing we immediately noticed was, the surface area of “what it can do” is vast, given it can write arbitrary code per request, it was very interesting to hear what other folks are using it for for inspiration, and “imagination unlock”.I started a hashtag called #codeinterpreterCan and have since documented many interesting use cases, like comitting to git, running a vector DB, convert audio & video to different formats, plot wind rose diagrams, run whisper and so much more. I personally have all but switched to Code Interpreter (ADA) as my main chatGPT tab, and it's currently the reason I'm still paying the 20 bucks! Enter, Open interpreterJust a week after open sourcing Open Interpreter, it already has over 20,000 stars on GitHub and a huge following. You can follow Killian on Twitter and check out the Open Interpreter GitHub repo to learn more. Installing is as easy as pip install open-interpreter. (but do make sure to install and run it inside a venv or a conda env, trust me!) And then, you just.. ask for stuff! (and sometimes ask again as you'll see in the below usage video)Specifically, highlighted in the incredible launch video, if you're using a mac, Code Interpreter can write and run AppleScript, which can run and control most of the native apps and settings on your mac. Here's a quick example I recorded while writing this post up, where I ask Open Interpreter to switch system to Dark mode, then I use it to actually help me extract all the chapters for this interview and cut a trailer together!
We talk about the LUI ( Linguistic User Interface), Steve's 3D printed house, using ChatGPT to automate your day with AppleScript, updates on LK99, Cold Fusion and Worldcoin, Robot Taxis, Amara's Law, De-Globalisation and ask the question - is stealing things the best business plan of all time?
Today on the show, Steven and Shaun present the first Double Tap Express - your weekly round-up of the week that was on Double Tap. We look back at Google I/O and hear thoughts from Double Tap TV's Marc Aflalo on the event, plus we get an exclusive hands-on review of the Pixel 7A smartphone that Google just announced. Watch Marc's review of the Pixel 7A on YouTube here: https://youtube.com/watch?v=1scXkudG61g&feature=share Google I/O 2023 is a wrap; here's a list of everything announced TechCrunch: https://techcrunch.com/2023/05/10/heres-everything-google-has-announced-at-i-o-so-far/ We also discuss the surprising news that Apple is bringing their much loved Final Cut Pro and Logic Pro apps to iPad from May 23rd. Read more about the Final Cut and Logic Pro apps coming soon to iPad here: https://www.macrumors.com/2023/05/09/apple-announces-final-cut-pro-and-logic-pro-for-ipad/ Steven also presented his demo of a new AppleScript submitted to the AppleVis forum online that can help speed up Voiceover. Read more on how to access the AppleScript and try it out yourself: https://www.ap-plevis.com/forum/macos-mac-apps/how-hopefully-speed-voiceover-launch-time-perfor-mance-mac-no-terminal-required Plus, Robin Christopherson joins us to talk about how he has benefited from using an Audiogram imported into the Health app of his iPhone to hear calls, podcasts and more, better. Get in touch with the Double Tappers and join the conversation: Email: feedback@doubletaponair.com Call: 1-877-803-4567 (Canada and USA) / 0204 571 3354 (UK) Twitter: @BlindGuyTech / @ShaunShed / @DoubleTapOnAir Mastodon: @DoubleTap YouTube: DoubleTapOnAir
Thank you to our VIP sponsors! Topics: -Archiving/Deleting in Apple Mail is inconsistent. -Jerry has been seeing issues on multiple computers when upgrading from macOS Ventura 13.2.1 to 13.3.1. Reinstalling the OS still creates data issues. -“That's a lot of nanas to deal with”. -Pro tip about using the Option key when clicking About This Mac to reveal System Information. -Thanks to Guillaume Gete for 80 Shades of the Option key -Joe talks about his use of Nudge as well as an AppleScript automation with the help of sudoade. -We discuss end user perception as Sam talks about a story upgrading Wi-Fi for a new customer. -Jerry mentions The Hawthorne Effect, which discusses how people increase efficiency when they feel like they are being watched. -Joe had been recommending a mail server upgrade to a client until finally one day, their provider went down. They still did not learn their lesson. -We get into how to quote email migration projects and the economy of scale.
In this episode, Rosemary and David are joined by creator of PCalc, Dice and About (by PCalc), James Thomson. They talk about James' first implementations of automation in his apps, as well as what automations he's using now, and AppleScript vs Shortcuts.
Bart continues his miniseries on shell scripting by teaching us conditionals in the shell. In order to explain why conditionals are a bit odd in shell scripting, Bart first walks us through how it was originally done and then shows us the evolution to a much better method. It's still weird, and many things are opposite of what you'd expect (like 4 is actually > 10), but he gets us there in the end. I was most excited to finally learn what `fi` means, which shows up in shell scripting and I'd seen before in AppleScript. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_02_18
Bart continues his miniseries on shell scripting by teaching us conditionals in the shell. In order to explain why conditionals are a bit odd in shell scripting, Bart first walks us through how it was originally done and then shows us the evolution to a much better method. It's still weird, and many things are opposite of what you'd expect (like 4 is actually > 10), but he gets us there in the end. I was most excited to finally learn what `fi` means, which shows up in shell scripting and I'd seen before in AppleScript. You can find Bart's fabulous tutorial shownotes at pbs.bartificer.net. Read an unedited, auto-generated transcript: CCATP_2023_02_18
Topics: -On this episode, we welcome Ross Matsuda - Apple Systems Administrator from Ntiva. -Ross is also the creator of sudoade -Ross majored in theatrical direction with a minor in graphic design. -He spent 7 years as an Apple Genius and also with Apple corporate. -We discuss the necessity of support with Apple's products. -We get into GUI scripting with AppleScript on Ross's site, sudoade. He developed a way to integrate automation with Addigy to only see the minor updates available. -Initially using Nudge, he decided to develop a method that worked best for his users. -Joe has seen a much higher level of software update compliance since using Nudge and Ross's solution. -PSA - get your Mac computers at least to 12.6.3 to avoid unexpected problems when performing updates. -Joe & Ross talk about simpler ways of presenting information and designing for the user experience.
In questa puntata Roberto e Filippo faranno un approfondimento sul programma di posta elettronica montato sui dispositivi Apple: Mail. Puntate precedenti sulle email e come gestirle 29: Email (Introduzione): il problema delle email e come cercare di risolverlo (https://a2podcast.fireside.fm/29) 32: Email (parte II): gli aspetti tecnici (https://a2podcast.fireside.fm/32) Manuali Pagina per tutto (https://support.apple.com/it-it/mail) Mac (https://support.apple.com/it-it/guide/mail/welcome/mac) Dispositivi iOS e iPadOS (https://support.apple.com/it-it/ht201419) iCloud (https://support.apple.com/it-it/ht203528) Mail.app Di serie su tutti i Mac, iPhone ed iPad Da un po' di tempo ne esiste anche una versione per iCloud.com Utilizzare Mail di iCloud su iCloud.com (https://support.apple.com/it-it/guide/icloud/mm6b1a17e3/icloud) L'interfaccia web molto simile all'app La mail di Apple @iCloud.com Legata allo spazio iCloud Filippo che ha i 2 Tb per esempio può archiviare email fino a sulla soglia Cercare le email in Mail sul Mac (https://support.apple.com/it-it/guide/mail/mlhlp1003/15.0/mac/13.0) Cartelle smart Novità iOS e iPadOS 16 Annulla invio: Se hai commesso un errore o hai inviato per sbaglio una mail, puoi annullarne l'invio con Annulla invio. Programma un'email Puoi scegliere Send later (Invia in un secondo momento) per fare inviare un'email a Mail a un orario predefinito. Ricordamelo: Fatti ricordare da Mail di un'email tra un'ora, stasera, domani o in qualsiasi altro momento. macOS Ventura Le novità di Mail sul Mac (https://support.apple.com/it-it/guide/mail/cpmlwn/mac) Automazioni Situazione differente tra macOS e iOS / iPadOS Su macOS ci sono altri strumenti più potenti per automatizzare Mail Su iOS / iPadOS Solo Comandi Rapidi Comandi Rapidi e Mail iOS / iPadOS macOS (https://support.apple.com/it-it/guide/shortcuts-mac/welcome/mac) AppleScript (https://help.apple.com/applescript/mac/10.9/) Automator (https://support.apple.com/it-it/guide/automator/welcome/mac) Le Regole / Automazione di Mail su macOS Come funziona ? Condizioni Azioni La funzione più potente è esegui AppleScript … ma richiede poi certe competenze per far funzionare il tutto Link a post su Stackoverflow dopo si spiega come creare un AppleScript che funzioni con le regole di Mail (https://stackoverflow.com/questions/27952360/applescript-rules-in-mail) Possibilità di regole su iCloud ma meno incisive e solo per dominio iCloud Utilizzo delle regole di filtro in Apple Mail (https://clean.email/create-email-rules/apple-mail-rules) Interessante articolo con varie regole (https://www.makeuseof.com/tag/apple-mail-rules/): Identifica le e-mail di persone che non conosci Elimina spam persistente e e-mail inoltrate Usa i nomi di dominio per catturare e-mail importanti Raccogli e-mail con PDF Plugin estensioni SpamVerse (https://c-command.com/spamsieve/) Cifratura email Free-GPGMail (https://github.com/Free-GPGMail/Free-GPGMail) GPG Suite a pagamento (https://gpgtools.org/gpgmail/index.html) Come usare PGP su Mac (https://proprivacy.com/email/guides/pgp-mac) Articolo con vari “vecchi” plugin I miei nove plug-in indispensabili per Apple Mail (https://www.macworld.com/article/223159/my-nine-must-have-plug-ins-for-apple-mail.html) Impossibilità di scrivere email in markdown MA c'è un trucco Scrivere in markdown Convertire MD in Rich Text con un comando rapido Copia incollare il testo all'interno di Mail MailMate (https://freron.com) Come potete sostenerci Se vuoi supportare il podcast ti chiediamo con il cuore di fare una recensione su Apple Podcast. Se volete sapere come fare una recensione trovi qui (https://www.avvocati-e-mac.it/podcast/itunes). Potete anche scriverci a scrivi.a
Topics: -Joe recommends https://photosautomation.com for a multitude of automations, including voice control. -He also created a series of AppleScript automator workflows to manage multiple Photos libraries. -Managing multiple display screensavers - http://www.cs.uni-bremen.de/~zach/software/ArtSaver/index.html -A great tip is the MonitorControl project to manage your external displays. Sam is very grateful. -An external display that Joe likes is the DELL U2720Q which works over USB-C as well as an Apple TV screen on a second input using HDMI, with HomePod mini for audio. -One last item is a great keyboard customizer for macOS: Karabiner-Elements. Joe used it to remap his F6 key. -Sam recommends Miro to create visual collaboration tools. He used it to create a powerful presentation for a client. -TextSniper is Jerry's go-to tool to capture text. It's incredibly useful and simpler than using the built in functionality of the OS to capture text. -Sam had a troubling issue with a Synology connected to Active Directory. DNS servers were changed without alerting their team and the Synology could no longer display file share data since all permissions were tied to Active Directory. -One of Joe's clients calls him AFTER making changes to their VOiP system and needing emergency support. -Joe received good feedback from Sam and others about using an M2 in clamshell mode. He can now make a more informed decision for a client. -When setting up a new iPhone, Joe uses John Gruber's tip to use the device to device transfer instead of iCloud backup. An important factor for this is porting over credentials stored in Keychain.
Andrew and Jason are joined by special guest Scotty J, Shortcuts specialist and co-host of the podcast Nested Folders! He shares his tech experience and boosts representation of the Northern Hemisphere! Meanwhile, Martin interrupts the conversation from afar with a weird collection of stories... Missing Man Formation 00:00:00 Two years of this show!?
How do you manage recurring projects? In this episode, Morten and Lars will walk you through: - How Areas of Focus might be mixed up with recurring projects - How you go about building checklists for recurring projects - How they both use checklists for recurring projects in their systems, Apple Notes/Omnifocus and Todoist/OneNote ..and much more! You may want to watch this one (YouTube links below) as Morten shows his approach. Links: - GTD Summer Camp 2022: www.GTDSummerCamp.com - Our episode on Natural Planning Model®: https://soundcloud.com/gtdnordic/the-natural-planning-model-from-gtd - Tim Urban: Inside the mind of a master procrastinator (TED): https://www.youtube.com/watch?v=arj7oStGLkU - Curt Clifton's Apple Script that Morten uses as ""Populate template placeholders"": http://curtclifton.net/poptemp - Morten/Lars' channels on YouTube, if you want to watch the episodes: - Morten: https://www.youtube.com/c/MortenRøvikGTD - Lars: https://www.youtube.com/c/LarsRothschildHenriksen We really hope that this episode helps you on your GTD journey and, as always: If you have any feedback we'd love to hear from you via podcast@gtdnordic.dk, you can learn more about GTD in the Nordics at GTDnordic.com and find cool GTD gear at GTDshop.com.
In this episode, Rosemary and David are joined by Daniel Jalkut, the man in the red sweater behind FastScripts, MarsEdit, and the Core Intuition podcast. Together they ponder the future of AppleScript, the restaurant at the end of the universe, and just how fast is a script?
In this episode, Rosemary and David are joined by Daniel Jalkut, the man in the red sweater behind FastScripts, MarsEdit, and the Core Intuition podcast. Together they ponder the future of AppleScript, the restaurant at the end of the universe, and just how fast is a script?
Steph is super excited about changing her schedule to dedicate a full day to focus on being a great team lead. Chris talks about his continued adventures in the world of hiring. Together they answer a listener question about what they consider a “large” table in a database and how they review schema changes. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy. Services down? New Relic (https://newrelic.com/bikeshed) offers full stack visibility with 16 different monitoring products in a single platform. ClickHouse (https://github.com/ClickHouse/ClickHouse) Timescale (https://www.timescale.com/) InfluxDB (https://www.influxdata.com/) ddl-partitioning (https://www.postgresql.org/docs/current/ddl-partitioning.html) Become a Sponsor (https://thoughtbot.com/sponsorship) of The Bike Shed! Transcript: STEPH: I just feel like every time I listen to Celine Dion, there are lots of dramatic hand gestures that have to go with it. CHRIS: Yep, definitely that. I'm strong team Power of Love. STEPH: Ooh, yeah, yeah, that's a good one. CHRIS: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Chris Toomey. STEPH: And I'm Steph Viccari. CHRIS: And together, we're here to share a bit of what we've learned along the way. So, Steph, what's new in your world? STEPH: Hey, Chris. Oh, I have some exciting news. I am changing up my schedule. It is going to start next week, where as a team lead at thoughtbot, we have been working on finding ways that we can have more time to invest into the team and team-specific initiatives. And most of us spend four days billing on client work, and then we have investment day, which is delightful. But we're finding as team leads, that's really not enough time to then have the impact that we want in terms of supporting our team and then also having time for mentorship and all the other things that go along with being a team lead and one on ones. So we have been incrementally working towards reducing billing. So team leads only bill three days a week, and then they have an additional day to really focus on being a great team lead. And I start that new schedule, that new-new schedule next week, and I couldn't be more excited. I think it's going to be wonderful. I do think there are some challenges that go with it in terms of really balancing, at least this is from the others who have gone before me where they then find it a bit harder in terms of client expectations of saying, "Well, I was billing four days, and I had a larger impact on the codebase and the team. Now I'm dropping to three days. I still need to stay within that constraint. And I want to keep the client team happy." So that seems to be a thing. But I will find out next week how it goes. CHRIS: Well, I'm very excited for you. That sounds wonderful, frankly. The balancing of the client expectations and then there's sort of now three slices to your work, which there always were, but now you have it delineated in an interesting way. Do you have specific plans for the team lead? So let's say now, nominally, there's one day a week that is dedicated to team lead time. Do you have ideas of what that looks like? Are you planning to pair with your team? Is it longer one on ones? I don't want to seed the question too much with potential answers. So what are you thinking about there? STEPH: [laughs] Ideas are great. And yes, so I think number one is structure. So right now, one on ones and any support that I need to provide others is more ad hoc, or at least the one on ones those are not ad hoc; they are structured. But they are spread out throughout the week, and then I just context switch between client work and then checking in with others. Now I can stagger everything on a Thursday or whichever day is going to be my really focused team lead day. So that way, I have all the one on ones on that day. And then yes, I can have more time to pair. So I can say, hey, let's just schedule every other week where you and I hang out, and we pair for an hour, and it can be on their client work. It can be on anything that they'd like to work on. Or, if there's a particular topic they'd like to talk about, we can pair on consulting issues or discussions. But yes, ultimately, I'd love to do more pairing and then structure one on ones to a specific day and essentially, just really protect that time. Because right now, it feels that client initiatives and work always come first, and then team lead comes second. And I'm excited to balance that more so they have equal priority. CHRIS: Yeah, that sounds great. I'm super intrigued to see what specific structures fall out of it and how you're experiencing it. I'll be interested to hear how investment time changes for you as a result of this because I remember when I started in the management role, four days a week billing, and then one day a week of investment time. But the investment time then basically went to one on ones and other things like that. And when I switched to a three-day week, I was able to reclaim some amount of investment time. And it was interesting having that open back up and have that be a consideration. Because definitely one on ones and things like that I think firmly fit within the idea of investment time or investing in the organization and whatnot. But still, there's the like; I'm going to go explore a new framework or something like that that also certainly fits within investment time. So I'll be interested to hear if you find that changes in sort of a specific way. STEPH: Yeah, I'm really interested in that as well. Because right now, as you mentioned, my investment activities are really focused more around the team and other folks and then Bike Shed. Bike Shed is a really big investment time activity. So I've noticed since becoming a co-host for the show, I talk a lot about code, but I don't necessarily contribute to open-source projects or other internal projects at the rate that I used to. It's now more focused about here and being a co-host and talking about all the things, and that requires some prep for me. So I'm also interested to see if this will shift my investment time a bit where I do find a little more time to code and then explore just things that I'm interested in. But in the experiment of doing something new, it's always important to then have a way to measure is this a good change? Is this a bad change? So we have been checking in with team leads to say, "Hey, we've changed your schedule to where you're billing one day less. How's that going for you?" Because there's the assumption that this will be great, but you really have to check in with folks to find out. So Edward Loveall has been sending out a helpful survey and checking in to say, "Hey, how are you feeling about your client work? How are you feeling about your team lead responsibilities? How are you feeling about investment time?" So then you can track your own growth and see is this really helping me? Is this really going in the right direction, or am I just more stressed about everything now? So that's helpful that we are also just looking back to make sure that this is supporting the initiatives that we said it would support. But that's some of the newness in my world. What's going on in your world? CHRIS: What's going on in my world? Continued adventures in the world of hiring. So we've got a couple of people in the pipeline now. We've got some folks in the technical interview phase, which we're structuring our technical interview very much inspired by the thoughtbot interview. So it's a pairing session as well as some code review, which is great because I think it's really representative of the actual work that we do. I believe strongly in not having an interview that is trivia or anything of that sort of thing. I want to see folks at their best as opposed to finding the rough edges. Because I think it's critical to have an interview that really represents the work that we're doing and then also gives candidates an opportunity to show themselves at their best as opposed to trying to hunt out gaps in knowledge or things like that because I think it's easier to shore up a gap of knowledge. But I really want to know what is this person like when they're firing on all cylinders? So, so far, that's going great. But hiring is a complicated long game. So it will probably be a thing that I'm talking about for some weeks to come. And if anyone out there is listening and is potentially interested in a new adventure, I would love to chat with you. Sagewell Financial is hiring. And it's a wonderful Rails codebase and lots of new opportunities, et cetera, et cetera. STEPH: As someone that has worked with you, I can absolutely vouch that you are amazing to work with. And I can only imagine the codebase must be...everything we've talked about is really interesting and stellar. So yeah, I love that you're talking about this. I think it's awesome and a great opportunity for folks to get to join Sagewell. CHRIS: Oh, thanks, Steph. That's very kind of you. But in other unrelated to hiring news, one of the things that I talked about in last week's episode was my search for a new to-do list or a new application to use. And I listed some of the ones that I've been exploring. We got more feedback about that particular segment than any other by like 2X. And there's something to be said there. Maybe the show is just living up to its name. But so many people are reaching out like, "Oh, have you looked at this one?" And to be clear, I very much appreciate all of the feedback that folks have given. And actually, it has given me a few new things to look at or ways to think about this question. But mostly, I find it very funny that even though we've dabbled in topics like agile, and is it good or bad? Or other contentious ideas [laughs] like that, somehow this idea of what to-do list application should I use by far the most engagement we've seen with our audience. STEPH: I think it makes sense. Everybody has an opinion. Like you said, we're living up to our name, which is great. Was that great? I don't know. [laughter] CHRIS: It's something, I'll say that. STEPH: It's something. But yeah, everybody has felt this pain. They get it. It resonated. But since we do have some people that shared their strategies and their thoughts, did that sway you at all? Are you still going to keep with what you have, or are you going to explore new things? CHRIS: I consider this project open. I have a project in Things, which is the current to-do list application that I'm using to explore the landscape. But it's basically like, I want to timebox it, find a version that works for me. And right now, I moved to Things, and it's fine. I'm more intrigued by the jobs to be done aspect of it. So as opposed to a particular piece of software and the features that it has or doesn't have, I really want to think about the habits and workflows that I want to make easier and more repeatable. So particularly, each day, I want to wrap up by cleaning everything up. I like my inbox zero, as you probably know, so doing a little bit of that, and then planning the next day. So I want to have a tool that supports that idea of I want to queue up what I'm going to do in the morning so that tomorrow morning when I start back up, I have a very clear list of things to do. And I can just dive in with what I find to be some of my best thinking time early in the morning. Similarly, I want to be able to review on a regular basis and know if things are getting stale or overdue. So there are a couple of different workflows that I'm really focusing on. And it's unfortunate because then I look at each piece of software, and I'm like, well, you kind of support this but not totally. So I'm more in a collecting phase right now. I'm thinking about the workflows that I want to have and then finding the different tools and comparing them across those. But the one thing that I have done at this point is I wrote a little Siri shortcut I think is the name for it. They're called Shortcuts is the name of the application, but if I try and Google that, Google doesn't really know what I'm talking about. They think I'm talking about my phone, but I'm not talking about my phone. I'm talking about my actual computer, but it's little workflow automation stuff on OS X. And so I have a shortcut now that prompts me for the amount of time, and it defaults to 45 minutes. And then, it will turn on Do Not Disturb for 45 minutes, minimize Slack, because I can't be trusted, and turn on a particular Spotify playlist. And then there's a little menu bar application that...I wrote a tiny bit of AppleScript; I found it on the internet and actually read it, that finds the top task in my to-do list and puts it in the menu bar. And so now I have all of that. I push a magic button, and I say, "Yes, so I would like to work for 45 minutes on the thing that is at the top of my to-do list.” And then all of the noise of the world goes away for 45 minutes or however long I say. STEPH: I think you just created the next new hot to-do app. [laughs] This sounds like something that I need and love, especially when you're like, it autoplays a playlist for you and shuts down the world and then has you focus. Yeah, I like this. I think this also rings a bell. I feel like Momentum, or something also has similar prompts. But this sounds delightful. CHRIS: If we're being honest, it's an absolute hodgepodge of a kludge. You have some weird shell scripts and some AppleScripts. And I had to install a weird command-line utility for Spotify to make it happen. But it was one of those like; I'm spent at the end of the day. I just want to tweak on some piece of code. And this was a perfect, productive distraction, is how I would describe it. And when I've used that, I've been very happy. I know the days that I actually lean into that mode of working are better days. The days where I allow myself to be distracted by Slack throughout the day, although I'm responsive to certain questions, things are not moving as well as they should. And so, I'm trying to be really intentional with having more of these Do Not Disturb sessions throughout the day. I feel bad saying that. I shouldn't because we all should be in agreement that this is the way that we work. But even saying that, I'm like, I'm not that special. I should be reachable, right? [laughs] But I should take even just a short 45-minute break to focus on the work that I actually need to do. It's a struggle. STEPH: I have struggled with that where I used to always feel such an urgent need that I had to respond to someone as soon as they messaged me. But over time, I've learned that one, things typically aren't as urgent as I will feel that they are. And then two, if you have that type of environment where people aren't expected to just immediately reply to stuff, then you learn to write things in a way that says, "Hey, when you see this, and here's context, and here are the things that I'm looking for. And here's an easy way for you to give feedback." It just improves the overall communication. I could go on a rant about this. I think we've actually ranted about this before in a very positive way. [laughs] Yes, I think that's great that you are fighting the good fight and turning off the world for 45 minutes to focus on a task. CHRIS: What's a positive rant? I feel like there's got to be a word for that. [laughs] But I'm trying to try and come up with that. A celebration isn't...is this one of those gaps in language where we don't have a word for a positive rant? STEPH: Oh, this is going to bother me. [laughs] There's got to be something for a positive rant. CHRIS: Well, I'm sure German has...some Scandinavian language or German has a more specific version of when one goes off on a rant for many hours about things that they love and are joyous about in the world or something like that. But maybe English is just lacking this, or maybe this is a market opportunity. And we can coin the word, and then it's ours. STEPH: I think it's just praise or accolades, although that doesn't feel strong enough. Rant feels like such an emotional word that I agree praise doesn't feel strong enough. CHRIS: It's also spacious. You don't just rant, and it's one word. It's not just like one swear that you yell in the word. No, it's this long rambling thing, and I want that but positive. Maybe it's just called The Bike Shed [laughter] because I think that might be what we do. STEPH: I love that. I'm trying to smash it together, and all that I can come up with is prant, so that leads with a P. CHRIS: Yeah, I went there real quick. [laughter] Portmanteau is where I spend most of my time. But prant is just not enough. Okay, we're going to take this offline. I think we should come up with a word. This is our market opportunity. I don't know that we'll make a lot off of this, but we'll have a word then. STEPH: It's okay. Free things are good. Oh my goodness, this is going to be so trivial and silly. But I've been playing Wordle as the rest of the world has. If you're not playing Wordle, check it out. [laughs] It's delightful. And it's free. But I started playing without really researching who created it and didn't have all of the details behind it. And then it was earlier this week I found out that the creator of Wordle is Josh Wardle. And that just blew my mind and made me so happy that it just had that alliteration and similarity. And I just hadn't put it together until that moment. And it was just this wonderful, happy bubble of a moment where I was like, oh, that's delightful. [laughs] And I'm pretty sure I texted some people who were like, "Yeah, yeah, we know that." [laughs] CHRIS: Yes, that was a wonderful positive rant or prant as it were there. And Wordle really is just such a delightful phenomenon that popped out of nowhere and is given away for free by the kindness of Josh Wardle. So yeah, wonderful things on the internet. Mid-roll Ad And now a quick break to hear from today's sponsor, Scout APM. Scout APM is leading-edge application performance monitoring that's designed to help Rails developers quickly find and fix performance issues without having to deal with the headache or overhead of enterprise platform feature bloat. With a developer-centric UI and tracing logic that ties bottlenecks to source code, you can quickly pinpoint and resolve those performance abnormalities like N+1 queries, slow database queries, memory bloat, and much more. Scout's real-time alerting and weekly digest emails let you rest easy knowing Scout's on watch and resolving performance issues before your customers ever see them. Scout has also launched its new error monitoring feature add-on for Python applications. Now you can connect your error reporting and application monitoring data on one platform. See for yourself why developers call Scout their best friend and try our error monitoring and APM free for 14 days; no credit card needed. And as an added-on bonus for Bike Shed listeners, Scout will donate $5 to the open-source project of your choice when you deploy. Learn more at scoutapm.com/bikeshed. That's scoutapm.com/bikeshed. CHRIS: We have a listener question this week. Once again, just as a reminder, everyone, we love getting these listener questions. Feel free to send them into hosts@bikeshed.fm or ping Steph or I on Twitter or any number of different ways. There's, I think, a form that you can go to the website, lots of different ways to ask us your questions. But again, we really love them. They let us have more pointed topics to talk about, such as today's topic, which is "What do you consider a quote, unquote, "large table" in a database?" Which is an interesting question, I think. And so, let me read the question here. "Hey, Steph and Chris, I've listened to you (and most of your predecessors) for a while now. I've really been enjoying the conversational style about your actual development struggles." Thank you so much. This comes from Matt, by the way. "Anyway, something Chris said in Episode 301 triggered a thought for me around large tables and databases and handling them for development tasks. What do you consider a quote, "large table" in a database? What questions/considerations come to mind when you're doing PR work that has a database interaction in it? We recently needed to delete a lot of rows out of a large table, and the team has a lot of discussion around how to handle it without impacting our production users. Curious on your thoughts. Thanks." So, Steph, what do you think? What's a large database table in your mind? STEPH: So I don't have a scientific answer for that, but I can give you my gut instinct. So typically, if there's a table that has a million or more records, I'll refer to that table as a large table. And then, if a table has around half a million records, then I start to be more cautious about data changes and how I'm rolling out schema changes. So that's my very loose; this is my feeling of when we're getting into large territory. How about you? Do you have more of a concrete answer? CHRIS: I don't. And I think it would actually, in a lot of cases, be defined based on the database system that we're working with and, frankly, the RAM available on that system. There are two different sides of it; one is on the right side, like, how quickly are we inserting data into this table? And how quickly is it growing? Is probably a better question. Maybe there's a ton of data in it, but it's not growing that quickly. And so, we don't need to worry about any runaway characteristics. The other side of it is how easily can we read from it? And that is the one that's going to be RAM-constrained. Where can we maintain an index efficiently? Can we query effectively and use RAM and whatnot? So a million starts to become an interesting number, probably. But I've worked on plenty of databases where hundreds of millions of rows existed, and we've got efficient indices in place and enough RAM that the database just happily works with that, and there are no problems. So really, it's a question of like, if we start thinking about having to need to delete data, then that's a large table. If we have one table that is wildly larger than the others in the system, then that is something that I'll keep an eye on. I want to make sure, like, how's that table doing? How's the special table doing? And often, there is one or two special tables similar to the idea of god objects within a system where these are the one or two classes that have just method after method after method after method. Similarly, there are one or two database tables that often have the lion's share of the data within the system. And so those are the ones that I'm really focused on. And especially as we get closer to the RAM limit, there's this drop-off that I've seen happen where a system is like, it's fine. We got 250 gigs of RAM; there's no problem. And our database is only 100 gigs. And then a couple of weeks later, suddenly, had a bunch of new users sign up, and suddenly, your data and your indices no longer fit in memory. And now we're paging to disk, and suddenly the performance characteristics of your system just tank. And so it's that sort of thing. Watching growth rates is perhaps more important than the absolute size of any individual table. So yeah, those are some loose thoughts. STEPH: I like how you used the word interesting. I think that's a nice replacement for the word large. When we get around a million records, things start getting more interesting in how we're rolling out schema changes. And then there's also you touched on usage, which aligns well with I often don't think so much about how many records that we have in a table. But what's the usage of that table? How many queries or transactions are being executed against that table? Is this a very popular table like the users table? And will running a migration that renders that table inaccessible for a couple of seconds will that be problematic, or is this a table that we write to a lot, but we don't read from very often? And even if it runs a couple of seconds, it's not likely to have an impact on people using the application. So that's one area I tend to think about first is what's the popularity of this table? And how cautious do I need to be in making sure that we don't block other people from accessing this data? I also really like how Matt asked the question about what considerations come to mind when you're doing PR work that has a database interaction? That's one of those areas that, honestly, I lean pretty heavily on Strong Migrations to remind me how I can rewrite a migration to avoid or to transfer a blocking operation to a non-blocking operation. So a really good example is setting a NOT NULL constraint on an existing column. I know that it can be very blocking if you try to do that by default when you first run it, and I will look it up every time. I will check Strong Migrations and say, "Hey, I know you've got some really great docs that will walk me through about adding a check constraint instead," and then making sure that I can then add this new column. So going forward, for inserts and updates will apply the default, but it doesn't validate all the existing data. It's also a really good reminder, that particular example, is start with stricter constraints because it's a lot easier to remove a constraint than to add one later. So that's one consideration that comes to mind. I also think the fail fast and fail loudly applies nicely here. So if I'm looking at a PR that is making a schema change, then I want to validate that the application has low timeout values so that way if a migration does take more than 30 seconds to run, then the migration will timeout. And then that will alert the developer to say, "Hey, do you need to think of a new approach or see if there's a way to improve this?" Versus if that migration didn't timeout, then that timeout is going to become user-facing as they start to experience problems with the site. And then also looking for more performant methods so using findnbatches, update all, delete all, just checking for the more performant ways that we can update large sets of data. Those are, I think, the top things that I really look for. How about you? CHRIS: Yeah, I think very similar to everything you just said. And broadly, there's a point in time that happens frankly pretty early on in the growth of an application and the data set behind it where you need to start behaving differently with regard to migrations. There's a small period of time where I can just get away with anything. I actually really love the part before we have any actual users where I'm like, oh, we need to change this fundamentally. I'm just going to drop the table and rebuild it because it's easier than trying to think about how to migrate this data. But so quickly, you get into a place where it's like, nope, sorry, can't do that have to treat this as realistic. So a bunch of the strategies that you're describing, like indexes concurrently, is one of the things that I'll reach for often because that allows me to decouple the timing there and not...again, the migration timeout that you're talking about is absolutely something that I want to have. Migration should go through quickly, and if they can't, then we need a different approach. Maybe we need to introduce the new column right to that one in parallel to the existing column, and then eventually do a switchover. It's definitely more work and involves a couple of deploys to get that done, but that's the unfortunate reality that we have to move to. I will say one of the things we talked about is like, if we hit that timeout, then we're going to stop that migration. This is a critical feature that I rely on deeply at Postgres, which is that schema migrations or DDL transformations; if I'm saying that correctly, I'm not sure I am, but throwing an acronym out there, it'll be fun. This is actually one feature of Postgres that I really rely on. My understanding is that Postgres has this; MySQL does not, but I may be off. I know that Postgres has transactional DDL transformation, so schema migration sort of things. I'm adding a column; I'm removing a column, et cetera. Those inherently happen within a transaction, and that's wonderful because if they do timeout, we want to be in a consistent state. The worst thing I can possibly imagine is being like, we got halfway through, but then we failed, or we lost connection, and so it's half migrated. It's like, oh God, I want to trust my database deeply. That's sort of one of the fundamental things that I have. And I've, over time, pushed more and more into the database and saying let's have check constraints. Let's have null true and all of these sorts of things so that the data in my database can be deeply trustworthy. The idea that a schema migration could go awry, and suddenly we've got like, well, half of the rows have these extra columns. What does that even mean? How do you live in that world? So I love this feature of Postgres. I really rely on it. I feel very bad whenever I have to disable it. I think there are some enum-related things that require disabling DDL transactions. And whenever I type that in a migration, I'm like, I don't like this. I'm not happy about this, but it's the world we live in for now. STEPH: If we're sharing our truths, yeah, adding an index concurrently also you have to remove that DDL transaction and disable it. For a previous project that I was working on, we often ran into that timeout where we'd run a migration, and then it would timeout. And we would then just specify and be like, "Hey, for this migration, I'm going to bump you up to a minute. I'm just going to make it longer." And that felt questionable at times, but I at least appreciate the explicitness of it where you're making that decision to say, nope, I think this is fine. It's not going to impact anybody, or we're going to run it in off-hours. I do want to extend this to a minute, and then make sure you do reset it, so it doesn't affect it globally from there on out. But that's something that you can do, and I have done before, which I feel is important. You still want to know some of your outs in case you do need something like that just to fix things in a moment but then at least be intentional for when you're using it and then communicate to the team like, "Hey, I'm doing this and let me know if you have concerns about it." For this specific scenario that Matt provided about we recently needed to delete a lot of old rows out of a large table, and the team had a lot of discussion about how to handle this without impacting production users; I happened to have a really nice conversation with Steve Polito, a fellow thoughtboter, about this particular question. And he had a very thoughtful response that I hadn't considered where he suggested starting with deleting the data for a small set of records. So, for example, if you're working with a users table, you could scope the data deletion to only inactive users and then use a feature flag to disable any interactions that would be affected by that data loss, run that change to delete the data for those inactive users, and then check for unexpected errors or side effects. So then that way, you have this moment to pause to say, "Hey, did we forget something? Is there something about this application that's still relying on that data that we forgot about? We've only done it for a small amount of users, so we're in a safer space." So then, at that point, you can either repeat those steps for another batch of records or use that feedback to then drop the column with confidence. And that was an approach that I hadn't considered, but I really liked that idea. CHRIS: Yeah, it's a nice, I'd say methodical approach to what can be a very complex and difficult to wrangle task. I will say I haven't actually explored this too much, but I've always had in the back of my mind, like, if we're deleting data from the application, ideally, we're saying this data is no longer needed. But I wonder if using table partitioning is an alternative that can be useful in these cases. What if we're able to figure out the correct partitioning? It's often time series sort of stuff. What if we're able to lean into that and say, "Let's partition this by year." And then yeah, we don't use the old data anymore, but it lives in a separate partition. And therefore, I think Postgres is able to do reasonable things with that. And again, like disk space, we can have a lot more storage on disk, but RAM is really going to be the constraining factor of how much of the index fits in memory. And again, I haven't pushed on this. But I think that's an alternative approach that can be really interesting. But if we do have time-series data, in particular, Postgres is wonderful. But it's not necessarily honed exactly to that use case. And so, there are a couple of tools that I've kept an eye on right now: ClickHouse, Timescale, and InfluxDB being the three of them. And I think most if not all of them are based on Postgres, but then they build on top of it. And they add some deeper understandings of time series data and how to optimize querying and storing, and all of that. And so, is that an alternative that allows us to still stay in this world but then have a different approach and alleviate some of the burdens that might come with this heavy data that we have? STEPH: Yeah, all those sound interesting. I haven't heard of some of those. This is why I love chatting with you. You always bring interesting perspectives that I had not considered before, like the partitioning. Just to clarify, partitioning the data is a way of keeping that data, but then it's not indexed. So that way, your system isn't spending as much time making sure that data is easily readable. But then that way, you don't actually delete it, so then it's there should you wish to be like, oh, I wish I hadn't gotten rid of that data. CHRIS: I think so. I'll be honest; I don't deeply understand it. But I think you basically can say given a giant projects table within your system; we actually may have that logically grouped by user sort of thing. And so we can shard and partition and say, there are ten different buckets of these. And if we optimize it well such that all of the things that are logically together actually live together on disk, then it allows Postgres to be much more efficient. Similarly, with time-series data, then you can say, use this sort of windowing where it's each month, we get a new bucket. And then it's much easier to query across just that bucket because it's already sort of partitioned down in that way. But I'll be honest; I'm now speaking well past my actual knowledge. I've never actually worked with it. But it's one of those things that I have in the back of my mind. Like if all of my other tools fail me and if I cannot solve these performance problems in a Postgres system with indexes, and tuning, and other things like that, then I will look to partitioning. So I look forward to that day when the data problems are so massive that I need to table partition. STEPH: Got it. Like they say, it's a good problem to have. While adding to the list of tools, there's one that I discovered recently; it's called Safe PG Migrations. And it's very similar to Strong Migrations, where Strong Migrations will warn you and say, "Hey, this is not safe. There are other ways to write this migration." Safe PG Migrations take some more aggressive approach and will rewrite your migration to be a safer version. And I don't know how I feel about it. I love it, and I hate it. [laughs] It's one of those the magic is there, and that could be phenomenal. But I get squeamish when things want to rewrite something as important as my migrations. But on the other hand, it is like a really nice default for the team because it's more than a warning. So that way, if you're trying to put something more strict in place for people to follow, then this would be a good way to do that. CHRIS: I'm very intrigued by that as a tool because if it were obvious, then Postgres would do it. The team behind Postgres does absolutely amazing work. And so if I tell them, "This is the change I want to make to the system," and they're like, "Cool, we're going to do that super inefficiently," and someone else is like, "No, no, no, I can trick it." Postgres is good at tricking itself, is my stance. So I'd be intrigued as to what secret knowledge they have or what are their caveats where Postgres has to handle every possible edge case. And therefore, it's slower because of pessimistic concerns that it has. But this tool says, "No, no, as long as you're not doing this very terrible thing, you're fine. And we'll rewrite it to a safer, faster version." But I'm just kind of intrigued, like, why do you think you're better than Postgres? STEPH: [laughs] Why do you think you're better? Well, I do you have an example I can provide. It's one that they have on their README. And this one highlights that if you're adding a column to an existing table and that you're adding a default value and no constraint, then they show you how it's rewritten where they set explicitly the lock timeout, and then they will add the column. And then they will set the default value but not in a way that it's going to do a table scan where it's going to add it for all the existing records; it's going to be for new records. And then they, let's see, they also update the users in batches to then set a default value, and then they will reset the statement timeout because it looks like they are...yeah, because initially, they change it, so they're resetting it to an original value. And then, they set the column Null constraint. I know I just said a lot of things reading from their README. But they have a good example here that kind of highlights that this is how they rewrite it. So I do find that more reassuring as long as I can then see how it was rewritten, and then I can validate it and confirm it with what I think is appropriate. Then I still have full control. Then it's more of a hey, we rewrote this thing for you. Feel free to review it and then change it as you see fit. As long as I have that final authority, then that makes me feel better about this. CHRIS: Got it. That makes sense. And the thing that you're describing, I think, is a semantically different thing than the first migration where it's like, do this thing. And they're like, well, okay, you could. But if instead, you did X, Y, and Z, then it would go way faster and be way easier. That makes a lot of sense. And it feels like shared knowledge wrapped up into a tool which I'm always a fan of that. STEPH: Yeah, in general, when I think about general strategies for schema changes, there are really three areas that come to mind or three strategies that come to mind. The first one is that we take incremental steps to avoid blocking reads and writes to the table, which then allows you to deploy during business hours or off business hours. That often means just more manual steps that you have to take to make sure that it's safe. And then the other one is scheduling downtime to run a migration. That is a very real option, something that you can do. Or have a fancy setup that utilizes followers for seamless migrations and upgrades. I feel like that's like the three big buckets that you can fit your strategy within. And it just depends on the needs of your application and users as to which one of those you're ready for or which strategy you need to use. What do you think? Are there any other big buckets that I left out of that list? CHRIS: No, I think we covered a bunch there. Hopefully, that was useful. Hopefully, it, I don't know, maybe introduced folks to some new ideas or ways to think about this sort of work. And yeah, with that, shall we wrap up? STEPH: Yeah, I've still got my Wordle to play for the day. So let's wrap up. CHRIS: The show notes for this episode can be found at bikeshed.fm. STEPH: This show is produced and edited by Mandy Moore. CHRIS: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review on iTunes, as it really helps other folks find the show. STEPH: If you have any feedback for this or any of our other episodes, you can reach us at @_bikeshed or reach me on Twitter @SViccari. CHRIS: And I'm @christoomey. STEPH: Or you can reach us at hosts@bikeshed.fm via email. CHRIS: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeeeeee!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.
Welcome to The Nonlinear Library, where we use Text-to-Speech software to convert the best writing from the Rationalist and EA communities into audio. This is: 100 Tips for a Better Life, published by Ideopunk on LessWrong. Write a Review (Cross-posted from my blog) The other day I made an advice thread based on Jacobian's from last year! If you know a source for one of these, shout and I'll edit it in. Possessions 1. If you want to find out about people's opinions on a product, google reddit. You'll get real people arguing, as compared to the SEO'd Google results. 2. Some banks charge you $20 a month for an account, others charge you 0. If you're with one of the former, have a good explanation for what those $20 are buying. 3. Things you use for a significant fraction of your life (bed: 1/3rd, office-chair: 1/4th) are worth investing in. 4. “Where is the good knife?” If you're looking for your good X, you have bad Xs. Throw those out. 5. If your work is done on a computer, get a second monitor. Less time navigating between windows means more time for thinking. 6. Establish clear rules about when to throw out old junk. Once clear rules are established, junk will probably cease to be a problem. This is because any rule would be superior to our implicit rules (“keep this broken stereo for five years in case I learn how to fix it”). 7. Don't buy CDs for people. They have Spotify. Buy them merch from a band they like instead. It's more personal and the band gets more money. 8. When buying things, time and money trade-off against each other. If you're low on money, take more time to find deals. If you're low on time, stop looking for great deals and just buy things quickly online. Cooking 9. Steeping minutes: Green at 3, black at 4, herbal at 5. Good tea is that simple! 10. Food actually can be both cheap, healthy, tasty, and relatively quick to prepare. All it requires is a few hours one day to prepare many meals for the week. 11. Cooking pollutes the air. Opening windows for a few minutes after cooking can dramatically improve air quality. 12. Food taste can be made much more exciting through simple seasoning. It's also an opportunity for expression. Buy a few herbs and spices and experiment away. 13. When googling a recipe, precede it with ‘best'. You'll find better recipes. Productivity 14. Advanced search features are a fast way to create tighter search statements. For example: img html will return inferior results compared to: img html -w3 15. You can automate mundane computer tasks with Autohotkey (or AppleScript). If you keep doing a sequence “so simple a computer can do it”, make the computer do it. 16. Learn keyboard shortcuts. They're easy to learn and you'll get tasks done faster and easier. 17. Done is better than perfect. 18. Keep your desk and workspace bare. Treat every object as an imposition upon your attention, because it is. A workspace is not a place for storing things. It is a place for accomplishing things. 19. Reward yourself after completing challenges, even badly. Body 20. The 20-20-20 rule: Every 20 minutes of screenwork, look at a spot 20 feet away for 20 seconds. This will reduce eye strain and is easy to remember (or program reminders for). 21. Exercise (weightlifting) not only creates muscle mass, it also improves skeletal structure. Lift! 22. Exercise is the most important lifestyle intervention you can do. Even the bare minimum (15 minutes a week) has a huge impact. Start small. 23. (~This is not medical advice~). Don't waste money on multivitamins, they don't work. Vitamin D supplementation does seem to work, which is important because deficiency is common. 24. Phones have gotten heavier in the last decade and they're actually pretty hard on your wrists! Use a computer when it's an alternative or try to at least prop up your phone. Success 25. History remembers those who got to market first. Getting your creation out into the world is more important than getting it perfect. 26. Are you...
More Than Just Code podcast - iOS and Swift development, news and advice
Marin Todorov joins Tim to discuss his work on Swift Concurrency and Apple's DocC. He has just finished contributing to the RayWenderlich book, Combine: Asynchronous Programming with Swift and has an upcoming book on Modern Concurrency in Swift. He is also one of the original contributors on Apple's open source DocC. Special Guest: Marin Todorov.
Sponsor by SEC Playground แบบสอบถามเพื่อปรับปรุง Chill Chill Security Channel: https://forms.gle/e5K396JAox2rZFp19 Music by https://www.bensound.com/ --- Support this podcast: https://anchor.fm/chillchillsecurity/support
September means Seybold for Apple. Steve and Phil walk us through all of the improvements that are coming to Mac OS with OS X 10.1. We get deep into a discussion about scripting and automation on the Mac, Matt waxes on about Shenmue for one final(?) time, and Josh finds a way to automate Matt out of future episode intros. === QuickTime Machine HP Buys Compaq DoJ Officially Abandons Pursuit Of Breaking Up Microsoft Apple's Retail Operations To Break Even In Q4, Profit In 2002 NY Post Reports That Avie Tevanian Will Be Leaving Apple Apple Reschedules QuickTime Live! Conference Seybold San Francisco 2001 NotesKey YouTube Link Adobe Announces Illustrator 10, Including Mac OS X Support Adobe Announces InDesign 2.0, Including Support For Mac OS X 10.1 Mac OS X 10.1 Released, Free In Apple Stores This Saturday Steve Jobs: Mac OS X Is Now Ready For Primetime; Details Offered On Getting The Upgrade
Jason Snell joins the Automators to talk about his automation journey, some useful automations, and the promise of Shortcuts for Mac.
Jason Snell joins the Automators to talk about his automation journey, some useful automations, and the promise of Shortcuts for Mac.
This MacVoices Live! discussion with Andrew Orr, Jim Rea, Frank Petrie, Kelly Guimont, Jay Miller, Brittany Smith, David Ginsburg and Mark Fuccio concludes with some final thoughts on how smart home devices might benefit from a convergence of compatibility, and how that might affect differentiation between platforms. We also get a surprise announcement from one of the panelists. (Part 3) MacVoices Magazine, our free magazine on Flipboard, helps you do more with your Apple tech. Show Notes: Guests: Andrew Orr is a freelance writer and amateur photographer. He loves Apple products and enjoys writing and sharing all things tech. When he's not writing about Apple, you can often find him snapping photos with his iPhone. Read what he writes at The Mac Observer, and follow him on Twitter. Jim Rea has been an independent Mac developer continuously since 1984. He is the founder of ProVUE Development, and the author of Panorama X, ProVUE's ultra fast RAM based database software for the macOS platform. Follow Jim at provue.com and via @provuejim on Twitter. Frank Petrie is an author and contributor to ScreenCastsOnline Magazine. Follow him on Twitter and check out his web site, ympnow.com. Kelly Guimont is a longtime Apple geek, sitting down (on a telephone book) in front of an Apple IIe in 1983. She can still hear the ticking of the ImageWriter. Thanks to the miracle of the adjustable leg desk, she no longer needs the phonebook. Kelly writes for The Mac Observer, is the host of the Daily Observations Podcast, is co-host of The Aftershow, and yet still has more to say which she saves for Twitter and Micro.blog. Jay Miller is a Developer Advocate and Podcaster based in San Diego, Ca. A multipotentialite, Jay enjoys finding unique ways to merge his fascination with productivity, automation, and development to create tools and content to serve the tech community. Hear him on his podcast, The PIT Show, visit his web site at kjaymiller.com, and follow him on Twitter as @kjaymiller. Brittany Smith is a cognitive neuroscientist who provides a variety of consulting services through her business, Devise and Conquer that includes ADD/ADHD coaching, technology coaching, productivity consulting, and more. She is a self-designated “well-rounded geek”, and holds a M.S. degree in Cognitive Neuroscience. She can be found on Twitter as @addliberator. Check out her latest project, a YouTube channel of tech tips. David Ginsburg is the President of the Suburban Chicago Apple Users Group, and is an IT professional supporting Mac, iOS and Windows users. Find and follow him on Twitter as @daveg65. You can also hear him share his knowledge on his podcast, In Touch With iOS. Mark Fuccio is actively involved in high tech startup companies, both as a principle at piqsure.com, or as a marketing advisor through his consulting practice Tactics Sells High Tech, Inc. Mark was a proud investor in Microsoft from the mid-1990's selling in mid 2000, and hopes one day that MSFT will be again an attractive investment. You can contact Mark through Twitter on LinkedIn. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Our MacVoices Live! discussion of Apple automation wraps up and then shifts to the interaction between devices in the Apple ecosystem, an ideal scenario for smart home devices. The panel of Andrew Orr, Jim Rea, Frank Petrie, Kelly Guimont, Jay Miller, Brittany Smith, David Ginsburg and Mark Fuccio examine why differentiators in those devices can be a good thing or a not-so-good thing. (Part 2) This edition of MacVoices is brought to you by the MacVoices Dispatch, our weekly newsletter that keeps you up-to-date on any and all MacVoices-related information. Subscribe today and don't miss a thing. Show Notes: Guests: Andrew Orr is a freelance writer and amateur photographer. He loves Apple products and enjoys writing and sharing all things tech. When he's not writing about Apple, you can often find him snapping photos with his iPhone. Read what he writes at The Mac Observer, and follow him on Twitter. Jim Rea has been an independent Mac developer continuously since 1984. He is the founder of ProVUE Development, and the author of Panorama X, ProVUE's ultra fast RAM based database software for the macOS platform. Follow Jim at provue.com and via @provuejim on Twitter. Frank Petrie is an author and contributor to ScreenCastsOnline Magazine. Follow him on Twitter and check out his web site, ympnow.com. Kelly Guimont is a longtime Apple geek, sitting down (on a telephone book) in front of an Apple IIe in 1983. She can still hear the ticking of the ImageWriter. Thanks to the miracle of the adjustable leg desk, she no longer needs the phonebook. Kelly writes for The Mac Observer, is the host of the Daily Observations Podcast, is co-host of The Aftershow, and yet still has more to say which she saves for Twitter and Micro.blog. Jay Miller is a Developer Advocate and Podcaster based in San Diego, Ca. A multipotentialite, Jay enjoys finding unique ways to merge his fascination with productivity, automation, and development to create tools and content to serve the tech community. Hear him on his podcast, The PIT Show, visit his web site at kjaymiller.com, and follow him on Twitter as @kjaymiller. Brittany Smith is a cognitive neuroscientist who provides a variety of consulting services through her business, Devise and Conquer that includes ADD/ADHD coaching, technology coaching, productivity consulting, and more. She is a self-designated “well-rounded geek”, and holds a M.S. degree in Cognitive Neuroscience. She can be found on Twitter as @addliberator. Check out her latest project, a YouTube channel of tech tips. David Ginsburg is the President of the Suburban Chicago Apple Users Group, and is an IT professional supporting Mac, iOS and Windows users. Find and follow him on Twitter as @daveg65. You can also hear him share his knowledge on his podcast, In Touch With iOS. Mark Fuccio is actively involved in high tech startup companies, both as a principle at piqsure.com, or as a marketing advisor through his consulting practice Tactics Sells High Tech, Inc. Mark was a proud investor in Microsoft from the mid-1990's selling in mid 2000, and hopes one day that MSFT will be again an attractive investment. You can contact Mark through Twitter on LinkedIn. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
The MacVoices Live panel of Andrew Orr, Jim Rea, Frank Petrie, Kelly Guimont, Jay Miller, Brittany Smith, and David Ginsburg dug deep into the subject of how automation is evolving on both the Mac and iOS platforms. For one panel member, the support of Shortcuts on the Mac is a deciding factor in purchasing. Others question and discuss developers reactions and support of AppleScript going forward, its integration with Shortcuts, and how they see it all happening. (Part 1) This edition of MacVoices is supported by CLEAR. Get to the front of the line Faster. Safer. Touchless. For 2 months of CLEAR free, visit CLEARme.com/macvoices and use the code "MACVOICES" Show Notes: Guests: Andrew Orr is a freelance writer and amateur photographer. He loves Apple products and enjoys writing and sharing all things tech. When he's not writing about Apple, you can often find him snapping photos with his iPhone. Read what he writes at The Mac Observer, and follow him on Twitter. Jim Rea has been an independent Mac developer continuously since 1984. He is the founder of ProVUE Development, and the author of Panorama X, ProVUE's ultra fast RAM based database software for the macOS platform. Follow Jim at provue.com and via @provuejim on Twitter. Frank Petrie is an author and contributor to ScreenCastsOnline Magazine. Follow him on Twitter and check out his web site, ympnow.com. Kelly Guimont is a longtime Apple geek, sitting down (on a telephone book) in front of an Apple IIe in 1983. She can still hear the ticking of the ImageWriter. Thanks to the miracle of the adjustable leg desk, she no longer needs the phonebook. Kelly writes for The Mac Observer, is the host of the Daily Observations Podcast, is co-host of The Aftershow, and yet still has more to say which she saves for Twitter and Micro.blog. Jay Miller is a Developer Advocate and Podcaster based in San Diego, Ca. A multipotentialite, Jay enjoys finding unique ways to merge his fascination with productivity, automation, and development to create tools and content to serve the tech community. Hear him on his podcast, The PIT Show, visit his web site at kjaymiller.com, and follow him on Twitter as @kjaymiller. Brittany Smith is a cognitive neuroscientist who provides a variety of consulting services through her business, Devise and Conquer that includes ADD/ADHD coaching, technology coaching, productivity consulting, and more. She is a self-designated “well-rounded geek”, and holds a M.S. degree in Cognitive Neuroscience. She can be found on Twitter as @addliberator. Check out her latest project, a YouTube channel of tech tips. David Ginsburg is the President of the Suburban Chicago Apple Users Group, and is an IT professional supporting Mac, iOS and Windows users. Find and follow him on Twitter as @daveg65. You can also hear him share his knowledge on his podcast, In Touch With iOS. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
The MacVoices Live panel of Andrew Orr, Jim Rea, Frank Petrie, Kelly Guimont, Jay Miller, Brittany Smith, and David Ginsburg dug deep into the subject of how automation is evolving on both the Mac and iOS platforms. For one panel member, the support of Shortcuts on the Mac is a deciding factor in purchasing. Others question and discuss developers reactions and support of AppleScript going forward, its integration with Shortcuts, and how they see it all happening. (Part 1) This edition of MacVoices is supported by CLEAR. Get to the front of the line Faster. Safer. Touchless. For 2 months of CLEAR free, visit CLEARme.com/macvoices and use the code "MACVOICES" Show Notes: Guests: Andrew Orr is a freelance writer and amateur photographer. He loves Apple products and enjoys writing and sharing all things tech. When he's not writing about Apple, you can often find him snapping photos with his iPhone. Read what he writes at The Mac Observer, and follow him on Twitter. Jim Rea has been an independent Mac developer continuously since 1984. He is the founder of ProVUE Development, and the author of Panorama X, ProVUE's ultra fast RAM based database software for the macOS platform. Follow Jim at provue.com and via @provuejim on Twitter. Frank Petrie is an author and contributor to ScreenCastsOnline Magazine. Follow him on Twitter and check out his web site, ympnow.com. Kelly Guimont is a longtime Apple geek, sitting down (on a telephone book) in front of an Apple IIe in 1983. She can still hear the ticking of the ImageWriter. Thanks to the miracle of the adjustable leg desk, she no longer needs the phonebook. Kelly writes for The Mac Observer, is the host of the Daily Observations Podcast, is co-host of The Aftershow, and yet still has more to say which she saves for Twitter and Micro.blog. Jay Miller is a Developer Advocate and Podcaster based in San Diego, Ca. A multipotentialite, Jay enjoys finding unique ways to merge his fascination with productivity, automation, and development to create tools and content to serve the tech community. Hear him on his podcast, The PIT Show, visit his web site at kjaymiller.com, and follow him on Twitter as @kjaymiller. Brittany Smith is a cognitive neuroscientist who provides a variety of consulting services through her business, Devise and Conquer that includes ADD/ADHD coaching, technology coaching, productivity consulting, and more. She is a self-designated “well-rounded geek”, and holds a M.S. degree in Cognitive Neuroscience. She can be found on Twitter as @addliberator. Check out her latest project, a YouTube channel of tech tips. David Ginsburg is the President of the Suburban Chicago Apple Users Group, and is an IT professional supporting Mac, iOS and Windows users. Find and follow him on Twitter as @daveg65. You can also hear him share his knowledge on his podcast, In Touch With iOS. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
The MacVoices Live panel of Andrew Orr, Jim Rea, Frank Petrie, Kelly Guimont, Jay Miller, Brittany Smith, and David Ginsburg dug deep into the subject of how automation is evolving on both the Mac and iOS platforms. For one panel member, the support of Shortcuts on the Mac is a deciding factor in purchasing. Others question and discuss developers reactions and support of AppleScript going forward, its integration with Shortcuts, and how they see it all happening. (Part 1) This edition of MacVoices is supported by CLEAR. Get to the front of the line Faster. Safer. Touchless. For 2 months of CLEAR free, visit CLEARme.com/macvoices and use the code "MACVOICES" Show Notes: Guests: Andrew Orr is a freelance writer and amateur photographer. He loves Apple products and enjoys writing and sharing all things tech. When he's not writing about Apple, you can often find him snapping photos with his iPhone. Read what he writes at The Mac Observer, and follow him on Twitter. Jim Rea has been an independent Mac developer continuously since 1984. He is the founder of ProVUE Development, and the author of Panorama X, ProVUE's ultra fast RAM based database software for the macOS platform. Follow Jim at provue.com and via @provuejim on Twitter. Frank Petrie is an author and contributor to ScreenCastsOnline Magazine. Follow him on Twitter and check out his web site, ympnow.com. Kelly Guimont is a longtime Apple geek, sitting down (on a telephone book) in front of an Apple IIe in 1983. She can still hear the ticking of the ImageWriter. Thanks to the miracle of the adjustable leg desk, she no longer needs the phonebook. Kelly writes for The Mac Observer, is the host of the Daily Observations Podcast, is co-host of The Aftershow, and yet still has more to say which she saves for Twitter and Micro.blog. Jay Miller is a Developer Advocate and Podcaster based in San Diego, Ca. A multipotentialite, Jay enjoys finding unique ways to merge his fascination with productivity, automation, and development to create tools and content to serve the tech community. Hear him on his podcast, The PIT Show, visit his web site at kjaymiller.com, and follow him on Twitter as @kjaymiller. Brittany Smith is a cognitive neuroscientist who provides a variety of consulting services through her business, Devise and Conquer that includes ADD/ADHD coaching, technology coaching, productivity consulting, and more. She is a self-designated “well-rounded geek”, and holds a M.S. degree in Cognitive Neuroscience. She can be found on Twitter as @addliberator. Check out her latest project, a YouTube channel of tech tips. David Ginsburg is the President of the Suburban Chicago Apple Users Group, and is an IT professional supporting Mac, iOS and Windows users. Find and follow him on Twitter as @daveg65. You can also hear him share his knowledge on his podcast, In Touch With iOS. Support: Become a MacVoices Patron on Patreon http://patreon.com/macvoices Enjoy this episode? Make a one-time donation with PayPal Connect: Web: http://macvoices.com Twitter: http://www.twitter.com/chuckjoiner http://www.twitter.com/macvoices Facebook: http://www.facebook.com/chuck.joiner MacVoices Page on Facebook: http://www.facebook.com/macvoices/ MacVoices Group on Facebook: http://www.facebook.com/groups/macvoice LinkedIn: https://www.linkedin.com/in/chuckjoiner/ Instagram: https://www.instagram.com/chuckjoiner/ Subscribe: Audio in iTunes Video in iTunes Subscribe manually via iTunes or any podcatcher: Audio: http://www.macvoices.com/rss/macvoicesrss Video: http://www.macvoices.com/rss/macvoicesvideorss
Topics: Sam gives a shoutout to Armin Briegel of Scripting OS X for solving a huge problem he was having. If you're not subscribing to his site, you should be. Being a part of the Mac Admins community is invaluable. Joe talks about creating a custom AppleScript to sync data in the Photos app. Jerry brings up an interesting point about support over the network. Note to self: Triple the estimate when quoting a scripting/automation job! The group talks about their automation processes. One of Sam's old difficult clients who he had not talked to in years reached out to him for help. He was not sure how to respond. Joe shared a similar story about a client who rebook things off with him coming back after years. Jerry says that taking notes can be extremely helpful especially when trying to remember what happened with a client in the past. Daylite is an excellent tool for documenting this information and attaching to a client record. Sam tried to part ways with a client that was very time consuming but he didn't have the heart. Joe shares a tip on setting up hot corners because even though they've been useful, they also drive him crazy. Shoutout to the TidBits content newsletter for sharing tips that even the professionals don't know!
en este episodio os vamos a realizar una pequeña demo, también os comentamos de que Ángel ya pertenece al equipo de colaboradores de este podcast, de hecho es quien nos va a brindar esta pequeña demo de cómo implementar para darle más utilidad a los comandos de teclado de nuestro Mac y también algún que otro AppleScript, por último también tanto el compañero ángel como el compañero javivi nos comentan sus experiencias con las desconexiones de sus auriculares con sus dispositivos de Apple. Métodos de contacto. manzanitaaccesible@gmail.com Twitter https://a2.fyi/CUvmNE Fan Page de Facebook https://a2.fyi/huSRTU Donde nos podéis escuchar. Apple podcast https://a2.fyi/lHUm1K Overcast https://a2.fyi/PtnMn5 Ivoox https://a2.fyi/QtmfBi Twitch https://twitch.tv/lamanzanita_accesible Amazon music https://music.amazon.es/podcasts/28290d9a-9529-4abb-a444-bdf6f7794e3a/LA-MANZANITA-ACCESIBLE-PODCAST?ref=dm_sh_DqjvCj9KYK7yi3dBlDkVfACvm Enlace de donaciones. https://www.paypal.me/manzanitapodcast Gracias por escucharnos, un saludo de parte de todo el equipo.
Apple Lore: The Pinks Versus The Blue Meanies Welcome to the History of Computing Podcast, where we explore the history of information technology. Because understanding the past prepares us for the innovations of the future! Today we're going to cover two engineering groups at Apple: The Pinks and the Blue Meanies. The Mac OS System 6 had been the sixth operating system released in five years. By 1988, Apple was keeping up an unrealistic release cadence, especially given that the operating system had come along at an interesting time when a lot of transitions were happening in IT, and there were lot of increasingly complex problems trying to code around earlier learning opportunities. After sweeping the joint for bugs, Apple held an offsite engineering meeting in Pescadero and split the ideas for the next operating system into two colors of cards: pink, red, green, and blue. The most important of these for this episode were pink, or future release stuff and blue, or next release, stuff. The notecards were blue. The architects of blue were horrible, arrogant self-proclaimed bastards. They'd all seen Yellow Submarine and so they went with the evil Pepperland Blue Meanies. As architects, they were the ones who often said no to things. The Blue Meanies ended up writing much of the core of System 7. They called this OS, which took 3 years to complete, The Big Bang. It would last on the market for 6 years. Longer than any operating system from Apple did prior or since. System 7 gave us CDs, File Sharing, began the migration to a 32-bit OS, replaced MacroMaker with AppleScript and Apple Events and the Extensions Manager, which we're likely to see a return of given the pace Apple's going these days. System 7.0.1 came with an Easter egg. If you typed in Help! Help! We're being held prisoner in a system software factory! You got a list of names: Darin Adler Scott Boyd Chris Derossi Cynthia Jasper Brian McGhie Greg Marriott Beatrice Sochor Dean Yu The later iterations of the file ended “Who dares wins” Pink was meant to get more than incremental gains. They wanted coorperative multitasking. The people who really pushed for this were senior engineers Bayles Holt, David Goldsmith, Gene Pope, Erich Ringewald, and Gerard Schutten, referred to as the Gang of Five. They had their pink cards and knew that what was on them was critical, or Apple might have to go out and buy some other company to get the next really operating system. They insisted that they be given the time to build this new operating system and traded their managers to the blue meanies for the chance to build the preemptive multitasking and a more component-based, or object-oriented applications esgn. They got Mike Potel as their manager. They worked in a separate location looking to launch their new operating system in two years. The code named as Defiant, given that Pink just wasn't awesome. They shared space with the Newton geeks. Given that they had two years and they saw the technical debt in System 6 as considerable, they had to decide if they were going to build a new OS from the ground up, or build on top of the System 6. They pulled in the Advanced Technology Group, another team at Apple, and got up to 11 people. They ended up starting over with a new microkernel they called Opus. Big words. The Pink staff ended up pulling in ideas from other cards and got up to about 25 people. From there, it went a little off the rail and turf wars set in. It kept growing. 100 engineers. They were secretive. They eventually grew to 150 people by 1990. Remember, two years. And the further out they got the less likely that the code would ever be backwards compatible. The Pink GUI used isometric icons, rounded windows, drop shadows, beveling, was fully internationalized, and were huge influences in Mac OS 8 and Copland. Even IBM was impressed by the work being done on Pink and in 1991 they entered an alliance with Apple to help take on what was quickly becoming a Microsoft Monopoly. They planned to bring this new OS to the market as a new company called Taligent in the mid-90s. Just two more years. In 1992, Taligent moved out of Apple with 170 employees, and Joe Guglielmi, who had once led the OS/2 team and had been a marketing exec at IBM for 30 years. By then, this one one of 5 partnerships between Apple and IBM, something that starts and stops every now and then up to today. It was an era of turf wars and empire building. But it was the era of Object orientation. Since Smalltalk, this had been a key aspect in higher level languages such as Java and in the AS/400. IBM had already done it with OS/2 and AIX. By 1993 there was suspicion. Again they grow, now to over 250 people, but they really just needed two more years, guys. Apple actually released an object-oriented SDK called Bedrock to migrate from System 7 to Pink, which could work also work with Windows 3.1, NT, and OS/2. Before you know it they were building a development environment on AIX and porting frameworks to HP-UX, OS/2, Windows. By 1994 the apps could finally run on an IBM RS/6000 running AIX. The buzz continued. Ish. 1994 saw HP take on 15% of the company and add Smalltalk into the mix. HP brought new compilers into the portfolio, and needed native functionality. The development environment was renamed to cq professional and the User Interface builder was changed to cqconstructor. TalAE became CommonPoint. TalOS was scheduled to ship in 1996. Just two more years. The world wanted to switch away from monolithic apps and definitely away from procedural apps. It still does. Every attempt to do so just takes two more years. Then and now. That's what we call “Enterprise Software” and as with anyone who's ok with such pace, Joe Guglielmi left Taligent in 1995. Let's review where we are. There's no real shipping OS. There's an IDE but C++ programmers would need 3 months training to get up to speed on Taligent. Most needed a week or two class to learn Java, if that. Steve Jobs had aligned with Sun in OpenStep. So Apple was getting closer and closer to IBM. But System 7 was too big a dog to run Taligent. Debbie Coutant became CEO towards the end of the year. HP and Apple sold their stake in the company which was then up to 375 employees. Over half were laid off and the organization was wrapped into IBM as would be focusing on… Java. Commonpoint would be distributed across IBM products where possible. Taligent themselves would be key to the Java work done at IBM. By then IBM was a services first organization anyways, so it kinda' all makes sense. TalOS was demoed in 1996 but never released. It was unique. It was object oriented from the ground up. It was an inspiration of a new era of interfaces. It was special. But it never shipped. Mac OS 8 was released in 1997. Better late than never. But it was clear that there was no more runway left in the code that had been getting bigger and meaner. They needed a strategy. The final Taligent employees got sucked into IBM that year, ending a fascinating drama in operating systems and frameworks. Whatever the behind baseball story, Apple decided to bring Steve Jobs back in, in 1997. And he brought NeXT, which gave the Mac all the object-oriented neediness they wanted. They got Objective-C, Mach (through Avie Tevanian of Carnegie Mellon), Property Lists, AppWrappers (.app), Workspace Manager (which begat the Finder), The Dock, and NetInfo. And they finally retired the Apple Bonkers server. But as importantly as anything else, they got Bertrand Serlet and Craig Federighi - who as the next major VPs of Software were able to keep the ship in the right direction and by 2001 they gave us 10.0: Cheetah * Darwin (kinda' like Unix) with Terminal * Mail, Address Book, iTunes * AppleScript survived, AppleTalk didn't * Aqua UI, Carbon and Cocoa APIs * AFP over TCP/IP, HTTP, SSH, and FTP server/client * Native PDF Support It began a nearly 20 year journey that we are still on. So in the end, the Pinks never shipped an operating system, despite their best intentions. And the Blues never paid down their technical debt. Despite their best intentions. As engineers, we need a plan. We need to ship incrementally. We need good, sane cultures that can work together. We need to pay down technical debt - but we don't need to run amuck building technology that's a little ahead of our time. Even if it's always just two more years ahead of our time. And I think we're at time gentle listeners. And I hope it doesn't take me two years to ship this, gentle listeners. But if it does or doesn't, thanks for tuning into another episode of the History of Computing Podcast. We're lucky to have you. Have a great day!
An interview with Marcel Pociot, creator of BotMan and co-founder of Beyond Code. Marcel on Twitter API Doc generator BotMan BeyondCode Laravel Notification Channels Marcel's Laracon EU talk Night Night Baby | Träum Süss BotMan slack invite Editing sponsored by Larajobs Transcription sponsored by GoTranscript.com [music] Matt Stauffer: Welcome back to the Laravel podcast, today we're talking to Marcel Pociot, the founder of BotMan, the framework agnostic PHP chatbot package. Try saying that two times, 10 times fast. Stay tuned. [music] Welcome back to the Laravel podcast. This is season three where we're doing interviews. It's the people you know—getting to know aspects of them you never understood. Or it's also finding some people who you probably have used their tools or you've seen them but you don't actually, necessarily know who they are. Those names who you've been putting in GitHub require or to Composer require for ages but never actually known who the person is. The guy we have in front of us today, I'm actually curious to see what his entire history of working with Laravel is, but the current most present one that's going on right now is connecting Laravel to chatbots and slackbots, and all that kind of stuff, and this is called BotMan but there's a lot more going on here. First of all, we start with the point where I massacre somebody's name and then we move on to the next point where I ask that person to say their name correctly and then introduce themselves a little bit. Marcel Pociot, that's close, not perfect. He's still smiling, so I didn't massacre it too badly. Can you tell us-- and I'm probably ending up calling you just Marcel through this podcast. Marcel Pociot: Yes, that's fine. Matt Stauffer: That's because it is easier for me to say. Thank You. Can you tell us a little bit about-- just real quick, you don't have to tell us your whole life story, I'll ask those questions but—who are you? What are you doing? What are you about? What's BotMan? What is your new company? Just give us the basics of what should we know about you. Marcel Pociot: Okay. Yes, my name is Marcel Pociot. I think that's at least the German pronunciation. I co-founded a company in December last year. Matt Stauffer: Congratulations. Marcel Pociot: Thank you. Very fresh still. I think you're one of the first people that I actually tell this in person that's not from my family- Matt Stauffer: I got the insider track then. [laughter] Marcel Pociot: -and friends because the website isn't finished yet. Yes. I think I'm quite around in the Laravel community for a bit. Matt Stauffer: You've been working-- I've known you just generally in the Laravel community, but you're one of those people where I know that I've known you but I don't even know how we originally connected. Now, you mentioned that we spoke together at a conference so that it may have been it, but do you have any early claim to fame in the Laravel community? Were there any packages that you did earlier on it that were more popular or is it just that you've been around for a while that you're known? Do you know? Marcel Pociot: Well, I did a few. There is one, I think it's called teamwork, for some user/team association package. Matt Stauffer: I remember that. Marcel Pociot: But they're all a bit older. Matt Stauffer: Where did first start using Laravel? Marcel Pociot: Two and a half years ago, I think. I wasn't doing that much PHP back in the days, at least not with frameworks. At the companies I work with, they were using self-built frameworks which are usually crap. You do this once in your lifetime and never again. Well, I ended up at companies that did it all the time. At one point, we decided that we'd built a SaaS application and we were looking for framework to use. This is pretty much the story I tell everyone when they ask me how I got into Laravel. My boss was really into Zend because of the whole Zend ecosystem, with the Zend Studio and the Zend server. I looked into the Zend framework, I think it was two. I gave it a week, I gave it really my best shot. I even bought a book and to gave it a try. In the meantime, I looked around for other frameworks and discovered Laravel. What I did with Zend framework in a week, I did with Laravel in an hour in the evening on the couch. This was the main motivation to use Laravel then. Matt Stauffer: Got it. Okay. I do remember that one of the things that, originally I saw, is that you were doing the Laravel notifications thing. Did you help co-manage that? Marcel Pociot: Yes. Matt Stauffer: Or manage or- Marcel Pociot: With Mohamed and Freek, yes. Matt Stauffer: Okay. Cool. Got it. Stepping back for a second, it's so funny because I try not to go too deep in my own ethnological and linguistic curiosities in the podcasts because nobody else isn't quite as interested as I am, so one of the things I actually ask myself before we were on a call is how was your English so good, we went to that little bit but I must admit that based on your name, it's sounds French to me, but I know that you live in Germany. Are you French origin living in Germany or I'm I just totally? Marcel Pociot: No. I hear that a lot. I think it's also because of my first name. People try to pronounce it French, like Marcel Pociot or something like that. Matt Stauffer: That's exactly what I expected you to say when you first told me, yes. Marcel Pociot: As far as I can tell, the name-- we can't trace it back that much. I think it's just two generations and it's from Eastern Europe, so that's pretty much all I can say. Matt Stauffer: Okay, but you're German, you live in-- where do you live in Germany? Marcel Pociot: Near Dusseldorf, which is near Cologne so, yes. Matt Stauffer: I took a little bit of German in high school and college and probably forgot the majority of it, but just enough that I can read a couple of German story books to my kids and to try to get a little bit of German heritage in for them. My sister was in a little bookstore, a local bookstore and found this-- what's it called? It's like sweet dreams or something like that - Träumt Suss? Marcel Pociot: Susse Träume? Matt Stauffer: Anyway, it's this cute little blue book so I read it to my son over and over and over again, and my pronunciation was really bad at day one, but over time I got good at it. Then at some point, my wife found the exact same book in English and so now, with both of my kids, I read them both of the books back and forth, but my daughter is understanding enough English right now that when I read the German version to her she's like, "Wait a minute, I don't understand this one". She gets mad at me [laughs] because she prefers the English version. Anyway, cool. I do remember there was another big one, the API documentation generator, tell me a little bit about that project. Marcel Pociot: Well, it's a tool that you can pull into your Laravel application and it will basically just reads the routes that you define, so you can call it and give it the prefix of the routes that you want documentation for and will scan the routes and create this Stripe like documentation. So that you have the documentation on the left and then code examples how you can interact with the API on the right, and it does it by just pausing the routes and then reading the documentation of the code. Matt Stauffer: Is it its own thing or is generating like one of the preexisting styles? You know what I mean? Because I've never got to use it, but we are always looking for API documentation generators. Marcel Pociot: It's a theme that's called slate, so it's using this. Matt Stauffer: Cool. Very cool. I'll put links in the show notes. But the main two that I see associated with your name right now are the API doc generator and then, of course, BotMan, which we'll talk about in a minute. Those are the things and then we've got your company. Let's real quick talk about what is BotMan, where did it come from and then also, what's your company and then we're going to dig into the back story. BotMan, what is BotMan? What does it do and where did it come from? Marcel Pociot: Okay, I'll start with where it came from. It was really just coincidence. Late 2016, Slack announced that they now have a new HTTP based API, it's called event API. Basically, before that when you wanted to react to Slack events, like new messages, you had to connect through web sockets and the new API was basically just webhooks. Whenever a new action appears-- yes. Well, I mean, if you have a large Slack team it will blast a lot of events to your server. When I heard that Slack announced this API, I just thought that it would be cool to have a PHP API that wraps around it and have an elegant API around it, it's sort of what Laravel is all about, then apply this to Slack. Then I did this, I open sourced it. It was called just SlackBot at the time. It lay around there for three or four months, I didn't do anything with it and then, I came up with the idea that it might be cool to connect multiple services to it, not just Slack, but also Telegram and Facebook Messenger. That's the main thing with BotMan. It's one of the only-- maybe it's the only —PHP library that actually allows you to connect to multiple messenger services. Matt Stauffer: Yes. If it not the only, it's the only one that matters. That's what I think. [laughs] Marcel Pociot: It allows you to connect to these services with one API and reuse your code. Matt Stauffer: One of the hardest things for people to think about, chatbots— everyone hears "Chatbot is the cool new thing", whatever and often, it's really difficult to understand in what context would I actually want to use this, what are some--? Some of the simplest ones we've seen are, "Oh well, when I hook into a CodeShip integration, something that already exists but, what are some of the-- either in your personal use of it or in seeing other people use it, what are some of the most compelling uses of chatbots? Whether it's in Slack or Telegram, or whatever else that you've seen to help people's imagination get started a little. Marcel Pociot: Yes, I think the problem is that people always associate chatbots with these super artificial intelligence systems that understand whatever the user wants. In my opinion, it's just a different interface for your application. It's a conversational interface for your application and what I've seen that was built with BotMan, a lot is like websites, for example, for insurance companies. On their website, they have this chat bubble, that you know maybe from Intercom, and what it does is it guides you through the website. When you click on a button, the chatbot opens and asks you a question related to the action that you triggered when you clicked on the button. That's one-use case and I think- Matt Stauffer: I want to stop you for a second. When I think of a chatbot, what I think about is something that allows someone to use a preexisting chat system, like Facebook Messenger or something else, to interact with their backend API. What you're describing sounds like an entirely manual process where you just used webhooks to hook in your app, right? Am I missing what you're talking about? Marcel Pociot: No. That's also possible. With BotMan, it is the web drivers, so you can just connect it to your own API and then you send the message from your user to your own API and reply back. Matt Stauffer: Okay. Got it. Marcel Pociot: But in the end, that's what happens with Telegram or Facebook too. Yes. Matt Stauffer: So really, anything that has to do with sending and receiving messages to your user in a chat-like format. Marcel Pociot: Yes, right. Matt Stauffer: Regardless of which chat format they're usbing. Okay. I think the on page one is just so clear of an example. Everyone has used a website with Intercom on it or one of Intercom's competitors at some point. I get that one. I think that's super compelling. I'm happy to know that if I need to build that, still reach for BotMan, that's cool. I wouldn't have known that until you said that. Have you seen people use-- I think the hard thing for me is that when I think about Telegram or when I think about Facebook Messenger, I very infrequently think about interacting with someone who has enough money to have an API. I think of my friends. I'm sending a message to my friend, my friend messages me back. Have you seen or heard of really compelling use cases where people are using traditional chats systems, outside of Slack? We'll talk about Slack in a second, but has anybody done anything interesting that you know of with Telegram or Messenger or are those little more aspirational at this point? Marcel Pociot: Messenger is used a lot for more marketing kind of services. For example, TechCrunch has this, well, it's a chatbot where you can-- when you sign up you can register for different topics from their RSS feeds. Matt Stauffer: Intere-- wow. Marcel Pociot: Then you get- Matt Stauffer: They are using it to publish information out and people are subscribing. Marcel Pociot: Yes, every evening-- so you can select topics and then the time. Every evening, I get the top 10 stories from TechCrunch into the Messenger. Matt Stauffer: You just blew my mind. My son just started a podcast www.stauffersonscience.com, and I have a whole bunch of people who I grew up with, who are completely un-computer savvy and they're all saying, "How do I subscribe to a podcast?", I'm like, "Oh Gosh, how am I going to handle this?". I could build a little light Laravel or Lumen app that subscribes to the RSS feed of the podcast and allows people to enter their-- authenticate their Messenger information and pushes every new episode to their Messenger inbox. Marcel Pociot: Yes, right. Matt Stauffer: Holy crap, you just blew my mind. That's amazing. That is so cool, that's so clever. That opens up so many things for people to subscribe because everybody, all your non-tech savvy friends, your mom, your grandma, all of them, they all have Facebook which means they all have Messenger. Marcel Pociot: Yes. I think even more like the younger generation because they don't have MacBooks or laptops, they just have smartphone and use Messenger to communicate. Matt Stauffer: Do you know-- I'm sorry I'm just going into the weeds here, but I am so fascinated. If somebody doesn't use Messenger and they send something to a Messenger authenticated thing, does it show up on the web interface in their little messages thing in Facebook website? Marcel Pociot: You mean if they don't use the Messenger application? Matt Stauffer: Like if somebody doesn't have an iPhone but they go to facebook.com on their browser every day, can they do Messenger interactions using the little- Marcel Pociot: Yes. Matt Stauffer: Okay, so it's the same thing as Facebook. Man, I need to pause for a moment, this is so cool. Okay, broadcasting makes a ton of sense. Broadcasting information, this—in some ways, you have some of the value but a lot more configurability of like an RSS feed through a multiple-medium subscription. That makes a ton of sense and I get that now. Marcel Pociot: Plus, I think. maybe this will change over time, but right now the click rates are much higher because it's not that overused as e-mail newsletters. For example, with the TechCrunch- Matt Stauffer: They feel more personal too? Marcel Pociot: Yes. It feels-- even though you know that you're not actually talking to someone at the company, it feels like you're interacting with the company, well, with its brand. The whole market taking thing is really popular on Facebook, also for artists, they have chatbots that you can ask, "where's the next concert?", and the user feels like they are talking to, I don't know, Beyoncé, whatever. Matt Stauffer: Interesting. I was just going to ask about questions. That one right there would feel like a little bit of natural language processing. If you can do some of that then you can have like ask questions of our whatever bot, or whatever, and that makes sense too. You imagine that you are working for some big company, like an insurance company maybe, and they say, "You want to ask us a question? Here, hook up to our messenger bot and you can ask--" blah, blah, blah. The messenger bot parses out using some basic natural language processing. So, the messenger bot is basically BotMan hooked in your API. The API, your Laravel app takes the questions tries to process them, tries to look up an answer and then sends the message back to that person. So that BotMan would be the interface layer in between. Marcel Pociot: Yes, right. Matt Stauffer: Okay, that makes sense. Slack makes the most sense for our context. I think we're all sitting and using cycle work every day, and it seems like Slack is adding more and more things you can do every time. Buttons at the bottom and stuff like that. What is the most interesting thing that you have built or seen built with Slack integrations on BotMan? Marcel Pociot: It's also interesting because Slack got-- I think they moved away from the term chatbots a while ago, and I think they just called it application. They even integrated like forms that open up, like select boxes, drop downs. I haven't seen that many slackbots using BotMan. There's one, I forgot the name who built it, but he built a slack game, it's like a dice rolling game, it's called Liar's dice. Matt Stauffer: I, obviously, could talk about BotMan the whole time. But this isn't actually about BotMan, this is about you. BotMan is amazing, there's all sorts of interesting stuff. You also have given-- do you know if your Laravel EU talk is online? I didn't actually watch those. Marcel Pociot: Yes, it's online. Matt Stauffer: Okay, great. I'll put a link up to your BotMan talk which is called From zero to multi-platform Chatbot with BotMan. I'll put the link up to that one as well. Let's move on to you. The first place I always start with everybody is, when did you first get interested in computers? Or when did you first get access to a computer? What did your original kind of exposure to computers? Marcel Pociot: I think the first memory that I have from a computer was, I was sitting, I might be like 6 or 7, sitting in the living room with my father, and I don't remember what kind of computer it was. But we had a book with games, so if you wanted to play a game that was the source code of the game in the book. Matt Stauffer: Was it BASIC? Marcel Pociot: Yes, it was. You had to type it in and then you got the game. What I remember, maybe that's also the reason why I remembered it is, my father was sitting there and typing everything in, and I just came at the power adapter and the whole thing crashed. [laughter] He was frustrated. Matt Stauffer: Yes, I believe it. I assume that was like one of those black and green old-- those boxes. Very cool. Marcel Pociot: This is the first memory of sitting in front of a computer. Matt Stauffer: I try not to call at people's ages too much, but I think that you're around my age, around 33, is that right? Marcel Pociot: Yes. 32 and in April 33. Matt Stauffer: We're almost exactly the same age. In our generation it was not all that common, at least in the US, I don't know about Germany, for people to have a home computer when we were that young. Since your father was the one doing this. Was your father-- was he a geek or is he a programmer? Marcel Pociot: Not at all, no. He was always interested in it, but well not so much that he really wanted to write more code than there was in the book. [laughs] Matt Stauffer: At what point did your interaction with the computer go from pulling out the plug from your dad typing in BASIC program to you creating things on your own? Marcel Pociot: I think it was-- in school we had, at the programming class, we wrote Turbo Pascal. Matt Stauffer: Wait, what age of school are you talking about? Marcel Pociot: I think this is seventh grade, so I must have been like 12, 13. Matt Stauffer: You had programming class when you were 13 years old? Marcel Pociot: Yes. Matt Stauffer: That's fascinating. When I was in seventh grade, we had typing class and I- Marcel Pociot: With typewriters or--? Matt Stauffer: They were on Macs, but they were old Macs and we'd all sit around and I would finish the Mavis Beacon thing in five minutes and then I'd go try to learn Applescript and write programs that would infect all the other computers in the network and shut them all down at the same time without the teacher noticing, but there's no formal programming education even in high school. The best we had was an engineering class where the teacher would let us go hack around and stuff, but certainly, nothing formal. So, you learned Turbo Pascal in seventh grade? Marcel Pociot: Yes, pretty much and then- Matt Stauffer: How did that go? Marcel Pociot: Well, I think we moved quite fast from there to Delphi where also-- in the class, there were a handful of people that were always very fast with all the tasks and, just as you said, had a lot of time. We developed like a Trojan, a Trojan Horse [laughter] to open the CD trays from the other computers and stuff like that. Matt Stauffer: Exactly. That's exactly what I was trying to do. That's awesome. Okay, early on you were deep in the computers, you were writing code, you were hacking at it. When did you first get into the web? Marcel Pociot: I don't really remember what age I was, but it was like the Geocities sites. All this crappy-- Matt Stauffer: Yes, man. I still remember, mine was MA slash 1984. My first two letters in my name and then the birth year. [laughter] What was your first Geocities site, you remember? Marcel Pociot: No, I just remember that I had this cool hacker name. Matt Stauffer: What? Like 1337 speak?? Marcel Pociot: Yes. Matt Stauffer: One, three, three, seven, four, four, whatever. Marcel Pociot: It was Delta2K, I don't know. Matt Stauffer: Nice. Marcel Pociot: It sounded cool. Matt Stauffer: Yes, of course, with 2k especially. Okay, it's funny because it seems like I'm either picking people to interview who are old head PHP dorks or there's something consistent about folks who are helping lead in our community that a lot of us are from similar generation. I'm curious to see where that goes, but-- you were doing that, you were playing around with it at the side, what did you study? Did you study that in university or--? Marcel Pociot: No. Here in Germany after you finish school, you can either go to a university or you can do training. You go to a company and then you have three years at the company and besides working at the company, you also go to school. Matt Stauffer: Is it a school provided by the government or provided by the company? Marcel Pociot: No, it's just a public school for learning the- Matt Stauffer: For that specific career? Marcel Pociot: -specific profession. Yes. Matt Stauffer: Got it, okay. Marcel Pociot: I did that to become a software engineer and I ended up in a company in Bochum, here in Germany, and- Matt Stauffer: I don't even know how to spell that. I'll put that down on the show notes [laughs]. Okay, cool. Marcel Pociot: Yes, that's what I did. I wasn't that much into liking school that much back in the days. So pretty early on, I decided to skip the school part and rather work five days a week, so that I can hack on some code. That's what I did and then just did the tasks on my own and learned from them on my own. Matt Stauffer: Got it. You have a pretty straight line from being a little kid watching your dad enter QBASIC programs in. Through learning in school and doing your own Geocities stuff, to being a software engineer and going straight in the industry. Have you at any point felt like, "Oh my gosh, this is not what I want to do"? Or is it just been pretty clear since early on- Marcel Pociot: Yes, it's been really clear since early on. Matt Stauffer: - "I'm a programmer, this is my thing"? Marcel Pociot: That's always what I wanted to do. It's always a bit funny when I talk to people that don't really know what they want to do with their lives and what direction they want to go because it was always really clear for me that I want to go to that direction. Matt Stauffer: Interesting. If you today-- and I know that you just started your own company in December, so hopefully this is really fresh in your head. If you today were to be able to pick exactly what you were doing day to day, if your company was successful in exactly all the ways you want it to be, what would you be doing with your time? Marcel Pociot: Right now, I would say I would still love to write code. I heard that you talked about this also with a few other people, what to do when you're 40 or 50 years old. Well, right now, I would say that I hope that I still want to write code at that time Matt Stauffer: If you found yourself in a situation where your company just-- and we will talk about you company in a second, but you just took off and it's going really well. You decide to hire five people and all the sudden, you're spending all your time doing administrative work. At that point, you think you might say, "I gotta fix this, I got to get back into the code"? Is that your sense of it right now? Marcel Pociot: Right now, it is, yes, but I'm just so refreshed and I'm really just coming from a lead developer role. Matt Stauffer: Yes. Okay. All right. Tell me about your company. You went right into that internship, what's your work history look like? You don't have to tell me every company, but what kind of stuff you've been doing. Have you been working primarily for software firms or have you've been working for non-software companies as a software programmer? Marcel Pociot: No. I just worked for agencies, like web agencies. Matt Stauffer: Got it. Marcel Pociot: The first one was very small, four people when I started there which was very cool because I got to do everything. I had to talk to customers and the clients. We had-- it was very small so we had to do things like setting up e-mail accounts for them. They called if they couldn't set up the email account on their mobile phone. Then they would come in with their phone and stuff like that. Yes, the second company was also a bigger agency but still an agency, where I did-- At the first one, I did PHP and then I got a lot into Appcelerator Titanium. Matt Stauffer: That's why I thought you'd done Titanium. Let's talk about Titanium for a second. Titanium, I feel like was one of the first used JavaScript to write multi-platform apps. How is it different and similar from something like Ionic? Marcel Pociot: The main difference is that while Ionic is just html that gets executed on the phone in the browser, or in the web view, Titanium used the JavaScript code that you wrote and they had proxies for the native languages for java or Objective C. Then the JavaScript code would call the native proxy objects that would then execute native code. When you wanted [crosstalk]- Matt Stauffer: It is more of like a predecessor of React Native. Marcel Pociot: Yes, right. It's like- Matt Stauffer: Okay. Got it. Is it still around? Marcel Pociot: It is. The company got acquired and they still develop it but the time Facebook announced React Native, the community just ran away and went to Facebook, yes. Matt Stauffer: Got it. Okay. I'm sorry, I interrupted. You were doing that at that company and then--? Continue. Marcel Pociot: Yes. Titanium was also my main motivation to work on open source in the first place. I haven't done that before and I started developing Titanium modules. Just small user interfaces- Matt Stauffer: Like packages. Marcel Pociot: Yes. Right. User interface libraries to share and I put them open source and I think I did Titanium for, maybe, one and a half years. Mostly Titanium and then also some Java and Objective C to work on some native modules. During that time, I got bit away from PHP because also, at the time, there was no Composer. The whole ecosystem wasn't as stable as it is right now. Matt Stauffer: Yes. What brought you back? Marcel Pociot: Well, I think it was just a client project. [laughs] Matt Stauffer: Okay. Did they say PHP or it was a web and you had to pick and you just pick PHP because you knew it? Marcel Pociot: Yes, because I knew it and also because of React Native. When React Native was announced, Titanium just pretty much died. Matt Stauffer: Yes. But that was pretty recently, right? Marcel Pociot: Well-- Matt Stauffer: Like a year [crosstalk] Marcel Pociot: No. Native is more around more than a year, I think. Matt Stauffer: Is that real? I believe you, I don't actually know. Okay. Yes, let's say, it may be as long time as 2015 but-- because a lot of times when I hear people talk about "I stepped away from PHP--", blah, blah, blah, "and I finally came back", and they are in the Laravel community. A lot of them came back right around the time when Laravel 4 came out. Maybe I just got the timeline on that wrong in my head. When did Laravel 4 come out? Marcel Pociot: When I started working with their Laravel, 5 came out. I think I worked with 4 for about a month. Matt Stauffer: That is what I was expecting then. Okay. Marcel Pociot: Yes. We started this SaaS product at our company and we chose to use Laravel 5 because-- I think the main reason was the form requests, which just blew my mind. I thought they were super cool to validate stuff and then we decided to pick up, there Laravel 5 during the development with the beta, there was no good decision. Matt Stauffer: I didn't say and it was also bad decision. Marcel Pociot: We had to fix several things every day and at some point we just pinned the dependency to one specific commit, so we knew, “okay, this is working” Matt Stauffer: And you built against that commit until you released it until and then deal with all the fixes at once. Marcel Pociot: And then it stays that way for a long time Matt Stauffer: It's funny. This timeline does line up here is what I have seen, as four came out in 2013, five came out in 2015 and React Native was announced probably at some point in 2015. So you were deep in titanium, you were off in that world and interestingly you were doing a lot of other mobile stuff. You talked about getting into Java, getting into objective C a little bit it, so it was both Titanium, which is JavaScript but then also the adapter worlds, which means you got to know a little bit of Java from Android, a little objective C for Apple and then you all of a sudden come and jump back into PHP and it was Laravel 5, things were modern and Composer all that kind of stuff, were you still working for that same consultancy at that point? Marcel Pociot: Yes, must have been sort of at the same time that I switched jobs, yes. And I didn't do that-- I always did PHP in the afternoon on the couch Matt Stauffer: Got it. It was still always like your fun time favorite language because I know a lot of people would say they left, they're like "oh well, I got tired of PHP I left for rails, I got tired of PHP and I left for .NET or whatever, so you still had a soft spot in your heart for PHP the whole time. Marcel Pociot: Yes right, but not with the framework at the time. Matt Stauffer: You ever rolled your own? You said your company rolled their own, Marcel Pociot: Yes, of course. Matt Stauffer: Does it have a name? Marcel Pociot: No, it didn't really have a name, no. Matt Stauffer: Never got that far? Marcel Pociot: No. Matt Stauffer: Okay. You got a pretty classic story here, obviously everyone's different but a lot of us left at some point a lot of us came back at some point but it's interesting for the amount of impact you have made with BotMan you came up to Laravel pretty recently and BotMan isn't really a Laravel framework either. I feel like it was tied to Laravel at some point, is it basically just a PHP framework that does it even have a Laravel convenience layer on top of it right now? Marcel Pociot: Yes it does. It is framework agnostic but there's a piece that's called BotMan Studio which is basically a blank Laravel 5.5 installation with some additional BotMan service provider and additional commands, a Tinker page to play around with it but it's not tied to Laravel. Matt Stauffer: Got it. Okay we've caught up, you switched consultancies, you got in Laravel 5, you built BotMan, you talked about how you built BotMan so let's talk about your company. We chatted on and off about it but let's pretend that we haven't chatted at all. In December you formed your own company, you went out on your own. Tell me about it, what's your motivation, what's your goal, what's your desire; what made you want to get out of working for other consultancies and start your own thing and what is your own thing? Marcel Pociot: Okay. I'm not doing this alone, I'm doing this with a former colleague, he has been a freelancer for a year now already and already a year ago when he left the company, we were already thinking about doing something on our own and I think the main motivation was- when we started this SaaS application at our company, we thought about turning it into its own company, which they eventually did. I ended up sitting in a new office with my now business partner and the CEO from this new company and we basically sat together for 2 years, just the two of us working on the product and we just knew that the CEO back at the time was a sales person and- how can I put it, a sales person as the CEO of a software product is difficult. This was like the main motivation because we had a different idea of the product, the way we wanted to get with it and it didn't turn out into that direction so we thought that, well if we do something on our own, we can give it our best shot. Matt Stauffer: Okay. Is it a similar product to what you originally planned but since it didn't go the way you originally planned you're going to go build, are you doing product work then? Marcel Pociot: Right now the company is called Beyond Code and we are, it's sort of a split. We have, on the one hand, we do projects, project work mostly we try to do it for Chatbots obviously. Matt Stauffer: Your consultancy that builds Chatbots for people as a part of what you're doing. Marcel Pociot: Yes, right. On the other hand, we have BotMan as the library and we want to focus around building a whole product ecosystem around it so that it becomes easier for people to pick it up and use it like analytics, bot building systems. Matt Stauffer: So Beyond Code GMBH, what does that stand for by the way? I've never known that. GMBH. I assume it means limited liability corporation but the Germany version. Marcel Pociot: Yes. Matt Stauffer: Let's test my German. Gesellschaft mit beschränkter Haftung. Marcel Pociot: Yes, that's quite good. Matt Stauffer: All right. I did okay. All right. Beyond Code is a consultancy that builds primarily applications that have Chatbots on them and also uses the finances that come from that to further build the ecosystem around BotMan which is a PHP framework agnostic library to make it easy to build the type of applications that Beyond Code is building for people. Right? Marcel Pociot: Right. Exactly. Matt Stauffer: It makes sense. It's like that, not quite, like the Discourse model where like hey, there's a free or then Wordpress model. There's a free piece of software, there's also the way to pay us to do it, the money that you pay us to do it makes the free piece software better. Everything fits and everything else. Okay. That totally makes sense. All right, that's going forward. A success for the next couple years of your life would mean that the work that you're doing or consultancy work, the work you're doing for clients basically allows you to make BotMan better, is that the general? Marcel Pociot: Yes. Matt Stauffer: You mentioned analytics, you mention understanding what's going on. Are there any other big next goals or features or things that you want that you feel like you can share with us that aren't the secret sauce? Marcel Pociot: No. Not that I can share them. No. Matt Stauffer: Okay, cool. But you've got big plans, it's not just sitting where it is, it is something you want to grow. Marcel Pociot: Yes. Matt Stauffer: Okay, that's cool. I think that the ability to compellingly get someone excited about the possibilities with a Chatbot obviously is going to be a big part of your doing. I'm glad we had the opportunity for that. Like I said, I'm literally going to get off this call and go see how fast I can hack together something to send that one woman who went church with me growing up. Facebook Messenger notifications when my son's podcast goes out. I'm super geeked about that. Okay, let's see. What else, what do you do in your free time? One of the things is that you have such a straight line through programming that I think that I want to know more about what is not programming you. What motivates you? I know you've got a family, I know you've got one kid? Marcel Pociot: Yes, one kid. Matt Stauffer: One kid. How old is your kid? Marcel Pociot: Four. Matt Stauffer: Four. Okay. Obviously spending time with your family is significant but whether with your family or on your own, what do you do outside of coding? What motivates you? What excites you? What do you do when you're away from the computer? Marcel Pociot: I think I have to re-calibrate myself a bit because when I was working at the consultancy, what I was doing in the afternoon was BotMan and now I'm doing this during the day job. Matt Stauffer: Actually I got to stop you for a second. You keep mentioning the afternoon as your free time, what does your schedule look like? Marcel Pociot: It's mostly nine to five. Matt Stauffer: When you say in the afternoon, do you mean after five? Marcel Pociot: Yes, right. Sorry, in the evening. Matt Stauffer: In the evening. Got it. Okay. What you mean is basically your free time, hacking time in your old job you're doing consultancy during the day and then BotMan stuff at night but now the BotMan is your day job. How do you reorient? Marcel Pociot: Yes, I still have to figure that out myself. I'm not that much of like a sports person or anything. I think really my main motivation was to program still. Matt Stauffer: You just love coding. Marcel Pociot: Yes. Well and other than that it's mostly, beside my family of course, playing some video games but- yes. Matt Stauffer: Yes. I'm not a gamer but I gotta ask what kind of games are, I don't even know what questions gamers ask, is it a PC or console that the question they would ask what game you are into? Marcel Pociot: No, it is console but also it's funny and also a bit sad that I just realized that I'm getting old because I'm no longer good at these games. I no longer can play these games longer. I have always liked these big games that pull you in like big RPGs but now with a kid, I don't really have the time to do that. Matt Stauffer: You don't have much time. Marcel Pociot: I don't want to play for five consecutive hours and if I come back after a few days, I don't want an hour to find out where was I or what I'm supposed to do. Matt Stauffer: That's why I loved Nintendo, that's one of many reasons why I love Nintendo. Because for people with families, Nintendo is good. A, because there's games that you can play with your kids, and also user interfaces you can play with the kids, but B, there's games that are like you can dip in and out. Marcel Pociot: Yes, you can just pick them up and then play for half an hour and then your're done. Matt Stauffer: Even Zelda as an extremely immersive game. You can still pick it up for 20 minutes here or there. Marcel Pociot: That is also too big for me. Matt Stauffer: Zelda is. I mean I can understand it. I've played more video games when I played through-- I'm not done with Zelda, but I played more video games when I first got the Switch and Zelda than I have in years. And even so, it was 20 minutes here and there. Because of the Switch, I just put it down and it just pauses it, but I hear you. Super Mario Odyssey is pretty small. And of course, Mario Kart I play with my son nearly every day. Marcel Pociot: Yes, [laughs] me too, yes. Matt Stauffer: Nice. Marcel Pociot: So now we have this rule that we play every other day. [laughter]. Matt Stauffer: Yes, yes. Every night became a problem, so I was like, "You need to get off." The good thing is my son is super, super active. I was a lazy kid, I didn't want to do anything, I just wanted to sit around. My kid, if I let him, we would be outside running around every day, I don't don't have any problems. Marcel Pociot: Yes, my son too. Yes, when I came home from work, usually the first thing that he would tell me was, "Okay, you can leave your shoes on, we go out and play some soccer." [laughter] Matt Stauffer: I love it, that's very cool. Yes, I think my biggest bummer about the neighborhood we live in right now is that-- the best thing about it is the houses are really close and everybody gets to know each other very well, so he's got tons of friends. But the bummer is the yards are so small that there's nowhere for us to play without getting in the car and driving somewhere. Like, play soccer or baseball or something like that. But what we end up doing is just running around in the house like crazy people anyway. Marcel Pociot: [laughs]. Matt Stauffer: It's his favorite game right now. Marcel Pociot: We have people living underneath so we can't do this all the time. Matt Stauffer: My son's favorite game right now is turn on some music really loud, some really hype pop music or something like that, and then run around and chase each other and throw bouncy balls at each other or try to tickle each other or something like that while the music plays really loud. I'm like, "Okay." Marcel Pociot: [laughs]. Yes, haven't done that in a while. Matt Stauffer: What keeps you from getting stuck when you're coding? Or what tools do you use, or what book or what languages. How do you keep either on a single problem, or on a single framework, or single language? What broadens your perspectives? Whether it's in the programming world, like some other programming language, or whether it's something about your family or your life. What helps you keep your brain out of just the really narrow focus of, "I work in one language, one package, all day long." What gives you inspiration? Marcel Pociot: Recently, when we had in mind that we're going to start the company, I focused a lot on the organizational things and on how to get this even up and running. During that time I was not that much focused on code, or on frameworks, or anything else, because it also meant for me just to get out of the comfort zone and start a company, and not have the safety as an employee. What I'm trying to tell is that, during this time, I sort of stepped away from being too close to the coding world a bit, and now I'm just catching up again. But I think it's mostly just talking to other people and exchanging with my business partner, things like that. It's not that I use other languages and look into them specifically to see new things, so it's not that I really have the plan on how to broaden my view. I don't know, I think it just happens this way. And if I'm stuck at a specific problem, I just try to go out for a bit and [chuckle] step away from the code. Matt Stauffer: Yes. All right. I feel like I promised every time that I'm not going to say I could talk for hours and then I do it every time anyway. Oh well, I failed, I did it. Marcel Pociot: [laughs]. Matt Stauffer: We are nearing time, so I don't want to start anything new and big. Are there any other big parts of you, your life, your motivation or your work that you feel like we haven't got a chance to cover? Marcel Pociot: No, I think we covered the important parts, most of all, yes. Matt Stauffer: Okay, I like it. What's your favorite candy? Marcel Pociot: Candy? [laughs]. After the whole Christmas candy mess-- we set ourselves as a family goal to not eat any candy for a week. Matt Stauffer: I like that. Marcel Pociot: My son is doing great. Matt Stauffer: [laughs]. He's doing better than you, huh? Marcel Pociot: Yes, right. [laughter] Marcel Pociot: I cheated but he doesn't know. Matt Stauffer: All right. Well, hopefully, he doesn't listen to this. Marcel Pociot: Well, he doesn't understand English. So-- Matt Stauffer: There you go, that's the way to do it. Reveal your secrets in the other language. Marcel Pociot: [laughs]. Yes. Marcel Pociot: But other than that-- favorite candy-- I'm mostly into some sour candy. Matt Stauffer: Like what? Marcel Pociot: Skittles in sour, they're pretty good. Matt Stauffer: Really? Skittle Sour-- I had no idea. Marcel Pociot: Yes. Matt Stauffer: All right, Skittle Sour, favorite candy. Marcel Pociot: How about you? Matt Stauffer: I ask this question to people all the time and I don't know if I know the answer. The first thing that came to my mind was Snickers. I think that I like candies with chocolate, and I think if it's chocolate plus some things that rounded it out, those are high in my list. I mean I really like Almond Joys, and Mounds as well. But I think Snickers is probably my top one. Marcel Pociot: We all like bread with Nutella, but is it really candy? Matt Stauffer: Yes, but I mean, it's basically candy. Marcel Pociot: Yes. [laughs]. Yes. Matt Stauffer: Yes. It's funny, my wife likes to put Nutella on sweet things. I'm like, "No, no, no, the Nutella is the sweet, I want it on bread or toast.", just plain piece of multi-grain bread, put some Nutella on top of it, good to go. Marcel Pociot: And peanut butter, and then you basically have Snickers. Matt Stauffer: Wait, do you put peanut butter and Nutella on the same thing? Marcel Pociot: Sure. That's literally Snickers, right? Matt Stauffer: Oh my god [whispers]. I had never thought of that. Alright last story and then I got to let you go. My dad worked for a German company when I was growing up, and he was the president of the US distributor of a German-based company. So he would fly over to Germany pretty frequently, and he would bring Levi's jeans and peanut butter to Germany, because it was hard for them to get, and he'd bring back German chocolate and Nutella, because it was hard for us to get. You can get Nutella in the grocery stores now, but back then you couldn't. And so, every time dad came home, we would get Nutella and we tried to keep these couple of jars of Nutella to last until the next time he went to Germany. Marcel Pociot: Okay. Next time I see you, can you get some Nutella? Matt Stauffer: Yes, I mean, we've got a lot of Nutella here, so you have to pick something up to trade with. Marcel Pociot: But not the German one. [laughs]. Matt Stauffer: Yes, it's true, it's true. All right, Marcel, this was a ton of fun talking to you. Thanks for taking some time. Thank you for BotMan, I'm seriously going to go distribute my son's podcasts using it. So you can expect me to bother you with requests for help sometime soon. Marcel Pociot: No problem. Thank you for inviting me. Matt Stauffer: How can people follow you? And, I guess, go start BotMan. What is following after you look like? Marcel Pociot: Well I think the easiest way to connect with me is on Twitter. Matt Stauffer: All right. I'll make sure your handle is linked to the show notes. Marcel Pociot: Okay. Or, if people want to talk about BotMan, I have the Slack team of BotMan where you can join, I think we're nearly 500 people in there. Matt Stauffer: All right, we'll link that in the show notes too. Got it. Marcel Pociot: Yes. Matt Stauffer: Cool. All right, well thanks for your time, was a pleasure talking to you. Until next time everyone. See you later. Marcel Pociot: Bye.
An interview with Antonio Ribeiro, package author and master of StackOverflow Laravel. Rio de Janeiro Laravel-News interview TDDD Stats Tracker Antonio on Twitter Antonio on StackOverflow Antonio's web site Version Google2FA Firewall Pascal Delphi "Concourse" (?) Antonio's photography Editing sponsored by Tighten Transcription sponsored by LaraJobs Matt Stauffer: [music] Welcome back to The Laravel Podcast, this is your host Matt Stauffer. Today I'm going to be talking to someone whose name I struggle with, Antonio Ribeiro. He's the master of Stack Overflow Laravel and much more. Stay tuned. [music] Welcome back to the Laravel podcast, season three. I'm your host. I wanted to say I'm your favorite host but I'm your only host so that'd be kind of cheating. Like when you only have one kid and you say "I'm your favorite kid". I'm your host. I'm one of your hosts. No, I'm the only host. See? Matt Stauffer. That's me. I'm the guy talking to you. Joining me is someone who a lot of you have probably learned from at some point in your life but you often haven't associated that you're actually learning from him. This is the master of Stack Overflow Laravel. That's what's going on here. And I think a lot of people have no recognized that this is actually a thing. We'll get into this in a bit. His name, in Portuguese, is pronounced in such a way that I'm going to totally massacre it. So I'm going to say it and then literally the first thing I'm going to ask him to do is say it the way it's actually supposed to be said. So, Antonio Heb ... Ribeiro. No see, it's totally failed. Say your name for us. Also, what I'd love for you to do is just give us a picture of who are you, what are you about, when you meet someone for the first time what do you tell him about what you do, and then where are you? And then I'll get started in asking some questions. Antonio Ribeiro: Hi Matt. My name is Antonio Ribeiro. Matt Stauffer: Howdy. That's how badly I pronounced it. Antonio Ribeiro: No, no. The second time you say it was really cool. Matt Stauffer: It was a little better? Antonio Ribeiro: I'm from Brazil, originally. I work in Brazil and I work for a company outside Brazil. I lived in Europe for four years or five years. I don't remember exactly how much time. I lived in a city everybody knows. I think everybody knows. It's Rio de Janeiro. It as difficult as my name to say. Matt Stauffer: Rio de Janeiro. [Said with intentionally strong American accent] Antonio Ribeiro: Exactly. I work for the Brazilian government. Specifically, the state legislature in Rio. So I'm a public service. I do six hour per day of public serving. Of work. And after-hours, I do a lot of work. I work for another company. Now, I'm not exactly working for them but I'm available for them. I love the program and that's why I got into Laravel so quickly and maybe had some success in Stack Overflow. So I started my programming life when I was 12, I think, in Switzerland, in a big department store working with computers that were in the store. I was amazed about computers. I got a job when I was 12, 13. Matt Stauffer: You got a job when you were 12 years old working on computers? Antonio Ribeiro: No, not working on computers. I got a job delivering groceries for a store. Matt Stauffer: Oh okay. Antonio Ribeiro: To buy a computer. Matt Stauffer: Oh nice! I was going to say. That's still impressive. Man, you're getting right into it here. You've heard this before and you know that I'm gonna ask about your whole background. But let me pause for just one second because what I want to make sure that I have is ... I want to have context for why it is that I'm talking to you. And like I said, the whole point of this version of the podcast is to get to know the people who everybody knows but maybe they don't know who they are. Also, to get to know the people that nobody knows but they might have benefited from. I think you're in the second box. So, the reason that I originally met you is because I started Laravel. I don't know if you and I started at the same time or not ... So actually before I go any further, what version of Laravel was it when you first started getting really involved? Antonio Ribeiro: 3.2. Yeah, 3.2. Matt Stauffer: Yep, so you showed up there just a little bit before I did. I remember in the early days, and especially in the middle days, every time I'd come across everything in Stack Overflow, you would always be the answer. It's just consistently over and over. And I'm looking at this and you have 59,000 reputation on Stack Overflow. If anybody doesn't know, that's a very, very, very large number of answers. Who knows how good their ideas are here of how many people he's reached but it is telling me that he's reached 3.7 million people with his answers in Stack Overflow. Antonio Ribeiro: Wow. I didn't know that. Matt Stauffer: Right! And the large number of them are in Laravel. His top tag is in Laravel and then he's got Laravel 4. He's got 1,000 posts in Laravel that he's interacted with. Or that maybe even he's created. So there's a lot. There's a lot going on here. He's in the top 0.3% in Stack Overflow and I'm only saying that, not because that makes you worthwhile or not worthwhile, but that was the reason that we originally connected. Now, since you've made a couple repositories in a couple packages for Laravel, the most recent ones that have come up have been your tracker, the Stats Tracker. Then the Test-Dashboard? Is that what it's called? I'm trying to remember what it's called. Antonio Ribeiro: Yeah. I call it TDDD now. Matt Stauffer: Oh, it's got a new name. So TDDD. Antonio Ribeiro: Yeah. TDDD. Matt Stauffer: Got it. Also, the one I've tweeted out a little bit recently is that you have Version. Which basically allows you to pull the version of your Laravel application into your app based on any number of criteria. One of which being the Git tag, which I was super interested in. But it seems like you got a lot more in those. Do you even know how many packages you have? Antonio Ribeiro: No. I'm not sure, really. I have, I think, five or six really popular packages but I have like 150 repositories in my account so I don't know. Matt Stauffer: Yeah. So you're big on Stack Overflow. You've got a lot of packages. You are also are a Twitter presence here and there. Just like a few of the other people we've talked to so far, you're not someone, at least in the US or Europe, where everybody knows you and everybody knows your name. I don't know the Brazilian Laravel community quite so well so is that different either in Brazil or Rio? Do you guys have a really strong community there that you're really invested and involved in? Or are you kind of solo with this? Antonio Ribeiro: Yeah. I'm kind of solo because it all started for me in Stack Overflow. Matt Stauffer: Got it. Antonio Ribeiro: And in English, which is not exactly a language I used to speak. So I decided to go deep in this Stack Overflow thing but it was way before I discovered I was ranking on Stack Overflow. Matt Stauffer: Yeah. Antonio Ribeiro: So, I did not really contacted people in the Brazilian Laravel community but we got in touch via IRC when Taylor was still very frequent. I don't know if they are now because I'm not very frequent now. Matt Stauffer: Not so much, no. Antonio Ribeiro: I know some people of the Laravel community, Laravel.com.br, which is the website but I just saw that they kind of let it down. Unfortunately, the last posts on the websites- Matt Stauffer: 2016. Antonio Ribeiro: 2016, yeah. One of these days, someone asked me if I was going to do a Laraconf Brazil actually. I didn't even know that it was happening so- Matt Stauffer: Right. Antonio Ribeiro: I just say, "I'm sorry." Matt Stauffer: Yeah, so you're relatively disconnected. Antonio Ribeiro: Yeah. Matt Stauffer: I want to get your whole backstory but I want everybody to have the context for what we're talking about here. Do you use Laravel in your day job? Antonio Ribeiro: Yes. Yes. Of course. Everything we do for the government, now, is done in Laravel. Matt Stauffer: Cool. Antonio Ribeiro: Mostly everything. I am a lead of a very small group of developers and we work primarily in Laravel. Laravel and VueJS. Matt Stauffer: Oh, very cool. Did you get in VueJS pretty early last summer or is it something you're jumping into more recently? Antonio Ribeiro: No, no. Pretty early Matt Stauffer: Okay. Cool. Antonio Ribeiro: Almost when Taylor started to talk about it, I got in. Matt Stauffer: Nice, very cool. It's interesting because I just googled your name so that I could throw your website into the show notes and found that you had done an interview on Laravel News. I try to read those beforehand so that I can make sure I'm not covering the same territory and I had never read that you've done that. I had no idea that happened. So, excuse me, I didn't do the research I should have done. But that's fine because I still have plenty of questions and curiosities. Okay. So, you are doing Laravel in your day job but you're also doing some stuff on the side. There's various level of folks who you're working with. You're in Stack Overflow English early. You're somewhat connected but it's been a little while with the Laravel Brazil community. One of the reasons I asked that is because my book has been translated into two or three languages and Brazilian Portuguese is one of them. I was pretty surprised by that because that takes a pretty big commitment for somebody in the community to have decided that it's a group they want to target. I was wondering if there's some huge Brazilian Laravel community that I wasn't aware of. It sounds like at least there at some point was but it, at least the one in Rio, might have gone a little quiet for a little while. Antonio Ribeiro: Yes, I think the community to large but they are not very connected. Matt Stauffer: Mm-hmm (affirmative). Antonio Ribeiro: I think they are more connected in the PHP community than in the Laravel community. Matt Stauffer: Got it. That makes sense. Okay, so before I got to your life story, I want you to give me a pitch real quick on the TDDD and then if there's any other one package that it's just really your favorite package or your favorite contribution to Laravel. I don't know if Stats Tracker or something else but first, tell me about TDDD as if I'd never heard of it before. Then, do you have any other packages that you really love and that you want to share with everybody? Antonio Ribeiro: Well, TDDD is becoming an app actually. It's an app for helping people do TDDD. Basically, you are writing tests. If you write tests before or during or after you are coding- doesn't matter. You can use it to help you test your app during development. You make a change in your code, it will run all your tests. If you do a change in one of your tests, it will run that test particularly. It's basically that. We have some other things it does. It is able to link all the lines of your failures so you can click a link and it will open your PHPStorm, or your Sublime Text, or VSCode. It doesn't matter what editor you are using. I just added code coverage to it so you can also see the code coverage there. It's basically that. You can add as many projects as you have. You can use whatever code editor you have. If you have a project which you have tests in JavaScript, in PHP, in any other thing, you can add as many suites you want to add on it so it's very flexible. I use it all the time. I think it's the package that I'm using the most these days. Matt Stauffer: Okay, very cool. Is this an app where you think that if anybody's doing TDD in Laravel, they should just be using TDDD? Or is it more for specific contexts and not for others? Antonio Ribeiro: No, everybody can use it. If you are using TDD in Laravel or PHP or you can use it in Ruby. It's very open. I think it's a good one to use because Freek has a package almost like it but it's for the command line. Matt Stauffer: Okay. Antonio Ribeiro: The difference for me is that I keep a monitor ... I have three monitors here. I keep a monitor with it and while I'm coding I'm looking at the monitor and seeing if anything is broken with the code that I'm writing. It's very handy. Matt Stauffer: That's really cool. I asked for one other package that is really big for you. I know you've been working on Version recently but I also know that Stats Tracker is one of your more popular ones. If you had one more of your packages that you think people should check out, which ones at the top of your brain? Antonio Ribeiro: I like, very much, Google 2FA but I think there are other options and people are using Authy which you can blend into Laravel very easily. I think Firewall is a package that people should look at. Matt Stauffer: Yeah, I use Firewall. Antonio Ribeiro: You use Firewall? Matt Stauffer: Yeah. I had basically written a crappy version of Firewall and then you can out with Firewall so I just switched over to using your package so ... Could you give like a high-level introduction to what Firewall is? Antonio Ribeiro: Firewall is basically something you put in front of your app to protect it. It's like a real firewall. The difference, of course, is that you cannot rely on Firewall for everything but you can rely on it for things like someone trying to exploit your app. A Firewall will be better on that but if someone tries to hit one route 50 times, it will warn you about them and it can block the person or block the country. It's very flexible in this way too. I like it because one of these days I found someone in Denmark trying to exploit one of my end points so it's cool. Matt Stauffer: Nice. Some of the things that Firewall can do is it black lists and white lists, it allows you to block people really easily. It also does some detection, like you were saying. It does some intelligent detection to find people causing problems. It's also got a couple other cool features. One of the things I liked was, you can basically send everybody on the whole site to a "Coming Soon" page except people with white-listed IP addresses. So there's a couple other tools that are in the same vein of Firewall but are not just for security purposes. Some of them are for access purposes as well. It's really, really fast. I think I remember looking at some other packages and they would add 50 to 100 milliseconds and your GitHub page says 10 milliseconds which is really basically negligible on most sites. Alright, so I have given a little bit of the high-level introduction. Who you are and what ... People may have heard of your or they may have seen your stuff before and not have always known. We're about to jump into the history of who you are but I wanted to point one thing out which is that for the longest time, I had difficulty remembering what your name was because you have an "I" in front of it in your twitter handle. So it says "iantontio" and I would always think, "His name is Iantonio or" ... But then I would remember there's a Carlos somewhere in there and I'd be like "Is it Ian Carlos" and I always had a lot of trouble. I've always wanted to tell you the "I" has been so confusing to me. Alright, so. Antonio Ribeiro: Sorry. Matt Stauffer: No no, you're fine. You said, when you're 12 years old you were in Switzerland? You were living there at the time and you got into computers and so you got a job delivering stuff so that you could have enough money to ... But what I'm curious about is, how did you actually get into computers in the first time? I don't want to go too far down this road but I will mention that there's a little more gray in your beard than there is my beard. Maybe I'll just say that. So at this point you were not discovering the same computers that I was discovering when I was 12 years old. What did it look like for you to learn about and get interested in computers and what were those first computers you were getting interested in at that point? Antonio Ribeiro: Commodore VIC-20 was the first computer I touched with my own fingers. People were talking very much about Commodore 64, I think. I wasn't able to use one but after some time I got back to Brazil. I went first to France. I was there for some time. Then I got to Switzerland, some cities in Switzerland. Then I got back to Brazil and I decided to do a course. I was 18, I think. Then I was really amazed by Apple computers and the first PCs in Brazil. I think it was that. Very early in computing, here in Brazil, I got catched by them. Matt Stauffer: Yeah, yeah. At that point, there were actually classes that you could be taking. You weren't having to teach you on your own, right? Antonio Ribeiro: Yes. Mostly, yes. That was my whole life because first I try a course to get classes and it was not very good because I was already reading a lot about computers and about programming. Then I got to try class of a friend of my father which basically gave me a book and a computer and told me to learn by myself. I was basically self-taught my whole life. Matt Stauffer: Was that Commodore 64 that you were working with at that point then? Antonio Ribeiro: No, at that point it was an Apple 2. Matt Stauffer: Oh okay. So I assume you were learning how to use the machine but were you learning coding, like AppleScript at that point? Or what were you learning at that point? Antonio Ribeiro: First, it was basic and then I got to dBase. You know dBase? Matt Stauffer: No, I've never heard of it. Antonio Ribeiro: Oh yeah. It's like a language for querying databases. Matt Stauffer: Oh okay. Antonio Ribeiro: It was not exactly a language. Then there was Clipper. I think Clipper is a little bit more popular that dBase. Matt Stauffer: I've never heard of Clipper either. dBase and Clipper. Okay. Antonio Ribeiro: Yeah, so those were the languages that I started to learn. Then after doing this course I went to a company to work for them but work and learn. It was more like a friend than a boss. There we started to work with C. Not C++ yet. This was before. We were building a translation system in Clipper and C. Matt Stauffer: Translation meaning translating languages. Antonio Ribeiro: Exactly. It was trying to translate from six different languages but it was like changing words, not really- Matt Stauffer: It didn't understand syntax. It just replaced one word with another? Antonio Ribeiro: Yeah, basically that. After, we started to translate to switch sentences and idioms and things like that. Matt Stauffer: You understood how to do the parsing well enough to write all that? Were you actively involved in writing those translation layers? Antonio Ribeiro: Yeah, it was not exactly a parsing. It was like, try to get the meaning in the sentence and just switch words. Matt Stauffer: Okay. Antonio Ribeiro: Really rudimentary I think. Matt Stauffer: Mm-hmm (affirmative). I'm trying to get all the age ranges here. You said when you got to Brazil you were taking courses so was that university when you got back home? Antonio Ribeiro: No. It was during high school. Matt Stauffer: Oh, okay. Was this job doing the translation layer, were you also still in school at that point? Or was that out of school? Antonio Ribeiro: Yes, yes. I was working then and studying at the same time. Always. Matt Stauffer: Okay, so what was your degree that you were seeking? Antonio Ribeiro: Some years after I got to do university here. I have a degree in computing. Matt Stauffer: Got it, yeah. It sounds like computers have been a thing for a very long time. The first thing you mentioned about when you were younger is getting into computers when you were 12 years old. I know that you're interested in photography and I feel like you've mentioned dancing at one point so I know you have some other things. Are those going as far back as computers, as well? Or have you sort of always been ... Computers is one of your biggest hobbies since the early days? Antonio Ribeiro: No. Both dancing and photography are things that I started five years ago, eight years ago. Eight years ago photography and five years ago dancing. At that point my wife had the dance classes. We are seven years together so seven years of dancing and eight years of photography. Matt Stauffer: That's amazing. What sort of dancing was it? Antonio Ribeiro: Samba. Do you know samba? Matt Stauffer: Yeah, yeah. I can't do it but I know what it is. [laughter] Antonio Ribeiro: Samba, rock-and-roll. We call it differently here but it's like rock-and-roll. And salsa. Matt Stauffer: My wife is a dancer and I'm one of the worst dancers of all time. She's like a professional dancer and I'm a klumbling, bumbling idiot so it's a very fun pair. I know the words even if I don't know how to do anything. So five to ten years of photography, five to ten years of dancing, but this computer thing goes the whole way back there. Was it weird that you were 12 and you were into computing and it wasn't as much of a cultural phenomenon ... I mean, a 12 year old kid that's into computers today is just no big deal. Being a 12 year old in the 90's, for me, was a little bit weird. I get the sense that you were in the 12 year old more in the late 80's or something like that. Was it culturally strange in Switzerland, where you were, or was this a normative thing? Was it normal in Brazil? Was it weird in Brazil? What, culturally, was it like being that into computers that young? Antonio Ribeiro: I think it was completely different for people to know that I was excited about something nobody knew at the time. It was very, very expensive. In Brazil, a computer- it was like buying a car or two. My mother didn't want me to go to that path because she didn't believe very much in the power of a computer. I had to be an engineer or something like that. Matt Stauffer: Yeah, yeah. Antonio Ribeiro: So I asked her to buy me a computer and she basically said no, of course not. Matt Stauffer: Of course not. What are you talking about? What was it that interested you so much about computers when you were 12? What was the thing that you saw or the possibilities that you saw or did you see a specific thing happen and you say, "I want to be able to do that"? What was it Antonio Ribeiro: I think it was exactly that. Infinite possibilities. Matt Stauffer: And you were able to figure that out? That early? Antonio Ribeiro: Yeah, I think so. For a lot of time, in that department store, I was just trying to figure out what the thing was about. I was able to play with it and to write things and to create small programs. It was really cool. Matt Stauffer: I learned basic but you said, this was the Commodore 64, or VIC-something, or I don't know. What were you writing at that point? Antonio Ribeiro: VIC-20. Matt Stauffer: Yeah, 20. What were you writing in at that point, when you were really getting started? Antonio Ribeiro: I don't remember. I was just copying stuff from magazines and then changing words and changing functions. Matt Stauffer: And seeing if you could control things, yeah. Antonio Ribeiro: Yeah. Matt Stauffer: Very cool. When you were back in Brazil, you started studying things. You got the job translating. It seems like you were always had multiple fingers in multiple pies, as the expression goes. What was your goal then? Did you have a goal other than just to do more stuff with computers? Antonio Ribeiro: Learning was always my goal. Even today. What happened there ... Actually I was working for another company in Brazil before going to that job. There I learned to write a little bit more of Clipper and when I go to the company of the translation, I decided I was able to do the translation system in a different way. What we had at the time, it was a software that was plugged into a editor like Microsoft Word. It was not that, it was another editor. It was able to get the words from the editor and write words in another language. So I decided to build an editor which was able to translate at the same time. Matt Stauffer: Oh my gosh. Like a Word Perfect type thing. Antonio Ribeiro: Yeah, exactly. Before Word Perfect. Matt Stauffer: Oh god. That's no big project or anything like that. No big deal. [laughter] Okay so how'd that work for you? Antonio Ribeiro: I was young and I had no idea- [laughter] Matt Stauffer: That's fantastic. How long did that dream last? Antonio Ribeiro: That dream come true. Matt Stauffer: You actually built one? Antonio Ribeiro: Yeah! It was released and it was sold to a lot of people. Matt Stauffer: It was you working alone? Antonio Ribeiro: For some time, yeah. Until I got everything almost done, it was me in secret. Then it became a project from the company. Matt Stauffer: Oh okay. So the company that you were working for sort of absorbed it and then they released it but it was your work originally. Antonio Ribeiro: Yeah but for the company. I was working there. Matt Stauffer: Sure. What I'm hearing you say is- Antonio Ribeiro: Nobody knew exactly what I was doing but I was working there. Matt Stauffer: What I'm hearing you say is that at a relatively young age, you built a word processor from scratch that was live-translating from one language to another that was released and purchased by many, many, many people. Antonio Ribeiro: Yes. Matt Stauffer: No big deal. No big deal. You just do it in your sleep, ya know? [laughter] We've talked about your work there. You released that thing. What was next after that? I assumed you worked there for a little while. You said you started there when you were in school so what was the next big move whether being done with school or being with that company or geographic move- what was the next thing that went from there? Antonio Ribeiro: No big moves. I went from one job to another because I was always seeking something new to do, something new to learn. When I was 21, my girlfriend got pregnant so I got married. Things got a little bit different because I was not working for learning anymore. I was working for money. Matt Stauffer: For providing, yeah. Antonio Ribeiro: To provide. I went to university when my daughter was already born. Then I went and worked for another company of a big friend. Then I stayed there for five or six years and then around 1998 I decided to move completely to a completely different life and built a webhost company. There I working for a company. I was trying to get into the public serving. I was doing a concourse, I don't know how to say that in English but you have to do a test to enter to public serving. Matt Stauffer: Like a certification? Antonio Ribeiro: No, it's like ... I don't know exactly how to say that in English. Matt Stauffer: Okay. Antonio Ribeiro: It's a concourse. You have a lot of people competing for a position in the company. Matt Stauffer: Oh, it's almost like a competition and you have to get a better score on an exam, or something like that? Antonio Ribeiro: Yeah, that's it exactly. Exactly like that. I don't know if you have that in US. Matt Stauffer: I'm sure that concept exists where multiple people are competing for the same promotion. I don't know if it's such a normative thing where we have a word for it though. That makes sense though, what you're saying. Antonio Ribeiro: I got a position; we built the company, me and Anselmo, my partner. The company was doing a lot of things and we were also working for another company rebuilding their system. They have the system written in Pascal. You know Pascal? Matt Stauffer: Mm-hmm (affirmative). I don't know it but I know what it is. Antonio Ribeiro: Actually, TurboPascal at the time and we decided to move everything to Delphi. Matt Stauffer: Okay. Antonio Ribeiro: Me and him, basically, he wrote a 20 year old software into Delphi. Matt Stauffer: Wow. Antonio Ribeiro: That was our greatest move at the time, I think. The company had a lot of clients and nobody knew exactly how to build things for Windows, at the time. Everybody was still working on DOS. The company had five or six different big softwares including a healthcare system using Pascal and everything running DOS. We had to move to Windows because DOS was dying at the time. I think it was almost dead. Matt Stauffer: Yeah. Antonio Ribeiro: That was a really big move. For that move, why we decided to go in this path was because they offered us part of the company. Matt Stauffer: For rewriting all those systems? Antonio Ribeiro: So we had 20% of the company and 13 years ago this move and everything switched and the software was working, they basically cut us off the contact. Matt Stauffer: But you had 20% of the company at that point, right? Antonio Ribeiro: No, not anymore. We lost everything. Matt Stauffer: Oh my gosh. Antonio Ribeiro: That was 2013. It was exactly when I decided go web. We were not web anymore. Actually, the whole problem was we were talking to them that we needed to go to the web. Move everything to the web as fast as we could because everybody else was already there. Matt Stauffer: Right. Antonio Ribeiro: So, they say to us, "No, we cannot do that now" and just cut us off. End of story. Matt Stauffer: I don't wanna go too deep into money issues but if you own 20%, did they just force you to sell your shares? I don't know how that worked legally. Or was it more of an agreement where that was a little more casual. Antonio Ribeiro: Yeah, that was the problem actually. We had no contract. We had no shares. We had nothing. It was basically friends doing something really big together for 10 years or 13 years. They just stopped giving us money and end of story. Matt Stauffer: I don't mean to at all preach in the face of something difficult that you're going through but my business partner, Dan, and I have found that since the beginning of us starting the company together we said, "you know what, we have each been burned in this similar way at some point in our lives. Where we go into business with friends and just hugely regret it later". Because you're working with friends you don't do the same level of protection that you might've normally done otherwise and so what we decided to do as we started our company was to be very legalistic. Even more than you might be with someone that you don't know so that at no point do we get to a point where our friendship is on the rocks because of those tensions. Because everything's explicitly spelled out. But obviously we had that after having been burned multiple times just like you were on that one. So I know how that feels although I don't think to the level that you experienced so I'm sorry. That's not fun. Antonio Ribeiro: Yeah. Matt Stauffer: How did you guys recover from that? That's a hard hit. What did you do next? Antonio Ribeiro: I was lucky because I had two different jobs. The job I still have now, working for government, I had it because it will basically give me money for the rest of my life. Matt Stauffer: Right. Antonio Ribeiro: So I lost 50% of what I was making at the time but that's not really bad. Matt Stauffer: It's not the end of the world. Antonio Ribeiro: I had to move from the apartment I was in. A lot of things happened in my life but I survived. And him too. So it's okay. Matt Stauffer: Okay. I like the attitude. The hosting provider, is that still going on? Because you've mentioned working for the government. You've mentioned working for the translation people. Then you switched jobs to other people. You're mentioned these folks who you had the 20% with but you don't anymore. You mentioned the hosting provider that you created. I'm not always fully following who you work for at any given moment so you're definitely still working for the government because you just told me that. Are you still doing this hosting thing? Antonio Ribeiro: No, not anymore. Matt Stauffer: Oh okay. Antonio Ribeiro: We had to close everything because- Matt Stauffer: Oh I'm sorry. Antonio Ribeiro: The money that we were making with the other company was providing a lot of things, including the hosting company that was not very profitable at the time. Matt Stauffer: Got it. Antonio Ribeiro: So we closed it. Very fast. Matt Stauffer: When you said hosting company, the first that came to my mind was your were running some servers and you were renting out shared hosting but you've never actually said that. What sort of hosting were you renting and what sort of folks were your clients? Antonio Ribeiro: Exactly that. The hosting company started because we knew a little bit about internet. We saw some hosting companies doing really bad things in the market and we decided to get one client of ours, which was not exactly that company that was our partner, and build a site for them. For that we needed a good webserver so we learn a lot of Linux at the time, Debian Linux, build a server, got a home internet connection, discovered how to make things happen to get a DNS up, Apache mail server ... So we learn everything in three months and we got it up. Matt Stauffer: Geez. Antonio Ribeiro: Got it all up and the company was online, working- Matt Stauffer: You said home internet server. You were able to get a fixed IP address though, right? Antonio Ribeiro: Yes. Afterwards, yeah. We started with an IP address. Actually, our tests were all doing at home. Then we got an IP address in an office of a friend in downtown so it was that. After that, we moved our server collocation inside the center and got more servers and the thing got really big. Matt Stauffer: Right. Was it just the two of you remoting into those servers in the collocation center or did you start having other folks working for you as well? Antonio Ribeiro: Not in the webservers company. It was only me and him. Matt Stauffer: Okay. What do you use for hosting now for your side projects? Are you a Linode guy or are you hosting your own stuff? Antonio Ribeiro: Yeah, I host everything in Digital Ocean using Laravel Forge. Matt Stauffer: Yeah. Antonio Ribeiro: Except for my backups that are on Amazon. Matt Stauffer: I do the same thing. I know my way around a basic Linode server or an Nginx and Apache and stuff like that but I'm not to the point where I could be running my own hosting service. It's interesting to hear someone who has such a depth of experience in hosting still choosing. Saying, "Hey this is the easiest way to do it so why not". Antonio Ribeiro: Yeah. Matt Stauffer: So that was 2013. Those things shut down. Since 2013, obviously you've mentioned that the last time the Laravel meet-up was going was in 2016 and you said at that point you had already kind of stepped away a little bit. What have the last four years been like? What have you been working on? Obviously you're still spitting our packages and I'm guessing you're still answering questions on Stack Overflow, although I have not looking at how recent your most recent was. What else are you up to? What are you most interested in? What have you been learning and excited about learning recently? Antonio Ribeiro: I'm learning JavaScript now. Matt Stauffer: Okay, got it. Antonio Ribeiro: I got into VueJS very early but I did not move my thinks to VueJS. Right now everything I do is Laravel, back end API, VueJS front end. Matt Stauffer: Got it. Antonio Ribeiro: The past four years, I was basically learning, doing some jobs and some websites for one or another people or company. Doing some contracting work. Everything is small. Two years ago we started to build things in the government using Laravel so it got really big. I have at least five sites and two mobile apps using Laravel. One of the sites, we have a voting system for young congressmen in Rio de Janeiro. Matt Stauffer: Cool. Antonio Ribeiro: Yeah. My company, it has a program for young congressmen so every year we have all the schools in the state, the students, trying to become young congressmen. We have a big voting, I think in July, and then they go to be a congressman for a week. Creating bills and voting bills in and afterwards those bills usually become a real state bill. Matt Stauffer: Really? Antonio Ribeiro: Yeah really. Matt Stauffer: Wow, that's fascinating. And a little bit terrifying, but mainly fascinating Antonio Ribeiro: [laughter] Everything is done with our real congressman so it's cool. Matt Stauffer: So, you built that. I assume you're using View Router and Laravel is really just basically spitting out the view initialization and then the API but none of the front end of those applications is actually built by Laravel? Or is it more of a mix? Antonio Ribeiro: Oh, no. The APIs, Laravel, the front end, is usually view. Particularly this one is not 100% view yet because it has one year and a half. But it basically VueJS. Matt Stauffer: Stepping outside of coding a little bit, I am going to admit that I am an extraordinarily, commonly ignorant American when it comes to most things Brazil, Portuguese, and even Rio. I've seen a couple movies. I watched City of God a whole bunch of times. My sister lived in Rio for a year and my book was translated- Antonio Ribeiro: Oh yeah? Matt Stauffer: Yeah, she's obsessed with Portuguese. When I went home for Thanksgiving a couple of weeks ago, she had been at the bank after coming back from a year living in Brazil and she heard two people speaking Brazilian Portuguese. She walked up, she said "Excuse me, are you from Brazil?" And they look at her like she's a crazy person. They say "Yes, we just moved here and we're setting up our first bank account". She said, "Let's be friends!" And so they and one of her other random Brazilian friends were over at my family's house for Thanksgiving and my son does capoeira so he was like doing the capoeira plays back and forth with one of the guys who does capoeira. I have this very tiny, tiny, tiny side influence that is bringing more than average amount of Brazil into my life but I really know very, very little about the city. I know very little about the country. I know very little about the language. So as a total American idiot who doesn't know anything, let's start with Rio. What aspect of Rio do you feel like, if someone were to visit, they just needed to take in? Obviously, there's a couple specific tourist sites but what aspect of living there and being there do you think is really interest and unique relative to other similar countries that you would really want people to know about? Antonio Ribeiro: Yeah, I think if you are coming to Brazil you have to come blend. The people are the best. We are, I'll not say "cool", but we are good. We are warming. We love to chat, to be with people, to laugh. Knowing the city is something that will happen really fast if you know people here because, of course, you can go to tourist sites. It's easy to get a book and go to tourist sites but to eat food, if you like food, to eat good food. To know amazing restaurants and not very known restaurants. You have to know people. You have to make friends here. And its very easy to make friends in Brazil. Really, really easy. Matt Stauffer: I like that. Talking about food, if there was one food that you would want everyone to try, what would it be? Antonio Ribeiro: My American boss was in Brazil last week. I got them to eat a lamb. There is a very good lamb here in Lapa. I don't know if you know the name. Matt Stauffer: No. Antonio Ribeiro: It's a very popular part of the city where you can find a lot of bars opening at night. Friday and Saturday you go there and you will probably see like 200 persons. 200,000 persons in that part of the city. It's really very crowded. So the lamb. Matt Stauffer: So, if I were go to and I were to visit, I would need to get lamb. I would make friends with people. Get to know ... And honestly that's one of the most commonly known things about Brazil. It's just wonderful. A lot of the stereotypes also have to do with parties and fun and entertainment and Carnival and all that kind of stuff. Are there any stereotypes or any common misconceptions you think that people have about Brazil and Brazilians that you think aren't true that you want to dispel? Antonio Ribeiro: Probably, people think that Rio in particular is too dangerous to know. Of course, it's dangerous. We are living in dangerous times. But it's not like that. You can come here and you will be safe. It's not like something bad will happen as you as you touch the soil. Matt Stauffer: Walk out the door, right. Antonio Ribeiro: It's safe here. It's a good place to be. Matt Stauffer: Cool, I like that. We're a little short on time but I want to make sure that we touch into the other things that you're really passionate about. We've got dancing and photography cued up. I do want to ask before I go into those two, am I missing anything about you? Is there an aspect of who you are or what you've done, a part of your story or anything, that I've just completely missed that you really want to make sure people get the chance to hear? Antonio Ribeiro: Not at the top of my mind, I don't think so. Matt Stauffer: Okay, so let's talk photography. Antonio Ribeiro: Probably yes, but nothing I can remember. Matt Stauffer: Alright, let's talk photography. What got you into photography? What sort of things do you primarily focus on photographing? How much is it actually a part of your life right now? I know it has been as some point, is it still? Antonio Ribeiro: Yeah, I got into photography because I love to make photos. I'm very technical with everything I do so I like very much to program my camera. Matt Stauffer: Are you a manual-mode kind of guy? Antonio Ribeiro: Yes, yes. I do all the time. I love to take pictures of people. This may be what I do the best. Matt Stauffer: Uh-huh. Antonio Ribeiro: I got known in the photography world by taking pictures of shows and nature. Matt Stauffer: Like music shows? Antonio Ribeiro: Music shows, yeah. Because of the dancing, which is the other, I got to the music of the city. To know a lot of musicians, to be with musicians. I have at least two great friends in music here in Rio. I got to photograph them. Today I think their photos in Facebook and Twitter are my photos. Matt Stauffer: When you go straight to your website, you see photography right in there. Is the background of your website, is that a photo you took? Antonio Ribeiro: Yes. Everything, yes. Matt Stauffer: That's gorgeous. It doesn't look real. I assumed, even though I knew you did photography, I assumed you must not have taken them because they're so beautiful. I'm really impressed with this. Antonio Ribeiro: All of them. You're talking about which one? Matt Stauffer: Well, the first ones that came up the last few times I went were a couple of the view of Rio from above. Then, obviously, I'm sure you're aware it keeps cycling through photos. These are incredible photos. Do you consider yourself a professional photographer? Antonio Ribeiro: Yes but I don't make money from photography. I have some professional work, three or four, but I'm not really into it. I'm not photography too much these days. Photography takes a lot of time. You have to really stop and look at the photo. Retouch sometimes. That takes a lot of time too. It's time consuming so I don't have that time now. Matt Stauffer: Yeah. It's mildly offensive that you can say that you don't even have time for photography and you don't do much and then your photos are this good. I'm just going to tell you that right now. Antonio Ribeiro: Yes. I agree. Matt Stauffer: Yeah, this is really beautiful stuff. Folks who are listening, definitely check it out. Of course this will all be in the show notes. Okay so, do you and your wife still dance a lot? Antonio Ribeiro: We dance a little bit. Not as much as we would like to dance and we are not in the dance classes anymore. We were in the beginning of the year. We went back to the dance classes but our lives are getting too crazy to be there, to go to class every week at such time. It's hard. It's hard for us. Matt Stauffer: Yeah, absolutely. Especially when you have a family. There's just a lot of obligations that come from family and come from work and everything like that. I'm finding that I haven't picked up a lot of my hobbies. Somebody asked in the Laravel advent "What are your hobbies" and I laughed and I said, "Keeping my kids alive". There's just times when, if everybody's alive and fed at the end of the time and the house hasn't burned down, I'm considering it a win. Cool. Well, we're coming up on time. I know I said is there any high-level aspects of your story that we haven't covered but are there any projects or any frameworks or any packages or any conferences or meet ups that you'd like to plug, you want to talk about, or you want to make sure people know about? Antonio Ribeiro: No, I don't think so. I'm basically trying to get into my packages a little bit more. I'm trying to rewrite Tracker from scratch. Matt Stauffer: Oh cool. Antonio Ribeiro: Yeah, because it's getting old. Codes is really ugly to look at right now. I think I have changed as a coder in the past years. Matt Stauffer: It's a couple years old, right? Antonio Ribeiro: Yeah, yeah. It's like two or three years old. I think it was the first big package that I wrote and people really like it. I think I have to give some love to the package again. Matt Stauffer: Yeah, yeah. It's this thing where we look at our old code and we can't imagine how we ever wrote like that but it's still our baby. I like it. It's hard every time. It's hard to cut off talking when I have so many more questions but I feel like we've covered a really good chunk. We made it from at least age 14 until today, even if we probably missed a lot of interesting digressions we could have taken. Thank you so much for your time. It was a ton of fun talking to you. I love getting to learn about you. Thank you for the contribution you make, especially because often you're making those contributions ... Again, I don't want to say nobody knows who you are or anything like that but you're consistently helping. Getting a good Stack Overflow score means that you have helped a huge number of people. You've helped me many, many, many times. So, for the tireless work that you do helping people in our community- thank you very, very, very much. Antonio Ribeiro: Thanks for having me and thanks for inviting me do this interview. And thanks for your blogging too because your blog posts are helping me all the time as well. Matt Stauffer: I love it. Well, I promise that I'm gonna do my best to actually writing them again. I'm in the same pit as you where anything other than the day job and keeping my family alive have really dropped. But my hope for 2018, let's get back into doing these side things and working on our packages and our blogs. Antonio, thank you so much for your time. Everybody else, see everything you need in the show notes. Just go to laravelpodcast.com and we'll see you next time. [music]
This episode was recorded 26 May 2014 live and in person at Brent's office in sunny, lovely Ballard. You can download the m4a file or subscribe in iTunes. (Or subscribe to the podcast feed.) Brent has worked at UserLand Software and NewsGator and as an indie at his company Ranchero Software. These days he's one-third of Q Branch, where he writes Vesper. He is also the co-host of this podcast. This episode is sponsored by Tagcaster. Tagcaster is not just another podcast client — it solves the age-old problem of linking to specific parts of a podcast. You can make clips — short audio excerpts — and share them and link to them. After all these years, that problem is finally solved. This episode is also sponsored by Igloo. Igloo is an intranet you'll actually like, with shared calendars, microblogs, file-sharing, social networking, and more. It's free for up 10 users — give it a try for your company or your team today. This episode is also sponsored by Hover. Hover makes domain name management easy. And it's a snap to transfer domains from other registrars using their valet service. Get 10% off your first purchase with the promotional code MANILA. (Manila was the name of the blogging system worked on at UserLand.) Take a look. Things we mention, more or less in order of appearance: NetNewsWire MarsEdit Glassboard Vesper Manila The University of Chicago DuPont Punched cards University of Delaware Newark, Delaware Fortran 1980 Apple II Plus PLATO Brent's Mom 6502 Assembly 80 column card ALF II Music Construction Set Beatles Rolling Stones Pil Ochs Judy Collins Boby Dylan West Side Story Hair Broadway Soundtrack Delicious Library Epson MX-80 Columbia House Records Cindy Lauper Born in the USA The Clash London Calling Pascal Evergreen State College 1992 1989 Seattle Central Community College City Collegian QuarkXpress LaserWriter Mac IIcx Radius monitor Silo Goodwill Symantec C Grenoble, France Microsoft Word Microsoft Excel Seattle Boeing Photovoltaics University of Washington Institut de Biologie Structurale CEA CNRS Alps (the mountains) Gopher Pine International Herald Tribune Kronenbourg Killian's Red Isère River Chinook's Eskimo dial-up account Zterm Lynx AltaVista Seanet MacTCP MacPPP AppleTalk Yahoo Info-Mac Archive Kagi Maelstrom Performa 604 After Dark Bungie Andrew Welch Usenet fuckingblocksyntax.com Dave Winer UserLand Frontier Aretha release UserLand Software AppleScript HyperCard WebSTAR MacPerl MySQL Spotlight Filemaker Pro Indianapolis Star News Woodside, CA Jake Savin San Francisco Robert Scoble Millbrae Palo Alto Windows Visual Studio CodeWarrior PowerPlant MacApp Toolbox Xcode Project Builder Carbon QuickDraw Open Transport Manila EditThisPage.com Daily Kos joel.editthispage.com Aaron Hillegass's Book on Cocoa Radio UserLand Python MacNewsWire RSS WebKit Safari MSIE for Mac Camino NetNewsWire 1.0 screen shot RealBasic BBEdit Lite TextWrangler Carmen's Headline Viewer Syndirella AmphetaDesk My.Netscape.Com Safari/RSS Ecto Movable Type Mac OS X Server NewsGator Palm Treo FeedDemon Nick Bradbury Greg Reinacker Outlook TapLynx Push IO Sepia Labs Cultured Code and Things Black Pixel Red Sweater Oracle Justin Wiliams NetNewsWire Lite 4.0 for Macintosh Vesper Sync Diary WWDC Parc 55
This episode was recorded 17 May 2013 live and in person at Omni's lovely offices overlooking Lake Union in Seattle. You can download the m4a file or subscribe in iTunes. (Or subscribe to the podcast feed.) Gus Mueller, Flying Meat founder, created VoodooPad (now at Plausible Labs) and Acorn, the image editor for humans. Gus is also responsible for open source software such as FMDB and JSTalk. This episode is sponsored by Squarespace. Get 10% off by going to http://squarespace.com/therecord. Better still: go work for Squarespace! They're hiring 30 engineers and designers by March 15, and, “When you interview at Squarespace, we'll invite you and your spouse or partner to be New Yorkers for a weekend—on us.” The great designers at Squarespace have designed an entire weekend for you, from dining at Alder to going to the Smalls Jazz Club and visiting The New Museum. Seriously cool deal at beapartofit.squarespace.com. This episode is also sponsored by Microsoft Azure Mobile Services. Mobile Services is a great way to provide backend services — syncing and other things — for your iPhone, iPad, and Mac apps. Write code — Javascript code — in your favorite text editor on your Mac. (Mobile Services runs Node.js.) Deploy via git. Write unit tests using mocha (or your tool of choice). Supports authenticating via Twitter, Facebook, and Google — and you can roll your own system. It's cool. Things we mention, in order of appearance (more or less): Rock climbing Luke Adamson Missouri 2001 2002 Cocoa Apple IIc 1993 Mac Color Classic BASIC ELIZA Artificial Intelligence Assembler Missile Command Java Eric Albert Perl Animated GIFs CGIs Server push images REALBasic PC Apple IIe DOS Colossal Caves Plover Nibble Civilization UNIX AIX A/UX St. Louis Columbia Math is hard Single sign-on Servlets OS X WWDC Rhapsody 1995 MacPERL NiftyTelnet BBEdit FlySketch Coffee Picasso's bull sketches VoodooPad 22" Cinema Display OS X Innovator's Award O'Reilly Peter Lewis Rich Siegel Mark Aldritt Ambrosia Panic Transmit Audion O'Reilly Mac OS Conference Audio Hijack Paul Kafasis SubEthaEdit Mac Pro Ireland XML PDF Victoria's Secret Caterpillar Adobe InDesign OS X Server Xserve Macintosh G5 MacUpdate VersionTracker QuickDraw Kerberos HyperCard Objective-C messaging system Aaron Hillegass's book Java-Cocoa bridge JDBC Oracle databases 2005 Seattle Microsoft Parents Just Don't Understand Vancouver, BC B.B. King Seattle Xcoders Joe Heck University of Missouri Evening at Adler Wil Shipley Daniel Jalkut Eric Peyton Quicksilver Rosyna Chicago Drunkenbatman Adler Planetarium C4 Wolf Colin Barrett Delicious Generation Disco.app My Dream App Chimera / Camino Santa Clara World Wrapps Buzz Andersen Quartz Core Image Filters Bezier curves Wacom Unit tests Automated builds ZeroLink Metrowerks CodeWarrior NeXT BeOS Macintosh Performa Display Postscript SGIs Sun boxes Mac OS 8 MachTen Netscape Internet Explorer for Mac OS Outlook Express OmniGroup Shakespeare's pizza Pagliacci Neapolitan pizza Everett FIOS Fender Stratocaster GarageBand AudioBus Adobe Photoshop Adobe Photoshop Elements JSTalk AppleScript SQLite WebKit Napkin
This episode was recorded 22 May 2013 live and in person at Adobe's offices in Fremont in Seattle. You can download the m4a file or subscribe in iTunes. (Or subscribe to the podcast feed.) John Nack is Principal Product Manager, Adobe Digital Video. He has a blog (definitely worth reading, especially if you use Photoshop) and is @jnack on Twitter. This episode is sponsored by Microsoft Azure Mobile Services. One of the cooler features recently added is the ability to create custom APIs. Originally you were limited to standard operations on your database tables — but now you can design any API you want. This allows you to create a full REST/JSON API that's tailored to your app, that works as efficiently as possible. (And it's all in JavaScript. Mobile Services runs Node.js. Write your apps in your favorite text editor on your Mac.) Things we mention, in order of appearance (pretty much): Adobe LiveMotion Photoshop John's Blog Kurt Vonnegut Granfalloons despair.com Cocoa 64-bit Carbon 64-bit Unfrozen Cave Man Olive Garden South Bend, Indiana Tiramisu St. Sebastian Breadsticks Monkeys 2005 Movable Type DeBabelizer GifBuilder Anarchie 1984 Mac 2001 Algonquin Hotel Apple II PCjr ASCII Art Clip Art Googly Eyes Bill Atkinson MacPaint Rorschach Test Apple II GS Great Books Quadra 840AV Quadra Ad Director SuperCard Søren Kierkegaard Immanuel Kant Notre Dame Football Windows NT HTML New York City 1998 Flash Macromedia Illustrator Navy ROTC San Francisco GoLive NetNewsWire After Effects Thomas Knoll Camera Raw Photoshop Touch Germany Philistinism Perfectionism Volkswagen Carbon-dating Web Standards SVG CSS Gus Mueller Acorn Neven Mrgan Khoi Vinh Croatia Portland JDI Healing Brush Buck Rogers Creative Cloud Facebook Smugmug WWDC Jetta Ketchup Death-march Comic Book Guy John Gruber “If you see a stylus, they blew it.” Microsoft Surface Metro UI Rahm Emmanuel: “You never want a serious crisis to go to waste.” The Mythical Man-Month Content-Aware Fill Shawshank InDesign Adobe Magazine Nike PageMaker Postscript SLR Lightroom Black & Decker Dr. Evil Loren Brichter Instagram Kickstarter NGO Tumblr Acquisition Troy Gaul Blurb The Onion: Report: 98 Percent Of U.S. Commuters Favor Public Transportation For Others Data T-1000 Syria MacApp Resource Manager John Knoll Industrial Light & Magic QuickTime OpenDoc Corba OLE SnapSeed Mac System 6 Apple events AppleScript Audio Bus 1992 “The only time you should start worrying about a soldier is when they stop bitchin'” Alan Kay: “The Mac is the first computer good enough to be criticized.” TapBots Tweetbot 2 Android Kai's Power Tools Kai Krause Fremont RUN DMC Porsche Boxster Flavawagon Google Glass Robert Scoble
John, Dave and, yes, Pilot Pete come together to share as much Mac knowledge as they possibly can in “just about an hour.” Moving from iOS Battery Life help to AppleScript walkthroughs, your favorite Mac Geeks have a lot to teach you this time around. Enjoy and download today, it's […]
John and Dave come to you today with a fantastic mix of questions, comments, tips and geekery! Topics include customizing the top bar in the FInder, CD Burner issues, figuring out how much RAM you have (and how you can upgrade), solving Bonjour problems, and fixing a bootup problem or […]
John and Dave answer your questions, solve your problems, share your tips, and more! Show notes for TMO To Go: Mac Geek Gab For Monday, August 27th, 2007 Direct Links: MP3 Version or AAC Enhanced Version (coming soon courtesy of [removed]eval(unescape(‘[removed](‘Michael Johnston‘)'))[removed]Michael Johnston). John and Dave answer your questions, solve […]