<?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: TaqsBlaze</title>
    <description>The latest articles on DEV Community by TaqsBlaze (@taqsblaze).</description>
    <link>https://dev.to/taqsblaze</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F394115%2Fdab70310-7281-4f43-a1e4-ea40987dc9cc.png</url>
      <title>DEV Community: TaqsBlaze</title>
      <link>https://dev.to/taqsblaze</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/taqsblaze"/>
    <language>en</language>
    <item>
      <title>SQL Isn't the Problem. Scientific Data Is.</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Fri, 17 Jul 2026 06:26:20 +0000</pubDate>
      <link>https://dev.to/taqsblaze/sql-isnt-the-problem-scientific-data-is-1ef7</link>
      <guid>https://dev.to/taqsblaze/sql-isnt-the-problem-scientific-data-is-1ef7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;We don't have a database problem.&lt;/p&gt;

&lt;p&gt;We have a &lt;strong&gt;scientific data problem&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every day, researchers, engineers, startups, and small teams work with data that doesn't naturally fit into traditional databases.&lt;/p&gt;

&lt;p&gt;One moment you're storing measurements in SQL.&lt;/p&gt;

&lt;p&gt;The next you're exporting them to NumPy for computation, HDF5 for storage, PostGIS for spatial analysis, and Python scripts to glue everything together.&lt;/p&gt;

&lt;p&gt;Before long, your "data pipeline" is a collection of disconnected tools that each solve one piece of the puzzle.&lt;/p&gt;

&lt;p&gt;The database becomes just another stop in the pipeline instead of the platform where the work happens.&lt;/p&gt;

&lt;p&gt;That question stayed with me for a long time:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if the database itself understood scientific data?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That simple idea became &lt;strong&gt;FlamingoDB&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Databases were built for business. Not science.
&lt;/h2&gt;

&lt;p&gt;Traditional databases are exceptional at storing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customers&lt;/li&gt;
&lt;li&gt;Orders&lt;/li&gt;
&lt;li&gt;Products&lt;/li&gt;
&lt;li&gt;Transactions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;They've transformed how businesses build software.&lt;/p&gt;

&lt;p&gt;But scientific and engineering workloads have different needs.&lt;/p&gt;

&lt;p&gt;Think about working with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multidimensional arrays&lt;/li&gt;
&lt;li&gt;Vectors&lt;/li&gt;
&lt;li&gt;Matrices&lt;/li&gt;
&lt;li&gt;High-precision numerical types&lt;/li&gt;
&lt;li&gt;Geospatial objects&lt;/li&gt;
&lt;li&gt;Time-series measurements&lt;/li&gt;
&lt;li&gt;Satellite imagery&lt;/li&gt;
&lt;li&gt;Sensor streams&lt;/li&gt;
&lt;li&gt;Experimental datasets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of these end up being serialized into JSON, stored as blobs, or pushed into separate tools because the database doesn't understand what they are.&lt;/p&gt;

&lt;p&gt;The result?&lt;/p&gt;

&lt;p&gt;More complexity.&lt;br&gt;
More data movement.&lt;br&gt;
More opportunities for things to go wrong.&lt;/p&gt;


&lt;h2&gt;
  
  
  A Different Philosophy
&lt;/h2&gt;

&lt;p&gt;FlamingoDB isn't trying to replace PostgreSQL, MySQL, DuckDB, or any of the incredible databases we already have.&lt;/p&gt;

&lt;p&gt;Those projects are excellent.&lt;/p&gt;

&lt;p&gt;Instead, FlamingoDB asks a different question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What if scientific concepts were first class citizens instead of extensions?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Imagine defining a table like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight sql"&gt;&lt;code&gt;&lt;span class="k"&gt;CREATE&lt;/span&gt; &lt;span class="k"&gt;TABLE&lt;/span&gt; &lt;span class="n"&gt;satellites&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="n"&gt;id&lt;/span&gt; &lt;span class="nb"&gt;INT&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="k"&gt;position&lt;/span&gt; &lt;span class="n"&gt;VECTOR3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;velocity&lt;/span&gt; &lt;span class="n"&gt;VECTOR3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;spectrum&lt;/span&gt; &lt;span class="n"&gt;ARRAY&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;FLOAT64&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="n"&gt;footprint&lt;/span&gt; &lt;span class="n"&gt;POLYGON&lt;/span&gt;
&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No blobs.&lt;/p&gt;

