Podcasts about TextMate

Text editor

  • 44PODCASTS
  • 119EPISODES
  • 37mAVG DURATION
  • ?INFREQUENT EPISODES
  • May 30, 2023LATEST
TextMate

POPULARITY

20172018201920202021202220232024


Best podcasts about TextMate

Latest podcast episodes about TextMate

Bitokbitok University Podcast
SLNT EP 002 | Babae gibiyaan ang uyab, nipatol sa TEXTMATE. Kaso napadulong sa MIRESE!

Bitokbitok University Podcast

Play Episode Listen Later May 30, 2023 28:47


PODCAST with (me) Bernie Bitokbitok and my photographer Juanito! --- Support this podcast: https://podcasters.spotify.com/pod/show/bitokbitokuniversity/support

Kwentong Takipsilim Pinoy Horror Podcast
Textmate Eyeball Tagalog Horror Story True Horror Stories

Kwentong Takipsilim Pinoy Horror Podcast

Play Episode Listen Later Dec 15, 2022 22:26


Txtmate Horror Stories - Pinoy Tagalog Horror Stories (True Stories)Ang Kwentong Takipsilim ay dadalhin kayo sa mundo ng katatakutan at kababalaghan. True stories tagalog horror at tagalog fiction. 0:00 Eyeball (Shirley)10:49 Nokia 3210 (Lyka) Hosted on Acast. See acast.com/privacy for more information.

A2
28: Flusso di lavoro con Nicola Losito

A2

Play Episode Listen Later Feb 14, 2022 63:11


