<?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: Schrödinger Hat</title>
    <description>The latest articles on DEV Community by Schrödinger Hat (@schroedinger-hat).</description>
    <link>https://dev.to/schroedinger-hat</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%2F2234055%2F3aac1b76-be2e-46af-8153-6916762e74c3.png</url>
      <title>DEV Community: Schrödinger Hat</title>
      <link>https://dev.to/schroedinger-hat</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/schroedinger-hat"/>
    <language>en</language>
    <item>
      <title>Reflections on System Architecture &amp; Infrastructure: What Really Matters</title>
      <dc:creator>Schrödinger Hat</dc:creator>
      <pubDate>Sun, 19 Jan 2025 17:06:50 +0000</pubDate>
      <link>https://dev.to/schroedinger-hat/reflections-on-system-architecture-infrastructure-what-really-matters-23cj</link>
      <guid>https://dev.to/schroedinger-hat/reflections-on-system-architecture-infrastructure-what-really-matters-23cj</guid>
      <description>&lt;p&gt;Hi there! I'm Pato and today I have another article for you today: &lt;/p&gt;

&lt;p&gt;I have recently attended an event called "Software Architecture &amp;amp; Infrastructure" organized by &lt;a href="https://www.tacto.ai/" rel="noopener noreferrer"&gt;Tacto&lt;/a&gt; where the CTO of DeepL &lt;a href="https://www.linkedin.com/in/sebastianenderlein/" rel="noopener noreferrer"&gt;Sebastian Enderlein&lt;/a&gt; and Tacto Co-Founder &amp;amp; CTO &lt;a href="https://www.linkedin.com/in/nbentenrieder/" rel="noopener noreferrer"&gt;Nico Bentenrieder&lt;/a&gt; got me thinking about what makes systems and teams truly work. Without further ado let me share what I learned:&lt;/p&gt;

&lt;h2&gt;
  
  
  The Power of Observability
&lt;/h2&gt;

&lt;p&gt;First off, let's talk about observability. It's not just another tech buzzword; it's really important to have solid processes to analyze what can go right or wrong in your system. Sebastian and Nico found that the more metrics you can compare, the more robust your understanding becomes. It's like having multiple camera angles on a sports play – each perspective adds to the complete picture.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building Strong Core Systems
&lt;/h2&gt;

&lt;p&gt;On the technical side, when talking about core systems especially in frontend engineering, you need to have a good foundation of components that teams can work with without too much hassle. Once that structure is there, you can expand vertically. But here's the thing – it totally depends on what kind of app you're building. If your product needs to be heavily customizable, you need to build flexibility into your DNA and be ready to adapt quickly.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Truth About Hiring and Culture
&lt;/h2&gt;

&lt;p&gt;Speaking of adaptation, let's talk about hiring. You know what's funny? The most important thing isn't the technical skills – it's the cultural fit. The person will show you almost immediately if they're a good fit for your company. What really matters is understanding their motivations, their purpose, their curiosity. Sebastian and Nico have seen it firsthand: people with a closed mindset like "I'm only backend" or "I'm only frontend" or "I'm only DevOps" – that just doesn't work anymore. You need people who are open-minded and ready to learn.&lt;/p&gt;

&lt;h2&gt;
  
  
  Silicon Valley vs. Europe: A Tale of Two Ecosystems
&lt;/h2&gt;

&lt;p&gt;Now, here's something interesting about founding a business in different regions. Europe is really complicated, but once you understand the intricacies or manage to open your business, it's actually way better than you might think. The talent density is just different from Silicon Valley. In SV, you have way more engineers who are all about putting products forward – they basically give everything they've got for that. Europe is different – companies can't just search in their own country because the US market is way bigger in comparison. You have to adapt when searching for talent across countries and when expanding your business internationally.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Art of Progress: Less Planning, More Adapting
&lt;/h2&gt;

