<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: david-zoltan</title>
    <description>The latest articles on Forem by david-zoltan (@davidzoltan).</description>
    <link>https://forem.com/davidzoltan</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F209921%2F2c05b1ac-4d34-404b-bb41-be956f0c0538.jpeg</url>
      <title>Forem: david-zoltan</title>
      <link>https://forem.com/davidzoltan</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/davidzoltan"/>
    <language>en</language>
    <item>
      <title>I am a happy SaaS developer. Here are my values, focus, and tools.</title>
      <dc:creator>david-zoltan</dc:creator>
      <pubDate>Thu, 10 Oct 2019 12:10:01 +0000</pubDate>
      <link>https://forem.com/configcat/i-am-a-happy-saas-developer-here-is-who-i-focus-on-what-i-value-and-what-i-use-on-a-daily-basis-2ob2</link>
      <guid>https://forem.com/configcat/i-am-a-happy-saas-developer-here-is-who-i-focus-on-what-i-value-and-what-i-use-on-a-daily-basis-2ob2</guid>
      <description>&lt;p&gt;There is this layer of abstraction where you create code. Above that is where you determine how to organize it. And above that, where you decide what real-world problems you want to solve.&lt;/p&gt;

&lt;p&gt;Often, we think we want to solve the problems of our users. But how often do you stop to think about who your users are? And here I don't mean "do you have user personas?" and things like that. I mean, who are your stakeholders? Who do you want to make happy? &lt;/p&gt;

&lt;h2&gt;
  
  
  The most important person is...
&lt;/h2&gt;

&lt;p&gt;Chances are high that your most important stakeholder is yourself. And any software you create should make you happy. You'll use the software that you created to make yourself happy in a way that's special to you. Maybe you take pride in creating cool stuff (I do). Or you want to be dirty rich (I do). Or you love the feeling of helping other people (well, it depends on who those people are, but mostly I do).&lt;/p&gt;

&lt;h2&gt;
  
  
  Pride, Money, and Helping others
&lt;/h2&gt;

&lt;p&gt;Can you make other people happy if your software crashes? Maybe. Can you take pride in software that crashes without you knowing about it? Hell, no!&lt;/p&gt;

&lt;p&gt;Can you help your users without knowing what they do? I doubt. Would you be proud to see thousands or millions of people using your software? Sure!&lt;/p&gt;

&lt;p&gt;Can you save face without the ability to hide bugs quickly? Do you feel safe without control over how your software works? I don't. Would you be proud if 99% of people would perceive your software as bugfree, stable, and easy to use? I would! And I would make a lot of money out of it!&lt;/p&gt;

&lt;h2&gt;
  
  
  3 key abilities every happy software business has
&lt;/h2&gt;

&lt;p&gt;You see the patterns here? It's hard to create software that will make you become rich, feel proud, and will help other people unless you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;are notified as soon problems or bugs pop up&lt;/li&gt;
&lt;li&gt;can observe how your users use your software&lt;/li&gt;
&lt;li&gt;can hide buggy features or roll back to previous stable versions quickly&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the other hand, the whole thing gets easy after you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;see all remote errors right after they appear&lt;/li&gt;
&lt;li&gt;can see what your user see and where they click&lt;/li&gt;
&lt;li&gt;alter/reconfigure how your software works instantaneously &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  3 SaaSs that make me happier, secure my business, and help my users
&lt;/h2&gt;

&lt;p&gt;This section sounds like an advertisement, right? Well, this is a short list of services that provide me the key abilities of seeing bugs, understanding users, and remote controlling my software.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sentry.io
&lt;/h3&gt;