Come potete sostenerci Se volete supportare il podcast vi chiediamo con il cuore di fare una recensione su Apple Podcast. In questo fase iniziale tante recensioni ci permetteranno di essere visti da più persone possibili. Se volete sapere come fare una recensione trovate a questo link (https://www.avvocati-e-mac.it/podcast/itunes). Potete anche scriverci a scrivi.a

More Than Just Code podcast - iOS and Swift development, news and advice

Roustem Karimov, co-founder of Agilebits maker of 1Password, joins Tim to discuss 1Password's development, history, past, present and future. We also discuss how the Soviets won the '72 Summit Series? Recorded November 23, 2021 in Toronto Special Guest: Roustem Karimov.

Gitbar - Italian developer podcast
Ep.83 - Ammutinati, il nostro setup per lavorare

Gitbar - Italian developer podcast

Play Episode Listen Later Jul 22, 2021 60:00


Questa settimana con gli ammutinati abbiamo voluto inaugurare le ferie estive con un episodio async dove vi raccontiamo in nostro setup per lavorare: applicazioni e tools utili con i quali passiamo le nostre giornate e rivolgiamo le nostre più sentite bestemmie.## Alessio- Arch Linux (btw) - https://archlinux.org/- i3 - https://i3wm.org/- terminale: kitty - https://sw.kovidgoyal.net/kitty/ editor: vim (vscode alcune volte)- colorscheme: base-16 - https://github.com/chriskempson/base16 - Modern UNIX tools: https://github.com/ibraheemdev/modern-unix## Andrea- brew: https://brew.sh/- iTerm2 https://iterm2.com/- ohmyzsh: https://github.com/ohmyzsh/ohmyzsh- Docker for Mac: https://docs.docker.com/docker-for-mac/install/ - Rambox:https://rambox.app/#home- ProxyMan: https://proxyman.io/- Zoom: https://zoom.us/- TextMate: https://macromates.com/- PhpStorm: https://www.jetbrains.com/phpstorm/- Sequel Ace: https://github.com/Sequel-Ace/Sequel-Ace- Redis Insight: https://docs.redislabs.com/latest/ri/installing/install-redis- desktop/- Insomnia: https://insomnia.rest/- Spark: https://sparkmailapp.com/- Clipy: https://github.com/Clipy/Clipy- PopClip: https://pilotmoon.com/popclip/- Alfred: https://www.alfredapp.com/- iStats Menus: https://apps.apple.com/it/app/istat-menus/id1319778037?mt=12## Leonardo- TablePlus https://tableplus.com/- Alfred Workflows: https://www.packal.org/ Magnet https://magnet.crowdcafe.com/ VSCode- Advanced New File: https://marketplace.visualstudio.com/items? itemName=patbenatar.advanced-new-file- Peacock : https://marketplace.visualstudio.com/items? itemName=johnpapa.vscode-peacock Robe di setup 2## Carmine- Link registrazione: Inviata su telegram a Luca- Terminator: https://gnome-terminator.org/ - SpaceEmacs: https://www.spacemacs.org/ - Chicago95 https://github.com/grassmunk/Chicago95 - Zim Desktop wiki: https://zim-wiki.org/- Ferdi: https://github.com/getferdi/ferdi - Pidgin: https://pidgin.im/## Mattia- IntelliJ Idea: https://www.jetbrains.com/idea/ - Kotest: https://github.com/kotest/kotest - iTerm: https://iterm2.com/- zsh: https://ohmyz.sh/- Sublime text: https://www.sublimetext.com/ - Datadog: https://datadoghq.com/## Luca- https://github.com/LucaRainone/Notifycon - https://plugins.jetbrains.com/plugin/7017-plantuml-integration - https://www.vagrantup.com/## Mauro - https://github.com/koekeishiya/yabai- https://marketplace.visualstudio.com/items?itemName=arcticicestudio.nord-visual-studio-code## Ricordati di iscriverti al gruppo telegram:https://t.me/gitbar## Supportaci suhttps://www.buymeacoffee.com/gitbar## Contatti@brainrepo su twitter o via mail a info@gitbar.it.## CreditiLe sigle sono state prodotte da MondoComputazionaleLe musiche da Blan Kytt - RSPNSweet Lullaby by Agnese ValmaggiaMonkeys Spinning Monkeys by Kevin MacLeod

Stacktrace
79: “When Rambo goes wild”

Stacktrace

Play Episode Listen Later Apr 15, 2020 57:58


John and Rambo speculate about why HomePod is now running tvOS, talk about SwiftUI view architecture and previews, and go on a deep-dive into Bluetooth Low Energy and how Rambo ported AirBuddy to the Raspberry Pi. Download MP3 Hosts: Gui on Twitter: @_inside John on Twitter: @johnsundell Links John’s Swift tips A guide to the SwiftUI layout system Synalyze It! Pro Reverse engineering the Nintendo 64 DRM HomePod runs tvOS Apple and Google’s COVID-19 contact tracing effort Little America Final Fantasy VII Remake Sketch Formatter for Mac TextMate BBEdit Reveal Sherlock Visual Studio Code GitX Zeplin Subscribe: 🟣 Apple Podcasts 🟠 Overcast 🟢 Spotify

Björeman // Melin
Avsnitt 202: Egen modempool på gång

Björeman // Melin

Play Episode Listen Later Mar 26, 2020 55:25


Corona-matthet Fredrik är inne på sin andra vecka rent hemmajobb Jocke inne på sin första vecka av rent hemmajobb Minnen av forna tiders USB-hubbar Fredrik tillbringade helgen ute i solen, satte ner foten, besökte vårdcentralen Fredrik väcker sin tolvtums-Powerbook. Mysfaktorn finns kvar. Textmate, tangentbord, ljudet av snurrande disk och utseendet på Mac OS X 10.5. Jocke väcker sin tolvtums-Powerbook. Disken är död och DVD:n har en skiva som vägrar komma ut. Fram med skruvmejseln…. till nästa vecka. Apple släpper ny Ipad, och framför allt nytt tangentbord med trackpad. Jocke halvsugen.. fast… ? Fredrik har installerat IOS 13.4 på sin iPad minsann… Jocke har inte mycket på sina datorer längre Apple släpper ny Air, Fredrik hade köpt om hans Macbook dog idag (och batteriet tycker att det behöver service igen). Om inte nya Ipad får möjlighet att koda och podda förstås Diskussion om POWER-plattformen i vår chatt. Varför ska man ens överväga nåt annat än x86 eller ARM? Albert Uderzo, Asterix skapare, har lämnat oss. Jocke hämtar mer loot. Novell Netware-kartonger och böcker, fler US Robotics-modem, en låda med minnen, osv. En del ska ges bort så håll ögonen öppna i vår chattkanal. Jocke sugen på att koppla upp modemlinjer till sin BBS igen. Helt onödigt, givetvis FÖNSTER MOT TV-VÄRLDEN: Devs - ny serie som ser ytterst lovande ut. Jocke har inte hunnit titta ännu. Picard S1 går mot sitt slut - Jocke ligger efter. Fredrik? J har inte hunnit se Westworld heller. Fredrik har, såklart, inte lyckats se något alls Länkar Kolloidalt silver Tolvtums Powebook * Apple extended keyboard II Hur muspekaren (med mera) funkar i IOS 13.4 Nya Ipad Magic keyboard för Ipad Prompt Nya Macbook air Lineageos 16 Android 9 POWER-processorer SPARC Albert Uderzo Novell netware Picard Westworld, säsong 3 Devs, strömmas på Hulu Peertube Två nördar - en podcast. Fredrik Björeman och Joacim Melin diskuterar allt som gör livet värt att leva. Fullständig avsnittsinformation finns här: https://www.bjoremanmelin.se/podcast/avsnitt-202-egen-modempool-pa-gang.html.

Björeman // Melin
Avsnitt 196: Lussebullar med vaniljglass

Björeman // Melin

Play Episode Listen Later Feb 13, 2020 71:41


Ännu ett tekniktungt-nördigt-meckigt-hackigt avsnitt: Hejdå Discord - enter the Matrix. mycket bra, en del mindre dito. Hejdå (så länge) till IRC-kanalen. Gateway mellan Matrix och IRC bökig att sätta upp. Jocke får mycket uppskattad återkoppling på ämnet att känna sig som en bluff Subethaedit lever än, är numera öppen källkod. Fredrik undrar vad han egentligen använde för texteditor i början av sin Mac-bana Operation av 12-tums Powerbook G4. Vabruari Jocke byter karriär en aning. DNS-kollaps. Jocke tvingades till snabblösning och kör hemmanätverket med Windows Server som DNS-server. Skammen är total Nextcloud går lite upp och ner Iller söker bästa glassen i Sverige (Häägen-Daas jordgubbsglass, givetvis? /JM) Vilda glassdrömmar briserar över hela avsnittet Påminnelser: för dig som vill att att göra-listan i sig ska kännas som ett göromål The Seal tipsar om inköpslisteapp Fredriks Macbookbatteri behöver plötsligt inte servas längre. Det känns … tryggt? Jocke har blivit med reserv-Mac, och ställningsbyggare Finns det inget projekt för typ egenhostad Instapaper? Samsungs nya viktelefoner Picard - vad tycker vi? Länkar Vogonpoesi Matrix Matrix foundation - inte Mozilla, visade det sig Matrix.fidonet.io - “Vår” Matrixserver Riot Synapse - “referensserver” för Matrix Subethaedit BBedit Textmate Sublime IA writer Jedit Coda BIND Dnssec Per tutti classcafé i Lund Our groceries GTD Things SMC Sia apelsinchoklad Never stop Helsingborgs glassfabrik Lilla glassfabriken i Malmö Instapaper Under the radar Pocket Samsungs nya viktelefon Picard Två nördar - en podcast. Fredrik Björeman och Joacim Melin diskuterar allt som gör livet värt att leva. Fullständig avsnittsinformation finns här: https://www.bjoremanmelin.se/podcast/avsnitt-196-lussebullar-med-vaniljglass.html.

RWpod - подкаст про мир Ruby и Web технологии
38 выпуск 07 сезона. Storybook 5.2, Textmate 2.0, RubyGems.org and Chef Gem Ownership, TensorFlow, Vue Select и прочее

RWpod - подкаст про мир Ruby и Web технологии

Play Episode Listen Later Sep 22, 2019 40:36


Добрый день уважаемые слушатели. Представляем новый выпуск подкаста RWpod. В этом выпуске: Ruby Rails 6 adds ActionDispatch::Request::Session#dig, RubyGems.org and Chef Gem Ownership, Benchmarking Fibers, Threads and Processes и Start It Up: Improving JRuby’s Startup Time TensorFlow - the end-to-end machine learning platform - for Ruby, RQRCode - a library for creating and rendering QR codes into various formats и Textmate 2.0 Web Storybook 5.2, Cheat sheet for moving from jQuery to vanilla JavaScript, Profile a React App for Performance и Moving beyond console.log() — 8 Console Methods You Should Use When Debugging JavaScript and Node SortableJS 1.10.0, Vue Select и Geometric.js - a JavaScript library for doing geometry

Podas Kęstas
Ką veikiame po vasaros / Ausinės

Podas Kęstas

Play Episode Listen Later Sep 3, 2019 50:21


Ketvirtajame epizode po vasaros prisimename ir aptariame aktualijas. Vaido pasakojimas apie programuojamą pluginą; Edvino istorija apie vestuvinių programinės įrangos spragas; Tado atostogos. Išsamesnis aptarimas apie mūsų naudojamas ausines. Podcaste paminėti raktažodžiai. Bazel IntelliJ, Eclipse, VS Code, TextMate, Atom, Vim HQ Trivia Prototo Ausinės Xiomi (9.99€ iš senukų) Sony WI-C300 Bose QuietComfort 20 Bose QuietComfort 35 Sony WH-1000XM3 AfterShokz TaoTronics

Stacktrace
51: "The buzzword episode"

Stacktrace

Play Episode Listen Later Aug 28, 2019 76:01


Stacktrace turns into the Accidental Web and Hardware Podcast, as John and Rambo go on a deep dive into search algorithms, server-less cloud functions, Raspberry Pi and Arduino hardware hacking. Also, what’s up with the iOS 13.1 beta being released before 13.0 is out? Hosts: Gui on Twitter: @_inside John on Twitter: @johnsundell Links Swift by Sundell’s new search feature Cloudflare Workers Homebridge Raspberry Pi Arduino Rust Rambo’s Apple beta API TextMate BBEdit Reveal Sketch Transmit NetNewsWire Forecast iA Writer Ulysses AirBuddy iTerm DaisyDisk

Stacktrace
49: "Old enough to make reasonable decisions"

Stacktrace

Play Episode Listen Later Aug 14, 2019 75:38


Rambo explores running iOS apps on the Mac with Catalyst, John falls in love will full screen mode all over again, and Apple’s new security measures for Mac apps and batteries cause a bit of a stir in the community. Also, tips for minimizing distractions, our first app crushes, and how come SwiftUI won’t run on iOS 12 and below? Sponsored by Bitrise: a fast, stable and easy to use continuous integration service. Automatically build, test and distribute your app on every single commit that you make. Get started for free at bitrise.io/swift. Hosts: Gui on Twitter: @_inside John on Twitter: @johnsundell Links Oh My Zsh Jason Snell’s tweet about Catalina’s permission dialogs iFixit TextMate The Games Factory SubEthaEdit Swift 5.1 discussion on Swift by Sundell

WIRED Business – Spoken Edition
The Very Mathematical History of a Perfect Color Combination

WIRED Business – Spoken Edition

Play Episode Listen Later Mar 25, 2019 7:33


A couple of years ago, I fell in love with a color scheme: off-white text accented with a buttery yellow-orange and a neutral blue against a deep gray, the "color of television, tuned to a dead channel," to borrow a phrase from Neuromancer author William Gibson. The colors were part of a theme called "Solarized Dark" for the popular MacOS code editor TextMate. To be honest, I didn't think much of Solarized at first. But I soon found that I couldn't work with any other color scheme.

Tech Done Right
Episode 52: Small, Sharp Developer Tools With Brian Hogan

Tech Done Right

Play Episode Listen Later Jan 2, 2019 41:30


Small, Sharp Developer Tools With Brian Hogan TableXI offers training for developers and product teams! For more info, visit http://tablexi.com.workshops or email workshops@tablexi.com. Guest Brian P. Hogan (https://twitter.com/bphogan): Editorial Manager for DigitalOcean (https://digitalocean.com), Author of Small, Sharp, Software Tools: Harness the Combinatoric Power of Command-Line Tools and Utilities (https://pragprog.com/book/bhcldev/small-sharp-software-tools), teacher, student, and musician. More info at bphogan.com (https://bphogan.com/). Summary Developers use a variety of tools other than their programming language to get their jobs done. This week, we talk about those tools with Brian Hogan, an Editorial Manager for DigitalOcean. Brian's a prolific technical educator, writer, and editor and he's currently the author of the book Small, Sharp, Software Tools (https://pragprog.com/book/bhcldev/small-sharp-software-tools) from the Pragmatic Press. We talk about why command line tools in particular are important, what command line tools do well, and why some people including myself often find them opaque and confusing. We talk about our favorite tools and about customizing your workflow to fit your needs. Notes 02:33 - Benefits to being comfortable on the Command Line Interface (CLI) Small, Sharp, Software Tools (https://pragprog.com/book/bhcldev/small-sharp-software-tools) Brad Urani, The Ruby Developer's Command Line Toolkit (http://confreaks.tv/videos/rubyconf2018-the-ruby-developer-s-command-line-toolkit) Noel Rappin, The Developers Toolkit (http://confreaks.tv/videos/rubyconf2018-the-developer-s-toolkit-everything-we-use-but-ruby) Developer's Toolkit Cheat Sheet (https://medium.com/@noelrap/developers-toolkit-cheat-sheet-82d98d34fde7) Create React App (https://github.com/facebook/create-react-app) A command that shows commonly used commands (https://twitter.com/samphippen/status/1017738991012114433) 09:43 - Concepts that people struggle with and don’t internalize 11:13 - ‘awk’ and ‘sed’ defined - awk (https://en.wikipedia.org/wiki/AWK) - sed (https://en.wikipedia.org/wiki/Sed) - Elixir (https://elixir-lang.org) - F# (https://fsharp.org) 14:48 - The Ethos of Cargo Culting Information - Z Shell (https://en.wikipedia.org/wiki/Z_shell) - Oh My Zsh (https://ohmyz.sh) - Makefile (https://en.wikipedia.org/wiki/Makefile) - Deckset (https://www.deckset.com/) - Noel's Deckset Editor (https://github.com/noelrappin/deckset_editor) 20:02 - Reminding Yourself to Use Tools and Shortcuts - Z Shell History Substring Search (https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins/history-substring-search) - TextMate (https://macromates.com) 27:31 - Benefit to Setup/Cost Ratio - Bash prompt generator (http://ezprompt.net) - RB command line (https://github.com/thisredone/rb) 30:28 - Differences in Tools on Different Machines and Operating Systems 32:52 - Tools You Should Know Better - Rubular (http://rubular.com/) - regex101 (https://regex101.com/) - regex-railroad-diagram (https://atom.io/packages/regex-railroad-diagram) - entr (http://eradman.com/entrproject/) 37:29 - Practice as Continuous Improvement - Exercises for Programmers (https://pragprog.com/book/bhwb/exercises-for-programmers) Special Guest: Brian Hogan.

The freeCodeCamp Podcast
Ep. 34 - d'Oh My Zsh

The freeCodeCamp Podcast

Play Episode Listen Later Jun 11, 2018 25:31


In this episode, Oh My Zsh founder Robby Russell tells the story of how he unexpectedly launched one of the most popular zsh configuration frameworks out there. He shares his process, some mean tweets, and his advice for people starting open source projects. Written and read by Robby Russell: https://twitter.com/robbyrussell  Original article: https://fcc.im/2HzyjYN Learn to code for free at: https://www.freecodecamp.org Intro music by Vangough: https://fcc.im/2APOG02 Transcript: How I unexpectedly built a monster of an open source project It was the summer of 2009. I found myself helping a coworker debug something in their terminal. As I attempted to type in a few command lines, I noticed that the prompt wasn’t responding to the shortcuts that my brain had grown accustomed to. Frustrated, I exclaimed, “when are you finally going to switch over to Zsh?!” (yeah, I was the type of annoying coworker that would constantly point out that X was better than Y when given the chance. In hindsight, I don’t know how they put up with me…but between you and me, I had a point.) At that point in time, I had been a daily Zsh user for a little over three years. Some of my #caboose friends shared a few of their .zshrc configurations within our IRC channel. After a few years, my .zshrc file grew into a tangled rat's nest. Honestly, I didn’t know what ~30% of the configuration did. I trusted my friends enough to run with it, though. What I did know was that I had some git branch and status details, color highlighting for a few tools (i.e., grep), autocompleting file paths over SSH connections, and a handful of shortcuts for Rake and Capistrano. Working on a machine with a default Bash profile felt remarkably archaic; I’d become dependent on these shortcuts. A few coworkers were happy to copy/paste the .zshrc file that I shared and begin using it. A few others wouldn’t because they knew that I didn’t know what some of it did. Fair enough. After a few attempts to convert them and getting nowhere, I opted for a different approach. First, I reorganized my .zshrc configuration, which involved breaking it up into a collection of smaller files. My thinking here was that this would a) help me better understand how all of these bits worked while b) helping educate my peers when they went to read the code. Pre-empting their next question, “how do I get this to work on my machine?”, I drafted the first setup instructions. Most importantly, I packaged all these files into a shiny new git repository. I figured that if I tossed it up on Github, my peers would be able to collaborate with me on improving it. While not a huge leap, it was a step above inviting people to copy/paste a text file from Pastie. On Aug. 28th, 2009, Oh My Zsh was born. …but, wait a minute!! Where are the themes? Where are the plugins? Installation scripts? Logo? This might come to a surprise to most of the Oh My Zsh user base, but none of those were features that I had considered. My goal with the project was not to build a framework for maintaining Zsh configurations but to share my own config with my coworkers so that they’d use Zsh. Within a day of sharing it with all of my coworkers, everyone at Planet Argon had migrated from Bash to Zsh. Victory! …or so I thought. The first feature request came in the next day. “How do I customize MY prompt?” Two coworkers asked me how they could customize their prompt. They wanted to change the colors and the information that was displayed. What the hell!? Wasn’t my prompt compelling enough for them? So nitpicky. ;-) I pointed to the prompt.zsh file and said they could modify that. Quickly, this became an issue as they now had their own version of that file. As a result, this would add some complexity if we all wanted to share some of our shortcuts and features as we’d have conflicts to deal with. Hmm… So, a day after first announcing Oh My Zsh on my blog, I began introducing the initial concept of themes. Meanwhile, I got my first external pull-request from Geoff Garside to add a few aliases for TextMate. (Notice how that went straight into a catch-all aliases.zsh file) A day later, another theme was sent over. Groovy, I better add a link on the README to see some screenshots on the wiki. Within a month, we had a dozen themes contributed to the project. This began to be a really popular aspect to Oh My Zsh and we had to start hitting the brakes on accepting themes once we passed 100. (we’re currently at ~140 and rarely accept new ones) Simplifying setup with an installer It occurred to me that the initial setup was requiring people to run a handful of commands. Rather than asking people to re-type and/or copy/paste a handful of commands, I felt that it would be more efficient for both parties (as it’d reduce the questions my coworkers would have when they hit a problem and/or skipped a step). An installer was born. My initial thoughts were to handle save folks a few steps by automating the installer. If everyone ran the same commands, then we could cut down on human error (skipping a command, typos, etc.). I also wanted to be mindful that people might be switching from either Bash or an existing cobbled-together Zsh configuration. To help them with a possible switch back to the previous shell, we made a backup of their original configuration file. Finally, we’d switch their default shell to Zsh. “Hooray! Oh My Zsh has been installed.” Oh, right. How will people be able to stay updated with the new changes to the project? The next day, I added an upgrade script that strolls over to the Oh My Zsh directory, fetch updates from the git repository, and returns you to your previous working directory. Far from rocket science. About three weeks later, it became obvious that my coworkers weren’t manually keeping up with all of the new updates to the project. Rather than reminding them to do that from time-to-time, I added functionality that would periodically prompt the user to check for updates. Up until this point, this felt like the most complicated piece of code in the project. I wish that I could remember who gave me the great idea to use an epoch value here. In my opinion, it was also the turning point for the project. While a handful of people were using it, this functionality would allow nearly every user to stay up-to-date on project changes and more importantly, stay engaged. When they would run the updater, they’d see a list of files changed and that would, subtly, introduce them to new features… a la, “I wonder what that theme looks like..” Sadly, not everyone has been a fan. Despite a few vocal opponents over the years, I’ve stood by my decision to keep this as a default setting. Back in 2012, we made a change to reduce the frequency of auto-update prompts by 50%. The auto-update has allowed us to ship new features, performance improvements, and bug fixes without relying on everyone manually doing it. I’m convinced that this feature has helped keep the community engaged. This Muffin Needs Candy While the project was attracting a lot of themes, I really felt like the project could benefit from branding. My solution? Ascii art. I have no idea what prompted the git commit message. My thought process here was… sure, you get a bunch of useful shortcuts and themes when you begin using Oh My Zsh, but I really felt like the first impression after the installer would run was an opportunity to delight new users. People have been asking me to print shirts with the ascii art for quite some time. (we’ll likely do that this summer — follow us on twitter) Plugins Ten months after open sourcing the project, users had begun to request the ability to not have everything get loaded up. For example, a Python developer might not need the Rake and Capistrano related aliases to get loaded like a Ruby developer would. So, we implemented a basic plugin system that would allow folks to decide which to load on initialization by changing a value in .zshrc. When this feature was released, there were five plugins bundled. Within a few months, I started to get pull requests for new plugin ideas. Within a year, I had accepted over 40 plugins. Within two years? Over 70 plugins. Currently, we have plugins for adb, ant, apache2-macports, archlinux, autoenv, autojump, autopep8, aws, battery, bbedit, bgnotify, boot2docker, bower, branch, brew, brew-cask, bundler, bwana, cabal, cake, cakephp3, capistrano, cask, catimg, celery, chruby, chucknorris, cloudapp, codeclimate, coffee, colemak, colored-man-pages, colorize, command-not-found, common-aliases, compleat, composer, copydir, copyfile, cp, cpanm, debian, dircycle, dirhistory, dirpersist, django, dnf, docker, docker-compose, emacs, ember-cli, emoji, emoji-clock, emotty, encode64, extract, fabric, fancy-ctrl-z, fasd, fastfile, fbterm, fedora, forklift, frontend-search, gas, gem, git, git-extras, git-flow, git-flow-avh, git-hubflow, git-prompt, git-remote-branch, gitfast, github, gitignore, glassfish, gnu-utils, go, golang, gpg-agent, gradle, grails, grunt, gulp, heroku, history, history-substring-search, httpie, iwhois, jake-node, jhbuild, jira, jruby, jsontools, jump, kate, kitchen, knife, knife_ssh, laravel, laravel4, laravel5, last-working-dir, lein, lighthouse, lol, macports, man, marked2, mercurial, meteor, mix, mix-fast, mosh, mvn, mysql-macports, n98-magerun, nanoc, nmap, node, npm, nvm, nyan, osx, pass, paver, pep8, per-directory-history, perl, phing, pip, pj, pod, postgres, pow, powder, powify, profiles, pyenv, pylint, python, rails, rake, rake-fast, rand-quote, rbenv, rbfu, rebar, redis-cli, repo, rsync, ruby, rvm, safe-paste, sbt, scala, scd, screen, scw, sfffe, singlechar, spring, sprunge, ssh-agent, stack, sublime, sudo, supervisor, suse, svn, svn-fast-info, symfony, symfony2, systemadmin, systemd, taskwarrior, terminalapp, terminitor, terraform, textastic, textmate, thefuck, themes, thor, tmux, tmux-cssh, tmuxinator, torrent, tugboat, ubuntu, urltools, vagrant, vault, vi-mode, vim-interaction, virtualenv, virtualenvwrapper, vundle, wakeonlan, wd, web-search, wp-cli, xcode, yii, yii2, yum, z, zeus, zsh-navigation-tools, zsh_reload. In total… 214 plugins. Admittedly, not everyone has been impressed by this. I do agree that could be drastically improved. The few times that I considered it, I found the proposed approaches to be too complicated for folks who aren’t yet familiar and/or comfortable with the terminal. Perhaps a more sophisticated approach for version 2 of the framework. (more on this later) There has, also, been a part of me that has felt like this project would only be of interest to people for a few years. As users gained more experience and/or as technology evolved, the framework would be left behind by shiny new projects that solved problems far better than we had. I never thought Oh My Zsh would still be building momentum nearly seven years later. Where do all these new users keep coming from? I ❤ you people! While I have many stories to share (and intend to write more on this topic), I wanted to speak to those who have been debating the idea of open sourcing a project. Eight Considerations For Your Open Source Project Don’t start with a wildly ambitious goal. Start your project with a simple, attainable goal. What does success look like? In my scenario, I wanted 1–2 people on my team to use my scripts. The project was a success in under 24 hours. Everything since has been extra-credit. Don’t try to account for every scenario. If I had gotten hung up on some long-term details for the project, Oh My Zsh would never have happened. Nearly everything that has been added to the project has come organically post-initial release. One of the beautiful aspects of an open source project is that your user base can help shape it. Don’t try to make it perfect. Worrying how other people are going to react about your code shouldn’t be your biggest concern. Does it work? How do they feel when they’re interacting with it should be a higher concern. In my case, I’ve had some great contributors over the years who have helped tidy up and improve the quality of the code that I originally released. Rarely has anyone said anything critical about my old code — maybe they should have, though. ;-) Don’t try to be everything to everyone. There have been a few points in the history of the project where we hit a crossroads. In particular, there was a time when a huge rebuild was proposed, which I was quite excited about until I was able to wrap my head around some of the changes. As a result, a fork was rebranded and we agreed to follow different paths. Not everyone was happy with my decision here, but it was during this period that it became clear (to me) that I wanted to focus my attention on folks who weren’t too comfortable with the terminal and/or git. Don’t stop thanking contributors. If anybody helps your project out, please let them know how much you appreciate their effort. I can’t thank my contributors enough. One of my biggest self-critiques related to this project is that I’ve not been consistent enough in being vocal about my appreciation. There are 910 people from all over the world who have their code accepted into the master branch of Oh My Zsh at the time of writing this. It’s such a long list that Github can’t even list them all. In particular, thank you. (you know who you are) Don’t forget the documentation. Over the years, documentation of plugins and functionality has been vital to helping inform users on how to take advantage of the framework. I wish we had adopted this convention several years before. The README file is going to be seen the most…so make it count. In my case, I opted to introduce people to my personality and dry sense of humor. Honestly, seeing tweets like this means the world to me. Don’t forget about the rest of your life. Again, I never anticipated the project turning into what it is today. Are you familiar with the anecdote about the frog in a pot of boiling water? It took me 3–4 years, too many, to finally bring in another person to help maintain the project. I kept thinking that I could catch up with all the open pull requests and issues. What I kept telling myself was that folks who know how to fork the project can make their desired changes and work off of that, so reviewing and approving pull requests is a nice-to-happen versus a need-to-happen. In practice, it’s somewhere in between. I do feel a bit bad for old pull requests lingering, but I also don’t keep Oh My Zsh as one of the top few projects on my plate. Outside of Oh My Zsh, I run a 19-person agency, play guitar in an instrumental post-rock band, sit on the board of directors of a local homeless shelter non-profit, travel with my camera a lot, ride my motorcycle, ride my bicycle, and try to keep a social life with my friends. Oh My Zsh fits somewhere in amongst all of these. It’s not at the top of my priority list. It’s not at the bottom. It’s somewhere between. This isn’t an excuse to not being able to keep up with the community, but more of a reminder that those other things should matter to you, too, if you’re about to start your own project. (I will write more on the topic of leading an open source project w/maintainers in another story… ❤ are you following me? ❤) Don’t forget to have some fun. When you start your project, decide if this is going to be serious work time or play time. Perhaps it can be somewhere in the middle. Oh My Zsh has, always, been a play time activity project for me. Knowing that one of my playful projects has been and continues to be enjoyed by people is such a wonderful feeling. Some might call it a passion project. I call it playtime. Interested in my fun open source project? You can learn more at http://ohmyz.sh.

The Frontside Podcast
097: Language Server Protocol with Erich Gamma and Dirk Baeumer

The Frontside Podcast

Play Episode Listen Later Mar 1, 2018 41:42


Erich Gamma: @ErichGamme Dirk Baeumer: @dbktw Show Notes 01:11 - The Design Patterns Book 02:45 - The Eclipse Project 09:24 - Language Server Protocol: Overview 15:16 - What can you do with a server that implements the LSP? Incremental usage? 20:12 - Keeping the Tools in Sync and Refactoring Support 24:33 - Keeping it Performant 29:41 - What kind of proliferation of codesmart tools are there that implement the LSP? 34:51 - What are the challenges encountered trying to build abstractions that work for 40 different languages? Resources Visual Studio Code Transcript CHARLES: Hello everybody and welcome to The Frontside Podcast Episode 97. My name is Charles Lowell. I'm a developer here at The Frontside and your podcast host-in-training. And with me today, we have two very special guests. They have been working on technologies that have run very parallel to my entire career as a software developer. And we're going to talk about that. So with us today are Erich Gamma and Dirk Baeumer who are developers on the team developing VS Code, which if you're in the frontend space is taking that area of development by storm. It's just amazing, some of the things they can do. Lots of people are using it every day. Lots of people are trying it. And so, we're going to talk about the technologies that underlie that and the story of how it came to be. So, welcome Erich and welcome Dirk. ERICH: Hello from Zurich. CHARLES: Alright. Zurich to Albuquerque. Here we go. As a first start, I would have to say my first contact with this story, I at least have to mention it because – and this is for Erich – you wrote a book that was very, very instrumental in my formation as a young developer. I think I was about 22 years old when I read ‘Design Patterns'. And I don't know. I still carry a lot of those things with me to this day, even though a lot of things have changed about the way that we do development. I still carry a lot of those lessons, I think especially things like the state pattern and the strategy pattern, and stuff like that. I want to move onto other things, but I was hoping that we could talk just a little bit about, what are the things that you find still kind of relevant today? ERICH: Well, now as you said, some of the things are kind of timeless and we're lucky to have found these things. And I still love all the patterns. But I must say, things have changed, right? So, at that time, we thought objects are very cool. And as we have evolved, all of a sudden we think, “Oh, functions are actually very cool, too,” right? Closures and so on. So, I think we got more broader and of course if you use functional programming, you have many more patterns available as you program. So, I feel some of the object thinking still applies. But that's not the only thing that counts anymore. Today it's functions, stateless, immutability, and all those things within functional programming which is [straight] and which [inaudible] in our team. CHARLES: Yeah, yeah. I would love to see an update to how do these concepts transfer into functional programming. But anyway, just wanted to say thank you for that. And it was about the same time that, a few years after, I don't know the exact same timing, I want to wind back. Because we're going to talk about VS Code but before VS Code, there was a project that both of you all worked on called Eclipse, which I also used. Because at the very beginning of my career, I did a lot of Java development. And it really opened my eyes into a level of what tooling could do for you that I didn't see before. And I was wondering how did you arrive to there? Because before that, I was using Emacs and Vim and Joe's Editor and things that were editing the text files. And how did you kind of arrive at that problem? Because I feel like it's very similar to the one that VS Code solves, but this was what, 15 years ago? ERICH: I think it's older, right? CHARLES: Really? DIRK: It's 17, 18, yeah. Yeah, yeah. It was end of the millennium, right? So to be honest, Eclipse wasn't the first development tool we worked on. Then, we worked on the company ObjectTechnologyNational. They worked on Smalltalk tools. And of course, Smalltalk had a great IDE experience, right? So back then, Java became popular. One idea was, how can you preserve the great Smalltalk coding experience? [Inaudible] CHARLES: Ah, okay. DIRK: [Inaudible] and find all references, method-level history versioning, and so on. So, that was the input that got Eclipse kicked off. And one idea we had at that time, Eclipse is our opportunity to make everything right. And as we have seen now, when we did VS Code, we could even improve what we have [inaudible] at that time. So an example, in Eclipse we thought plugins are very cool and we have kind of a microkernel. And you load all of the plugins in the same process, they have a rich API, and so on, which is great. But we found over time, if you have lots of plugins and they do bad things and they run in the same process, it's not the best thing. CHARLES: Ah. Right. And so… DIRK: [Inaudible] have a different architecture. We believe now in isolation, separation. So, we now run extensions in separate process that communicates through RPC with the IDE so that we are in full control. And we can always say you can save the tool, save the document, no matter how bad a plugin behaves and decides to do an endless loop. Because in a separate process, the hope is still one CPU is open, available for you, that it can be safe from the other process. So, that's some example, right? Eclipse has done many things right, but the multi-process architecture I think is a major switch. And the other major switch is at Eclipse time you think Java is cool. Everything has to be in Java. CHARLES: Right. DIRK: No longer think like that, and that brings up this other topic of then the language servers that we can also talk at some point. CHARLES: Right, because that's the thing, is VS Code – now I've primarily been exposed to it through JavaScript and TypeScript development. But it really, it's designed to support all kinds of different languages. So, the C++ support is really good. The C support is really good. And I assume the Java support is really good. Is it safe to say? Because I only ever used Eclipse in the context of Java. Did Eclipse gain kind of a wider acceptance further beyond Java and C++? ERICH: Yeah. I think it's fair to say Eclipse has a rich ecosystem. Yeah. I think with all the tools. And it will be interesting to see that you can close the loop, because for Visual Studio Code, when you do Java development, you actually run Eclipse behind the scenes. That's how we kind of smiled at each other, Dirk and I, when he said, “Now we close the loop.” We started with all JavaScript and then we integrate Eclipse using this language server protocol and that's how we close the loop. CHARLES: Ah. DIRK: So maybe one thing I would like to add is that when you look at Eclipse and the tool and framework landscape that existed in the Java time, at that point in time when we started with Eclipse, it was very well-defined. There was Java. It was a well-defined set of libraries you were using and frameworks you were using. And if you look at the programming and tool landscape you have today, in months you see a new framework for JavaScript popping up or there's something else or another cool X, Y, Z thing. So, the tooling you build today has to be a lot more open to these new inventions, especially since they occur in a higher frequency than they did in the past. And that had influence on how we architected Visual Studio Code to give people a lower barrier of integrating their stuff into Visual Studio Code than you typically have in Eclipse. In Eclipse you needed to program in Java. With the LSP you can program in any programming language. In Eclipse, if you really want to try to do something nice with code complete and stuff like that, you had to hook up a lot of stuff. So, we raised that to another abstraction layer where we more talked about what people provide on data and we do a lot more for them in the user interface than compared for example to Eclipse, which lowers the barrier for people to integrate languages in Visual Studio Code than the barrier you had to integrate something in Eclipse. And so, [inaudible] for that one was that there are a lot more tools and programming languages out there that have importance than 10 years ago. ERICH: I'll give you an example. So, when we did C support in Eclipse, and it was also the team that seeded it. Of course, it took over and has now a great community behind it in Eclipse. But you wrote the C tooling in Java. And of course, that means you built the parser in Java and then of course, there are great C parsers around, C frameworks. But also it means you cannot dogfood what you write. You write Java but you don't program in C++. I think which is what makes VS Code so appealing is we are a very aggressive dogfooder. We want to use ourself and of course [inaudible]. That's why [inaudible] is very good. The C++ guide, they programmed C++ and they write in C++ so that's how they make it very good, that you have this feedback loop. CHARLES: And so, what's an example? We've talked about this low barrier of entry. So, if I were wanting to say, I do mostly programming in JavaScript. Let's say I wanted to add, I know all of this already exists, this infrastructure already exists, but let's say I wanted to add smart editing to JavaScript source files. What would that process look like for me as a JavaScript developer? DIRK: To be fair, whenever it comes to language services, it's never easy. But [inaudible] lower the bar. A language always means you have to do parsing, you have to do [9:59], type bindings. You have to make it fast, scale high up, and so on. So, this is never easy. But I think if you think about the different steps you can do, the first thing, let's not take JavaScript. Let's take a new language. CHARLES: Okay. DIRK: Your new cool language. CHARLES: Or maybe we take a Lisp or something where writing the parser is very easy. DIRK: Even that, you have to resolve symbols and so on. CHARLES: Okay, okay. DIRK: Even the parsing [inaudible]. But yeah, let's take a fancy language like Lisp or whatever. So, the first level I think is you want to get some nice coloring. That's the first level. CHARLES: Yes. DIRK: So, you get some coloring. And what we do there actually in VS Code is we tap into the community from TextMate. So, we use TextMate grammars to support colors in languages, which gives us access to a long [10:51 tail] of languages. So, to change the [10:54], if your language is not too exotic, you will find the grammar that describes how to color, what the tokens are in your language, and then you can get your language colored. That's step one. The next step is of course you want to get smarts like IntelliSense and so on. Ideally of course you can say, “Well, maybe there is something already around that has abstracted the parser and you can use this library.” CHARLES: Right. Because there actually are a bunch of JavaScript parsers written in JavaScript. I know I keep coming back to JavaScript, but let's assume with this language that we've got. I may not have to write a parser but I've got one. ERICH: You've got one, exactly. You've got one, right, and then technically it's not in the same language as the tool. So, that's why I don't want to go too much into JavaScript because for instance VS Code is written in TypeScript, which [transpiles] to JavaScript, which moves a little bit, makes it not as convincing as it could be. So, let's say it's a different language. Your fancy language is written, has a parser in your fancy language, which is different than the language of VS Code which is JavaScript. CHARLES: Right. ERICH: So, then the next level is to say, “Okay, well you have your code you encapsulate it in a server that you can talk to through some protocol.” And now the challenge is what protocol do you talk to? Typically in the language, the library you get, it will use some ASTs, symbols, type bindings. And what Dirk mentioned with lowering the bar is that assuming you have those ASTs, the way you talk then with our tool is through a protocol that is not at the level of the ASTs but at a higher level. CHARLES: A higher level than the ASTs. ERICH: No, yeah. A higher or simpler level. Let's give you an example. You want to find the definition of a symbol in your fancy language. The way the protocol works is you only tell it, in this document with the URI, at this position, I want to find the definition of the symbol that is this position. The request goes over the wire to the other process. Document URI, and the textual position. And what comes back of course now in the server you used AST, you find the symbol, you find the binding of the symbol which means it gives a definition for it. Of course you use your AST to analyze it. But then what gets back to send over the wire is yet another document, the reference, and the position. CHARLES: I see. So, you're really like pinpointing a point in just the raw bytes of the document. And you're saying, “Look, what is here?” And you just want to delegate that completely and totally to this other process. So, the IDE itself doesn't know anything about the document? ERICH: It knows about the document, right? CHARLES: I mean, it knows about the textual positions of the documents and the stream of characters, but not the meaning. DIRK: True. The smarts are in the server. And you talk to the smarts at the level of documents and positions. And the [good thing is] it's a protocol, is at this level it makes it easy to integrate into one editor, which is VS Code, but also into other editors. So, that's why we came up with the idea to have a common language server protocol which allows to provide a language not only for one editor but also for many editors. That was a challenge we had in VS Code. Remember when we started, we were kind of late to the game. We said, “VS Code should be in between an IDE and an editor.” But what we liked from an IDE is of course code understanding, IntelliSense. Go to definition, find all references. But how do you get that for a long tail of languages? We cannot do it all ourselves. So, we need to get a community to tap into. [Similar to] like TextMate grammars are kind of a lingua franca for coloring. So, we are looking for the lingua franca for language smarts. And that's what the language server protocol is, which means you can integrate it in different IDEs and once you've written a language server you can reuse it. CHARLES: I guess I've got two questions. What are the kind of things that I can do with a server that implements the language server protocol? And then I guess the – so we've talked about being able to find a reference. And is there a way you can incrementally implement certain parts of the protocol as you go along? ERICH: Yeah. DIRK: Yeah, basically you can. The protocol on the server and the client side talks about capabilities. The server can for example say, “I am only supporting code complete and go to definition and find all references.” And for example, something like, “Implementation hierarchy or document symbols or outline view is not supported.” And then the client adapts dynamically to the capabilities of the server. CHARLES: Okay. DIRK: That's one thing. And the set of capabilities is not fixed. So, we add them. We just added four or five new capabilities to the protocol last week. So of course, we listen to requests that come from other IDEs, what they would like to see in the protocols that we see in Visual Studio Code, we would like to extend. And that's the way we move the protocol forward. CHARLES: Okay. DIRK: It's capability-based and not so to speak version-based. So, [inaudible] versioning at the end of today. CHARLES: Right. You can incrementally say, “I'm going to have,” if I'm starting to write a server, I can say, “Well, I'm going to only start with just find definition at point.” And that's the only thing that my server can do. ERICH: Well, there are some basics, right? Keep in mind you have two processes. And once the user opens an editor, the truth is in the buffering memory on the one process. The basic thing you have to in a language, so you have to support the synchronization of [inaudible]. Once you open a file in the editor, then the truth in the buffer, and then you have to sync it over. CHARLES: Right. ERICH: [Inaudible] close the truth on the file system and you also have to tell this to the server. Because the server has to know where the truth is. DIRK: That's correct. These two open/close handshake methods and change methods, this is the minimum you have to implement. But for example, for Node itself, we provide libraries that help you with this. And the protocol is not very complicated. It's a buffer. Then it's change events. Either it's an insert, a delete, or an edit. CHARLES: So, let me try and get this straight in my head. I think I understand. The problem is that the VS Code, or your code editor, it's actually making changes to the buffer, and it needs to communicate those changes to the server. Or does the server actually make the changes itself? DIRK: The editor does make the changes. So, the protocol is spec'd in a way that as soon as an editor opens a document, the ownership travels from the server for the content to the tool. And the server is basically not allowed to read the state of that content from disk anymore, or get it [inaudible]. CHARLES: Aha. DIRK: Therefore, the client guarantees that everything the user does in that document is notified to the server, so that the server can move the document forward. CHARLES: Okay. DIRK: [Inaudible] we see the close event, that basically with the close, transfers the ownership of the document back to the language server. And it is allowed to re-read that content from disk if it wants. CHARLES: Okay. ERICH: Here, the protocol is really data-driven. Dirk mentioned that earlier, right? So, basically what flows between the server and the tool is data. So, what do we mean by data? You ask for IntelliSense or completions at the line. What follows is just the data. A list of completions that flows then from the server to the client. And then the client decides what to do with this data and decides to modify the document by inserting the completion proposed that the user selected. CHARLES: Right. And then if it decides to make any updates, it needs to send those to the server. DIRK: Exactly. CHARLES: So, if I actually insert the method that I want to call there, I'm going to be inserting nine characters, and I need to tell the server, “Hey, I just inserted nine characters to this document,” something like that? ERICH: Exactly. CHARLES: Okay. And so now how, because I remember now one of the coolest things about the class of tools of Eclipse that I hadn't really seen in the more lightweight editors – I went from Java, like so many of my generation went from Java to Ruby and then to JavaScript – once I moved out of the Java world, one of the things that I had come to expect from my tools was that they would help me make modifications to my codebase at a very high level. So, I would be able, if I had some class that was imported into say five modules in my codebase, I could say, “I want to change the name of this class,” and then it would find the references and then make the updates to those things. So, how do you manage that? So, if I have a class called ‘Person' that I want to change to ‘User', if I change it to ‘User' then it's going to break in those five different places unless I rename it to ‘User'. That's something that was very doable in the Java world. How do you keep the code editor, the tool I guess is what you were calling it, in sync? Like the server is going to make that change or does it just come back with data and says, “Here's the references if you wanted it to change”? ERICH: Yeah, yeah, yeah. So, two things you mentioned, right? Java and JavaScript or course. Java is a typed language which means you have better understanding of the code and what the reference is. In JavaScript which is typeless, you cannot know it as much, so that's actually why we developed also, we're using TypeScript. VS Code is actually [written] in TypeScript which allows you to do these kinds of things like refactorings. But if you look at the language server protocol, it has support for rename. And the way how rename is done is again it just documents positions. You say, “At this position, I want to rename the symbol with this other name.” And then you tell this to server and the server will handle the rename by giving you back a list of positions that need to be updated. CHARLES: Ah, okay. So now, I'm starting to understand what you're talking about when you say data-driven. It's literally just telling the tool – the tool proposes, “I want to do this rename.” And then the server provides all of the information that is required to actually do the rename. But it doesn't actually do the rename itself. It just provides the data. DIRK: A couple of reasons for it. The data effects, at the end of day, it's again, edit, and it's more or less the same edits the client sends to the server when the user types in the document. This is the protocol. On top of it, something that you can create a file or rename a file, this comes as a result back to the client. And then there, since it is a client/server architecture, the whole process is async. So, we have to give the client the change to revalidate if that edit structure that comes is still valid. If it is still valid, the client basically applies it. And by applying these edits to these documents, they will automatically flow back to the server until the client either closes these documents again or saves them. So, the reason being is that some of the tools may even show you a preview. You can only select some of them and apply them. So, there's always an interaction in these refactorings and to make that possible, as Erich mentioned, the whole protocol is data-driven. We don't go the server and say, “Okay, do that rename,” and he writes that back to disk. It computes a set of transformations to bring the current state of the workspace into that new state after the refactoring. CHARLES: I see. ERICH: [Inaudible] be fully transparent. Actually, no. Refactorings, Dirk [inaudible] refactorings for Eclipse so we can go deep on that. What we don't support right now in the protocol, we support edits in the buffer but when you want to rename a class in Java, you also want to rename the file. And that's something we're currently working on to support in the specification of the language server protocol. So, we don't have that yet. But we support code actions, quick fixes, that you like from Eclipse probably. And you can use then to do refactorings like extract method, extract constant or extract local variable, things like that you can do at the level of the language server protocol. CHARLES: Wow. That is… ERICH: I think [inaudible] right now. Let me go back to the Java thing. The Java language server actually has the support for refactorings. And there is now a language server protocol implementation of this Java provided by Eclipse. So, all the support you had in Eclipse for Java or most of the support is now also enabled in VS Code. CHARLES: Right. ERICH: [We don't] really have to reimplement it because you can reuse. And that's the big thought we have. You want to reuse language smarts as much as possible because they are so hard to implement. CHARLES: Right. And so, you can do that because you're providing this abstraction between the tool and the actual smarts, which is really, really cool. I do have to… how do you make it fast? Because you're describing this tool, this client and this server, and they're syncing. They're keeping this distributed state in sync and you know, how do you keep that from coming too chatty? Or is it something that you have to consider? Or is it just, maybe I'm overthinking it because I haven't dealt with it? DIRK: So, at the end of the day, it is chatty. But it is made performant in the way that it's very incremental and partly event-based. So for example, if you type in the document in the editor, you can either decide to [inaudible] sync the full content of the document, which we do not recommend but for some basic exploration, that is something people do. And we have [inaudible] the delta-encoded mechanism. So, we sync the buffer once and then after that you only get the edits the user does. These are chatty of course since the user types them, we debounce them and collapse them on the client side and only send them if we know that the server really needs to know them because we have another request we are asking the server or after a certain timeout. So, there are smarts behind it. But the protocol is kept performant by making it an incremental protocol at the end of the day, and not sending too much data back and forth. ERICH: Right. We don't serialize ASTs. We serialize positions, a list of items for completions. And actually, the transport is just JSON RPC. CHARLES: Okay. ERICH: And actually, someone, there is different usage now for language server protocol. And there is one host, Eclipse J, which brings it again back to Eclipse. They actually run language servers remote. CHARLES: Interesting. ERICH: And if you use it, you can run it on the browser, you get IntelliSense, and of course I guess it depends on how far away you are from the server. But it seems to work, according to feedback we've heard. CHARLES: Really? ERICH: The feedback we heard from them [is pleasant]. So, they use many of the language servers. CHARLES: So, is this a product that they have where the language server is running in the cloud and you send – your entire codebase essentially goes over to the language server and you can export the smarts to the cloud? ERICH: It's one step at a time. So, Eclipse J is kind of, they have what they call cloud workspace, which means the workspace is in the cloud. And [inaudible] code smarts of the workspace in the cloud, they can run the language servers in the cloud. It's a [inaudible]. One user has one workspace, has one language server. CHARLES: That sounds amazing. And if they can make it performant. ERICH: We have done cloud IDEs, right? If you look at the history from Visual Studio Code, you also had our stuff running in the cloud at some point. That's how we started. Before we pivoted to VS Code, we built – our exploration was, that's why the project is six years old. The first two years, we explored how far you can get coding done in the browser. CHARLES: Right. ERICH: And we had some [inaudible] there. CHARLES: So, I've played around with a lot of cloud IDEs and I've found them to be neat, because every few years it comes along. But yeah, it does seem that there are certain challenges that it's nice to have a client running and just be able to have the files locally. And is that a performance thing or if VS Code is written in TypeScript, theoretically it could run in a browser, right? ERICH: Of course. The [inaudible] there still runs in the browser. Then it's used by many tools that run in the browser. Like actually, if you want to edit your source code in the browser, there it's using the same editor that's running VS Code. So, that's how we started. Cloud IDEs, yeah we were at this point. We had our cloud IDE. We could edit websites in the browser, source control them, have a command line, deploy them. What we found is it's great for some scenarios like code reviews or doing small tweaks to files. But when it comes to really development, you use so many other tools. And you want to just have them. And [inaudible] a long tool chain problem. So, as a developer, you just want to use other tools as well. And that's why you can't have them all in the cloud. CHARLES: Right. ERICH: And [inaudible] we said at some point, it was a great lesson we had that you can program in the browser. But now we want to go to have a really [seven by 24] coding, you want to have a desktop experience. So, what we then did, we moved over the code we had run in the browser using a shell, the Electron shell, and can run it on the desktop. CHARLES: But there's theoretically, you could be running your language server for example in the cloud, but everything else on the desktop. ERICH: Yeah. Some people do that. DIRK: Right. CHARLES: Okay. Wow. It's crazy. It's heady stuff. We've talked about the barrier to implement the code smarts is much lower than it has been in the past. What kind of proliferation of code smart tools are there now that implement the language server protocol? Like how many different languages would you say have airtight…? DIRK: So now, [inaudible] time where we don't count anymore. You tell us a language and I can look it up, whether it's supported. Tell me a language and I can tell you whether – no, we have a website. CHARLES: Okay. DIRK: And when I look at it, we have about 40 languages. CHARLES: Wow. That's probably about, pretty much every mainstream language. DIRK: Yeah. I cannot find what isn't there. CHARLES: Yeah. It almost kind of begs the question, is this going to be the new bar for a language? Because I remember when I was starting out, really you just needed to have some interpreter or some compiler to have “a language”. And nowadays, it's not just the language. You need to have a command line tool for managing your dependencies. And you need to have a package system with a public repository where people can publish reusable units of code. And what's become expected out of a language to succeed has upped. Is having a language server implementation going to be part of the bar, the new bar, for “Hey, I'm thinking about creating a language”? I haven't really arrived until I have a package manager, I have a command line for resolving dependencies, I have documentation, and I have a language server. DIRK: I personally think that is our dream at the end of the day, to get there. We know about languages that do so. So, a lot of these language servers come for example from the people that developed the language. For example, the WASP guys, they do the compiler and they actively work on their language server as well. So, at the end of the day, the advantage of that approach since the WASP language server is written in WASP and runs in WASP, they can reuse so much code that they already have written in WASP. That's easy for them to package that up in the server and basically the people that maintain the compiler, at least the same team, maintains the language server at the end of the day. ERICH: And that's why we call [those] a win-win for the language provider. Because if you implement the language server using the language server protocol, then it can be integrated easily by the tool provider. And it's a win for the tool provider since there is a common protocol across all these languages you have to support. You can write an implementation once and again benefit and support many different languages, which makes the matrix problem one language support for each tool into more a vector, right? It reduces the matrix into a vector. You only write language servers that get integrated into different tools. CHARLES: Right. DIRK: And [inaudible] especially I think appealing for new languages that come out, because it lowers the bar for them to get into existing tools. Because if they write a language server speaking the language server protocol integrating that at the end of the day in Visual Studio Code is basically packaging up an extension for Visual Studio Code and writing 20 lines of code. CHARLES: Yeah. DIRK: And same [inaudible] for other IDEs that exist where people implemented the language protocol client side for the tool, for example. For vim or for Atom. CHARLES: Yeah. DIRK: So, new languages I think definitely, we see that trend go onto the language server protocol because that gives them an entry point into a large tool community. CHARLES: Yeah. I'm really excited about it. I'm actually an Emacs user. And that's actually how I found out about LSP, was in my Emacs newsfeed I saw that someone was starting on LSP support, and got digging into it. And I think that one of the problems that has plagued not only Emacs but all these editors is what you're describing where for example the JavaScript support was really great – is really great – in Emacs. There's refactorings. There's IntelliSense, code completion, all that stuff. But that's because someone wrote an entire JavaScript parser and code smart system in Elisp, which is just an absurd hurdle to jump over, to expected. And so, what you expect out of your editing experience, like when I went to try – if I were to go to try Python, well it's not nearly as good as what I'm expecting. And so yeah, I think it's exciting to hear what you're describing where with having some shared set of abstractions, you can offload all of that code smart onto the community that's building these new tools so that they're really easy to integrate into your environment. I think it's really exciting. Although it does make me ask – and I think we've got time for one more question – is we've been talking about all these different languages. Java, C++, JavaScript, TypeScript, Ruby, Python, et cetera, all these, the 40 languages that you talked about that have this implementation. What are the challenges that you've encountered trying to build abstractions that work for 40 different languages? All with their different syntax, all with their different conventions. It sounds like when aside from the fact that you've actually done it, I would say it's impossible. So, I'm curious. What were the unique challenges to solve there? DIRK: I think we already touched that at the beginning, the appealing stuff of the LSP is that it's not talking about the programming language itself. It's talking about things I can do with source code. For example, requesting code complete, go to definition, find all references. And the data that flows between the client and the server is not in terms of the programming language itself. It's about editor abstractions. We talk about documents and positions. We talk about edits that are applied to documents. We talk about snippets and stuff like that. And these abstractions, since they are programing-language-neutral, are a lot easier to implement for different editors. And the [inaudible] where the [inaudible] would speak AST nodes and symbols and functions and classes and methods, that at the end of the day, would not work. Because if I ask go to definition, the result is not a function or a variable definition. It's simply a position in the document with a hint which range to select. CHARLES: Okay. Yeah. ERICH: [Inaudible] places. In only a few places, we have to really abstract across languages. Like for instance, completions. When you do completions, you don't know, is it a variable? Is it a function or a method? That's where we have to abstract. But that's one of the few places. But again, it's an enumeration. DIRK: Yeah. And that's only to present an [icon]. ERICH: Yes. DIRK: It's only to give you a nice icon in front, because when you insert it, what comes back for completion item is basically a textual edit or a bunch of textual edits that when you select that completion item, we take these edits and apply them to the document buffer. And whether you edit a functional programming language or some other stuff, Prolog or whatsoever, it does not matter at the end of the day. CHARLES: Yeah. That simplicity, and treating it at that simple of a level is what unlocks all those superpowers. ERICH: It unlocks lowering the bar. But of course, if you look at some [of the demands], refactorings, whatever, they cannot easily be funneled. Not all of them can funnel to this low-level abstraction. Then of course, the criticism of the LSP protocol is that if you have already a very rich language service, you might not get it all through the LSP. DIRK: That's true. ERICH: And the [inaudible], that criticism we see of the LSP. But it's a tradeoff, like so many things in software. DIRK: Yeah. But what we learned there looking at different types of refactorings, it's more the set of input parameters that vary much between languages. The result of a refactoring can for every programming language that is at least document-based, [inaudible] in that lingo the LSP speaks. Because at the end of the day, it's textual edits to a document, right? ERICH: So, many people like LSP but there are people that don't like it. And people that have rich language services like IntelliJ, [Cool Tool], and [inaudible], even with LSP we would only get 20% of [our cool] features. Which is a little bit downgraded and not really true. But you see, it's a tradeoff. CHARLES: Right. ERICH: And if you want to [inaudible] language available broadly, I highly recommend it packaged as a language server. Your chances that it gets used, supported by different tools, is much higher than anything else. CHARLES: Right, right. So, it's kind of like, what's the UNIX thing? The universal text interface and how it seems counterintuitive but it actually just means you can literally compose anything. Because so few assumptions are made. ERICH: I would just recommend, [inaudible], go to the website that we have about the language server protocol. I'm pretty sure it will be in the introduction or whatever. It's microsoft.github.io/language-server-protocol and then you see the implementations, all the implementation of languages, who integrates language servers, and also what kind of libraries are available, if you want to implement your language server. DIRK: And a full specification. ERICH: And the specification is there as well. Yeah. CHARLES: Yeah. If you want to go ahead and do it yourself. Well, thank you so much, Erich. Thank you so much, Dirk, for coming on the show to talk about the language server protocol. It's very exciting to me and I think it's exciting for development in general because I just think by having – even if it's 20, 30, 50% code smarts for ever single language, just the billions and billions of hours that you are going to save developers over the next, over the coming years, it's a great feeling to think about. So, thank you for all your work and thank you for coming on the show. ERICH: You're welcome. DIRK: Yeah. It was fun talking to you. ERICH: Yeah. [Inaudible] CHARLES: Yeah. If people want to continue the conversation, is there a good way that they can get in touch with you? DIRK: Usually GitHub Issues. So, where the language protocol is, it's a project on GitHub. Simply find issues. We accept pull requests. I think that's the way we communicate. CHARLES: Awesome. Again, if you want to get in touch with us, you can get in touch with us at contact@frontside.io or you can reach out to us on Twitter. We're @TheFrontside. So, thank you everybody for listening. And we will see you next time.