&lt;p&gt;Let me share something about progress that they have learned the hard way: don't overthink the processes. Yes, processes are necessary and they push the business forward, but the worst thing is when you try to overplan and overthink every single aspect. Then something unexpected happens – could be political, technical, or cultural – and your system can't adapt to it. You've basically sent your business to die. It's better to have a balance between efficiency and growth. You can't have too much of either for too long, or things start affecting your team's output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Specialized vs. General AI: A Real-World Comparison
&lt;/h2&gt;

&lt;p&gt;Here's something fascinating I learned about AI models. When you compare ChatGPT with models specifically trained for a purpose, like DeepL, the specialized ones are way more efficient. DeepL, for example, has this clever way of training glossaries and specific translations. Take the BMW slogan "Freude am Fahren" – if you give it the proper BMW context, it translates to "The Ultimate Driving Machine." Try that with a normal LLM, and you'll just get "Joy of driving." What makes this interesting is how DeepL lets you add glossaries about specific terms and remembers your preferred translations.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;The key takeaway from all of this? Whether it's system architecture, team building, or AI implementation, success comes from finding the right balance between structure and flexibility. You need enough foundation to be stable, but enough adaptability to evolve. And most importantly, you need people who understand and embrace this balance.&lt;/p&gt;

&lt;p&gt;Note: Credits of the image go to Tacto Technology GmbH, Sebastian Enderlein and Nico Bentenrieder.&lt;/p&gt;

</description>
      <category>architecture</category>
      <category>techleadership</category>
      <category>engineeringculture</category>
      <category>europeantech</category>
    </item>
    <item>
      <title>ImageGoNord: Balancing Open Source Freedom with Ethical Challenges</title>
      <dc:creator>Schrödinger Hat</dc:creator>
      <pubDate>Wed, 11 Dec 2024 08:19:01 +0000</pubDate>
      <link>https://dev.to/schroedinger-hat/imagegonord-balancing-open-source-freedom-with-ethical-challenges-46e4</link>
      <guid>https://dev.to/schroedinger-hat/imagegonord-balancing-open-source-freedom-with-ethical-challenges-46e4</guid>
      <description>&lt;p&gt;The open-source ecosystem thrives on collaboration, transparency, and creativity.&lt;/p&gt;

&lt;p&gt;It is where innovative ideas transform into tools that empower millions. One such tool is &lt;strong&gt;ImageGoNord&lt;/strong&gt;, a project that we made in Schrödinger Hat, an open source non profit organization, that allows users to convert any image into any color palette like the popular Nord theme.&lt;/p&gt;

&lt;p&gt;Its flexibility, free-to-use nature, and open-source philosophy make it a standout resource for designers, developers, and hobbyists (a.k.a linux rice).&lt;/p&gt;

&lt;p&gt;However, with freedom comes responsibility, and the challenges ImageGoNord faces today highlight the complexities of open-source software in a world increasingly driven by automation and misuse of the “quick &amp;amp; now” culture.&lt;/p&gt;




&lt;p&gt;Hi, I’m &lt;a href="https://www.linkedin.com/in/miki-lombardi/" rel="noopener noreferrer"&gt;Miki&lt;/a&gt; from the &lt;a href="https://schroedinger-hat.org/" rel="noopener noreferrer"&gt;Schrödinger Hat&lt;/a&gt; non profit organization. In this article I bring you a story of the open source world and I’d like to share different angles by posting some questions to you. Hope you’ll answer back and engage a conversation in the comments or via PM.&lt;/p&gt;

&lt;p&gt;At the end of the article, if you liked it, please take a moment to check what we’re trying to do on the 21st March 2025 in the &lt;a href="https://2025.osday.dev" rel="noopener noreferrer"&gt;Open Source Day Conference&lt;/a&gt; happening in Florence, Italy.&lt;/p&gt;




&lt;h2&gt;
  
  
  What is ImageGoNord?
&lt;/h2&gt;

