The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 4,262 other subscribers

Archive for September 16th, 2020

A thread written by @SwiftOnSecurity

Posted by jpluimers on 2020/09/16

[WayBack] A thread written by @SwiftOnSecurity:

Corporate purchasing and policies make funding open source Literally Impossible.

Nothing’s going to change until you make them pay you.

Someone filed a bug?
Support contract.

Someone wants a feature?
Support contract.

It’s literally easier to pay you $1500/yr than $25 once.

Edit: since Threader/Threader_app died, I archived the Twitter thread at Archive.today.

And much more: worth a long read.

Via another interesting post: [WayBack] Idea for FOSS projects. Register your project/product name as a trademark and only use it for official, stable releases. Have a different name for your … – Jan Wildeboer – Google+

Idea for FOSS projects. Register your project/product name as a trademark and only use it for official, stable releases. Have a different name for your not-(yet)-stable Code.

Put trademark agreements in place. Everyone who uses your trademarked name for services based on your code has to pay. Everybody using the non-stable code is free to do so, but cannot use your trademarked name.

With lots of interesting comments:

  • Jan Wildeboer
    +Andreas Kahler because when you don’t allow use without pay you are violating the open source principles.
  • You just don’t allow the use of the trademarks. That’s perfectly fine with FOSS, e.g. with GPLv3: “you may […] supplement the terms of this License with terms: […] Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks”. See opensource.google.com – Trademarks in Open Source – opensource.google.com
  • +Andreas Kahler Yep. That’s how we work at Red Hat ;)
  • It’s how most distros work – it can be a problem though because you then control how the mark is used and without care it becomes a blocker. Eg it’s really hard to ship Unbuntu based stuff because you can’t modify Ubuntu and call it Ubuntu (which is fair enough) , but for cloud images – problem.
  • +Alan Cox That’s why it IMHO makes more sense for projects/products.
  • Jan Wildeboer+1
    +Torsten Kleinz … Setting up a new provider at any medium to big company is a big, lengthy and horrifyingly complex process.

–jeroen

Read the rest of this entry »

Posted in Development, Open Source, Software Development | Leave a Comment »

Not to self: ERROR_ALREADY_EXIST (183) can also mean your named Mutex already exists

Posted by jpluimers on 2020/09/16

A while ago, I had an error like this when debugging plugins:

Project bds.exe raised exception class EOSError with message ‘System Error.  Code: 183.
Cannot create a file when that file already exists’.

It got was raised when [WayBackGetLastError returned ERROR_ALREADY_EXIST which according to [WayBackSystem Error Codes (0-499) (Windows) has this description:

ERROR_ALREADY_EXISTS

183 (0xB7)
Cannot create a file when that file already exists.

 

The last line is the same description that [WayBackFormatMessage returns. And it put me on the wrong foot as it wasn’t a file, but a mutex that was created: indeed [WayBackCreateMutex documents it:

If the mutex is a named mutex and the object existed before this function call, the return value is a handle to the existing object, GetLastError returns ERROR_ALREADY_EXISTS, bInitialOwner is ignored, and the calling thread is not granted ownership. However, if the caller has limited access rights, the function will fail with ERROR_ACCESS_DENIED and the caller should use the OpenMutex function.

In the mean time, the plugin doesn’t raise that as an exception any more.

–jeroen

 

Posted in Development, Software Development, Windows Development | Leave a Comment »

Using Delphi for jiggling the mouse – twm’s blog

Posted by jpluimers on 2020/09/16

To prevent a screen-saver from kicking in [WayBack] jiggling the mouse – twm’s blog:

My solution then is this procedure:

procedure JiggleMouse;
var
  Inpt: TInput;
begin
  Inpt.Itype := INPUT_MOUSE;
  Inpt.mi.dx := 0;
  Inpt.mi.dy := 0;
  Inpt.mi.mouseData := 0;
  Inpt.mi.dwFlags := MOUSEEVENTF_MOVE;
  Inpt.mi.time := 0;
  Inpt.mi.dwExtraInfo := 0;
  SendInput(1, Inpt, SizeOf(Inpt));
end;

Call it in regular intervals and the screen saver will not start.

This is now (or soon will be) in the u_dzOsUtils unit which is part of my dzlib utility library.

–jeroen

Posted in Delphi, Development, Power User, Software Development, Windows | 1 Comment »