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
|
---
title: Works
language: en
translationKey: works
disable_feed: true
---
I am a web backend developer, though I'm open to experiment in other fields as
well. You can look at my projects on:
- [GitHub](https://github.com/Huy-Ngo/)
- [Disroot Git](https://git.disroot.org/huyngo)
- [source hut](https://sr.ht/~huyngo/)
See my CV in PDF format [here][cv].
# Education
- Bachelor: University of Science and Technology of Hanoi, 2018-2021
# Free Software work
I support free software by writing it and contribute to some projects within my
ability. Below are some projects I've participated in development.
## Web apps
### Acanban
[Acanban][acanban] is an in-development academic-oriented project management
system.
So far, we have implemented only basic project collaboration features. There is
much work to be done in the future.
## Libraries
### Palace
[Palace][palace] is a 3D audio library in Python. It is a wrapper around
OpenAL for Python, expecting to provide developers with modern and intuitive
utilities for audio processing.
See demo in the video below (or see it on [my Peertube][palace-demo]):
<div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
<iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" sandbox="allow-same-origin allow-scripts allow-popups" src="https://video.ploud.fr/videos/embed/e68c43ca-f4bd-4af6-840f-1405e6163735?subtitle=en" title="Palace demo" allowfullscreen></iframe>
</div>
## Chat bots
### Discord meme bot
[Meme bot][discord-meme-bot] is a meme bot for discord using Reddit API.
## Game
### Axuy
I added face culling and added texture to the 3D shooting game [axuy][axuy] by
[McSinyx][cnx].
![axuy](axuy.png)
The game uses [palace](#palace) for 3D audio by the way.
## Packaging
### Floating cheeses
> The [interplanetary wheels][ipwhl] (or floating cheeses) are platform-unique,
> singly-versioned Python binary distributions backed by IPFS for security and
> reproducibility.
I occasionally participated in packaging for these distributions.
### dictd
I am [packaging][alpine-dictd] [dictd][dictd] for Alpine Linux. It is
unfortunately not done yet.
## Miscellaneous
- [YAltaCV], a Python script that generate AltaCV-themed CV from YAML data
- [cov-news][cov], a scraper for COVID-19 related news
- [Wikt CLI][wikt-cli] is a CLI Wiktionary client using its API.
- [GenWord][genword] a word generator on Android, alternative to
[its JS equivalent][gen]
- [IPA keyboard layout][ipa] for FlorisBoard
- [One-character PR][publiccode] for Public Code standard
# Non-free software work
Not all of us can afford the luxury of being able to work full-time as free
software developer. I still appreciate my time working in a non-free software
company for the knowledge and experience I gained from there.
## Internship
During my internship at VCCloud, I have worked with several problems related to
mail, namely:
- disposable mail service
- mail tracking[^1]
- mail searching
[cv]: https://raw.githubusercontent.com/Huy-Ngo/my-cv/master/huy-cv.pdf
[palace]: https://git.sr.ht/~cnx/palace
[acanban]: https://github.com/Huy-Ngo/acanban
[YAltaCV]: https://github.com/Huy-Ngo/YAltaCV
[discord-meme-bot]: https://github.com/Huy-Ngo/discord-meme-bot
[wikt-cli]: https://git.sr.ht/~huyngo/wikt-cli
[genword]: https://git.sr.ht/~huyngo/GenWord
[cov]: https://github.com/Huy-Ngo/cov-news
[gen]: www.zompist.com/gen.html
[ipwhl]: https://sr.ht/~cnx/ipwhl/
[alpine-dictd]: https://lists.alpinelinux.org/~alpine/aports/%3C20210504151538.25378-1-huyngo%40disroot.org%3E#%3C20210505015044.lqjmzxevnqwdggux@linux.local%3E
[dictd]: https://sourceforge.net/projects/dict/files/
[axuy]: https://sr.ht/~cnx/axuy/
[cnx]: https://cnx.srht.site/
[ipa]: https://github.com/florisboard/florisboard/pull/560
[publiccode]: https://github.com/publiccodenet/standard/pull/439#issuecomment-774983961
[^1]: I feel guilty working with a privacy-invading feature, but given the
context that it is business email, it probably does not matter much.
[palace-demo]: https://video.ploud.fr/videos/embed/e68c43ca-f4bd-4af6-840f-1405e6163735
|