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 1,854 other subscribers

Archive for 2018

What is Swapfile.sys and How Do You Delete It?

Posted by jpluimers on 2018/03/09

Windows 10 (and 8) include a new virtual memory file named swapfile.sys. It’s stored in your system drive, along with the pagefile.sys and hiberfil.sys. But why does Windows need both a swap file and a page file?

In summary, the swapfile — swapfile.sys — is currently used for swapping out Microsoft’s new style of app. Microsoft has called these universal apps, Windows Store apps, Metro apps, Modern apps, Windows 8 apps, Windows 8-style UI apps, and other things at various points.

via:

Posted in Power User, Windows, Windows 10, Windows 8, Windows 8.1, Windows 9 | Leave a Comment »

libssh-delphi will migrate from Mercurial on BitBucket to git on GitHub soon (or finding about “fatal: repository … not found”, “MSVCR120.dll is missing” and “D3DCOMPILER_47.dll is missing” when prepping a fresh VM for a presentation)

Posted by jpluimers on 2018/03/08

When git on Windows suddenly gives you this when the repository URL opens fine in Chrome:

C:\Users\jeroenp\Versioned>git clone https://bitbucket.org/jeroenp/libssh2-delphi
Cloning into 'libssh2-delphi'...
remote: Not Found
fatal: repository 'https://bitbucket.org/jeroenp/libssh2-delphi/' not found

but this worked fine:

C:\Users\jeroenp\Versioned>git clone https://github.com/jpluimers/GExperts.git
Cloning into 'GExperts'...
remote: Counting objects: 12031, done.
remote: Total 12031 (delta 0), reused 0 (delta 0), pack-reused 12031R
Receiving objects: 100% (12031/12031), 9.77 MiB | 1.36 MiB/s, done.

Resolving deltas: 100% (9284/9284), done.

I first thought “huh?”.

Then I remembered: this was a Mercurial repository, but I hardly use Mercurial any more…

C:\Users\jeroenp\Versioned>hg clone https://jeroenp@bitbucket.org/jeroenp/libssh
2-delphi
destination directory: libssh2-delphi
requesting all changes
adding changesets
adding manifests
adding file changes
added 30 changesets with 56 changes to 25 files
updating to branch default
12 files updated, 0 files merged, 0 files removed, 0 files unresolved

Since I wanted to switch away from bitbucket for a long time anyway, it was time to say goodbye and find out how to make the conversion to git.

A quick search revealed there were many tedious manual ways involving command-lines: [WayBack] Convert Mercurial project to Git – Stack Overflow

But then I found out that github can fully automagically import a Mercurial Repository (of course without the BitBucket attached bells and whistles like issue tracker):

So it is now at github.com/jpluimers/libssh2-delphi with one user still to be mapped at github.com … libssh2-delphi/import/authors: Zeljko Marjanovic. If I ever get in contact with him (I tried over the last 2 years), then I will add him.