&lt;p&gt;ImageGoNord is a tool that brings any palettes into your images by transforming them and giving back your beautiful wallpaper so you could customize your desktop. This tool has become a favorite for users seeking to add a coherent visual style to their projects.&lt;/p&gt;

&lt;p&gt;The project is free to use, both as a standalone web application, via the Python package or via the Python CLI, making it a versatile tool for all individuals.&lt;/p&gt;

&lt;p&gt;Its Open Source nature allows anyone to view, modify, and even contribute to its codebase. Anyone could install the website locally on their VPS, anyone could install the API in their project and anyone could use the Python package in any way!&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ethical Dilemma of Open Source
&lt;/h2&gt;

&lt;p&gt;One of the beauties of Open Source is its ability to democratize software development. It fosters collaboration, encourages learning, and breaks down barriers to access. But these same qualities can also create vulnerabilities, as ImageGoNord has discovered.&lt;/p&gt;

&lt;p&gt;Recently, the project's free-to-use API became a target for aggressive scraping. Many individuals began overloading the service with requests, taking advantage of its openness without regard for the costs or ethics involved. This behavior strains the infrastructure, increasing operational expenses for maintainers and potentially degrading the experience for legitimate users who don’t have the technical skills to use the Python package.&lt;/p&gt;

&lt;h4&gt;
  
  
  Questions for Reflection:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Should Open Source maintainers bear the burden of misuse simply because they chose to make their project free and open?&lt;/li&gt;
&lt;li&gt;How can communities enforce ethical behavior while preserving the spirit of openness?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Philosophy of Free Software
&lt;/h2&gt;

&lt;p&gt;At the heart of Schrödinger Hat is the ethos of free software. The ImageGoNord project operates under a permissive license, allowing users to do almost anything with it: run, study, share, and modify. We started under MIT, we later changed to AGPLv3.&lt;/p&gt;

&lt;p&gt;With freedom comes the possibility of exploitation.&lt;/p&gt;

&lt;p&gt;The philosophical underpinnings of free software often rest on trust—trust that users will respect the effort and resources invested by the maintainers. Yet, this trust can be abused. The scraping incidents faced by ImageGoNord raise an important question: how do we balance the freedom to use with the responsibility to respect?&lt;/p&gt;

&lt;p&gt;Free software is not just about free access; it is about creating ecosystems where everyone benefits without harming others. Misuse of free resources, as seen with ImageGoNord’s API, highlights the need for a cultural shift. Users must understand that while the software may be free, maintaining it is not.&lt;/p&gt;




&lt;h2&gt;
  
  
  Defending the Project: A Pragmatic Approach
&lt;/h2&gt;

&lt;p&gt;To mitigate misuse, the ImageGoNord team adopted some protective measures using Nginx and iptables. The team implemented IP-blocking rules to deny access to abusive users.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Works:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1) Identify Offenders:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Using server logs, the team monitors traffic patterns to identify IPs making excessive requests or displaying suspicious behavior.&lt;br&gt;
Implement Nginx Rules: The deny directive is used to block these IPs. For instance:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;server&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;location&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;api&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="n"&gt;deny&lt;/span&gt; &lt;span class="mf"&gt;192.168&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;# Example IP
&lt;/span&gt;        &lt;span class="n"&gt;deny&lt;/span&gt; &lt;span class="mf"&gt;203.0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;113.0&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mi"&gt;24&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  &lt;span class="c1"&gt;# Block a subnet
&lt;/span&gt;        &lt;span class="n"&gt;allow&lt;/span&gt; &lt;span class="nb"&gt;all&lt;/span&gt;&lt;span class="p"&gt;;&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;&lt;strong&gt;2) Monitor and Update&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;As attackers adapt, the list is updated to ensure continued protection.&lt;/p&gt;

&lt;p&gt;This defensive tactic not only shields the API from abuse but also emphasizes the value of maintaining a fair and accessible service for genuine users.&lt;/p&gt;

