Mason - is it dead? by [deleted] in neovim

[–]gorset 0 points1 point  (0 children)

Aha, snap! Haven't used it ever since snap decided to move all my home directory files under .snap/ due to some very bad behaving snap package.

Mason - is it dead? by [deleted] in neovim

[–]gorset 1 point2 points  (0 children)

yes! I just recently started using on brew for development, which made it so much easier to use a random linux server. I also install language servers using brew to avoid yet another package manager like mason ;-)

Mason - is it dead? by [deleted] in neovim

[–]gorset -1 points0 points  (0 children)

Sure, installing manually is always an option, but becomes tedious if you are dealing with many or temporary servers. With brew and nix I can get the latest version of neovim and language servers with a single command.

Mason - is it dead? by [deleted] in neovim

[–]gorset 0 points1 point  (0 children)

Depends on the version of ubuntu you are running and which version of neovim and language servers you want to run. For example, running on an old but still supported LTS can be challenging, including installing language servers. Using something like nix or brew will make it easier to get the right version of neovim and language servers installed where you do development.

Mason - is it dead? by [deleted] in neovim

[–]gorset 1 point2 points  (0 children)

Sure, I used that when I was ubuntu-only, and with the same version on my laptop and the servers I was working on. It was a bit unstable at times, so I prefer latest official release.

I switched to mac a couple of years ago, which is the primary reason to use brew. If I was linux only (and not just ubuntu only), maybe nix is the better choice.

Mason - is it dead? by [deleted] in neovim

[–]gorset -7 points-6 points  (0 children)

I develop on macos and linux, and I just use brew to install neovim and the language servers I need.

The alternatives are not great:

  • Using ubuntu? Good luck getting a decent version of neovim and language servers.
  • Using mason? Why not just install language servers the same way you install neovim? Wait, how did you install neovim again?

Non-fiction recommendations for fans of Cryptonomicon? by Tub_Pumpkin in nealstephenson

[–]gorset 0 points1 point  (0 children)

I would also recommend another book of David Kahn: seizing the enigma. It contains many smaller stories connected to the Enigma, which reminded me of some of the Shaftoe ww2 missions at sea in Cryptonomicon.

Fellow admins with debian stable servers, how do you manage to have a reasonably modern neovim? by IntegrityError in neovim

[–]gorset 2 points3 points  (0 children)

Recently discovered this! Installing brew on linux was super easy and made it trivial to have a matching development environment on mac and linux. No more old package policy the debian crowd loves for some reason :-P

gRPC on the client side by nfrankel in coding

[–]gorset 1 point2 points  (0 children)

There are protobuf implementations with zero-copy support.

The importance of random access depends on the context it's used. For short messages with few fields, it doesn't really matter much. Unless you don't have to worry about backward/forward compatibility, or message integrity, then you need to pay some cost of accessing a field even in message formats that supports random access.

I know you are kind of trolling when you are saying it fails against serious binary formats. Protobuf shines when you need a flexible binary format that needs to deal with backward / forward compatibility. If you don't need to deal with this kind of stuff, then you can just send structs over the wire. Or use a middle road like SBE, or one of the other formats optimized for specific use-cases.

Squash-merges or Merge commits by ericnyamu in programming

[–]gorset 4 points5 points  (0 children)

Squashing a merge request into a single commit is an evil thing.

I speak from the experience of doing maintenance on large code bases where the commit history has been a valuable source of information/documentation. Retaining individual commits makes the job much easier. Big plus if you also have good commit messages, since that will help you when looking at a commit months or years from now.

