@fornever@dotnet.social avatar

fornever

@fornever@dotnet.social

Engineer, programmer, gentleman. Cosmic revenant. JetBrains Rider tech lead.

This profile is from a federated server and may be incomplete. Browse more on the original instance.

khalidabuhakmeh, to movies
@khalidabuhakmeh@mastodon.social avatar

I made a poster about @citizenmatt. The backstory is about a that only comes after you in the dark.

Call me Blumhouse!

fornever,
@fornever@dotnet.social avatar

@khalidabuhakmeh @citizenmatt This is because of the time zone difference, right? Not because he's a demon or something?

fornever, to dotnet
@fornever@dotnet.social avatar

Just released version 1.0.0 of my file path library for , TruePath, to NuGet: https://github.com/ForNeVeR/TruePath/releases/tag/v1.0.0

Go check it out! It allows for nice things like new AbsolutePath("/foo") / "bar", giving a strict guarantee that an AbsolutePath is absolute. (LocalPath as an alternative not guaranteed to be absolute.)

I was so tired of not having a portable abstraction like that, that I decided to develop my own. It's been tested in one of my other projects so far, but now you can use it too!

KirillOsenkov, to random
@KirillOsenkov@mastodon.social avatar

Reminder that I made https://quickinfo.io where you can quickly look up answers to certain classes of questions instead of googling and wading through bad results full of ads and spam.

Demo: https://quickinfo.io/?demo

Usages: https://quickinfo.io/?%3F

Many people still google em dash, shrug, degree sign, etc. They open a website from results, it is slow and full of ads. It shows a cookie banner. There is a better way.

fornever,
@fornever@dotnet.social avatar

@KirillOsenkov And this thing is even open source!
https://github.com/KirillOsenkov/QuickInfo

maartenballiauw, to random
@maartenballiauw@mastodon.online avatar

This year, is turning 20 🥳 When did you start using it? Who introduced you to it? Any problems it helped you solve? Looking for stories 😊

fornever,
@fornever@dotnet.social avatar

@maartenballiauw Have to confess that I was using a pirated version since 2010, after a colleague's recommendation (he even gave me the installer I think).

Started paying in 2013 (bought IDEA in April and ReSharper in August).

Stopped paying in 2018: I now have it all for free since I work here :)

fornever, to random
@fornever@dotnet.social avatar

Some time ago, I was investigating why DebugActiveProcess sometimes breaks processes on Windows, read more here: https://fornever.me/en/posts/2019-10-06.debugger-threading-issues.html

And finally, after all these years, there's an article with a possible explanation of why exactly it fails: https://m417z.com/When-is-it-generally-safe-to-CreateRemoteThread/

(the debugger does create a thread in the target process, and thus most of the highlighted problems are possible for my use case as well)

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Is that an “elapsed time” next to my breakpoint in ?!

fornever,
@fornever@dotnet.social avatar

@rafaelldi @khalidabuhakmeh Should be paint.net!

khalidabuhakmeh, to dotnet
@khalidabuhakmeh@mastodon.social avatar

Blazor may have created a slight communication problem within the community. Someone sent me an email asking for “Blazor” help, and I have no friggin’ clue which variant they are talking about.

fornever,
@fornever@dotnet.social avatar

@SmartmanApps @heaths @khalidabuhakmeh @maartenballiauw Don't even get started on how people get confused around the usage of the LaTeX hashtag (I mean the publishing system, of course, but they mostly aren't).

fornever,
@fornever@dotnet.social avatar

@khalidabuhakmeh Just remember to repeat you meant "the publishing system" and you'll be alright.😏

fornever, to programming
@fornever@dotnet.social avatar

After an 8-year pause, I published the first official release of checktimer, my small desktop time tracking application in (to be precise, it uses ScalaFX, a wrapper around JavaFX).

Check it out at https://github.com/ForNeVeR/checktimer

fornever, to dotnet
@fornever@dotnet.social avatar

Not sure this is something already supported by or if there's another solution, but anyway.

I've had a problem in my test suite: there are a lot of verified test data files, and it was a bit hard to manage all of them. Sometimes, unused test data files were not deleted after the corresponding tests are renamed or removed. And the files were just kinda piling up in the repository.

fornever, to random
@fornever@dotnet.social avatar

Writing down just to not forget this next time I need it. To find a list of processes blocking a file on Windows, use Restart Manager: https://learn.microsoft.com/en-us/windows/win32/rstmgr/restart-manager-portal

Raymond Chen has a nice example of how to use it: https://devblogs.microsoft.com/oldnewthing/20120217-00/?p=8283

Windows 7 introduced the IFileIsInUse interface (https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nn-shobjidl_core-ifileisinuse), though it looks like it only works if the processes that hold the file are ready to collaborate. So, the Restart Manager is the way to go — at least as a fallback.

fornever, to random
@fornever@dotnet.social avatar

