<?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: initdc</title>
    <description>The latest articles on DEV Community by initdc (@initd).</description>
    <link>https://dev.to/initd</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%2F827285%2Fbc05d0c4-4533-40bc-81a6-23a8531ef4a4.png</url>
      <title>DEV Community: initdc</title>
      <link>https://dev.to/initd</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/initd"/>
    <language>en</language>
    <item>
      <title>Golang/Rust Project Workflow</title>
      <dc:creator>initdc</dc:creator>
      <pubDate>Thu, 28 Jul 2022 10:22:19 +0000</pubDate>
      <link>https://dev.to/initd/golangrust-project-workflow-1592</link>
      <guid>https://dev.to/initd/golangrust-project-workflow-1592</guid>
      <description>&lt;p&gt;We may encounter problems running programs on non-x86 architectures.&lt;/p&gt;

&lt;p&gt;For example, running a DNS-over-HTTPS client on a Raspberry Pi 4B, or a VPN server on a MIPS architecture OpenWRT router.&lt;/p&gt;

&lt;p&gt;Common sense says that this should be simple. But in reality it is a complex and painful task.&lt;/p&gt;

&lt;p&gt;The next scenario occurs when the software is not included in a Linux distribution, or an embedded distribution without a package manager. &lt;/p&gt;

&lt;p&gt;First you need to download the binary for your architecture, and you'll have to pray that you can find it on GitHub Releases, otherwise you'll need to compile it yourself. Then you run the program, and maybe it works, or maybe it needs more dependencies. You start to get into pain, Docker is a good solution, you start to look for it, and then you find out that the Docker image doesn't have a corresponding architecture.&lt;/p&gt;

&lt;p&gt;Why is that? The developer builds a workflow for GitHub Releases, which will generate a binary for the target architecture. Then build another workflow for Docker, usually with only the major architecture, and compile it from source. I started to see the problem, why do I need to run an additional compilation process? I already ran the compilation process when I published Releases on GitHub, why do I need to do it again?&lt;/p&gt;

&lt;p&gt;Yes, maybe I just need to use the pre-built binaries to build the Docker image.&lt;/p&gt;

&lt;p&gt;I'm a rookie and I didn't learn C properly. I prefer the painless cross-platform Golang and Rust, so I wrote the workflow template for the Golang project first, and then adapted it to Rust.&lt;/p&gt;

&lt;p&gt;The template uses a Ruby script to run the build command, linking the files to the appropriate directory that will be used to build the Docker image later. This is a very elegant design that allows me to not bother parsing the TARGETPLATFORM environment variables passed by docker buildx.&lt;/p&gt;

&lt;p&gt;Rust's cross-platform compilation is not complete, and the binaries for Windows, Darwin, were not compiled successfully on Linux Host. I am not familiar with the Windows build environment, so I am looking for improvements to this.&lt;/p&gt;

&lt;p&gt;The templates are located at &lt;br&gt;
&lt;a href="https://github.com/initdc/golang-project-workflow"&gt;https://github.com/initdc/golang-project-workflow&lt;/a&gt;&lt;br&gt;
&lt;a href="https://github.com/initdc/rust-project-workflow"&gt;https://github.com/initdc/rust-project-workflow&lt;/a&gt;&lt;/p&gt;

</description>
      <category>build</category>
      <category>compiler</category>
      <category>release</category>
      <category>docker</category>
    </item>
    <item>
      <title>Steam is dying!</title>
      <dc:creator>initdc</dc:creator>
      <pubDate>Wed, 13 Jul 2022 06:47:08 +0000</pubDate>
      <link>https://dev.to/initd/steam-is-dying-jcm</link>
      <guid>https://dev.to/initd/steam-is-dying-jcm</guid>
      <description>&lt;p&gt;I experienced a Steam fraud transaction, Steam was clear about what happened, but refused to restore the items. The only two things I got from customer service were no online support and a refusal to restore policy.&lt;/p&gt;

&lt;p&gt;Fraudsters have been on Steam for a long time, is Steam doing anything to combat them? Banned two level-0 accounts, and then the scammers still completed their transactions and got the profit.&lt;br&gt;
Can the fraudsters not register new accounts anymore? Of course they can. &lt;/p&gt;

&lt;p&gt;Many new users won't know that Steam doesn't have online support, unless they've experienced fraud. Wouldn't Steam add an authentication mark to distinguish official accounts?&lt;/p&gt;

&lt;p&gt;The scammers' disguises are seamless, their conversations are in bubbles, and they seem to know how to format text better, so steam doesn't have a text filter? Is it hard to add a text filter? Aren't you guys pretty good at blocking fxxk in game communication?&lt;/p&gt;

&lt;p&gt;In the absence of online support all the time, any conversation that tries to get the user to transfer assets is suspect, when a red warning pops up: this could be a fraudster. Is that hard?&lt;br&gt;
We need to understand one thing, community marketplace transactions are money transactions, and money transactions need to be secure and trustworthy. If a transaction is fraudulent, it should be able to be reversed. If you want to handle money transactions like gifts, then you're really arrogant.&lt;/p&gt;

&lt;p&gt;I've asked repeatedly to recoup my losses, but Steam customer service repeats their no-recovery policy. &lt;br&gt;
I can't help but guess that Steam's underlying motivation for this policy is that Steam doesn't care who is completing community transactions, because it always receives a 17% tax on those transactions.&lt;/p&gt;

&lt;p&gt;Users are already familiar with the possible scams at Steam, but they don't understand what they're really up against and look how this nightmare began:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--yi5de7D4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdxtl5vdriq27ijyrv2l.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--yi5de7D4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bdxtl5vdriq27ijyrv2l.png" alt="Image description" width="880" height="962"&gt;&lt;/a&gt;&lt;br&gt;
To go through the whole nightmare, click: &lt;a href="https://initdc.github.io/steam_log/Service%20Assistant.mhtml"&gt;https://initdc.github.io/steam_log/Service%20Assistant.mhtml&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I blocked my friends list, with the intention of emptying it. I don't know when someone will turn out to be a fraudster, a real-world one among us. I became an island, lonely, but safe, and no one could harm me, not even by refusing to restore the policy.&lt;/p&gt;

&lt;p&gt;The Prince of Dubai managed to get his Steam account restored, and I'm happy for him.&lt;br&gt;
Unfortunately, I'm not a prince, and neither are you.&lt;/p&gt;

&lt;p&gt;So goodbye, and never see you again.&lt;/p&gt;

</description>
      <category>security</category>
    </item>
  </channel>
</rss>