Teahour
#91 - Why VSCode is better than Atom?

Teahour

Play Episode Listen Later Dec 11, 2017 138:58


本期节目由 Cryptape 赞助,Cryptape 是一家专注于区块链底层技术开发的公司,他们的产品 CITA 完全开源并且由 Rust 编写。他们正在招人,如果你对区块链技术有兴趣,或者是 Rust 或 C++ hacker, 欢迎你给他们投递简历, 简历请发到 hi@teahour.fm, 我会帮你做转发。 本期节目邀请到了 Peng Lyu, 他是微软 VSCode Team 的一线开发人员。为什么 VScode 比 Atom 快这么多? 让他给我们娓娓道来。 Ruby Rogues MSDN Monaco Editor Erich Gamma Gang of Four (Design Patterns) CLion Visual Studio for Mac Xamarin Hyper Windows Subsystem for Linux Brackets Textmate Electron Atom Ctags A Brief Glance at How Various Text Editors Manage Their Textual Data Electron Piece Table LSP Transmit Codesandbox Anders Hejlsberg Sourcegraph Nuclide Special Guests: Howard and Peng Lyu.

Front End Happy Hour
Episode 020 - Wasted on workflows

Front End Happy Hour

Play Episode Listen Later Nov 20, 2016 51:26


We are lost without our tools. In this episode, we share the tools and applications we can’t live without. We discuss what development environments we use and plugins we find useful. Items mentioned in the episode: MacOS, Windows, Ubuntu, .NET, C#, Sublime Text, Sublime Text dev channel (nightly/monthly builds), Emacs, Atom, Vim, Eclipse, Visual Code, TextMate, Notepad++, Dreamweaver, iTerm, Apple Time Machine backup, Kaleidoscope, 1Password, Dropbox, Trello, Chrome, Firefox, LastPass, Safari, Homebrew, Node JS, nvm, Browser Stack, Alfred, Bartender, Charles Proxy, Screeny, Skitch, Evernote, Eclipse, Eslint, Sublime DocBlockr, Emmet, GitGutter (Sublime), GitHubinator (Sublime), NERD tree (Vim), Less, Sass, Firefox Nightly, JIRA, Slack, HipChat, Yammer, Workplace by Facebook, Microsoft Teams, LG 34 inch curved monitor, Apple Watch, Treadmill Desk, Fitbit Panelists: Ryan Burgess - @burgessdryan Jem Young - @JemYoung Brian Holt - @holtbt Mars Jullian - @marsjosephine Picks: Ryan Burgess - Reptar Ryan Burgess - Chance Jem Young - H.264 is magic Jem Young - We Rate Dogs Brian Holt - Jest Brian Holt - The Naked and Famous - Simple Forms Mars Jullian - Bose ear buds Mars Jullian - React Devtools Mars Jullian - Jolene - collaboration with Dolly Parton and Pentatonix

