<?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>DEV Community: kibblewhite</title>
    <description>The latest articles on DEV Community by kibblewhite (@kibblewhite).</description>
    <link>https://dev.to/kibblewhite</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%2F376873%2F67870e1e-76ab-4a5a-8967-17e1d02c214f.jpg</url>
      <title>DEV Community: kibblewhite</title>
      <link>https://dev.to/kibblewhite</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kibblewhite"/>
    <language>en</language>
    <item>
      <title>More entity framework core woes...</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Tue, 07 Jun 2022 23:07:29 +0000</pubDate>
      <link>https://dev.to/kibblewhite/more-entity-framework-core-woes-4gca</link>
      <guid>https://dev.to/kibblewhite/more-entity-framework-core-woes-4gca</guid>
      <description>&lt;p&gt;Do one thing you have an error, fix one issue you have a warning, ignore the warning, the migrations stop working.&lt;/p&gt;

&lt;p&gt;I've wasted many hours on entity framework over the many years that I have used it.&lt;/p&gt;

&lt;p&gt;Why do I always have issues when EF is involved...&lt;/p&gt;

&lt;p&gt;I really want to like it, I really tried, for years, but it keeps sending me down dark alleys and strange fixes.&lt;/p&gt;

&lt;p&gt;If you want to judge for yourself, because you think EF is great, please be my guest and look at it for yourself.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kibblewhite/ef-issue-035"&gt;https://github.com/kibblewhite/ef-issue-035&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything about the issue is there...&lt;/p&gt;

&lt;p&gt;p.s.&lt;br&gt;
Also you can take a look at my previous issue too, if you feel so inclined:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kibblewhite/ef-issue-034"&gt;https://github.com/kibblewhite/ef-issue-034&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This 034 one is less of a thorn in my side.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>In 99% of cases, Marketing and Sales team always forget this...</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Mon, 06 Jun 2022 15:45:28 +0000</pubDate>
      <link>https://dev.to/kibblewhite/in-99-of-cases-marketing-and-sales-team-always-forget-this-4h9f</link>
      <guid>https://dev.to/kibblewhite/in-99-of-cases-marketing-and-sales-team-always-forget-this-4h9f</guid>
      <description>&lt;p&gt;I came across a term today "Smarketing" from a techonology/saas provider/company.&lt;/p&gt;

&lt;p&gt;I know the point here is that they are talking solely about Marketing and Sales, however, nowhere in their document (at all) could I find any reference to their technology or how their "smarketing" team(s) communicate with their IT department.&lt;/p&gt;

&lt;p&gt;Why, oh why, do marketing and sales always leave out the tech teams, when it is the products that these teams develop, are getting sold by "smarketing"&lt;/p&gt;

&lt;p&gt;Do they forget that there can be no sales, and there can be no marketing without the existance of the technology or IT department involved? Do they forget that it is the features and the funtionality that the tech teams develop, that brings value to the products that are "smarketed"? Or do they really believe that the product owners are only sales or marketing staff?&lt;/p&gt;

&lt;p&gt;I've experinced firsthand on more than one occasion, being pitched a product, and that when asked any question about how it works, the "smarketing" is at a loss and typically did not know how it would fit our needs or requirements. This could be solved if they actually involve their tech teams into their knowledge base.&lt;/p&gt;

