Podcasts about Feedbin

  • 22PODCASTS
  • 31EPISODES
  • 53mAVG DURATION
  • ?INFREQUENT EPISODES
  • Oct 28, 2024LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about Feedbin

Latest podcast episodes about Feedbin

The ProcrastiN8r Podcast
Lvl 13: Procrasti-logging (Top 10 Ways to Write Content for Your Niche Without Even Trying)

The ProcrastiN8r Podcast

Play Episode Listen Later Oct 28, 2024 38:56


**One of the best ways to ignite your own cozy FIRE is to live life as a lazy digital nomad. And all you need to do is browse the Internet and type things on your keyboard. We're lighting a FIRE the easy way on the ProcrastiN8r Podcast 2 weeks ago (lvl 11. I said 10 but it's 11 and I'm too lazy to re-record the whole thing) we talked about how to FIND your niche. Today we're looking at.... Top 10 Ways on  how to WRITE CONTENT for your niche...with as little effort as possible Without further ado, let's BURN...right into it You can't just blog to everybody! Blogging to everybody is blogging to nobody. Find. Your. Niche. NEWSJACKING (or as I call it “Procrasi-logging) involves finding a relevant trending topic and repurposing it for your own blog 10. Look at Your Competition AppSumo Look up a topic, then see the top articles related to that keyword View social media share stats for Facebook, Twitter, and Reddit as well as Total Engagement. Evergreen score (how long after it's published is it still being shared?) Take a look at magazine websites (headlines, images, language/slang used) Subscribe to top content creators in your niche. To find blogs, get an RSS Reader like Feedbin, Feedly, Inoreader, or Flipboard Listen to podcasts. Watch YouTube and Twitch. 9. Read the News Search Google News for a topic related to your niche and look at the top articles. Go to a site like AllTop or Reddit to find topic specific news (niche specific) Look at an article, video, or podcasts as if you're in the room talking to them in a conversation. What can you add to the conversation? What insight is missing? Can you add a joke or something funny? 8.See What People Are Talking About and How They Are Engaging RedditList Type keyword related to niche, find relevant subreddits You could look at the official Reddit as well to find But Redditlist includes Subscriber rank (compared to other subreddits) and subscriber growth. Reddit list does NOT include all subreddits. Search relevant hashtags on Twitter, groups or Pages on Facebook, Pins on Pinterest, stories and posts on Instagram. See which posts are getting the most engagement and what type of emotional reaction the commenters are having. Write content that purposely sparks that emotion in your language (anger, sadness, joy, laughter, fear, etc.) Look at the comments of what people are saying on reddit, blog posts, and news sites. Pay attention to what's happening in the conversation. Are there points you agree with and could build upon with your own spin or maybe something you disagree with. 7. Find Out What People Are ASKING About What do people in your niche want to know? What are some common problems or concerns? Attend Livestreams and Webinars. Take notes not only on the content itself but What are people asking? What kind of comments are they saying? Look at FAQs of sites within your niche  and build content answering them in your own words. (eg. There might be “How do I get rid of background noise like fans in my audio?” on a software like Audacity or Adobe Audition or “How do I promote my brand on Facebook” on a site related to online marketing or “How do I receive dividends?” on a stock exchange site/app) 6. Always C&P Participate in forums and Reddit discussions yourself. Comment on FB posts, YouTube videos, Instagram photos. Answer questions on Quora, ehow, or Yahoo Answers. Amazon and other shopping sites are great if your niche is more product focused; you can look at the reviews and asked questions. Copy and Paste your own comments into a note taking app like Evernote, Microsoft OneNote, Dropbox Paper,  or Google Keep. Tag it with relevant tags and give it a title so you'll remember the gist of what you're saying at a glance. Include a link to the comments. Color code it to make it easy to find in the future Remember: it's important to ALWAYS copy & paste your comment BEFORE you even post it, maybe even create a note first and copy it from there. Because if someone deletes your comment or their post  or changes the privacy settings or blocks you (or shuts down the website altogether if it's a forum/blog), it's gone FOREVER. You can't necessarily rely on the Web Archive.org. Keep your own records of the thing you say online related to your niche. You'll thank me later. 5. Save It For Later Take advantage of Pinterest's “secret boards” to collect ideas for blogs or craft projects in the future Similarly, you can save links, images, and videos on FB's Save for Later feature. You can change your privacy settings for a specific post you create so “Only You” can see it then just save it for later. You can Save Reddit posts and comments. Save articles you find on the web & you plan to re-write or read/comment on with the click of a button  using a bookmarking app like Evernote Webclipper, Pocket, Pinboard, or Instapaper. You can also just use the built-in bookmarking feature in your browser, since nowadays you can signin to Chrome or FireFox or Edge or whatever and sync your bookmarks and history across multiple devices. 4. Chat it up! In your daily life, you talk to your friends and family about the things you like. Take note of the points made in the conversation or use the recording app on your phone. The note apps (google Keep, etc) also allows to save voice notes. Or heck, record the conversation (with permission, don't be a creep) on your phone. Start a forum topic and see where the discussion leads. Repurpose it for a blog post. When you reach enough notoriety and level of trust and authority, people will come to you with questions on social media. Actually reach out and talk to people. Hit them up in their DMs. Note the type of questions they're asking you. And if you're not established as a source of authority in your niche yet: Find people that are. Interview guests. Record it then transcribe it, using the autotranscibe tool Scribie. All you do is ask questions and they give answers. You don't even have to know anything. 3. Share It Write a quick blurb about a video or photo or infographic and share it as a post You can even re-word top rated comments already said on other sites. This is one of the laziest ways to create content. Find something already being liked and shared then make a comment similar to one that's also being liked/upvoted/gilded in your blog post. 2. Rinse & Repeat it Find a way to recycle old content, dig it back up and make it look a bit different by re-wording it. This works well if your in a niche that requires advice. You'll find yourself repeating the same advice over and over again. But that's okay, our brains learn from repeated information and stimuli. Use an online thesaurus to get suggestions for alternative words to use in your writing. You can also take a specific quote from an interview and do a deep dive/analysis of it. All that is is rewording what the person said in several different ways. The only thing you are doing is taking previously written or spoken words and rearranging them or replacing them with similar words. You simply express the content using different vocabulary. See what I did there? 1. Go Behind the Scenes Show pictures of your office, recording setup, gear, etc. Show things from your personally life (the game you're playing, the movie you're watching, the pizza you're eating, etc.) You should only do this on occasion. The site is about your niche and not your personal diary. 0. Talk about what you already talked about but do it a bit different Self explanatory. You get the point now. What to Avoid Writing: Verbatim (word for word) Fake News (unless that's your niche) Sounding boring How to Find Your Niche the Easy Way I said this episode was Lvl 10, but it's actually Lvl 11 and I'm too lazy to re-record and fix it. Meh whatever. You'll figure it out. Get Free Images for Your Blog: FreePik NeedPix**

ShopTalk » Podcast Feed
589: CSS Functions, Read It Later, Making Money in Business, and More

ShopTalk » Podcast Feed

Play Episode Listen Later Oct 30, 2023 56:54


Show DescriptionA quick bit of union news follow up, CSS function round up, Read It Later inside Feedbin, fun uses for a Stream Deck+, how to turn up the money dial in your own business, and having the audacity to call yourself a publisher. Listen on Website →Links A Couple of New CSS Functions I'd Never Heard Of – Chris Coyier [@ichrisv2 • Parenting tip: iOS17's Assistive Access mode is great for accessibility (seniors, etc.) but also ... • Threads](https://www.threads.net/@ichrisv2/post/CydyJByOPvK) Bandcamp's Entire Union Bargaining Team Was Laid Off xywh() - CSS: Cascading Style Sheets | MDN Bramus: "To change a color based on Lig…" - Front-End Social @ichrisv2 • Parenting tip: iOS17's Assistive Access mode is great for accessibility (seniors, etc.) but also ... • Threads Chris Enns: "Parenting tip: iOS17's Assisti…" - Mastodon Read Later in Feedbin | daverupert.com Feedbin Meta in Myanmar, Part I: The Setup - Erin Kissane's small internet website Convert bookmarklet to Chrome extension Reeder 5 Read Aloud: A Text to Speech Voice Reader - Chrome Web Store Stream Deck + Black Edition The Browser is a Printing Press Luro | Luro Posts Luro blender.org - Home of the Blender project - Free and Open 3D Creation Software Sponsors

The Bike Shed
403: Productivity Tricks

The Bike Shed

Play Episode Listen Later Sep 26, 2023 37:49


Stephanie is engrossed in Kent Beck's Substack newsletter, which she appreciates for its "working thoughts" format. Unlike traditional media that undergo rigorous editing, Kent's content is more of a work-in-progress, focusing on thought processes and evolving ideas. Joël has been putting a lot of thought into various tools and techniques and realized that they all fall under one umbrella term: analysis. From there, Stephanie and Joël discuss all the productivity tricks they like to use in their daily workflows. Do you have some keyboard shortcuts you like? Are you an Alfred wizard? What are some tools or mindsets around productivity that make YOUR life better? Kent Beck's Substack Tidy First? (https://tidyfirst.substack.com/) Debugging: Listing Your Assumptions (https://thoughtbot.com/blog/debugging-listing-your-assumptions) Dash (https://kapeli.com/dash) Alfred (https://www.alfredapp.com/) Rectangle (https://rectangleapp.com/) Meeter (https://apps.apple.com/us/app/meeter-for-zoom-teams-co/id1510445899) Vim plugins (https://github.com/thoughtbot/dotfiles/blob/main/vimrc.bundles#L32-L50) from thoughtbot's dotfiles, including vim-projectionist () for alternate files Go To Spec VS Code plugin (https://marketplace.visualstudio.com/items?itemName=Lourenci.go-to-spec) Feedbin (https://feedbin.com/) Energy Makes Time by Mandy Brown (https://everythingchanges.us/blog/energy-makes-time/) Transcript: AD: Ruby developers, The Rocky Mountain Ruby Conference returns to Boulder, Colorado, on October 5th and 6th. Join us for two days of insightful talks from experienced Ruby developers and plenty of opportunities to connect with your Ruby community. But that's not all. Nestled on the edge of the breathtaking Rocky Mountains, Boulder is a haven for outdoor lovers of all stripes. Take a break from coding. Come learn and enjoy at the conference and explore the charm of Downtown Boulder: eclectic shops, first-class restaurants and bars, and incredible street art everywhere. Immerse yourself in the vibrant culture and the many microbrew pubs that Boulder has to offer. Grab your tickets now at rockymtnruby.dev and be a part of the 2023 Rocky Mountain Ruby Conference. That's rockymtnruby.dev, October 5th and 6th in Boulder. See you there. JOËL: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Joël Quenneville. STEPHANIE: And I'm Stephanie Minn. And together, we're here to share a bit of what we've learned along the way. JOËL: So, Stephanie, what's new in your world? STEPHANIE: So, I have a new piece of content that I'm consuming lately. That is Kent Beck's Substack [chuckles], Kent Beck of Agile Manifesto and Extreme Programming notoriety. I have been really enjoying this trend of independent content creation in the newsletter format lately, and I subscribe to a lot of newsletters for things outside of work as well. I've been using an RSS feed to like, keep track of all of the dispatches I'm following in that way so that it also kind of keeps out of my inbox. And it's purely just for when I'm in an internet-reading kind of mood. But I subscribed to Kent's Substack. Most of his content is behind a subscription. And I've been really enjoying it because he treats it as a place for a lot of his working thoughts, kind of a space that he uses to explore topics that could be whole books. But he is still in the phase of kind of, like, thinking them through and, like, integrating, you know, different things he's learning, and acknowledging that, like, yeah, like, not all of these ideas are fully fleshed, but they are still worth publishing for people who might be interested in kind of his thought process or where his head is at. And I think that is really cool and very different from just, like, other types of content I consume, where there has been, like, a lot of, especially more traditional media, where there has been, like, more editing involved and a lot of time and effort to reach a final product. And I'm curious about this, like I mentioned, trend towards a little less polished and people just publishing things as they're working through them and acknowledging that the way they're thinking about things can change over time. JOËL: It sounds like this is kind of halfway between a book which has gone through a lot of editing and, you know, a tweet thread, which is pure stream of consciousness. STEPHANIE: Yeah, that's a really great insight, actually. And I think that might be my sweet spot in terms of things I enjoy consuming or reading because I like that room for change and that there is a bit of a, you know, community aspect to Substack where you can comment on posts. But, at least in my experience, has seemed, like, relatively healthy because it is, you know, you're kind of with a community of people who are at least invested or willing to pay [chuckles] for the content. So, there is some amount of good faith involved. His newsletter title itself it's called "Tidy First?" And so, that almost implies that it's, like, something he's still exploring or experimenting with, which I think is really cool. It's not like a I have discovered, like, the perfect way to do things, and, you know, you must always tidy first before you do your software development. He's kind of in the position of, this is what I think works, and this is my space for continuing to refine this idea. JOËL: I'm curious: are there any sort of articles that you've read or just thoughts in general that you've seen from Kent that are particularly impactful or memorable to you? STEPHANIE: Yeah. One I read today during my investment time is called Accountability in Software Development. And it was a very interesting take on the idea of accountability, not necessarily, like, when it's forced by others or external forces like a manager or, you know, your organization, but when it comes from yourself. And he describes it as a way to feel comfortable and confident in the work that he's doing and also building trust in himself and in his work but also in his teams. By being transparent and literally accounting for the things that he's doing and sharing them, communicating them publicly, that almost ends up diminishing any kind of, like, distrust, or shame, or any of those weird kind of squishy things that can happen when you hide those things or, like, hide what you're doing. It becomes a way to foster the good parts of working with other people but not in a necessarily like, resentful way or in a hierarchical way. I was really interested in the idea of accountability, ultimately, like, for yourself, and then that ends up just propagating to the team. JOËL: That's a really interesting topic because I think it sort of sits at the intersection of the personal and the technical. STEPHANIE: Yeah, absolutely. He mentions more technical strategies or tasks that kind of do the same thing. You know, he mentions test-driven development, as well as, like, a way of holding yourself accountable to writing software that, you know, doesn't have bugs in it. So, I think that it can be applied to, you know, exactly both of those, like, interpersonal stuff and also technical aspects too, anyway, that's what's new in my world. Joël, what about you? JOËL: So, this year, I've been putting a lot of thought into a variety of tools and processes. And I think I've come to the realization that they all really fall under one kind of umbrella term, and that would be analysis. It's a common step in some definitions of the traditional software development lifecycle. And it's where you try to after you've kind of gathered the requirements, try to break them down and understand what exactly that means from a technical perspective, what needs to happen. And so, a lot of the things that have been really fascinating to me this year have been different techniques that I can use to become better at that sort of phase. STEPHANIE: Wow. That's very powerful, I think. And honestly, the first thing that comes to mind is, how do you make time for it? JOËL: I think we all do it to a certain extent. You know, you pick up a ticket, and there is a prose description of some work to be done, hopefully not telling you directly, like, just go make a change to this class, but here's a business problem to be solved. And then you have to sort of figure out how to break it down. So, this can be as simple as, oh, what objects, what classes do I need to introduce for this change? But it might be more subtle in terms of thinking, okay, well, what are the edge cases I need to think about? Where are things that could fail, and how am I going to handle failure? So, there's a variety of techniques that you can use to get better at all of these. You can use them kind of at the micro level when thinking about just a ticket. You can use them when working on a larger epic, a larger initiative, a whole project because I think analysis fits into kind of all of these levels. And so, I think those are the techniques that have been most exciting to me this year and that have really connected. STEPHANIE: That is very exciting. It's triggering a lot of thoughts for me about how I incorporate analysis into my work and how that has actually evolved; where I think before, earlier in my career, I assumed that the analysis had been done by someone else who knew better than me or who knew more than me. And that by the time that you know, a piece of work kind of landed in my lap, I was like, okay, well, I just want to know what to do, right? Like, I want someone else to tell me what to do [laughs]. But now I think I have taken it upon myself to do more of that and, like, have realized that it's part of my role. And sometimes it will now be kind of a flag or, like, a signal to me when that hasn't been done. And I can tell when I receive a ticket, and it's, like, maybe missing the business problem or doesn't have enough information. And determining whether that is information that I need to go and find out, or if there's someone else who I can work together with to do that analysis with, or having a better understanding of, like, what is within my realm of analysis to do, and what I need to encourage other people to do analysis for before the work is ready for me. JOËL: I think there is an interesting distinction between more traditional requirements gathering and analysis, where traditional requirements gathering is getting all that business problem information from product people, from customers, things like that. The analysis step is often a little bit more about breaking down a business problem into, like, what are the technical ramifications of that? But there can be a little of a synergy there where sometimes, once you start exploring the technical side of it, it might bring up a lot of edge cases that have impacts on the product side, on the business side. And then you have to go back to the businesspeople and say, "Hey, we only talked about sort of the happy path. What happens if payment is declined? What do we want to do there?" And now we're back in sort of that requirements gathering phase a little bit more rather than purely analysis. But it can come out of an analysis phase where you've done maybe some state machine diagramming to try to better understand how things flow from one phase to another. Or maybe you were building out a truth table for some complex logic and realized, wait a minute, there's an edge case I didn't handle. It's not a strictly linear process. The two kind of feed into each other and, honestly, into the implementation side as well. STEPHANIE: Yeah, I'm with you there. I'm thinking about a piece of work that I've been working on, where we were thinking of doing a database migration and adding some new columns to a table. But the more I dug into it, the more I realized that that was the first idea or the immediate idea that came from a need that I had limited information about. And what was nice was I was able to sit on it for a little bit, get some input from others. And I realized that there were all of these things that I couldn't answer yet. And someone, I think literally asked in a code review if you've already done this analysis, between knowing that these columns will be the kind of extent of what you need versus, you know, will the data end up needing more columns? And should the data model be a little more flexible to that potential change? And they said, "If you had already done this analysis, then, like, otherwise, it looks good to me." And I was like, "Oh, I didn't." [laughs] And that encouraged me to go back to some cross-functional members of the team and ask more questions. And that has taken more time. That was another challenge that I had to encounter was saying like, "Yeah, we started this, and we made some progress. But actually, we need to revisit a few things, like a few parts of the premise, before continuing on." JOËL: Are there any techniques or approaches that you particularly enjoy when it comes to doing an analysis or that maybe are go-to's for you? STEPHANIE: Reminding myself to revisit my assumptions [laughs], or at least even starting by being really clear about what I'm assuming, right? Because I think that has to happen first before you can even revisit them is having an awareness of what assumptions you're making. And I actually think this is where collaboration has been really helpful, where I've been working on this task with another developer on my team. And when we've been talking about it, I found myself saying, "Oh, I'm assuming this," right? Or, like, I'm assuming that the stakeholder knows what they need [laughs]. And that's why we're going to do it this way, where we were kind of given the pieces of data that we should be persisting. And the more that we had that conversation, the more I realized, like, actually, like, I'm not convinced that they have that full picture of, like, what they need in the future. And because we're making this decision now, like, we are turning, you know, literally from, like, the abstract into, like, a concrete change [chuckles] in the database, now seems like...now that we're faced with that decision, it seems like a good time to revisit the assumption that I was making. And that has proved helpful in making ultimately, like, a more informed decision about, like, which way to go technically. But I personally have found a lot of value in verbally processing it with someone else. It's a lot harder for me to identify them, I think, when I'm in my own head. JOËL: That's really interesting that you keyed in on the idea of assumptions. I typically think of assumptions being, like, so important mostly in debugging rather than analysis. In fact, I wrote a whole blog post about why listing your assumptions is so important as part of your debugging process. Now, like, my mind is spinning a little bit. I'm like, oh, I wonder if I could use some of those, like, debugging techniques as part of more of my analysis step. And could that make me better? So, I think you've put me on a whole, like, thought track of, like, oh, how many of these debugging techniques can I use to make my analysis better? So, that's really cool. STEPHANIE: Yeah, and vice versa. So, a few minutes ago, I'd asked you how you make time for that analysis. Because I was thinking that, you know, in my day-to-day work, I'm juggling so many things. I often find myself running out of time and not able to do all of it. And that, I think, leads us really well into our topic for this episode, which is productivity tricks and ways that we make the most use out of our limited time. JOËL: I think I may have a maybe a bit of a controversial opinion on productivity tricks. I feel like a lot of productivity tricks don't actually make me that much faster. Like, maybe I save a couple of minutes a day, maybe 5 or 10 a day with productivity tricks. And, sure, that adds up over the course of a year. But there are other things I could do in terms of, like, maybe better habits, better managing of my schedule that probably have a much more significant impact. Where I think they are incredibly valuable, though, is not directly making me better with my time management but managing my focus, allowing me to kind of keep in the flow and get things done without getting sidetracked. Or just kind of giving me the things that I need in the moment that I need them so that I'm not getting on to a subtask that I don't really need to be doing. STEPHANIE: Yeah. I really like that reframing of what helps you focus because as I was brainstorming ways that I stay on track for my work, I think I ended up discovering a similar theme where it wasn't so much, like, little snippets and tools for me, as opposed to how I structure all of the noise, I guess, in my day-to-day work and being able to see what it is that I need to care about the most right now. JOËL: I think one of the things that I've tried to do for myself is to make it easy to have access to the information and the tools that I need. Probably one of the most useful bits of that is a combination of the documentation viewer Dash and the...I'm not sure what it would be called– launcher, productivity manager tool for Mac. Alfred, with a CMD + Space, it brings up this bar I can type into. And then you can trigger all sorts of things from there. And so I can type the name of a language or some kind of keyword that I have set up and the name of a method. And then, all of a sudden, it'll show me everything like, you know, top five results. And I can hit Enter, and it will bring up the documentation for that. So, if I want to say, oh yeah, what is the order of the arguments for Enumerable's inject method (which I constantly forget)? You know, it's a few keyboard shortcuts, you know, CMD + Space Ruby Enumerable inject. It's fuzzy finding, so I probably don't even need to type all of that. Hit Enter, and I have the documentation right in front of me. So, that makes it so that I can get access to that with very little amount of context shifting. STEPHANIE: Yeah. I like what you said about how the tools are really helping you, like, narrow down, like, the views of, like, what is most important for you in that moment, and it's doing a little bit of that work for you. I think the couple of tools and apps that I actually did want to share are kind of similar. One MacOS app I really like is called Rectangle for windows management, which is really crucial for me because I don't enjoy like, swiping and tabbing between applications. I would much prefer just seeing, usually, just two things. I try to keep my screen limited to two different windows at once because once it gets more than that, I'm already just, like, overwhelmed [laughs]. And as I'm trying to focus a little bit more on just having, like, one thing be the focus of my attention at a time, Rectangle has been really nice in just really quickly being able to do my windows resizing. So, I usually have, like, either things split between my screen half and half. Like, right now, I have your face on my screen as we record this podcast, and then my notes editing software for taking notes about what we talk about. During my development workflow, it's usually, you know, just my editor, my terminal, and then maybe my browser ends up being, like, the thing that I tab into. But I'm able to just, like, set that all up, and as I need those windows to change depending on what my focus has been shifted to, to kind of make more space for whatever I'm reading, or looking at, or processing visually. The keyboard shortcuts that Rectangle...that I have now, you know, ingrained into my fingers [laughs] has been really helpful. It's like, I'm not fussing with just, like, too many things open. JOËL: I have yet to, like, dive into a window manager. I'm still in the clunky world of CMD tabbing. But maybe I should give that a try. STEPHANIE: For me, it has helped even just, like, identify the things that I need to give more space to on my screen and aggressively, like, cut everything else [laughs]. So, that's a really great MacOS app. And then, the other one is actually kind of a similar vein. It's called Meeter, M-E-E-T-E-R. And it has been really helpful for managing my meetings, especially my video call meetings where the video call software that's being used for the meeting may be variable. And also, when I have multiple email addresses that meetings are being sent to, you're able to sign into all of your calendar accounts. And it provides a really nice view of all of your meetings. It has a really, like, minimal, I guess, design in your toolbar, where it shows you how many minutes until your next meeting. And from that toolbar button, you can click to go to the video conferencing software directly for whatever meeting is up next. And you don't have to, you know, scramble to open Google Meet, or Zoom, or Webex, or whatever it is. And that's [chuckles] been nice, again, just kind of, like, cutting down on the amount of stuff that I need to remember and shift through to get to my destination. JOËL: I think I'm hearing kind of two themes emerge out of some of the things that we've shared. And I'd like to maybe explore them a little bit; one is the power of keyboard shortcuts. And I think that's maybe what a lot of us think of when we think of productivity apps, at least developers, right? We love keyboard shortcuts. And then, secondly, I think I'm hearing automation, right? So, you don't have to go through and, like, find that email or calendar link to find the Zoom link or whatever. It shows up in your toolbar. So, maybe we can dig into a little bit of the idea of keyboard shortcuts. Are you a person who like customizes a lot of keyboard shortcuts? And is that a part of your kind of productivity setup? STEPHANIE: Well, a while ago, we had talked about not keyboard shortcuts in the context of productivity, but I think I had mentioned that I was trying to use my mouse less [chuckles] because I was getting a little bit of wrist pain. And I think that actually has rolled into a little bit of, you know, just, like, more efficient navigation on my computer. I think my keyboard shortcut usage is mostly around window management, like I mentioned. I do feel like I have, like, a medium amount of efficiency in my editor. Sometimes, when I'm pairing with other people who use Vim, I'm, like, shook by how fast they're moving. And I have figured out what works for me in VS Code, and I don't think I need to get any faster. You know, I've just accepted that [laughs]. In fact, it's almost, like, the amount of speed and friction that I have, in my experience, is actually a little more beneficial for the speed that my mind works [laughs]. It kind of helps me slow down when I need to think about what I'm doing as opposed to just, like, being able to, like, do anything at my fingertips, and kind of my brain is just not able to think that fast. And then navigating Slack, which is where I also spend a lot of my time on my computer. Now, using Slack with my keyboard shortcuts has been really helpful because, again, I'm not, like, mindlessly browsing or clicking around. I'm just looking at my unread messages. One non-keyboard shortcut I really like with Slack is Command + K, which is the jump-to feature. And so, I'm using that to go to a specific channel that I know I'm looking for or my own personal DMs, where I keep a lot of notes as well. And, honestly, I think that's, like, the extent of my keyboard shortcut usage. I'm curious what your setup is in regards to that, though. JOËL: I think I'm similar to you in that I have not kind of maxed out the productivity around keyboard shortcuts. You'd mentioned the jump to in Slack. Several pieces of software have something kind of like that. It might be some sort of omnibar, or a command palette, or something like that, where you really just need to know...CMD + K, or CMD + P, CTRL + P are common ones. Then you can sort of, like, type a few characters to just describe the thing you want to do, or a search you want to make, or something like that. Just knowing that one keyboard shortcut for your one piece of software gets you, I don't know, 80% of the productivity that you want. It's kind of amazing. I love the idea of an omnibar. STEPHANIE: Yeah, I hadn't heard of omnibar as a phrase before, but that feels very accurate. I like that a lot, too, where it's, like, oftentimes, I don't do whatever particular thing enough necessarily for it to justify a keyboard shortcut, for me at least. I'm still able to be fast enough to get to, like I said, that final destination or the action that I want to take with a more universal shortcut like that. JOËL: In my editor...so I use Vim, and I got used to Vim's keyboard-based navigation. And that is something that I deeply appreciate, maybe not so much for speed but being able to almost kind of feel one with the machine. And the cursor moves around, and I don't have to, like, think about moving it. It's really a magical sort of feeling. And it's become so much muscle memory now that I can just sort of...the cursor jumps around, things change out. And I'm not, like, constantly thinking about it to the point where now, if I'm in any other editor, I really want to get those shortcuts or, I guess, maybe not shortcuts but a Vim-style navigation, keyboard-based navigation. STEPHANIE: Yeah, it sounds like it's not so much the time savings but the power that you have or the control that you have over your tools. JOËL: Yes. And I think, again, the idea of focus. Navigation has stopped becoming a thing where I have to actively think about it. And I feel like I really do just sort of think my fingers are on the keyboard. I'm not having to, like, do a physical motion where I switch my hands. Like, I'm typing, and I'm writing code, then I have to switch my hand away to a mouse to shift around or, like, move my hand off the home row to, like, find the arrow keys and, like, move around. I just kind of think, and the cursor jumps up. It's great. Maybe I'd be the same if I'd put a lot of time into getting really good at, you know, maybe arrow-based navigation. I still think the mouse you have to move your hand off. It breaks just in the tiniest little way the flow. So, for me, I really appreciate being fully keyboard-based when I'm writing code. STEPHANIE: Right. Being one with the keyboard. As you were talking about that, I very viscerally felt, you know, when you encounter a new piece of technology, and you're trying to navigate it for the first time, and you're like, wow, like, that takes so much mental overhead that it's, you know, just completely disruptive to the goal that you're trying to achieve with the software itself. JOËL: Yeah, it is a steep learning curve. So, we've talked about custom keyboard shortcuts in the editor. But it's common for people to augment their editor with plugins, maybe even some kind of, like, snippet manager to maybe expand snippets or to paste common pieces in. Is that something that you've done in your editor setup? I think you said you use VS Code as your sort of daily editor. STEPHANIE: Yeah, that's right. I actually think I almost forgot about some of my little bits of automation because they are just so spelled for me [laughs] that I don't have to think about them. But you prompting me just now reminded me that there are a few that I'd like to shut out. Snippets-wise, I mostly use them for when I'm writing tests and just having the it blocks or the context blocks expand out for me so I don't have to do any of that typing of the setup there. And since I do use a terminal outside of my editor...I know that some people really like kind of having that integrated and being able to run tests even faster without having to switch to a different application, but I like having them separate. There is a really great plugin called Go to Spec where you can be in any, you know, application code file, and it will pull up the spec file for you. I've been really enjoying that, and that is what helps my test writing be a little more automated, even though I'm having it in separate applications. JOËL: That is really useful. So, as a Vim user, I also have a plugin that does something similar, where I can switch to what's considered the alternate for a particular file, which is typically the spec, or if I'm in the spec, it'll switch to the source file that the spec is testing. STEPHANIE: And then, I do have one really silly one, which is that I got so sick and tired of not remembering how to, you know, type the symbols for string interpolation in Ruby that has also become a snippet where the hash key and the [inaudible 28:48] brackets can [laughs] populate it for me. JOËL: I love it. So, Stephanie, I'd like to go back to something you were talking about earlier in the show. When you were sharing about what was new in your world and, you mentioned that you subscribe to the Substack and that you subscribe to, actually, a lot of newsletters, and you said something that really caught my attention. You were saying that you don't want these all cluttering up your email inbox. And instead, you send all of these to an RSS reader application. What kind of application do you like to use? STEPHANIE: I use Feedbin for this. And I actually think that this was recommended by Chris Toomey back in the day on a previous Bike Shed episode before you and I hosted the show. But that has been really awesome. It has a just, like, randomly generated email address you can use when you sign up for newsletters. You use that instead. And I really like having that distinction because I honestly treat my email inbox as a bit of a to-do list, where I am archiving or deleting a lot of stuff. And then the things that remain in my inbox are things that I need to either respond to, or do, or get back to in some way. And then yeah, when I've completed it, then that's when I archive or delete. But now that we do have all this great content back in email form, I needed a separate space for that, where I similarly kind of treat it as, like, a to-read list. And yeah, like, I look at my unreads in the newsletter RSS reader that I'm using and go through that when I'm in a blog-reading kind of mood. JOËL: I really like that separation because I'm kind of like you. I treat my inbox as a to-do list. And it's hard to have newsletters come in and, like, I'm not ready to read them. But I don't want them in my to-do, or, like, they'll just kind of sit there and get mixed in and maybe, like, filtered down to the bottom. So, having that explicit separation to say, hey, here's the place I go to when I am in a reading mood, then I can read things. I think there's also I've sort of trained myself to only check my email during certain times. So, for example, I will not check my work email outside of working hours. But if I'm on the subway going somewhere and I've got some time where I could do some reading, it would probably be a good thing to be going through some kind of newsletter or something like that. So, I either have to remember to go back to it, or what I tend to do is just scroll Twitter and hope that someone has shared that link, and then I read it there, which is not a particularly effective way of doing things. So, I might try the RSS feed reader tool. What was it called? STEPHANIE: Feedbin. JOËL: Feedbin. All right, I might try to get into that. STEPHANIE: Yeah, I look forward to hearing if that ends up working for you because I agree, having the two separate spaces has been really helpful because I don't want to get distracted by my email/to-do list inbox if I'm just wanting to do a bit of reading, enjoy some content. So, one more theme around productivity that I don't think we've quite mentioned yet, but maybe we've talked a little bit around, is the idea that it's, at least for me, it's a product of time and energy. So, even if you have all the time in the world, you know, you can just stare into space or, like, stare at a line of code and not get [laughs] anything done. JOËL: I know the feeling. STEPHANIE: Right? I am kind of curious how or if you have any techniques for managing that aspect. When your focus is low like, how can you kind of get that back so that you can get back to doing your tasks or getting what you need to do done? JOËL: If I have the time, taking a break is a really powerful thing, particularly taking a break and doing something physical. So, if I can go outside and take a walk around the block, that's really helpful. And if I need a shorter thing that can be done in, like, five minutes or something, I have a pull-up bar set up in my place. So, I'll just go up and do a few sets there and get a little bit of the heart rate slightly up, do a little bit of blood pumping. And that sometimes can help reset a little bit. STEPHANIE: Nice. Yes, I'm all for doing something else [chuckles]. Even when you know that this is a priority or is kind of urgent or whatever, but you just can't get yourself to do it, I've found that asking myself the question, "What would make this task easier for me right now?" has been helpful during those moments. And, for me, that might be grabbing a friend, like, maybe I'm blocked because I'm really just unmotivated. But having someone along can kind of inject some of that energy for me. And then, there's a really great blog post by a woman named Mandy Brown. It's called Energy Makes Time. And she talks about how doing the things that fill our cup, actually, you know, even though it seems like how could we possibly have time to be creative, or, like you said, maybe do something physical, those seem, like, lower on the priority list. But when you kind of get to the point where you just feel so overwhelmed and can't do anything else, and you just go do those things that you know feel good for you, you kind of come back with a renewed perspective on your to-do list. And you can see, like, what things actually aren't that critical and can be taken off. Or you just find that you have the capacity or the energy to get the things that you are really dreading out of the way. So, that has been really helpful when I just am feeling blocked. Instead of, like, feeling bad about how unproductive [chuckles] I'm being, I take that as a sign of an opportunity to do something else that might set me up for success later. JOËL: Yeah. I think oftentimes, it's easy to think of productivity in terms of, like, how can I maybe eliminate some tasks that are not high value through clever automation, or keyboard shortcuts, or things like that? But oftentimes, it can be more about just sort of managing your focus, managing your energy. And by doing that, you might have a much higher impact on both how productive you feel—because that's an important thing as well, in terms of motivation—and, you know, how productive you actually are at getting things done. STEPHANIE: Right. At least for me, like, not all TDM is bad and needs to be automated away, but, like, my ability to, like, handle it in the moment. Whereas yeah, sometimes maybe I've just run the same few lines that should be just a script [chuckles], that should just be, you know, one command, enough times that I'm like, oh, like, I can't even do this anymore because of just, like, other things going on. But other times, like, it's really not a big deal for me to just, you know, run a few extra commands. And, like, that is perfectly fine. JOËL: I love writing a good Vim macro. Yeah. So, it's important to think beyond just the fun tools and the code that we can write. Kind of think a little bit more at that energy and that mental level. That said, there are a ton of great tools out there. We've named-dropped a bunch of them in this episode. For our listeners who are wondering or who weren't, like, necessarily taking notes, we've linked all of them in the show notes: bikeshed.fm. You can find them there. STEPHANIE: On that note, shall we wrap up? JOËL: Let's wrap up. STEPHANIE: Show notes for this episode can be found at bikeshed.fm. JOËL: This show has been produced and edited by Mandy Moore. STEPHANIE: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review in iTunes. It really helps other folks find the show. JOËL: If you have any feedback for this or any of our other episodes, you can reach us @_bikeshed, or you can reach me @joelquen on Twitter. STEPHANIE: Or reach both of us at hosts@bikeshed.fm via email. JOËL: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeee!!!! ANNOUNCER: This podcast is brought to you by thoughtbot, your expert strategy, design, development, and product management partner. We bring digital products from idea to success and teach you how because we care. Learn more at thoughtbot.com.

Hemispheric Views
091: The Dongle Was My Best Friend!

Hemispheric Views

Play Episode Listen Later Aug 10, 2023 47:54


The meetup feels a little light on attendance this week. Business Corner gets down to brass tacks on bitcoin portfolio diversification... a special guest from South Australia... a stubby, a pint, a tinny, what do you choose in this beer choose your own adventure? How about a review of every show episode in one convenient, easy-to-find place? Check! The Golden Guys 00:00:00 Say what now? ❓ The Golden Girls (https://en.wikipedia.org/wiki/The_Golden_Girls)

ShopTalk » Podcast Feed
549: Ben Ubois of Feedbin

ShopTalk » Podcast Feed

Play Episode Listen Later Jan 23, 2023 61:55


Ben Ubois is the founder of Feedbin, the RSS reader of choice for Dave and Chris. What influenced the creation of Feedbin, the state of RSS in 2023, curating your RSS feed, and subscribing to newsletters in Feedbin.

Fresh Fusion
83: E-Scooters & the News with FeedBin

Fresh Fusion

Play Episode Listen Later Dec 14, 2022 30:13


In this episode, I follow up on some of the continuing Mastodon/Twitter zaniness as well as some interesting takes around the web on “generative AI”, then dive right into my review of the Anyhill UM-2 e-scooter and an initial look at FeedBin for managing and reading news feeds. As Captain Pike would say, hit it!

Hemispheric Views
064: Nested Jackets!

Hemispheric Views

Play Episode Listen Later Aug 11, 2022 59:00


Jason's Internet has returned yet it still feels like something is missing on the show... It's probaby nothing. Martin is doing cool stuff with tiny lenses! Oh, our Zoom was hacked. BurkNet Returns... 00:00:00 Tethering (https://en.wikipedia.org/wiki/Tethering)

The Changelog
Long live RSS!

The Changelog

Play Episode Listen Later Jul 29, 2022 102:05 Transcription Available


This week we're joined again by Ben Ubois and we're talking about RSS. Yes, RSS…the tech that never seems to die and yet so many of us rely on it daily. Ben is the creator of Feedbin, which is self-described as “a nice place to read on the web.” Ben is also the maker of a new app on iOS for people who like podcasts. It's called Airshow and you can download it at airshow.fm. Ben catches us up on the state of Feedbin, we discuss the nine lives of RSS and its foundational utility for the indie web, the possibilities and short-comings of RSS, we get deep in the weeds on the Podcast 2.0 spec and the work being done on , and Ben also shares the details on his new app called Airshow.

Changelog Master Feed
Long live RSS! (The Changelog #499)

Changelog Master Feed

Play Episode Listen Later Jul 29, 2022 102:05 Transcription Available


This week we're joined again by Ben Ubois and we're talking about RSS. Yes, RSS…the tech that never seems to die and yet so many of us rely on it daily. Ben is the creator of Feedbin, which is self-described as “a nice place to read on the web.” Ben is also the maker of a new app on iOS for people who like podcasts. It's called Airshow and you can download it at airshow.fm. Ben catches us up on the state of Feedbin, we discuss the nine lives of RSS and its foundational utility for the indie web, the possibilities and short-comings of RSS, we get deep in the weeds on the Podcast 2.0 spec and the work being done on , and Ben also shares the details on his new app called Airshow.

Hemispheric Views
062: Stick to the Stationery!

Hemispheric Views

Play Episode Listen Later Jul 14, 2022 56:38


Your hemispheric hosts are joined by Anthony Agius from online newsletter The Sizzle, who explains his work and the importance of different news sources in tech. Not to mention, we properly announce the winner of Arcadia June 2022 and Andrew shares his advanced theory for improving your chances of finding a soulmate. ✍️

The Bike Shed
336: Million Dollar Password

The Bike Shed

Play Episode Listen Later May 3, 2022 35:07


Chris came up with a mnemonic device: Fn-Delete – for when he really wants to delete something and is also thinking about password complexity requirements, which leads to an exciting discussion around security theater. Steph talks about the upcoming RailsConf and the not-in-person option for virtual attendees. She also gives a shoutout to the Ruby Weekly newsletter for being awesome. NIST Password Standards (https://specopssoft.com/blog/nist-password-standards/) 3 ActiveRecord Mistakes That Slow Down Rails Apps: Count, Where and Present (https://www.speedshop.co/2019/01/10/three-activerecord-mistakes.html) Difference between count, length and size in an association with ActiveRecord (https://bhserna.com/count-size-length-active-record.html) Ruby Weekly (https://rubyweekly.com/) Railsconf 2022 (https://railsconf.org/) Become a Sponsor (https://thoughtbot.com/sponsorship) of The Bike Shed! Transcript: STEPH: Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Steph Viccari. CHRIS: And I'm Chris Toomey. STEPH: And together, we're here to share a bit of what we've learned along the way. So hey, Chris, happy Friday. You know, each time I do that, I can't resist the urge to say happy Friday, but then I realize people aren't listening on a Friday. So happy day to anyone that's listening. What's new in your world, friend? CHRIS: I'm going to be honest; you threw me for a loop there. [laughs] I think it was the most recent episode where we talked about my very specific...[laughs] it's a lovely Friday, that's true. There's sun and clouds. Those are true things. But yeah, what's new in my world? [laughs] I can do this. I can focus. I got this. Actually, I have one thing. So this is going to be, I'm going to say vaguely selfish, but I have this thing that I've been trying to commit into my brain for a long time, and I just can't get it to stick. So today, I came up with like a mnemonic device for it. And I'm going to share it on The Bike Shed because maybe it'll be useful for other people. And then hopefully, in quote, unquote, "teaching it," I will deeply learn it. So the thing that happens in my world is occasionally, I want to delete a URL from Chrome's autocomplete. To be more specific, because it's easier for people to run away with that idea, it's The Weather Channel. I do not like weather.com. I try to type weather often, and I just want Google to show me the little, very quick pop-up thing there. I don't want any ads. I don't want to deal with that. But somehow, often, weather.com ends up in my results. I somehow accidentally click on it. It just gets auto-populated, and then that's the first thing that happens whenever I type weather into the Omnibox in Chrome. And I get unhappy, and I deal with it for a while, then eventually I'm like, you know what? I'm deleting it. I'm getting it out of there. And then I try and remember whatever magical key combination it is that allows you to delete an entry from the drop-down list there. And I know it's a weird combination of like, Command-Shift-Alt-Delete, Backspace, something. And every single time, it's the same. I'm like, I know it's weird, but let me try this one. How about that one? How about that one? I feel like I try every possible combination. It's like when you try and plug in a USB drive, and you're like, well, it's this way. No, it's the other way. Well, there are only two options, and I've already tried two things. How can I not have gotten it yet? But I got it now. Okay, so on a Mac specifically, the key sequence is Shift-Function-Delete. So the way I'm going to remember this is Function is abbreviated on the keyboard as Fn. So that can be like I'm swearing, like, I'm very angry about this. And then Shift is the way to uppercase something like you're shouting. So I just really need to Fn-Delete this. So that's how I'm going to remember it. Now I've shared it with everyone else, and hopefully, some other folks can get utility out of that. But really, I hope that I remember it now that I've tried to boil it down to a memorable thing. STEPH: [laughs] It's definitely memorable. I'm now going to remember just that I need to Fn-Delete this. And I'm not going to remember what it all is tied to. [laughs] CHRIS: That is the power of a mnemonic device. Yeah. STEPH: Like, I know this is useful in some way, but I can't remember what it is. But yeah, that's wonderful. I love it. That's something that I haven't had to do in a long time, and I hadn't thought about. I need to do that more. Because you're right, especially changing projects or things like that, there are just some URLs that I don't need cached anymore; I don't want auto-completed. So yeah, okay. I just need to Fn-Delete it. I'll remember it. Here we go. I'm speaking this into the universe, so it'll be true. CHRIS: Just Fn-Delete it. STEPH: Your bit about the USB and always getting it wrong, you get it 50-50 [laughs] by getting it wrong, resonates so deeply with me and my capability with directions where I am just terrible whether I have to go right or left. My inner compass is going to get it wrong. And I've even tried to trick myself where I'm like, okay, I know I'm always wrong. So what if I do the opposite of what Stephanie would do? And it's still somehow wrong. [laughs] CHRIS: Somehow, your brain compensates and is like, oh, I know that we're going to do that. So let's...yeah, it's amazing the way these things happen. STEPH: Yep. I don't understand it. I've tried to trick the software, but I haven't figured out the right way. I should probably just learn and get better at directions. But here we are. Here we are. CHRIS: You just loosely referred to the software, but I think you're referring to the Steph software when you say that. STEPH: Yes. Oh yeah, Steph software totally. You got it. [laughs] CHRIS: Gotcha. Cool. Glad that I checked in on that because that's great. But shifting gears to something a little bit deeper in the technical space, this past week, we've been thinking about passwords within our organization at Sagewell. And we're trying to decide what we want to do. We had an initial card that came through and actually got most of the way to implemented to dial up our password strictness requirements. And as I saw that come through, I was like, oh, wait, actually, I would love to talk about this. And so we had the work that was coming through the PR that had been opened was a pretty traditional set of let's introduce some requirements on our passwords for complexity, so let's make it longer. We're going from; I think six was the default that Devise shipped with, so we're increasing that to, I think it was eight. And then let's say that it needs a number, and a special character, and an uppercase letter or something like that. I've recently read the NIST rules, so the National Institute of Standards and Technology, I think, is what they are. But they're the ones who define a set of rules around this or guidelines. But I think they are...I don't know if they are laws or what at this point. But they tell you, "This is what you should and shouldn't do." And I know that the password complexity stuff is on the don't do that list these days. So I was like, this is interesting, and then I wanted to follow through. Interestingly, right now, I've got the Trello boards up for The Bike Shed right now. But as a result, I can't look at the linked Trello card that is on the workboards because they're in different accounts. And Trello really has made my life more difficult than I wanted. But I'm going to pull this up elsewhere. So let's see. So NIST stuff, just to talk through that, we can include a link in the show notes to a nice summary. But what are the NIST password requirements? Eight character minimum, that's great. Change passwords only if there is evidence of a compromise. Screen new passwords against a list of known compromised passwords. That's a really interesting one. Skip password hints, limit the number of failed authentication attempts. These all sound great to me. The maximum password length should be at least 64 characters, so don't constrain how much someone can put in. If they want to have a very long password, let them go for it. Don't have any sort of required rotation. Allow copy and pasting or functionality that allows for password managers. And allow the use of all printable ASCII characters as well as all Unicode characters, including emojis. And that one really caught my attention. I was like, that sounds fun. I wish I could look at all the passwords in our database. I obviously can't because they're salted and encrypted, and hashed, and all those sorts of things where I'm like, I wonder if anybody's using emojis. I'm pretty sure we would just support it. But I'm kind of intrigued. STEPH: You said something in that list that caught my attention, and I just want to see if I heard it correctly. So you said only offer change password if compromised? Does that mean I can't just change my password if I want to? CHRIS: Sorry. Yeah, I think the phrasing here might be a little bit odd. So it's essentially a different way to phrase this requirement is don't require rotation of passwords every six or whatever months. Forgotten password that's still a reasonable thing to have in your application, probably a necessity in most applications. But don't auto-rotate passwords, so don't say, "Your password has expired after six months." STEPH: Got it. Okay, cool. That makes sense. Then the emojis, oh no, it's like, I mean, I use a password manager now, and thanks to several years ago where he shamed me into using one. Thank you. That was great. [laughs] CHRIS: I hope it was friendly shame, but yeah. STEPH: Yes, it was friendly; kind shame if that sounds like a weird sentence to say. But yes, it was a very positive change. And I can't go back now that I have a password manager in my life. Because yeah, now I'm thinking like, if I had emojis, I'd be like, oh great, now I have to think about how I was feeling at the time that then I introduced a new password. Was I happy? Was I angry? Is it a poop emoji? Is unicorn? What is it? [laughs] So that feels complicated and novel. You also mentioned on that list that going for more complexity in terms of you have to have uppercase; you have to have a particular symbol, things like that are not on the recommended list. And I didn't know that. I'm so accustomed to that being requirements for passwords and the idea of how we create something that is secure and less easy to guess or to essentially hack. So I'm curious about that one if you know any more details about it as to why that's not the standard anymore. CHRIS: Yeah, I think I have some ideas around it. My understanding is mostly that introducing the password complexity requirements while intended to prevent people from using very common things like names or their user name or things like that, it's like, no, no, no, you can't because we've now constrained the system in that way. It tends in practice to lead to people having a variety of passwords that they forget all the time, and then they're using the forgotten password flow more often. And it basically, for human and behavior reasons, increases the threat surface area because it means that they're not able to use...say someone has a password scheme in mind where it's like, well, my passwords are, you know, it's this common base, and then some number of things specific to the site. It's like, oh no, no, we require three special characters, so it's like they can't do their thing. And now they have to write it down on a Post-it Note because they're not going to remember it otherwise. Or there are a variety of ways in which those complexity requirements lead to behavior that's actually less useful. STEPH: Okay, so it's the Post-it Note threat vector that we have to be worried about. [laughs] CHRIS: Which is a very real threat factor. STEPH: I believe it. [laughs] Yes, I know people that keep lists of passwords on paper near their desk. [laughs] This is a thing. CHRIS: Yep, yep, yep. The other thing that's interesting is, as you think about it, password complexity requirements technically reduce the overall combinatoric space that the passwords can exist in. Because imagine that you're a password hacker, and you're like, I have no idea what this password is. All I have is an encrypted hashed salted value, and I'm trying to crack it. And so you know the algorithm, you know how many passes, you know potentially the salt because often that is available. I think it has to be available now that I think about that out loud. But so you've got all these pieces, and you're like, I don't know, now it's time to guess. So what's a good guess of a password? And so if you know the minimum number of characters is eight and, the maximum is 12 because that actually happens on a lot of systems, that's actually not a huge combinatoric space. And then if you say, oh, and it has to have a number, and it has to have an uppercase letter, and it has to have a special character, you're just reducing the number of possible options in that space. And so, although this is more like a mathematical thing, but in my mind, I'm like, yeah, wait, that actually makes things less secure because now there are fewer passwords to check because they don't meet the complexity requirements. So you don't even have to try them if you're trying to brute-force crack a password. STEPH: Yeah, you make a really good point that I hadn't really thought about because I've definitely seen those sites that, yeah, constrain you in terms of like, has to have a minimum, has to have a maximum, and I hadn't really considered the fact that they are constraining it and then reducing the values that it could be. I am curious, though, because then it doesn't feel right to have no limit in terms of, like, you don't want people then just spamming your sign up and then putting something awful in there that has a ridiculous length. So do you have any thoughts on that and providing some sort of length requirement or length maximum? CHRIS: Yeah, I think the idea is don't prevent someone who wants to put in a long passphrase, like, let them do that. But there is, the NIST guidelines specifically say 64 characters. Devise out of the box is 128, I believe. I don't think we tweaked that, and that's what we're at right now. So you can write an old-style tweet and that can be your password if that's what you want to do. But there is an upper limit to that. So there is a reasonable upper limit, but it should be very permissive to anyone who's like, I want to crank it up. STEPH: Cool. Cool. Yeah, I just wanted to validate that; yeah, having an upper bound is still important. CHRIS: Yeah, definitely. Important...it's more for implementation and our database having a reasonable size and those sorts of things. Although at the end of the day, the thing that we saw is the encrypted password. So I don't know if bcrypt would run slower on a giant body of text versus a couple of characters; that might be the impact. So it would be speed as opposed to storage space because you always end up with a fixed-length hash of the same length, as far as I understand it. But yeah, it's interesting little trade-offs like that where the complexity requirements do a good job of forcing people to not use very obvious things like password. Password does not fit nearly any complexity requirements. But we're going to try and deal with that in a different way. We don't want to try and prevent you from using password by saying you must use an uppercase letter and a special character and things that make real passwords harder as well. But it is an interesting trade-off because, technically, you're making the crackability easier. So it gets into the human and the technical and the interplay between them. Thinking about it somewhat differently as well, there's all this stuff about you should salt your passwords, then you should hash them. You should run them through a good password hashing algorithm. So we're using bcrypt right now because I believe that's the default that Devise ships with. I've heard good things about Argon2; I think is the name of the new cool kid on the block in terms of password hashing. That whole world is very interesting to me, but at the end of the day, we can just go with Devise's defaults, and I'll feel pretty good about that and have a reasonable cost factor. Those all seem like smart things. But then, as we start to think about the complexity requirements and especially as we start to interact with an audience like Sagewell's demographics where we're working with seniors who are perhaps less tech native, less familiar, we want to reduce the complexity there in terms of them thinking of and remembering their passwords. And so, rather than having those complexity requirements, which I think can do a good job but still make stuff harder, and how do you communicate the failure modes, et cetera, et cetera, we're switching it. And the things that we're introducing are we have increased the minimum length, so we're up to eight characters now, which is NIST's low-end recommended, so it's between 8 and 128 characters. We are capturing anytime a I forgot password reset attempt happens and the outcome of it. So we're storing those now in the database, and we're showing them to the admins. So our admin team can see if password reset attempts have happened and if they were successful. That feels like good information to keep around. Technically, we could get it from the logs, but that's deeply hidden away and only really accessible to the developers. So we're now surfacing that information because it feels like a particularly pertinent thing for us. We've introduced Rack::Attack. So we're throttling those attempts, and if someone tries to just brute force through that credential stuffing, as the terminology goes, we will lock them out so either based on IP address or the account that they're trying to log into. We also have Devise's lockable module enabled. So if someone tries to log in a bunch of times and fails, their account will go into a locked state, and then an admin can unlock it. But it gives us a little more control there. So a bunch of those are already in place. The new one, this is the one that I'm most excited about, is we're going to introduce Have I Been Pwned? And so, they have an API. We can hit it. It's a really interesting model as to how do we ask if a password has been compromised without giving them the password? And it turns out there's this fun sort of cryptographic handshake thing that happens. K-anonymity is apparently the mechanism or the underpinning technology or idea. Anyway, it's super cool; I'm excited to build it. It's going to be fun. But the idea there is rather than saying, "Don't use a password that might not be secure," it's, "Hey, we actually definitively know that your password has been cracked and is available in plaintext on the internet, so we're not going to let you use that one." STEPH: And that's part of the signup flow as to where you would catch that? CHRIS: So we're going to introduce on both signup and sign-in because a password can be compromised after a user signs up for our system. So we want to have it at any point. Obviously, we do not keep their plaintext password, so we can't do this retroactively. We can only do it at the point in time that they are either signing up or signing in because that's when we do have access to the password. We otherwise throw it away and keep only the hashed value. But we'll probably introduce it at both points. And the interesting thing is communicating this failure mode is really tricky. Like, "Hey, your password is cracked, not like here, not on our site, no, we're fine. Well, you should probably change your password. So here's what it means, there's actually this database that's called Have I Been Pwned? Don't worry; it's good, though. It's P-W-N-E-D. But that's fine." That's too many words to put on a page. I can't even say it here in a podcast. And so what we're likely to do initially is instrument it such that our admin team will get a notification and can see that a user's password has been compromised. At that point, we will reach out to them and then, using the magic of human conversation, try and actually communicate that and help them understand the ramifications, what they should do, et cetera. Longer-term, we may find a way to build up an FAQ page that describes it and then say, "Feel free to reach out if you have questions." But we want to start with the higher touch approach, so that's where we're at. STEPH: I love it. I love that you dove into how to explain this to people as well because I was just thinking, like, this is complicated, and you're going to freak people out in panic. But you want them to take action but not panic. Well, I don't know, maybe they should panic a little bit. [laughs] CHRIS: They should panic just the right amount. STEPH: Right.[laughs] So I like the starting with the more manual process of reaching out to people because then you can find out more, like, how did people react to this? What kind of questions did they ask? And then collect that data and then turn that into an FAQ page. Just, well done. CHRIS: We haven't quite done it yet. But I am very happy with the collection of ideas that we've come to here. We have a security firm that we're working with as well. And so I had my weekly meeting with them, and I was like, "Oh yeah, we also thought about passwords a bunch, and here's what we came up with." And I was very happy that they were like, "Yeah, that sounds like a good set." I was like, "Cool. All right, I feel good." I'm very happy that we're getting to do this. And there's an interesting sort of interplay between security theater and real security. And security theater, just to explain the phrase if anyone's unfamiliar with it, is things that look like security, so, you know, big green lock up in the top-left corner of the URL bar. That actually doesn't mean anything historically or now. But it really looks like it's very secure, right? Or password complexity requirements make you think, oh, this must be a very secure site. But for reasons, that actually doesn't necessarily prove that at all. And so we tried to find the balance of what are the things that obviously demonstrate our considerations around security to the user? At the end of the day, what are the things that actually will help protect our users? That's what I really care about. But occasionally, you got to play the security theater game. Every other financial institution on the internet kind of looks and feels a certain way in how they deal with passwords. And so will a user look at our seemingly laxer requirements or laxer approach to passwords and judge us for that and consider us less secure despite the fact that behind the scenes look at all the fun stuff we're doing for you? But it's an interesting question and interesting trade-off that we're going to have to spend time with. We may end up with the complexity requirements despite the fact that I would really rather we didn't. But it may be the sort of thing that there is not a good way to communicate the thought and decision-making process that led us to where we're at and the other things that we're doing. And so we're like, fine, we just got to put them in and try and do a great job and make that as usable of an experience as possible because usability is, I think, one of the things that suffers there. You didn't do one of the things on the list, or like, it's green for each of the ones that you did, but it's red for the one that you didn't. And your password and your password confirmation don't match, and you can't paste...it's very easy to make this wildly complex for users. STEPH: Security theater is a phrase that I don't think I've used, but the way you're describing it, I really like. And I have a solution for you: underneath the password where you have "We don't partake in security theater, and we don't have all the other fancy requirements that you may have seen floating around the internet and here's why," and then just drop a link to the episode. And, you know, people can come here and listen. It'll totally be great. It won't annoy anyone at all. [laughs] CHRIS: And it'll start, and they'll hear me yelling about Fn-Delete that weather.com URL. [laughter] STEPH: Okay, maybe fast forward then to the part about -- CHRIS: Drop them to the timestamp. That makes sense. Yep. Yep. STEPH: Mm-hmm. Mm-hmm. [laughs] CHRIS: I like it. I think that's what we should do, yeah. Most features on the app should have a link to a Bike Shed episode. That feels true. STEPH: Excellent Easter egg. I'm into it. But yeah, I like all the thoughtfulness that y'all have put into this because I haven't had to think about passwords in this level of detail. And then also, yeah, switching over to when things start to change and start to move away, you're right; there's still that we need to help people then become comfortable with this new way and let them know that this is just as secure if not more secure. But then there's already been that standard that has been set for your expectations, and then how do you help people along that path? So yeah, seems like y'all have a lot of really great thoughtfulness going into it. CHRIS: Well, thank you. Yeah, it's frankly been a lot of fun. I really like thinking in this space. It's a fun sort of almost hobby that happens to align very well with my profession sort of thing. Actually, oh, I have one other idea that we're not going to do, but this is something that I've had in the back of my mind for a long time. So when we use bcrypt or Devise uses bcrypt under the hood, one of the things that it configures is the cost factor, which I believe is just the number of times that the password plus the salts and whatnot is run through the bcrypt algorithm. The idea there is you want it to be computationally difficult, and so by doing it multiple times, you increase that difficulty. But what I'd love is instead of thinking of it in terms of an arbitrary cost factor which I think is 12, like, I don't know what 12 means. I want to know it, in terms of dollars, how much would it cost to, like dollars and cents, to crack a password. Because, in theory, you can distribute this across any number of EC2 instances that you spin up. The idea of cracking a password that's a very map-reducible type problem. So let's assume that you can infinitely scale up compute on-demand; how much would it cost in dollars to break this password? And I feel like there's an answer. Like, I want that number to be like a million dollars. But as EC2 costs go down over time, I want to hold that line. I want to be like, a million dollars is the line that we want to have. And so, as EC2 prices go down, we need to increase our bcrypt cost factor over time to adjust for that and maintain the million dollar per password cracking sort of high bar. That's the dream. Swapping out the cost factor is actually really difficult. I've looked into it, and you have to like double encrypt and do weird stuff. So for a bunch of reasons, I haven't done this, but I just like that idea. Let's pin this to $1 value. And then, from there, decisions naturally flow out of it. But it's so much more of a real thing. A million dollars, I know what that means; 12, I don't know what 12 means. STEPH: A million-dollar password, I like it. I feel like -- CHRIS: We named the episode. STEPH: I was going to say that's a perfect title, A Million-Dollar Password. [laughs] CHRIS: A Million-Dollar Password. But with that wonderful episode naming cap there, I think I'm done rambling about passwords. What's up in your world, Steph? STEPH: One of the things that I've been chatting with folks lately is RailsConf is coming up; it's May 17 through the 19th. And it's been sort of like that casual conversation of like, "Hey, are you going? Are you going? Who's going? It's going to be great." And as people have asked like, "Are you going?" And I'm always like, "No, I'm not going." But then I popped on to the RailsConf website today because I was just curious. I wanted to see the schedule and the talks that are being given. And I keep forgetting that there's the in-person version, but there's also the home edition. And I was like, oh, I could go, I could do this. [laughs] And I just forget that that is something that is just more common now for conferences where you can attend them virtually, and that is just really neat. So I started looking a little more closely at the talks. And I'm really excited because we have a number of thoughtboters that are giving a talk at RailsConf this year. So there's a talk being given by Fernando Perales that's called Open the Gate a Little: Strategies to Protect and Share Data. There's also a talk being given by Joël Quenneville: Your Test Suite is Making Too Many Database Calls. I'm very excited; just that one is near and dear to my heart, given the current client experiences that I'm having. And then there's another one from someone who just joined thoughtbot, Christopher "Aji" Slater, Your TDD Treasure Map. So we'll be sure to include a link to those for anyone that's curious. But it's a stellar lineup. I mean, I'm always impressed with RailsConf talks. But this one, in particular, has me very excited. Do you have any plans for RailsConf? Do you typically wait for them to come out later and then watch them, or what's your MO? CHRIS: Historically, I've tended to watch the conference recordings after the fact. I went one year. I actually met Christopher "Aji" Slater at that very RailsConf that I went to, and I believe Joël Quenneville was speaking at that one. So lots of everything old is new again. But yeah, I think I'll probably catch it after the fact in this case. I'd love to go back in person at some point because I really do like the in-person thing. I'm thrilled that there is the remote option as well. But for me personally, the hallway track and hanging out and meeting folks is a very exciting part. So that's probably the mode that I would go with in the future. But I think, for now, I'm probably just going to watch some talks as they come out. STEPH: Yeah, that's typically what I've done in the past, too, is I kind of wait for things to come out, and then I go through and make a list of the ones that I want to watch, and then, you know, I can make popcorn at home. It's delightful. I can just get cozy and have an evening of RailsConf talks. That's what normal people do on Friday nights, right? That's totally normal. [laughs] CHRIS: I mean, yeah, maybe not the popcorn part. STEPH: No popcorn? CHRIS: But not that I'm opposed to popcorn just —- STEPH: Brussels sprouts? What do you need? [laughs] CHRIS: Yeah, Brussels sprouts, that's what it is. Just sitting there eating handfuls of Brussels sprouts watching Ruby conference talks. STEPH: [laughs] CHRIS: I do love Brussels sprouts, just to throw it out there. I don't want it to be out in the ether that I don't like them. I got an air fryer, and so I can air fry Brussels sprouts. And they're delicious. I mean, I like them regardless. But that is a really fantastic way to cook them at home. So I'm a big fan. STEPH: All right, I'm moving you into the category of fancy friends, fancy friends with an air fryer. CHRIS: I wasn't already in your category of fancy friends? STEPH: [laughs] I didn't think you'd take it that way. I'm sorry to break it to you. [laughter] CHRIS: I'm actually a little hurt that I'm now in the category of fancy friends. It makes a lot of sense that I wasn't there before. So I'll just deal with...yeah, it's fine. I'm fine. STEPH: It's a weird rubric that I'm running over here. Pivoting away quickly, so I don't have to explain the categorization for fancy friends, I saw something in the Ruby Weekly Newsletter that had just come out. And it's one of those that I see surface every so often, and I feel like it's a nice reminder because I know it's something that even I tend to forget. And so I thought it'd be fun just to resurface it here. And then, we can also provide a link to the wonderful blog post that's written by Benito Serna. And it's the difference between count, length, and size and an association with ActiveRecord. So for folks that would love a refresher, so count, that's a method that's always going to perform a SQL count query. So even if the collection has already been loaded, then calling count is always going to execute a database query. So this is the one that's just like, watch out, avoid it. You're always going to hit your database when you use this one. And then next is length. And so, length loads the whole collection into memory and then returns that length to the number of items in that collection. If the collection has been loaded, then it's not going to issue a database call. And then it's just still going to use...it's going to delegate to that Ruby length method and let you know how many records are in that collection. So that one is a little bit better because then that way, if it's already loaded, at least you're not going to have a database call. And then next is the size method, which is just the one that's more highly recommended that you use because this one does have a nice safety net that is built-in because first, it's going to check if we need to perform a database call, if the records have been loaded or not. So if the collection has not been loaded, so we haven't executed a database query and stored the result, then size is going to perform a database query. Specifically, it's using that SQL count under the hood. And if the collection has been loaded, then a database call is not issued, and then going to use the Ruby length method to then return the number of records. So it just helps you prevent unnecessary database calls. And it's the reason that that one is recommended over using count, which is going to always issue a call. And then also to avoid length where you can because it's going to load the whole collection into memory, and we want to avoid that. So it was a nice refresher. I'll be sure to include a link in the show notes. But yeah, I find that I myself often forget about the difference in count and size. And so if I'm just in the console and I just want to know something, that I still reach for count. It is still a default for mine. But then, if I'm writing production code, then I will be more considered as to which one I'm using. CHRIS: I feel like this is one of those that I've struggled to lock into my head, but as you're describing it right now, I think I've got, again, another mnemonic device that we can lock on to. So I know that SQL uses the keyword count, so count that's SQL definitely. Length I know that because I use that on other stuff. And so it's size that is different and therefore special. That all seems good. Cool, locking that in my brain along with Fn-Delete. I have two things that are now firmly locked in. So you were just mentioning being in the console and working with this. And one of the things that I've noticed a lot with folks that are newer to ActiveRecord and the idea of relations and the fact that they're lazy, is that that concept is very hard to grasp when working in a console because at the console, they don't seem lazy. The minute you type out user.where some clause, and the minute you type that and hit enter in the console, Ruby is going to do its normal thing, which is like, okay, cool, I want to...I forget what it is that IRB or any of the REPLs are going to do, but it's either inspect or to_s or something like that. But it's looking for a representation that it can display in the console. And ActiveRecord relations will typically say like, "Oh, cool, you need the records now because you want to show it like an array because that's what inspect is doing under the hood." So at the console, it looks like ActiveRecord is eager and will evaluate the query the minute you type it, but that's not true. And this is a critical thing that if you can think about it in that way and the fact that ActiveRecord relations are lazy and then take advantage of it, you can chain queries, you can build them up, you can break that apart. You can compose them together. There's really magical stuff that falls out of that. But it's interesting because sort of like a Heisenberg where the minute you go to look at it in the REPL, it's like, oh, it is not lazy; it is eager. It evaluates it the minute I type the query. But that's not true; that's actually the REPL tricking you. I will often just throw a semicolon at the end of it because I'm like, I don't want to see all that noise. Just give me the relation. I want the relation, not the results of executing that query. So if you tack a semicolon at the end of the line, that tells Ruby not to print the thing, and then you're good to go from there. STEPH: That's a great pro-tip. Yeah, I've forgotten about the semicolon. And I haven't been using that in my workflow as much. So I'm so glad you mentioned that. Yeah, I'm sure that's part of the thing that's added to my confusion around this, too, or something that has just taken me a while to lock it in as to which approach I want to use for when I'm querying data or for when I need to get a particular count, or length, or size. And by using all three, I'm just confusing myself more. So I should really just stick to using size. There's also a fabulous article by Nate Berkopec that's titled Three ActiveRecord Mistakes That Slow Down Rails Apps. And he does a fabulous job of also talking about the differences of when to use size and then some of the benefits of when you might use count. The short version is that you can use count if you truly don't care about using any of those records. Like, you're not going to do anything with them. You don't need to load them, like; you truly just want to get a count. Then sure, because then you're issuing a database query, but then you're not going to then, in a view, very soon issue another database query to collect those records again. So he has some really great examples, and I'll be sure to include a link to his article as well. Speaking of Ruby tidbits and kind of how this particular article about count, length, and size came across my view earlier today, Ruby Weekly is a wonderful newsletter. And I feel like I don't know if I've given them a shout-out. They do a wonderful job. So if you haven't yet checked out Ruby Weekly, I highly recommend it. There are just always really great, interesting articles either about stuff that's a little bit more like cutting edge or things that are being released with newer versions, or they might be just really helpful tips around something that someone learned, like the difference between count, length, and size, and I really enjoy it. So I'll also be sure to include a link in the show notes for anyone that wants to check that out. They also do something that I really appreciate where when you go to their website, you have the option to subscribe, but I am terrible about subscribing to stuff. So you can still click and check out the latest issue, which I really appreciate because then, that way, I don't feel obligated to subscribe, but I can still see the content. CHRIS: Oh yeah. Ruby Weekly is fantastic. In fact, I think Peter Cooper is the person behind it, or Cooperpress as the company goes. And there is a whole slew of newsletters that they produce. So there's JavaScript Weekly, there's Ruby Weekly, there's Node Weekly, Golang Weekly, React Status, Postgres Weekly. There's a whole bunch of them. They're all equally fantastic, the same level of curation and intentional content and all those wonderful things. So I'm a big fan. I'm subscribed to a handful of them. And just because I can't go an episode without mentioning inbox zero, if you are the sort of person that likes to defend the pristine nature of your email inbox, I highly recommend Feedbin and their ability to set up a special email address that you can use to then turn it into an RSS feed because that's magical. Actually, these ones might already have an RSS feed under the hood. But yeah, RSS is still alive. It's still out there. I love it. It's great. And that ends my thoughts on that matter. STEPH: I have what I feel is a developer confession. I don't think I really appreciate RSS feeds. I know they're out there in the ether, and people love them. And I just have no emotion, no opinion attached to them. So one day, I think I need to enjoy the enrichment that is RSS feeds, or maybe I'll hate it. Who knows? I'm reserving judgment. Either way, I don't think I will. [laughs] But I don't want to box future Stephanie in. CHRIS: Gotta maintain that freedom. STEPH: On that note, shall we wrap up? CHRIS: Let's wrap up. The show notes for this episode can be found at bikeshed.fm. STEPH: This show is produced and edited by Mandy Moore. CHRIS: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review on iTunes, as it really helps other folks find the show. STEPH: If you have any feedback for this or any of our other episodes, you can reach us at @_bikeshed or reach me on Twitter @SViccari. CHRIS: And I'm @christoomey. STEPH: Or you can reach us at hosts@bikeshed.fm via email. CHRIS: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeee!!!!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

The Bike Shed
327: Estimate Crafting

The Bike Shed

Play Episode Listen Later Feb 22, 2022 42:33


Steph joins Chris in trying new things! For her, it's a new email client – the Newton email client – because she really wants to love her inbox. She also talks about implementing a suggestion from Chris on improving CI speed. Chris continues his search for the perfect to-do list app. (It's not going great.) But he has made hiring progress and is excited to move on to the next step: onboarding. Together they answer a listener question who asked for advice on crafting project estimates for clients. This episode is brought to you by ScoutAPM (https://scoutapm.com/bikeshed). Give Scout a try for free today and Scout will donate $5 to the open source project of your choice when you deploy. Services down? New Relic (https://newrelic.com/bikeshed) offers full stack visibility with 16 different monitoring products in a single platform. Newton (https://newtonhq.com/) Subscribe to Email Newsletters in Feedbin (https://feedbin.com/blog/2016/02/03/subscribe-to-email-newsletters-in-feedbin/) GitHub - Shopify/packwerk (https://github.com/Shopify/packwerk) Sunsama (https://sunsama.com/) TickTick: To-do List, Tasks, Calendar, Reminder (https://ticktick.com/) Become a Sponsor (https://thoughtbot.com/sponsorship) of The Bike Shed! Transcript: CHRIS: I am now recording. STEPH: Me too. CHRIS: [laughs] That's my recording voice. STEPH: [laughs] CHRIS: That's how you can tell. STEPH: I just like how it sounds suspicious where we're like; I'm now recording, so be careful. [laughs] CHRIS: This is now on the record. Hello and welcome to another episode of The Bike Shed, a weekly podcast from your friends at thoughtbot about developing great software. I'm Chris Toomey. STEPH: And I'm Steph Viccari. CHRIS: And together, we're here to share a bit of what we've learned along the way. So, Steph, what's new in your world? STEPH: Hello. Happy, happy Friday. Oh, I have something that I'm excited or intrigued about. I don't know. Okay, I'm hyping it up. [laughs] But I'm realizing I'm also very skeptical of it. CHRIS: This is the best sales pitch I've ever heard. I'm so excited to hear what this is. [laughs] STEPH: I am trying a new email client; it is the Newton email client. And I so want to love my inbox. I want to check on it. I want to help it grow. Okay, that's the opposite. I want to help get through all the emails that come through, but I just want to love it. I want it to be a good space that I want to go to. And I just hate email so much. And it always feels like this chore that it's really hard for me to bring myself to do, but yet it's really important because a lot of good things come through email. So this is my rambly way of saying I'm trying the Newton email client because I saw on Twitter from Andrew Mason, who has very similar feelings that I do about email, where we are just not fans of it. And we rarely check it and have declared email bankruptcy at several points in our life. And he's also one of the co-hosts for Remote Ruby. But I saw on Twitter that Andrew was talking about the Newton email client and how it actually made him feel that he enjoyed writing and looking through his inbox. And I was like, yeah, that's the sales pitch I need. So I'm giving it a go. It's been only a couple of days. But one of the nice things I have noticed about it is it's very focused, and there's not much noise, and it actually feels like very minimal design where if you open up like a new email, so you're opening up a new draft, there's no much noise. You get to just focus, almost like you're writing a little blog post or journal post or something. It takes away a lot of the noise. While in Gmail, it's going to open up a small window in the right, but then you still have the rest of the noise that feels distracting. So I like that very intentional like, hey, you're just doing one thing, just focus on this. And then also you can integrate other email accounts as well. So you can have one-stop shopping versus Gmail, then you have to click around and sign in, sign out, or visit different email accounts. So we'll see if it helps improve my email life, but that's something new I'm trying. CHRIS: Very interesting. So you're fully on inbox zero life now. That's what I'm hearing. [laughs] STEPH: Ah, hmm. I don't want to lie to you. [laughs] We have a good friendship. I won't start lying now. CHRIS: I appreciate that. So you're halfway to inbox zero. You're not even entertaining that idea, right? This is just you want a better tool to do email. STEPH: Exactly. Inbox zero is not incredibly important to me. But I do want to make sure that I know that I've seen everything important, and I know where to find things. And then making sure that I am responding to people in a timely manner. Those are more my goals. Inbox zero, if that supports it, then great, I'll work on it. But not necessarily that has to be the goal that I reach. CHRIS: Gotcha. I'm not seeing Newton, but I'm intrigued. Particularly on mobile, I have the Gmail mobile app, and that has unified inbox, which I appreciate. But Gmail on the web does not, and I find that odd. And I've never found a mail app that I enjoy because I want some of the features of Gmail. I want to do Gmail snoozing because I still want that to be consistent and whatnot. And to be honest, that's the main way that I get to inbox zero. I just say future me will have more time. I actually tweeted recently. It was a screenshot from my Saturday inbox, which I think was 15 emails that I'd snoozed from the previous week into Saturday morning. Because I'm like, Saturday morning me will have so much time, and energy, and coffee, and it'll be great. And then it became Saturday morning and, ooph, what a view. STEPH: [laughs] Yeah, your snoozing tip has been life-changing for me because that's not something that I was using all that much. The two things are, one, schedule send so that way if I do have a sudden burst of energy and I want to write an email, but I want to make sure that person doesn't get notified until a decent time. Being able to schedule an email and snoozing is amazing. I think Newton and Gmail have pretty much similar features. I was trying to do a comparison. I was like, is there something really snazzy that Newton does that Gmail doesn't already give me? But it looks like they all do about the same, having those important features like snoozing and then also being able to schedule emails. So I think it really just comes down to a lot of the UI, and there may be some other stuff I'm missing since I'm new to it. But that's the main appeal for me right now is the focus and the look and feel of it. So then maybe I will find looking through my inbox a more zenful experience, I think is how I saw them advertise it. CHRIS: Well, I definitely look forward to hearing more as you explore this space. I will say looping back to what you were just commenting on around deferred send, which is definitely something that I use, but you described one of the reasons that I use it. So the idea of wanting to be respectful of someone else and not send them an email on Sunday night because you happen to be working at that point. But you don't want to put that on their plate. I would say equal amounts; that's the reason I use scheduled send. And then the other reason that I use scheduled send is please, for the love of God, I do not want another email back in my inbox. So I will reply to something such that now I'm done with that, but I will schedule send it for the next morning. Because tomorrow morning me can deal with whatever reply this generates. There's some adage; I don't know if it's an adage, but the idea that every email that you send generates 1.1 emails in reply. So emails just have this weird way of multiplying. And so if you send one out there, you're probably going to get something back. And so often, if I'm trying to clear my inbox, I don't want to get another email in my inbox at that moment. So I will not actually send the reply. I will schedule it for a future time because I do not want to hear. I want no new inputs at this point. I'm trying to process them. So that's part of why I use deferred send. STEPH: I had not thought of that, that yeah, that if you schedule it for tomorrow, you've really gamified this inbox zero because you're like, yeah, if you send something, then you might get an email back. But you're like, if I wait till tomorrow to send it, then I'm less likely to have another email, and then I've hit inbox zero, and I'm set for the day. I like it. It seems helpful. CHRIS: Yeah, inbox zero sounds like an altruistic thing, but it is not. It's a way to force myself to have to make decisions, which is something that I want to get better at broadly. And that's part of the role that I have now. A lot of what I'm interested in exploring is just getting better at making decisions, being more decisive, being more action-oriented. Because I just have a tendency to make many, many spreadsheets and think about stuff for a while and take a long time to make a decision. But I don't get to do that, particularly now. But broadly in life, that's probably not the right mode to be in. So inbox zero is another thing that forces me to deal with things rather than just be like, I don't know, I don't know, I don't know, and keep looking at the same thing over and over. So just more thoughts about inbox zero, but now I'll stop talking about it. STEPH: I do like that, though. And you're totally right; it can be a very helpful constraint. And I think that's sometimes why I fight it because then I haven't curated my inbox enough that then when I go to it, there are so many interesting things that then I feel a little bit overwhelmed where I'm like, oh well, I want to read this, and I will look at that. And this seems interesting, and maybe I should be a part of this. It feels like one of those like; you could be a part of these ten amazing things. Do you want to be a part of all of them? And given a person that it's hard for me to say no to or recognize that no, I'm just going to not do anything with this, that is hard for me and would be a good skill for me to hone in on and practice and make quick decisions and be very realistic. Because I used to be subscribed to more newsletters, and then I finally had to stop subscribing to them because it had that same effect on me of that FOMO of like, I'm missing out on this great article or this great video. And I've become more honest with the fact that my Saturday morning self isn't going to want to read through a bunch of newsletters and videos about coding, that I'm going to want less screen time. So that is a really good constraint and helpful skill to cultivate for sure. CHRIS: All right, I said it was done, but one more thing. I feel like I've mentioned this in the past, but Feedbin is the thing that I use for RSS. I still believe in RSS as a technology. But everyone's moved to newsletters these days that go via email. Feedbin gives you an email address that you can use to subscribe to newsletters, and then they do the job of converting that into an RSS feed. So for me, I take something that was now a push into my inbox, and now I can pull whatever I want from that RSS feed. And on Saturday morning, if I'm feeling like, with a cup of coffee, I can enjoy some newsletter about all the new hot tips in Svelte land or whatever it is or not. But it's not clogging up my inbox. And with that, I think I'm actually done talking about inbox zero. [laughter] STEPH: Yeah, that's a nice separation. We could keep going. I have full faith in us that we could keep going about this. But I'll share a slightly different update. I've been implementing a suggestion that you provided a couple of weeks back where we were talking about Rspec's selective test running and how some applications will speed up their test. If you change one part of the codebase, then perhaps you only need to test this chunk of test. You don't actually need to run the full test suite. And that is complicated and seems hard to get right, and really requires understanding boundaries. But then also knowing Ruby, then how do you really identify? Do you really know where this method is being called and can identify all the tests that need to be run? I think we'd mentioned before there's a really good article from Shopify where they have worked on this and created an open-source project called Packwerk. So we can link to that article in the show notes. But more specifically, you suggested, well, what if you just change a test file? That seems very low stakes and also has the benefit of creating a reward where if someone does see something that they can improve in a test, then that's a very quick feedback. Let me just get this change. It's going to be fast on CI. I can merge it right away and also saves time on CI. So I've been working on implementing that change. And it's one of those the actual change is easy, like checking with Git to say, "Hey, what files have changed?" Does it have an _spec.rb at the end of it? Great. Does it not? Okay, we've changed some application files. So let's run the full test suite. That part's easy. Getting it integrated into the build system has been more complicated just because this team has done a lot of work around trying to improve and speed up their test. And there's a fair amount of complexity that's there. So then figuring out a way to stitch my change into all the different build processes that take place has proven to be more difficult. But it's also been insightful just because it has now helped me really understand and forced me to learn, okay, what are all the different steps? What's important for each one? Where can I cut off the rest of the running of the test and instead just focus on running these tests? So in some ways, it's been challenging, but then on the positive side, it's been like, okay, well, this has taught me a lot about the existing system. So at this moment, it is still a work in progress. I'll have more updates in the future. I am excited to see the rewards. I've gotten to the point where I just have a proof of concept where I've gotten pushed up, but it's not production-ready. But it's at least I just wanted the feedback that I'm in the right spot and that we're running just the right test. And so far, it does seem like it's going to be a nice win, even if it's maybe not used by everybody because it's probably rare that someone is altering just a spec file. But for people who are looking specifically to improve the CI build time and working on tests, it will be very helpful to them. So yeah, I'm sure I'll have some more updates in the future. What's going on in your world? CHRIS: Well, I definitely look forward to hearing more about that. However, we can improve CI speed; I'm super interested in that as a topic. Mid-Roll Ad Hey, friends, let's take a quick break to hear from today's sponsor, New Relic. All right, so you've probably experienced this before where you're just starting to fall asleep, and it's a calm, code-free peaceful sleep, and then you're jolted awake by an emergency page. It's your night on call, and something is wrong. But I have some good news because you have New Relic, which means you can quickly run down the incident checklist and find that problem. So let's see, our real user monitoring metrics look good. And that's where New Relic measures the speed and performance of your end-users as they navigate the site. But it looks like there's an error in application performance monitoring. If we click on the error, we can find the deployment marker where it all began, roll back the change, and, ooh, problem is solved. We can go back to bed, back to sleep, and back to happy. That's the power of combining 16 different monitoring products into one platform. You can pinpoint issues down to the line of code so you know exactly why the problem happened and can resolve it quickly. That's why more than 14,000 other companies, including GitHub and Epic Games, use New Relic to improve their software. So you know that next late-night call is just waiting to happen, so get New Relic before it does. And you can get access to the whole New Relic platform and 100 gigabytes of data free forever. No credit card required. Sign up at newrelic.com/bikeshed. That's newrelic N-E-W-R-E-L-I-C .com/bikeshed, newrelic.com/bikeshed. CHRIS: Well, similar to your email adventures, I continue on my search for the perfect to-do list. It's not going great, if we're being honest. [laughs] To be clear, because I've mentioned this on a few different episodes, I'm not spending much time on this at all, some but not much. And so it's not really moving. But there are two interesting things. I took a look at TickTick, which was one that I mentioned in the past, a tool for this. It seems good. It seems like an intersection between things, which is what I'm currently using, Todoist, which I've used in the past, and some other tools. So I think I'll probably explore that a little more. It seems like a good option. Decidedly, the most interesting thing is a tool called Sunsama, which is different in some interesting ways but very interesting. So one thing to note about it is it's $20 a month, which is a lot of money for one of these tools because most of them are like, "We're $20 forever, and then it's free." And it's a surprisingly low-cost space. And so, they're definitely positioning themselves as a more costly entry. I would be fine with paying $20 a month for a tool if it really is like, no, cool, I feel great. I'm more productive. I'm happier when I'm not working, et cetera. But what's interesting is they seem to do a let's reach out to all the places that tasks can live for you. So there's your inbox for email. There's your Trello board that you've got. There are GitHub issues. There's Slack. There are all these different sources of potential tasks. And they do a really good job of integrating with those other tools and then allowing you to pull that list into Sunsama and then make each day you have a list. And those items can be like, this is a reference to a Trello card on that board. This is a reference to a Slack conversation over there. So I'm super intrigued by it. It's also got a very intentional plan your day mode, which I like because that's one of the things that I'm really looking for is at the end of the day, I want to clean everything up, make sense of all of the open items, and then reprioritize and set up for the next morning so that I can just hit the ground running. That said, I tried it, and it just didn't quite click. And I think it's one of those it takes some effort to understand how to use it. So I'm not sure that I'm going to get there. But it is super interesting because that idea of our work lives in all of these different tools these days feels very true. And so, something that is trying to act as a hub between them to integrate them is very interesting to me. Again, I haven't really gotten anywhere on this. I'm kind of just reading blog posts, as it were. So I'll report back if that changes, but -- STEPH: The search continues for the right to-do app. Yeah, that seems interesting. I don't know why I'm feeling hesitant towards it. I'm one of those individuals...you're right; there are so many tools. And the fact that they integrate with a lot of them seems really nice. I'm at the point where I just grab links to stuff, and I'm like, hey, if this is my priority, I grab a link to a Trello ticket, and then I just copy that into my to-do. I guess I like that bit of work over having to integrate with a bunch of different platforms. Because once you get used to integrating...I don't know; I'm just rambling. But I wish you the best on this journey. I'm excited to hear more. [laughter] CHRIS: Thank you. I will certainly report back. But yeah, nothing pointed to share at this point. But I do have something pointed to share on the hiring front, which is that we have hired some folks. STEPH: Hooray! CHRIS: Yay. So this has been a fun saga across a couple of different episodes. And in my mind, it feels like this much longer, more drawn out thing, but it's; actually, I think, come together relatively quickly, all things considering. We've got someone who's starting in a little over a week's time, and then someone else who's starting in, I think, two or three weeks after that. So that'll be great. Hopefully, we can transition into onboarding, which is a different whole approach. But hiring as a distinct activity can scale back significantly. As we discussed last week, I want to be in the always be hiring mindset but in the more passive mode of having conversations with folks, staying connected. And if a great candidate comes along and it's the right time, then bring them on the team but not actually actively reaching out and all that sort of stuff, which will be great. Because it turns out that takes a lot of time and also a lot of energy for me. Having those first conversations, going into it very intentionally trying to communicate about something, and there's a tone of salesmanship to it that is not my natural resting state. So I come away from each conversation being like, that was fun, but also, I'm drained now. Why am I so drained? So not having that be a thing that is filling up my calendar is great. And also super excited with the folks that'll be joining the team and to be able to now grow our little team and define the culture and the shape of the groups that we will be collectively. I'm excited for that work and what we can build together. So yeah, it's an exciting time. STEPH: That's awesome. Congratulations. Because yeah, everything you're saying sounds like it's just been a lot of work. So that's very exciting. There's someone that I was chatting with earlier today where they were talking about the value and the importance of understanding what your natural skills are and the things that bring you energy. And so you're mentioning there are certain activities that you enjoy them, but they're also draining because perhaps they are on the outer boundary of what you might define as your own natural skill or the things that get you really excited. And I found that all very interesting. It had me thinking about that today about where are the natural areas that I find that I get energy that are easier for me? And then making sure that I'm trying to prioritize my day so that I am more focused on the activities that just align with who I am and also that I'm engaged with and then also looking for ways to stretch. But they made the point that if you are always in a space where you are not using your natural talents, and you're always having to stretch, then that can be what leads to burnout. Versus if you're in that sweet spot, that zone of where you are using your natural skills, but then also stretching a bit. And I think there are some assessments and things like that that will help you then determine what are my natural skills, and what do I like to do with my time? I just like that style of thinking and recognizing, like you said, like, hey, I did a thing. It was fun, but I'm drained. So now I know that this is something that requires more effort for me. Like hiring, that's one for me. I really like interviewing. I like talking with people, but I'm so nervous for them because I know interviews suck. [laughs] I just have so much empathy for them where I'm like, this is going to be a hard day. We're going to make it as pleasant and positive as possible, but I know this is a hard day. And so I feel like I'm in it with them. And so afterwards, I feel that same relief of like whoo, okay, interview day is over. CHRIS: I don't know that I quite achieve the same level that you do but in no way am I surprised that that is your experience of hiring. And just to name it, you're a wonderful human being that feels for the people on the other side of the hiring table. Like, oh my God, this must be so stressful for you. It's so kind of you to be in that space with folks. But coming back to what you were saying a moment ago, that idea of, like, understanding where your strengths are and where they're areas that you're not quite as strong. And I think critically, the question of like which are the ones where I want to just kind of say no to? I'm like, that's fine. This is not going to be a competency of mine. And I'm going to just avoid that or find other people to work with that balance that out. So for me, sales is the thing that I don't think that's ever going to be my bag. I don't think I'm ever going to move in that direction, and that's totally fine. Whereas decisiveness, which I was describing, is like, I think that's the thing I could get better at. That is one that I don't want to sleep on that. I don't want to say, "That'll be fine. I'll just have other people make the decision." No, I need to get better at making decisions, making decisions with less information or more rapidly, having a bias towards action. All those things I think will be deeply beneficial. So I'm trying to really lean into that. Whereas yeah, again, the sales stuff I'm like, yeah, and there's plenty of examples of this otherwise. But I've also been coding a bit more this week, which has been lovely because the hiring stuff has ramped down. And that has freed me up amongst some other stuff that's been going on. And you know, I like to code, it turns out. It's fun. I just clack about on my cherry brown keys, and it's great. STEPH: Do you remember when we first got introduced to mechanical keyboards, and we had co-ownership of one of the keyboards? And we literally had days of where it was like your turn to use the keyboard. And then it was my turn to use the keyboard. How long did we keep that up before we were finally like, we should just buy our own keyboards? CHRIS: It was a while because we were working with a colleague who was trying out a Kinesis, I want to say, one of the split little bowl of keys. But yeah, we had a shared custody over a keyboard, and it was fantastic. I remember that very fondly. STEPH: The days that it was my keyboard, I would go to the office and be like, oh, today is my day at the keyboard. This is great. This is going to be such a wonderful day. [laughs] And now I'm just spoiled. CHRIS: It went on for a while, though. And this was something where we both obviously enjoy this keyboard. Why don't we just buy one of these keyboards? We totally could have done that. And yet, for some reason, both of us were like, no, but what if...I got to think about this. Again, decisiveness. [laughs] We come back to this topic of well; I had to really think about it. And then somebody got the 92-Key test or whatever it was in the office. And so I just went over and poked every one of those for a while. STEPH: Exactly. It was option overload where we're like, well, okay, we're going to buy one, and then you open it up and search, and you're like, oh, you want options? We have options. Do you know about the blues, and the browns, and the colors, and these different options? Like, I don't know any of this language that you're talking about. I just want to clackety-clack. So yeah, it took time. We had to do our research. CHRIS: And then I ended up on basic browns. So here we are. Let's see, popping back up the stack a couple of levels, hiring that went on for a while. Now it is less going on. Although to be clear, like I said, always be hiring. So if anyone out there in the world is hearing what I'm talking about with Sagewell or seeing any of the stuff that I'm putting on Twitter, which isn't much, I occasionally just post screenshots of my commit messages, which recently included better snakes as a commit message. [laughs] I have to dig into that or not. But we were just doing some snake case to camel case conversion. But the commit message was better snake, so here we are. Anyway, if any of that sounds interesting, please do reach out. But I'm excited to transition back to focusing more on the work. On that note, actually, I'm going to call it interesting things that is happening right now organizationally is; we are working with an external security firm to help with some...they helped us out with a penetration test when we needed that. And then they have stayed on retainer and are helping with various different configurations, taking our AWS S3 buckets and making sure those are nice and secure, and all that kind of stuff. But we've recently started to focus more on organizational security, specifically a bowl of acronyms. We've got SSO for single sign-on, MDM for something device management. I don't know what that first M is. I probably should learn it, but it's fine. That's why I've got help on this is I think they know what the acronym stands for. But so we're working on each of those. And on the one hand, they're probably going to be kind of annoying, like having to go through the single sign-on. It's a whole thing, and it's harder to sign into stuff sometimes. I mean, ideally, it's actually easier. But in my experience, it adds some friction at some points. And then MDM means that there's now some profile manager on the computer. So I can say like, "Every computer must have full disk encryption or else you can't use it. And we need a passcode, and it must be this long and those sorts of things." So it's organizational controls that I think are good for us having a robust security setup throughout the organization. But yeah, they're the sort of things that I think historically, I probably would have, as someone working in an organization, had been like, do we have to? Do we need these things? Couldn't I just do whatever? But now there's something about it that I really like. I'm trying to name it in my head, but I'm kind of like, I don't know. This feels like growing up as an organization. And there's always weird corollary that I've been thinking about with the Rails app that we've been building, intimately familiar with just everything that's going into it. And I know the vast majority of lines of code. I haven't written them all, but I've had an eye on all of the different features that we're building in. And it's hard to get out of that headspace where it feels like a bunch of pieces. It doesn't feel like a hole to me, even though it definitely is. But when does a bunch of boards that you nail together become a boat? To make a really weird analogy because that's what I do; it's a hobby of mine. But when does that transition happen? At some point, certainly. But that's harder for me to see on the code side. And organizationally, somehow getting these things in place feels like the organization sort of an inflection point for us, a growth point, which is I'm really excited about it. Even though they're probably going to mean a ton of annoying nuisance work for me because I'm the person in charge of making sure it all gets rolled out. And anytime anyone locks themselves out of an account, I have to help with that. And so it's probably just putting a bunch of annoying work on my plate. And yet, I don't know; I'm kind of excited about it. STEPH: I feel like that shows our roots in terms of how we approach projects that we work on where you mentioned do we need this? Do we need this yet? Because I feel that we're constantly as developers and consultants just we're trying to advise on the more simplified do we need this? Is this the right thing to spend the money on? How do we know? What are the metrics? What does success look like? And all those questions. So I feel like the way you just phrased all of that just really shows that sort of mentality that you grew up with in terms of checking in, and yeah, it's cool. Like you said, you're at a growth point where then it's like, yes, we are at this point that I've asked myself all those questions, and we're here. This feels like the right next step. CHRIS: I like the way you described it as that you grew up with, my formative growing years at thoughtbot. Mid-roll Ad Scout APM is an application performance monitoring tool that's designed to help developers find and fix performance issues quickly. With an intuitive interface, Scout will tie bottlenecks to source code, so you can quickly pinpoint and resolve performance abnormalities like N+1 queries, slow database queries, and memory bloat. Scout also recently implemented external service monitoring, adding even more granularity when it comes to HTTP requests and API calls. So give Scout a try today with a free 14-day trial and experience first-hand why developers worldwide call Scout their best friend. And as an added bonus for Bike Shed listeners, Scout will donate $5 to the open-source project of your choice when you deploy. To learn more, visit scoutapm.com/bikeshed. That's scoutapm.com/bikeshed. STEPH: Well, switching gears just a bit, we have a listener question for today, and this one comes from Stephanie. So not me, another Stephanie in the world. Hello, other Stephanie out there in the world. And they wrote in, "Hi, Steph and Chris, fellow software consultant here. And I'm wondering if you'd consider talking about how to craft a project estimate for a client on the pod. It's such an important aspect of consulting." Amen. I added the amen. "And I feel like I'm very much impacted as a project team member when the estimate isn't accurate." Double amen. So true. [laughs] "Would appreciate any and all thoughts, especially since it might be part of my job in the future. Thanks." I just realized I put us in consultant church by adding all those amens, but here we are. [laughs] CHRIS: I'm glad you clarified that they were additions by you and not part of the original question coming in. STEPH: Sure. I don't want to speak on behalf of Stephanie. So I have some thoughts on the matter. I think there are a couple of different ways that we can talk about this particular question because I think there are different formats as to when you're estimating and who you're providing the estimate for. But I'm going to pause because I'd love to see what you think. How do you go about approaching crafting an estimate? CHRIS: Sure. I'm happy to share some thoughts. And for a bit of context, this question came in to us, frankly, many months ago, but I did send an initial reply to Stephanie because I know that sometimes we take a little bit of time to get back to folks. So if ever you do send in a question, know that one of us will probably respond via email earlier, and then eventually, will make it on the show. And again, just to say, we do so appreciate when folks send in these questions. It's an interesting way to shape the conversation and a way to get topics that you're more interested in into the fold here. But so the two main ideas that I shared in my initial reply were, first, is an estimate really necessary? I think that's a critical question because an estimate implies that this thing is knowable. And as many of us, probably all of us, have found out at some point in our lives as software developers, it's really hard to do software estimation, like wildly difficult. And not just the thing that we'll eventually get better at it, which you do, but there's just some chaos. There's some noise in this work that we do that makes it so, so difficult to get it right. So pretty much always, I will ask, like, do we need to estimate here? What if, instead, we were to flip the whole question on its head and say, let's set a deadline. Let's say two months from now that's our deadline. And let's ruthlessly reprioritize every single week to make sure that we're building something that's meaningful, and we're getting there. And obviously, we have to have some general idea of what we're doing. Is two months a meaningful amount of time to build a rocket to go to Mars? Probably not. But is it enough time to build an app that can allow users to sign in and manage a simple list of items? Yeah, we can definitely do that, and we can probably add a bunch of more features. The other thing that I think is worth highlighting is there's a bunch of stuff that is table stakes and very easy to do. But I would, whenever doing estimation, emphasize unknowns. So, where are the external integrations with other systems? Where are the dependencies that rely on other folks to provide some inputs into this process that we can't be certain where there'll be? In my experience, the places where estimates go awry are often these little intersection points that you're like, well, this will probably take a day, maybe two. And it turns out; actually, this can somehow balloon into a month. That's not a thing that feels comfortable saying in an estimation process, but it is definitely real. I've seen it happen so many times. And so it's those unknowns. It's those little bits that I would emphasize as part of the process if you do need to do an estimate and say, all right, here's the boring stuff. I think we can do that pretty easily. But this part, I don't know, it could be a week, could be three months. And frame it in that way that there is this ambiguity there. Because if someone's asking you for an estimate and they're looking for like it is seven days and two hours exactly, it's like, well, that's not realistic. That's not how this thing works. Unfortunately, I wish it did. But pushing back and changing the conversation is the thing that I have found valuable. I think there's some other really interesting stuff in here around the team dynamics that Stephanie is talking about. But I want to send this over to other Stephanie to see your thoughts because I'm super interested to hear what you have to say as well. STEPH: Oh, I like how you hinted at the team dynamics. Yeah, that could be a fun one to circle back to. So I love how you called out highlighting the unknowns. There are a couple of ways that this comes to mind for me. So there's the idea of the weekly or the bi-weekly estimates that we make as developers and designers. So let's say we as a team are getting together to focus on a chunk of work and decide what we can and can't get through. And that feels one of those the more you get to practice it more frequently; you get to ask a bunch of questions. And that feels like a good rehearsal and exercise of how to go through estimates. And I know you and I have pretty similar strong feelings around how those estimates are then treated by the company. They should really just be used for the team to talk through the complexities in the work to be done versus used to communicate outwardly as to this is when it's definitely going to ship. So there's that more immediate practice of providing estimates. And then there's the idea for more of a consultancy or a company, and someone is coming to you, so thoughtbot being a great example of then how do we work with teams that are looking to come to us and gain an estimate for getting a certain feature implemented? So actually, I went to the source on this one. I went to Josh Clayton, who does a lot of the conversations for the Boost team when it comes to talking with clients and about the potential work that they would like to be done. And mostly our work is often teams will hire us. They have specific goals in mind, but they're really looking to hire ongoing development and services. So they really want to add to their existing staff. And then it's going to be an ongoing relationship versus a hey, we need you to quote us for how long it's going to take to implement this particular feature. And on that note, we don't do fixed-bid work. So we don't say it's X dollars for specific features. But on the realistic side, customers are often capped by a budget. And so that estimate is very important to them because it could be a difference between it's a go versus a no go. So if you have larger companies that are like, "Yep, we want to engage with thoughtbot. We really just want additional development power and design services," that's great. For those that are smaller, it could be an individual product owner, and they need to say, "I really want this feature, but I only have this much money. And frankly, if I can't ship it by this time, I'm not going to do it because it's not worth the investment to my company." And then, in those cases, those are the ones that we're going to spend more time with them to talk about what does the fallback plan look like? And what's our opportunity for simplifying the features? And Josh, in particular, referenced this as systems thinking. So he will go through the idea of drawing out the set of steps, understanding the complexity of the different screens. So what are the validations? What are the external dependencies? What is owned by us and what isn't? What is the likelihood that we're going to get permission to simplify or remove complexity? And even then, when we start to provide some estimates, it's going to be in weeks. It's not in hours; it's not in days. It's going to be in a slightly larger time frame. And then we're also going to spend more time in the discovery phase to say, okay, well, we know you need to fix this particular issue, or you need to integrate with this particular service. So we're going to need to ask a lot more questions about your codebase. What problems have you already run into? Have you tried to do this before? Do we have experience doing this? Is this something that we can lean on and ask someone in the team? And, say, how long do you think it would take for us to work on this? And that's knowledge that isn't privy to everybody. It depends on where you're at in your career as to like, oh yeah, I've done this like five times before, and I know exactly how this stuff can fall apart. I know where the complexity lies. So I think that's why estimation is so difficult is just because it does often pull from that existing experience. And so, if you don't have that experience for a particular set of work, of course, it's going to be hard to estimate because you just don't know. So that was a very broad scope of as day-to-day developer and designers; I feel like we're constantly getting practice and estimating and communicating the progress of our work. And then on the larger scope of if you are a consultant who's then looking to give estimates to clients, then understanding what other need can you sell them? Just ongoing development services. Or, if they are a smaller team and very focused, then what legwork can you do ahead of time to de-risk the project? And then understand how much control you're going to have to be able to simplify as you learn more as you go. Because you're going to, you're going to uncover some things, and you're going to learn some things. And what's that collaboration going to look like? I do have one more concrete example I can provide around some of the smaller projects that we take on. So when we are helping someone that's, say, getting a new product out to market, then we do have a more deliberate three, four-phase approach where we first focus on discovery, and ideation, and validation. And then, we move on to iteration and then launching. And I really like how you said about providing a deadline because then that helps us scope aggressively as to what is the minimum thing that we can get out into the world that will be valuable? And then there's usually some post-launch support as well. But that's often how we will structure those smaller, more specific engagements. CHRIS: I think one of the critical things that you highlighted in there is that thoughtbot doesn't do fixed-bid work. So we're going to do these 20 features, and it's going to take four months. thoughtbot does not do that, and frankly, that's a privilege to be able to take that position and say, "No, no, no," we're not going to work that way. But it is, I think, a trade-off. It's not just something that thoughtbot does to be like, listen, that doesn't sound fun. So I'm not going to do that. It's a trade-off. Not doing that comes in concert with saying, "But weekly, we're going to talk about the work that we have done and the work that remains and constantly, ruthlessly, reprioritize and re-decide what we're doing." And it's that engagement, the idea that you can have a body of work, look at it and say, "Yeah, that'll take about six months," and then go away for six months, and then come back with the finished software. Our strong belief is that that's not the way good software gets built. But instead, it's a very engaged team where the product owner and the development team are in constant communication about each of the features that are being developed. And then again, ideally, on a weekly cadence, coming up for air and saying, "How are we doing? Are we moving in the right direction? Are we getting towards the goals? If not, do we need to simplify? Do we need to change things?" And similarly, as I mentioned deadlines, I feel like deadlines is probably a word that many people think of as very bad because deadlines often come with also a fixed scope, but that can't happen. That's two constraints, and you can't have them fighting that way. But a deadline can be super useful as a way to say we're going to put something out there in the future and say we're heading towards that moment. And let's, again, cut scope. Let's change what we're building, et cetera. But critically, not say, "We got a deadline and a fixed scope. We're going to do that." And so it's, again, just ways to gently shift the conversation around and say, what if we were to look at this from a different angle? Because just having a pile of work and saying, "That'll take six months," I've never seen that play out. STEPH: Yeah, to me, deadline is a bad word when the deadline is set by a team that's not doing the work. So if you have leadership or if you have someone else that is setting this deadline and then just passing that down to someone else to then fulfill, regardless of the feedback or how things are going, then yeah, then it can be a nasty thing, which I think is a little bit of in that question that you picked up on that you highlighted where there could be some interesting team dynamics that Stephanie called out, highlighting that I'm very much impacted as a project team member when the estimate isn't accurate. And I'm making some assumptions here because I don't actually know the exact situation that Stephanie is experiencing. But it sounds like someone else externally is setting these team estimates. And so then you're handed this deadline, and then stuff goes wrong, but you're still pressured to meet this deadline. And I've certainly been part of projects that are like that. And then that is one of the number one things that then often comes up in a retro or like, we don't have control over these deadlines, or we don't know why these deadlines are being set. And then people are working extra hours and working nights and weekends to then meet this arbitrary deadline that none of us signed up for, and that's just not fair to treat deadlines in that way. So full-heartedly agree that deadlines can be a very positive thing, but they need to be set by the people doing the work. And then there has to be discussions and updates about how is this going? Do we have control to simplify this? We thought we could do this with this particular external provider. It turns out that that's a nightmare. Is there another provider we can go with? Can we ship this incrementally? Like some features, you can't. They may have to go out wholesale. But is there a small chunk of this that we can deliver that is then a success that leadership and others can brag about? And then we can keep working on the rest of it. So it's always identifying what are the smallest wins, and how do we get there and getting buy-in from the team? Going back to something that you said earlier around, it is a privilege, where so as thoughtbot, we don't do fixed-bid work. And that is a nice thing for us to be able to focus on. But for people who do need to do fixed bid work and are relying on that, I think that often requires more legwork. And maybe that becomes part of your estimate. I'm just making up how I might approach this if I were trying to do fixed bid work. But there's a discovery phase that's very important. So maybe the first part of your estimate is I need to really understand the feature and see the different screens and know what materials we do or don't have. What does the codebase look like? Do I feel like this is a codebase that I can work quickly in? And is it going to be hindersome for me? But answering a lot of those questions to then help me paint a picture of, like, okay, this is a feature that I've implemented before, so I feel pretty confident that I could do this in a month. And then also communicating that this is my estimate but just know it's an estimate. And I will continue to update you each day as to how things are going or each week as to how things are going, and things may adjust. And we can always talk about ways about simplifying this. But I think that's how I would go about it is; frankly, it's going to require more legwork for me to feel more confident as to then telling someone as to how long I think the work will take. I think that's a nice, broad scope of the different types of estimate work to be done with the general idea of if you can avoid estimates and go for more frequent updates, then that's wonderful. But then, if you are forced into a corner where you need to provide an update, then just do as much research and honesty as possible and then still include the frequent updates. CHRIS: Yeah, that I think summarizes it quite well. STEPH: As a side note, it's been a lot of fun to feel like I'm referring to myself as a third person as Stephanie is working through this problem. So that's been novel. But yeah, thank you, Stephanie, for the great question. I hope that was helpful. On that note, Shall we wrap up? CHRIS: Let's wrap up. The show notes for this episode can be found at bikeshed.fm. STEPH: This show is produced and edited by Mandy Moore. CHRIS: If you enjoyed listening, one really easy way to support the show is to leave us a quick rating or even a review on iTunes, as it really helps other folks find the show. STEPH: If you have any feedback for this or any of our other episodes, you can reach us at @_bikeshed or reach me on Twitter @SViccari. CHRIS: And I'm @christoomey. STEPH: Or you can reach us at hosts@bikeshed.fm via email. CHRIS: Thanks so much for listening to The Bike Shed, and we'll see you next week. ALL: Byeeeeeeeeee!!! ANNOUNCER: This podcast was brought to you by thoughtbot. thoughtbot is your expert design and development partner. Let's make your product and team a success.

TECHTALK
TECHTALK, S03E29: ‘Über Feedbin, Feedly und die Qual der Wahl’

TECHTALK

Play Episode Listen Later Apr 5, 2020 41:35


Mit dem Download eines Feedreaders ist es meist nicht getan, denn nicht jede RSS-App kann von Haus aus Feeds abonnieren und verwalten. Doch die Suche nach dem passenden Dienst kann sehr umfangreich werden. Patrick und Ben stellen heute ihre Favoriten Feedly und Feedbin vor, beleuchten die Unterschiede sowie Vor- und Nachteile, besprechen einige erweiterte Funktionen, und mehr.

Bandbreite
BB023 Haustiere auf Yogamatten

Bandbreite

Play Episode Listen Later Apr 5, 2020 132:19


Unsere Folge 023 beginnen wir dieses mal mit der offenen Fragestellung "Was würdet ihr machen, wenn ihr kein Geld mehr verdienen müsstet?". Trotz unterschiedlicher Antworten lässt sich hier bei uns doch ein gemeinsammer Nenner finden - genauso wie der schon fast gewohnte Fakt, das wir gerne bei Fragen abschweifen. Spoiler: Es ist die längste Einleitungsfrage bisher! Nachdem wir ein kurzes Follow-Up erhalten, in dem es um die Austauschbarkeit des Akkus im Dyson V11 geht (Pick von letzter Woche) gehen wir auch schon zu unserem einzigen Hauptthema diese Woche über: Passend zur aktuellen Weltsituation sprechen wir über Remote-Working. Dabei sprechen wir alle aus unterschiedlichen Anstellungsverhältnissen: Danny, der seit 12 Jahren als Freelancer remote arbeitet, Jan als Vollzeit-Festangesteller in einer Remote-First Firma und Daniel (aka Henning), ebenfalls Vollzeit-Festangestellt in einer Firma, die Remote-Arbeit als Option anbietet. Wir sprechen hierbei über für uns essentielle Dinge beim "remote-working", wieso eine Morgenroutine hierbei wichtig ist (und wie unsere aussehen) und was für Vorteile es für die eigene Lebensqualität haben kann, von zu Hause aus zu arbeiten. Natürlich gibt es auch diesen Monat wieder ein Reiseupdate von Danny. Er erzählt uns darüber wie seine Planung über den Haufen geworfe wurde und wie er die Siuation aktuell handhabt. Zum Abschluss präsentieren wir unsere Picks: Danny wählte das aktuell passende Tool "reichtmeinklopapier.de" Jan hat diesmal ein ganzes Arsenal dabei mit Feedbin, NetNewsWire, Plötzblog und dem Coronavirus-Update-Podcast mit Chrisitan Drosten und Daniel wählt Apples FaceTime. Hat euch die neue Folge gefallen? Stört euch etwas? Wir würden uns sehr über Feedback in iTunes oder über Twitter freuen. Viel Spaß beim Hören!

Apfeltalk® AppStore Picks
APPS025 NetNewsWire

Apfeltalk® AppStore Picks

Play Episode Listen Later Mar 18, 2020 3:26


Der RSS Reader NetNewsWire ist unser Tipp der Woche. Letzte Woche ist die fünfte Version des beliebten Newsreaders mit der langen Geschichte für iOS und iPadOS veröffentlicht worden. Bereits im Sommer ist die fünfte Version für den Mac erschienen, damals haben wir auch darüber in diesem Podcast gesprochen, jetzt zieht die mobile Version nach. Mit an Board ist alles ein moderner Newsreader können muss, inklusive Synchronisation über Feedbin und Feedly. Auf dem iPad gibt es sogar Tastatur-Shortcuts. NetNewsWire im App Store NetNewsWire is a free and open source RSS reader. It’s fast, stable, and accessible. NetNewsWire shows you articles from your favorite blogs and news sites — and keeps track of what you’ve read. If you’ve been going from page to page in your browser looking for new articles to read, let NetNewsWire bring them to you instead. If you’ve been getting your news from Facebook and Twitter — with their ads, algorithms, and user tracking — get your news from your favorite sites directly, and more reliably, with NetNewsWire. Take back control of your news. And have fun doing it! Features: * Direct feed-downloading * Syncing via Feedbin and Feedly * Multiple accounts * Dark Mode * Reader view * Share sheet * Starred articles * All Unread and Today smart feeds * Folders * Importing and exporting OPML feed lists * Background refreshing * Searching * Hiding read articles * Timeline customization * Keyboard shortcuts * Context menus * Support for multiple windows ----- Wenn euch dieser Podcast gefallen hat, würden wir uns freuen, wenn ihr Apfeltalk unterstützen würdet. Einerseits könnt ihr uns auf iTunes bewerten – damit erhöht sich die Sichtbarkeit dieses Podcasts – oder uns andererseits auf Steady unterstützen. Förderer auf Steady erhalten die Apfeltalk SE sowie die Film und Serien Folgen immer bereits am Sonntag, alle anderen Hörer am Freitag. Außerdem sind alle Folgen werbefrei und ihr bekommt Zugriff auf unsere wöchentliche News-Zusammenfassung. Empfehlt uns auch gerne euren Freunden!

Apfeltalk® Editor's Podcast
APPS025 NetNewsWire

Apfeltalk® Editor's Podcast

Play Episode Listen Later Mar 18, 2020 3:26


Der RSS Reader NetNewsWire ist unser Tipp der Woche. Letzte Woche ist die fünfte Version des beliebten Newsreaders mit der langen Geschichte für iOS und iPadOS veröffentlicht worden. Bereits im Sommer ist die fünfte Version für den Mac erschienen, damals haben wir auch darüber in diesem Podcast gesprochen, jetzt zieht die mobile Version nach. Mit an Board ist alles ein moderner Newsreader können muss, inklusive Synchronisation über Feedbin und Feedly. Auf dem iPad gibt es sogar Tastatur-Shortcuts. NetNewsWire im App Store NetNewsWire is a free and open source RSS reader. It’s fast, stable, and accessible. NetNewsWire shows you articles from your favorite blogs and news sites — and keeps track of what you’ve read. If you’ve been going from page to page in your browser looking for new articles to read, let NetNewsWire bring them to you instead. If you’ve been getting your news from Facebook and Twitter — with their ads, algorithms, and user tracking — get your news from your favorite sites directly, and more reliably, with NetNewsWire. Take back control of your news. And have fun doing it! Features: * Direct feed-downloading * Syncing via Feedbin and Feedly * Multiple accounts * Dark Mode * Reader view * Share sheet * Starred articles * All Unread and Today smart feeds * Folders * Importing and exporting OPML feed lists * Background refreshing * Searching * Hiding read articles * Timeline customization * Keyboard shortcuts * Context menus * Support for multiple windows ----- Wenn euch dieser Podcast gefallen hat, würden wir uns freuen, wenn ihr Apfeltalk unterstützen würdet. Einerseits könnt ihr uns auf iTunes bewerten – damit erhöht sich die Sichtbarkeit dieses Podcasts – oder uns andererseits auf Steady unterstützen. Förderer auf Steady erhalten die Apfeltalk SE sowie die Film und Serien Folgen immer bereits am Sonntag, alle anderen Hörer am Freitag. Außerdem sind alle Folgen werbefrei und ihr bekommt Zugriff auf unsere wöchentliche News-Zusammenfassung. Empfehlt uns auch gerne euren Freunden!

Björeman // Melin
Avsnitt 177: Mycket Cisco idag

Björeman // Melin

Play Episode Listen Later Aug 29, 2019 63:06


50 procent av panelen är osedvanligt trött i detta avsnitt. Samma 50 procent beklagar eventuell olägenhet vid lyssning. Jockes hatkärlek till Cisco - Ciscos värld är ett helt eget universum Jocke ska bygga databaskluster - varning för nördigt innehåll Ett år sedan jocke skrev sista texten på Macpro. T ankar och funderingar Fedora 31 - intryck Jocke har blivit med Trådfri. Immersed - Fredrik tittar på sin dator i VR Netnewswire 5 är här, borde man skaffa Feedbinkonto? Peaky Blinders säsong fem! Teaser: I ett kommande Kodsnack blir det mer Mastodon Googles bildsökningsfunktion har blivit sämre. Igen Fredrik programmerar sitt minitangentbord och använder det på jobbet TRAPPEN! Länkar ASA 5520 Mysql Mariadb Databaskluster med Mysql Galera Gnome Cinnamon Weyland X11 Trådfri Immersed Netnewswire 5 Feedbin Freshrss Brent Simmons blogg OPML Peaky blinders Cillian Murphy Westworld Nolan Lawson - driver Mastodoninstans och skriver intressanta saker Pinafore Flickr Fredriks tangentbord och dess just då aktuella layout Das keyboard - Fredrik har en helsvart variant med blanka tangenter TRAPPEN! 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-177-mycket-cisco-idag.html.

Talking Drupal
Talking Drupal #209 - Weekly Drop

Talking Drupal

Play Episode Listen Later May 6, 2019 48:49


In episode #209 we talk with Bob Kepford about The Week Drop, a weekly Drupal newsletter. www.talkingdrupal.com/209 Topics Drupal stories What is the Weekly Drop Origin story Weekly Drop content Technology behind the newsletter How to get listed Sponsorship Resources Lullabot DrupalCon Recap - Episode 235  Rand in Repose Process Serverless, Well Actually... Feedbin.com Pinboard.in  Guest Host Bob Kepford  @kepford  www.theweeklydrop.com Hosts Stephen Cross - www.ParallaxInfoTech.com @stephencross John Picozzi - www.oomphinc.com @johnpicozzi Nic Laflin - www.nLighteneddevelopment.com @nicxvan

The Bike Shed
193: A Thing I Know Almost Nothing About

The Bike Shed

Play Episode Listen Later Apr 5, 2019 47:41


On this week's episode, Chris is joined by Edward Loveall, former thoughtbot design apprentice and now thoughtbot developer. After a quick chat about Edward's thoughtbot origin story, podcasts, and DNS, they dig into the heart of the conversation talking about their respective "must have" developer tools on new machines. edwardloveall.com thoughtbot apprenticeship Domain Name Sanity Heroku DNSimple Amazon Route53 Giant Robots podcast Edward's episode on Giant Robots talking about the apprenticeship Tweet about using a podcast as internal onboarding Hammerspoon Slate Spectacle Divvy Vim Tmux VSCode Live share tmate Alfred Alfred clipboard AppleScript Arch Linux Jeff Goldblum iMac Commercials Feedly Feedbin ReadKit JSON Feed CSS & Privacy - Why can't I set the font size of a visited link? Lobsters Thank you to CircleCI for sponsoring this episode.

The Class Nerd
Semester 2 Episode 10 - The Wrap Up Grab Bag

The Class Nerd

Play Episode Listen Later Mar 27, 2019


In the final episode of Semester 2, Robby and Craig revisit lesson planning. Then they get into a discussion of “Sticky Tech,” or apps and services that they keep coming back to. Previous Lesson Planning Episode Agenda - iOS, Mac Bear - iOS, Mac KeepIt - iOS, KeepIt GoodNotes 5 OmniOutliner - iOS, Mac DayOne - iOS, Mac Calendar Episode BusyCal RSS eMac Feedly FeedBin Reeder Fiery Feeds PDF Expert - iOS, Mac Overcast Exit Ticket Subscribe Apple Podcasts Overcast Castro Pocket Casts RSS Follow The Class Nerd - Blog RSS, Micro.blog, Twitter Craig - Micro.blog, Twitter Robby - Twitter, Blog

Scheiss Technik!!!
ST023 Displays und Monitore

Scheiss Technik!!!

Play Episode Listen Later Jan 13, 2019 44:15


Deutschland aus sicht eines Hamburgers Reeder: http://reederapp.com/ Feedbin: https://feedbin.com/ https://www.heise.de/newsticker/meldung/Streit-zwischen-Google-und-Amazon-Fire-TV-und-Echo-Show-verlieren-YouTube-3909927.html https://www.amazon.de/AmazonBasics-Tischhalterung-mit-Armen-Monitore/dp/B00MIBN71I/ref=sr_1_2?ie=UTF8&qid=1512758533&sr=8-2&keywords=amazon+basics+monitorarm https://www.amazon.de/Dell-LED-Monitor-Reaktionszeit-h%C3%B6henverstellbar-schwarz/dp/B00H3JIGHA/ref=sr_1_1?ie=UTF8&qid=1512758753&sr=8-1&keywords=dell+monitor https://www.amazon.de/Dell-U2518D-LCD-Desktop-Zoll/dp/B07436JM8Z/ref=sr_1_1?ie=UTF8&qid=1512758819&sr=8-1&keywords=dell+2518 QHD: Auflösung: 2560 x 1440 HD iMac: Probleme http://www.madrau.com/

The ProcrastiN8r Podcast
Lvl 13: Procrasti-logging (Top 10 Ways to Create Content for Your Niche Without Even Trying)

The ProcrastiN8r Podcast

Play Episode Listen Later Nov 2, 2018 38:56


One of the best ways to ignite your own cozy FIRE is to live life as a lazy digital nomad. And all you need to do is browse the Internet and type things on your keyboard. We're lighting a FIRE the easy way on the ProcrastiN8r Podcast 2 weeks ago (lvl 11. I said 10 but it's 11 and I'm too lazy to re-record the whole thing) we talked about how to FIND your niche. Today we're looking at.... Top 10 Ways on how to WRITE CONTENT for your niche...with as little effort as possible Without further ado, let's BURN...right into it You can't just blog to everybody! Blogging to everybody is blogging to nobody. Find. Your. Niche. NEWSJACKING (or as I call it “Procrasi-logging) involves finding a relevant trending topic and repurposing it for your own blog 10. Look at Your Competition AppSumo Look up a topic, then see the top articles related to that keyword View social media share stats for Facebook, Twitter, and Reddit as well as Total Engagement. Evergreen score (how long after it's published is it still being shared?) Take a look at magazine websites (headlines, images, language/slang used) Subscribe to top content creators in your niche. To find blogs, get an RSS Reader like Feedbin, Feedly, Inoreader, or Flipboard Listen to podcasts. Watch YouTube and Twitch. 9. Read the News Search Google News for a topic related to your niche and look at the top articles. Go to a site like AllTop or Reddit to find topic specific news (niche specific) Look at an article, video, or podcasts as if you're in the room talking to them in a conversation. What can you add to the conversation? What insight is missing? Can you add a joke or something funny? 8.See What People Are Talking About and How They Are Engaging RedditList Type keyword related to niche, find relevant subreddits You could look at the official Reddit as well to find But Redditlist includes Subscriber rank (compared to other subreddits) and subscriber growth. Reddit list does NOT include all subreddits. Search relevant hashtags on Twitter, groups or Pages on Facebook, Pins on Pinterest, stories and posts on Instagram. See which posts are getting the most engagement and what type of emotional reaction the commenters are having. Write content that purposely sparks that emotion in your language (anger, sadness, joy, laughter, fear, etc.) Look at the comments of what people are saying on reddit, blog posts, and news sites. Pay attention to what's happening in the conversation. Are there points you agree with and could build upon with your own spin or maybe something you disagree with. 7. Find Out What People Are ASKING About What do people in your niche want to know? What are some common problems or concerns? Attend Livestreams and Webinars. Take notes not only on the content itself but What are people asking? What kind of comments are they saying? Look at FAQs of sites within your niche and build content answering them in your own words. (eg. There might be “How do I get rid of background noise like fans in my audio?” on a software like Audacity or Adobe Audition or “How do I promote my brand on Facebook” on a site related to online marketing or “How do I receive dividends?” on a stock exchange site/app) 6. Always C&P Participate in forums and Reddit discussions yourself. Comment on FB posts, YouTube videos, Instagram photos. Answer questions on Quora, ehow, or Yahoo Answers. Amazon and other shopping sites are great if your niche is more product focused; you can look at the reviews and asked questions. Copy and Paste your own comments into a note taking app like Evernote, Microsoft OneNote, Dropbox Paper, or Google Keep. Tag it with relevant tags and give it a title so you'll remember the gist of what you're saying at a glance. Include a link to the comments. Color code it to make it easy to find in the future Remember: it's important to ALWAYS copy & paste your comment BEFORE you even post it, maybe even create a note first and copy it from there. Because if someone deletes your comment or their post or changes the privacy settings or blocks you (or shuts down the website altogether if it's a forum/blog), it's gone FOREVER. You can't necessarily rely on the Web Archive.org. Keep your own records of the thing you say online related to your niche. You'll thank me later. 5. Save It For Later Take advantage of Pinterest's “secret boards” to collect ideas for blogs or craft projects in the future Similarly, you can save links, images, and videos on FB's Save for Later feature. You can change your privacy settings for a specific post you create so “Only You” can see it then just save it for later. You can Save Reddit posts and comments. Save articles you find on the web & you plan to re-write or read/comment on with the click of a button using a bookmarking app like Evernote Webclipper, Pocket, Pinboard, or Instapaper. You can also just use the built-in bookmarking feature in your browser, since nowadays you can signin to Chrome or FireFox or Edge or whatever and sync your bookmarks and history across multiple devices. 4. Chat it up! In your daily life, you talk to your friends and family about the things you like. Take note of the points made in the conversation or use the recording app on your phone. The note apps (google Keep, etc) also allows to save voice notes. Or heck, record the conversation (with permission, don't be a creep) on your phone. Start a forum topic and see where the discussion leads. Repurpose it for a blog post. When you reach enough notoriety and level of trust and authority, people will come to you with questions on social media. Actually reach out and talk to people. Hit them up in their DMs. Note the type of questions they're asking you. And if you're not established as a source of authority in your niche yet: Find people that are. Interview guests. Record it then transcribe it, using the autotranscibe tool Scribie. All you do is ask questions and they give answers. You don't even have to know anything. 3. Share It Write a quick blurb about a video or photo or infographic and share it as a post You can even re-word top rated comments already said on other sites. This is one of the laziest ways to create content. Find something already being liked and shared then make a comment similar to one that's also being liked/upvoted/gilded in your blog post. 2. Rinse & Repeat it Find a way to recycle old content, dig it back up and make it look a bit different by re-wording it. This works well if your in a niche that requires advice. You'll find yourself repeating the same advice over and over again. But that's okay, our brains learn from repeated information and stimuli. Use an online thesaurus to get suggestions for alternative words to use in your writing. You can also take a specific quote from an interview and do a deep dive/analysis of it. All that is is rewording what the person said in several different ways. The only thing you are doing is taking previously written or spoken words and rearranging them or replacing them with similar words. You simply express the content using different vocabulary. See what I did there? 1. Go Behind the Scenes Show pictures of your office, recording setup, gear, etc. Show things from your personally life (the game you're playing, the movie you're watching, the pizza you're eating, etc.) You should only do this on occasion. The site is about your niche and not your personal diary. 0. Talk about what you already talked about but do it a bit different Self explanatory. You get the point now. What to Avoid Writing: Verbatim (word for word) Fake News (unless that's your niche) Sounding boring How to Find Your Niche the Easy Way I said this episode was Lvl 10, but it's actually Lvl 11 and I'm too lazy to re-record and fix it. Meh whatever. You'll figure it out. Get Free Images for Your Blog: FreePik NeedPix

The Weekly Review
25: I Feel The Need, The Need For Feeds

The Weekly Review

Play Episode Listen Later Oct 5, 2018


Jean and James explore the potential for increased productivity by incorporating RSS feeds into their daily workflows. Jean has been using RSS readers for years while James jumps in with both feet and reports on his experiences. Both are excited by a feature of the RSS service Feedbin that can move email newsletters out of your inbox and into a feed. Also, James makes the biggest faux pas yet in his brief podcasting career. RSS Tools We Talked About: Feedbin Feed Wrangler Reeder for Mac and iOS

Nortcast
Episodio 61

Nortcast

Play Episode Listen Later Jul 23, 2018 111:02


En este episodio: (00:25) Bienvenidos al NortCast, el donde hablamos, recordamos y recomendamos a Mr. Rogers y su nuevo documental. (06:10) Funkomanía, hasta a los más haters les gusta alguno y eso puede provocar competencia desleal en algunos eventos. (10:15) ¿Funko es el Hello Kitty para otro público? Mejor aún, ¿Hello Kitty es un gato? ¡Fofo nos explica! (17:27) Una ola de calor azota la region y el equipo del NortCast estuvo a punto de derretirse y con eso le damos la bienvenida a la Canícula. (39:18) Prime Day paso de largo, con grandes ventas y excelentes ofertas para aquellos que indagaban a profundidad. (42:34) RSS Feeds como todo buen Hipster debemos rescatar herramientas que funcionan y ya no son populares, aquí les platicamos el porqué deben usarlos para tener la información directamente de la fuente. Feedly Feedbin Inoreader (74:33) Jaime Pistolas mejor conocido como James Gunn fue separado del proyecto de Guardianes de la Galaxia Vol. 3. (83:18) De ser el Sol de México a pelear junto al Terminator, Diego Boneta la está rompiendo. (85:30) Hablando de Luis Miguel, el final de temporada de la serie y su grandísimo éxito, comienzan a salir las historias detrás del mito y les contamos todo el chisme. (102:08) John Wick 3 es su estado más Bad Ass cabalgando en las calles de New York, casual. (102:44) Predator vs Luisito Rey es una realidad… en nuestros corazones. (103:32) Joaquín Phoenix tiene luz verde y hay fecha para el estreno de la película del Joker (a diferencia del resto de los rumores de DC Movies). (104:12) ¡The Clone Wars regresara en forma de fichas! Con esto Star Wars planea enganchar a los fans a la nueva plataforma de streaming de Disney. (106:40) IT; el payaso tenebroso, apareció en el Cómic-Con de San Diego con el Cast competo del Club de los Perdedores. (109:13) Despedida. Síguenos:TwitterFacebookSuscríbete:Apple PodcastsGoogle PodcastsSpotifyRSSContacto

SUPERVIVENCIA DIGITAL
Supervivencia Digital - Episodio 18- Feedly

SUPERVIVENCIA DIGITAL

Play Episode Listen Later Jan 9, 2018 7:54


Feedly es un lector de feeds o agregador de noticias (también denominado agregador, lector de contenidos o lector de RSS). Un lector de feeds es una herramienta que te permite acceder a todos los contenidos actualizados de una web, sin tener que ir directamente a la página web cada vez que quieras consultar una noticia nueva. Es un medio que nos permite agregar y organizar feeds (alimentador de contenidos) de distintos sitios web, de tal forma que puedo visualizar en cualquier momento las últimas noticias de múltiples webs clasificadas por categorías. Lo único que hay que realizar es agregar las fuentes de consultas que más nos interesen y clasificarlas para que nos sea sencillo acceder a la información. En el mercado existen múltiples lectores de RSS (Netvibes, Feedbin, the Old Reader, Digg, Newsblur, entre otros), pero Feedly es recomendable por su versatilidad y sencillez. Ya sea a través de escritorio web o móvil, accedes desde cualquier lugar, ahorras mucho tiempo y ordenas la información según lo que más te interese. Las características prinicipales de Feedly. Organizar tus fuentes de noticias en colecciones fáciles de leer Visualizar la información de formas distintas (tipo revista, tipo tarjetas o cuadrículas, tipo lista de artículos, etc.) Compartir las noticias directamente en redes sociales Es gratuita hasta 100 fuentes de noticias En la opción de pago de la herramienta dispones también de: Alerta de palabras claves Integración IFTTT para cientos de aplicaciones Guardar en Evernote, Pocket y Onenote Integración con Buffer y Hootsuite Copia de seguridad en Dropbox Enviar resúmenes por correo electrónico Análisis estadístico Feedly Es una herramienta que interesa fundamentalmente a dos tipos de públicos: Lector de contenidos de cualquier temática Dado que Feedly te permite agrupar contenidos por cualquier temática y mantener actualizada tu información seleccionada, es muy adecuado para cualquier lector que quiera cierto orden en las fuentes de noticias que consulta de forma frecuente. A los propietarios de los sitios web Si eres dueño de un sitio web, Feedly te va a proporcionar un mayor alcance a través de tus suscriptores que encontrarán información actualizada sobre tu blog o noticias.

Changelog Master Feed
Feedbin and RSS resurgence (The Changelog #240)

Changelog Master Feed

Play Episode Listen Later Feb 21, 2017 65:58 Transcription Available


Ben Ubois, the creator of Feedbin (a simple, good-looking online RSS reader) joined the show to talk about the indie web and developers, how RSS usage has changed over the years – particularly since Google Reader shutdown. We also talked about RSS vs the social web that we’re in now and the idea of an RSS resurgence and taking back control over the content we choose to subscribe to.

The Changelog
Feedbin and RSS resurgence

The Changelog

Play Episode Listen Later Feb 21, 2017 65:58 Transcription Available


Ben Ubois, the creator of Feedbin (a simple, good-looking online RSS reader) joined the show to talk about the indie web and developers, how RSS usage has changed over the years – particularly since Google Reader shutdown. We also talked about RSS vs the social web that we’re in now and the idea of an RSS resurgence and taking back control over the content we choose to subscribe to.

Error de Conexión
Ep023: Gromenagüer as a Service

Error de Conexión

Play Episode Listen Later Apr 19, 2016


Nocilla vs Nutella Bimbo y Panrico Chiquito de la Calzada en Wikipediarl [inglés] [español] El Drama de TextExpander Software As a Service: ¿está explotando la burbuja? Algunos servicios con suscripción: Protools, Pocket, Feedly, Feedbin, Evernote, flickr, iCloud, Adobe Creative Cloud De cómo Andrés volvió a PC y Windows… y montó un servidor multimedia con Plex.

/dev/hell
Episode 73: Old Guys Last Longer

/dev/hell

Play Episode Listen Later Mar 12, 2016


This time out we had PHP community icon Cal “Doesn’t Follow Chris On Twitter” Evans on to discuss the traveling minstrel show known as NomadPHP, the awesomeness of Day Camp 4 Developers, his thoughts on how Mailchimp handled The Mandrill Issue, and helped trigger Chris in to an epic rant. Chris also hopes that Cal has not noticed he hadn’t finished that thing he was supposed to do for him yet. It will be done really soon! We’ll be giving away 4 free tickets to the Day Camp 4 Developers on Modern PHP on April 22, 2016! Sign up for our mailing list now to enter the drawing! Don’t forget about our special offer for listeners! Get 50% off Backup Pro’s CMS plugins by using the promo code devhell! And get trials of Backup Pro for ExpressionEngine 2, ExpressionEngine 3, Craft, WordPress, PrestaShop, and Concrete5! Do these things! Check out our sponsors Backup Pro, Roave and WonderNetwork Get 50% off Backup Pro’s services by using the promo code devhell Buy stickers at devhell.info/shop Follow us on Twitter here Rate us on iTunes here Listen Download now (MP3, 59.9MB, 1:23:23) Links and Notes One of Sean Connery’s finest scenes Chris' favourite movie Guy who harpooned the FedEx pilots NomadPHP Day Camp 4 Developers Box Lunch Josh Holmes Josh Lockhart Josh’s Lockhart’s Modern PHP Book The SlimPHP microframework Lorna Jane’s website Rob Allen (who took a very popular picture of Chris) New Zealand developer Chris Pitt Aaron Piotrowski Icicle Sara Golemon The 12th Man I can’t wait to use HHJVM Patrick McKenzie MailChimp’s thought-provoking post about the future of Mandrill Amazon SES Mailgun SendGrid SparkPost Feedbin Feedly

Dawn Patrol
DP 017: Ruin Your Life with Pythonista

Dawn Patrol

Play Episode Listen Later Feb 11, 2015


Nationaal Archief Truth in Advertising Fussy coffee. Exemplar The move from crack to fine coffee roasting The inevitable slide towards coffee mediocrity Tonx Blue Bottle K-cups Coffee with DRM HP Ink coffee synergy Did someone ask for an avenging angel to be added to Boards of Directors? Board of Average People Drunk Modes Temper tantrums overhead Shell inception sudo Dagerous commands Gmail Goggles Breathalyzers Legally drunk PSA (with bonus callback) Hazel needs a drunk mode Python Guy College nicknames Pythonista Reasons to use Python Good science support Whitespace matters AppleScript is a dumb language Node.js and learning through problem solving Ruby why or why the lucky stiff (not unknown anymore) Nothing really disappears from the internet why’s (poignant) Guide to Ruby “Some jerk researched him”; Lots more Sad hipster Related, anonymous people on the internet are weird Seriously, Back to Python Resizing and cropping images for fun and profit Macdrifter Editorial workflow for images Workflow distorts images The fiddler Breaking iOS within the Rules Ruin your life with Pythonista Doxing oneself Peak scripting “Exhaustive” app research instead of scripting Kids ruin Daddy’s concentration Actually creating script on iOS “It’s all Ole”, i.e. genius Tasker as Android’s uglier utilty tool Scripting: The Nerd’s Song Inability to read documentation indicates a lack of seriousness “Big-boned phone” Forcing Apple Evolution Constraints foster creativity Android’s freedom and iOS’s artisanal app market CyanogenMod Android text editors are nothing special, however, ssh plus Vim is wonderous iOS-only as clickbait Quitting the internet as clickbait The misjudged Federico article Peak iPad Thumb-typing Rumors! 12” MacBook Air We want a small device with a built-in keyboard 13” MBPr vs. MBA Airline seats are getting smaller “And Leon is getting larger” iPad apps that should be on OS X Editorial Pinswift Mr. Reader Drafts Rosetta Android apps on Chrome OS Some officially The rest unofficially Webapps are fine (or awesome) Fastmail Feedbin Trello Slack Pocket Casts Styluses…Stylii?…Digital-Marker-thingies FiftyThree Wacom Bob’s Surface Pro 3 replacement Finger-painting The software is better even if the hardware isn’t Spider bites and Farewells Blizzards in Boston Tauntaun survival Trains in the snow One-handed keyboards

Dave & Gunnar Show
Episode 26: #26: Hedbänger’s Bäll

Dave & Gunnar Show

Play Episode Listen Later Sep 3, 2013 49:42


This week, Dave and Gunnar talk about: snollygosters firing 9 or every 10 sysadmins, even yet still more Google and privacy, hands-free computing, Gunnar’s reputation management problems, and Dave’s “how to say no” weapons turned against him. Subscribe via RSS or iTunes. Dave gets incepted. Lauren mentioned on Crain’s Business Cleveland podcast HER Ideas in Motion hands-on learning for girls in technology and media arts How the Egts family rolls on Mother’s Day: Mother Daughter Hack Day Gunnar visits Sweden! Zach Sciales says nice things about Red Hat and the D&G Show! Automation Myths: The NSA Can’t Replace 90% of Its System Administrators Dave’s Confining Users with SELinux video series Red Hat is hiring Code By Voice Faster Than Keyboard Google Adds Your Flights, Reservations, and Purchases to Voice Search Google Cloud Storage now provides server-side encryption So you can store the data at rest w/encryption, but you need to decrypt it to work on it unless you use homomorphic encryption as discussed in D&G #9 Google says UK privacy laws can’t touch it Egts family spring break candidate: Principality of Sealand HavenCo Trsst: a distributed secure blog platform for the open web Man Crosses Twitter and Google Reader to Create Open Source Love Child Meet the Indie Web hackers who want to jailbreak the internet Groklaw Shuts Down, A Self-Described Casualty In The Privacy Wars PJ’s reasoning Open Technology Fund Lauren is a developer! Scratch on Raspberry Pi video now live! Major Hayden now uses Linux! (Wait, what?) Super fun flying club, from United: Inside United’s Secret Club for Top Fliers Gunnar at OSHERA on 5 September. Dave presenting via web with David A. Wheeler and Josh Davis at GovLoop Government Innovators Virtual Summit on September 10 Gunnar keynotes NC DataPalooza on September 12 Dave receiving AFCEA DC AFCEAN of the Month award at AFCEA DC’s Monthly Luncheon on September 16 Dave as panelist at GovLoop Agency of the Future on September 17 Gunnar presenting at NIST Cloud Computing and Mobility workshop on October 1 Dave as panelist at Symantec Government Symposium on October 2 Red Hat Government Symposium registration now open! Gunnar’s GCN article: Do you have a cloud exit strategy? Here’s one clear path. Headbangers Ball: Dave’s recap of FedScoop’s Lowering the Cost of Government with IT Summit Note the TV hanging from the ceiling to the right of the panelists Dave’s Fedscoop TV video Dan Walsh blogging about Dave’s software defined Multi Level Security video series D&G updated Blacklist: cyber, “software-defined” JBoss Enterprise Application Platform 6 in evaluation! Hellekson’s Law: request denied, for now Would a title of nobility make Gunnar more notable? The Magic of Incentives: Brazilian Journals’ Self-Citation Cartel Smashed CommaFeed backlinks from Wikipedia to D&G! “How to say no” update: Adam Clater makes Dave an offer he couldn’t refuse This is what it looked like There’s a difference between being right & being persuasive Word of the day that we aren’t allowed to use any more: snollygoster — an unprincipled but shrewd person Cutting Room Floor FeedBin: A new OSS RSS reader entrant ExplainShell: A command line explainer HT Jared Jennings: darcs is simpler and more fun than git. but http://hub.darcs.net and http://patch-tag.com aren’t quite github. Unrelated but delicious: D’Arc’s Pizza in Windber, PA Soylent Green, for real: “I didn’t get to be the reviews editor of a major technology website by reading stupid directions.” Heavy Metal Umlaut Quiz Beastie Boys’ “Sabotage” reenacted with librarians Black Flag’s Henry Rollins to keynote the 2013 California Library Association conference Knitters are banned from library due to dangerous needle use A creepy robot that can sneak under your door Plan ahead: Drone guidelines for Burning Man OpenDesk.cc Is Like Ikea For Open Source Zealots Regular expresssion crossword puzzle sites of the week We Give Thanks Rachel Wilkins Patel for getting girls into technology and media arts and being a great role model Zach Sciales for letting us know we’re helping! Dan Walsh for blogging about Dave’s MLS video series Adam Clater for using our mind tricks against us for everyone’s benefit Jared Jennings for the tip on Darcs