More Than Just Code podcast - iOS and Swift development, news and advice

We start out with this week's askMTJC questions on Sticker Packs, Swift OOP or protocol oriented and can apps do handwriting conversion. We follow up on Dash and migrating Mac App Store licensing. We also follow up on the fate of the Apple Car project and IBM adoption of Macs as their primary computing platform. We also discuss the upcoming Apple "Hello Again" event where a refresh of the Macintosh product lines. Picks: TableFlip and Animation Pro. Sponsored by: Buddy Build Episode 115 Show Notes: Just Write Monsters Stamp Pack by @Ishabazz Newton MessagePad PalmPilot LiveScribe (Moleskin Edition) One Note Genius Scan - PDF Scanner MyScript Nebo – Note Taking for Apple Pencil Dear Dash Users - a blog post by @kapeli Apple is scaling back its autonomous car ambitions and focusing on creating self-driving software It’s not McLaren Racing, but McLaren Applied Technologies, that Apple is likely lusting after Apple plans to launch new Macs at an October 27 event IBM cutting costs w/ largest enterprise Mac deployment, 100,000 by end of year Blockbuster end retail and DVD by mail The Innovator’s Dilemma Lightspeed How our app went from $20,000/day to $2/day in revenue Tiny Hearts Wake Alarm Textmate John Gruber markdown Byword Manga Studio EX Elaine Manganello Úll 2016 Episode 115 Picks: TableFlip Animation Pro

Productive Flourishing
090: Q&A - How to Plan Your Day Based On Your Energy Levels (+ more)

Productive Flourishing

Play Episode Listen Later May 19, 2016 39:39


This is our first Q & A episode and I’m excited about it. In today’s episode I discuss: 1) creative ways to use the results from your productivity heat map, 2) how I suggest people approach heat mapping when their schedule is largely determined by somebody else, and 3) what tools I use for blogging. At the end of the episode I’ll let you know a few of the other questions I’m going to be answering in the next Q & A so keep your ears open for that. Ready? Let’s do this!   Key Takeaways: [0:56] Thank you to SaneBox.com for sponsoring episode #90. [2:00] What’s going on with the format of the show? [6:11] Question #1 from Jennifer - What are some creative ways to use the results from your productivity heat map? [7:59] Think about the 4 different types of blocks you might have throughout your day - Creative, Social or Service, Admin, and Recovery. [9:05] What’s the schedule sorting game and when should you play it?  [10:35] Basically, you plan your day based upon the different blocks & you use those blocks very seriously. [16:30] Question #2 from Laura - How does Charlie suggest to approach heat mapping when your schedule is largely determined by somebody else? [18:32] Charlie's first tip is to un-schedule a day from your schedule. [20:22] Charlie’s second tip is to separate what’s on your schedule with how you actually feel. [22:25] Bottom line on what to do when you don’t have autonomy over your schedule? Listen in for the communication piece you can steal and use with your workplace. [25:23] Question #3 from Patricia - What tools does Charlie use for blogging? [26:22] Writing tools: TextMate or Lightroom, then copied them into WordPress. [28:17] Charlie uses an Idea Garden to capture blog post ideas. [29:05] Another tool is the Blog Post Calendar which you can download for free. [30:04] Charlie uses Jetpack by WordPress and Google Analytics to keep track of stats. [31:21] Charlie catalogs posts mostly by memory. [32:05] Social media tools: The native platforms like Twitter, Facebook, then Buffer and now Edgar.  [33:25] What about refreshing and recycling social media content? [37:36] A recap of the tools: Google Docs, Jetpack for WordPress Stats or Google Analytics, Blog Post Calendar, Edgar, and Rainmaker. [38:11] Big thanks to Jennifer Layton, Laura Hackle and Patricia Bravo for their great questions. [38:21] Coming up on the next Q & A: Examples of triggers & why they matter, how Charlie worked through with what needed to happen with the Live Your Legend transition, and maybe one of your questions which you can email to charlie@prductiveflourishing.com. [38:39] If you liked this episode or the show in general, please leave a review or rating on iTunes to help us reach more people. Go to bit.ly/creativegiantshowfaq for a walkthrough on how to do this!       Mentioned in This Episode: SaneBox.com/Giant @CharlieGilkey on Twitter Episode 47: The Future of the Creative Giant Show Get more done in less time by heat mapping your productivity Idea Garden The Blog Post Planner and Calendar TextMate Lightroom WordPress Markdown Jetpack for WordPress Google Docs WordPress Stats Google Analytics Edgar Rainmaker

More Than Just Code podcast - iOS and Swift development, news and advice

We dive right in on Facebook and Google employee on boarding. We also discuss Instaparser as well as the new subscription pricing model by TextExpander. We also discuss a couple of options for Mac Mini colocation hosting. Spoilers: The Force Awakens is discussed. Picks: Color Combination Cheat Sheet, GitHub Pull Request Templates and iOS Application Security: The Definitive Guide for Hackers and Developers. Episode 86 Show Notes: Instapaper makes Instaparser vi macvim ed Smile Software Makes TextExpander Subscription-Base Response roundup Demo Monkey Shapr 3D Cinemagraph Pro iOS Paprika Recipe Manager Keyboard Maestro Disktop Quicksilver TypeIt4Me MacMiniColo Merges with MacStadium, Offers “Impossible Deal” Is Drake Trying To Change Toronto's Nickname From Tdot To 'The 6'? Zend Desk Perfect - server side swift Adobe Capture (formerly Color) atom Sublime Text Textmate BBEdit mou Proguard Dune (novel) Dune (movie) Disrupted: My Misadventure in the Start-Up Bubble Wolflight Episode 86 Picks: Color Combination Cheat Sheet GitHub Pull Request Templates iOS Application Security: The Definitive Guide for Hackers and Developers

Devchat.tv Master Feed
147 iPS Coding Setups

Devchat.tv Master Feed

Play Episode Listen Later Mar 24, 2016 40:26


Check out iOS Remote Conf!!!   01:27 - Hardware 06:51 - Cloud Storage Dropbox iCloud 09:00 - Tools Xcode BBEdit TextMate Dash Emacs AppCode ReSharper Sublime Text Git Tower SourceTree 13:14 - Continuous Integration Jenkins CircleCI 18:11 - TestFlight 19:57 - Desk Setups Lifehacker Ikea Desk Herman Miller Spotify 26:06 - Coding Music Bach Cello Suites    Gustav Mahler - Symphony No. 1 - Bernstein · Vienna Philharmonic Orchestra   Nashville (Bill Frisell Album) The Masters of Classical Music - Vivaldi White Noise 30:28 - Miscellaneous Gear PlugBug Picks Open Radar (Andrew) Filing radars with Apple (Andrew) Twin Peaks (Jaim) Torrentz (Chuck) Come see the iPhreaks at Microsoft Build Conference! (Chuck)

The iPhreaks Show
147 iPS Coding Setups

The iPhreaks Show

Play Episode Listen Later Mar 24, 2016 40:26


