HNHacker News
TopNewBestAskShowJobs

nbaksalyar

2,567 karma · joined May 3, 2011

Feel free to contact me at nikita.baksalyar@gmail.com (or Twitter @nbaksalyar).

My blog: http://nbaksalyar.github.io/

submissionscomments
nbaksalyar··on Differential Datalog: a programming language for incremental computation
> I watched an hourlong introduction video and could still barely grasp it

I can relate to that. What helped me to understand it though is looking through some projects using Salsa [1] and reading the document about how the Rust compiler uses queries [2]. You might also want to watch the discussion video with Anders Hejlsberg [3] that gives an overview of the problems that Adapton/Salsa try to solve.

[1] https://crates.io/crates/salsa/reverse_dependencies

[2] https://rustc-dev-guide.rust-lang.org/query.html

[3] https://learn.microsoft.com/en-gb/shows/seth-juarez/anders-h...

nbaksalyar··on Ask HN: Which are the most interesting books you have read in 2022?
The Dream Machine by M. Mitchell Waldrop [0].

One of the best books on the history of interactive computing, human-computer interaction, and networking, which are all connected in surprising and fascinating ways.

It's eye-opening how many things we take for granted were invented back in the 60s and 70s – and how many visionary ideas from that time still hold their value in this day and age.

[0] https://press.stripe.com/the-dream-machine

nbaksalyar··on Ask HN: Best path/resource to learn modern C++ in 2022?
C++ Crash Course [0] should be a good start. It will teach you all the important basics without the legacy stuff.

[0] https://nostarch.com/cppcrashcourse

nbaksalyar··on PostgreSQL 14 Internals book – Part II
Yes, the O'Reilly book "Understanding MySQL Internals" [0]

[0] https://www.oreilly.com/library/view/understanding-mysql-int...

nbaksalyar··on Ask HN: Have you had success with improving your reading speed?
> If you're reading a nonfiction book (that you own, obviously), the whole idea of "don't write in the book" is complete bullshit

I'd argue that it's applicable to fiction books, too. :) I love pre-owned books with notes and comments, it feels like you share the experience of reading with someone you might not even know.

nbaksalyar··on Tell HN: I used the same computer since 2007 (with minor upgrades)
> They don't have any more RAM than they did... 10 years ago

What do you mean? Today, building a desktop PC with 64GB or even 128GB of RAM on board is affordable. 10 years ago it was 8GB or 16GB at most.

> They run software that used to run in 0.9ms in 0.72ms and no one cares. It's all instant to me.

Maybe that's true for single-core performance, but nowadays you can get a 16-core CPU at home which I think is mindblowing. It's very beneficial for tasks such as compilation or rendering and can save you minutes (and it adds up).

> The graphics got better, but not hugely so. 2015 GPUs still run... everything

In my opinion, the difference between 2015 and 2022 is quite drastic. You can buy a display with an 8K resolution, 4K + 144hz, QD-OLED. All of these make a huge difference and they weren't available or affordable back in 2015. That's only speaking of productivity; for graphics in games, have you seen Unreal Engine 5 demos? And that's just a start of the next generation!

nbaksalyar··on Rules for Conferences (2019)
> most engaging talks are those that guide the audience to ask interesting questions

100% agree. I gauge my success as a speaker by the quality of questions I get after a talk. :)

nbaksalyar··on Learning modern Linux: A handbook for the cloud native practitioner
Although it's not a book, the Linux documentation [1] is actually very good and does the job of explaining design and architecture of the kernel.

I'd also suggest reading "Unix Internals" by Uresh Vahalia. While this book is from 1995 and it doesn't cover Linux specifically, it's an exceptional resource for understanding how *nix kernels work in general.

[1] https://docs.kernel.org/

nbaksalyar··on Ask HN: How to be a software engineer who works on challenging problems?
Try contributing to open source. You can easily find very interesting and challenging projects and there's always more tasks than people who can work on them. Many projects have great documentation/code comments and welcome new contributors. Also, a lot of people would be happy to explain things to you on mailing lists, IRC, etc.
nbaksalyar··on It's time for an inequality index for cryptocurrencies distribution
> 95% of Bitcoin is owned by 2% of accounts