&lt;p&gt;No custom serialization.&lt;/p&gt;

&lt;p&gt;No plugins.&lt;/p&gt;

&lt;p&gt;Just native scientific data types.&lt;/p&gt;




&lt;h2&gt;
  
  
  SQL Already Won
&lt;/h2&gt;

&lt;p&gt;One design decision was non negotiable.&lt;/p&gt;

&lt;p&gt;I didn't want scientists, developers, or data engineers to learn another proprietary query language.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FlamingoDB speaks SQL.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you know SQL, you already know how to query FlamingoDB.&lt;/p&gt;

&lt;p&gt;The goal isn't to replace SQL.&lt;/p&gt;

&lt;p&gt;It's to make SQL feel natural for scientific computing.&lt;/p&gt;

&lt;p&gt;That lowers the barrier to entry dramatically, especially for startups and small teams that don't have the time or resources to train people on yet another language.&lt;/p&gt;




&lt;h2&gt;
  
  
  Making Advanced Data Processing Accessible
&lt;/h2&gt;

&lt;p&gt;One thing I've learned from building software is that innovation shouldn't only be available to organizations with massive engineering teams.&lt;/p&gt;

&lt;p&gt;A startup analyzing IoT sensor data.&lt;br&gt;
A university research lab.&lt;br&gt;
A GIS consultancy.&lt;br&gt;
An environmental monitoring project.&lt;br&gt;
A solo developer experimenting with machine learning.&lt;/p&gt;

&lt;p&gt;They all face the same challenge:&lt;/p&gt;

&lt;p&gt;Building and maintaining complex data pipelines is expensive.&lt;/p&gt;

&lt;p&gt;FlamingoDB aims to simplify that.&lt;/p&gt;

&lt;p&gt;Instead of stitching together multiple storage engines, analytics tools, and custom scripts, the vision is to provide a single platform where data can be stored, queried, processed, and analyzed.&lt;/p&gt;

&lt;p&gt;Less infrastructure.&lt;/p&gt;

&lt;p&gt;Less glue code.&lt;/p&gt;

&lt;p&gt;More time solving real problems.&lt;/p&gt;




&lt;h2&gt;
  
  
  Native AI in the Data Pipeline
&lt;/h2&gt;

&lt;p&gt;AI is rapidly becoming part of every data workflow.&lt;/p&gt;

&lt;p&gt;Today, integrating AI often means exposing databases to external services, writing custom middleware, managing credentials, and building security around every interaction.&lt;/p&gt;

&lt;p&gt;I believe AI should be a native part of the database ecosystem not an afterthought.&lt;/p&gt;

&lt;p&gt;That's why the upcoming &lt;strong&gt;FlamingoDB v1.3.0 "Plumage"&lt;/strong&gt; introduces built in &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; support.&lt;/p&gt;

&lt;p&gt;With a single interface, developers can securely connect models like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ChatGPT&lt;/li&gt;
&lt;li&gt;Claude&lt;/li&gt;
&lt;li&gt;Gemini&lt;/li&gt;
&lt;li&gt;DeepSeek&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But connectivity alone isn't enough.&lt;/p&gt;

&lt;p&gt;FlamingoDB introduces fine grained security policies that can be assigned to &lt;strong&gt;both users and AI models&lt;/strong&gt;, ensuring every model only accesses the data it's explicitly permitted to see.&lt;/p&gt;

&lt;p&gt;The goal is simple:&lt;/p&gt;

&lt;p&gt;Bring AI closer to the data while keeping security and governance at the core.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Go?
&lt;/h2&gt;

&lt;p&gt;FlamingoDB is written in &lt;strong&gt;Go&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not because it's fashionable.&lt;/p&gt;

&lt;p&gt;Because it offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Excellent performance&lt;/li&gt;
&lt;li&gt;Simple, maintainable code&lt;/li&gt;
&lt;li&gt;Powerful concurrency&lt;/li&gt;
&lt;li&gt;Fast compilation&lt;/li&gt;
&lt;li&gt;Easy deployment as a single binary&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building a database is hard enough.&lt;/p&gt;

