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
|
---
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.
I have transferred the repo ownership to my friend [dinhanhx][dinhanhx-gh]
## 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/dinhanhx/discord-meme-bot
[dinhanhx-gh]: https://github.com/dinhanhx/
[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
|