Just proposed a new feature for Cesium, a C to .NET compiler I maintain. This time, I am thinking of adding (an almost) seamless native interop via #pragma pinvoke: https://github.com/ForNeVeR/Cesium/issues/511

khalidabuhakmeh, to macos
@khalidabuhakmeh@mastodon.social avatar

Name a more iconic duo that’s now on ?

fornever,
@fornever@dotnet.social avatar
fornever,
@fornever@dotnet.social avatar

@bitbonk We are discussing this internally, but no promises yet. This would be a major endeavor.

You see, in the profilers, most of the UI code is either homemade chart controls or normal BOL app stuff (like tab controls, buttons, various popup menus, you name it). And the backing code is, of course, already portable (since it already works in Rider and console tools).

dotPeek, on the other hand, has a major dependency on a feature-rich 3rd-party text editor control (even while it is readonly)

fornever,
@fornever@dotnet.social avatar

@bitbonk While my personal preliminary opinion is that AvalonEdit is ready to serve as a cross-platform replacement of that control, it'll be a lot of error-prone work to replace it in dotPeek.

So, for now my recommendation would be to stick with the part of dotPeek that's available in Rider (the Assemblies View). We have some certain plans of developing that one further, e.g. introducing the assembly diff feature that's recently landed into dotPeek.

fornever, to dotnet
@fornever@dotnet.social avatar

Recently I've tried testcontainers for , and you know what? I like it. Works well for my tests that need a real database. You can set up a PostgreSQL instance in one line of code! https://dotnet.testcontainers.org/modules/postgres/

fornever, to dotnet
@fornever@dotnet.social avatar

Just merged my first PR to runtime repo: https://github.com/dotnet/runtime/pull/92185

It fixes a fun bug when Process.TotalProcessorTime reported on AARCH64 Mac is approximately 42 times (sic!) lesser than it should be.

The reason is that x86-64 Mac was reporting certain metric in nanoseconds, while on AARCH64 you are supposed to call a special system function to get numerator and denominator to convert this value to nanoseconds. (Formally, you were always supposed to do that, but it was just 1 on x86-64.)

fornever, to random
@fornever@dotnet.social avatar

Yesterday was the first day of October, and thus I have already managed to complete the challenge.

Maybe I code too much.

But hey, I think it's too little actually! I should do more.

fornever,
@fornever@dotnet.social avatar

@khalidabuhakmeh Yup, correct.

I understand that folks had some logistics problems in getting all the T-shirts to be timely delivered (and their contractors did a good job on that).

For this time, I guess I can just order something for printing myself 😅

fornever,
@fornever@dotnet.social avatar

@khalidabuhakmeh Because of logistics problems or because you haven't tried hard enough? 😅

fornever, to random
@fornever@dotnet.social avatar

Just released plugin for v1.2.0. A new setting to define the working directory for the previewer process, and compatibility with 2023.3 EAP 1!

(In fact, only 2023.3 EAP 1 for now; sorry, but it's too hard to keep compatibility with several major versions at once. It will likely work well with newer EAP builds, though.)

https://plugins.jetbrains.com/plugin/14839-avaloniarider/

fornever, to random
@fornever@dotnet.social avatar

I am glad to announce that our team (aka codingteam) has received the judges' prize on the ICFP Contest of this year.

Was a crazy ride. You can read my report here: https://fornever.me/en/posts/2023-07-10.icfpc-2023.html

khalidabuhakmeh, to random
@khalidabuhakmeh@mastodon.social avatar

Some software development is just cursed.

fornever,
@fornever@dotnet.social avatar

@khalidabuhakmeh About all of it, actually?

rafaelldi, to random

My dead computer with lots of uncommitted changes reminded me that small commits are better

fornever,
@fornever@dotnet.social avatar

@rafaelldi I just push everything. Wanna take a break? Commit + push (and amend later if required). Going to sleep? Commit, push and then sleep 😅

kedare, to dotnet
@kedare@g33ks.coffee avatar

Is there anyone using other languages than C# and F# on .NET ?
I remember back then there was the language but looks like it's not much used now.
Other alternative languages like and are either lagging a lot on supported version or abandoned apparently.

fornever,
@fornever@dotnet.social avatar

@kedare There's also Pascal compiler available at https://github.com/pascalabcnet/pascalabcnet/

Mostly used for teaching programming, though.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • JUstTest
  • cisconetworking
  • thenastyranch
  • GTA5RPClips
  • everett
  • Durango
  • rosin
  • InstantRegret
  • DreamBathrooms
  • magazineikmin
  • Youngstown
  • mdbf
  • slotface
  • ethstaker
  • megavids
  • kavyap
  • normalnudes
  • modclub
  • cubers
  • ngwrru68w68
  • khanakhh
  • tacticalgear
  • tester
  • provamag3
  • Leos
  • osvaldo12
  • anitta
  • lostlight
  • All magazines