&lt;p&gt;The implementation language should help reduce complexity, not add to it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Building in Public
&lt;/h2&gt;

&lt;p&gt;FlamingoDB is still early in its journey.&lt;/p&gt;

&lt;p&gt;Every release teaches me something new about storage engines, query processing, scientific computing, and building reliable software.&lt;/p&gt;

&lt;p&gt;That's exactly why I'm building it in the open.&lt;/p&gt;

&lt;p&gt;The best ideas rarely come from working in isolation they come from conversations, code reviews, and people asking difficult questions.&lt;/p&gt;

&lt;p&gt;If FlamingoDB succeeds, it won't just be because of the code.&lt;/p&gt;

&lt;p&gt;It will be because a community helped shape it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;The vision for FlamingoDB isn't simply to become another SQL database.&lt;/p&gt;

&lt;p&gt;It's to become a platform where structured data, scientific computing, geospatial analytics, and AI powered workflows come together in a way that's approachable, secure, and practical.&lt;/p&gt;

&lt;p&gt;Whether you're a solo developer, a startup building the next data driven product, or a research team processing terabytes of scientific data, I want FlamingoDB to remove complexity not add to it.&lt;/p&gt;

&lt;p&gt;We're only getting started, and that's the most exciting part.&lt;/p&gt;

&lt;p&gt;If this vision resonates with you, I'd love to hear your thoughts, ideas, or even your skepticism. The best engineering projects are built through collaboration, and FlamingoDB is no exception.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Let's build a database that doesn't just store scientific data it understands it.&lt;/em&gt; 🦩&lt;/p&gt;

&lt;p&gt;the github repo: &lt;a href="https://github.com/TaqsBlaze/FlamingoDB" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>database</category>
      <category>go</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Help with Electron ICP and Vue3</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Fri, 11 Jul 2025 09:28:25 +0000</pubDate>
      <link>https://dev.to/taqsblaze/help-with-electron-icp-and-vue3-21jg</link>
      <guid>https://dev.to/taqsblaze/help-with-electron-icp-and-vue3-21jg</guid>
      <description>&lt;p&gt;Hi everyone&lt;br&gt;
I'm working on a electron application and I'm implementing software update check which is making use of ICP now this worked perfect before and all of a sudden stopped working, no error, no exception no thing just silently failing&lt;/p&gt;

&lt;p&gt;here are snippets of the code&lt;/p&gt;

&lt;p&gt;&lt;code&gt;preload.js&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;checkForUpdates: () =&amp;gt; ipcRenderer.invoke('check-for-updates'),
  onUpdateStatus: (callback) =&amp;gt; ipcRenderer.on('update-status:available', callback),
  onNoUpdate: (callback) =&amp;gt; ipcRenderer.on('update-status:no-update', callback),
  onUpdateError: (callback) =&amp;gt; ipcRenderer.on('update-status:error', callback),
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;main.js&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ipcMain.handle('check-for-updates', async (event) =&amp;gt; {
  try {

    const updateInfoUrl = 'url to update info';


    const updateInfoResponse = await fetch(updateInfoUrl);
    if (!updateInfoResponse.ok) {

      throw new Error(`Failed to fetch update info: ${updateInfoResponse.statusText}`);
    }
    const updateInfo = await updateInfoResponse.json();


    const currentAppVersion = app.getVersion();
    const latestVersion = updateInfo.version;
    const appName = `AppName${latestVersion}.exe`;
    const downloadUrl = `${updateInfo.downloadUrl}${appName}`;


    if (latestVersion &amp;gt; currentAppVersion) {
      try {
        let data = { version: latestVersion, downloadUrl: downloadUrl };
        console.log('Main Process: Sending update-status:available with data:', data);
        if (event.sender &amp;amp;&amp;amp; !event.sender.isDestroyed()) { // Check if sender is still valid
          event.sender.send('update-status:available', data);
          console.log(`Main Process: Message 'update-status:available' sent successfully to sender ID ${event.sender.id}.`);
        } else {
          console.warn('Main Process: Could not send message. Renderer sender is destroyed or invalid.');
        }
        console.log(`Update version ${latestVersion} available. User will be prompted for manual download.`);
      } catch (error) {
        console.log(`Error sending update-status:available:: ${error.message}`);
      }
    } else {
      event.sender.send('update-status:no-update');
      console.log('No update available.');
    }
    return { success: true };
  } catch (error) {

    event.sender.send('update-status:error', error.message);
    return { success: false, error: error.message };
  }
});
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;app.js&lt;/code&gt;: (in mountent)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;window.electronAPI.onUpdateStatus((data) =&amp;gt; {
                    console.log('Update available:', data);
                    this.updateAvailableVersion = data.version;
                    this.updateDownloadLink = data.downloadUrl;
                    this.showUpdateModal = true; // Show the new update notification modal
                    this.updateStatusMessage = `New version ${data.version} is available!`;
                    this.updateErrorMessage = ''; // Clear any previous error messages
                });
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;(method triggering checking update)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;async checkForSoftwareUpdates() {
            console.log('checking for updates....')
            this.updateStatusMessage = 'Checking for updates...';
            this.updateErrorMessage = '';
            this.showUpdateModal = false;
            this.updateAvailableVersion = null;
            this.updateDownloadLink = null;
            this.lastUpdateCheck = new Date().toLocaleString();

            if (window.electronAPI &amp;amp;&amp;amp; window.electronAPI.checkForUpdates) {
                console.log("Cheking now...")
                await window.electronAPI.checkForUpdates();

            } else {
                console.warn('Electron API or checkForUpdates method not available. Cannot check for updates.');
                this.updateErrorMessage = 'Update check not available in this environment.';
            }
        },
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If anyone can assist/point out what I'm doing wrong please&lt;br&gt;
if the listener in mounted is triggered I should see a modal with new software update details and a download button which I currently do get but this was working fine previously &lt;/p&gt;