&lt;p&gt;Just to give you some numbers: in about 8 days we received more than 500k requests from the Top 20 IP addresses reaching our converting endpoint. &lt;/p&gt;

&lt;p&gt;We have received zero donations from the last year for maintaining the API alive.&lt;/p&gt;

&lt;p&gt;Here are some questions I reflected on: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is it worth it to keep it?&lt;/li&gt;
&lt;li&gt;How do we reconcile the mission of providing free, open services with the real costs of maintaining them?&lt;/li&gt;
&lt;li&gt;Could a tiered service model (free basic access, paid higher limits) better align with both open source principles and sustainability needs?&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Two Angles to Explore
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1) Open Source and the Commons Dilemma&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ImageGoNord’s challenges can be viewed through the lens of the “tragedy of the commons.” When a resource is freely available, individuals often exploit it without considering the collective impact. How can the open-source community create systems that encourage ethical use while still promoting freedom?&lt;/p&gt;

&lt;p&gt;For instance:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Should API usage be rate-limited?&lt;/li&gt;
&lt;li&gt;Would introducing an optional donation system help mitigate costs?&lt;/li&gt;
&lt;li&gt;Could educating users about the impact of misuse foster a more respectful community?&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;2) A Call for Ethical Automation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The scraping issue also raises questions about automation ethics. In an era where bots can perform tasks at scale, what responsibilities do developers have when deploying them? Just because a resource can be exploited doesn’t mean it should be.&lt;/p&gt;

&lt;h4&gt;
  
  
  Questions for readers:
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;If you use an Open Source tool, do you consider its impact on the maintainers?&lt;/li&gt;
&lt;li&gt;Should the Open Source community develop norms or codes of conduct for interacting with public APIs?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;-- &lt;/p&gt;

&lt;h2&gt;
  
  
  The Future of ImageGoNord
&lt;/h2&gt;

&lt;p&gt;Despite these challenges, ImageGoNord remains a testament to the power of Open Source, at least in our organization. We continue to innovate and refine the project, ensuring it serves its community while defending against misuse. But the broader lesson is clear: as users and developers, we must engage with Open Source projects thoughtfully and ethically.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Closing Challenge
&lt;/h2&gt;

&lt;p&gt;As you explore Open Source tools like ImageGoNord, consider this: what role will you play in the ecosystem? Will you contribute positively, respecting the effort behind these resources, or will you take without giving back? The choice is yours, and the future of Open Source software depends on it.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>ethics</category>
      <category>python</category>
      <category>discuss</category>
    </item>
    <item>
      <title>It's all about the people!</title>
      <dc:creator>Schrödinger Hat</dc:creator>
      <pubDate>Wed, 23 Oct 2024 17:25:06 +0000</pubDate>
      <link>https://dev.to/schroedinger-hat/its-all-about-the-people-25ie</link>
      <guid>https://dev.to/schroedinger-hat/its-all-about-the-people-25ie</guid>
      <description>&lt;p&gt;Hey there! I'm &lt;a href="https://www.readpato.dev/" rel="noopener noreferrer"&gt;Patrick Raedler&lt;/a&gt;, but people call me Pato 🦆, and I'm part of &lt;a href="https://schroedinger-hat.org/" rel="noopener noreferrer"&gt;Schrödinger Hat - Open Source Organization&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;You might be wondering, what exactly is Schrödinger Hat? Well, we are an Open Source organization that loves to spread the passion for programming and Open Source while fostering a community that upholds the same values. We also organize free events into which we pour a lot of love and care, such as the &lt;a href="https://osday.dev/" rel="noopener noreferrer"&gt;biggest Open Source  event in Italy&lt;/a&gt; and &lt;a href="https://www.schroedinger-hat.org/events" rel="noopener noreferrer"&gt;smaller ones called "sessions"&lt;/a&gt;. In no small feat, this past month &lt;a href="https://shop.schroedinger-hat.org/?utm_source=sh-website&amp;amp;utm_medium=newsletter&amp;amp;utm_campaign=sh-website-cp" rel="noopener noreferrer"&gt;we launched our shop&lt;/a&gt;! Now you can support us by buying one of the many cat-filled, code-related, vibrant-colored hoodies, posters, shirts, and more! Check it out right away to catch some early-bird discounts from the shop :)&lt;/p&gt;

