HNHacker News
TopNewBestAskShowJobs

wazari972

225 karma · joined November 25, 2011

I'm Kevin from Grenoble area, France. I received my PhD in Computer Science last February (2014) after defending my thesis on ''Programming-Model Centric Interactive Debugging for Multicore Embedded Systems'', in partnership with STMicroelectronics Crolles.

Now I'm post-doc/engineer at University Joseph Fourier, still in the same team, continuing my PhD work as part of the Nano2017 national research project (although debugging and embedded system has (nothing) to do with nano technologies!).

http://blog.0x972.info/?d=2014/09/18/08/55/00-about-me

submissionscomments
wazari972··on The cave divers who went back for their friends
> A 1/10000 chance of certain death doesn't sound like something I'd like to take.

(maybe I was a little bit off, it's more likely that the risk of failure is 1/1000, so sum is 1/1.000.000)

but the point is, it's more risky to drive back home after the weekend than to recreational cave dive, especially with dive fatigue!

wazari972··on The cave divers who went back for their friends
It's surprising to see such an article #1 in HN ... right after a long weekend of cave diving training!

It's a sport that requires a lot of preparation, planning, risk estimation and counter-measures. My hobby cave dives are nothing like such explorations, but the principles are the same.

In the end, when you go diving, the level of risk is close to 0: one regulator may fail (risk around 1/100 if well checked), two won't fail during the same dive (risk of two failures 1/100 x 1/100 = 1/10000 which is negligible--if I got the figure right, I didn't double check! EDIT: it's rather 1/1000 x 1/1000 = 1/1.000.000). And we use two independent air tanks, and with air reserves managed with one regulator fault in mind, as well as the 'little' panic induce by the regulator fault. That's called the 1/4 rule, we use it in France in FFESSM diving organisation.

wazari972··on Ask HN (again): What is the best affordable programmable drone?
I'm really happy with this little drone, the Eachine H8. If you play video games, it's super quick to learn how to control it, and it's very resistant to crashes.

... and now I learn that I can hack the firmware! so for an "affordable programmable drone suitable for children", I think that's the best answer (it's just $14 on banggood). Buy spare batteries though, and maybe with budget < $100, buy two of them :)

wazari972··on Looking back at 9 years of Hacker News
On the graph of total posts over the days of the week, do you know what time and timezone are the peaks? it seems very regular, like if only one/a few timezones where concerned. Do we have such a little posting power in Europe ... ?
wazari972··on Introduction to Hurd translators
This concept of translators looks very similar to FUSE (Filesystem in Userspace) in Linux, I wonder how it differs, is it easier to write?

And how about the context switch cost? being used to Linux, I'd think that the execution flow has to jump back and forth between kernel and user space to call the translators, and again and again if you chain them?

wazari972··on Show HN: A Hand-Drawn QR Code Alternative
I have a travel book [1] with QR-codes that link to video sequences corresponding to that part of the book. Thay maybe the only time I used QR-code!

1: http://oceans.taraexpeditions.org/m/qui-est-tara/les-expedit...

wazari972··on Git-meld-index: Run meld or any Git difftool to interactively stage changes
That looks great, I'll give it a try at work!

Basically, if I understand well, it's a GUI over `git add -p`. Instead of the CLI short diff, you get a `meld` instance that computes the diff between two (virtual) directories, one with the modified files of your git, one with the current index. And like `git -p`, you select what you want to add to the index.

That seems great to have a global vision of modifications, and to be able to navigate between the differents files to remember exactly what belongs to the commit!

I had such a tool in mind since I discovered `git add -p`, thanks for working on it!

wazari972··on Ask HN: How do you familiarize yourself with a new codebase?
I like to use interactive debuggers like gdb (for C) or pdb (for python) for that.

You first have to localize a region (function) you want to study, then you reach one of its execution with a breakpoint, or a conditional breakpoint.

Then, you inspect:

- the callstack: in which condition the function was call

- the parameters / local variables

- the subfunctions: in both tools, you can manually call any (reachable) function, try different parameter values and check the result. Pay attention through to the side effects!

wazari972··on Get rid of boolean function parameters
the problem with the "distinct functions" case is if end up doing this:

  if is_gain: calc_formula_is_gain(a, b)
  else: calc_formula(a, b)
However a completly agree it makes sense with sin/cos functions.
wazari972··on “Thank You” in Hindi and English Mean Very Different Things
that's what I think as well:

- thanks for doing your job correctly, in a manner I appreciate/have nothing to complain against

- thanks because you're not a machine, whereas many people may disdain you and act like they're facing a machine

- thanks because I don't want do give you orders, it's your job to serve me, but nonetheless I don't command you

wazari972··on The File System Paradox (2007)
I think bootloaders for Linux have more stages: the initial problem is the same, but then GRUB loads its configuration from [/boot]/grub2/grub.cfg. If it can load a config file, it can also load FS drivers or hibernation files, and prepare the actual kernel boot more subtlety.
wazari972··on Why people don't use Fedora?
I'm not sure to see the point of the submission here, the only answer to the question I can see is:

