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,860 other subscribers

Archive for 2017

Some links on getting a local CollabNet SVN repository to git

Posted by jpluimers on 2017/03/22

A while ago, I had to rescue a project of a developer that had hosted their SVN repository on a locally running CollabNet installation in a VM that wasn’t properly backed up. So besides pollution of a development system, it had to be resurrected after the host crashed. Apparently

Here are some links without full steps that I used to find my way around, find the SVN repository locations and credentials, then convert it to git (that’s now remotely hosted in multiple places both internally and externally).

No steps as hopefully I will never need to take this route again:

–jeroen

Posted in CollabNet, Development, DVCS - Distributed Version Control, git, Source Code Management, Subversion/SVN | Leave a Comment »

Kylix: Delphi for Linux is on the Way! – I wrote this in 2000

Posted by jpluimers on 2017/03/22

Last year, when Warren Postma wrote, I started digging for some articles I wrote about Kylix (the Delphi for Linux at the start of this century).

The second article I found (Delphi for Linux is on the Way!) was actually the first one I wrote, so I’ve put the copy below. The second article will be in my blog tomorrow.

The article below first appeared at the Pinnacle Publishing site at http://www.pinpub.com/delphi/kylix1.htm as an article for “Delphi Developers Journal” that went out of business just like “Hardcore Delphi” and “Delphi Informant Magazine” went before (actually Blaise Pascal Magazine is about the only Delphi related magazine left).

I found the title of my article through http://www.newsmth.net/bbsanc.php?path=%2Fgroups%2Fcomp.faq%2FDelphi%2FAboutDelphi%2FKylix%2FM.967808208.A then back-tracked the title via http://www.inner-smile.com/delphin.phtml

–jeroen

Read the rest of this entry »

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

Git for Computer Scientists

Posted by jpluimers on 2017/03/21

Quick introduction to git internals for people who are not scared by words like Directed Acyclic Graph.

Cool: Git for Computer Scientists [WayBack]

–jeroen

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

GExperts – when your predecessor has put it under the Tools menu

Posted by jpluimers on 2017/03/21

I totally forgot that GExperts can be under the Tools men

GExperts IDE configuration

GExperts IDE configurationu (I’m so accustomed that Alt-X is GExperts and Alt-M is ModelMaker Code Explorer).

These keyboard shortcuts are only assigned when you install GExperts before you install ModelMaker Code Explorer.

If you reverse, then you have to fiddle by removing the ModelMaker Code Explorer expert, then re-add it.

Anyway: you can configure this in the “IDE” tab of the GExperts Configuration.

After that you have to restart the Delphi IDE to reflect the change.

–jeroen

Source: GExperts Help

Posted in Delphi, Development, GExperts, Keyboards and Keyboard Shortcuts, ModelMaker Code Explorer, Power User, Software Development | 2 Comments »

When a ScanSnap ix500 blinks an orange light/LED/button

Posted by jpluimers on 2017/03/20

Still not sure why (as the WiFi here didn’t change) but I had the LED of my ScanSnap ix500 scan button light up orange instead of blue.

Via How to Connect More than One Mobile Device to Your ScanSnap iX500 [WayBack], I found out it means this:

If the light is orange, go to the ScanSnap Wireless Setup Tool and check the mobile connection.

 

Evernote suggests to have it re-connect over WPS [WayBack] but in as WPS has big security issues this is not a good idea.

So I hooked it up over USB and re-registered it to the WiFi connection. You can do this from both a Windows PC and Mac:

configure your ScanSnap iX500 to a different router, follow the step-by-step instructions here [WayBack]

If I ever want to use it on Linux: it is possible to get it to work, see 12.10 – Does the ScanSnap IX500 work with Ubuntu? – Ask Ubuntu

–jeroen

Posted in Fujitsu ScanSnap, Hardware, ix500, Power User, Scanners | Leave a Comment »

ducks: How Do I Find The Largest Top 10 Files and Directories On a Linux / UNIX / BSD?

Posted by jpluimers on 2017/03/20

Explains how to find out top 10 files and directories under Unix / Linux using sort and du command in human-readable format.

Interesting, especially

alias 'ducks=du -cks * | sort -rn | head'

Source: How Do I Find The Largest Top 10 Files and Directories On a Linux / UNIX / BSD?

via: Joe C. Hecht and nixCraft.

–jeroen

Posted in *nix, *nix-tools, Apple, BSD, Linux, Mac, Mac OS X / OS X / MacOS, Power User | Leave a Comment »

defrag.exe: tracking an already in progress operation can be done from non-admin session

Posted by jpluimers on 2017/03/17

When you want to defrag.exe (the built-in Windows one, not the SysInternals Windows NT4 one, so make sure SysInternals comes last in your path) a volume, you have to run it with an elevated UAC Admin token.

But I just found out that you can do this without an Admin token:

C:\Windows\System32>Defrag.exe C: /t /v /u
Microsoft Drive Optimizer
Copyright (c) 2013 Microsoft Corp.

Tracking operation on (C:)...


Performing pass 2:
        Free Space Consolidation:  31% complete...

This makes it much easier to separate monitoring scripting from execution.

–jeroen

Posted in Batch-Files, Development, Scripting, Software Development | Leave a Comment »

Ctrl-T — www.voidtools.com • View topic – Everything window is ‘Always On Top’

Posted by jpluimers on 2017/03/17

If you use everything search from VoidTools, then don’t be surprised that pressing Ctrl-T makes it “Always On Top”:

Ctrl-T sets

Ctrl-T sets “Always On Top”

Of course this is not defined in “Tools” -> “Options”.

I forgot in which version this was introduced, as in the past I never stumbled over it on keyboards that have Ctrl and Alt reversed.

–jeroen

