Hacker Newsnew | past | comments | ask | show | jobs | submit | iberator's commentslogin

I'm even more lazy. I almost always clone from scratch after merging or after not touching the project for some time. So easy and silly :)

I always forget all the flags and I work with literally just: clone, branch, checkout, push.

(Each feature is a fresh branch tho)


On Android you have stock Digital Wellbeing app.

You can limit many things such us:

Number of notifications per day, Notifications on given hours, nighttime, work time etc, Notifications by application(!), Number of minutes/hours allowed per application before it goes into blocked state till the next day, break or end of work, Priority of notifications, Daily summary of notifications etc etc.

It helped me to cut down mobile screen time from like to 40m.

PS2 : Install Brave browser - it blocks all ads, popups and cookie questions forever. AND it let's you play youtube in the background


Why? There is a low chance of FSB successfully prosecuting you as western Citizen doing illegal/silly things in Telegram.

Big Five of other hand (UK, USA, AUSTRALIA etc) spy network are already working with your western government...

So I would rather be compromised in Russia with 0 chance of extradition there than non 0 to USA, UK GERMANY etc

(Let's say you are producing fake Coco Channel perfumes)


It is well known that secret services of unfriendly countries use material they can get as blackmail. The risk is not getting extradited to Russia, the risk is a Russian agent pressuring someone who works at (say) a defense company to do their bidding.

I'm not big fan of US politics at the moment, but still easily choose US spying over Russia. There is still some difference between these countries.

Imo last good Linux player was... XMMS. Never understood why it went away from most distributions forever.

> Never understood why it went away from most distributions forever.

CADT.

"Because of the release of GNOME 2.0 and 2.2, and the lack of interest in maintainership of GNOME 1.4, the gnome-core product is being closed. If you feel your bug is still of relevance to GNOME 2, please reopen it and refile it against a more appropriate component. Thanks... "

Xmms uses gtk 2 i think. GTK is now at version 4 or 5.


Russia had originally licensed Coca Cola (or Pepsi) like a decade before the fall of the Soviet union!

Stripping nation from nuclear deterrence is suicide: Ukraine did this in 1993. Both missiles, payloads and strategic bombers :/ They had it all... (Reverse engineering some command codes would be trivial as Ukrainians had top tier engineers in the entire Soviet Union).


Context is important here. China is the ENEMY of Taiwan state(as the last Enclave of communist resistance of old white China).

The USA has an act for it: Trading with the enemy etc etc

For different reasons you can't also just hire Iranian citizens straight into Los Alamos or wherever you are making plutonium nowadays.

National security > profits


AI takes jobs faster than creating new ones.

That's the problem.


You should check out:

- Core memory - Drum memory - Bubble memory - Mercury delay line memory - Magnetic type memory :P

And probably many more. Remember that computers don't even need to be digital!


This stores a whole scanline https://www.youtube.com/watch?v=bsk4WWtRx6M. This or something similar was in almost any decent color TV except for the oldest.

> computers don't even need to be digital!

or electric.


This can be deadly :/ just wow

Many fun things can be.

Yup. Just compile it as static executable. Static binaries are very undervalued imo.

As TFA points out at the beginning, it's not so simple if you want to use the GPU.

The "just" is doing a lot of heavylifting here (as detailed in the article), especially for anything that's not a trivial cmdline tool.

In my experience it seems to be an issue caused by optimizations in legacy code that relied on dlopen to implement a plugin system, or help with startup, since you could lazy load said plugins on demand and start faster.

If you forego the requirement of a runtime plugin system, is there anything realistically preventing greenfield projects from just being fully statically linked, assuming their dependencies dont rely on dlopen ?


It becomes tricky when you need to use system DLLs like X11 or GL/Vulkan (so you need to use the 'hacks' described in the article to work around that) - the problem is that those system DLLs then bring a dynamically linked glibc into the process, so suddenly you have two C stdlibs running side by side and the question is whether this works just fine or causes subtle breakage under the hood (e.g. the reason why MUSL doesn't implement dlopen).

E.g. in my experience: command line tools are fine to link statically with MUSL, but as soon as you need a window and 3D rendering it's not worth the hassle.


X11 actually has a stable wire protocol so you don't strictly need any dynamic libraries for that - it's just that no one bothers because if you want X11 then you most likely also want GPU access where you do need to load hardware-specific libraries.

Ack. I went down that rabbit hole to "just" build a static Python: https://beza1e1.tuxen.de/python_bazel.html

We had a time when static binaries where pretty much the only thing we had available.

Here is an idea, lets go back to pure UNIX distros using static binaries with OS IPC for any kind of application dynamism, I bet it will work out great, after all it did for several years.

Got to put that RAM to use.


The thing with static linking is that it enables aggressive dead code elimination (e.g. DLL are a hard optimization barrier).

Even with multiple processes sharing the same DLL I would be surprised if the alternative of those processes only containing the code they actually need would increase RAM usage dramatically, especially since most processes that run in the background on a typical Linux system wouldn't event even need to go through glibc but could talk directly to the syscall interface.

DLLs are fine as operating system interface as long as they are stable (e.g. Windows does it right, glibc doesn't). But apart from operating system interfaces and plugins, overusing dynamic linking just doesn't make a lot of sense (like on most Linux systems with their package managers).


While at the same time it prevents extending applications, the alternatives being multiple processes using OS IPC, all of them much slower and heavier on resources than an indirect call on a dynamic library.

We started there in computing history, and outside Linux where this desire to go to the past prevails, moved on to better ways including on other UNIX systems.


I've been static linking my executables for years. The downside, that you might end up with an outdated library, is no match for the upsite: just take the binary and run it. As long as you're the only user of the system and the code is your own you're going to be just fine.

I don't think dynamic libraries fail at "utilizing" any available RAM.

Think of any program that uses dynamic libraries as extension mechanism, and now replace it with standard UNIX processes, each using any form of UNIX IPC to talk with the host process instead.

In theory there might be a different RAM usage with the two approaches. In practice there is not.

And your measurements are available where?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: