News for hackers. Stuff that matters.

kirillbobyrev

Re:Analyzing long win streaks in online chess on Wednesday November 29, 2023 @09:51PM (#38468845)
TL;DR I used Monte-Carlo simulations + Elo-based win probability estimation to find the probability of Hikaru and other top players scoring very long win streaks (e.g. 55+ consecutive wins) over a year after Kramnik's allegations that Hikaru Nakamura might have cheated based on a number of performances. Initially I thought such streaks are indeed statistical anomalies, but it turned out to be extremely probable: Hikaru scoring at least 55 wins in a row over a course of 3000+ online blitz 3+0 games this year is about 98.4%

That is likely based on large sample size (3k+ games in 3+0 blitz only this year, 35k blitz games over lifetime just on Chess.com), Hikaru being highly skilled (consistently top 1-2 ranked blitz player both over the board and online) and low opposition rating (as compared to other top 5 blitz players on Chess.com: Magnus Carlsen, Nihal Sarin and Daniel Naroditsky).

There's also a discussion and short summary on Reddit (https://www.reddit.com/r/chess/comments/1873ohw/analyzing_hi...)

Re:Bevy 0.11: ECS-driven game engine built in Rust on Sunday July 09, 2023 @04:05PM (#36658334)
I love Bevy, but I feel like it's still more of a Game Development Library rather than an engine. Godot, on the other hand, looks very nice in terms of user experience: great editor and very easy to understand and use. Will Bevy implement a first-party editor, overhaul of game development experience etc or is the goal to only support these things with third-party plugins and crates?
Re:Godot 4.1 Is Released on Thursday July 06, 2023 @03:07PM (#36621185)
Yeah, I've seen those and I'm happy Godot moves in this direction, but using these tools would steer me away from the "default" and "primary" behavior, I'd potentially face more bugs/awkward development setups.

It might be worth if I'm serious about Game Development and ready to invest time and effort into customizing the tools, but what I'm looking for is "out of the box" experience which will make it easier for me to solve problems that I face (e.g. if I ask questions more people would be able to answer/help), the tutorials/resources I find will be more applicable etc.

As others mentioned in this thread, having first-class support for a language isn't the same as providing API for plugins and custom scripts.

I wish Godot chose a real existing programming language instead of building their own DSL. Even Lua might have been a decent choice, although I hate the syntax.

Re:Godot 4.1 Is Released on Thursday July 06, 2023 @02:13PM (#36620377)
Godot is just AWESOME, I am very impressed with the progress the team makes and the overall direction of the project.

I was always excited about Game Dev (even started learning Computer Science and became a Software Engineer largely because I wanted to make games), dreamed of making my own small games but never really got to it. After I became a full-time Software Engineer, I never really found time or the right tools for making my own small games for fun. I recently discovered Bevy and gave it a try. ECS is a nice concept, but Bevy is more of a library and it's quite hard to make full-featured games using it (just like using SDL/something similar).

When I discovered Godot and gave it a try, I was so impressed: it's really nice for beginners, yet performant enough and has amazing community. This is exactly what I wanted to find, so I'm incredibly happy it exists and am very excited about the future development of Godot.

One thing I wish was different is choosing a different language as the native and "official" one. GDScript is OK and arguably pretty good Python-like language for beginners and rapid prototyping, C# is OK and is probably very nice to have because many people would be happy to switch from Unity, but I personally would be happier with either better C++ support (which I know exists in GDNative interface which was improved in 4.0) or something else.

C# is a fine language, but I have a feeling it has so much presence in GameDev just because of Unity. It's way too verbose and the tooling isn't as good (outside of full Visual Studio which I have no desire to use), but maybe "actual programming" part of GameDev isn't as important and I should just give in/use GDScript.

I collected a large number of awesome resources for myself:

https://github.com/kirillbobyrev/computer-science-resources

> Latex is "typesetting-complete". This language is not, so it's not a replacement.

Based the documentation (and the title), it isn't meant to be _a replacement_, but rather _an alternative_ and that's totally OK. Not everything needs a drop-in replacement.

This looks cool!

I understand that, just like any tool that has sufficiently many users, (La)TeX grew exponentially in terms of the number of features it has. I like the its core, and I also like the ability to write scientific texts somewhat conveniently. I haven't used Typst yet, but it looks to be something I wanted for quite a while: similar convenience to LaTeX and yet much more simplicity.

To be fair, though, Markdown + KaTeX and MathJax are kind of everything I need right now. Jupyter Notebooks can render enough LaTeX formulas for me to use it when I needed it, even in the university when I'm writing some CS algorithm overview/tutorial or need to do some calculations and hand it in with the explanation. Whenever we had labs in Physics I would do all the calculations in Jupyter Notebooks and that actually looked pretty good. And for my personal blog, I just set up the KaTeX + Hugo which I love: the convenience of Markdown + LaTeX is enough.

This being said, I'm sure there are many people who still have to write papers and would find it useful, but at least for me LaTeX is not a standalone tool that I would use anymore.

Also, part of the value that LaTeX has is an enormous amount of templates that I don't understand but I use them because I have to (e.g. when writing a thesis - it has all the right typesetting, formatting and so on) or because they look very good (I still maintain my Resume in LaTeX format. This is hard to replicate or capture with a new system.

Re:At least three Google AI researchers have joined OpenAI on Wednesday February 15, 2023 @12:45AM (#34800535)
That would be 3 trillion, which is really hard to envision.
Re:Apple signs union agreement for Glasgow Apple Store staff on Wednesday February 08, 2023 @03:49PM (#34714869)
I worked in Germany for a while and one of such unions was built at my company. I can't think of a single good thing they did and I remember plenty of ways they made the life of employees worse in ways that looked deliberate. The way the union/council was built looked very bad to me to the point where I completely stopped following the office politics.

I'm not saying this is a bad idea and I certainly don't have enough knowledge of the German system to have an objective assessment, but this looks like another example where the law is produced with good intentions but the implementations of such rules are serving some other purpose.

Other than that, I felt like Germany has incredibly good laws for the workers/employees, the working culture there is very healthy and I like it a lot.

Re:The technology behind GitHub’s new code search on Monday February 06, 2023 @05:07PM (#34685148)
This is exciting! I see a lot of familiar pieces here that propagated from Google's Code Search and I know few people from Code Search went to GitHub, probably specifically to work on this. I always wondered why GitHub didn't invest into a decent code searching features, but I'm happy it finally gets to the State of the Art one step at a time. Some of the folks going to GitHub to work on this I know are just incredible and I have no doubt GitHub's code search will be amazing.

I also worked on something similar to the search engine that is described here for the purposes of making auto-complete fast for C++ in Clangd. That was my intern project back in 2018 and it was very successful in reducing the delays and latencies in the auto-complete pipeline. That project was a lot of fun and was also based on Russ Cox's original Google Code Search trigram index. My implementation of the index is still largely untouched and is a hot path of Clangd. I made a huge effort to document it as much as I can and the code is, I believe, very readable (although I'm obviously very biased because I spent a loot of time with it).

Here is the implementation:

https://github.com/llvm/llvm-project/tree/main/clang-tools-e...

I also wrote a... very long design document about how exactly this works, so if you're interested in understanding the internals of a code search engine, you can check it out:

https://docs.google.com/document/d/1C-A6PGT6TynyaX4PXyExNMiG...

Re:Path to a free, self-taught education in Computer Science on Monday February 06, 2023 @02:24PM (#34682750)
I've seen this before and there are great courses, but most of them cover the basics.

What I tried to find for myself is a bunch of in-depth courses that cover the areas where I'm not as comfortable. I've started collecting some courses (there were especially many in the COVID era simply because the universities recorded the courses anyway and only needed to upload them), books and papers. I didn't aim to get a comprehensive set of resources covering everything or having some specific features, I simply gathered what I thought is interesting for myself:

https://github.com/kirillbobyrev/computer-science-resources

Re:340k people moved out of CA in 2022, most of any state on Saturday December 24, 2022 @01:35PM (#34119675)
The problem is that there is nowhere near as many SWE jobs in other states as in Bay Area. I just moved to the Bay from Munich and I miss Germany a lot, but the career opportunities are here in California. Admittedly, I don’t enjoy my life as much as I did in Munich where I could walk, cycle and enjoy great city life. However, I knew all that before I moved here and it was a calculated decision: the career opportunities I have here are way better than anywhere in the world. If I could live somewhere else and take the career prospects with me, I would definitely consider it. But remote work is not as available as people predicted and IMO it also takes away from the ability to grow in the company in many ways.

Yea, California is overpriced and has many problems, but if one saves here enough then moving anywhere with plenty of savings is very comfortable in the future. There’s nothing wrong with willing to live in other places but there’s a good reason people move to California.

Re:Helix 22.12 on Wednesday December 07, 2022 @01:54AM (#33891457)
Fair enough, but IMO one of the selling points of Helix is sensible defaults (kind of what Neovim was to Vim), so I'm quite torn on on that: modifying (Neo)Vim config all the time doesn't really make me happy anymore.

Maybe my biggest point is the difference in Vim integrations in IDEs vs using Helix outside of that, so not sure if I should switch but maybe I'm just being too lazy.

Re:Helix 22.12 on Wednesday December 07, 2022 @01:09AM (#33891185)
I’m really impressed by Helix and would love to use it, but re-wiring Vim muscle memory developed over a decade or using it feels such a pain. The problem is also not even that if I stop using Helix I’ll have to re-learn Vim bindings, but the fact that I also use Vim bindings whenever I open VSCode, too.

The subtle differences are both good (many things out of Vim work out of the box in Helix) and painful (the ones that don’t give an awkward feeling.

Awkward take on that is that I think if Helix came up a completely different key bindings it would be easier to switch to…

Edit: the differences are not way too dramatic but slightly annoying since many of those are very frequent actions - https://github.com/helix-editor/helix/wiki/Migrating-from-Vi...

Re:BloomTech, previously Lambda School, cuts half of staff on Friday December 02, 2022 @12:09AM (#33827052)
Where _would_ you encourage people to go for similar purpose with higher quality? Are there any particular bootcamps/online schools you think are good?

Some of my friends and family are eager (and IMO perfectly capable) to learn CS and enter the Software Engineering field, so I'm curious what would be a good way for them to do so (without spending 4 years on college again).

Re:Learn Enough C to Survive on Monday October 17, 2022 @02:15AM (#33230280)
I love Rust, but being the most favorite language and being an essential language to know in some sense (read, write, understand) are two different things.

C is primitive and painful to program in for the most part. However, it's at the core of plenty of important things, so having enough knowledge to get around it is crucial.

C is essentially a portable assembler and it's great for a number of tasks. Rust is a general-purpose programming language and it has a vastly different domain of application. Surely, they overlap, in some domains Rust is overtaking C (where C was used more out of necessity/lack of alternatives rather than consciousness). The point is, though, is that there is a domain (not necessarily very big, but very important) where C will very likely stay for a very very long time. At the same time, Rust is great, but not much critical software is written in Rust (yet). It's likely that there will be such software in the future, but I think the consensus is that nobody knows for sure.

Failing to come up with any statement while making awkward allegations in this manner is hardly cool, I think. Especially in the position Magnus is in.
Thanks a lot for posting it! I wanted to blog for quite a while but am too lazy to finish some basic blog setup with my "own theme". Bear looked great and I was upset none of the Hugo themes I looked at were exactly what I wanted. This one does!
Re:SpaceVim 2.0 on Thursday July 07, 2022 @03:35PM (#32018323)
Yes, I was doing that at some point. But then the problem is that

- I work (or rather workED until a month ago) on LSP implementation for C++ (clangd) and I frequently need updates in the client - The client (Neovim LSP client) is being developed quite rapidly

For the reasons above, I did update the LSP plugins and Neovim versions quite a lot. And (in my experience) that is the thing that breaks the most over the past 2-3 years. Everything else is kind of OK, but it doesn't make much sense without the LSP. I could update only some plugins and keep the others at a fixed version, but then overall I'm not getting bug fixes & features which makes me kind of sad (that's why I started building my ultimate (Neo)vim setup in the first place).

I guess I should really stick to just a couple of basic plugins and throw everything else out.

Re:SpaceVim 2.0 on Thursday July 07, 2022 @03:10AM (#32010812)
After almost 10 years of tinkering with Vim and fixing it every time a random extension updates and breaks my whole setup, that would be exactly something I want.
Re:Python 3.11 vs 3.10 performance on Thursday July 07, 2022 @03:09AM (#32010809)
Not saying that there isn't room for improvement but I wouldn't call the Python error messages "cryptic". C++, on the other hand...
Re:Vim 9.0 on Thursday June 30, 2022 @05:52PM (#31939134)
I've spent so much time on configuring my (Neo)vim over the years I wouldn't even be able to estimate it (here it is if you're curious: https://github.com/kirillbobyrev/dotfiles/tree/main/.config/...).

The most important ones lately seem to be the LSP integrations (basically IDE features like autocompletion, go-to-definition etc) and auto-completion managers. But honestly it's been breaking all the time over the last year or so that I code more often in VSCode and maybe it's about time I stop trying to make an ever-improving IDE out of Neovim :(

Neovim project's direction seems to be aligned with making it easier to have IDE-like experience with LSP integration but it's been painful in Neovim. In Vim, it's typically even worse and even harder to set it up.

Overall, I've been using Vim for about 8 years and went from a really simple set-up of "this is just a text editor" down the IDE rabbit hole. I also went for Vim -> Neovim -> Vim -> Neovim and eventual split of the two configs in the end and. I'm thinking about making it much simpler again :D

Are you saying that the employers won't give 170k+ if the disclosed max range is 170k? I highly doubt that, the only change here is that the range that was previously only visible to the hiring managers within the company is now also visible to the candidates. If they could go beyond the internally visible range before, they would surely be able to do it now. The only difference is that before the candidates would have no idea whether they're already maxed out on the given range or if there's still plenty of room to negotiate.
Re:Dwarf Fortress Update – Tutorials and Tooltips on Thursday June 09, 2022 @07:33AM (#31679922)
Oh, is there any new information regarding that?

The one ~9 months ago was a speculation that was later denied by the developers (https://www.reddit.com/r/dwarffortress/comments/poyqir/comme...)

Re:Dwarf Fortress Update – Tutorials and Tooltips on Wednesday June 08, 2022 @03:55PM (#31673112)
That makes a lot of sense, but I feel like Steam's "Early Access" is exactly for that. I can't speak for everyone but I often buy games there just to support the developers and don't expect it to be a success (maybe it turns out to be good, maybe it doesn't; either way, it's too early for a "full experience").

Maybe it changed lately, but plenty of astonishing games came out of "Early Access" while being rather unimpressive (though promising) at first.

Re:Dwarf Fortress Update – Tutorials and Tooltips on Wednesday June 08, 2022 @02:30PM (#31671960)
I really hope they would release the game on Steam soon so that people would just buy the game and the donations won't be necessary.

I understand that they might want to polish it but I'm not sure if polishing is actually worth. The original game has been continuously getting updates IIUC, so it might be totally OK to release sooner and then use the same model in Steam.

Re:“This project will only take 2 hours” on Wednesday November 10, 2021 @07:20AM (#29173863)
That looks like a really nice project idea, does anyone have something else they like giving the students/junior SWEs?
Re:Micro – a modern and intuitive terminal-based text editor on Saturday November 06, 2021 @05:55PM (#29134159)
Because sometimes I can't download binaries from the internet and sometimes... well, I don't have the internet! One scenario for the latter is installing an OS from scratch.

One might call me lazy but I don't want to end up learning multiple editors for different scenarios if the benefits are marginal, especially if I can get away with just one!

Re:Micro – a modern and intuitive terminal-based text editor on Saturday November 06, 2021 @10:13AM (#29130357)
This looks nice but I can't what the target audience and intended usage patterns are. It's somewhere between

1. "simple text editor to use on servers/whenever I need to edit something quickly". That place is taken by nano that is easy enough so that people don't have to learn it, or vim for those who mastered it. In this niche it's important for the editor to be ubiquitous enough and present even on the old machines.

2. Regular day-to-day code editor. Micro has _some_ autocompletion, syntax highlighting etc. But for a modern editor to function, it really needs an LSP client implementation. But this seems to not be happening so far: https://github.com/zyedidia/micro/issues/1138

Micro has some features in each bucket (simplicity, ease of usage vs. IDE-like features) but does not seem to really excel at either.

Older »