<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on Matheus Degiovani&#39;s Website</title><link>https://matheusd.com/post/</link><description>Recent content in Posts on Matheus Degiovani&#39;s Website</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>contact-rss@matheusd.com (Matheus Degiovani)</managingEditor><webMaster>contact-rss@matheusd.com (Matheus Degiovani)</webMaster><copyright>(C) 2017 All rights reserved</copyright><lastBuildDate>Wed, 08 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://matheusd.com/post/" rel="self" type="application/rss+xml"/><item><title>Comparison and Benchmarking of Go RPC Systems</title><link>https://matheusd.com/post/go-rpc-benchmarks/</link><pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/go-rpc-benchmarks/</guid><description>Almost every Go programmer will be faced with the necessity of using an RPC1 system. Whether writing a backend service for a web app, a P2P network or an IoT cloud, determining the communication protocol (and hence an RPC system) will be one of its requirements.
Most of the time, that requirement will be predetermined based on either the execution or organizational environment: for example, in the case of backend systems for a browser-based web app, the most natural combination will be to use JSON-encoded messages delivered through HTTPS.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/go-rpc-benchmarks/"&gt;https://matheusd.com/post/go-rpc-benchmarks/&lt;/a&gt;</description></item><item><title>Showerthought: Decred Voting Non-Fungible Data</title><link>https://matheusd.com/post/dcr-idea-nfd/</link><pubDate>Tue, 14 Jan 2025 11:17:37 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/dcr-idea-nfd/</guid><description>By matheusd &amp;amp; vctt
Overview We propose introducing a limited form of arbitrary data ownership in the Decred chain. This is intended to (eventually) support issuance and transfer of NFTs, anchoring and update of sidechains and smart contracts and any other applications that could leverage public data secured by blockchain consensus rules.
This idea involves:
Adding a new (optional) opcode to vote transactions, which allows stake voters to mint new NFD (non-fungible data) chains.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/dcr-idea-nfd/"&gt;https://matheusd.com/post/dcr-idea-nfd/&lt;/a&gt;</description></item><item><title>OP_PEEL: Unilaterally exitable coin pools</title><link>https://matheusd.com/post/op_peel/</link><pubDate>Thu, 27 Oct 2022 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/op_peel/</guid><description>OP_PEEL Unilaterally exitable coin pools.
Introduction OP_PEEL allows building a pool of coins, rendered on-chain as a single UTXO, where each user can unilaterally withdraw funds by &amp;ldquo;peeling&amp;rdquo; the UTXO of some of its funds.
The main motivation for this mechanism is improving upon some of the drawbacks of MRTTREE-backed pools, in the following ways:
Removes the need to keep track of and pre-sign a large number of transactions Removes the need to have timelocks and spending deadlines of the pool Fixes possible griefing attacks for the on-chain liquidity provider Reduces transaction fees paid for on-chain redeeming Reduces on-chain footprint of on-chain redeeming OP_PEEL works by ensuring that a given UTXO being spent in a transaction is split such that some amount is freely spendable by the holder of a private key while the rest of output amount is enforced to go back to a group key.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/op_peel/"&gt;https://matheusd.com/post/op_peel/&lt;/a&gt;</description></item><item><title>Split Tickets &amp; LN Part 1 - MRTTREE</title><link>https://matheusd.com/post/ln-split-tickets-01-mrttree/</link><pubDate>Mon, 11 Nov 2019 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/ln-split-tickets-01-mrttree/</guid><description>TL;DR This proposes a Smart Contract construct tailored to the use case of a group of users which wish to collectively pool their funds into a single utxo and then be able to redeem these funds either cooperatively off-chain via LN or uncooperatively on-chain safely, in a non-custodial way and with the smallest possible impact to the blockchain.
We can achieve this by creating a new opcode, using a series of transactions with scripts inspired by LN Submarine Swaps[3] [4] , Channel Factories[5] [6] and HTLCs[1] and a special service offered by an entity willing to swap funds between the two layers.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/ln-split-tickets-01-mrttree/"&gt;https://matheusd.com/post/ln-split-tickets-01-mrttree/&lt;/a&gt;</description></item><item><title>Split Tickets &amp; LN Part 2 - Handling Stake Transactions</title><link>https://matheusd.com/post/ln-split-tickets-02-splits/</link><pubDate>Mon, 11 Nov 2019 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/ln-split-tickets-02-splits/</guid><description>After presenting the construction of the MRTTREE smart contract in part 1 we can now proceed to show how to use it to build split tickets.
Funding and Purchasing the Ticket A Loop Out MRTTREE construction is used to perform the funding for the ticket.
In the first coordination step, users and provider build the utxo that will be used as input to the ticket being purchased. Given this is a Loop Out, the provider requires both the off-chain inbound bandwidth (to receive the off-chain contributions) and on-chain coins under its control (that it will grant to the group of users).&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/ln-split-tickets-02-splits/"&gt;https://matheusd.com/post/ln-split-tickets-02-splits/&lt;/a&gt;</description></item><item><title>Split Tickets &amp; LN Part 3 - Changes to the Layout of Ticket Transactions</title><link>https://matheusd.com/post/ln-split-tickets-03-ticket-layout/</link><pubDate>Mon, 11 Nov 2019 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/ln-split-tickets-03-ticket-layout/</guid><description>Moving the creation of split tickets from on-chain to off-chain has the benefit of decreasing the footprint of these tickets in the blockchain, with all the associated benefits this brings.
Assuming the previous changes to allow the safe creation and redeeming of such tickets are accepted, we can consider other changes to the layout of ticket transactions to simplify it further and fix the problem of Politeia voting rights being dependent on a regular P2PKH address being stored in the largest commitment address.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/ln-split-tickets-03-ticket-layout/"&gt;https://matheusd.com/post/ln-split-tickets-03-ticket-layout/&lt;/a&gt;</description></item><item><title>Split Tickets &amp; LN Part 4 - Summary</title><link>https://matheusd.com/post/ln-split-tickets-04-summary/</link><pubDate>Mon, 11 Nov 2019 00:00:00 +0000</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/ln-split-tickets-04-summary/</guid><description>In this post I&amp;rsquo;ll summarize the proposed changes to be able to integrate split ticket purchasing ability to LN, which has several benefits such as decreasing the on-chain footprint and possibly providing improving privacy to purchasers.
I&amp;rsquo;ll also outline a general strategy for implementing those over the course of the next months.
Changes and Rationale To enable construction of the MRTTREE Smart Contract which allows non-custodial control of group funds (part 1 - MRTTREE construction):&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/ln-split-tickets-04-summary/"&gt;https://matheusd.com/post/ln-split-tickets-04-summary/&lt;/a&gt;</description></item><item><title>Decred wants you: Be one of the first to test the DCR Lightning Network</title><link>https://matheusd.com/post/announcing-dcrlnd/</link><pubDate>Thu, 25 Apr 2019 11:14:30 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/announcing-dcrlnd/</guid><description>The Lightning Network peer-to-peer payment protocol promises to deliver the scalability, privacy and speed needed to spur crypto’s mass adoption. At the end of 2017, Decred activated the on-chain consensus rules required to develop DCR Lightning Network. The approval of this change was nearly unanimous at 99.50%, and developers began working on building the foundation for LN features.
Today, the Decred development team is proud to unveil this pivotal work: the official testnet release for dcrlnd - our Lightning Network wallet and node software!&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/announcing-dcrlnd/"&gt;https://matheusd.com/post/announcing-dcrlnd/&lt;/a&gt;</description></item><item><title>DCP0004 or &#34;On RCs and fully testing consensus changes&#34;</title><link>https://matheusd.com/post/dcp0004-and-hardforks/</link><pubDate>Thu, 07 Feb 2019 15:51:44 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/dcp0004-and-hardforks/</guid><description>DCP0004 has just been released for appreciation by the stakeholders and will (hopefully) be held for voting in the next few months. But what is the importance of it?
TL;DR The 1.4.0rc1 and rc2 release candidates had an unintended change that caused several reorgs due to miners allowing transactions in blocks that previous versions rejected (a hard fork). Some (or one or a few) miners upgraded and started generating hard forked blocks and now we have to carry a new vote to correct this behavior so that Lightning Network transactions can function.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/dcp0004-and-hardforks/"&gt;https://matheusd.com/post/dcp0004-and-hardforks/&lt;/a&gt;</description></item><item><title>Challenges of Decred Ticket Splitting</title><link>https://matheusd.com/post/ticket-splitting-challenges/</link><pubDate>Fri, 30 Mar 2018 11:17:54 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/ticket-splitting-challenges/</guid><description>I&amp;rsquo;ve recently released an alpha version of a ticket splitting matcher service on testnet. This post is meant to be a summary of the challenges of building a split ticket service and to serve as reference for their future development.
Ticket Transaction (SStx) Layout Requirements A ticket purchase transaction (usually referred on decred&amp;rsquo;s source code as an SStx) must have a well defined layout, detailed in the IsSStx function1 :&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/ticket-splitting-challenges/"&gt;https://matheusd.com/post/ticket-splitting-challenges/&lt;/a&gt;</description></item><item><title>Pilha Tecnológica das Criptomoedas 3 - Rede Distribuída</title><link>https://matheusd.com/post/pilha-criptomoedas-3-rede-distribuida/</link><pubDate>Thu, 11 Jan 2018 17:29:59 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/pilha-criptomoedas-3-rede-distribuida/</guid><description>Este é o terceiro artigo em uma série sobre a tecnologia de criptomoedas. Comece pelo primeiro para acompanhar desde o começo.
Uma blockchain criptográfica é útil em qualquer situação que requeira uma estrutura de dados com garantia de imutabilidade. Apenas com uma blockchain dessa natureza, já é possível construir uma moeda digital pública permissionada: uma moeda que apenas uma entidade central ou alguns participantes confiáveis possam modificar mas que qualquer outro nó possa verificar a integridade.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/pilha-criptomoedas-3-rede-distribuida/"&gt;https://matheusd.com/post/pilha-criptomoedas-3-rede-distribuida/&lt;/a&gt;</description></item><item><title>Pilha Tecnológica de Criptomoedas 2 - Blockchain</title><link>https://matheusd.com/post/pilha-criptomoedas-2-blockchain/</link><pubDate>Fri, 15 Dec 2017 09:36:09 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/pilha-criptomoedas-2-blockchain/</guid><description>Este é o segundo artigo em uma série sobre a tecnologia de criptomoedas. Comece pelo primeiro para acompanhar desde o começo.
Retomando o estudo da pilha tecnológica de uma criptomoeda, nesse artigo vou explorar um pouco as características da blockchain.
A blockchain não foi inventada pelo Bitcoin e é uma estrutura de dados genérica, aplicável em outras situações. Ela também não é absolutamente essencial para uma moeda digital, já que aquelas controladas por uma entidade central podem ser emitidas sem necessidade de POW (proof of work, a ser abordado em um artigo futuro).&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/pilha-criptomoedas-2-blockchain/"&gt;https://matheusd.com/post/pilha-criptomoedas-2-blockchain/&lt;/a&gt;</description></item><item><title>A Pilha Tecnológica das Criptomoedas</title><link>https://matheusd.com/post/pilha-criptomoedas/</link><pubDate>Fri, 08 Dec 2017 08:58:01 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/pilha-criptomoedas/</guid><description>Todo software é construído aplicando-se não apenas uma, mas sim um conjunto de conceitos e tecnologias. Nesse e em próximos artigos eu vou escrever um pouquinho sobre quais são os elementos necessários para a construção de uma criptomoeda baseada em blockchain, como a Decred ou o Bitcoin.
Pilha Tecnológica A pilha tecnológica de um software lista tudo o que foi usado para sua construção. Ela é descrita como uma pilha porque para toda aplicação existem conceitos mais genéricos (elementos de baixo nível da pilha) e mais específicos (alto nível da pilha).&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/pilha-criptomoedas/"&gt;https://matheusd.com/post/pilha-criptomoedas/&lt;/a&gt;</description></item><item><title>Forks e Ativação DCP 2&amp;3 na Decred</title><link>https://matheusd.com/post/decred_ativacao_ln/</link><pubDate>Thu, 23 Nov 2017 08:21:30 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/decred_ativacao_ln/</guid><description>No momento em que estou escrevendo esse artigo, faltam menos de 3 dias para a ativação das DCPs 0002 e 0003 na rede Decred.
Mas em que exatamente implica essa ativação? Nesse artigo vou dar uma visão (bem geral) sobre o que é um fork em uma criptomoeda e o que vai começar a valer na rede Decred. Se você está com pressa ou já sabe como funciona um fork, pode pular até a parte sobre LN na Decred.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/decred_ativacao_ln/"&gt;https://matheusd.com/post/decred_ativacao_ln/&lt;/a&gt;</description></item><item><title>Diário Qubes OS 04 - Compartilhamento de tela online</title><link>https://matheusd.com/post/qubes04-screenshare-webcam/</link><pubDate>Tue, 11 Jul 2017 08:50:44 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/qubes04-screenshare-webcam/</guid><description>Esse é o quarto post de uma série analisando o Qubes OS. Comece pelo primeiro post.
Após fazer a Yubikey funcionar e ter uma instalação do Windows pronta, a última coisa que gostaria de ter funcionando antes de migrar definitivamente para o Qubes OS é a possibilidade de realizar compartilhamentos e gravações de tela.
Compartilhamento de tela é essencial para o meu workflow porque trabalhando remotamente, é muito comum ter que mostrar ou discutir algum código, processo ou design com outras pessoas.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/qubes04-screenshare-webcam/"&gt;https://matheusd.com/post/qubes04-screenshare-webcam/&lt;/a&gt;</description></item><item><title>Diário Qubes OS 03 - Yubikey e VM Windows</title><link>https://matheusd.com/post/qubes03-yubikey-e-windows/</link><pubDate>Fri, 07 Jul 2017 15:35:45 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/qubes03-yubikey-e-windows/</guid><description>Esse é o terceiro post de uma série analisando o Qubes OS. Comece pelo primeiro post.
Após os testes iniciais com o fone de ouvido USB, o próximo teste com um dispositivo mais exótico foi com a Yubikey Fido U2F.
Fido U2F Yubikey
A Yubikey é um token USB (uma espécie de pendrive bem fininho) que serve como fator de autenticação secundário para sites como o Facebook e o Gmail.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/qubes03-yubikey-e-windows/"&gt;https://matheusd.com/post/qubes03-yubikey-e-windows/&lt;/a&gt;</description></item><item><title>Diário Qubes OS 02 - Primeiras impresões</title><link>https://matheusd.com/post/qubes02-primeiras-impressoes/</link><pubDate>Fri, 23 Jun 2017 13:39:24 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/qubes02-primeiras-impressoes/</guid><description>Esse é o segundo post de uma série analisando o Qubes OS. Comece pelo primeiro post.
Após gravar a ISO em um pendrive, a instalação prosseguiu por uma tela de padrão Linux (semelhante a de um desktop Ubuntu). A única diferença significativa é a tela em que você escolhe as VMs que serão criadas durante a instaçação. No meu caso, segui com a sugestão padrão.
A primeira vista após a instalação, a área de trabalho é bem familiar: um desktop Xfce com ícones e uma barra de tarefas.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/qubes02-primeiras-impressoes/"&gt;https://matheusd.com/post/qubes02-primeiras-impressoes/&lt;/a&gt;</description></item><item><title>Diário Qubes OS 01 - Deixando o Windows</title><link>https://matheusd.com/post/qubes01-deixando-windows/</link><pubDate>Mon, 19 Jun 2017 19:32:45 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/qubes01-deixando-windows/</guid><description>Por toda minha vida pessoal e profissional meu desktop de uso diário rodou um sistema Windows.
Até hoje a versão que mais gostei de usar foi o Windows 2000 - a versão moderna mais lightweight do kernel do NT que já experimentei. Mas o Windows 10, desde que migrei para ele tem me deixado bastante feliz. Pouquíssimos BSODs (talvez 2 até hoje por problemas de hardware), muitas opções de personalização, UI agradável e excelente compatibilidade de programas.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/qubes01-deixando-windows/"&gt;https://matheusd.com/post/qubes01-deixando-windows/&lt;/a&gt;</description></item><item><title>Optimzing my Blog</title><link>https://matheusd.com/post/optimzing-my-blog/</link><pubDate>Wed, 24 May 2017 17:30:00 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/optimzing-my-blog/</guid><description>I&amp;rsquo;ve wanted to make a round of optimzations around this site for a while, trying to speed up the loading time of the pages.
This website is built with Hugo, so it&amp;rsquo;s pretty easy to adjust or create a new template for it, while maintaining all existing content.
I was originally using the awesome Hugo-Geo theme, but I was a bit unhappy with the fact that imports the whole bootstrap framework, so I wanted to slim it down a bit.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/optimzing-my-blog/"&gt;https://matheusd.com/post/optimzing-my-blog/&lt;/a&gt;</description></item><item><title>Simulating limited networks with Wanem and VirtualBox</title><link>https://matheusd.com/post/wanem_virtualbox/</link><pubDate>Tue, 09 May 2017 19:47:27 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/wanem_virtualbox/</guid><description>This will be an article written to future-me, when he needs to simulate a network with limited bandwidth and latency for the nth time and can&amp;rsquo;t easily find the exact software to do it.
This is the premise of the problem: you are developing a software (web, desktop, mobile, doesn&amp;rsquo;t matter which kind) and need to simulate a low bandwidth connection (maybe you&amp;rsquo;re testing a desktop software running through an internet VPN).&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/wanem_virtualbox/"&gt;https://matheusd.com/post/wanem_virtualbox/&lt;/a&gt;</description></item><item><title>Apresentação: Workshop Decred</title><link>https://matheusd.com/post/slide_workshop_decred_giga01/</link><pubDate>Sun, 07 May 2017 06:54:45 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/slide_workshop_decred_giga01/</guid><description>O pessoal na Gigatron tem me perguntado bastante sobre bitcoins e altcoins e como eu comentei sobre o Decred, resolvi fazer uma pequena introdução sobre como, na prática, é possível investir em bitcoins.
Os slides da apresentação estão disponíveis aqui no site.
Curiosidade: essa apresentação foi construída com o Reveal.js.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/slide_workshop_decred_giga01/"&gt;https://matheusd.com/post/slide_workshop_decred_giga01/&lt;/a&gt;</description></item><item><title>Analisando tempo de startup de aplicações Delphi</title><link>https://matheusd.com/post/profile_delphi_startup/</link><pubDate>Fri, 16 Dec 2016 06:54:45 -0200</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/profile_delphi_startup/</guid><description>Introdução do problema Recentemente eu realizei um trabalho de refactoring em um dos sistemas da Gigatron para melhorar o tempo de startup do software. Nesse caso em particular, o software é construído em Delphi e é um dos maiores projetos (em quantidade de código) que temos internamente.
Nesse artigo eu vou relatar a técnica que utilizei para identificar os pontos chave para otimização do programa e algumas das melhorias implementadas.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/profile_delphi_startup/"&gt;https://matheusd.com/post/profile_delphi_startup/&lt;/a&gt;</description></item><item><title>Increasing Win10 OVA HD Size</title><link>https://matheusd.com/post/increasing_win10_ova_size/</link><pubDate>Fri, 07 Oct 2016 19:32:45 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/increasing_win10_ova_size/</guid><description>Microsoft has kindly released Virtual Machine Appliances for testing web sites using Microsoft Edge and Internet Explorer versions 8 to 11.
These VMs are also useful to test other software on a clean-slate VM.
But sometimes, the amount of HD available on the main partition of the appliance (40GB total, about 9GB free) is not enough for a particular use case.
So, if you need to resize a VirtualBox Windows appliance, here&amp;rsquo;s what you should do:&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/increasing_win10_ova_size/"&gt;https://matheusd.com/post/increasing_win10_ova_size/&lt;/a&gt;</description></item><item><title>PID Javascript demo</title><link>https://matheusd.com/post/pid_javascript_demo/</link><pubDate>Wed, 13 May 2015 19:32:45 -0300</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/pid_javascript_demo/</guid><description>Back at the end of 2014 I had to give some brief instructions on how PID loops work.
Working at Gigatron at our CNC division, I had to understand, design and configure several PID loops on several types of machines over the years (plasma cutters, routers, etc).
From the point of view of an experienced programmer, PID loops are pretty obvious (if not immediatly, at least in retrospect). In fact, in LinuxCNC the important bit is implemented as a single line of code:&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/pid_javascript_demo/"&gt;https://matheusd.com/post/pid_javascript_demo/&lt;/a&gt;</description></item><item><title>My CS Conclusion Thesis</title><link>https://matheusd.com/post/conclusion_thesis/</link><pubDate>Thu, 26 Feb 2015 19:15:45 -0400</pubDate><author>contact-rss@matheusd.com (Matheus Degiovani)</author><guid>https://matheusd.com/post/conclusion_thesis/</guid><description>This was my conclusion thesis for my BsC in Computer Science at Universidade de Franca written in 2005.
Back in the day was I really interested in 3d on the web. Second life was at the height of its hype, I had been involved in Active Worlds (a previous 3d web experience) and MMORPGs for the previous five or so years, so a fully peer-to-peer 3d world based on web standards (X3D, the successor to VRML) seemed like an interesting topic.&lt;br&gt;&lt;br&gt;Continue reading at &lt;a href="https://matheusd.com/post/conclusion_thesis/"&gt;https://matheusd.com/post/conclusion_thesis/&lt;/a&gt;</description></item></channel></rss>