This week has slowed down a little bit. It is more a research week,I wasn’t able to do what I thought I would do, like working on hoodie
because I just realized I might have even better ways to achieve my goals.
Work
No PR was submitted to the tyk
gateway this week, however I have been onto some cool stuff that might prove useful to the gateway someday.
So, I was researching on a benchmarking solution for the gateway. The main criteria of the solution was
- configurable (should be a ble to rune different parameters like environments/configurations etc)
- simple to reason about and implement
- detect regressions on new changes commits/pr’s
I have made quiet a progress on this, probably I might have a prototype by next week. I can’t talk much about it because its still experimental and lots of moving pieces.
Private
I took a look on hoodie
, especially the unicode
module which is a port the go unicode
package. I think it is bloated, because it duplicates what zig already offers on the standard library and to some extent differs for instance in zig a code point is u32
but in hoodie
it is 132
.
I initially ported Nim’s unicode
module. I was successful but realized it was so basic and lacked lots unicode related features, for instance its range tables are only limited to UnicodeData.txt
file.
Then I remember reading about quickjs and its full unicode library written in C. So I took the liberty of studying what these people do with unicode. Also I have actually been reading the specification too to get more familiar with unicode so I will understand implementation.
My goal now is to port quickjs unicode library to zig.
Conclusion
This week has only been about research, Next week I will be picking what I let this week. On my spare time I will keep playing with unicode.