> So, I switched to Arch after almost 3 blue years. And the only why left for me is because others do it better!

wazari972··on 9 truths that computer programmers know that most people don't
starting counting at 0 is mainly because

    start + index * offset
points to `start` when `offset` is 0 (ie, array indexing in C and other languages with 'direct' memory access).

Any other reason?

wazari972··on Signing in to websites with SSH
I love the idea, I think I'll implement something like that to automatically log into the few services I host on my webserver: on machine boot and every hours `ssh webserver echo $SOURCE_IP > token`, and on the web app, if token is not too old in source address == $(cat token), then auto login.
wazari972··on Linus Torvalds on semaphores (1999)
it's surprising that Linus answers peacefully and pedagogically ! and thus it's a nice read to refresh the definition of semaphores, spinlocks and mutexes.

Maybe you can edit the title and add a little [199] :-)

wazari972··on Valgrind is much more than a leak checking tool
Nice article, although I'm not convinced by the first example (as is it now, and in first position): detecting uninitialized variables is a job for compilers: `gcc -Wuninitialized -Wmaybe-uninitialized`. That works well within a single scope, as it's the case in the example. In more complex situations, like an uninitialized field inside a linked-list structure, valgrind will be very useful indeed! By the way, `gcc -O0` sets my uninitialized variables to 0 without a warning, and valgrind is happy as well ...
wazari972··on GCC Function Multiversioning
indeed, my bad! to my defense, the code looks a lot like C code ;-)
wazari972··on GCC Function Multiversioning
I wanted to give it a try, but if fails without considering the target attribute ...

> gcc test.c -g > test.c:9:5: error: redefinition of ‘foo’ > int foo () > gcc version 4.9.2 (GCC) (archlinux)

wazari972··on How Does a Debugger Work?
I've updated the article based on you comments, thanks :-) (title more focused, How is Ptrace implemented, What about systems without Ptrace)
wazari972··on How Does a Debugger Work?
I've updated the article with a section on `How is Ptrace implemented?`, I hope it will answer your question!
wazari972··on How Does a Debugger Work?
I never had access to the low-level part of embedded systems, although I did my PhD on embedded systems debugging in an embedded system company! what I saw was what was running on the PC and communicating with the JTAG external interface (basically, a `gdbserver` implementation). At that level, that was nothing more than ptrace. Under that, I can't say!
wazari972··on How Does a Debugger Work?
thanks,

regarding your feedback, I don't see any shadow in FF! The CSS is not mine, and there's indeed a `text-shadow` set for the text so I've removed it. Let me know if it's still bad, and maybe which browser you're using

wazari972··on How Does a Debugger Work?
I'll update the article to explain a bit more why debugging is described in terms of ptrace: all the other targets work the same way! I studied simulators and corefiles, and they both provide to GDB an interface that is very similar to ptrace. Remote debugging just applies serialization to that interface.
wazari972··on Music-Map – a map of music
That's a good database for discovering new music groups, it's pretty accurate for the different bands I know/tried.

It's also interesting to look how the algorithm tries to improve the location of the different names, it seems to something like "I need to be a N pixel from center, and ni for group i, move to adjust and try again"

wazari972··on Email IP Leak Test
My Thunderbird (v31) appears to leak my IP address ... or is it my Postfix server? anyway, it sounds bad regarding anonymity. Is it a configuration problem? my university lab email service has the same issue, so I guess it's a standard configuration ... ? (my mail server says it's Postfix who handled the mail, the one from the lab doesn't leak that)
wazari972··on The Alps seen from the Pyrenees, 381 km away
from the comments on reddit, I landed on this nice website on the same topic [1]

They generate the map of the "visible" panorama from this website [2], but I can't find how they built the KML file that can be seen at the bottom of [1], any idea ? or maybe it's an in-house tool, I can't read Polish !

1: http://www.dalekieobserwacje.eu/alpy-kotyjskie-oraz-nadmorsk...

2: http://www.udeuschle.selfhost.pro/panoramas/makepanoramas_en...

wazari972··on Domain without dot (http://uz)
my company proxy doesn't allow me to see the page, maybe they use the same regex as HN :-/
wazari972··on Real-time lightning map, worldwide
cool, I'm looking forward for this evening's thunderstorm to confirm if it's actually/acurately working :) Average delay appears to be between 3s and 10s here in Europe, but closer to 3s.
wazari972··on The correct abbreviation for Firefox is ‘Fx’, not ‘FF’
I think it's too late to expect any change, the webpage is from 2005, for FF 1.5 ;-)
wazari972··on StackEdit: A free, open-source Markdown editor based on PageDown
isn't that an implementation issue? your example doesn't work indeed in the StackEdit link, but

1. Item one

1. Item two

   1. Subitem a

   1. Subitem b
does work, so that let me think that you just need to improve the parser to consider "a b c" as a valid ordered list, and maybe "i ii iii" at the same time?

(I replaced a, b and 2 by 1 to force the automatic numbering)

← PreviousPage 2 of 3Next →