The problem is, how do you measure this reliably? I'd wager that a large chunk of 95% of Bitcoin is either irrevocably lost or owned by Satoshi (estimate is at "between 750,000 and 1,100,000 bitcoin" -- and arguably these TXs will never be spent).

Simply put, there's no way to differentiate between coins that are just sitting there unspent and coins which no one can access anymore because of lost wallet keys (and there's no shortage of such stories).

nbaksalyar··on The Pleasures of Tsundoku: How I learned to stop worrying and love book piles
There's also a nice concept called an antilibrary [1]:

> The writer Umberto Eco belongs to that small class of scholars who are encyclopedic, insightful, and nondull. He is the owner of a large personal library (containing thirty thousand books), and separates visitors into two categories: those who react with “Wow! Signore professore dottore Eco, what a library you have! How many of these books have you read?” and the others — a very small minority — who get the point that a private library is not an ego-boosting appendage but a research tool. Read books are far less valuable than unread ones. The library should contain as much of what you do not know as your financial means, mortgage rates, and the currently tight real-estate market allows you to put there. You will accumulate more knowledge and more books as you grow older, and the growing number of unread books on the shelves will look at you menacingly. Indeed, the more you know, the larger the rows of unread books. Let us call this collection of unread books an antilibrary.

At least, it's a good excuse to buy more books that one can read. :)

[1] https://www.brainpickings.org/2015/03/24/umberto-eco-antilib...

nbaksalyar··on Spirals, Snowflakes and Trees: Recursion in Pictures
Here's a better link: http://learn.hfm.io/fractals.html (can't edit it anymore, sorry)
nbaksalyar··on Ask HN: Do you use dedicated paper notebooks? For what purpose?
I can barely work and write code without a pen & notebook. It's like a natural extension of a thought process: I draw quick diagrams and take notes to see how ideas are connected, and only then I can start implementing these ideas in code.

I tried taking similar notes in a text file/org-mode, but it didn't work for me because it's not free-flowing and not expressive enough. Probably, an iPad or a tablet with a stylus pen would work just as well, but paper is still easier and cheaper. :)

nbaksalyar··on Learnable Programming (2012)
If you liked this article, you should not ignore Bret Victor's recommendation to read Seymour Papert's "Mindstorms" [1]. Whilst "Learnable Programming" is a critique of programming education approaches, Papert's book can be seen as a critique of the education system. It was truly ahead of this time. This book describes ideas behind Logo/Turtle and its use for teaching programming, but it goes beyond just that - it's more about teaching everything through programming, including maths and geometry.

Shameless plug: I'm also trying to implement these ideas at Low-Level Academy [2], teaching systems programming concepts in a visual way.

[1] http://worrydream.com/refs/Papert%20-%20Mindstorms%201st%20e...

[2] https://lowlvl.org/

nbaksalyar··on Ask HN: How do I improve my command of mathematical language?
I can also highly recommend starting with proofs.

There's a similar book, "How to Prove It: A Structured Approach" by Daniel Velleman. It's one of the best math books I've ever read: it's concise, has excellent examples and exercises, and it teaches the most essential skills (including the mathematical language in question, e.g. the basics of set theory and mathematical logic).

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Thanks for this great list of resources, I might add these links in a section like "Further reading / More resources"!

> these free options are much deeper, comprehensive, and come with extensive coding assignments

There's no doubt that university courses are more deep and comprehensive, but my goal is not to compete with them or replace them, but rather complement them with practical exercises and visual explanations -- just like Khan Academy complements the school maths curriculum, even though thousands of comprehensive and deep books existed for centuries.

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Thank you!

> It's intimidating for someone like myself who is self taught with no CS degree or formal training.

I know what you mean. I don't have a formal training or CS degree either. :)

