February 19, 2024

The definition of 'dumb cun#'

The definition of 'dumb cun#'

For anyone who reads my blog it is not a secret that Wordpress developers in general and plugin developers in particular are dumb cunt#s. Here is the clear, telltale definition that explains why they are that and how I know it: read this article.

How To Resend WordPress Activation Email to a New User

It is structured as a typical 'howto' article on the web: it begins with the explanations of what Wordpress, email, and activation are (as if we did not know it when we googled for 'resend email activation' and clicked on that link).

In typical know-it-all superiority complex afflicted arrogance of FOSS developers they bestow upon thee the sacred knowledge of those concepts... for the total of a dozen of pages... only to direct you to a link hidden deep within the bowels of WP Mail SMTP plugin. Yes, I am serious: it is the bullet #5 on their list of blatantly obvious 'Wordpress 101 for dummies'-styled essay.

Seriously, dumb cun#s? You could not put a 'Resend activation email' link on a user entry in the user list? Who are dumb then, you or we?

Icing on the cake: did you know that 'Email log' is a paid feature in WP Mail SMTP? Extortion anyone? 'It is a nice site you have here. We do not want anything to happen to it.' Sounds familiar? So, WP fails to send activation emails to new users, and we cannot resend them. It would probably cost less for the WP user base worldwide to hire a hitman for WP development team than to buy paid subscriptions to WP Mail SMTP. Think about it.

Posted by: LinuxLies at 09:27 AM | No Comments | Add Comment
Post contains 283 words, total size 2 kb.

February 16, 2024

If I did not know Microsoft as well as I do

If I did not know Microsoft as well as I do

I would have asked: Why does WPF need to be so fucked up?

But I know them all too well: they are genocidal monsters, same as their boss Gates.

WPF is FUBAR. No sorted controls! Models have to be sorted manually, by writing boilerplate code for converters that do the sorting. IsLiveSorting exists only on CollectionView which is not used everywhere, as a rule. Want your controls sorted? You are in for a lot of pain.

Posted by: LinuxLies at 02:19 PM | No Comments | Add Comment
Post contains 98 words, total size 1 kb.

Never before did I write so much unnecessary boilerplate code as with WPF

Never before did I write so much unnecessary boilerplate code as with WPF

This is what blind, fanatical following of a dogma puts you through: tedious workarounds.

Enter TreeView control. Microsoft sabotaged it by replacing SelectedItem with SelectedValue whenever the control is databound (which is like 100% of the cases). As a result, we ourselves are forced to implement parent-child relationships in our hierarchical models.

Enter Newtonsoft JSON package that is used in like 100% cases of serialization these days. It throws:

Newtonsoft.Json.JsonSerializationException:
'Self referencing loop detected for property 'Parent'
with type 'Models.S'. Path '[0].T[0]'.'

whenever it is asked to serialize such parent-child hierarchy.

We are SOL, and Microsoft laughs all the way to the bank while we are hard at work on workarounds, writing boilerplate code that would have been unnecessary, had they only kept `SelectedItem` being `SelectedItem`.

Allow me to ask an important question: why do we remain silent?

Why does no one, literally no one, condemn Microsoft for releasing a half-baked, half-assed, tortorously painful to use framework that has absolutely zero support in terms of bugfixing and feature improvement?

They buggered TreeView, threw away NumericUpDown, neglected to add comprehensive InteliSense to XAML editor, neglected XAML designer that is simply impossible to operate with a mouse or to comprehend, and everybody silently jumped on WPF like a fat kid on a twinkie. Dockable toolbars anyone? Aren't they what WPF was advertised for? We were promised a framework that would allow us to simply and easily create MSOffice-like apps, no? NO! You will be writing tons of boilerplate code if you want that. Screw you, Benny!

What's wrong with you, developers? Are you petrified by the fear of Microsoft? Does each of you cherish a hope to work for Microsoft one day and that is why you keep your mouths shut? Okay, I can probably understand the developers but why are business administrators and owners silent about the huge waste of time and $$$ that WPF requires?

What's wrong with you, people?

Posted by: LinuxLies at 12:13 PM | No Comments | Add Comment
Post contains 346 words, total size 2 kb.