Check out iOS Remote Conf!!!   01:27 - Hardware 06:51 - Cloud Storage Dropbox iCloud 09:00 - Tools Xcode BBEdit TextMate Dash Emacs AppCode ReSharper Sublime Text Git Tower SourceTree 13:14 - Continuous Integration Jenkins CircleCI 18:11 - TestFlight 19:57 - Desk Setups Lifehacker Ikea Desk Herman Miller Spotify 26:06 - Coding Music Bach Cello Suites    Gustav Mahler - Symphony No. 1 - Bernstein · Vienna Philharmonic Orchestra   Nashville (Bill Frisell Album) The Masters of Classical Music - Vivaldi White Noise 30:28 - Miscellaneous Gear PlugBug Picks Open Radar (Andrew) Filing radars with Apple (Andrew) Twin Peaks (Jaim) Torrentz (Chuck) Come see the iPhreaks at Microsoft Build Conference! (Chuck)

Podcast de Geeky Theory
Podcast Geeky Theory: #3 Herramientas de desarrollo y productividad

Podcast de Geeky Theory

Play Episode Listen Later Nov 23, 2014 38:50


Vamos a hablar de las herramientas que utilizamos los miembros de Geeky Theory para desarrollar nuestros proyectos, que son varias. Unos tienden a productos Microsoft, como Visual Studio y otros a productos de JetBrains. Por otra parte, también son dignos de consideración IDEs más livianos, como son Brackets, Sublime Text, TextMate o Notepad++, entre otros.

Der Übercast
#UC016: Modernde vs. Moderne Arbeitswelten

Der Übercast

Play Episode Listen Later Nov 7, 2014 112:51


Unser Gast Franziska Köppe hat sich mit Leib und Seele der Verbesserung des deutschen Arbeitsmarktes verschrieben. Mehr Information hier bei uns. Maloche in Freiheit, oh Knecht! Arbeit ist das halbe Leben heißt es. Und wir reden heute mit der Expertin für mehr Freude und Lebensqualität bei der Arbeit, Franziska Köppe (@madiko) von madiko. Sie begleitet uns auf einem Flug der die modernsten aller modernen Arbeitsformen als Zielstation auserkoren hat. Link zum Bild: Live bei der Arbeit Lieber Fluggast, wenn dir das Gehörte gefällt oder dir Sorgenfalten auf die edle Stirn fabriziert, dann haben wir etwas für dich: iTunes Bewertungen. Überbleibsel Heute im Schlepptaub haben wir zwei Apps, welche als Überbleibsel von den Profis an Bord gehandhabt werden. Affinity Designer Nanu, den gab’s doch noch nie auf “Der Ubercast”. Egal. Patrick hat nämlich sein erstes Feedback zu Affinity Designer gesammelt, nachdem er eine Logo-Testfahrt mit dem Programm unternommen hat. Bevor es jedoch an die hochdurchlauchte Kritik geht, schiebt er voran, das es zum Zeitpunkt der Sendung noch Version 1.1 ist, und da wohl in Zukunft noch “einiges mehr geht”. Butter bei die Fische. Der Export ins EPS Format lässt derzeit wohl noch zu wünschen übrig (ebenso SVG und PDF), auch in den Foren häufen sich beschwerden dazu, da Mr. Exportknopf zu oft die Vektoren als Raster raushaut. Im Umgang mit Blend Modes hat die App auch ihre Schwachstellen, aber diese teilt sie mit allen anderen Konkurrenten in dem Bereich. Einen vernünftigen Export inkl. Blend Modes bekommt wohl nur Xara Xtreme (Windows/Linux) hin, wie hier Forumsmitglied behehr mitteilt. Das Designen an sich ist super sympathisch. Patrick ist begeistert wie flüßig sich das Programm bedienen lässt. Der Export ist allerdings echt mau: Es gibt noch keine Möglichkeit mehr Dateiformate auf einmal zu exportieren (bis auf @2x). Die Jungs von Serif waren aber nicht faul, und so gibt es mittlerweile ein Update bei welchem auch parallel nach @3x exportiert werden kann. Wie Andreas anmerkt, ist Sketch ja nun schon länger auf dem Markt. Von daher nicht verwunderlich, dass die App gegenüber Affinity das ein oder andere Feature voraus hat. Schlauerweise haben die Bohemian Coding Jungs ja eine Plugin-Schnittstelle bereitgestellt. Die doch schon recht große Nutergemeinde hat dann auch wirklich schon sehr, sehr nützliche Plugins rausgebracht… gerade was die Exportmöglichkeiten angeht. Was eine enthusiastische Nutergemeinschaft alles für ein Produkt tun kann, wurde ja schon bei TextMate und Sublime Text bewiesen. Ein strategischer Schachzug, der nicht unterschätzt werden sollte, um Produkt ganz schnell vom Standard zum Sieger der Herzen zu katapultieren. Airmail 2.0 Patrick fragt sich, wie es bei unserem temporären Airmail Nutzer Andreas aussieht, nachdem nun Airmail 2 erschienen ist. Andreas hatte Airmail ursprünglich nur gezwungenermaßen als Apple Mail Ersatz in Kauf genommen, als die Yosemite Beta im das Mailleben schwer machte. Die Frage ist nun, hat er die Spendierhosen an und ist nun ein Luftpostler? Die erstaunliche Antwort: Er ist zu 100% konvertiert. Damit hätte Patrick nicht gerechnet. Andreas lobt die Sicherheitsplugins, welche direkt ohne das man viel einstellen muss funktionieren. Ein, zwei Regeln sind wohl verschwunden, aber ansonsten ist Andreas begeistert. Die Todo-Ordner, welche Airmail zum Leidtragen der Nutzerschaft automatisch anlegt, können natürlich immer noch in der App gelöscht werden. Für ältere Rechner ist nach Patrick Airmail momentan noch nicht wirklich zu 99,9% empfehlen, denn bei seinem alten 2008er Mac Pro jammert die CPU ganz schön, wenn Airmail tut was es tun soll (… natürlich relativ gesehen zu anderen Mail Clients). Randnotiz: Momentan ist Airmail 2.0 noch 50% reduziert (8,99 €) im Mac App Store. Überschallneuigkeiten Zu Flug #UC004 “Rotoren statt Rollatoren”” gibt es einen Nachtrag, denn Ikea hat nun auch einen höhenverstellbaren Schreibtisch im Angebot, den BEKANT (Ergonomie Sitz- & Stehschreibtisch), welcher auch prompt aus dem Online-Katalog verschwunden ist pünktlich zur Veröffentlichung dieser Folge. Entweder, weil der so gut wegging, oder weil das Ding 3 Schrauben zu wenig in der Verpackung hatte — wir wissen es nicht. Fest steht, der StandDesk hat nun Konkurrenz bekommen. BEKANT ist ab 529.- EUR zu haben und das ohne Wartezeit bis das Produkt in der EU ist. Giveaway Anbei gibt es noch die MindNode Gewinner. MindNode Pro für den Mac: Marvin Döring (marvindoering) - App.net Michael Bolz - Google+ Gaili Der Erste - Facebook MindNode für iOS: Karsten Busch - Google+ Norman Jaeckel (mcgrummel) - App.net Matthias Lehming - Facebook Herzlichen Glückwunsch, ihr werden in euerem Netzwerk von der Redaktion kontaktiert und erhaltet euren Preis. Moderne Arbeitswelten Franziska muss sich natürlich erst einmal vorstellen. Sie arbeiten seit fünf Jahren als Selbstständige und will die Lebens- und Arbeitsbedingungen auf dem deutschen Arbeitsmarkt verbessern. Ihr Leitmotiv ist “Lebens- und Arbeitswelten mit Zukunft”. Ursprünglich auf die Idee gekommen in diesem Bereich aktiv zu werden ist Franziska, da sie selbst im klassischen System als Arbeitskraft nicht zufrieden war. Nun setzt sie ihre Visionen bei madiko in die Tat um, egal ob in Unternehmen, bei Freiberuflern oder denen dazwischen. Sie sucht auch Arbeitsmodelle für Mamas oder Omas und übermittelt diesen neue Ideen, wenn das die Aufgabe ist. Zum Leidwesen von Patrick vergisst sie ganz zu beichten, ob sie eine echte Schwäbin ist. Hier noch alle wichtigen Links zu unserem heutigen Gast, Franziska Köppe: Webseite: www.madiko.de Email: ideen@madiko.com Soziale Netzwerke: Twitter, Google+, YouTube XING: Lebens- & Arbeitswelten mit Zukunft WertVerträge (Kooperation Franziska Köppe, madiko & Gebhard Borck): Sinnvoll Kooperieren für Wissensarbeiter – Betriebswirtschaft mit Menschen Was sind moderne Arbeitswelten? Um sich dem Thema einmal anzunähern fragt Sven, wie die “moderne Arbeitswelt” zu definieren ist und wie sie sich unterscheidet vom Althergebrachten und Altmodischen. Franziska und ihr Netzwerk haben das Motto: “Wir orientieren uns an Menschen”. Was das genau ausmacht, kann sich durch folgende Fragen genauer definieren lassen: Wichtig zu Wissen ist die Antwort auf die Frage: Was ist mein eigener Wert? Was macht mir Freude? Wo und wie möchte ich meine Talente einbringen ohne den Charakter an der Firmentür abzugeben? Kurz, ihr Ziel ist es die Lebensqualität der Menschen zu heben und trotzdem seinen Gehaltsscheck bekommen bzw. davon gut leben zu können. Ob das in die Richtung “ganzheitliches Leben” geht möchte Andreas gerne wissen, und Franziska bejaht die teilweise, denn es sei nur ein Aspekt des Ganzen. Danach fragt sie die Piloten, wie diese sich “moderne Arbeitswelten” vorstellen. Sven, der in einem bekannten US Großunternehmen arbeitet, welches jeder ordentliche Internetstalker schnell ermitteln kann, arbeitet dort mit ROWE, also “Results-Oriented-Work-Envionments” als Ziel. Es geht nicht um Stunden, Anwesenheit oder Arbeitszeiten — es geht nur um Ergebnisse. ROWE ist das entsprechende Konzept im “Corporate Speak”. Grundsätzlich ist sein Arbeitgeber aufgeschlossen gegenüber modernen Arbeitsmodellen, sei das Teilzeit zu arbeiten (z.B. 4 Tage/Woche), Jobsharing oder Rollenwechsel im Unternehmen, technologisch Unterstützung anzubieten. Genau das ist spiegelt auch seine Vorstellung von “modern” wieder. Wobei er sich sicher ist, dass dieses progressive Denken im eigenen Konzern nicht so einfach und frei zu übertragen ist auf die nächste Commerzbank und Sparkasse in Wanne-Eickel. Daran anknüpfen kann Andreas. Und zwar weil er halt im Gegensatz zu Sven ganz mutterseelenalleine als Freelancer tätig ist — ohne Großkonzern der die Moneten mit sanfter Gewalt in die zeitlerische Hosentasche bugsiert. Andreas ist also derjenige der sich fragt, wie er gerne arbeiten möchte. Für ihn hat sicher herauskristallisiert, dass das ortsunabhängiges Arbeiten für ihn selbst wichtig ist (so zum Beispiel direkt vor Ort beim Kunden ein Videoprojekt zu editieren). Er nimmt sich auch die Freiheit heraus viel auszuprobieren. In Punkto Freelancerei kann Patrick sich eine moderne Arbeitswelt ausmalen. Versucht er die vorgestellten Ideen von Franziska jedoch in die ihm bekannten Großkonzerne zu übertragen, klappt das nicht so ganz. Kurz, er hat Verständnissprobleme, wenn er versucht sich Franziskas Ansatz und Arbeitsweise dort vorzustellen. Das sagt er ihr dann auch. Patrick hat öfters mal in verschiedenen mittelständischen und Großbetrieben gastiert, zugeschaut, Praktika gemacht und an Events teilgenommen. Was ihm dabei am meisten aufgefallen ist, dass unabhängig vom Arbeitsklima, immer eine Zweiteilung in den Köpfen bleibt: Chef vs. Mitarbeiter. Natürlich sind die Firmen bestrebt und engagiert diese Kluft zu vermindern. Was sich jedoch im Gespräch mit den Angestellten herausstellte ist aus für Patrick verwunderlich: Viele Mitarbeiter wollen diese Kluft nicht aufheben. Einige haben zwar Motivationen was zu ändern, aber die meisten wollen vermdeiden dazu genötigt zu werden, Verantwortung zu übernehmen. Sie bevorzugen es einfach nur auschecken um 6 oder 8 Uhr. Egal welche Meinung nun vertreten war, eins Stand dabei immer fest: Der Chef bleibt immer der Chef. Teamseminare kennt Patrick wiederum von Ausflügen in den Jobs wo sein Vater tätig war. Er meint damit Coachings, wo erst Spaß zur Auflockerung in Form eines gemeinsamen Ausflugs oder Events ansteht. Danach wird konstruktiv und kritisch miteinander geredet, um so das Team zu stärken und sich auszusprechen ((während im Hintergrund der engagierte Seminarleiter psychologische Profile erstellt, vom Hasen, dem Hund, der Schildkröte, etc., welche dann mit dem Chef am Ende durchgesprochen werden. Management-Training)). Da er Zuordnungsschwierigkeiten hatte, mutmaßt er, dass Franziska eine ähnliche beratende Tätigkeit ausführt und an solchen Stellen einhakt. Doch sie verneint. Franziska sagt von sich selbst, dass sie keine klassische Beraterin ist. Sie arbeitet eher an “Nutzen”. Das heißt, wenn eine konkrete Problemstellung da ist, dann wird diese aktiv bearbeitet. Sie greift je nach Aspekt dann vor Ort oder direkt bei der Arbeit ein. “Erst die Arbeit, dann das Vergnügen”, kam in der umgedrehten Variante ja in Patricks Coaching-Beispiel vor. Auf jeden Fall steht für sie fest, dass dies im Wesentlichen überholt ist. Ihr Ziel ist es beides miteinander zu verbinden. Das wesentliche an modernen Arbeitswelten ist die Freiheit sich seine Abhängigkeiten selbst zu wählen, besonders auch das “Nein sagen” zu lernen, sich beispielsweise das Projekt rauszupicken, welches am erfolgsversprechensten ist und sich im eigenen Umfeld die passenden Mitarbeiter rauszusuchen. Sobald dieses Fundament vorhanden ist, wäre es egal, ob man alleine als Freiberufler oder im Konzern seine Arbeit verrichtet. Altes Denken, neue Ideen Franziska bemängelt, dass es heute schwer ist “wieder Mensch sein zu dürfen”, also inklusive aller Fehler. Noch immer steht oft ein strikter Projektplan im Wege. Viele Unternehmen haben vergessen wo ihre Stärken sind, was ihrer Meinung nach geschichtlich bedingt ist, denn eine strikte Hierarchie, die rein auf Statuskultur und Ellenbogen ausgelegt war, ist lange Zeit das erstrebenswerte gewesen. Ihr zu vermittelndes Ziel ist, den Erfolgsdruck loszulassen, Mensch zu sein, zu kollaborieren und dadurch automatisch per Selbstreflexion im Team organisiert(er) zu arbeiten. Franziska unterstützt das dann aktiv und setzt gegebenenfalls einen Rahmen. Das Großunternehmen Probleme haben neue Talente anzuwerben, kann Sven bestätigen. Besonders bei den Millenials. Heute ist ein attraktiver Arbeitgeber meist gefragter statt Chancen auf Toppositionen. Einen passenden Artikel zu Millienials (von Markus Besch verlinkt) hat Andreas parat: Wertedenken der Millenials. Andreas versteht es ebenfalls, dass Heute viele keine Lust auf Shopping in der Größordnung von Autokauf und Hauskauf haben. Patrick schiebt nach, dass die Generation Statussymbol wohl schon fast nicht mehr ist. Wo wir gerade schon wieder am verlinken sind, da ist Sven Fechner nicht weit. Dan Pinks “Drive — Was uns wirklich motiviert” ist sein Lese-Tipp. Andreas schiebt noch die Kurzfassung in Form eines YouTube Videos nach: Drive auf YouTube erklärt Buchrezension Dan Pink - Drive Als waschechte Dan Pink Groupies haben die Zwei sich gefunden und empfehlen auch noch den Rest, den wir hier nicht explizit verlinken können, weil sonst die Squarespace Server in die Knie gehen. Mit der “Generation Y” baut Franziska die nächste Querverbindung, denn viele Ideen seien im Wesentlichen nicht neu. Das Neue ist, dass diese Ideen heute erst zugelassen werden. Sich dies zu trauen, fordert auch Mut zur Eigeninitiiative. Im Austausch mit anderen kann man auch schon seine Arbeitsbedingungen verbessern. Sie gibt zu, dass ein Arbeitnehmer in einem Großkonzern nicht so schnell ans Ziel kommt wie ein flexibler Freelancer. Zum von Patrick angeführten “Chef vs. Mitarbeiter”-Denken, hat Franziska, das folgende Beispiel auf der Zunge: Der Chef will das seine Mitarbeiter mitdenken. Problem: Mitdenken bitte nur, wenn es im Sinne vom Chef ist. Mitarbeiter X gibt seine Ideen weiter, wird vor den Kopf gestoßen. Mitarbeiter X gibt irgendwann auf. Die Lösung nach Franziska sei, “wirklich zu delegieren” und Verantwortung in der Tat einmal komplett abzugeben. Wichtig ist in solchen Bescheiden, wer trifft welche Entscheidung wann. Sie schneidet dann verschiede Lösungsansätze an und greift danach noch Sven’s ROWE auf, denn auch sie arbeitet prinzipiell lösungsortiert. Was ist Coworking? Andreas ist ja seit 3-4 Jahren bei Coworking0711 und nennt dort einen Tisch mit rotem Punkt sein gemietetes Eigen. Deren Motto ist: Zusammen flexibel sind wir weniger allein Das ganze geht nur mit Kopf, Körper und Geist. Unser Co-Pilot verfolgte das Coworking in Stuttgart schon bevor es überhaupt dort angekommen mehr — noch blutiger als bleeding edge sozusagen. Für Leute die sich fragen, wie wäre es, wenn ich ein Büro hätte, ist Coworking eine mögliche Alternative zu den eigenen vier Wänden. Die Idee dahinter ist in Andreas’ Worten: Es gibt eine Büro. Man kann dann da einfach hingehen. Die Erfahrung ist, dass im Prinzip keiner was mit dem anderen zu tun hat, aber das man halt interagieren und kollaborieren kann, wenn man denn will. Die Vorteile für Andreas: Menschen. Egal ob sich das durch husten, schreien oder zu spät kommen äußert. Patrick unterstellt umgehend, dass Andreas seine eigenen Marotten aus Day One vorträgt und keine Negativbeispiele seiner Kollegen hier feil bietet. Menschen sind bei Andreas gut, um (a) Denkblockaden zu überbrücken beim gemeinsamen Plausch auf dem Balkon mit Kaffee und Kuchen. Und (b) zum kollaborieren, denn wenn ein Webentwickler, ein Designer und ein Programmierer in einem Raum sind, dann kann schon einmal ein gemeinsames Projekt vom Himmel fallen. Das die Grundidee des Coworkings ja den Fokus auf dem “CO” liegen hat, führt Sven noch einmal an — also eher der Netzwerk-Aspekt sei das Fantabulöse, statt der reine Nutzen in Form von “Arbeitsplatz gemietet √”. Die ursprüngliche Idee hinter “Coworking” wurde in Deutschland und Europa teilweise als “Mietarbeitsplatz” missverstanden. Die ursprüngliche Idee des “Coworking” ist: Ein Umfeld zu schaffen in dem sich Leute mit verschiednen Skills und Hintergründen kreativ inspirierend und unterstützen. Andreas findet auch schön, dass es bei ihm international zugeht und er Englisch lernen kann. Er betreibt beispielsweise gerne mit Amerikanern Konversation und erkundigt sich bei diesen nach Immobilien in Louisiana und den Ölpreisen in Texas. Franzosen, Spanier, Portugiesen seien ebenfalls von Zeit zu Zeit mit an Bord, was die internationale Kultur, welche Coworking innewohnt, widerspiegelt. Erste-Hilfe-Projekte gibt es auch bei 0711, so gibt es einen Akquise-Abend bei dem sich ausgetauscht wird über eigene Strategien. Die Romaninsel ist ein kurioseres Ding. Andreas sagt worum es geht: Es handelt sich um einen “Abend mit kreativen Leuten” die “statt projektorientierten Arbeiten” mal “ein Buch ‘um Nichts’ zusammen schreiben” und so “einen schönen Abend haben”. Wenn Svens Arbeitgeber das Stuttgarter Büro aufgeben würde und sagen würde, “Fechner, nehmen Sie das Budget, um faszinieren mich wie sonst auch immer!”, dann würde Sven sich wahrscheinlich auch in einen Coworking Space setzen. Die Redaktion mutmaßt, dass er dann nicht nichts schreibt in der Romaninsel, denn das geht beim Fechner nicht. Sven ist davon überzeugt, dass die Arbeit zwischen verschieden Leuten einen selbst positiv verändern kann und vor allem, dass sie inspirierend wirkt. Früher waren es Abteilungen die alle das Gleiche können und in eine Richtung geschickt wurden und heute ist die Zunkunft ein Team im neuen Sinne, sagt Franziska. Solch ein Team sollte unterschiedlich sein und jeder sollte seine eigene Richtung haben. Ihre Prognose greift Svens Ausführungen auf: Die Richtung geht weg vom festen Netzwerk bei Firmen, hin zur Flexibilität. Welche Rolle spielt Technologie? Die digitale Transformation in der Arbeitswelt manifestiert sich für Franziska vor allen in den sozialen Netzwerken. Heute ist es nicht mehr ungewöhnlich virtuelle Partner/Mitarbeiter zu haben. Der Technikboom muss jedoch nicht nur den Wissensarbeiter vorbehalten sein. Ihr Beispiel: Ein Kunde hat einen Online-Shop aufgebaut. Im zweiten Schritt hat er sich dann erst dazu entschlossen, noch ein Ladengeschäft zu eröffnen, um auch im echten Leben Präsenz zu zeigen. In diesem Beispei muss wegen dem Laden natürlich der Kompromiss wegen der freie Arbeitszeit eingegangen werden. Aber nach Franziska ist dies kein Problem, denn wenn das Team sich untereinander abspricht und zum Beispiel die Schichten frei wählt, löst sicht auch dieser Kompromis in Wohlgefallen auf. Kurz, auch im Handel, Schichtbetrieb oder der Produktion sind die neuen Arbeitswelten möglich. Sven merkt an, dass es in der Tat einen Unterschied gibt, ob nun eine Firma immateriale oder materielle Güter erzeugt. Aber er pflichtet Franziska bei und bestätigt, dass es auch da gute Ansätze gibt. Wie dem auch sei, dass wichtigste ist schon in trockenen Tüchern, und zwar, dass Sven sein voll ausgestattets Home-Office erstattet bekommt: HD-Videoconferenzing im Home-Office IP-Telefon (überall unter derselben Nummer erreichbar sein… “0190… und sechs mal die Zwei”) Box, Dropbox und Co. sind eine ganz andere Liga als früher mit Disketten und Zip-Laufwerken rumzurennen Dazu gibt’s von ihm noch eine Buchempfehlung: Remote: Office Not Required. Ein hervorragendes und kurzweiliges Buch (auch als Kindle, Taschen- oder Hörbuch verfügbar) der beiden Basecamp (née, 37Signals) Chefs Jason Fried und David Heinemeier Hansen zum Thema Remote Working. Bei Basecamp selbst arbeiten die meisten Mitarbeiter nicht in Chicago, sondern verteilt über den gesamten Globus. Parallel hat Basecamp die Jobbörse WeWorkRemotely ins Leben gerufen um Anbieter und Stellensuchende zusammenzuführen. … und die Aussage, dass es ein Mangel in Deutschland ist, dass man noch nicht nach ortsunabhängigen Arbeitsplätzen (gerade auch in Wanne-Eikel) suchen kann gibt’s von Sven noch entrüstet hinterhergeworfen. Franziska hat noch ein großes Sorgenkind, welches sie an dieser Stelle zur Welt bringen will, denn die Technik und diese zur Verfügung gestellt zu bekommen, dass ist das eine, aber “wie nutzen wir die Technik”, dass ist die kritische Frage, welche sie in den Raum wirft und dazu noch diese Stich- und Schlagworte hinterher: Vertrauen Fehlerkultur Anwesenheitspflichten Camping ist schön EnjoyWorkCamp (in Stuttgart) Eine Initiiative wo sich Unternehmen verbunden haben und an freien Geschäftsmodelle gemeinsam pfeilen. Das Camp ist “das Treffen zu dieser Initiiative”. Franziska erwähnt auf Andreas Wunsch hin auch das LifeWorkCamp (in Berlin), welches die gleichen Motive hat, nur auf persönlicher Ebene (≠ corporate) Ebene. Da Franziska diesen “Pick” im Auftrag von Andreas abgegeben hat kommt nun… Der Pick-Prasserei-Präsident Penibel wie Patrick ist, unterstellt er pikiert, dass es sich hier prinzipiell um eine privat abgesprochene Pick-Manipulation handelt. Denn Andreas packt ja oft im Plural zu und pickt a priori pikante, brisante Picks in Paaren. Trotz Protest beim Zeitler par tout kein Wandel. Er lässt nicht davon ab, multiple Picks zu picken. Ob man das plakative Verhalten pfiffig oder pietätslos findet, bleibt abhängig von der eigenen Persönlichkeit. Dreist. Doch was soll es, es bringt ja nichts ihn zu pisaken, den prompt preist der Nicht-Preuße parierender Weise den nächsten Brüller-Pick. Das ist Piloten-Protokoll beim Bayer. Preisverdächtig ist seine punktgenaue Platzierung des präferierten Produktes. Das ist positiv und toll. Naja, doch parallel gepickt bleibt parallel gepickt. Plus, so breitet sich das potenzierte Picken schnell aus. Dessen muss man sich bewusst sein. Schluss jetz!? Nein, denn pausiert man plausible, polizeiliche Hinweise und parkt seine Mahn-Parolen im Flugzeugparkhaus, dann plant man nicht voraus. Auch wenn es Plakerei ist sich den Platzhirsch auf dem Podest der Picks brüskiert zur Brust zu nehmen, Propeller probieren auch beim besten Willen nicht von alleine aufzuhören zu rotieren, wenn sie denn schon einmal in Fahrt sind wie eine Klofrau. Der Poet greift also zur Posaune und positioniert diese mit Pokergesicht probeweise vor dem Ohr des polariserenden Polarhundes, der Polier poliert poröse oder perfide Picks mit brachialer Gewalt heraus. Doch welche Präventionsmaßnahmen wird Patrick zu Praxis machen, um so das Potenzial für prächtige Picks im Programm zu bewahren, zu präparieren und zurück zu 1 zu führen? Bleibt wohl abzuwarten. Pause. In Kanada heißen Waldamseln auch nicht anders als in Wanne-Eickel. Die haben mittlerweile übrigens knapp 100.000 Einwohner. Daran können die auch nichts ändern. Außer der Papst marschiert mit den Katholiken ein und verbietet den Beischlaf. Unsere Picks Heute gibt’s eigentlich nur einen Pick: Wanne-Eickel. Vielleicht wenn’s hochkommt noch die Wurstbude dort. Da das euch aber zu wenig ist, gibt’s dann doch noch mehr: Sven: Hardgraft Phone Pack (ca. 335 €) Andreas: nPlayer (4,49 €) und Great Lash Clear Mascara Patrick: ExpanDrive ($49,95) Franziska: WertVerträge | Sinnvoll Kooperieren für Wissensarbeiter In Spenderlaune? Wir haben Flattr und PayPal am Start und würden uns freuen.

