HNHacker News
TopNewBestAskShowJobs

Labo333

1,195 karma · joined December 13, 2015

louisabraham.github.io

Founder & CTO of reduck.ai

submissionscomments
Labo333··on Show HN: Hexi – Modern header-only network binary serialisation for C++
Fun! It reminds me of my own attempt at this: https://github.com/louisabraham/ubuf

It can generate efficient JS and C++ from a simple YAML file.

Labo333··on When Greedy Algorithms Can Be Faster [C++]
To accelerate the analytical solution, there are more obvious techniques, like replacing trigonometric opetations with series. This is a 10x improvement in https://ashvardanian.com/posts/google-benchmark/#slow-trigon...
Labo333··on SAT Solver Etudes I
I remember putting together a bibliography about standard techniques a few years ago: https://arxiv.org/abs/1802.05159
Labo333··on A Replacement for BERT
Sad that it is English only, not multilingual.
Labo333··on PiML: Python Interpretable Machine Learning Toolbox
Indeed, this is a major blocker. I am very wary of installing it and would never ship this to production.
Labo333··on Show HN: Visualizing Chess Games
Wow, that's super interesting! Thank you I will look into it!
Labo333··on Show HN: Visualizing Chess Games
Well I meant to make a beautiful poster at first. But you can see what cells were important at what stage of the game!
Labo333··on Show HN: Visualizing Chess Games
Wow, front page!

The current visualization is by far not perfect but it was hard for me to put more information there. Please give your ideas to improve this visualization or make others!

I mostly aimed at making an aesthetically pleasant image that would represent what cells were controlled and moves were used the most.

As for usage examples, it's very easy to see the difference between European and Indian openings (the former advancing in the center and the latter on the sides) and it's quite easy to guess who won by looking at who controlled the most cells last.

On the tech side, this is a single-file, local first, vanilla JS app querying the (non official) chessgames.com API through corsproxy.io (because CORS). Then I draw using svg elements. Finally, I use canvg [^1] to produce png images. The js code is embedded in the HTML so you can read the code just by viewing the source (or look on github [^2]). I also have a Python version that I also maintain to produce the same outputs as the browser version.

[1]: https://github.com/canvg/canvg

[2]: https://github.com/louisabraham/chessviz

Labo333··on The future of kdb+?
I actually quit a quant trading job after 2 weeks because they used kdb+. I could use it but the experience was so bad...

People could complain about abysmal language design or debugging but what I found the most frustration in the coding conventions that they had (or had not), and I think the language and the community play a big role there. But also the company culture: I asked why the code was so poorly documented (no comments, single letter parameters, arcane function names). "We understand it after some time and this way other teams cannot use our ideas."

Overall, their whole stack was outdated and ofc they could not do very interesting things with a tool such as Q. For example, they plotted graphs by copying data from qStudio to Excel...

