Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
190 lines (174 loc) · 6.47 KB
/
Copy pathindex.html
File metadata and controls
190 lines (174 loc) · 6.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Henrique Surian Stobbe</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<h1>Henrique Surian Stobbe</h1>
<hr>
<p>Linkedin: <a href="https://www.linkedin.com/in/henrique-surian-stobbe" target="_blank">www.linkedin.com/in/henrique-surian-stobbe</a></p>
<p>GitHub: <a href="https://github.com/Persioqq" target="_blank">github.com/Persioqq</a></p>
<p>Email: <a href="mailto:henriquesstobbe@gmail.com">henriquesstobbe@gmail.com</a></p>
<hr>
<h2>About me</h2>
<p>Hello! I am Henrique from Brazil! I started to code when I was 11 years old by the curiosity and by the fun of building things. Currently I am finishing the high school and preparing for the university. I like science, literature, journalism and technology.</p>
<hr>
<h2>Projects</h2>
<ul>
<li><a href="#util-linux">util-linux</a></li>
<li><a href="#qchat">qchat</a></li>
<li><a href="#qcsv">qcsv</a></li>
<li><a href="#qpost">qpost</a></li>
<li><a href="#qmatrix">qmatrix</a></li>
<li><a href="#qbuild">qbuild</a></li>
<li><a href="#qls">qls</a></li>
<li><a href="#qfetch">qfetch</a></li>
<li><a href="#qcalc">qcalc</a></li>
<li><a href="#other_contacts">Other contacts</a></li>
</ul>
<hr>
<h2 id='util-linux'>util-linux</h2>
<p>I contributed to util-linux's fdisk and sfdisk, which are part of the Linux ecosystem, in 2026. The main change was the automatic recommendation of GPT (GUID Partition Table) on modern EFI systems when running these tools in interactive mode, otherwise they recommend DOS or SUN (on SPARC). And I also fixed a small inconsistency on -t/--type flag. See my GitHub for more details. These modifications will be included in util-linux v2.43 release.</p>
<p><strong>Example:</strong></p>
<p>Note: both (fdisk and sfdisk) were defaulting to DOS on a EFI system.</p>
<pre>
$ sudo ./fdisk /dev/sda
Welcome to fdisk (util-linux 2.43.devel-1026-0f119-dirty).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new GPT disklabel (GUID: 5B4DA203-8C43-4C13-B609-2B4442D557A9).
Command (m for help):
$ sudo ./sfdisk /dev/sda
Welcome to sfdisk (util-linux 2.43-devel).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Checking that no-one is using this disk right now ... OK
Disk /dev/sda: 3.76 GiB, 4037017600 bytes, 7884800 sectors
Disk model: Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
sfdisk is going to create a new 'gpt' disk label.
Use 'label: <name>' before you define a first partition
to override the default.
Type 'help' to get more information.
>>>
</pre>
<hr>
<h2 id='qchat'>qchat</h2>
<p>QChat is a simpler way to use the OpenAI's, Ollama's and Maritaca AI's APIs for interacting with the models easily and for developing small agents.</p>
<p><strong>Example:</strong></p>
<pre>
from qchat import MaritacaAI
chat = MaritacaAI('secret',
'https://chat.maritaca.ai/api',
'sabiazinho-4', 12000)
chat.add_system_role('Show the factorial from the number which the user will request.')
chat.add_user_question('5')
chat.add_assistant_response('120')
chat.add_user_question('What is the result of what you have just shown?')
chat.complete()
print(chat) # This will show the entire chat!
</pre>
<hr>
<h2 id='qcsv'>qcsv</h2>
<p>
A simple C++ CSV reader. Inspired by Python Pandas.</p>
<p><strong>Example:</strong></p>
<p>For a better example, see the github page.</p>
<pre>
QCsv::ReadCsvFile("example.csv"); // read csv file
QCsv::PrintDf(); // print the DataFrame
QCsv::WriteCsv("example.csv"); // write the changes of DataFrame
QCsv::convertAVectorToStringVector(vector);
// a misc utility fucntion to transform vectors.
QCsv::headers[]; // a vector with the DataFrame headers
QCsv::df["header"];
// A map that have the DataFrame structure, like python pandas.
// The example above returns the series that is a string vector.
</pre>
<hr>
<h2 id='qpost'>qpost</h2>
<p>A micro post utility.</p>
<p><strong>Example:</strong></p>
<pre>
qpost get 127.0.0.1:8080/countries
qpost post 127.0.0.1:8080/countries '{"Name": "USA", "Language": "English"}'
</pre>
<hr>
<h2 id='qmatrix'>qmatrix</h2>
<p>qmatrix is a simple matrix implementation for C. It includes matrix adition, subtration, multiplication, exponentiation and filling.</p>
<p><strong>Example:</strong></p>
<pre>
qmatrix *matrix = new_m(10, 10); // This creates a 10x10 matrix
fill_m_with_c(matrix); // This fills the matrix with crescent numbers
matrix->m[0][0] = 33 // Changes the first element to 33
matrix = mul_m(matrix, matrix); // Multiplies itself
print_m(matrix); // Prints the matrix
</pre>
<hr>
<h2 id='qbuild'>qbuild</h2>
<p>A simple lua script to make the basic, but better.</p>
<p><strong>Example:</strong></p>
<pre>
lua qbuild.lua build
clean
run
buildrun
</pre>
<pre>
qbuild = {
compiler = "g++",
lang_std = "-std=c++17",
compiler_flags = "-Wall -Wextra -g -O3 -pipe -march=native",
include_path = "-I\"./libs/\"",
src_files = "./src/*.cpp ./src/Game/*.cpp",
linker_flags = "-lSDL2 -lSDL2_image -lSDL2_ttf -lSDL2_mixer -llua5.4",
obj_name = "qengine",
}
</pre>
<hr>
<h2 id='qls'>qls</h2>
<p>A ls clone, but its two times more faster.</p>
<p><strong>Example:</strong></p>
<pre>
$ qls /
root 4096 Sat Sep 25 15:44:05 2021 usr
root 4096 Wed Feb 2 11:44:38 2022 boot
root 4096 Tue Sep 26 00:09:39 2006 mnt
root 4096 Mon Feb 7 11:36:42 2022 root
...
</pre>
<hr>
<h2 id='qfetch'>qfetch</h2>
<p>A fetch, like any other.</p>
<p><strong>Example:</strong></p>
<pre>
___ ___________________
| | system => Linux
| | | hostname => pi.org
| \/ / kernel => 5.15.19
| / arch => x86_64
\ / ___________________
</pre>
<hr>
<h2 id='qcalc'>qcalc</h2>
<p>A calculator made with the python eval() function.</p>
<p><strong>Example:</strong></p>
<pre>
[0]> 2+2*((3+2)/2)
7.0
[1]> exit
</pre>
<hr>
<h2 id='other_contacts'>Other contacts</h2>
<p>Contact: <a href="mailto:henriquesstobbe@gmail.com">henriquesstobbe@gmail.com</a></p>
<p><a href="./henrique_public.gpg">Public PGP key</a></p>
<p>Bitcoin address: bc1q26xvdv00hpca02v5nv86yft62jyvxu7s9z7yze</p>
<hr>
<font size="-1">Last update: 01/05/2026 | dd/mm/yyyy</font>
</body>
</html>