&lt;p&gt;This is the one that shows me bugs. (Disclaimer: I'm not working for Sentry. I use their service and love it.)&lt;/p&gt;

&lt;p&gt;Their service has helped two of my companies creating much better software. &lt;a href="https://sentry.io"&gt;Sentry&lt;/a&gt; collects all the exceptions and other errors from my software components and shows them in an organized, easy to oversee way. I can find not only the exceptions but the stack traces and other context data there. Sentry.io has helped me to kill 99% of my bugs in hours. And it takes only a few minutes to set it up. Their integrations (SDKs) have sensible default behavior and require almost zero configuration in my end.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smartlook.com
&lt;/h3&gt;

&lt;p&gt;This is the one that shows me what my users do. (Disclaimer: I'm not working for Smartlook. But again, I make great use of their service.)&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://smartlook.com"&gt;Smartlook&lt;/a&gt; guys allow me to watch what my website visitors do, just if I were looking directly at their screen. Smartlook creates recordings of users' actions and shows me those recordings. It does this in a GDPR compliant way, by masking out all sensitive data and storing the recordings for a short amount of time.&lt;/p&gt;

&lt;h3&gt;
  
  
  ConfigCat.com
&lt;/h3&gt;

&lt;p&gt;This is the one that helps me remotely control my other software products. (Disclaimer: I created this service. And I love it too.)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://configcat.com"&gt;ConfigCat&lt;/a&gt; allows you to create visual dashboards (it's a webpage behind a unique URL, guarded by login/password, or SSO) where you can control and reconfigure how your software works - the software you build for your users and to make yourself happy.&lt;/p&gt;

&lt;p&gt;You can add feature flags, targeting rules, and traditional configuration settings to those dashboards. Then you can integrate that dashboard into your software through the &lt;a href="https://configcat.com/docs/sdk-reference/overview/"&gt;ConfigCat SDKs&lt;/a&gt; in a few minutes.&lt;/p&gt;

&lt;p&gt;What you get at the end of the day is a loosely coupled way to do canary releases, phased rollouts, sit on the feature flag hype train + the ability to change your software's configuration values through the ConfigCat dashboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus track about ❤️
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I guess she's got her reasons.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=CsrfovOPcjk"&gt;https://www.youtube.com/watch?v=CsrfovOPcjk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For those who lost the feeling of their own importance while they were creating software for others (me included). And for those left by their girlfriends while they were creating software for others (me and my ex included).&lt;/p&gt;

</description>
      <category>startup</category>
      <category>career</category>
      <category>productivity</category>
      <category>devlive</category>
    </item>
    <item>
      <title>Lazy man's guide: multiple GitHub HTTPS accounts on Windows</title>
      <dc:creator>david-zoltan</dc:creator>
      <pubDate>Sat, 10 Aug 2019 10:02:03 +0000</pubDate>
      <link>https://forem.com/configcat/lazy-man-s-guide-multiple-github-https-accounts-on-windows-2mad</link>
      <guid>https://forem.com/configcat/lazy-man-s-guide-multiple-github-https-accounts-on-windows-2mad</guid>
      <description>&lt;p&gt;Using multiple GitHub account's on Windows sucks by default. If you are tired of  Window's Credential Manager storing only one account's credential for git:&lt;a href="https://github.com" rel="noopener noreferrer"&gt;https://github.com&lt;/a&gt; then here is a 1-minute fix for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;If you know what you're doing just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;delete your GitHub credentials from Windows Credential Manager&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;git config --global credential.github.com.useHttpPath true&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;continue coding&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need more detailed instructions and learn about the background just read on.&lt;/p&gt;

&lt;h2&gt;
  
  
  The full story
&lt;/h2&gt;

&lt;p&gt;I'm juggling with multiple GitHub repos on a daily basis. They all require different credentials. It's not only the repos of ConfigCat, my &lt;a href="https://configcat.com" rel="noopener noreferrer"&gt;feature flag service&lt;/a&gt; (a great LaunchDarkly alternative "by the way") but my other projects too. If you're a developer at heart, I'm sure you know what I'm talking about. I never really liked how the credential manager on Windows stores one single GitHub account for all my repos by default.&lt;/p&gt;

&lt;p&gt;Just came through &lt;a class="mentioned-user" href="https://dev.to/arnellebalane"&gt;@arnellebalane&lt;/a&gt;'s great post about &lt;a href="https://dev.to/arnellebalane/setting-up-multiple-github-accounts-the-nicer-way-1m5m"&gt;setting up multiple GitHub accounts the nice way&lt;/a&gt;. His solution is based on SSH keys and is pretty thorough.&lt;/p&gt;

&lt;p&gt;While I would never publicly admit that I'm lazy, I happen to know a quick and dirty solution here. I decided to share the "lazy man's guide" to set up multiple GitHub accounts on Windows. While &lt;a class="mentioned-user" href="https://dev.to/arnellebalane"&gt;@arnellebalane&lt;/a&gt;'s solution is really nice, you might be interested in a more basic approach...&lt;/p&gt;

&lt;h3&gt;
  
  
  The problem
&lt;/h3&gt;

&lt;p&gt;If you're using Windows Credential Manager to store your username/password for your GitHub account, and you have to work with different GitHub accounts for different projects, then I'm sure you've already experienced&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fatal: Authentication failed for https://www.github.com/name/repo.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Usually, this happens when you try to push to &lt;em&gt;one&lt;/em&gt; of your repositories in the name of &lt;em&gt;another account&lt;/em&gt; that is for your &lt;em&gt;other&lt;/em&gt; project.&lt;/p&gt;

&lt;p&gt;The root problem is that Windows Credential stores the one same account for all your GitHub repositories.&lt;/p&gt;

&lt;h3&gt;
  
  
  The solution
&lt;/h3&gt;

&lt;p&gt;There is a simple, three steps solution that will help you store multiple different GitHub accounts, one for each of your GitHub repos.&lt;/p&gt;

&lt;p&gt;Simple 3 step solution:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;remove your current GitHub credentials from Windows Credential Manager&lt;/li&gt;
&lt;li&gt;tell Windows to store different accounts for each of your GitHub repos&lt;/li&gt;
&lt;li&gt;provide your username, password once again for each repo when you are prompted for your credentials - this is the last time you need to do that&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Removing current GitHub credentials from Windows Credential Manager
&lt;/h4&gt;

&lt;p&gt;Go to &lt;code&gt;Windows Credential Manager&lt;/code&gt;, open the &lt;code&gt;Windows Credentials&lt;/code&gt; tab, locate &lt;code&gt;git:https://github.com&lt;/code&gt;, open the entry, and click &lt;code&gt;Remove&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3xrbl69zb6tzlq9fdcvv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F3xrbl69zb6tzlq9fdcvv.png" alt="Windows Credential Manager"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This will remove your GitHub credentials from the credential manager.&lt;/p&gt;

&lt;h4&gt;
  
  
  Tell Windows to store different accounts for different repos
&lt;/h4&gt;

&lt;p&gt;Issue the following git command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global credential.github.com.useHttpPath true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, Windows will store different logins for each of your GitHub repos.&lt;/p&gt;

&lt;h4&gt;
  
  
  Reauthenticate
&lt;/h4&gt;

&lt;p&gt;Just work on your project. Whenever GitHub asks you for your credentials, just type your username and password. Windows will store them and you never ever have to provide them again for this repo.&lt;/p&gt;

</description>
      <category>git</category>
      <category>github</category>
      <category>https</category>
      <category>windows</category>
    </item>
  </channel>
</rss>
