<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title><![CDATA[A Blog of Sorts - MathiasSM]]></title>
    <subtitle><![CDATA[Mathias' writings on Computer Science, work, life and anything.]]></subtitle>
    <link href="https://mathiassm.github.io/web-writings/blog/atom.xml" rel="self" />
    <link href="https://mathiassm.github.io/web-writings" />
    <id>https://mathiassm.github.io/web-writings/blog/atom.xml</id>
    <author>
        <name><![CDATA[Mathias San Miguel]]></name>
    </author>
    <updated>2026-10-06T00:00:00Z</updated>
<entry>
    <title><![CDATA[Writing]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/writing" />
    <id>https://mathiassm.github.io/web-writings/hobbies/writing</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[TV]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/tv" />
    <id>https://mathiassm.github.io/web-writings/hobbies/tv</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Tinkering]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/tinkering" />
    <id>https://mathiassm.github.io/web-writings/hobbies/tinkering</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[TCGs]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/tcgs" />
    <id>https://mathiassm.github.io/web-writings/hobbies/tcgs</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Reading]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/reading" />
    <id>https://mathiassm.github.io/web-writings/hobbies/reading</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Movies]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/movies" />
    <id>https://mathiassm.github.io/web-writings/hobbies/movies</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Japanese]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/japanese" />
    <id>https://mathiassm.github.io/web-writings/hobbies/japanese</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Building Gundam]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/gundam" />
    <id>https://mathiassm.github.io/web-writings/hobbies/gundam</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Gaming]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/gaming" />
    <id>https://mathiassm.github.io/web-writings/hobbies/gaming</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Drawing]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/drawing" />
    <id>https://mathiassm.github.io/web-writings/hobbies/drawing</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Collecting]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/collecting" />
    <id>https://mathiassm.github.io/web-writings/hobbies/collecting</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Bouldering]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/bouldering" />
    <id>https://mathiassm.github.io/web-writings/hobbies/bouldering</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Boardgames]]></title>
    <link href="https://mathiassm.github.io/web-writings/hobbies/boardgames" />
    <id>https://mathiassm.github.io/web-writings/hobbies/boardgames</id>
    <published>2026-10-06T00:00:00Z</published>
    <updated>2026-10-06T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>TODO</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Sutori: Programming Language for Stories]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/sutori" />
    <id>https://mathiassm.github.io/web-writings/blog/sutori</id>
    <published>2018-12-12T00:00:00Z</published>
    <updated>2018-10-14T00:00:00Z</updated>
    <content type="html"><![CDATA[]]></content>
</entry>
<entry>
    <title><![CDATA[SIGPAE: Syllabus Management System]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/sigpae" />
    <id>https://mathiassm.github.io/web-writings/blog/sigpae</id>
    <published>2017-03-01T00:00:00Z</published>
    <updated>2018-10-14T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>As part of our <strong>Software Engineering</strong> course in the <em>Universidad Simón Bolívar</em>, eight (8) of us as Team (notice me) “Zenpy” developed, during five (5) weeks, a nice tool for the university’s Academics Records Office.</p>
<h2 id="the-product-as-the-client-asked">The Product, as the client asked</h2>
<p>The tool allows the user to communicate with the Academics Records Office database, to check if <em>Syllabus</em> records exist digitalized for any given course, and check if it follows the newly standardized format. As such format was new, and no other standardized format existed before, the tool is intended for allowing an easy upload a <em>Syllabus</em> document for a course; the program will then parse it as well as it can, to automatically fill the course needed information. It then allows the user to check if the parsing was correct and edit it to fill in missing or unparsed text.</p>
<p>Technologies used were <strong>Django</strong> as backend framework, <strong>Bootstrap</strong> as frontend framework and <strong><a href="https://github.com/tesseract-ocr/">Tesseract OCR</a></strong> to be able to parse PDFs and scanned documents.</p>
<p>The tool has no name other than “SIGPAE” (Spanish: <em>Sistema de Gestión de Programas Analíticos de Estudios</em>) and we signed a confidentiality contract; sadly, I can’t show the source code here.</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Retyna: A Ruby interpreter for Retina]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/retyna" />
    <id>https://mathiassm.github.io/web-writings/blog/retyna</id>
    <published>2017-03-01T00:00:00Z</published>
    <updated>2018-10-14T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Together with Carlos Serrada, a friend in the same Language Theory class (Official name: <em>Traductores e Interpretadores</em>), we made a Ruby interpreter for the “Retina” language, made up by Prof. David Lilue. With it, you can programmatically draw simple bitmaps with a simple syntax.</p>
<p>We called the Ruby interpreter for Retina language <em><a href="https://retyna.github.io/">Retyna</a></em>, and made that website for its code and documentation.</p>]]></content>
</entry>
<entry>
    <title><![CDATA[Apolo: Firefighters Support System]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/apolo-firefighters" />
    <id>https://mathiassm.github.io/web-writings/blog/apolo-firefighters</id>
    <published>2017-01-01T00:00:00Z</published>
    <updated>2018-10-14T00:00:00Z</updated>
    <content type="html"><![CDATA[<p><strong>Apolo</strong>, how we called it, is a software system made as part of our <strong>Information Systems</strong> course in the <em>Universidad Simón Bolívar</em>. I led a team of eight (8) in charge of the “Operations” module for the CBVUSB (Volunteer Fire Corps of the USB) Support System.</p>
<p>Our team had to communicate with the Client (part of the CBVUSB) and keep in sync with the “Human Resources” team, as both modules would be the initial columns for the system. Both teams as one followed the RUP methodology, with all its formal documents, diagrams and the like, to provide a solid ground for long-term maintainability. At each third of the way, a small demo presentation was made to show invited people the development process.</p>
<h2 id="the-operations-module">The Operations Module</h2>
<p>It provides a simple interface for keeping a record of every activity regarding the main station. The corps follow strict schedules and protocols regarding the services they provide. The module is to keep a digital record of such procedures and be able to check, among other things, that they have been followed to the letter.</p>
<p>The whole module was to be planned (following RUP methodology), and a single submodule developed. The rest would be developed by other teams in next courses iterations (Information Systems II, and III, for those who take it).</p>
<h3 id="records-book-shifts-and-services">Records Book, Shifts and Services</h3>
<p><strong>The Records Book submodule</strong> keeps a digitalized version of a real book the fire corps keep of everything that happens at the station: Who enters, who leaves, the inventory, the commissions formed and gone to serve. It follows a strict set of rules the system must take into account, besides regular consistency checks.</p>
<p><strong>The Shifts submodule</strong> provides an interface for managing service hours of each volunteer, the fixed shifts, the owed hours and the special shifts. Everything follows the corps protocols, as required.</p>
<p><strong>The Services submodule</strong> keeps records of every service the corps have attended: From wood fires to missing pets and injured people. They register the involved volunteers and their vehicles, the victims if any and their medical examination. They need all this information validated by the chief Firefighter at the service, and in paper, for legal purposes.</p>
<hr />
<p>The Firefighters Corps at USB are an incredibly prepared team of people (students, professors and anything in between). They follow strict rules and protocols to the letter, spend a long time preparing to be a volunteer there, and they keep on training and preparing in different skills, like first-aid and hazardous goods.</p>]]></content>
</entry>
<entry>
    <title><![CDATA[IOI - Russia]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/ioi-russia" />
    <id>https://mathiassm.github.io/web-writings/blog/ioi-russia</id>
    <published>2016-07-01T00:00:00Z</published>
    <updated>2019-07-26T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Out of lots of luck and training, I got to compete in the International Olympiads in Informatics. Now my goal is to train younger students to represent Venezuela in this great event!</p>
<h2 id="the-international-olympiad-in-informatics">The International Olympiad in Informatics</h2>
<p>The IOI is an old competition like the ACM-ICPC, but targeted at younger students, just as the IMO, IChO, and other famous science olympiads. Each country is allowed to send 4 students to compete; in our case, only two of us (Satoru and I) got to go, due to Venezuela’s economic problems.</p>
<h3 id="a-week-to-meet-the-world">A week to meet the world</h3>
<p>A great thing about the IOI is that we get to know other people from all around the world. The organizers also work hard so that we get to experience the local culture while sharing interesting conversations with people from other countries.</p>
<h3 id="two-weeks-of-fighting">Two weeks of fighting</h3>
<p>Unlike many other styles in Coding Competitions, the IOI divides its main event in two days, separated by a break day so that we don’t burn out. I think it might be to put more problems in there, to let participants know how they’re doing (and maybe plan on the next day’s strategy), or just so that we can enjoy the trip to the fullest, not rushing all the time.</p>
<p>The format is the following: Two days, each with its own set of 3 problems, 5 hours each day to solve them. 3 problems for 5 hours seems like so little, but the IOI-style makes it so that each problem requires often 2 or more implementations to get all points (100 total), as multiple sets or requirements are presented.</p>
<p>Training for IOI-style competitions requires a deep understanding of algorithm complexity and lots of practice on different approaches for the same problems.</p>
<h3 id="the-results">The results</h3>
<p>They can be summed up in the following:</p>
<blockquote>
<p>I want to train on this, even if I can’t compete anymore, because it’s a really powerful skill. If I can train younger guys so that they become better at it and can win some medals for Venezuela, then I’d be extra-accomplished.</p>
</blockquote>
<h2 id="that-big-country-on-the-map-thats-not-china">That Big Country on the Map (That’s not China)</h2>
<h3 id="cold-weather-cold-people-neither">Cold weather, cold people? Neither</h3>
<p>It’s was so hot I thought it was the wrong country. Russia may be cold in winter, but all Hollywood movies make us think it’s a cold country, all year long. It’s not. Summer was hot. Really hot. It never rained while we were there, but it wasn’t a dry weather, which wasn’t nice.</p>
<p>On the <em>cold</em> subject, about people, they all seemed opposite to the cold bastards we are made to think of them. They don’t speak with a rough accent, either; in fact, I was shocked to see how soft the Russian I heard was and how much I now like the language (I want to learn it someday).</p>
<h3 id="politics-and-the-state">Politics and the state</h3>
<p>Truth is, at least among young Russians, Putin is made fun of like any other regular president in the world. That doesn’t mean they hate him, nor that they love it; it just means they’re critical, and that no one is truly censored at a “just chatting” scale on political issues, like all movies seem to agree on.</p>
<p>As a fun fact, we were detained by the police while on an Uber taxi. The guy did not stop at a stop sign, and patrols were waiting for that to happen. The officer did not speak a thing of English (Or Spanish, for that matter). But while it was annoying to stay there and being “processed” for not carrying passports (I did have mine), using Google Translate to communicate, we only got a traffic ticket at the end. The officer followed all the rules and protocols, which is something I don’t see a lot in my home country (or Hollywood movies).</p>
<h3 id="homelike-cuisine">Homelike cuisine</h3>
<p>I wasn’t expecting a magnificent cuisine. But I was expecting a rather different cuisine from the western world. It was actually pretty similar. It even had many dishes that are eaten here in Venezuela, like the <em>“arroz con leche”</em>, which literally means “rice with milk” and it’s a common dessert here, exists there as…. eh… some Russian name that does not mean literally “rice with milk”.</p>
<p>I also got to eat the salad known here as just “Russian salad”, which is, actually, from Russia (Who would have known?) and it was really good. The thing is, while their food is not particularly tasty. It is all quite homelike, and as that, it was really nice. They don’t drink anything cold, though, and that’s something I couldn’t get used to.</p>]]></content>
</entry>
<entry>
    <title><![CDATA[ACM-ICPC World Finals - Thailand]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/acm-icpc-world-finals-thailand" />
    <id>https://mathiassm.github.io/web-writings/blog/acm-icpc-world-finals-thailand</id>
    <published>2016-05-01T00:00:00Z</published>
    <updated>2018-09-21T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>After less than a year training for the ICPC competitions, Rubmary Rojas, Augusto Hidalgo and I, as team RAM (R.A.M. … y‘see?), classified for the ICPC World Finals in Thailand!</p>
<h2 id="local-and-regional-contests">Local and Regional Contests</h2>
<p>Venezuela has few universities interested in Competitive Programming (there are not that many with CS studies, either), so there’s no National Contest, but rather each university holds its own. In our case, USB, UCV, and UCAB joined together for a local contest.</p>
<p>We came up third, with “Conejitos Peligrositos” (“Dangerous little bunnies”) leading in the USB with 8 problems solved, then NPI-Complete (UCV) with 7, then us (USB) with 6. The fourth team (“Segmentation Fault”, third and last classified from the USB) had also 6 problems solved, but with a bigger time penalty. We had little expectations for the regional, but things went way too well then…</p>
<p>By the start of the frozen hour we had five (5) accepted problems. Pending we had a problem with a Wrong Answer (we can try again), but we quickly saw a stupid solution to another problem (the simplest bipartite matching). While coding that one, we saw the mistake in the Wrong Answer, corrected, and got two (2) more Accepted problems!</p>
<p>We ended up with seven (7) problems, pretty happy with the outcome. Still, only the first place (and usually second) is guaranteed to classify for the World Finals; we were competing against Colombia, which had really good teams… And we classified, at second place (third also classified this time). We were going to Thailand.</p>
<h2 id="pre-competition-stress-venezuela-style">Pre-competition stress (Venezuela style)</h2>
<p>The event started on Monday (May 16th, 2016). Up until the previous Wednesday, we didn’t know if we were going to make it. We had some money donated by friends that was just enough to buy 3 tickets from an organization that promised low prices for academic trips. Yet at last minute they said no.</p>
<p>We are supposed to get help from the university, private companies or the Venezuelan state. But our university is public and depends on the state, private companies have been mostly disappeared from the country (due to its nationalization policies), and the state seems to prioritize sports (like “Underwater Rugby”, whatever that is) before academic events.</p>
<p>It was a Thursday and all our hopes were gone, when some coach from another country contacted us. It seems some coaches, ICPC representatives and so on, collaborated to buy us the tickets. Within 6 hours of talks and organizing dates, we had the tickets (even for our coach). We had to run, now, as the flight was the very same night/dawn.</p>
<p>Such miracle included a trip of 5 stops one way, 4 stops the other, for a total of 11 flights, more than 132 hours traveling (less than the time we spent there!)… It was completely worth it.</p>
<h3 id="the-flights">The flights</h3>
<p>The trip to Phuket was:</p>
<ul>
<li>Caracas - Bogotá (2 hours)
<ul>
<li>3 hours in Bogotá.</li>
</ul></li>
<li>Bogotá - Panamá City (2 hours)
<ul>
<li>3 hours in Panamá.</li>
</ul></li>
<li>Panamá City - Sao Paulo (9 hours)
<ul>
<li>Checked-out our bags to change airline.</li>
<li>…19 hours of wait…</li>
<li>Checked-in our bags with new airline.</li>
</ul></li>
<li>Sao Paulo - Abu Dhabi (16.5 hours)
<ul>
<li>5 hours in Abu Dhabi.</li>
</ul></li>
<li>Abu Dhabi - Bangkok (9 hours)
<ul>
<li><p>We had to check out bags here. Mine was lost.</p>
<p>Airport security made the other literally run after one of their guys to the gate (Augusto said it was like a video game, where no matter how fast you go, the NPC is still ahead of you).</p>
<p>Airport security made me stay to wait for my bag after they supposedly found it.</p>
<p>They did, actually, and brought it to me in a cargo elevator. The security guy rushed me to run fast through the check-out point, past some guards, up 2 or 3 floors, to the gates hall, to the farthest gate, for check-in.</p>
<p>I made it.</p>
<p>Then we had to run after the Thai guy again, as our flight was almost ready to go.</p>
<p>We were left breathless, some with tachycardia, all of us super smelly, but we made it on time and boarded that tiny airplane (way more modern than Venezuela’s anyway), to Phuket, finally.</p></li>
</ul></li>
<li>Bangkok - Phuket (2 hours)</li>
</ul>
<p>In Phuket, we got our bags easily and spent an hour changing, cleaning, resting, before going out to find a big welcome stand with a couple of volunteers from host university that treated us well and got us into transportation to the hotel in minutes.</p>
<h2 id="the-world-finals-2016.-phuket-thailand">The World Finals 2016. Phuket, Thailand</h2>
<p>The main event happens the day after the dress rehearsal. There we met the location: A sports stadium, with a big tent for resting before entering the arena. We got to listen to Executive Director Bill Poucher’s jokes and laughed hard at every one of them.</p>
<p>It was our first time in the World Finals, competing against the best of the best. Watching the giant screen showing the ICPCLive streaming just before entering the contest did not help much. Words from other competitors and friends did, though. We were there, and we were going to give it all, anyway.</p>
<p>The contest was… tense. Lots of balloons for other teams. We got our first AC on a relatively good time. But we struggled with our second problem. It was, according to the scoreboard, the second easiest, and we got many WA, before a final AC. That left us no time to think other problems through.</p>
<p>Mistakes made:</p>
<ul>
<li>To have stuck to a single problem for too long.</li>
<li>To be all thinking about the same problem.</li>
<li>To not read all the problems in time.</li>
<li>To underestimate ourselves with some tasks.</li>
</ul>
<p>We got only two problems. But it’s alright. We did all we could. We represented our university and country proudly. And I got this photo:</p>
<p>As for our friends from the <em>Universidad Nacional de Rosario</em> (Argentina), they won Latam Champions, no less. They achieved an outstanding 37th place, beating lots of crazily good universities. Congratulations, Leopoldo, Mariano, Pablo, and Martín!</p>
<h2 id="the-other-great-events">The other great events</h2>
<h3 id="ibm-techtrek">IBM TechTrek</h3>
<p>A long and boring… I’m kidding. An awesome and wholly interesting talk on many hot topics in Computer Science by Star Wars characters… I mean, IBM guys. They talked about many things. Among them are Big Data, Cloud Computing and Bluemix. It really made me love my choice of studies way more than ever.</p>
<h3 id="fantasea-opening-ceremony">FantaSea Opening Ceremony</h3>
<p>The opening was boring, I must confess. It was at FantaSea grounds, in some auditorium for shows. FantaSea looked great and all, but the presentation was mostly ACM-ICPC guys presenting Thai officials and professors (from host university and so on) who did not speak English at all. There were several awards for outstanding coaches, too.</p>
<p>The best I could get out of it, though, was the moment they showed all teams onscreen. And we saw all Latin America there. Such excitement can’t be described.</p>
<p>Later on, we ate there some weird Thai spicy food (I’m definitely not a fan of spicy food). The hall was rather amazingly large, and I can’t think of anything else they could use it for. After that, tired and all, we were at FantaSea marketplace, looking at real elephants and all kinds of merchandise around them.</p>
<p>After that, there was a quite amazing circus-like show, with theater, comedy, magic, elephants, music, some Cirque du Soleil acrobatics, and more elephants. There were easily more than ten elephants on-stage at the same time! It was amazing in all sense. Sadly I could not take pictures of record it. But still, what a show!</p>
<h3 id="ibm-chillzone">IBM Chillzone</h3>
<p>IBM, as good sponsors, had a great place set up for organizing tiny presentations, demonstrations and giving away gifts. Among those gifts, I got a pair of headphones, a USB hub, some pens, a cool cube toy and a really comfy t-shirt with an eye, a bee, and an “M”… Got it?</p>
<h3 id="icpcquest">ICPCQuest</h3>
<p>The World Finals are great in many ways. But one thing I really congratulate the organizers for is this… game? It’s called ICPCQuest, and it consists of completing <em>quests</em>, which are usually tweets with a specific photo or message you have to take or write, to gain points. Given a certain quantity, you get prizes. And at the end, the rest of prizes are given “at random”; with a probability distribution that follows how many points you got (the more points the more likely is that you get a prize).</p>
<p>It’s an awesome way to gain free coverage and tons of pictures of the event, makes the contestants and attendees interact with other people, and it’s just too fun to miss playing it.</p>]]></content>
</entry>
<entry>
    <title><![CDATA[USB's Introduction to Robotics Workshop]]></title>
    <link href="https://mathiassm.github.io/web-writings/blog/robotics-workshop" />
    <id>https://mathiassm.github.io/web-writings/blog/robotics-workshop</id>
    <published>2015-12-01T00:00:00Z</published>
    <updated>2015-12-01T00:00:00Z</updated>
    <content type="html"><![CDATA[]]></content>
</entry>

</feed>
