News for hackers. Stuff that matters.

nikital

Re:How Watches Work on Monday August 09, 2021 @12:36PM (#28119008)
I made a WebGL mechanical clock simulation if anyone wants to look at it in motion: https://clock.leshenko.net/
Re:Writing a firmware-only keylogger on Monday July 05, 2021 @04:58PM (#27741750)
> 8051s love talking to each other after all, otherwise USB would not exist.

Can anyone explain what the author meant by that? I thought 8051 is just an ISA, is there something special there for cross IC communication compared to other ISAs? And what the the connection to USB?

Great presentation! I created something similar — a step-by-step Git implementation that is designed for teaching Git internals:

https://www.leshenko.net/p/ugit/

Re:Microsoft Sculpt Wired Conversion Mod on Wednesday February 24, 2021 @10:06AM (#26250617)
Awesome post! I'm confused about the schematics of the keyboard and I wonder if anybody here might point me in the right direction: The HWB pin is pulled permanently low, so the MCU runs the default USB DFU bootloader on startup/reset. Then the application firmware can be programmed using dfu-programmer.

But what happens after programming, when you unplug the keyboard and plug it back in? Since HWB is still pulled low, doesn't the MCU go back into the DFU bootloader instead of running the application? How does the keyboard run the actual application firmware rather than the bootloader?

Re:Git is too hard on Tuesday November 17, 2020 @09:02AM (#25123797)
> Git is one of those technologies where it's super important to get a good grasp of how to internals work.

I fully agree, that's why I built a tutorial where you learn about Git internals by implementing Git yourself in Python: https://www.leshenko.net/p/ugit/

Looks nice, I wanted to submit a project and I spent time to fill the forms but I was greeted with a login wall after I filled all the details. There was no indication anywhere in the process that it would be required. It made me feel somewhat deceived.

I think it would be more honest towards your users to be upfront that you require login to submit a project.

Re:Show HN: ugit – Learn Git Internals by Building Git in Python on Saturday September 19, 2020 @08:14AM (#24526906)
I've seen people's Git skills improve after I taught them Git internals, but I taught them in a standard lecture format.

I didn't try teaching Git internals using code before, but I hypothesized it would be a good idea, and here is the result :) I'm curious about its effectiveness as well.

Re:Show HN: ugit – Learn Git Internals by Building Git in Python on Saturday September 19, 2020 @02:16AM (#24525564)
> stripped of factors that obscure the lesson

Yes! I'm going to adopt that wording. Originally I tried to do a screencast about guided Git source code exploration but it didn't work because of that reason.

Re:Show HN: ugit – Learn Git Internals by Building Git in Python on Saturday September 19, 2020 @02:07AM (#24525537)
It was custom made for the tutorial. I didn't release it yet because I mostly focused on polishing the tutorial itself and not the code for the interface. Do you think people would be interested in the interface by itself?
Re:Show HN: ugit – Learn Git Internals by Building Git in Python on Saturday September 19, 2020 @02:04AM (#24525520)
I'm happy to hear that! You can clone the tutorial content using the link in the "Download" section. The interface isn't available yet on Github.
Thanks! Note that ugit isn't supposed to be a custom compatible Git implementation, but rather a simplified Git-like implementation for teaching Git concepts. So even if ugit supported packfiles, it still won't be able to read a real Git repo.
Re:Bouncing DVD Logo on Thursday April 16, 2020 @03:55AM (#22887147)
Sure, thanks for doing it! I added a license to the original code.
Re:Bouncing DVD Logo on Wednesday April 15, 2020 @04:44PM (#22882805)
A while ago I made a bouncing DVD logo that would actually hit the corner every few bounces with high probability:

https://nikital.github.io/screensaver

(But then it would troll you just before hitting it)

I think it's important to distinguish between the concept of the init process vs specific implementations of the init process.

The article talks about the init process in general (the process that runs as PID 1 and picks orphaned processes). There are different implementations of init (such as SysV-style, systemd, Upstart etc) but it doesn't make a difference for this article.

Re:Autograms: Self-enumerating Sentences on Friday January 25, 2019 @12:15PM (#19000019)
xkcd has a self-enumerating comic: https://xkcd.com/688/
Re:What Toasters and Distributed Systems Might Have in Common on Tuesday October 23, 2018 @04:42PM (#18287283)
Cool, I made this toy some years ago :) Thanks for the additions, merged your code into the original.
Re:Linux: Introduce restartable sequences system call on Friday June 22, 2018 @04:12AM (#17372341)
No, you can't call syscalls from restartable sequences
Re:Linux: Introduce restartable sequences system call on Friday June 22, 2018 @04:02AM (#17372295)
A restartable sequence is defined by a start and an end offset. If I write a restarable sequence in C I can't be absolutely sure that it's contiguous and I can't know where the commit instruction is...

Does it mean that I have to write it in assembly to make sure that I know where the sequence starts and where it ends?

The module takes an extra reference count to itself upon initialization and never decrements it, so rmmod will fail because the module will be "in use".
I used the kernel module for a few days and didn't notice any problems on a laptop running Fedora.

The kernel module is less that 100 lines long, hopefully it's simple enough to not cause trouble...

According to the article, the self-mapping PTE is randomized in the latest Windows 10.
Re:The Emacs Calculator (2009) on Saturday December 16, 2017 @08:28AM (#15939440)
I would sometimes open the Messages buffer and then repeatedly use M-x quick-calc to evaluate a few expressions. Each result is written to the Messages so I have a log. Dirty but works :)
Re:F.lux v4 on Saturday October 14, 2017 @12:14PM (#15472793)
I have Kobo Aura ONE[1] and it has automatic orange backlight. I'm relatively happy with it even though the lighting is slightly uneven and has barely visible greenish hues at the corners...

[1] https://us.kobobooks.com/products/kobo-aura-one

Re:Ask HN: What is your password management solution? on Saturday July 15, 2017 @11:23AM (#14777093)
> The only downside is no access from my phone.

On Android, I use Password Store to sync my `pass` directory and use it from the phone. It a very high quality app, I had no issues after years of usage.

https://github.com/zeapo/Android-Password-Store

Re:The largest Git repo on Wednesday May 24, 2017 @05:54PM (#14413779)
A pain I have with rebase workflow is that it creates untested commits (because diffs were blindly applied to a new version of the code). If I rebase 100 commits, some of the commits will be subtly broken.

How do you deal with that?

A lot of people in the comments recommend getting a personal domain, but doesn't that just move the single point of failure to the registrar? For example, quoting NameCheap's TOS: "In the event of termination [..], You agree [..] that Namecheap may take control of any domain name associated with the terminated Services." (https://www.namecheap.com/legal/universal/universal-tos.aspx)

A single company can still wipe your online identity. Is there any solution for that? Maybe getting a domain directly from ICANN somehow?

Older »