</description>
      <category>programming</category>
      <category>vue3</category>
      <category>electron</category>
      <category>icp</category>
    </item>
    <item>
      <title>My 2024 Review: A Year of Growth and Innovation</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Sat, 28 Dec 2024 13:31:00 +0000</pubDate>
      <link>https://dev.to/taqsblaze/my-2024-review-a-year-of-growth-and-innovation-lae</link>
      <guid>https://dev.to/taqsblaze/my-2024-review-a-year-of-growth-and-innovation-lae</guid>
      <description>&lt;p&gt;As the year draws to a close, I find myself reflecting on the milestones, challenges, and lessons that have defined 2024. It has been a year of relentless curiosity, technical exploration, and significant growth both personally and professionally. From diving deeper into cybersecurity to leading exciting development projects, here’s a look back at the journey.&lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Cybersecurity Adventures&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Cybersecurity remained a cornerstone of my work in 2024. Whether it was through research, tool development, or contributing to discussions in the field, I continuously sought ways to make systems safer.  &lt;/p&gt;

&lt;p&gt;One of my proudest moments was conceptualizing and developing &lt;strong&gt;ReqWeb&lt;/strong&gt;, my Web Application Firewall (WAF) project. This tool is designed to make web applications more secure by focusing on IP filtering, rate limiting, and intelligent request blocking. Seeing it evolve to the point where version 2.0 is almost ready has been incredibly rewarding.  &lt;/p&gt;

&lt;p&gt;Beyond ReqWeb, I deepened my understanding of penetration testing and network security, further solidifying my commitment to building a safer internet.  &lt;/p&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Building Cool Projects&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This year also gave me opportunities to bring ambitious ideas to life. Some of the highlights include:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Flight Simulation System&lt;/strong&gt;: I combined Python, Blender, and the Godot Engine to create a system that mimics basic flight physics with stunning weather effects and day-night cycles. This project not only challenged my technical skills but also reignited my passion for merging creativity with code.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Electricity Load Shedding Tracker&lt;/strong&gt;: Living in a region where load shedding is common, I wanted to help people stay informed. This project combines Vue.js, Leaflet.js, and MongoDB to track and update load-shedding schedules, making it easier for users to plan their lives.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cybersecurity Multiplayer Game&lt;/strong&gt;: I started working on a web-based multiplayer game where players protect and upgrade their digital networks while competing to outsmart others. It’s an educational and fun way to engage with cybersecurity concepts.  &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Pushing Boundaries in Development&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As a self-taught developer, every year is an opportunity to learn something new, and 2024 was no different. I honed my skills in Python, JavaScript, and Vue.js, while also exploring new frameworks and tools like Flask, TailwindCSS, and Express.js.  &lt;/p&gt;

