Recent submissions

Comment · 8 months ago
When I train some leetcode problems, I remember the best solution was the one that optimised cpu (time) instead of memory. Meaning adding data index in memory instead of iterating on the main data structure. I thought, ok, thats fine, it's normal, you can (could) always buy more RAM, but you can't buy more time.

But well, I think there is no right answer and there always be a trade off case by case depending on the context.

Comment · 2 years ago
Im curious on the real cost of the impact of this game had on big co. I remember everybody was playing non stop at work.
Comment · 3 years ago
I try to use it last week to run 10 instances of curl against a webserver.

I was expecting something simple as 'parallel -j10 curl https://whatever' but couldnt find the right syntax in less time that took me to prepare a dirty shell script that did the same.

Comment · 3 years ago
The criticism I have through kafka is the "at-least-once" semantics.

How do you manage exactly-once semantics? If kafka performance is based on reading small batches of 50 messages, in case of crash of the consumer, some of them will be processed twice. Depending on your business logic this may be ok, or may be create a new problem that must be solved farther in the process by adding an external data store.

Comment · 3 years ago
compared to making a module, apart the fact that the module can end in kernel panic (thats my problem), is there any significance performance difference between BPF and kernel modules ?

If my goal is to reduce the cpu cloud bill, is BPF good enough compared to making a kernel module ?

Comment · 3 years ago
Ive heard that 'venv' are very problematic, but honestly, Ive never had a problem. And I used them daily. I understand that it can not be enough on some cases... that don't concern me.

I would recommend to 'python -m venv' and thats all.

Comment · 3 years ago
Reading this point I realize is the one Ive improved last year.

After covid crises, many seniors left, and I find myself being the more senior. There a few others seniors around me, but they have been on the same place all their life, so Im the senior with most different experiences.

I often propose/ask other teams to implement changes that I need. Is often challenging, the are contrary to change. Specially if it comes from somebody outside their current team. I follow this approach:

- I try to convince them, with diplomacy. Often what I request is also good for them.

- If they refuse some _internal_ changes I propose, I live with that. If that issue some day impact me, I will communicate with them by opening a ticket. If they dont work on the ticket, will be a project management problem, not an software engineer problem.

- I limit my interactions with them through their interface (ex: REST API provided by their service). On this point I'm rigorous, because the interface is difficult to change once is used by everybody.

In summary, if they have bad implementations or bad design, I try to contain inside a box. Some day a new guy will be able to solve those internal issues. But I trace a line on the interface they provide, and ask for an interface that make sense.

Comment · 3 years ago
Some real life problems using standard SQL are:

- UPDATE does not return number of rows updated.

- There is no "upsert"

- There is no "merge"

- List all tables and explain command are not standard.

Do you plan to cover them on your project ?

Comment · 4 years ago
I consider SQL imperative. You say exactly how to do what you want, not what do you want.

If we take as example a table with a single row:

In imperative (SQL):

INSERT INTO TABLE1 (name, wage) VALUES ('John','50k');

Then one day John gets a raise:

UPDATE TABLE TABLE1 SET wage = '60k' where name = 'John'

In declarative (pseudo code in yaml):

- table: TABLE1 - name: John wage: 50k

Then one day John gets a raise:

- table: TABLE1

  - name: John

    wage: 60k
Comment · 4 years ago
Im thinking on txt files shared with leaked user and password. On those cases my credentials would not appear.

If somebody focus on hacking _me_, they already have my email, so this measure is not very effective.

Comment · 4 years ago
When using my password manager, I often provide only the password, not the user. In case of data breach they can not be exploited.
Comment · 5 years ago
When I studied compilers back in the university, the subject consist in reading understanding and putting in practice the 'dragon book' (not the full book but a big part of it). We all used flex+yacc and a simplified ASM that was interpreted by some educational software which name I cant remember. The project for the year was to implement a basic compiler language: included if/for loops, function calls, recursivity ... basic stuff but enough as starting point to build something.

Trying to get into LLVM, Id love to find an example done in flex+yacc vs the same done in LLVM.

Comment · 6 years ago
To understand large codebases is my biggest weakness. I would be definitively interested.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton