June 27, 2025
Another Linux lie: we have XMPP server
Genius is as genius does, always as a degenerate. Such is the Ignite OpenFire development "team" who know no difference between logging and tracing. Their logs are always trace files filled with stack traces that no one is interested in. After they've been repeatedly told not to dump traces on their admin users, by several of them. It must be pathological sadistic tendencies of FOSS developers that make them torture their users, who knows.
Dudes, I'll gladly pile on and tell you once again: if you consider the error normal, don't dump a stack trace into the log. If you do not consider it normal, then investigate and resolve it. By the sheer volume of socket_c2s-thread-16]: org.jivesoftware.openfire.nio.NettyConnection - Problem during connection close or cleanup I gather that it is normal operation of OpenFire to throw thousands of them in one day. But each is accompanied by gigantic stack trace:
2025.06.27 06:48:47.186 ESC[1;31mERRORESC[m [socket_c2s-thread-16]: org.jivesoftware.openfire.nio.NettyConnection - Problem during connection close or cleanup
io.netty.handler.ssl.SslClosedEngineException: SSLEngine closed already
at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:906) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.handler.ssl.SslHandler.wrapAndFlush(SslHandler.java:822) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.handler.ssl.SslHandler.flush(SslHandler.java:803) ~[netty-handler-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:941) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush(AbstractChannelHandlerContext.java:921) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.flush(AbstractChannelHandlerContext.java:907) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.ChannelOutboundHandlerAdapter.flush(ChannelOutboundHandlerAdapter.java:125) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeFlush0(AbstractChannelHandlerContext.java:939) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:957) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.write(AbstractChannelHandlerContext.java:982) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:950) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.writeAndFlush(AbstractChannelHandlerContext.java:1000) ~[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at org.jivesoftware.openfire.nio.NettyConnection.close(NettyConnection.java:215) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.Connection.close(Connection.java:177) [xmppserver-4.9.2.jar:4.9.2]
at org.jivesoftware.openfire.nio.NettyConnectionHandler.channelUnregistered(NettyConnectionHandler.java:163) [xmppserver-4.9.2.jar:4.9.2]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:217) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:195) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelUnregistered(AbstractChannelHandlerContext.java:18
[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelUnregistered(DefaultChannelPipeline.java:138
[netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:215) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelUnregistered(AbstractChannelHandlerContext.java:195) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelUnregistered(DefaultChannelPipeline.java:821) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.AbstractChannel$AbstractUnsafe$7.run(AbstractChannel.java:821) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:566) [netty-transport-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.108.Final.jar:4.1.108.Final]
at java.lang.Thread.run(Thread.java:840) [?
]
And there is no way to turn this off. Due to this idiotic choice made by them, OpenFire logs grow to tens of MB in only a few days, wearing our SSDs and filling VM storage with useless trash. Only a genius would do nothing about this, for years, out of best intentions of course.
All of you, FOSS degenerates, come across as this: inconsiderate, sadistic savages. I already shred every resume that mentions FOSS experience. More of this is coming.
Posted by: LinuxLies at
10:07 AM
| No Comments
| Add Comment
Post contains 331 words, total size 6 kb.
June 26, 2025
Introducing Raymond Chen's new book "How to Evade Questions"
In his blog post If you want to set a thread's apartment model via Thread.CurrentThread.ApartmentState, you need to act quickly, this wonderful, wonderful individual, Raymond Chen, said so much and nothing at the same time. Much of veiled explaining, nothing of solution.
The solution is simple, but none of John Skeet, Stepehen Cleary or this Chen dude mention it because they are up to no good: they saw confusion, not knowledge. I saw knowledge in their stead:
var thread = new Thread(() => Clipboard.SetText("your text"));
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
This is it. 4 lines of code that solve all of the STA thread chicanery and shenanigans caused by Microsoft's knowingly and intentionally disobeying the user's [STAThread] attribute on the Main(). Enjoy!
Were it not static, you could create extension methods on Clipboard class and name them along the lines of SetTextSTA or overload them with another parameter ApartmentState apartmentState = ApartmentState.STA and pass default to all of your existing calls. But MS knows better.
Posted by: LinuxLies at
08:33 PM
| No Comments
| Add Comment
Post contains 180 words, total size 1 kb.
June 07, 2025
Idiots everywhere, and they deem themselves geniuses
Enter OPNsense, a better alternative to PFSense.
It's better, but it's still idiotic and here's why.
General trend in OPNsense admin UI is to use a bar at the top for the filtering, i.e. you have a drop-down for the domain and a text box next to it with a plus sign. That plus sign usually adds the entered text to a list of filters. Except the alias diagnostics form where it adds the text to the alias's list of items without any confirmation.
So imagine a network admin diagnosing a oh, so common issue with a GeoIP failure whereby an IP address is allowed through a blocking rule despite it not belonging to an allowed country or the other way around, and you want to search for an IP or subnet but instead OPNsense adds that to the list. FUCK! You've just explicitly allowed an address that is supposed to be blocked or blocked the one that has to be allowed.
Thank you, geniuses! Genius is as genius does: always as a degenerate.
Posted by: LinuxLies at
10:37 AM
| No Comments
| Add Comment
Post contains 188 words, total size 1 kb.
If you are not malicious, you have nothing to hide. So, they are because they do.
At "I remember your chap Lenin very well. First class organizer. Second class mind." (c) James Bond. This is true about every one of these turds because they go out of their way to be pests and make users' lives miserable.
#identify_fedora!
Posted by: LinuxLies at
07:04 AM
| No Comments
| Add Comment
Post contains 110 words, total size 1 kb.
June 02, 2025
User beware: GNote no longer supports tab character
Net-new in the last month's releases: broken Gnote. It used to work with Tab. It no longer does. Do not upgrade if you value your sanity.
Why are they hell-bent on screwing us over? Why do they insist on being our enemies? Did not we have enough?
Posted by: LinuxLies at
05:25 PM
| No Comments
| Add Comment
Post contains 63 words, total size 1 kb.
I knew they were mad. Now they are mad^2.
That French fascist Yan Leboulanger or whatever his name is went bat-shit-crazy around 2018, and we stopped using his Gajim. Today I d/led and installed it, just for giggles. Guess what? You guess right: nothing good.
There is no longer connection override in account settings, which is a new fad among IM "developers". If your login is name@domain.suffix, you can no longer override the server to whatever IP address aa.bb.cc.dd. This is a genius idea if you think about it: install and configure DNS you must, young Skywalker.
Back to the trashcan it goes.
Posted by: LinuxLies at
04:12 PM
| No Comments
| Add Comment
Post contains 112 words, total size 1 kb.
June 01, 2025
Another Linux lie: we have non-linear video editing
Truth is: you don't. You can't even release a working application.
$ pitivi ** (pitivi:96443): WARNING **: 22:14:38.214: Failed to load shared library 'libges-1.0.so.0' referenced by the typelib: /lib64/libges-1.0.so.0: undefined symbol: gst_structure_serialize_full Failed to initialize modules Traceback (most recent call last): File "/usr/bin/pitivi", line 158, in_initialize_modules() File "/usr/bin/pitivi", line 129, in _initialize_modules initialize_modules() File "/usr/lib64/python3.12/site-packages/pitivi/check.py", line 417, in initialize_modules from gi.repository import GES File " ", line 1360, in _find_and_load File " ", line 1331, in _find_and_load_unlocked File " ", line 921, in _load_unlocked File " ", line 813, in module_from_spec File "/usr/lib64/python3.12/site-packages/gi/importer.py", line 147, in create_module dynamic_module = load_overrides(introspection_module) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/overrides/__init__.py", line 112, in load_overrides override_mod = importlib.import_module(override_package_name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/importlib/__init__.py", line 90, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/overrides/GES.py", line 58, in __prev_set_child_property = GES.TimelineElement.set_child_property ^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/module.py", line 177, in __getattr__ interfaces = tuple(interface for interface in get_interfaces_for_object(info) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/module.py", line 99, in get_interfaces_for_object interfaces.append(getattr(module, name)) ^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/overrides/__init__.py", line 31, in __getattr__ return getattr(self._introspection_module, name) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/module.py", line 217, in __getattr__ wrapper = metaclass(name, bases, dict_) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.12/site-packages/gi/types.py", line 247, in __init__ register_interface_info(cls.__info__.get_g_type()) TypeError: must be an interface
Do you, dumb assholes, ever test anything?
Posted by: LinuxLies at
09:19 PM
| No Comments
| Add Comment
Post contains 208 words, total size 3 kb.
32 queries taking 0.1878 seconds, 156 records returned.
Powered by Minx 1.1.6c-pink.