February 14, 2024

Here's how Microsoft owns everybody, every time

Here's how Microsoft owns everybody, every time

Step by step instruction:

1. Create something horrible like WPF.

2. Sound fanfares and announce that it is the next big thing.

3. Once everybody realizes what a horrid mess it is come up with libraries that fix its bugs but by different vendors.

4. Bank the cash.

They do it every time, and the gullible 8 billion hamsters around the world buy it every time.

Get it? TreeView.SelectedValue is the actual collection item bound to the tree. So far so good. But TreeView.SelectedItem is also that very same object whereas it has to be a TreeViewItem! That makes it impossible to find the selected item's parent (or any item's parent for that matter) w/o resorting to 3d party libraries that override the default behavior of tree views.

And Microsoft's stooge companies that delivery hacks and patches that fix its bugs laugh at us all the way to the bank.

Posted by: LinuxLies at 05:50 PM | No Comments | Add Comment
Post contains 164 words, total size 1 kb.

We are Microsoft, and we will steal your IP

We are Microsoft, and we will steal your IP

I will not be the first one to observe that MS steals things rather routinely. Not even the 2nd. Not even the 3d.

Enter WPF, the MS's new, glorious replacement for the boring, obsolete WinForms. WPF is a marriage between XML and C#/VB etc. Its windows and user controls are designed in XAML, the extension of XML for GUI.

Data binding is the King in XAML, and it is a perfect match for the MVVM pattern toutes as the 'next best thing' for software development and the natural pattern for WPF.

So, we embark on the binding process for some control, only to find out that the XAML editor in Visual Studio does not see your classes. Why?

After a long and tiresome investigation you find out that in order to be visible to XAML data binding, your classes have to be public. Huh? Why can they not be internal with InternalsVisibleTo element set to the public key of the assembly that contains the XAML? I will tell you why.

Microsoft did it so that once all your code runs in their Azure cloud they have access to the classes, properties and methods in your assemblies. Under DMCA they may get into legal trouble for un-signing and disassembling your assemblies in order to snoop on your code. So, they force you to make your classes public in order to see them w/o violating DMCA.

Posted by: LinuxLies at 12:26 PM | No Comments | Add Comment
Post contains 252 words, total size 1 kb.

February 08, 2024

How Goebbelsian lies twist our lives

How Goebbelsian lies twist our lives

I live long enough to remember a vivid discussion, in the late 90s-early 2000s, about security risks introduced by Java applets. The common concern was that unrestricted execution of applets in browsers may compromise users' systems. Fast forward late 2010s-early 2020s.

Today, Java applets are history. They have been. They expired. As are Silverlight applications, for the most part. All of those pesky security risks are replaced by... a mad herd of JavaScript frameworks. Somehow this

Screenshot

is much safer than a scary Java applet. Is it? Let's review.

A Java applet typically required an explicit permission from the user to load, in their browser. It loaded entirely from the well-known and controlled environment of its owner. Browsers of the day provided required isolation mechanism that locked the applet in the JVM and barred it from accessing local resources. Compare that with the screenshot above and keep in mind that this is only a very moderate, tame, docile example. There are sites that load 3-5x more JavaScripts from HELL KNOWS WHERE.

Yes, that is exactly what we have grown accustomed with! We do not even bother to know what JavaScripts the web site loads or from where. And that is absolutely not a security risk, not at all [sarcasm off].

JavaScript can do anything on a web page. It can log keypresses. It can scrub canvas. It can intercept requests and responses. It can spy on the unsuspecting user and alter data that they exchange with the main web site. Nothing to see here, move along.

So, who shat on Java applets, 20+ years ago? Aren't they the same people who now replaced them with JS frameworks, silently, without raising any fuss about it? Follow the money!

Java and its applets were a brain child of a small, struggling but ethical company, Sun Microsystems. JavaScript frameworks are brain children of filthy-rich, brazen, into-your-face global monopolies: Google, Facebook, Twitter, Microsoft. There are absolutely no security risks with their solutions [sarcasm off].

