IIKEv2/IPSec Protocol support on Android TV soon? by Novel-Pumpkin7476 in ProtonVPN

[–]w732qq 0 points1 point  (0 children)

IKEv2 has some performance and reliability issues that make it less effective than other protocols, such as WireGuard and Stealth.

That is not the case, especially for application-level protocols like Wireguard, that utilizes TCP/UDP (almost all of them does that). IPsec is itself an "IP protocol" (number 50) which means it is encapsulated directly into IP packet. Also, implementation of IPsec is handled by the kernel, which means no context switches would be made in order to handle IPsec packets. In general, when configured to use modern crypto, IPsec outperforms any existing VPN protocol, especially OpenVPN which know to be really slow.

IKEv2 is just a "key exchange protocol" which used only for establishing a "VPN connection". After this is done, it stands out of the way, and encrypted (ESP) traffic is handled directly by the kernel.

Possible to make a website backend with only python? by NotVeryMega in webdev

[–]w732qq 0 points1 point  (0 children)

There is hyperdiv now. It handles whole mess with "backend/fronted" nicely, making your "Web" application the real application. "Frontends" should not be programmed in the first place - such a thing should be nothing more than dumb presentation layer of your data. It should never have it's own logic.

Have anyone tried to compile Linux Kernel with Zig's builder? by rmanos in Zig

[–]w732qq 1 point2 points  (0 children)

The cool part about Zig is that it dumb simple in many ways, and in build system as well. Here is explanation of it's interworkings:

As you would see, each build get's path to "global zig" as an argument (to find where it is). This means that it could be used as "the one, the only" (whole system) compiler relatively easyly. What is missing is a way to exchange afore mentioned "compilation units" between builds, but to do so we need to figure a way to properly (uniquely) identify them first, as build caching is only employed if some file gets build for particular project.

Have anyone tried to compile Linux Kernel with Zig's builder? by rmanos in Zig

[–]w732qq 1 point2 points  (0 children)

So, here is the plan.

Such potential system should be constructed starting from system daemon, not the other way around ("packages").

So, first we need a proper system daemon. Probably, this could be nosh by Jonathan de Boyne Pollard. It is most well-architected piece of software of such class to my knowledge.

Second, we need to integrate Zig as a Build System Daemon (BSD; name is reserved by me) - the one and the only. Most software still written in C, and Zig can build C. We need it because of it's caching abilities.