texas chicago google man pr fall stand coaching system transformation european union er mit drive team events berlin chefs europa jobs budget leben skills welt thema louisiana app spa zukunft deutschland apps lust arbeit designers shopping fest paypal ihr noch ob idee sich gro wo kopf probleme gesch buch wissen ziel fokus mensch lebens ikea meinung damit beispiel ort ideen projekt freude einen andreas raum nun unternehmen schritt profile kindle feature weise antwort wege vielleicht kritik stelle fehler entscheidung kultur leute herzen unterschied freiheit stunden chancen liga praxis butter verst home office genau mut verantwortung bereich wert egal punkt technik day one schluss rahmen aufgabe kurz zusammen konzept denken vater markt kunden zwei sinne erst arbeiten wichtig seele schw umfeld preis mitarbeiter regeln zum programm ding millenials zeitpunkt vorstellung abend besonders verhalten angebot firma geist wandel kollegen strategien ergebnisse hintergrund richtung wirtschaft gewalt ans freelancers stellen bleibt nachhaltigkeit danach tisch parallel himmel nutzen hintergr motive kaffee nummer stuttgart sven bord handel produkt hund potenzial treffen dropbox bevor produktion expertin die frage mamas laden tat selbstst ebene geh netzwerk moderne kauf sketch bayer welche rolle fahrt willen konkurrenz auftrag visionen prinzip aussage leuten firmen einige export hinweise die l arbeitsplatz mangel charakter variante abh talente arbeitswelt ohr arbeitgeber englisch netzwerken aspekt vergn naja eur fundament profis basecamp coworking urspr ganzen frage was cpu das neue lebensqualit verbesserung leib gegensatz flexibilit grunds eigen das gro daran kuchen sieger flug anbieter brust knie effizienz die idee online shops redaktion entweder immobilien arbeitsmarkt franziska selbstreflexion affinity fische wobei sobald plural arbeitnehmer plugins beraterin jobb konzern stich balkon arbeitsbedingungen schreibtisch globus arbeitspl papst hasen angestellten gleiche ausfl taschen mac pro arbeitszeit stirn arbeitsweise piloten konkurrenten generation y kompromiss einwohner rechner wartezeit coworking spaces schichten franzosen paaren schildkr die jungs verpackung knecht teilzeit arbeitszeiten plausch anwesenheit omas hierarchie schwachstellen ihr ziel der chef wesentlichen motivationen die vorteile nachtrag tage woche svg viele unternehmen abteilungen commerzbank spanier praktika kluft dessen versucht programmierer schrauben foren freiberufler sparkasse propeller im umgang platzierung hosentasche produktes katholiken airmail die erfahrung schlagworte mac app store raster podest arbeitsklima ellenbogen arbeitswelten grundidee management training arbeitsmodelle arbeitskraft autokauf sorgenkind erfolgsdruck hauskauf solch schachzug bescheiden seminarleiter die redaktion kurzfassung marotten ladengesch picken arbeitsformen sorgenfalten zeitler jobsharing arbeitsmarktes platzhirsch posaune moneten sublime text portugiesen die richtung mehr information motto wir serif im austausch rollenwechsel wohlgefallen flattr fechner in kanada ausflugs affinity designer arbeitsmodellen auflockerung problemstellung webentwickler beischlaf dreist wissensarbeiter disketten vektoren freiberuflern das camp textmate viele mitarbeiter wanne eickel denkblockaden spendierhosen negativbeispiele zweiteilung schichtbetrieb we work remotely rollatoren projektplan maloche videoprojekt coworkings wie andreas zunkunft millienials stuttgarter b klofrau bekant exportm antwort er dateiformate stehschreibtisch stellensuchende blend modes mitarbeiter x sven fechner
The Unofficial Shopify Podcast
How To Kill it With Ecommerce Content Marketing

The Unofficial Shopify Podcast

Play Episode Listen Later Oct 28, 2014 29:32