Why am I raving about that? Because JavaScript sucks balls, and the sound of sucking is deafening. It is a huge waste of resources (processing power and electric energy). It nourishes poor coding skills, breeds duplication and boilerplate code, has compatibility problems, and many more issues that are impossible to resolve. But we love it, don't we? Always remember: JavaScript is an INTERPRETED language. It does not compile into binary executable format. It remains plain-text, in the memory space of the browser. Whole JS frameworks load into memory because there is no linking step that weeds out unused functions. This leads to elevated memory requirements on the client device, and that translates into obscene profits of semiconductor industry.

Most IT professionals are raving, flaming green types. They are also hypocrites because they ignore damage to Earth's environment that their obsession with JavaScript causes. Hypocrites them all!

Posted by: LinuxLies at 01:47 PM | No Comments | Add Comment
Post contains 485 words, total size 3 kb.

Why do they feel that they can lie so blatantly?

Why do they feel that they can lie so blatantly?

Yes, yes, I know, I know: people are weak, and they try to make their lives easier by lying. But lying is still supposed to be frowned upon, in our society, is it not?

Enter the WPF tutorial web site by... who cares by whom. The site's owner published a bunch of instructions for new WPF developers, and I thank him/her for that. But here comes a juicy bit.

Screenshot

Read the selection carefully. It is a lie. Either the author does not know what they are talking about, which is hardly possible since they demonstrate good knowledge of both WPF and WinForms, or they are brazen liars.

No, it is not true that in WinForms environment 3 event handlers and a function is required. It is perfectly possible to deal with all GUI control events, in 1 (one) event handler, by evaluating the control that raised the event. Ever heard of that, genius?

Posted by: LinuxLies at 01:26 PM | No Comments | Add Comment
Post contains 173 words, total size 1 kb.

February 06, 2024

MoveNext, Nadella?

MoveNext, Nadella

At some point, Microsoft introduced compiler support for async/await. Great! Awesome! Everybody immediately jumped on its bandwagon and, as herd animals do, developers all over the world began to shout:

Async! Async!

Do everything async!

There is huge peer pressure now, to submit and subscribe to the async paradigm. Great! Awesome!

But here comes an inconvenient truth: Microsoft forgot/neglected to adjust its Reflection namespace to async paradigm. I rather suggest that they neglected but who am I to rain on their parade?

Ever did this from your method?

MethodBase.GetCurrentMethod().Name

only to see MoveNext? That is because... [long-whinded explanation of how async rewrites your method into a state machine whose last-called method is MoveNext]...

That's what Microsoft says. They prefer not to say that they forgot/neglected to make corresponding changes in Reflection, to compensate millions of .NET developers and their companies' owners/investors for their having to change their debugging code that used to work perfectly well in synchronous mode to the wonderful new asynchronous.

Microsoft are enemies of human race, and they have to be shown their place, with repercussions for being rude, obnoxious, irresponsible, monopolistic dictators.

Posted by: LinuxLies at 11:06 AM | No Comments | Add Comment
Post contains 174 words, total size 1 kb.

February 01, 2024

What do I do when software tells me that I must not shut it down?

What do I do when software tells me that I must not shut it down?

Believe you or not, it totally depends on my mood. There are several options.

  1. I press and hold the power button for 6+ seconds.
  2. I flip the switch on the power supply.
  3. I yank the power cord from the power supply or wall outlet.
  4. I remove the battery if the device is so powered.

Why? Because I own the damn machine. I am the property owner. The software is installed on my machine. The machine is on my premises. I own everything here, and I am the boss.

So, whenever a piece of software tells me that I should not/cannot/must not power the device off when I need so, I kill the damn thing because I can and want to.

This is a lesson in humility: if your software runs on someone's device, you obey the device owner's wish, not the other way around. Developers forgot their place, and I give them this reminder that they should heed, or.

Posted by: LinuxLies at 03:20 PM | No Comments | Add Comment
Post contains 189 words, total size 1 kb.

<< Page 1 of 1 >>
31kb generated in CPU 0.0088, elapsed 0.0788 seconds.
32 queries taking 0.0723 seconds, 138 records returned.
Powered by Minx 1.1.6c-pink.