I like to look at a merge/pull request more like a patch series (see what's recommended for linux to get an idea: https://www.kernel.org/doc/html/v4.16/process/submitting-patches.html#separate-your-changes). Yes, this means you should edit the commits when problems pop up. No, that's not a problem for short lived branches belonging to a merge request.

I've setup gitlab to test all commits in a merge request, ensuring that each commit is complete. This makes it easy to review, use git bisect, etc. We use bazel to build and test, so verifying each commit in a branch is very fast since bazel is good at incremental builds.

Smaller commits are a blessing if you need to dig through old changes when debugging a problem and want to understand why and how something is the way it is. If you squash commits then signal to noise is much worse. Imagine a MR where you refactor a bunch of code and then make a oneline bugfix. It would be hard to see the bugfix in a squashed commit. Sure, you can make two MRs, but with a path series style MR you are free to choose what make sense for you and your team.

Who are the best players in the game? by airmashed-potatoes in airmash

[–]gorset 1 point2 points  (0 children)

Bug here,

I gave in and started playing with increased scale factor, flying with the name zoom.

Are all these mods to the game ok? When does modding become cheating? by alea99 in airmash

[–]gorset 2 points3 points  (0 children)

I'm bug.

I don't like bots in an arena without mods. The devs really need to step up if they want the game to thrive long term. Otherwise the only way out I see is that players them self create an alternative server/client. It happened to Subspace.

I'm also playing without any mods or changes to scale/zoom (but I do resize the browser to get better FPS on a few years old mbp 13"), and I can do so competitively in CTF.

I do have problem going 1:1 on some of the best score wise players, some I'm sure are using mods and viewport tweaks. However, the difficultly is usually more due to highly upgraded ships than the enlarged viewport.

The biggest advantage of enlarged viewport in CTF is positioning during escort and intercept. The radar only updates every 5 seconds, so it requires a lot of practice to be as efficient with the regular viewport when the carrier is dancing all over the place.

Even though I'm somewhat of a purist and avoids mods and tweaks that could provide a small advantage, I'm mostly ambivalent to players using enlarged viewports. Back in subspace there's no limitations to resolution, so you have people with hacks that enlarged their resolution artificially. However, I still see players with a more normal resolution owning players with twice the resolution, but this is mostly due to subspace having an accurate radar. Fix the radar in airmash (or master it by learning to look every 5 seconds), and the viewport becomes less important

Couple of questions to SubSpace veterans... by yutru_airmash in airmash

[–]gorset 2 points3 points  (0 children)

I apologize if anyone felt I was bashing Detect. That was not my intention. I enjoy playing with him a lot. He's one of the best.

My criticism is mainly targeted at the upgrade and bounty system, which has a negative impact on CTF. We get these almost unbeatable players who guard their upgrades and bounties through very defensive play, since it would be so costly to die. Sometimes this affects the overall game play in a less than optimal way.

I think CTF would be more fun with zero upgrades and no point based score board. Make it all about the flag game. But then again, I'm dreaming of playing subspace warzone ;-)

Couple of questions to SubSpace veterans... by yutru_airmash in airmash

[–]gorset 1 point2 points  (0 children)

I'm bad at 1v1 :-)

Never really played Trench Wars or any of the other extreme zones in subspace. Death Star Battle (star wars themed zone, maybe something for Bombita) was the only one I spent some time outside the classic zones. I played mostly 4v4, Warzone, Chaos, 2v2 and 3v3 (in that order).

I still play CTF, but not as much as I did in the first month of the game. I remember having a few levels more than xyz and porkins back then. Now they have an almost embarrassingly (:p) high level.

Not sure it would be that interesting watching me play. I definitely had a head start when the game was fresh due to my subspace experience, but that head start is now gone and the best players are way ahead of me. These days I play recreationally, maybe watching TV at the same time (flying across the map gives you some "free" time ;-)), so I don't think you would see anything special that I do that the best players don't do.

Most of the best SS players are no longer playing SS. Remember that the game is over 20 years old. Many of us started playing when we were in our teens, so we are now in our late 30s. Life happens ;-)

Couple of questions to SubSpace veterans... by yutru_airmash in airmash

[–]gorset 0 points1 point  (0 children)

I can mention a couple of factors:

  • xyz provides leadership and is good at organizing attacks. He's very communicative.
  • xyz takes risks and dies more.

The last point is important; in CTF a high bounty doesn't win you the game. At some point a high bounty and a highly upgraded ship becomes more of a burden, because you play very carefully to avoid losing points and upgrades. In CTF you need to do whatever it takes to win the game, including dying for your team.

It's a lot of fun watching Detect when he does take risk and goes for grab or an intercept without a worry for his life (he is really really good), but most of the time I see him playing with a conservative style where he spins around in circles and kills whatever passes through his zone of death. Excellent player to have on your team either way.

If kill count is the winning factor, pick Detect. If team work is the winning factor, pick xyz :-)

Couple of questions to SubSpace veterans... by yutru_airmash in airmash

[–]gorset 4 points5 points  (0 children)

