Kissaki

joined 2 years ago
MODERATOR OF
 

For those familiar with Git terminology:

The simplest way to assemble a triangular workflow is to set the branch’s merge key to a different branch name, like so:

[branch “branch”]
   remote = origin
   merge = refs/heads/default

This will result in the branch pullRef as origin/default, but pushRef as origin/branch, as shown in Figure 9.

Working with triangular forks requires a bit more customization than triangular branches because we are dealing with multiple remotes. […]

[–] [email protected] 6 points 1 day ago (4 children)

Why not? You mean instead of the opposite? There's two "common" coordinate systems with opposing Z.

https://en.wikipedia.org/wiki/Cartesian_coordinate_system#Orientation_and_handedness

[–] [email protected] 2 points 1 day ago (1 children)

Mechanical Windows? I still have Windows 11. How do I upgrade to mechanical Windows?

[–] [email protected] 4 points 1 day ago (2 children)

I changed the cargo home/cache directory so it's easier to clean up. The disk space pollution of Rust is insane.

I did a small project project that resulted in an 8 MB executable. And had dozens of gigabytes to clean up.

Even more confusing was how closing VS Code lead to 11 GBs being freed. I initially had three or four projects open for reference in APIs and API usage. But my primary partition ran full quickly. In the end I used Rover and minimized IDE usage to two instances. And after my work, removed target and cargo build data again so I actually have space to work with on my primary partition.

[–] [email protected] 2 points 1 day ago

I actually prefer this over a bad translation

[–] [email protected] 6 points 1 day ago

speculative execution

Surely it read ahead and had to roll back because it made a wrong prediction. 😏

[–] [email protected] 2 points 2 days ago (1 children)

distro hoping

I too hope on my distros :D

[–] [email protected] 13 points 2 days ago* (last edited 2 days ago) (4 children)

One of the principles of the Pythonic style is: simple is better than complex.

But is it when you consider ambiguity and expressiveness too?

len(mylist) tells me it's definitely a list and not null or whatever. It also tells me the intent of whoever writes the code was checking length.

If it requires a long article to explain, I'd certainly be hesitant to use and prefer. The question is, is it surprising or intuitive that the truthy becomes a length check. What do you want to express with your code. And who will read it, and what expectations and requirements do you want to require of them.

For sequence type objects, such as lists, their truth value is False if they are empty.

[–] [email protected] 6 points 2 days ago (1 children)

While the 2nd approach is not wrong, the first method is considered more Pythonic. Many people don’t agree, but I’ve already put forward my points in a previous article on that debate.

Does Pythonic mean best practice in the python community or "good python"?

If "many people don't agree", how can they claim it to be "pythonic"? Isn't that contradictory?

[–] [email protected] 5 points 2 days ago* (last edited 2 days ago)

adding some clarifications to the winget portions:

However, the graphical windows for the various installed dependencies still show up, making it obvious that all winget is doing is run the regular setup scripts under the hood.

winget does some default best effort of and on common installer tech to show the least UI necessary. If a UI shows up after all, that indicates to me that the manifest (the article talks about Neovim) does not have the appropriate flags included, or that the installer that the publisher uses does not support it.

Most, but not overwhelmingly, of the stuff I install and upgrade does not show installer windows.

which often leaves your computer full of background processes that only exist to routinely check for updates to a lot of programs in the background

The services are not only for updating in the background and unprompted, but also for installing with admin permissions without asking the user for admin. Stuff installed into C:\Program Files is elevated on admin permissions rather than having user modify permissions, which is a security feature. A consequence is that a convenient update process needs a Windows Service that may install them without requiring the user to have and approve elevated permissions.

As a matter of fact, after installing Neovim, there was actually no way to run it!

This may also be an issue of manifest information for instructing the installer, or installer defaults. Or maybe the installer itself does not provide this?

Either way, of course these things are inherent shortcomings and efforts of integrating third party installers. I just wanted to clarify.


Regarding bad winget experiences: I assume this is not the case anymore, but installing a LibreOffice featureversion upgrade leading to an automatic system reboot without warning or confirmation sucked. lol This was relatively early on in the winget release cycles though.

[–] [email protected] 2 points 2 days ago (3 children)

[Nix] allows users to reliably reproduce the same state coming from any other state, which is also used for safe rollbacks.

What does that mean for configuration? How does configuration and customization play into Nix declarations?

I'm thinking of what would usually be in /etc/, and what classic package managers like apt/dpkg would deliver a default of but not replace if already existing. Where you make your specific program and service configuration that is independent of the theoretically immutable package program data.

[–] [email protected] 1 points 2 days ago* (last edited 2 days ago) (1 children)

They were talking about hosting the git repository via sftp - so bare file transfer - a bare repository. And how that was enough for them.

While that is also hosted, and hosted through a service, it's only a file transfer service and hosting.

That means specifically without a hosted service like a forge or gerrit.

Which is why I was interested in how they handle stuff that is usually done through such forges and services / hosted software.

[–] [email protected] 5 points 2 days ago (1 children)

I've always followed the "only one h1 per page" guidance. I had no idea this was a thing.

Seems like a good simplification.

The fact that it is being done and how breaking changes like that are handled is interesting - specifically in the context of messy mixed html parsing and contexts and usage. The least specificity selector :where(h1) is also interesting as guidance.

 

Explicit Assembly References are stand-alone assemblies directly referenced in your project. They are not pulled in through NuGet packages, project references, or the Global Assembly Cache (GAC). These assemblies often represent legacy .NET Framework components, especially those compiled for 32-bit, which are not easily upgraded to modern .NET and may exist outside of package management.

Until now, the Toolbox in the Windows Forms designer only displayed controls sourced from NuGet packages or project references.

 

This first push resulted in NuGet Restore times being cut in half, which was a reasonable stopping point for our work. However, along the way, we realized that a more extensive rewrite could improve performance by a factor of 5x or more.

Written from the perspective of several team members, this entry provides a deep dive into the internals of NuGet, as well as strategies to identify and address performance issues.

 

The Push Notification Hub (PNH) service recently went through significant modernization. We migrated from legacy components like .NET Framework 4.7.2 and custom HTTP server called “RestServer”, to .NET 8 and ASP.NET Core 8. Moreover, for handling outgoing requests, we moved from custom HTTP client/handler called “HttpPooler”, to Polly v8 and SocketsHttpHandler. This article describes the journey thus far and its impact on PNH performance.

Sections: Intro (what is PNH), expectations, measurement, migration phases (concrete tech and measurements), closing thoughts, next steps.

PNH is deriving great benefits from .NET 8. Overall performance improved, as evidenced by the Q-Factor metric, by about 70%. Performance is a major factor for a service like this and will reflect positively in basically all flows on Teams platform that got to do with messaging. The results actually exceeded our expectations by significant margin.

4
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
32
I found commit 0 (github.com)
submitted 1 month ago* (last edited 1 month ago) by [email protected] to c/[email protected]
 

What are the chances of the parent also beginning with seven zeroes?

I suspected author or commit date manipulation. But the commits look entirely like normal commits. So it must be pure chance?

  • 00000003dd63b4c5af111a31269ed8a18d0823fa
  • 0000000ae6a4e242e802c943f465373b70b07469
 

cross-posted from: https://programming.dev/post/27181555

Highlights:

  • Support for Background Jobs
  • Official .deb, .rpm, and .apk packages
  • Custom Command Attributes (@example, @search-terms)
  • std-rfc Module (experiments considered for the std lib)
  • Improvements to LSP
  • Improvements to Reedline Vi-mode
view more: next ›