&lt;p&gt;Alright then, for the first-ever post, here are some reflections on the last conference I had the luck to attend:&lt;/p&gt;

&lt;p&gt;Returning from Vue.js DE made me realize how important Open Source is, and how a community can influence its growth for good. This year was special because &lt;a href="https://www.youtube.com/watch?v=OmrwRrZitv4" rel="noopener noreferrer"&gt;Vue.js marked its 10 year anniversary&lt;/a&gt; since its inception. The conference had a lighthearted vibe, where people were encouraged to connect, interact, and share their love for Vue.&lt;/p&gt;

&lt;p&gt;There were some really good talks this year. We had some interesting technical presentations, like one from &lt;a href="https://x.com/TheAlexLichter" rel="noopener noreferrer"&gt;Alexander Lichter&lt;/a&gt;, which discussed new features of &lt;a href="https://nuxt.com/" rel="noopener noreferrer"&gt;Nuxt&lt;/a&gt;, the Vue Meta-framework, and another from &lt;a href="https://x.com/alvarosabu" rel="noopener noreferrer"&gt;Alvaro Saburido&lt;/a&gt;, the creator of &lt;a href="https://tresjs.org/" rel="noopener noreferrer"&gt;TresJS&lt;/a&gt;, the official 3D library of Three.js for Vue. &lt;/p&gt;

&lt;p&gt;However, what caught my attention the most was that many of the talks this year were more focused on the people using these Open Source tools rather than the tools themselves. &lt;a href="https://x.com/zoey_kaiser" rel="noopener noreferrer"&gt;Zoey Kaiser’s&lt;/a&gt; talk on "Coding with Conscience" urged developers to consider the repercussions that apps and software have on society, making me reflect on how much technology impacts our daily lives. Then there was &lt;a href="https://github.com/ndzoesch" rel="noopener noreferrer"&gt;Niklas Dzösch’s&lt;/a&gt; talk, which encouraged the attendees (and you, the reader) to share knowledge and help each other. This is especially important nowadays when we are constantly online yet often disconnected from reality.&lt;/p&gt;

&lt;p&gt; I think this last part resonates a lot with Schrödinger Hat’s philosophy. We do this because we love the community—the excitement and joy whenever veteran and new speakers step onto the stage to share their knowledge, the moments when we see attendees (you, the "hatters") sharing, meeting new people, or warmly greeting familiar faces from previous events. As &lt;a href="https://x.com/MaOberlehner" rel="noopener noreferrer"&gt;Markus Oberlehner&lt;/a&gt; said in his talk, “It’s all about the people.” It’s all about you, the reader.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interesting links for the week:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do you use the .io top-level domain? Be careful; it might &lt;a href="https://every.to/p/the-disappearance-of-an-internet-domain" rel="noopener noreferrer"&gt;cease to exist&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Agnostic Next Generation Tooling for Javascript? &lt;a href="https://voidzero.dev/posts/announcing-voidzero-inc" rel="noopener noreferrer"&gt;Say that fast 3 times&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Interesting Libraries of the week:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ever wanted to create your own &lt;a href="https://vueflow.dev/" rel="noopener noreferrer"&gt;interactive flow with Vue&lt;/a&gt;?&lt;/li&gt;
&lt;li&gt;Searching for an alternative to Postman? &lt;a href="https://httpie.io/" rel="noopener noreferrer"&gt;Well, look no further&lt;/a&gt;!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alright, see you in the next one!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>techtalks</category>
      <category>programming</category>
      <category>learning</category>
    </item>
  </channel>
</rss>