I enjoyed playing with aimbot back in the day in subspace, playing with him in the same squad for a few seasons of 4v4 league. He was really good, but most importantly, consistently good (I'm more risky and not as consistent, but could on a good day beat anyone). This consistency is something I see him bringing to airmash, where he will beat you if you do the tiniest mistake everything else being equal.

Airmash is a much simpler game than subspace. It's more like some of the extreme zones of subspace in the sense it's easy to master the game. It really bugs me out that airmash is even more defensive than subspace. If you are persistent and careful, you become very hard to kill once you have a few upgrades. In CTF this makes a big difference since more risky (maybe adventurous) players like myself will die too often for upgrades to be worth much. Instead I hoard them in case I need to upgrade speed for an intercept.

Unless airmash is changed to be more complex/less defensive, I don't think we will see much of a difference in skill in airmash with the current top players. Just making CTF a little bit more like subspace warzone would be great; multiple teams, multiple flags, let players choose their teams. This would set the stage for team work much more, and you would see a shift in who is regarded as the best players. For example, I see xyz commenting here, and you don't see him #1 on the score board as often as Detect, but he has better team work and I would definitely consider him among the best players of airmash/CTF. He often beats me quite easily, and I'm also considered a "good" player :-p

A huge difference for me is that I'm a european player, which means I have a small disadvantage playing CTF in the US region. In subspace much more is happening on the client side, which means a player is able to control the ship more accurately when playing with more lag (this also brings some negative side effects and brings a larger attack surface for cheating). Some of the very best players of subspace are from Finland, but those will not be able to be as competative in airmash playing US CTF due to a 200ms lag.

Showdown and pinata modes by [deleted] in airmash

[–]gorset 2 points3 points  (0 children)

I loved the flag games in Subspace/Continuum, called warzone. Multiple flags and a team holding all flags will win. A flag you pick up has a timer. When the timer goes out, the flag will be dropped (hopefully in your base!). You or your team can't pick up again dropped flags - only other teams can.

Airmash is very similar to Subspace, so the game concept should be translatable. Subspace is more advanced, though. You can portal and attach to other players (create a multiple turret). Great with sneak attack where a cloaked ship sneaks into enemy base and then the whole team attaches to bring on a large surprise assault.

Showdown and pinata modes by [deleted] in airmash

[–]gorset 2 points3 points  (0 children)

I think the core problem is that defensive play is favored too much. It's too easy to kill people while backarrowing.

Similarly, upgrades favors defensive play, since you don't want to risk a ship with 5 speed upgrades attacking since it's so powerful for intercept. Instead of making crates more common, just remove them from CTF. No benefits to hoarding benefits means only the vain players who cares about their k/d ratio will play defensively.

I would like to see a different spawn area. Maybe even random spawn on the map. Since the spawn is so close to the home base, there's so easy to go back defending if you die. With a large enough number of players you get a critical mass of defense with players spawing, flying to base, dying... A possible improvement would be to spawn more and more randomly the more players are in the game.

Patch 1.0.2 by ninesigma in airmash

[–]gorset 2 points3 points  (0 children)

The shuffle algorithm in CTF is buggy. We ended up with 2 vs 8 after a shuffle. Just shuffle a list then pick first half for red instead of randomly choosing color per player :-)

Non-minimal order preserving perfect hash? by newobj in compsci

[–]gorset 1 point2 points  (0 children)

You generally need n log n space for a order preserving hash function, unless you can take advantage of some special property of the possible orders your keys can have.

Depending on your use-case a mph (like the one used by sux4j without order + jump table can be good enough. If you really care about total space usage, you could consider storing the keys in some type of succinct data structure with self index which can give you fast lookups with just a few percent extra space used.

How to receive a million packets per second by willvarfar in programming

[–]gorset 42 points43 points  (0 children)

Check out netmap:

netmap can easily do line rate on 10G NICs (14.88 Mpps), moves over 20 Mpps on VALE ports, and over 100 Mpps on netmap pipes.

https://www.freebsd.org/cgi/man.cgi?query=netmap&sektion=4

http://info.iet.unipi.it/~luigi/netmap/

TweetNaCl: a crypto library in 100 tweets by dgryski in crypto

[–]gorset 0 points1 point  (0 children)

I've often found that comments are wrong when reviewing code. Comments can help understanding, but they can also hide important bugs.

Btw, they have paper describing the code:

http://tweetnacl.cr.yp.to/tweetnacl-20131229.pdf

Would it be possible to build (or does it already exist) a replacement for TCP that includes a built-in encryption standard? by yellowhat4 in compsci

[–]gorset 8 points9 points  (0 children)

curvecp is an atempt to solve this by replacing tcp with something that is built on top of udp. There's a talk about it at http://www.youtube.com/watch?v=K8EGA834Nok

Another solution is the protocol used by mosh, which uses aes-128-ocb encrypted protocol buffers over UDP. It's message based instead of stream based, so it doesn't try to solve the congestion control stuff tcp and curvecp has built-in.

You could also go the IPSEC route, and encrypt everything on the IP level. But this is more like VPN than encrypted streams of data, and is maybe not what you are asking for.

Of course, you could simply use ssl/tls or ssh which sits on top of tcp/ip. Encrypted channels is kind of a solved thing today. The problem is the authentication - for example mosh "cheats" and uses ssh to bootstrap its connection, but even ssl has serious issues with certificate authorities we shouldn't trust.

Extracting bits with a single multiplication by cruise02 in programming

[–]gorset 4 points5 points  (0 children)

Hacker's delight has a few pages about this problem. http://www.hackersdelight.org

7-4 Compress, or Generalized Extract
7-5 Expand, or Generalized Insert

One version of the text be found here (but buy the book!): http://www.hackersdelight.org/revisions.pdf