&lt;p&gt;Notable achievements included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Successfully transitioning &lt;strong&gt;ReqWeb&lt;/strong&gt; to use Vue.js for its web interface.
&lt;/li&gt;
&lt;li&gt;Building the backend for a trucking marketplace, combining Python and Flask with Vue.js to create a seamless user experience.
&lt;/li&gt;
&lt;li&gt;Developing a session utility and refining ORM integrations for better database efficiency.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Looking Ahead to 2025&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;As exciting as 2024 has been, the journey is far from over. For 2025, I’m looking forward to:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scaling ReqWeb to support distributed systems and deploying its version 2.0.
&lt;/li&gt;
&lt;li&gt;Expanding my work on the flight simulation system, incorporating more realistic physics and AI for pilot training.
&lt;/li&gt;
&lt;li&gt;Continuing to write and share my journey on LinkedIn, inspiring others to explore the world of technology and cybersecurity.
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  &lt;strong&gt;Final Thoughts&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;2024 was a year of resilience, learning, and creativity. It reminded me that progress often comes from stepping out of your comfort zone and embracing challenges. As I move into the new year, I’m grateful for the opportunities I’ve had and excited for what’s to come.  &lt;/p&gt;

&lt;p&gt;Thank you to everyone who’s been part of this journey—whether through collaboration, feedback, or simply following my updates. Here’s to an even more impactful 2025!  &lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Journey of ReqWeb: What’s Coming in Version 2.0</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Sat, 28 Dec 2024 13:07:16 +0000</pubDate>
      <link>https://dev.to/taqsblaze/the-journey-of-reqweb-whats-coming-in-version-20-32d3</link>
      <guid>https://dev.to/taqsblaze/the-journey-of-reqweb-whats-coming-in-version-20-32d3</guid>
      <description>&lt;p&gt;When I started developing ReqWeb, my goal was simple: create a robust, lightweight Web Application Firewall (WAF) that anyone could use to protect their web applications. Over time, it has grown into a reliable solution, tackling challenges like IP filtering, rate limiting, rule based blocking, and logging with real time alerting. Now, the next big leap is here ReqWeb 2.0 is on the horizon, and it’s packed with exciting features to take security to the next level and w whole new dashboard and visuals enabling developers to visualize their applicans security and performance.&lt;/p&gt;

&lt;p&gt;Reflecting on the Journey So Far&lt;br&gt;
ReqWeb’s foundation was built on Express.js, chosen for its simplicity and scalability. Early on, the focus was on modularity, ensuring each component could function independently while still playing a role in the bigger picture. Features like seamless integration with external blackhole lists and real time alerting for suspicious activity have made ReqWeb a versatile tool for developers.&lt;/p&gt;

&lt;p&gt;But the journey doesn’t stop there. The feedback, challenges, and lessons learned from the current version have inspired a new wave of innovation.&lt;/p&gt;

&lt;p&gt;What’s Coming in ReqWeb 2.0?&lt;br&gt;
Version 2.0 is not just an update it’s a transformation. Here’s a sneak peek at what’s in store:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Advanced Anomaly Detection&lt;br&gt;
ReqWeb 2.0 will leverage machine learning to identify unusual patterns in incoming requests. This means smarter detection of zero day threats and evolving attack vectors, offering a proactive layer of security.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enhanced Logging and Analytics&lt;br&gt;
The new version will introduce a centralized logging system with detailed analytics. Users will gain insights into traffic patterns, blocked requests, and potential vulnerabilities through a clean, interactive dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Distributed Deployment Support&lt;br&gt;
For businesses running multiple servers or microservices, ReqWeb 2.0 will support distributed deployments. This ensures consistent security policies across all instances while maintaining high performance.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customizable Rules Engine&lt;br&gt;
Version 2.0 will feature a revamped rules engine, allowing users to create highly specific rules for blocking or allowing traffic. Whether it’s based on geolocation, request headers, or custom parameters, you’ll have complete control.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer Friendly API&lt;br&gt;
A new API will make it easier for developers to integrate ReqWeb into their workflows. Automate updates, retrieve logs, or manage configurations programmatically perfect for CI/CD pipelines.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved IP Reputation Management&lt;br&gt;
Building on the external blackhole list integration, ReqWeb 2.0 will introduce dynamic IP reputation scoring. Threat levels will adjust in real-time based on behavior, reducing false positives while staying vigilant.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Vision Moving Forward&lt;br&gt;
ReqWeb 2.0 isn’t just about adding features it’s about creating a more intelligent, adaptive, and user friendly WAF. My vision is to empower developers and businesses with tools that make securing their applications intuitive and effective, regardless of their scale.&lt;/p&gt;