via: www.voidtools.com • View topic – Everything window is ‘Always On Top’

 

Posted in Everything by VoidTools, Keyboards and Keyboard Shortcuts, Power User, Windows | Leave a Comment »

Decode URLs from The Great Suspender after a browser restart fails to reload them

Posted by jpluimers on 2017/03/16

Hosted at: Decode URLs from The Great Suspender after a browser restart fails to reload them

Converts URLs like these:
chrome-extension://klbibkeccnjlkjkiokjodocebajanakg/suspended.html#url=http%3A%2F%2Fwww.barryodonovan.com%2F2012%2F06%2F29%2Fmigrating-svn-with-branches-and-tags-to-git
back into
http://www.barryodonovan.com/2012/06/29/migrating-svn-with-branches-and-tags-to-git

Source below.

It decodes a URL encoded by The Great Suspender which is a cool Google Chrome plugin that suspends pages after some idle time.

The uncool thing is that when Google Crome restarts after a crash (it’s software, it does that, especially as it consumes truckloads of memory and is full of memory leaks) it often fails to restore some (but not many) of the suspended pages into a usable state: it shows only the encoded URLs.

–jeroen


<!DOCTYPE html>
<!–
Resurrect
Based on 20160531-Google-Plus–403.-That’s-an-error.–Your-client-does-not-have-permission-to-get-URL–sorry–IndexRedirect–workaround.html
at https://gist.github.com/jpluimers/4f07a2f3f9b9890a3a44e184c1abadf2
Converts URLs like these:
chrome-extension://klbibkeccnjlkjkiokjodocebajanakg/suspended.html#url=http%3A%2F%2Fwww.barryodonovan.com%2F2012%2F06%2F29%2Fmigrating-svn-with-branches-and-tags-to-git
back into
url=http://www.barryodonovan.com/2012/06/29/migrating-svn-with-branches-and-tags-to-git
The Great Suspender Google Extension:
https://chrome.google.com/webstore/detail/the-great-suspender/klbibkeccnjlkjkiokjodocebajanakg
Test at http://jsbin.com/yukidaferu/1/edit?html,console,output
–>
<html>
<title>Decode URLs from The Great Suspender after a browser restart fails to reload them</title>
<body>
<h1>Decode URLs from The Great Suspender after a browser restart fails to reload them</h1>
<p>Please URL encoded by <a href="https://github.com/deanoemcke/thegreatsuspender&quot; target="_blank">The Great Suspender</a>:</p>
<input id="suspenderUrl" size="200">
<button type="button" onclick="decodeSuspenderUrlMethod()">Submit</button>
<div id="decodedUrlsCaptionDiv">
<p id="decodedUrlsCaption">Here you will see the decoded URLs so you can follow them:</p>
</div>
<ul id="decodedUrlsUl">
</ul>
<script>
// based on http://www.w3schools.com/js/tryit.asp?filename=tryjs_intro_validate
function decodeSuspenderUrlMethod() {
var decodedUrl = "";
var errorText = "";
// Get the value of the input field with id="numb"
var suspenderUrl = document.getElementById("suspenderUrl").value;
var stripPrefix = "chrome-extension://klbibkeccnjlkjkiokjodocebajanakg/suspended.html#url=";
var prefix = stripPrefix + "http";
// Am I a SO developer now? At least I'm quickly learning some JavaScript basics…
// http://stackoverflow.com/questions/1767246/check-if-string-begins-with-something/9430330#9430330
// https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/substring
if (suspenderUrl.indexOf(prefix) == 0) {
// now strip the bits we don't need, then decode what is left.
// I always wondered why they call it substring instead of subString
var googlePlusEncodedUrl = suspenderUrl.substring(stripPrefix.length);
// decoding got a new new a while ago: http://stackoverflow.com/questions/4292914/javascript-url-decode-function/4292961#4292961
decodedUrl = decodeURIComponent(googlePlusEncodedUrl);
} else {
errorText = "URL is missing this prefix: <<" + prefix + ">>";
};
// for now, just add the output; in the future, only add unique output.
// Based on http://stackoverflow.com/questions/5519747/how-to-add-anchor-tags-dynamically-to-a-div-in-javascript/5519795#5519795
var decodedUrlsUl = document.getElementById("decodedUrlsUl");
var decodedUrlLi = document.createElement('li');
if (errorText == ""){
var aTag = document.createElement('a');
aTag.setAttribute('href', decodedUrl);
aTag.innerHTML = decodedUrl;
decodedUrlLi.appendChild(aTag);
} else {
var aDiv = document.createElement('div');
aDiv.innerHTML = errorText + " " + suspenderUrl;
decodedUrlLi.appendChild(aDiv);
}
decodedUrlsUl.appendChild(decodedUrlLi);
}
</script>
</body>
</html>

Posted in Chrome, Development, Google, HTML, HTML5, JavaScript/ECMAScript, Power User, Scripting, Software Development, Web Development | Leave a Comment »

Fixing 0x858C001E error on SQL Server 2012/2014 updates

Posted by jpluimers on 2017/03/16

A long time ago I wrote about Fixing 84b40000 error on SQL Server 2008 updates (like KB2977321 and KB2285068).

The same holds for error 0x858C001E errors when updating SQL Server 2012 and 2014:

For x86 systems, ensure these directories are not compressed:

C:\Program Files\Microsoft SQL Server
C:\Program Files\Microsoft SQL Server Compact Edition

For x64 systems, ensure these directories are not compressed:

C:\Program Files\Microsoft SQL Server
C:\Program Files x86\Microsoft SQL Server
C:\Program Files x86\Microsoft SQL Server Compact Edition

Sources:

–jeroen

Posted in Database Development, Development, SQL Server, SQL Server 2012, SQL Server 2014 | Leave a Comment »