<?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: Ian Marcinkowski</title>
    <description>The latest articles on DEV Community by Ian Marcinkowski (@ianmarcinkowski).</description>
    <link>https://dev.to/ianmarcinkowski</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%2F502511%2Fb1adb1aa-831e-4537-b59f-90dfbeab73dd.jpeg</url>
      <title>DEV Community: Ian Marcinkowski</title>
      <link>https://dev.to/ianmarcinkowski</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ianmarcinkowski"/>
    <language>en</language>
    <item>
      <title>An Honest Question: Do you put relational data in Google Firestore?</title>
      <dc:creator>Ian Marcinkowski</dc:creator>
      <pubDate>Sat, 16 Sep 2023 15:19:23 +0000</pubDate>
      <link>https://dev.to/ianmarcinkowski/an-honest-question-do-you-put-relational-data-in-your-google-firestore-1njd</link>
      <guid>https://dev.to/ianmarcinkowski/an-honest-question-do-you-put-relational-data-in-your-google-firestore-1njd</guid>
      <description>&lt;p&gt;&lt;em&gt;This isn't about best practices, this is about the messy reality of working on someone else's project that grew organically without planning over 10 years.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Dev: You're not &lt;em&gt;supposed&lt;/em&gt; to use a document database as a relational DB, but ... it's already there!  We already have the client set up in our ancient Python 3.5 app, so what's the harm in |product requirement for putting relational data in NoSQL|?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What &lt;strong&gt;is&lt;/strong&gt; the harm in using Firestore as a relational database?  It's hard to ask this question of The Internet. &lt;br&gt;
I'm curious about the messy job of inheriting systems that grew organically over 10 years without anyone thinking about sustainable architecture.&lt;/p&gt;

&lt;p&gt;Do you have data in your Firestore/NoSQL DB that would be very comfortable in a relational database?  What happened to get you there?  What are the pain points?  Is it even a problem?&lt;/p&gt;

&lt;p&gt;If you've built things before, you have started with something small and manageable and watched it grow.  You just needed a few entities in Firestore, but now your customers are asking for reports!&lt;/p&gt;

&lt;h2&gt;
  
  
  My recent experience on a project
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;How many items had the customer ordered in the past 6 months?  Sure, that's easy!
&lt;/li&gt;
&lt;li&gt;Fetch all of the OrderVendor-specific webhook configurations for all orders for Customers from ParentCompany XYZ.  Okay... let's write some code.&lt;/li&gt;
&lt;li&gt;Accounting just called and there was a mistaken price correction on "beef jerky" on September 1st before our annual sale, so please update all OrderLineItem.Price where Product.name == "beef jerky" and Order.Date is after Sept 1st.  Okay... let's write some code.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In my experience, Firestore seems like a great idea until you have to go and do the normal, messy job of working on a system designed.  &lt;/p&gt;

&lt;p&gt;The outcome is that my team spends an inordinate amount of time building reports in Python that should be SQL queries.&lt;/p&gt;

</description>
      <category>firebase</category>
      <category>database</category>
      <category>cloud</category>
      <category>nosql</category>
    </item>
    <item>
      <title>Rhetorical virtual machines</title>
      <dc:creator>Ian Marcinkowski</dc:creator>
      <pubDate>Fri, 19 May 2023 14:23:19 +0000</pubDate>
      <link>https://dev.to/ianmarcinkowski/rhetorical-virtual-machines-53m6</link>
      <guid>https://dev.to/ianmarcinkowski/rhetorical-virtual-machines-53m6</guid>
      <description>&lt;p&gt;You are a cube.  You like things with the Right number of vertices.  You have opinions about how not-round your life circumstances should be.  Proper, tidy.  Some of your edges are rounded off with time, but generally you call yourself a cube and do cubey things.&lt;/p&gt;

&lt;p&gt;They are a kidney-bean-shaped beanbag chair.  They are soft and have no vertices unless you simulate them at a low resolution with polygons.  The polygons at least give them some vertices so that they are more palatable to your need for edges and points.  You don't like the lack of square faces on those polygons, but they allow you to feel more secure that you understand this beanbag chair.  &lt;/p&gt;

&lt;p&gt;How does your mind work?  Well, lets say it's like a virtual machine made up of very regular cubeish computational components.  Proper, tidy computational components.  You fit your square, cube, hypercube ideas about how to move your 6 faces through the world in to cubular instructions to calculate what your next move should be.  To generate an internal theory of mind for your round interlocutor so you can have a meaningful argument, you photograph the shapes they are waving in the air and feed those instructions in to your virtual machine.  The program crashes... of course.  Why can't they see that their ideas just don't work?&lt;/p&gt;




&lt;p&gt;A person from group &lt;code&gt;A&lt;/code&gt; understands their virtual machine, and they have useful simulations and projections of future outcomes that take advantage of the machine they run on.  They know they can tinker with certain values and get desired outcomes.  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;A&lt;/code&gt; builds a simulation of what their interlocutor is proposing and runs it on their own virtual machine.  It doesn't crash because they constructed the simulation in ways that are consistent with their machine.  The outcomes differ from the outcomes proposed by the interlocutor and then they argue about this.  &lt;/p&gt;

&lt;p&gt;&lt;code&gt;A&lt;/code&gt; doesn't know how to build a simulation which will run on their interlocutor's hardware and most of the time won't even try.  That's hard.&lt;/p&gt;

&lt;p&gt;What if &lt;code&gt;A&lt;/code&gt; didn't even know that they had different hardware?&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Draft: Where do LLMs fit in the rhetorical space?</title>
      <dc:creator>Ian Marcinkowski</dc:creator>
      <pubDate>Thu, 27 Apr 2023 03:52:02 +0000</pubDate>
      <link>https://dev.to/ianmarcinkowski/draft-where-do-llms-fit-in-the-rhetorical-space-2c60</link>
      <guid>https://dev.to/ianmarcinkowski/draft-where-do-llms-fit-in-the-rhetorical-space-2c60</guid>
      <description>&lt;ul&gt;
&lt;li&gt;As LLMs and other ML systems grow in size and approach human-level non-deterministic predictive power (eg. they get a vibe of what the right answer is, not a proof) we will figure out more of what it means to think like a human&lt;/li&gt;
&lt;li&gt;Society is a higher-dimensional version of the current ML models we are building, individual humans and meme-like-entities making up the neurons and brain-region-equivalents.  It is a non-deterministic, non-introspectable computing platform to roll forward, computing each next step&lt;/li&gt;
&lt;li&gt;There is a variable in the grand unified theory of human societies for the pace at which humans can adjust to new situations.

&lt;ul&gt;
&lt;li&gt;the baby boomers were slowly turned obese by the mechanized food industry, millenials started their lives obese and have a chance to get out, GenZ will probably not fall for the tricks of fast food&lt;/li&gt;
&lt;li&gt;this variable can probably be augmented with better rhetorical tools and openness to new ideas, AI may help with this?&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>llm</category>
      <category>rhetoric</category>
    </item>
    <item>
      <title>This is a test post</title>
      <dc:creator>Ian Marcinkowski</dc:creator>
      <pubDate>Thu, 20 Apr 2023 11:47:04 +0000</pubDate>
      <link>https://dev.to/ianmarcinkowski/this-is-a-test-post-g45</link>
      <guid>https://dev.to/ianmarcinkowski/this-is-a-test-post-g45</guid>
      <description>&lt;p&gt;hello, this is a page&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>automation</category>
    </item>
  </channel>
</rss>