&lt;p&gt;Final Thoughts&lt;br&gt;
ReqWeb has come a long way, and version 2.0 is set to be the most significant milestone yet. By combining cutting edge technology with user feedback, I’m confident it will redefine what a modern WAF can do.&lt;/p&gt;

&lt;p&gt;Stay tuned for the release of ReqWeb 2.0, and as always, your ideas and suggestions are welcome. Together, let’s build a safer web!&lt;/p&gt;

&lt;p&gt;you can find the project on github here you can also install version 1.2.1 via npm/bun:&lt;/p&gt;

&lt;p&gt;npm install reqweb@latest&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>security</category>
      <category>waf</category>
    </item>
    <item>
      <title>My Dev Experience Season 1 Ep 2</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Mon, 25 Jul 2022 06:28:47 +0000</pubDate>
      <link>https://dev.to/taqsblaze/my-dev-experience-season-1-ep-2-5jm</link>
      <guid>https://dev.to/taqsblaze/my-dev-experience-season-1-ep-2-5jm</guid>
      <description>&lt;p&gt;Continuing with my series....&lt;/p&gt;

&lt;p&gt;2015 some guy reached out, he needed a website for some construction company&lt;br&gt;
We agreed on the terms and I started working on the website &lt;br&gt;
took me 3 days to build a demo as he had requested a demo site &lt;br&gt;
and after that he requested me to work on the main website &lt;br&gt;
gave me access to their hosting and cpanel then I started building the site, it took me 1 week to build the whole site &lt;/p&gt;

&lt;p&gt;After the site was done.... It was time for the guy to pay up and it took almost 1 year for the guy to pay...in of which the payment never came through from the guy&lt;/p&gt;

&lt;p&gt;Out of rage I logged in to the cpanel and deleted the whole project &lt;/p&gt;

&lt;p&gt;This was my first experience with a client &lt;/p&gt;

</description>
      <category>developer</category>
      <category>software</category>
      <category>python</category>
    </item>
    <item>
      <title>My Dev Experience Season 1 Ep 1</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Thu, 21 Jul 2022 14:28:46 +0000</pubDate>
      <link>https://dev.to/taqsblaze/my-dev-experience-season-1-ep-1-124e</link>
      <guid>https://dev.to/taqsblaze/my-dev-experience-season-1-ep-1-124e</guid>
      <description>&lt;p&gt;Hello World&lt;br&gt;
I'm a 25 year old developer in a developing country &lt;strong&gt;Zimbabwe&lt;/strong&gt; &lt;br&gt;
I've always been a fan of technology being inspired by movies the likes of:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Iron Man&lt;/li&gt;
&lt;li&gt;I-robot&lt;/li&gt;
&lt;li&gt;Transformers&lt;/li&gt;
&lt;li&gt;Matrix&lt;/li&gt;
&lt;li&gt;Terminator
and many more&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I started learning coding when I was 18 years old that was back in 2015 my first actual OOP language I did was java after doing some basic HTML, CSS and a bit of JavaScript.&lt;/p&gt;

&lt;p&gt;I wasn't really a Js fan and thought I would do away with without Js... as I did more and more of web dev I realized that I there was no escape from Js.&lt;br&gt;
This then prompted me to switch to developing PC applications&lt;br&gt;
Just as I was about to totally fall in love with java my laptop got stolen and went for a year without a laptop and then when I git another laptop... I had discovered python programming language &lt;br&gt;
and fell in love with it that was in 2017&lt;br&gt;
I've been a python developer ever since with a mix of C# and a little bit of Java &lt;/p&gt;