And I know how scary and complex it can look, but in the end it's not that much harder compared to JavaScript or Web development. It's just different, but just as fun, and my goal here is to show that it doesn't have to be intimidating!

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Yes, but these paths are likely to be loosely connected, i.e. these lessons are designed to be self-contained.

There are some common basic topics, or “prerequisites”, but these will also have their own self-contained “path” / module to explain things like binary numbers or how memory works. It’s also very likely that I’ll do a separate module for Rust as a programming language.

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
> How do you indicate which code is under which license?

You can apply either of these licenses at your choice, that's how it usually works with MIT/Apache. This is to maximize compatibility with other open source licenses. And thanks for the heads-up, I will fix this too.

> Do you plan to add a CONTRIBUTING.md to instruct those who want to help to understand how to start?

Since there's some interest in this, I'm definitely going to add it!

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
> this seems to focus much more on networking.

That's a first module, and I will keep adding more lessons, at least for UNIX process control (fork(2) and friends) and memory allocation.

> Programming from the Ground Up

This looks like a great resource, thanks!

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Thank you!

> Are there ways that others can support this work?

There's one important thing I'd very much like to add: accessibility. I've yet to find a good way to make this work in more environments (e.g., with screen readers).

Other than that, any help would be very much appreciated: translations, code fixes, sponsorship, and, of course, your feedback. :)

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Thank you!

> How can I do that?

You can drop me an email (it's in my profile), I would be happy to help you with this.

nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Thanks! I haven't thought about it, but yeah, since the content is also published under the Creative Commons license, any derivative works would be very welcome. The only catch is that it takes a lot of time to create new lessons. :)
nbaksalyar··on Show HN: Low-Level Academy, an explorable systems programming course
Hey HN,

For the last couple of months, I have been working on a new interactive course to teach systems programming. Basically, it can be described as "Khan Academy for low-level coding". It is built with Rust and it uses WebAssembly and JavaScript to visualize what happens when you run your code. This idea was inspired by Bret Victor's "Learnable Programming", and you can read more about it in the blog [0]. The code is also publicly available [1].

Any feedback is welcome.

Thank you!

[0]: https://lowlvl.org/blog/explorable-programming

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

nbaksalyar··on Laid Off, Now What?
> Before that, you technically had to leave the country the day you were laid off

Interestingly enough, there's a very similar system in place in the United Kingdom (Tier 2 General). Not only you have to leave within 60 days after being laid off, but there's also a "cooling-off period" of 1 year, which means that you can't get a new visa during this period and effectively it resets your time until permanent residence, so you have no option but to start over.

nbaksalyar··on Five Buck Fatigue
If we talk about Patreon and independent creators, I don't think it's a fair comparison because usually most of the content is already offered for free, unlike Netflix which you can't access without paying.
nbaksalyar··on I Just Hit $100k/year On GitHub Sponsors
Prescriptions are also completely free in Scotland. Same for Wales and Northern Ireland, as far as I know.
nbaksalyar··on 5G is perfectly fine
> what is all of this for? Faster downloads of instagram photos?

It’s almost like saying “640kb of memory will be enough for everyone”. :) Instagram, YouTube, and a wealth of other apps which are a large part of our lives now were enabled largely by 3G/4G — speed of data transfer over GPRS/EDGE was just abysmal. And I can’t even imagine what kind of apps we’ll have with lower latencies and higher data transfer rates of 5G.

nbaksalyar··on Kick the Shit Out of Procrastination
I think the main problem with advice on 'how to beat procrastination' is the assumption that everyone is the same. Which is not the case, of course, because people have different sleep patterns, different habits, and different reasons to procrastinate.

There is no one-size-fits-all solution, and one trick or tool that works for me wouldn't necessarily work for you. And it can be really hard to find something that works.

nbaksalyar··on Ask HN: What were the things you did that made the biggest impact at your work?
That's a feature I sorely missed after the demise of the original (pre-Blink) Opera Browser, and one of the reasons I strongly prefer Firefox over Chrome. Thank you so much for this!
← PreviousPage 2 of 5Next →