For now, I will be in touch with Vadum Lou (a.k.a. https://github.com/pult, full nameVadim V. Lopushansky) who already made another manually copied fork and get his additions integrated.

I might redo the conversion process later on as at least some of his submissions are at least partially in a Mercurial pull request.

Then I need to merge the develop branch into the master branch and prepare a release.

Oh: if it fails to debug in Delphi, then run the EXE alone. You will get an error like this:

---------------------------
SftpClientDemo.exe - System Error
---------------------------
The program can't start because MSVCR120.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------

I need to document this better in the README.md: the underlying libssh2 DLLs require the Visual Studio 2013 C++ run-time library to be installed. The latest version I could find as of writing is vcredist_x86.exe version 12.0.40649.5 from the Update for Visual C++ 2013 and Visual C++ Redistributable Package at https://support.microsoft.com/en-us/kb/3138367 (download selection) or http://download.microsoft.com/download/C/C/2/CC2DF5F8-4454-44B4-802D-5EA68D086676/vcredist_x86.exe (direct download).

I need to update If a program you wrote can’t start becuase MSVCR*.dll is missing, then you forgot to ship the Visual C++ runtime… from 2012 on this as well as there are more versions available now than listed there.

Another error I got was the one below when running .NET stuff, but that might be because Windows Update was in progress:

---------------------------
SourceTree.exe - System Error
---------------------------
The program can't start because D3DCOMPILER_47.dll is missing from your computer. Try reinstalling the program to fix this problem.
---------------------------
OK
---------------------------

Later: yes, that was indeed fixed during Windows update. Apparently, Microsoft has an update installation order issue or a dependency requirement issue where part of .NET depends on that DLL, even though it is not yet present.

–jeroen

Posted in .NET, Delphi, Development, Power User, Software Development, Windows, Windows 7 | Leave a Comment »

Why do 90% of the Visual Studio Tools and Extensions make it so hard to update…

Posted by jpluimers on 2018/03/08

Worth repeating my [WayBack] Friday developers rant… Why do 90% of the Visual Studio Tools and Extensions make it so !@#$!@#$ hard to update.… – Jeroen Wiert Pluimers – Google+:

Why do 90% of the Visual Studio Tools and Extensions make it so !@#$!@#$ hard to update as for *each* tool, you have to:

1. start Visual Studio (which doesn’t show progress, sometimes starts fast and sometimes takes a minute)
2. go to “Tools” menu, then to the “Extensions and Updates…” entry
3. in the dialog, browse to the bottom entry of the leftmost treeview (“Updates”) and click on it (as you cannot reach it by keyboard)
4. click the “Update” button for the topmost tool (it downloads with your default web browser which takes focus away from Visual Studio)
5. switch back to Visual Studio
6. close the “Extensions and Updates…” dialog
7. quit Visual studio
8. find the downloaded updater in your web browser (all !@#*!@# web browsers do this in a different way)
9. update (specify options, choose UAC elevation when needed, etc, etc)
10. wait for the update to complete (.NET Core 1.0.1, Microsoft Azure SDK for .NET and Microsoft SQL Server Data Tools take ages to complete and for most of the time stay at 95% of the progress bar for minutes. It’s called progress bar for a reason, track your progress evenly and hurry up!)
11. start over at step 1 for the next update

10 )!@($#*%&@# manual steps PER UPDATE

Afterwards you need to clean all the downloaded installers as they often are partial web-installers which cannot be re-used

I want a “update all with default settings” button….

–jeroen

Posted in .NET, Development, Software Development, Visual Studio and tools | Leave a Comment »

OCW Course Index | MIT OpenCourseWare | Free Online Course Materials

Posted by jpluimers on 2018/03/08

[WayBackOCW Course Index | MIT OpenCourseWare | Free Online Course Materials

via: [WayBack] Free MIT courses, including videos, audio, simulations, lecture notes, and exams. – Phorcyte X – Google+:

http://ocw.mit.edu/courses/

Read the rest of this entry »

Posted in Development, LifeHacker, Power User, Software Development | Leave a Comment »

If you like Oz: VSoft is hiring – .NET/Full Stack Developer, local or remote

Posted by jpluimers on 2018/03/07

VSoft in Oz (of Coninua CI and FinalBuilder fame) is hiring: [WayBack] We’re hiring – .NET/Full Stack Developer, local or remote – Vincent Parrett – Google+.

The job is on LinkedIn, but that site does not like to be archived in the WayBack Machine or Archive.is, so here it is:

Job description

We are looking for a talented .NET/Full Stack developer to help our team ramp up product development.

This isn’t a ‘run of the mill’ data entry project, there are significant technical challenges, so we are looking for a developer at the top of their game. You will need a keen interest in DevOps.

For this role it is essential that you have the following skills and a minimum of 2 years development experience.

Required skills

  • Excellent C# (VS2017).
  • Excellent HTML, CSS and JavaScript/TypeScript.
  • ASP.NET MVC.
  • SQL/Database (any).
  • Version Control (any).

Bonus skills/experience

  • .NET Core
  • React
  • Webpack.
  • Nancy.
  • NHibernate.
  • REST API design.
  • DevOps

About You

You will be a software developer with a strong attention to detail. You should enjoy a challenge, and be able to hit the ground running and be producing code in the first few days. You will be comfortable working as part of a team, or alone with minimal supervision and have excellent spoken and written English.About UsWe’re passionate about software development, in particular, CI/CD/DevOps. We are small team of experienced, smart developers who are very focused on customer satisfaction.All our developers have fast machines, multiple monitors, Herman Miller chairs, electric sit/stand desks, free tee/coffee, parking etc. Our office is in the Phillip business district in Canberra. Remote work is possible for the right candidate.SalarySalary is negotiable (commensurate with experience) – let us know your expectations when applying.

The position is full time, preferably on site at our office in Phillip, Canberra, close to Woden Plaza and public transport, with a great cafe downstairs!

Application Process

We are looking for someone to start asap, so we won’t drag this out. Send us your resume (pdf only). If you have any pet open source projects (or contribute to open source projects), tell us about your involvement (include links!). If you have a github or bitbucket account, let us know your handle (saves us searching for it ourselves!).If you are selected for interview, be prepared to write some code (a small demo project < 30 minutes). If you have something you are working on that you can show and tell, by all means bring your laptop! We will expect that you are at least familiar with our products (Continua CI).

NOTE: You must have the right to live and work in Australia (unless working remotely, outside of Australia).

–jeroen

 

Posted in .NET, Continua CI, Continuous Integration, Development, Software Development | Leave a Comment »

Packet Sender is a good tool when debugging protocols: free utility to send & receive network packets. TCP, UDP, SSL

Posted by jpluimers on 2018/03/07

It was fitting to bump into [WayBack] Packet Sender is a good tool when debugging protocols…” Written by Dan Nagle… – Lars Fosdal – Google+ on the day presenting [WayBack] Conferences/Network-Protocol-Security.rst at master · jpluimers/Conferences · GitHub

It also means that libssh2-delphi is getting a bit more love soon and will move to github as well after a conversion from mercurial.

Some of the things I learned or got confirmed teaching the session (I love learning by teaching):

Here is some more info:

–jeroen

Read the rest of this entry »

Posted in Communications Development, Delphi, Development, Encryption, Hardware, Harman Kardon, Home Audio/Video, HTTP, https, HTTPS/TLS security, Internet protocol suite, Let's Encrypt (letsencrypt/certbot), OpenSSL, Power User, Security, Software Development, TCP, TLS | Leave a Comment »

Open SourceTree tickets

Posted by jpluimers on 2018/03/07

Two reasons for this list:

  1. I messed up user accounts so the tickets are actually from two accounts (because I got confused between the bitbucket and atlassian domains).
  2. Jira searching is horrible, so hopefully Google does a better indexing of finding my own stuff back
  3. Around the 1.5/1.6 switch, 1.6 was so unstable and bugs were hardly acted upon that I didn’t keep track on progress
    • bugs are still hardly acted upon; it’s difficult getting them in another stage than the initial one
    • 1.6 is now more stable and faster, so it’s OK to upgrade

Bitbucket account:

Atlassian account.

Mac OS X:

–jeroen

Posted in Development, Testing | Leave a Comment »

Visual studio (2015) emulator for android not working – XDE.exe – Exit Code 3 – Stack Overflow

Posted by jpluimers on 2018/03/07

In cast I ever want to do Android work again in Visual Studio [WayBackVisual studio (2015) emulator for android not working – XDE.exe – Exit Code 3 – Stack Overflow

Getting the Android Emulator to run is tough because Hyper-V and networking is awful and running this all in a Windows VM makes it even more complicated.

–jeroen

Posted in .NET, Android, Development, Mobile Development, Software Development, Visual Studio 2015, Visual Studio and tools, Xamarin Studio | Leave a Comment »

multithreading – Closure in TTask.Run(AnonProc) not released after AnonProc has finished – Stack Overflow

Posted by jpluimers on 2018/03/06

For my link archive: [WayBackmultithreading – Closure in TTask.Run(AnonProc) not released after AnonProc has finished – Stack Overflow

via: [WayBackHow the combination of inline, interfaces and missing RVO can break your code – Stefan Glienke – Google+

TL;DR from RAD StudioRSP-12462 TThreadPool worker thread holds reference to last executed task by Asbjørn Heid as a regression since XE8:

A temporary variable in TThreadPool.TQueueWorkerThread.Execute keeps a reference to the last executed work-item (task), which is only released when the Execute method ends.

Being in a pool the thread is usually kept alive until the pool is destroyed, which for the Default pool means during finalization of the unit. Thus the last executed tasks are not released until the program terminates.

–jeroen

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

C to Go “cheat sheet” at C, Go – Hyperpolyglot

Posted by jpluimers on 2018/03/06

Great cheat sheet [WayBackC, Go – Hyperpolyglot

via: [WayBack] C to Go “cheat sheet”Try Go. You might like it.http://golang.org – Kevin Powick – Google+

 

Posted in C, Development, Go (golang), Polyglot, Software Development | Leave a Comment »