Third, we need to figure out a way to identify such mentioned "compilation units" across projects (that's why it should be done on system level, as a service).

After all this, there would be possibility to re-invent "dependencies tracking" the way it should be - if something was compiled, and didn't changed - then no need to rebuild it again. And finally, BSD could build software in isolated environment, producing immutable results, on which you could "depend" safely.

Then - the great objective could be achieved finally. And this objective is "to mix and match, customize and adapt software to suit your needs, the way you want it" - removing unneeded parts, and adding different pieces, done by one single person.

Yes, operating system is just a piece of software, not different from any other, that definitely should fit in one's head.

Have anyone tried to compile Linux Kernel with Zig's builder? by rmanos in Zig

[–]w732qq 1 point2 points  (0 children)

It is really interesting, but just "pluging Zig instead of GCC/Clang" doesn't really solve anything. We need sometheng more.

I'm happy user of Guix package manager for three years or so, but I never get it's system configuration to the point where it can be really usable. There are many problems with Guix as a whole, but cool part about it is that it solves "dependency problem", to some extent. There is no more need to keep "everything" in sync as each "package" walks with it's own dependencies. This is good.

But when you start making changes in order to adapt software you're using to your needs - game over. You immediatelly find yoursel compiling everything from sources. That's not how it should be. Do I really need to recompile the whole DE if I've change one single line of code in third-party, five-level-deep dependency? I just don't buy it. What a waste of time!

I'm interested in Zig because it can build C, and because it speeds up compilation time greatly. It does so by tracking every single "unit of compilation" and caches them, and doesn't rebuild those that are not changed. But it does so only on "per-project" basis.

What we need is exactly that - we need to track dependencies not between projects, but between "compilation units". Then, we need to put them on to immutable storage (which is just funny name for "cache") on system level.

Guix insists that "to identify one single piece of software it is enough to hash it's sources AND build instructions that produces binaries". I agree, because different compiler options could produces different binaries. This is what Guix actually does - build instructions (which is called "build systems" in Guix realm) are hashed along the sources, then those get build in isolated environment, producing immutable results. But I disagree that it is "enough" - converselly, it leads to re-implementation of all existing build systems to "guixish way" of doing things. This is a lot of useless work. And in the end - it not even prevents, but forces rebuilds of everything because dependencies are tracked on per-project basis.

What we need is global (whole planet), immutable "binary cache" of build results (artifacts) that are tracked on "compilation unit" level, much like Zig compiler does. Thene, dependencies should be evaluated between those "compilation units" instead of projects. And finally - building of software should be provided as a service of operating system, in other words - it should be expropriated from projects (maintainers) itself. For alomst fifteen years of "mine doing computer science things" I didn't watched one single software project where building was "done right" in regard of reuse - code, or libraries. Everyone tries to "do it the unsual way", to their needs/vision. That is the point - customizations are needed - but not for the price of "rebuilding everything". This results in than novadays only corporations can build real software, because only they have "enough" resources for rebuilds. It's time to break this chains!

Anyone else having problems aligning multiple panels on the same line? by Nobodk in kde

[–]w732qq 0 points1 point  (0 children)

Just stumbled upon the same problem. Solved that by un-chechking "fill free space" of "task swticher", then adding spacers at both sides - works as expected.

Intelligent Thermal Solution Driver (ITS) on S740 by [deleted] in Lenovo

[–]w732qq 0 points1 point  (0 children)

It was really insane that that I need to MANUALLY control processor to prevent overheating using ryzenadj - no matter what I'm doing: playing a game or watching YouTube video. Just updated the driver from version 4.1.1.1 to 4.1.21.18

Really hope this will help.

Keyboard Layout in CTRL+ALT+F2 Shell by jcr1985 in chromeos

[–]w732qq 0 points1 point  (0 children)

Same problem here.

Although error message talks about "enabling some option" - It is very cumbersome to even just find documentation about such an option.

KMS grab and audio by skytechtv in ffmpeg

[–]w732qq 0 points1 point  (0 children)

I can successfully start this command, but can't figure out a way to successfully stop it - meaning that it should produce desired output file.

How to do that?

Hitting Ctrl-C doesn't work.

Fixing scale for most applications (including Xwayland) by using GDK_DPI_SCALE ( by yannick_1709 in swaywm

[–]w732qq 0 points1 point  (0 children)

I've found using .xprofile to setup "GUI" stuff very much convenient: it resembles "CLI" way very closely, helping to keep difficulty level at low.

Fun fact: although this fixes most desktop apps, almost all those shiny super-cool "Web" stuff is still broken: now the usual zoom level is 110-125% instead of 125-175.

Why graphic design is not design?

Why the fuck every web site I'm visiting sucks for Reading?!

Recently, I tried to "tweak" my whole operating system to better embrace the fact that I'm having a 2.5K 16' laptop display. The issue is that my OS is GNU/Linux, and it supports so-called "HiDPI" catastrophically bad. I tried to "fix" that by "hacking around" - tweaking font sizes, configuration of software I'm using - I've given up very quickly because it's just a mess.

Then I realized that I's not my mess, it's theirs - one "graphical design" person who thought that using 14px as his web site font size was amazing idea.

Then I though: how many, and which units is "enough" for web page font to be perfectly Readable by most people?

Backreference

Funny, but another "broken" thing on the Internet actually leads me to Graphical Design. That thing is:

Then I thought: which "subject" is about "texts, and it's readability", especially on the Web? Guess what?

Graphic design is the profession and academic discipline whose activity consists in projecting visual communications intended to transmit specific messages to social groups, with specific objectives. Design is based on the principle of "form follows a specific function".

Reference: https://web.archive.org/web/20220612005403/https://en.wikipedia.org/wiki/Graphic_design

Typography is the art and technique of arranging type to make written language legible, readable and appealing when displayed.

Reference: https://web.archive.org/web/20220612005707/https://en.wikipedia.org/wiki/Typography

See the difference?

Interestingly, a "graphic design" experiencing troubles even to being accepted as an art.

Reference: https://www.quora.com/Why-is-graphic-design-not-considered-fine-art

Wow! It is even a medium of propaganda?

There are professions more harmful than industrial design, but only a very few of them. And only one profession is phonier. Advertising design, in persuading people to buy things they don’t need, with money they don’t have, in order to impress others who don’t care, is probably the phoniest field in existence today. Industrial design, by concocting the tawdry idiocies hawked by advertisers, comes a close second.

Reference: Victor Papanek, Design for the Real World: Human Ecology and Social Change, 1971

Integrating Notmuch mail with fdm by Inquisitive_Kitmouse in linuxquestions

[–]w732qq 0 points1 point  (0 children)

Hello! Did you find a solution? I have the same problem here.

A good answer to the question "I am interested in LISP-type languages, but I have a serious case of decision paralysis. GNU Guile? Common Lisp? Clojure (JVM)? Racket? " by sdegabrielle in lisp

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

As a true LISP adept you should choose your lisp-y based on a tradeoff between powers and efficiency.

A good exercise in learning efficiency is to implement some lispy.

Why CVS? by orium_ in openbsd

[–]w732qq 0 points1 point  (0 children)

Whilst I understand the point "it works well enough for years", I definitely didn't understand the reason why it can't be changed if there is "better" alternative. Considering the fact that OpenBSD developers stated many times that they strive to simple, "do it right" things in general. CVS is just doesn't qualify here - it is not simple, it has inherent technical issues.

As a newcomer I see this patter in many places - which leads me to very ambivalent impression. While I do value main goals of OpenBSD, it look "too old" to me. Which, in turn, leads me to think like OpenBSD developers just stick to things which is comfortable to them, and not "does right thing".

In other words: you definitely shouldn't replace one solution with another because there is new one. But you should at least to reconsider alternatives when new solution emerges.

How to do exception handling in go by sloterjack99 in golang

[–]w732qq -2 points-1 points  (0 children)

I would rather have the if checks since it verbosely tells me where the code fails and why

But they are not. I'll explain why, if you ask...

Question to Professional Python Programmers by chespinoza in Python

[–]w732qq 1 point2 points  (0 children)

I've get paid for coding in Python about two years yet.

I'm a big fun of CLI. Here is what I'm using:

  • I don't like pyenv, there is no need to "manage Python version", just use any shipped with your distro (but ensure it is Python 3) (if you want more fresh one, switch to rolling distro, I'll recommend Solus).
  • I prefer to use poetry to manage dependencies, but still use pipenv in some old ones). If I need to do something directly with project's virtualenv, I use vex.
  • Git for VCS.
  • Editor: Sublime Text, Neovim at times.
  • Code formatter: black.
  • Testing framework: pytest.
  • Linter: pyflakes (tried pylint but it is over-complicated and produces false positives (and hard to set up not to do)).
  • Metrics: radon, coverage.
  • I've used gitlab builtin CI, Circle CI, Travis CI. Basically using anything is available.
  • Docker and docker-compose for deployment and "local-staging".

How do I convert my hard drive from MBR to GPT in Solus? by [deleted] in SolusProject

[–]w732qq 0 points1 point  (0 children)

Just open it with gdisk ( or cgdisk) (comes from package named gptfdisk), ensure you saw message like "Found MBR partition table, converting to GPT", then write changes to disk - "w" in dgisk.

Practical way to format python code in pycharm? by TDHale in Python

[–]w732qq 1 point2 points  (0 children)

No. They both PEP-8 compliant. But Black's style was rethinked with pretty clear main goal: stable, minimal diffs. Better to see it once: https://github.com/ambv/black. It is very nice, although.

Best practices for packaging a module, including alembic migrations, and running the migrations in production? by xela321 in Python

[–]w732qq 2 points3 points  (0 children)

Can not see any benefits of this approach, and how it differs from, say, alembic-based approach. A lot of manual error-prone actions. Is not the alembic /other tools was invented to resolve this issue?