Have you ever wondered how some ecommerce stores become known as the go-to guys for a particular niche? They'll sell the same products at the same prices as their competition, but somehow they're always top of mind when it comes to their niche. It's not through SEO wizardry, or fancy campaigns, it's actually a misunderstand tactic called content marketing. You know that blog you haven't updated in six months? That's typically what people think of with content marketing. We don't blame you, creating content is tough work. Fortunately, it doesn't have to be hard. We talked with Philip Morgan of My Content Sherpa and he laid it all out for us: Why you shouldn't call it a blog How to focus your blog The content you're probably wasting your time on Why it's okay to repurpose content And some easy strategies for creating great content (sometimes without even writing) One of the best investments you can make in your long-term success is authority, which brings customers to you. Listen and learn how. For more great advice, visit philipmorgan.consulting and sign up for his free email course. PS: Be sure to subscribe to the podcast via iTunes and write a review. iTunes is all about reviews! Transcript.... Voiceover: This is the unofficial Shopify Podcast with Kurt Elster and Paul Reda, your resource for growing your Shopify business, sponsored by Ethercycle. Kurt Elster: Welcome back to the unofficial Shopify Podcast. I'm your host, Kurt Elster, and joining me is ... Paul Reda: I'm Paul. Nice to meet you, Kurt. Kurt Elster: Thank you, Paul. Paul Reda: That sounded bad. Kurt Elster: Do it again. Paul Reda: Ah, fuck it, just keep going. Kurt Elster: All right. Joining us today is Philip Morgan from My Content Sherpa. Philip, where are you right now? Philip Morgan: Sebastopol, California. Kurt Elster: How's the weather there? Philip Morgan: It's good. Actually, it's overcast, but it's fine. Kurt Elster: It's overcast? I'm fine with that. Whereabouts is that? Is that near the Bay Area? Philip Morgan: Yes. Sebastopol is a 7,000 person hippie paradise about an hour north of San Francisco. Kurt Elster: Oh, okay. Paul Reda: It's spelled like the Russian city of Sevastopol? Philip Morgan: If you try to dictate it into your iPhone, it is. In reality, it's spelled with a "B" instead of a "V." Paul Reda: Americanized it. Kurt Elster: I'm going to try to go to the Bay Area in December, so I will try and come out and see you. Philip Morgan: Oh, you will be coming out to see me for your ...? Kurt Elster: In my little rental car. What do you do, Philip? Philip Morgan: A number of things. I'm an authority builder primarily for technical firms. Kurt Elster: An authority builder. What is an authority builder? Paul Reda: He says it authoritatively. Philip Morgan: Good, glad to hear it. It's the voice processing on my microphone. I try to help technical companies get to the position where they're attracting clients rather than them chasing clients. I do that using educational content, so I help them develop educational content to help them learn how to use educational content to attract potential clients. In some cases I do it all for them. I have a service called My Content Sherpa that does that. Kurt Elster: Ah. What's an example of educational content? Philip Morgan: Educational content typically is the kind of stuff that people share with other people in order to look smart. Paul Reda: Very good. Kurt Elster: If I want to look smart, I need to be posting educational content versus what? Okay. A better question then; what's the inverse? What is content that makes me not look smart? Philip Morgan: Any newsletter that talks about the last person you hired at your company, what you've been up to, "Oh, check out our new office.” Those are all great examples of content that is easy for a lot of people to produce but has zero value for their prospects because it does not ... let me be clear ... does not make them any better off than they were before they read it. Paul Reda: It's the annual Christmas letter. Philip Morgan: Exactly. Paul Reda: That shouldn't be the focus of your blog. What you're saying here is that you provide, you essentially show people how to prove that they have authority in their business, that they're smart and they know what they're talking about, and the way for people to achieve that is to post shit online showing how smart they are. Philip Morgan: In essence. Now, it helps if you have an empathetic perspective towards your customers. What are the problems my customers have? How can I help them solve those problems? The end result is it makes you look smart, but you're starting from a position of, how can I be empathetic with what is a real pain point or a real struggle for my customers. Paul Reda: That's something, empathy for the customer, something that I've always struggled with, many times, as you can see from by blog posts on the Ethercycle blog. Kurt Elster: I think what's going on here, the difference is, the examples you gave of not smart is everything was about the company, was about the author versus, it sounds like the authority building stuff is where you make it about the reader. Philip Morgan: You know, paradoxically, that's how it works, absolutely. Kurt Elster: Good advice. The problem I run into, and everybody says to me, almost every website, be it ecommerce or otherwise, has a blog on it. With Shopify everybody gets a blog. Everybody says, "I need a blog and I'm going to update it," and then they never do. There's literally one ... I've got several, I'm sure I could pull several clients like this, where there is just a single unfinished blog post from 6 months to 18 months ago. Philip Morgan: Yeah, in Word Press terms, it's the "Hello, World" blog post; right; that's still there six months later. Because, guess what? It was a list a mile long of things that outranked creating content for your blog in terms of priority to keep the business running; right? Kurt Elster: Right. It's easy to ... You never see immediate results from writing a blog post. It's a very passive thing. The results are indirect. You don't necessarily see them immediately, so on the list of things to do, you're going to answer the phone first, ship your products first, do your taxes first, and blog is always going to end up on the bottom of that "To Do" list every single day. Philip Morgan: Right. Kurt Elster: On top of that, when people do sit down to write, either they don't produce good content or they're not a good writer. I mean, there's no shame in that. Most people flat out are not good writers. Philip Morgan: That's the reality of not only a Shopify store owner but pretty much small- to medium-sized business owner, where they can't just talk to HR and say, "We need to solve this problem. Go hire somebody or put together a team," or whatever; right? That's the position everybody is in. Kurt Elster: Okay. Philip Morgan: I think part of the problem, and I'm just going to put this out there and I'd love to hear your reactions to it, because you guys work every day with people in the ecommerce space. I think part of the problem is, the word that we use is "blog," and we need to use a different word, which is ... I'm just going to pull this out of the air ... "educational resource." Instead of, "This is a blog. This is a section on my site where I have to go periodically and think of stuff to write that my audience is going to like or enjoy," what if you were creating a course for them? I think that does two things. I think it maybe makes it more intimidating for some people, but it reduces the scope of the problem. Paul Reda: I feel like that almost makes it less intimidating, because ... Kurt Elster: Yeah, it makes it easier. Paul Reda: Because the term, "blog" implies this is a thing that's going to updated on a regular basis, at the very least, weekly, if not more. Philip Morgan: Right. Paul Reda: You kind of face that wall of like, "Oh, well, shit, as soon as I start writing posts in this thing, I've got to come up with the next one and I've got to come up with the next one, and I've got to come up with the next one." It's just an endless cycle, where if it's, "I need to create a single piece of content that educates my customer, helps my customer or gives something to people, that is a much smaller task, because you're just creating one thing. That thing needs to be great, but it's only one thing. Philip Morgan: Right, and it may be one thing that's in multiple parts, but still it has an end point, whereas a blog, you're almost adding another job title, not like you need one. You're already busy enough as it is. You're adding the job title of blogger, and what are the expectations people have of a blogger? Always publishing stuff. What if you literally went in and changed the letters "B-L-O-G" to ... Quick, guys, give me an example of a Shopify site that is just killing it in terms of what kind of product are they selling? Kurt Elster: Well, one of my favorites is Everest Bands, and they sell two products, a rubber or a leather replacement strap for Rolex. Philip Morgan: Okay. So “The High End Watchband Education Center.” That's clunky. That's off the top of my head. What if it was that instead of a blog? How would that change things for the average, for the owner of that shop? If they're killing it, they're probably doing a great job with content too, but if they had a competitor who was trying to enter the same space, what could you educate your customers who are looking for watchbands ...? Kurt Elster: That's a good question. This was a Kickstarter success story, and before I got involved with their store, he was telling me all about the incredible journey of manufacturing these things and how he's had to become an expert on rubbers and plastics and how most rubber watchstraps are these really awful silicone things that don't look finished, they don't feel good, and he's got this incredibly technical expensive-to-produce rubber called FKM Rubber. I said to him, I said, "Why is this nowhere on your website?" That was all really interesting and made me believe in the product. "It's nowhere on your website." Philip Morgan: You know, that's interesting, because it does not fit exactly into the little thing we're talking about here of educational content, but it's a great example of something that still would position him as an authority, because who knows that much about rubber, and who can talk about it in a way that's interesting and informative? It reflects positively on the product, so that's a great example of something that could go right there in the education center, because at first blush, it's like, "Well, how does that help me solve my problem as a customer?" When I think about it for another minute, I realize it does, because I need to know about materials so that I can be a smarter shopper. Kurt Elster: Exactly. Yeah. As soon as you get into watchstraps you have to choose a material and then within materials you have to choose a design. It turns out, because I've gotten loads of watchstraps from this guy, and then he'll lecture me on the differences between them. None of that is included on the website still. We're working on it. But, man, I could pick up various rubber and leather pieces, just even like a wallet. I could pick up a leather wallet and tell you, "Okay, here's why they manufactured it this way,” and, “Here's why I like this." "This might be kind of shitty," or, "Here's where it might fail." Philip Morgan: As a shopper, as a consumer, you feel empowered as a result of having that information. Kurt Elster: Yes, exactly. Paul Reda: Well, and it also just helps sell the product, because it's like, "We use this rubber. Here's why this rubber is so awesome. Here's why you've got to pay us so much for this watchstrap because I've explained to you why this rubber is so awesome." Philip Morgan: Think about from a sales perspective what that does. It deals with pricing objections. Kurt Elster: Oh, absolutely. Philip Morgan: It positions the product as unique because now a potential customer for this watchband can say, "Well, maybe I want to shop around;" right? "Who else has got the good stuff, the stuff that I just learned about from reading this site's educational resource on watchbands," and then they find, "Wow, nobody else does." They have a unique market position. It does a lot of things from a sales perspective purely by starting from the point that was the question, "How can we educate our customers on the intricacies of watchbands?" There's a lot more there than you might think at first blush that you can, content that you can develop ... It's already in his head. Kurt Elster: Yeah. Philip Morgan: I think we need to talk about that. How can he get it out of his head into a part of his site without feeling like he has to be moonlighting as a writer? Kurt Elster: Yeah. Okay, yeah. Over the phone, if someone is enthusiastic about their business or their product, it's easy for them to talk at you for 20, 30 minutes about it, but how do they turn ... Then as soon as you ask them to put pen to paper, they can't do it. So how do they do it? Philip Morgan: I think that's another problem with the word, "blog," because it sort of boxes in our thinking about what needs to go there. What needs to go on a blog? Written content, maybe with a picture or two to spice it up; right? Kurt Elster: Mm-hmm (affirmative). Philip Morgan: That creates a problem because people are ignoring ways that they could get their message across that could be way more effective. If they are not a very good writer, then they're kind of shooting themselves in the foot by limiting themselves to written content. They could be thinking about things like a podcast or ... Kurt Elster: Right. Philip Morgan: That's the thing that you do. It takes work. It takes planning, and it takes post-production work, but ... Kurt Elster: Yeah. It takes about ... Paul, how long does it take to edit a 30-minute podcast? Paul Reda: Well, if it's a 30-minute podcast, it probably takes me 45 minutes to an hour to edit it. Whatever the time of the podcast was plus another 50% because you're going back and forth and poking at it. Kurt Elster: Yeah. Philip Morgan: Yeah. Paul Reda: You have to listen to all of it. Philip Morgan: What's they all-up time investment to produce one episode? Paul Reda: We record for maybe 45 minutes and then I spend an hour maybe editing it down and then Kurt spends 15 minutes throwing it up. Call it two hours maybe. Putting it up online, not actually vomiting. Kurt Elster: Two to three hours. Paul Reda: Yeah; a week. Kurt Elster: I've noticed it has way more impact on people than blog articles. We've been writing blog articles for years. Philip Morgan: Yeah. Kurt Elster: And I don't get nearly as much feedback about those as I do the podcasts. Philip Morgan: Yeah. Let's roll with that for a minute. I'll just give you a benchmark. I'm a professional writer. I can at peak performance crank out a good solid 2,000-word article in two to three hours, not including any time that I need to prepare and gather information. Okay? That's like a pro on a good day. We're back to our podcast example. You record a 30-, 40-minute podcast. You have it produced, and you have a piece of content that if you have a more easy, natural time talking to people than you do writing, was, I'm going to say, ten times easier for you to create. Kurt Elster: Absolutely. Philip Morgan: And it has value as an educational piece of content. It goes in your education center part of your site, and it can be re-purposed in really interesting ways. It would cost you about 50, 60 bucks to have that transcribed, and I can tell you that an hour of conversation transcribed is going to produce about 8,000 words of content. Now, it's going to be a transcript. It's not going to be typed from a writing perspective. Kurt Elster: No, but I still get the organic SCO value out of it. Philip Morgan: You do, and think about the possibilities that you have to read through that transcript and say, "Wow, well, there's a little interesting section there.” I'm going to pull that out and either myself or with hired help turn that into a high-quality piece of written content. Kurt Elster: See, I personally haven't even thought of that. That's great actionable advice just for me. Paul Reda: To go back to producing written content, even if it makes the business owner more comfortable, a lot of the stuff that I write for the Ethercycle blog, I dictate it into my MAC. Mavericks has really good voice recognition built into it. I'm sure for somebody it's even better, and I just sit there with TextMate open and almost monologue about the topic I want to talk about. Then when I feel like I'm done, I stop talking, and then I look at everything it spit out, and then I just go and chop it down and clean it up a little bit, and then I've got a blog post out of it, and I'm not sitting there worrying over a keyboard trying to find the next word. I'm just speaking extemporaneously, which I think really adds to the voice of the piece I'm writing. Kurt Elster: Yeah. Philip Morgan: I agree. You know, you're doing this clean-up work that you could pay somebody else to do. There are excellent, excellent copy editors all over the internet for between 30 and 60 bucks an hour. It would take them an hour to do what the average non-writer would probably need five or six hours to do. Kurt Elster: Yeah. No, I had a 2,500- or 3,000-word blog post that I sent to the Shopify Partners blog, and I paid a copy editor to do it, and it cost less than 50 bucks. Philip Morgan: Yeah. Kurt Elster: It was well worth it. Philip Morgan: Yeah. Again, I think all of these insights about what you can do come from getting away from the idea of having a blog. To me, that's the real big idea here is, let's get away from this whole idea of a blog, and let's start building education centers for customers. Paul Reda: We need a new word, because "blog" is a very specific thing. It's a very specific thing, and it's also something that most business owners should probably stay away from, because they just don't have the time for it. Kurt Elster: I think from a technical standpoint, the sole difference between a blog and anything else is that the posted date. If you've got that posted-on date, that ends up becoming an expiration date. Philip Morgan: Yep. Paul Reda: Yeah, because it's like, “They last posted something in November of 2013, and then after that I guess they just went out of business because they stopped talking to me.” Kurt Elster: It's like I know from being on the inside I know it's because they're busy, but to a customer who hasn't done this before, it really does look like you've abandoned your business. Philip Morgan: Absolutely. It just makes you look like a ghost town if the one part of your site that is, according to the label, supposed to be updated every week, isn't, it raises some eyebrows. The other thing that people should think about as they're thinking about how can they become educators of their customers is their list. All this content can have a second life, a third life even, on their list as part of a drip email course or just as a part of regular content that goes out. Kurt Elster: Yeah. We both do that. I'm a big fan of that. Philip Morgan: You do that very well, Kurt. Kurt Elster: Thank you. Paul Reda: That's why you're a guest. Kurt Elster: Yeah. I will reuse content. I think a lot of people think content is used once, and it's absolutely not true. You can take stuff that I've been a guest on other people's blogs or podcasts. That ends up in my newsletter. I end up linking to it on my blog. Essentially, I create a library of every single piece of content that is created by me, around me, with me, and then I'm going to try and re-purpose that. Philip Morgan: That's a great way to do it. It points out that content is both about the content of the content, and it's about the context. Kurt Elster: Right. Philip Morgan: Where does it show up? People are afraid, I think by nature, of re-using content because ... I don't know ... because they see it all and they're like, "Well, that makes me look cheap," or … I don't know exactly what the fears are. Kurt Elster: I don't know. I had the same fears. Years ago I had the same fears. I only started re-using stuff when I was developing my drip email campaign, and I discovered that nothing bad happened. Lo and behold. It turns out people aren't ... Every single person is not consuming 100% of everything I put out on the internet, and that's the assumption you have to get away from. Philip Morgan: Exactly. They're not getting that email and going, "I wonder if this was an old blog post. Let me go check." Kurt Elster: Yeah. Even if it was, no one would care. Philip Morgan: Right, because it has a different context and it may be more relevant in that different context. Paul Reda: “Welcome to the Shopify Podcast, where we will be discussing [symbiotics 00:20:21] today.” Philip Morgan: Yeah, exactly. Those are just important points to keep in mind to try to get yourself out of that box that the blog puts you in. Kurt Elster: Okay. I'm thrilled with this. There's loads of actionable advice here, and I think the biggest thing you've done is really re-frame and change my perspective on what a blog is and how content creation works. What would it cost to hire you for my own store? Philip Morgan: You know, it depends. I can work custom, meaning I can fit my services to whatever the problem are. I have a subscription service, though, which is a productized consulting service called, "My Content Sherpa." Kurt Elster: Which I'm a big fan of. Philip Morgan: Thank you. That costs $1,500 a month ongoing. It's ongoing because I'm solving that pain we talked about at the beginning where people are like, "Okay, I'm a business owner and now I'm a blogger. Now I have to get it up every month to write great content." I take that pain out of the picture with My Content Sherpa. I do it on a monthly subscription basis. It happens for you. It takes two to four hours of your time as a business owner, and you get great ongoing content that speaks to your audience and uses the power of time, because none of this stuff happens overnight; right? Even if you get jacked up on espresso and Red Bull, there's only so much you can do in a short period of time, so why not look at this as a medium-term project and use the fact that you're being consistent about it because you're paying somebody else. It's my job, number one; it's your job, number ten. You pay me. You get consistent content, and over time what you can do with that is really impressive. Kurt Elster: Let's say I do hire you. What are the specific deliverables that would come out of it? Philip Morgan: Again, it depends a little bit, even within a productized consulting framework, there's room to customize for each customer. What I find that most customers need is a way to hit the ground running with content marketing. So if you do not have a mailing list, I'm going to set you up with mailing list software that's configured appropriately for your situation. We're going to create a lead magnet, which is some sort of very short, digestible educational resource that you can put on your site to start to build your list. I'm going to build that lead magnet for you. We may have to put together a quick landing page to make that happen. From there we really focus on building your list with high-quality educational content, because we've been talking about content and education this whole time. The real purpose of My Content Sherpa is to get you a list that makes money for your business, and so all the content really drives people towards joining your list. Kurt Elster: You're right. Yeah, we didn't touch on it, but having that list is hugely important, because we've got several clients with lists that have anywhere from 1,000 to 10,000 people on it, but in every case, every time one of those clients hits "Send" on an email campaign, they immediately become top of mind to all of their customers again, and they generate thousands every time. It's literally, "Click," "Send," and then they've guaranteed thousands of dollars that day. Philip Morgan: It's amazing. I really focus primarily on the ecommerce space. I'm so jealous because little things like optimizing a list or coming up with a few pieces of relevant content can produce such immense returns on the investment. It's really impressive. Kurt Elster: No one can see the value of email marketing like ecommerce clients can. Philip Morgan: Yeah. Paul Reda: Yeah. I think that's one of the reasons we love it is because for ecommerce clients, it's like there's very hard numbers right there to see whether or not things are working, and we could just be like, "Oh, look, sales went up. We did a good job." Kurt Elster: Yeah. Paul Reda: As opposed to an offline business, it's kind of like, "Well, you know, there's other reasons." Kurt Elster: “How many people walked in the door today?” Philip Morgan: Yeah, or branding, which is of course important but ... Kurt Elster: It's very subjective. Philip Morgan: [Crosstalk 00:24:49] a long-term investment and so subjective. That's why the whole blog thing is such a tragedy, because not only if you ... Paul Reda: “The tragedy of blogs.” Philip Morgan: It's the tragedy if you're setting yourself up for failure twice, because you're killing your ability to create good content that can be re-purposed for your list. Kurt Elster: Okay. Well, this is all really great information. The one thing I want to leave people with, though, is some examples of content they could go out today and try to create for their website. Philip Morgan: Interviews with customers who are killing it. Let's do three examples. Example number one, interviews with customers who are killing it. Wouldn't your other customers really like to know what they're doing, and that message gets brought to those other customers by you. Super easy to produce. It's so easy to get people to talk about what they're doing that's successful, because everyone wants to look good in that way, so interviews with customers that are killing it. Kurt Elster: Okay. Philip Morgan: Record the interviews over Skype. Get them transcribed. Pull out a couple blog posts. It's a huge easy win. Everybody loves talking about things that are going well, so it's just really easy to set it up and get people to agree to it. Second example, you could talk to your sales or customer service people if you're at the size where you have those and those people are not yourself, in which case it's even easier. What are the top X number of questions that people have? Answer those questions. Kurt Elster: Yeah, that's a good one. Yeah. I always ask that of the people with brick and mortar stores. I say, "When people call you, what questions are they asking?" and if they say, "Don't know," I'm like, "Get a pen and paper. Next time somebody calls, start writing this stuff down." Philip Morgan: Exactly. Find out what that is. Turn it into content in a way that is not painful for you. If that means talking into your iPhone and having it transcribed and edited, if that means sitting in front of a webcam and recording it. It doesn't matter if the information is high quality and there's not some fatal flaw with the production or the media. That's my second one, is find those customer common questions, answer them in some way, and get that content on your site. Kurt Elster: Okay. My new bench in my office is not going to solve people's problems, but answering a question that I consistently get asked by customers will solve people's problems. Philip Morgan: Yeah, that's one of the secrets of good content is it basically comes from your customers. It may not be in their voice and it may not be recordings of them, but the good content comes from them, because it reflects their pains, their needs, their desires, their dreams. Kurt Elster: Well, I think we're going to wrap it up there, Philip, but that has been hugely powerful if people implement that stuff. Philip Morgan: Glad to hear it. Kurt Elster: That's the problem, a small percentage of people are actually going to go do anything with this advice, so I urge you to try any of it, and if you see value in it, go ahead and go hire Philip. Otherwise, where could people get more information? I'm willing to bet that you've got a great list going. Philip Morgan: They can join my list. There's just one "L" in "Philip." Remember that. They can go to PhilipMorgan.Consulting. It's one of these new-fangled domain names. PhilipMorgan.Consulting. That's a website. One "L" in "Philip." Kurt Elster: All right. We'll link to that in the description. Philip Morgan: Right on. Kurt Elster: Cool. Philip Morgan: Kurt, this was fun. Kurt Elster: Yeah, it was fun. Thank you for joining us today. Philip Morgan: You're welcome. Paul Reda: Thank you, Philip. Kurt Elster: We're all using our NPR voices. Paul Reda: This is like Ethercycle After Dark. Kurt Elster: What's your favorite website? At Night. Mine's just Google. I just Google stuff all day. Paul Reda: You just Googled "Girl boobs," and you're like, "Yes." Kurt Elster: Well, I search for animated gifs. I know Philip has an impressive folder of animated gifs. Philip Morgan: It's a growing ... Kurt Elster: None of them are boob related, though. Paul Reda: Well, damn it. Philip Morgan: Yeah, I don't think so. Yeah. Kurt Elster: Well, work on it, buddy. Philip Morgan: I know. That's a big hole in my collection. Kurt Elster: All right. I will leave you to your animated gif research, Philip. Philip Morgan: This was fun, guys. Thank you. Kurt Elster: Thank you for joining us.