The only good thing was they did not buy the docker / k8s bs and were deploying directly on servers. It makes sense that quants should be able to fix things in production very quickly but I think it would also make sense for web app developers not to wait 10 minutes (and that's when you have good infra) to see a fix in production.

I have a theory on why quants actually like kdb: it's a good *weapon*. It serves some purpose but I would not call it a *tool* as building with it is tedious. People like that it just works out of the box. But although you can use a sword to drive nails, it is not its purpose.

Continuing on that theory, LISP (especially Racket) would be the best *tool* available as it is not the most powerful language out of the box but allows to build a lot of abstractions with features to modify the language itself. C++ and Python are just great programming languages as you can build good software on them, Python being also a fairly good weapon.

Q might give the illusion of being the best language to explore quant data, but that's just because quants do not invest enough time into building good software and using good tools. When you actually master a Python IDE, you are definitely more productive than any Q programmer.

And don't get me started on performance (the link covers it anyway even though the prose is bad).

Labo333··on Postgres vs. Pinecone
PostgreSQL is Enough https://gist.github.com/cpursley/c8fb81fe8a7e5df038158bdfe0f...
Labo333··on Museum Fatigue
This. An ex girlfriend would get really mad at me because I wanted to make frequent breaks in museums. I wish we had known about Museum Fatigue.
Labo333··on One Million Checkboxes
I'm sorry, I think I made the server crash with the following js code:

    Array.from(document.getElementsByTagName("input")).forEach(e => {e.checked = true})
Labo333··on TinyLetter shut down by Mailchimp, so I built the letterdrop
@dang maybe the title should reflect the originality of the project, aka the fact it's all AI generated?
Labo333··on Solving Probabilistic Tic-Tac-Toe
Author here!

It was such a power trip and blissful experience to discover the game on HN, think about a strategy, implement a solution, write a blog post (thanks again to orlp for his comment here that pointed out a mistake), email igpay (the author of the game), fork the repo, implement the algorithm in C# for Unity (it was my first time using those technologies but ChatGPT was quite helpful), get it merged and finally make it to the front page of HN where all of this started.

Thank you guys, this is why the Internet exists!

Labo333··on Solving Probabilistic Tic-Tac-Toe
Author here!

I'm not sure about the first part

  V(s) = max i (min j V(s, i, j))
It looks like you suppose that j "precommits" to some move. But I'm not fully awake yet so you could be right.
Labo333··on Show HN: Probabilistic Tic-Tac-Toe
oh RIGHT. Gotta fix it
Labo333··on Show HN: Probabilistic Tic-Tac-Toe
I just did: https://louisabraham.github.io/articles/probabilistic-tic-ta...
Labo333··on Show HN: Probabilistic Tic-Tac-Toe
There is an easier way to solve each recursion! I just wrote a blog post on it: https://louisabraham.github.io/articles/probabilistic-tic-ta...
Labo333··on Programming Is Mostly Thinking (2014)
In my experience (slightly tweaked towards data science and AI research), programming is also experimenting, be it playing with the data, testing a new idea or even debugging.

There is a reason why LISPers (I'm not one of them though) praise so much REPL-driven development: the REPL is a laboratory.

Also, how much time did you spend testing a library, looking on the internet how to install it, debugging the weird compiler errors? In the end you found the one option that made everything work but it took you hours of research and experimentation.

Labo333··on Show HN: Invertornot.com – API to enhance your images in dark-mode
Pretty cool! A nice addition would be an in-browser runtime!
Labo333··on Google Scholar PDF Reader
Nothing quite beats a simple google docs file where I can take notes and put links to sci-hub. Very often, legal download links expire after some time or they force the browser to download the pdf.

I have a google docs for each research project and thus I can share them with my collaborators. Each person has their own section within the doc so we can also easily share information with each other!

Labo333··on AI chatbots found to use racist stereotypes even after anti-racism training
TIL there is such a thing as African American English. But until we teach it in school and there are books written in that dialect, it will just be considered incorrect English by the AI, hence the qualification of "lazy" is not illogical.
Labo333··on We hacked Google A.I.
Great article! (shameless plug) As an alternative to "Burp Extension Copy As Python-Requests", I coded this CLI tool that converts HAR to Python Requests code: https://github.com/louisabraham/har2requests
Labo333··on Magika: AI powered fast and efficient file type identification
I wonder what the output will be on polyglot files like run-anywhere binaries produced by cosmopolitan [1]

[1]: https://justine.lol/cosmopolitan/

Labo333··on E-ink is so Retropunk
Side note but I really love my Kobo and its hackability. For example, you can create your own sync mechanisms [0]. And when I say hackable, I mean it: I improved the Dropbox features to use the actual API and not a "public folder" (without JS, it only allows to retrieve a few files).

[0]: https://github.com/fsantini/KoboCloud

Labo333··on Lie still in bed
There is an amazing trick that I now use almost every time I want to sleep: the 4-7-8 breathing method. I don't remember using it and not falling asleep in less than 5 minutes, whatever the stress I was in.

https://edition.cnn.com/2022/09/16/health/4-7-8-breathing-te...

Labo333··on Playing Atari games in OCaml
Is this guy paid by a quant firm to implement classical algorithms that are not directly related to their activity, just for the sake of PR? Sign me in!
Labo333··on A brief history of LLaMA models
Can you explain why they have a "significantly lower energy usage"? Thanks!
Labo333··on I write code 100 hours/week, here's why I probably won't stop
I'm just impressed that they manage to run at a pace of 6 miles per hour (that is 10km/h) while coding...

I don't think I can type or use a mouse while I run, that is not walk – and 10km/h is definitely not a walk. And the sweat!!!

Labo333··on Wine 8.5
I have mixed experience with Wine, most of the times when I tried playing games it was close to impossible to install them. I go for Parallels Desktop those days (kudos to https://github.com/dreamncn/ParallelsDesktopCrack)
← PreviousPage 2 of 7Next →