&lt;p&gt;So basically I would say I'm a python developer at heart and also able to learn other languages as well. and I guess I find it very easy to learn new languages because before becoming a python developer I did a whole bunch of programming and scripting languages, trying to find the one I felt a connection with a list of languages I looked into where:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Php&lt;/li&gt;
&lt;li&gt;c/c++&lt;/li&gt;
&lt;li&gt;Ruby&lt;/li&gt;
&lt;li&gt;Perl&lt;/li&gt;
&lt;li&gt;shell&lt;/li&gt;
&lt;li&gt;batch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will be share my story to becoming a developer from being a total noob to being employed as a developer  &lt;/p&gt;

</description>
      <category>coding</category>
      <category>software</category>
      <category>python</category>
    </item>
    <item>
      <title>Using network printer with python</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Wed, 24 Mar 2021 07:53:38 +0000</pubDate>
      <link>https://dev.to/taqsblaze/using-network-printer-with-python-578b</link>
      <guid>https://dev.to/taqsblaze/using-network-printer-with-python-578b</guid>
      <description>&lt;p&gt;Hi guys so today I've decided to share my experience as I'm currently working on system&lt;/p&gt;

&lt;p&gt;so I'm working on a system for centralizing data for an organization&lt;br&gt;
so I got in and these guys didn't have any system or IT systems and I was tasked to build a system from the ground up&lt;/p&gt;

&lt;p&gt;So I had to rename their machines for easy access across the network as default windows machine names are random something like &lt;em&gt;DESKTOP-092N4&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So after renaming this doesn't register across the network specially when printer drivers where installed before... so my program had to print using this network printer and it took me almost a week to get this working&lt;/p&gt;

&lt;p&gt;Not that my code was wrong maybe that's why it took me so long to fix it... I thought the problem was code so my research was centered on code and everything was ok&lt;/p&gt;

&lt;p&gt;So I then came across a snippet on the internet thankfully this was a bit detailed with comments as to what's going on&lt;br&gt;
then something got my attention in this code a comment which described a step which wasn't in most examples and something that didn't cross my mind&lt;/p&gt;

&lt;p&gt;in this particular snippet it explained setting a default printer &lt;em&gt;win32print.SetDefaultPrinter("printer")&lt;/em&gt; so I then implemented this line in my code and finally I was able to use the printer on a network&lt;br&gt;
Originally I was just setting a printer &lt;em&gt;win32print.SetPrinter()&lt;/em&gt;&lt;br&gt;
but this caused RPC error whenever I tried printing&lt;/p&gt;

&lt;h2&gt;
  
  
  Here is why I think it wasn't working:
&lt;/h2&gt;

&lt;p&gt;Though I set the printer using new network path to the printer&lt;br&gt;
&lt;em&gt;\\server\printer&lt;/em&gt; this wasn't being used when initiating a print job... it would then use the old network path which is invalid now since I renamed the main PC connected to the printer&lt;br&gt;
so the solution was to just set the default printer using new network path&lt;/p&gt;

</description>
      <category>python</category>
      <category>win32</category>
      <category>pyqt5</category>
    </item>
    <item>
      <title>DB Option</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Thu, 19 Nov 2020 07:40:22 +0000</pubDate>
      <link>https://dev.to/taqsblaze/db-option-1n4p</link>
      <guid>https://dev.to/taqsblaze/db-option-1n4p</guid>
      <description>&lt;p&gt;Would like to know which is the best and easy to use database for nodejs + electron applications??&lt;/p&gt;

</description>
    </item>
    <item>
      <title>.NetX</title>
      <dc:creator>TaqsBlaze</dc:creator>
      <pubDate>Sun, 24 May 2020 10:14:46 +0000</pubDate>
      <link>https://dev.to/taqsblaze/netx-1043</link>
      <guid>https://dev.to/taqsblaze/netx-1043</guid>
      <description>&lt;p&gt;developing my own CLI tool for c# developing for running 1 liners and a module for shortening some system functions ( &lt;em&gt;cut&lt;/em&gt; )&lt;/p&gt;

</description>
      <category>python</category>
      <category>csharp</category>
    </item>
  </channel>
</rss>