Three Geeky Ladies
3GL Episode #54 Getting Our Geek On

Three Geeky Ladies

Play Episode Listen Later Aug 25, 2014 60:43


Frontend Friday
#12 : Editorit

Frontend Friday

Play Episode Listen Later Jun 15, 2014 38:11


Tällä kertaa PodLuolan syvyyksissä puhutaan editoreista. Tarkempaan käsittelyyn pääsee ensimmäisenä Githubin Atom. Vertailukohtaa haetaan niin Sublime Textistä, TextMatesta kuin VIMistä. Myös Adoben Brackets pääsee vertailulistalle. Toisenlaisena editorina nousee esille Macaw. Onko tässä haastaja Adoben työkalujen ylivallalle web-suunnittelussa? Ei ehkä vielä mutta hyvään suuntaan ollaan menossa. Mainintaa saa myös WebFlow, jota ei kuitenkaan vielä ole päästy koeponnistamaan. Muissa aiheissa sivutaan seuraavia: DoCSSa Will-change property Element Queryjen päivittyneet käyttötapaukset

Fyrtiotvå
S02E01

Fyrtiotvå

Play Episode Listen Later May 30, 2014 67:15


Andra säsongen går av stapeln Temat för den här säsongen är produktivitet. Någon som får ta sitt avstamp i textredierare och en genomgång av vilka vi använder, vad de är bra på och varför vi använder de vi gör. De vi går igen är bland annat Textredigerare, Ommwriter, Coda, Subethaedit, Textmate, BBedit, Sublime text, Chocolat, Atom, […]

Emacs Chat
Emacs Chat: Magnar Sveen (Emacs Rocks)

Emacs Chat

Play Episode Listen Later Nov 25, 2013 57:23


UPDATE 2014-01-27: Transcript posted! UPDATE: Want just the audio? MP3 / OGG Here are the notes from my chat with Magnar Sveen, the creator of the Emacs Rocks screencast series and a number of other great Emacs resources. Enjoy! 0m48s Magnar has been using Emacs for two years 2m30s Moving from TextMate 3m45s World of Warcraft […]

Teahour
#29 - 和 Ubuntu Tweak 作者图拉鼎聊聊独立开发者

Teahour

Play Episode Listen Later Aug 25, 2013 100:51


本期由Terry Tai和Daniel共同主持,邀请了 Ubuntu Tweak 的作者图拉鼎来和我们聊聊他的成长历程以及独立开发者的方方面面。 Ubuntu Tweak 是一个为了方便所有人配置 Ubuntu 的工具。 它提供了许多默认系统并未提供的桌面和系统选项。 在它的帮助下,你的Ubuntu之旅将会更加愉快! 关于图拉鼎: Twitter Weibo Blog Ubuntu Tweak Manico Cyrix Tualatin 微型计算机 Logo programming language BASIC programming language 文曲星 Ubuntu Canonical 注册表 DotA Django Mark Shuttleworth Mou Homebrew MPlayerX TotalFinder Textmate Google Analytics GAJavaScriptTracker 改变未来的九大算法 Blink 音箱 Special Guest: 图拉鼎.

Drupalsnack
Drupalsnack 8: Om allt däromkring

Drupalsnack

Play Episode Listen Later Apr 1, 2013 87:52


Vi pratar om allt däromkring, vad vi dricker, hur vi står/sitter, vad vi lyssnar på, texteditorer, projekthanteringsverktyg och mycket annat. Drupal-nyheter med Kristoffer som vanligt också förstås. Länkar till moduler, webbplatser och tjänster vi pratade om i detta avsnitt: Allt där omkring Texteditorer Vim Ultraedit Textmate Sublime text BBEdit Notepad ++ Projekthantering Trello WORKetc CRM activeCollab Basecamp Pivotal Tracker Gruppkommunikation Glassboard Vad vi lyssnar på när vi arbetar Deep Forest - Wikipedia, the free encyclopedia Radioseven Slay Radio Game Radio för Android BBC Radio 4 - In Our Time Nyheter i flödet http://drupal.org/node/1954508 http://drupal.org/node/1948354 http://www.idg.se/2.1085/1.493226/sa-har-bra-betalt-far-jag-aldrig-i-europa http://www.mkse.com/2013/03/26/stockholms-stad-ersatter-episerver-med-drupal/ https://association.drupal.org/node/17748 http://previousnext.com.au/blog/nine-front-end-tools-techniques-and-practices-drupal-themers http://www.lullabot.com/articles/oh-no-my-laptop-just-sent-notifications-10000-users http://timonweb.com/8-awesome-drupal-snippets-i-wish-i-knew-before http://news.slashdot.org/story/13/03/22/2036217/mastercard-forcing-paypal-to-pay-higher-fees Drupal 8 nyheter http://flink.com.au/my-first-d7-d8-module-port http://www.digett.com/blog/03/20/2013/continuous-innovation-drupal-8 http://groups.drupal.org/node/287133 http://drupal.org/community-initiatives/drupal-core

/dev/hell
Episode 29: Snappy Answers to Stupid Questions

/dev/hell

Play Episode Listen Later Mar 7, 2013


Being totally out of ideas, we turned things over to our legions of fans who joined us on IRC. Lots of interesting questions, and people learned what Ed thought was horseshit. Special thanks to Joel Clermont for killing the show with this joke: Q: “What’s the difference between a junior and senior developer?” A: “$40k” If you’re interested in sponsoring Development Hell, let us know! Rate us on iTunes here Follow us on Twitter here. Like us on Facebook here Listen Download now (MP3, 38.5MB, 1:25:55) Links and Notes Sublime Text 2 Vim Emacs Eclipse BBEdit HomeSite HTMLKit SubEthaEdit TextMate Has PHP reached it’s limit? Yahoo! calls all remote workers home. Is there a hidden motive behind it Liberal vs. conservative programmers Thoughts on the male gaze Chris feels this essay shows a lack of understanding about collaboration Estimating projects using the metric system Should the PHP core team care what users of the language want

Build and Analyze
103: Denial Haircut

Build and Analyze

Play Episode Listen Later Nov 12, 2012 73:28


Dan and Marco discuss music under podcast ads, TextMate 2 activity, the costs of pagination in Instapaper and The Magazine, scientific support of "low-acid" coffee benefits, every cure for male hair loss and baldness, and affiliate-marketing spam.

Build and Analyze
93: One Donkey Walking In A Circle

Build and Analyze

Play Episode Listen Later Sep 3, 2012 98:48


In this episode of the longest-running 5by5 show, Dan and Marco discuss TextMate (of course), business developer account migrations and DUNS numbers, the immense value of Apple's retail stores, creating a brand before its apps, healthcare and taxes, and Instapaper browser extensions.

CacaoCast
Épisode 88 - TextMate 2, Mountain Lion, Pixar Open Source, ProGit, Xcode 4.4

CacaoCast

Play Episode Listen Later Aug 24, 2012 55:54


Bienvenue dans le quatre-vingt-huitième épisode de CacaoCast! Dans cet épisode, Philippe Casgrain et Philippe Guitard discutent des sujets suivants: TextMate 2 - Open Source, GPL 3 Mountain Lion - Quelques astuces de développement: Désactiver le défilement sans à-coups: defaults write -g NSScrollAnimationEnabled -bool NO Activer le mode HiDPI sur les Macs non-retina, sans Quartz Debug HiDPI, documentation Apple disponible Utiliser objc_msgSend sans cast: ‘#define OBJC_OLD_DISPATCH_PROTOTYPES 0‘ Commandes lldb compatibles gdb Les composantes Open Source Can I get your address? - Quelques indices utiles pour avoir accès aux contacts avec Mountain Lion Pixar Open Source - Sur github bien sûr ProGit - Livre gratuit, multilingue, pour apprendre git Xcode 4.4 - Astuce pour récupérer le SDK 10.6 - copiez-le de Xcode 4.3, gardez-en une copie et placez-le dans /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ Ecoutez cet épisode

Build and Analyze
90: This Person Isn't Really Here

Build and Analyze

Play Episode Listen Later Aug 13, 2012 79:03


Dan and Marco discuss Sublime Text 2, TextMate 2's open-sourcing, App.net's funding and why Kickstarter-like campaigns can get a huge boost of funding at the end, the difficulty of having good presences on multiple social services and the effects of cross-posting, and allocating time for unpopular apps.

Bob Speaks
Episode 4: Open Source and TextMate 2

Bob Speaks

Play Episode Listen Later Aug 10, 2012 7:05


Not something I was remotely expecting, but here it is! TextMate 2.0 has been opened up. TextMate 2 Source Code at GitHub TextMate 2 at GitHub (announcement at Macromates) Ars Technica Interview with Allan Odgaard

Build and Analyze
87: Close the Window and Hope for the Best

Build and Analyze

Play Episode Listen Later Jul 23, 2012 88:21


Dan and Marco discuss how to research and find good products, portable and window air conditioners, the unfortunate status of TextMate 2 and the search for alternatives, Sparrow's business and acquisition, and App.net's chances of success.

Les Cast Codeurs Podcast
Les Cast Codeurs Podcast - Episode 62 - Rod va sur l’île de Larry

Les Cast Codeurs Podcast

Play Episode Listen Later Jul 16, 2012 77:15


Enregistré le 12 juillet 2012 Téléchargement de l’épisode LesCastCodeurs-Episode–62.mp3 Errata News People Larry Ellison s’achete une ile Oracle FUD Java Apache Bean Validation OVal Hibernate Validator 5 alpha 1 Rod Johnson s’en va Le bug de la leap seconde http://blog.wpkg.org/2012/07/01/java-leap-second-bug-30-june-1-july-2012-fix/ http://www.wired.com/wiredenterprise/2012/07/leap-second-bug-wreaks-havoc-with-java-linux/ GWT se dote d’un groupe de surveillance GWT Steering Group announced with Google, Vaadin, Sencha, RedHat and others. It is a beginning of a new bright future for GWT. Platformes et outils JBoss EAP 6 sort JBoss Data Grid 6 sort Cloud Foundry Cloudbees Mozilla arrête Thunderbird GitHub lève 100 millions de dollars GitHub appli Android 37 signals Rework Nouveau mode de compilation pour IntelliJ Collide Code Mirror Algorithmes pour l’édition collaborative Cloud JBoss EAP 6 sur OpenShift supporté Les prix OpenShift annoncés Amazon se casse la gueule dans l’escalier Google Compute Engine Google I/O confusion ? Google App Engine JBoss Capedwarf Langages Groovy 2.0 Ceylon Milestone 3 JBoss Community Asylum sur Ceylon Les outils de l’épisode Vim: question sur stackoverflow à savoir quel est le shortcut le plus productif Un utilisateur venant de SubEthaEdit et TextMate migrant vers Vim http://www.michenux.net: Vmstax : c’est un outil fait en Flex, gratuit, qui crée des graphiques à partir de fichiers de log vmstat ou dstat des tutoriaux principalement Android Faire une code retreat Sublime Text 2 es sorti JUG et Conferences Nous contacter Contactez-nous via twitter http://twitter.com/lescastcodeurs sur le groupe Google http://groups.google.com/group/lescastcodeurs ou sur le site web http://lescastcodeurs.com/ Flattr-ez nous (dons) sur http://lescastcodeurs.com/

MacBites
MacBites - Episode 0063

MacBites

Play Episode Listen Later Jan 25, 2012 83:31


In this episode locks, docks and pleasuring Jeremy Clarkson BackBites MacBites Live - Apple's Education event iMessage Credit card on iTunes account Leg ulcer wallpaper in Lion Locked files - redux Lion Designer Cocktail Lion Tweaks Lion DiskMaker Lion Cache Cleaner LionScrollBars Postbox Docks - Freecom Quattro Jena's alternative dock 12 Days of Christmas Netflix Adobe Revel ChatBites Lost in 2011 Old style scrolling in Lion The Lozenge MenuCalendarClock DropCopy Pro 1Password integration in Fluid VisualHub AudialHub Mail Final Cut Pro Studio MobileMe ScreenSharing Menulet Safari Flash Lite Google Wave Many Google products! Fluid Browsers (1Password support) Highbrow Choosy CSS Edit Espresso Gowalla Gained in 2011 Mac App Store Apple Remote Desktop Aperture in MAS Recycled iWork Lion Natural Scrolling - good or bad - let us know MobileMe calendar update iCloud - painless transition with the aid of a get out of jail free card!! Google + Kindle Fire and Silk Office 2011 Final Cut Pro X Motion Compressor Pro Audio Converter iPad 2 Smart Cover Smart Cover coming to iPhone iPhone 4S Picks of 2011 ScrollReverser PopClip Moom Fusion 4 Pixelmator What 2012 Holds iWork 12? iPhone 5 iPad 3 TextMate 2 New Blue toys Elgato - External SSD MacBites Learning Events Photoshop Elements 10 - January 26th iBooks Author - February 2nd

Ruby NoName podcast
Ruby NoName Podcast S04E01

Ruby NoName podcast

Play Episode Listen Later Jan 23, 2012 79:44


Новости Puma web server Rails/master is now 4.0.0.beta Never create Ruby strings longer than 23 characters Momentum, a SPDY Server MongodbLogger for Rails 3 Leopard - Васильев Алексей Работа с Postgresql: настройка, масштабирование Ruby Warrior is an open source game “designed to teach the Ruby language and artificial intelligence in a fun, interactive way. RSpec-2.8 is released! TextMate 2.0 Alpha and Switching to Sublime Text 2 Syntastic Ресторанный критик Слоупок атака Уязвимость в хэшах Rails on 5-th place in 2011 Open Source Adoption Trending Report A(n incomplete) Javascript implementation in Ruby! Обсуждение Троли в гостях у RNP Стив Клабник продолжает вопрошать о мозге программера. Sweet, sweet vindication FubuMVC Rails Has Turned Me Into a Cannibalizing Idiot Pavel Argentov интересуется: "Кстати, дор. редакция, а как вам вообще все эти теоретизации вокруг довольно академических вопросов программирования, когда у всех умных уже степень, работа и опцион, у глупых – ruby-беллетристика на ночь, а совсем умные сначала решите задачу Ферма, а потом себе перельманте ;-)” ruby -e 'def a;10.times{puts " "*rand(79)+"*"};end;99.times{a;puts " "*34+"Happy New Year 2012";a;sleep 0.1;puts "e[2J"}' © @CamilleRoux

Sosumi Show
#15: Eigentlich alle

Sosumi Show

Play Episode Listen Later Jan 2, 2012 58:20


Nach einer kurzen Winterpause sprechen Andreas und Rafael in aller Frische über Häkeln für Anfänger, Vor- und Nachteile vom Jailbreak, LaTeX, TextMate 2 und andere Software. Andreas kann es auch dieses Mal nicht lassen über Audio-Apps zu reden.

Build and Analyze
56: The Worst Kind of Frustration

Build and Analyze

Play Episode Listen Later Dec 19, 2011 73:39


Dan and Marco discuss TextMate 2, designing (or having someone else design) icons for your apps, typing on Kindles, and why Marco uses queues in Instapaper.

Build and Analyze
55: Scaling Enabled

Build and Analyze

Play Episode Listen Later Dec 13, 2011 81:35


Dan and Marco discuss the TextMate 2 alpha (it's real!), demand for iOS games, cloud hosting and the scaling challenges it won't solve, and the Top Brewer coffee faucet.

Build and Analyze
44: Customers As Body Parts

Build and Analyze

Play Episode Listen Later Sep 26, 2011 79:27


Dan and Marco discuss the TextMate 2 announcement, second-system syndrome and architecture astronauts, knowing the business you're really in, hot laptops, and the iOS 5 GM rumors.

Mac Power Users
Mac Power Users 57: Power Text Editing

Mac Power Users

Play Episode Listen Later Sep 12, 2011 86:41


In this episode, David and Katie explore the use of more powerful text editors, like TextMate and BBEdit, in a writing workflow with guest, Brett Terpstra.

Build and Analyze
39: TouchPad vs. TextMate vs. BBEdit

Build and Analyze

Play Episode Listen Later Aug 22, 2011 78:38


Ryan and Marco discuss HP's discontinuation of webOS and PC hardware, why a $99 TouchPad isn't more compelling, the potential in Windows Phone 7, installing antivirus on your future Windows 8 tablet, the difficulties in changing your text editor of choice, and the results of Marco's experiment switching from TextMate to BBEdit for a week.

Hypercritical
29: In Too Deep

Hypercritical

Play Episode Listen Later Aug 10, 2011 80:30


John Siracusa and Dan Benjamin discuss Lion’s quittin’ ways, people who choose to turn off Dock indicator lights, the merits of a "clean install" of Mac OS X, Mac application launchers, and BBEdit vs. TextMate vs. emacs vs. vi vs. sanity.