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 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 »
Posted by jpluimers on 2017/03/21
I totally forgot that GExperts can be under the Tools men

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 »
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 »
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 »
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 »
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”:
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 »
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" 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 »
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 EditionFor 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 »
Posted by jpluimers on 2017/03/15
One day I write some scripts based on:
Some starting materials are at:
A thing I learned is that the Microsoft Remote Desktop 8 is basically a rebranded iTap RDP (it looks like Microsoft bought iTap RDP for Mac, as iTap RDP for Mac is now discontinued)
–jeroen
Posted in Apple, Development, Mac OS X / OS X / MacOS, OS X 10.10 Yosemite, OS X 10.11 El Capitan, OS X 10.8 Mountain Lion, OS X 10.9 Mavericks, Power User, Remote Desktop Protocol/MSTSC/Terminal Services, Scripting, Software Development, Windows, XML, XML/XSD | Leave a Comment »
Posted by jpluimers on 2017/03/15
Sometime you might want to protect your data in memory – the greatest example is when dealing with anything related to passwords. It is simply not smart to keep that data around in a plain-text. In .NET there are multiple methods you can use for this purpose, starting with SecureString, ProtectedMemory, and my favorite ProtectedData.…
Source: How to secure memory? – Medo’s Home Page
via: Found this via +Ilya S a post from +Josip Medved – Stuff like this should be way built into an OS, and RTL’s should have a secureMalloc()… – Joe C. Hecht – Google+
–jeroen
Posted in .NET, .NET 4.0, .NET 4.5, C#, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development | Leave a Comment »