&lt;p&gt;Good luck with "smarketing" is all I can say. Sure you can sell today where it doesn't matter, but when it comes down to the longevity of operations, I'm sure it will be a painful process for those in marketing and sales trying to follow this principle of "smarketing" when asked any questions about the product.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>My first attempt at using HashiCorp Vault (inc. C# Client Library)</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Tue, 24 May 2022 00:43:23 +0000</pubDate>
      <link>https://dev.to/kibblewhite/my-first-attempt-at-using-hashicorp-vault-inc-c-client-library-52f3</link>
      <guid>https://dev.to/kibblewhite/my-first-attempt-at-using-hashicorp-vault-inc-c-client-library-52f3</guid>
      <description>&lt;p&gt;So it's here:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/kibblewhite/HashiVaultCs"&gt;https://github.com/kibblewhite/HashiVaultCs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's for my own education, although I may end up using the very limited features in production as it is all that I need.&lt;/p&gt;

&lt;p&gt;I wrote my own documentation for it, for getting started with Vault.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.vaultproject.io/"&gt;https://www.vaultproject.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is all, thank you very much.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A cause for celebration...</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Sun, 13 Feb 2022 03:43:58 +0000</pubDate>
      <link>https://dev.to/kibblewhite/a-cause-for-celebration-5epn</link>
      <guid>https://dev.to/kibblewhite/a-cause-for-celebration-5epn</guid>
      <description>&lt;p&gt;I've found a small project which hasn't been developed on yet.&lt;/p&gt;

&lt;p&gt;An &lt;a href="https://docs.microsoft.com/en-us/aspnet/core/security/data-protection/using-data-protection"&gt;IDataProtection&lt;/a&gt; provider using Google's &lt;a href="https://firebase.google.com/"&gt;Firebase&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://github.com/kibblewhite/IDataProtectionFirebase"&gt;https://github.com/kibblewhite/IDataProtectionFirebase&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.nuget.org/packages/IDataProtectionFirebase/"&gt;https://www.nuget.org/packages/IDataProtectionFirebase/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm happy that I've managed to find a small project that hasn't already been done.&lt;/p&gt;

&lt;p&gt;To use it is pretty straight forwards, get your project id and the json credentials file from GCP (Google Cloud Platform) for your Firebase Database and you are ready to rock.&lt;/p&gt;

&lt;p&gt;In code usage "could" looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight csharp"&gt;&lt;code&gt;&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;ConfigureServices&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;IServiceCollection&lt;/span&gt; &lt;span class="n"&gt;services&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;service_container&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;AddDataProtection&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;PersistKeysToFirebase&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;service_name&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

    &lt;span class="n"&gt;services&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;AddMvc&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Rest of the details are in the &lt;a href="https://github.com/kibblewhite/IDataProtectionFirebase/blob/main/README.md"&gt;README.md&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;p.s. The reason why this is a cause for celebration, is because this is offically my first personal nuget package/open source contribution.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Trying to remember the first time I encountered Unit Of Work...</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Sat, 05 Feb 2022 03:39:19 +0000</pubDate>
      <link>https://dev.to/kibblewhite/trying-to-remember-the-first-time-i-encountered-unit-of-work-1c23</link>
      <guid>https://dev.to/kibblewhite/trying-to-remember-the-first-time-i-encountered-unit-of-work-1c23</guid>
      <description>&lt;p&gt;... and actually, I hugely misunderstood it because of how it was named. I remember thinking, how can that be a unit of work when many "units" of work (i.e. multiple database statements/tasks) was attached to it. I always thought of "unit" as a singular or individual thing, but obviously, a unit can be a collection also.&lt;/p&gt;

&lt;p&gt;I'm half-convinced that there should be a better term to replace Unit Of Work, but I can't think of one.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Got em' ...</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Wed, 05 Jan 2022 17:51:07 +0000</pubDate>
      <link>https://dev.to/kibblewhite/got-em--4jgn</link>
      <guid>https://dev.to/kibblewhite/got-em--4jgn</guid>
      <description>&lt;p&gt;Had a really strange thing happen today while developing using Blazor.&lt;/p&gt;

&lt;p&gt;Things were working fine, and then my Blazor app started making calls to the server using a library called "Got" (&lt;a href="https://github.com/sindresorhus/got"&gt;https://github.com/sindresorhus/got&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;This is fine, apart from that it stripped all the http header data that we were working with. In the end we had to bin blazor and went back to using JavaScript and XMLHttpRequests.&lt;/p&gt;

&lt;p&gt;I think the only thing that was annoying, is I have no idea where and when this "got" library appeared from, who included it into the Blazor app and why?&lt;/p&gt;

&lt;p&gt;Anyways, that is all.&lt;/p&gt;

&lt;p&gt;p.s. why name an app/lib "got", it's like calling an app "the". Makes troubleshooting and finding any relevant search terms near impossible to find.&lt;/p&gt;

</description>
      <category>csharp</category>
    </item>
    <item>
      <title>Explaining WHY to other team members</title>
      <dc:creator>kibblewhite</dc:creator>
      <pubDate>Sat, 01 Jan 2022 14:07:21 +0000</pubDate>
      <link>https://dev.to/kibblewhite/explaining-why-to-other-team-members-jjd</link>
      <guid>https://dev.to/kibblewhite/explaining-why-to-other-team-members-jjd</guid>
      <description>&lt;p&gt;After a discussion with my other co-founder (approx: 2021-11-30)&lt;/p&gt;

&lt;p&gt;We agreed that it would be good to have clear goals in the following format:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What is the system currently doing?&lt;/li&gt;
&lt;li&gt;What we are trying to do?&lt;/li&gt;
&lt;li&gt;Why?&lt;/li&gt;
&lt;li&gt;The possible how's and what’s for each department (This is the only part that each department can add to, however, it should be succinct and pertain to the "why" as made in point number 3.)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This way we should be able to maintain the importance of a task from the top levels all the way to the people who are more “hands-on” with the task. I believe this sentence will create many thoughts at this point, but let's continue...&lt;/p&gt;

&lt;p&gt;As mentioned, this also doubles up as an explanation to why protobuf doesn't have a native GUID/UUID support.&lt;/p&gt;

&lt;p&gt;Something I came across that is a bad example of this is the integration of GUID/UUID into the protobuf lib:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/protocolbuffers/protobuf/issues/2224"&gt;https://github.com/protocolbuffers/protobuf/issues/2224&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can see that the community is presenting many ideas and solutions, a lot of them very complex and not suitable as a solution, however, the amount of attention and the number of other threads with the same request for this feature is certainly a reason for concern. However, the main response to this is coming directly from a contributor of the project, was this single sentence statement:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;quote perezd - "We have no plans at this time to integrate this."&lt;br&gt;
&lt;a href="https://github.com/protocolbuffers/protobuf/issues/2224#issuecomment-889268897"&gt;https://github.com/protocolbuffers/protobuf/issues/2224#issuecomment-889268897&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm still left wondering why not. I can accept that we’ll never know why and it is anyone’s prerogative to make the decision to not explain why for anything, but I can't help to think that others would be feeling the same as me.&lt;/p&gt;

&lt;p&gt;A possible alternative is to try “bytes” as suggested in this older article from 2016:&lt;br&gt;
&lt;a href="https://developers.google.com/protocol-buffers/docs/reference/csharp/interface/google/protobuf/i-custom-diagnostic-message?hl=en"&gt;https://developers.google.com/protocol-buffers/docs/reference/csharp/interface/google/protobuf/i-custom-diagnostic-message?hl=en&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway, let’s move on with life, and with development, for now, all references to GUID/UUID have been made as “strings” with the variable name suffixed with "_guid" so that we know it's a GUID/UUID that we are dealing with.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
