Woot!
AsciiImage for Delphi by Alexander Benikowski on GitHub repository Memnarch/AsciiImage..
–jeroen
via: And here it is: AsciiImage for Delphi http://memnarch.bplaced.net/blog/?p=129.
Posted by jpluimers on 2015/05/21
Woot!
AsciiImage for Delphi by Alexander Benikowski on GitHub repository Memnarch/AsciiImage..
–jeroen
via: And here it is: AsciiImage for Delphi http://memnarch.bplaced.net/blog/?p=129.
Posted in Delphi, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/05/20
Adding relative links to screenshots in markdown files (like README.md) works way better at GitHub than on BitBucket:
For GitHub, this works, has documentation and various places with tips:
In fact it is a reason for some people to move public projects from Bitbucket to GitHub.
For private repositories that is different as GitHub charges for private repositories, but BitBucket has free private repositories.
Note: if you go the npm way, then you might want to have absolute URLs: Add images to readme.md in GitHub – Stack Overflow.
–jeroen
via: git – How to add screenshot to READMEs in github repository ? – Stack Overflow.
Posted in BitBucket, Development, DVCS - Distributed Version Control, git, GitHub, MarkDown, Mercurial/Hg, Power User, Source Code Management, SourceTree | Leave a Comment »
Posted by jpluimers on 2015/05/19
Now that DynamicDNS moved itself to a fully payed service, named it DynDns Pro, then renamed it Remote Access and limiting it to 30 hosts for USD 25 a year, I looked for alternatives, and noticed NO-IP.
I like it for a few reasons:
OK, last year, there was this Microsoft Legal Action and Controversy, but I think that is a once time thing (some people even argue that Microsoft wasn’t thinking), so I created the last script below in PowerShell.
A few open-source scripts to keep your NO-IP account happy (that also work on most other DDNS providers like Duck DNS):
Posted in *nix, *nix-tools, bash, CommandLine, Development, Perl, PHP, Power User, PowerShell, Scripting, Software Development | 1 Comment »
Posted by jpluimers on 2015/05/16
Interesting:
There is no extra charge for use of BitTorrent with Amazon S3. Data transfer via the BitTorrent protocol is metered at the same rate as client/server delivery. To be precise, whenever a downloading BitTorrent client requests a “piece” of an object from the…
Note
You can get torrent only for objects that are less than 5 GB in size.
via Using BitTorrent with Amazon S3 – Amazon Simple Storage Service.
–jeroen
via Oh wow. Apparently all S3 buckets are also BitTorrent trackers..
Posted in Amazon S3, Cloud Apps, Cloud Development, Development, Internet, Power User | Leave a Comment »
Posted by jpluimers on 2015/05/14
Insightful :
SE-Radio Episode 225 Brendan Gregg on Systems Performance by Software Engineering Radio – The Podcast for Professional Software Developers
On dtrace, stack tracing bottlenecks, CPU cached vs non cached being the new bottleneck like uncached/cached disk IO used to be, heat-maps of performance and much more.
He wrote a great book too: Systems Performance: Enterprise and the Cloud: Brendan Gregg: 9780133390094: Amazon.com: Books.
–jeroen
via: Insightful : SE-Radio Episode 225 Brendan Gregg on Systems Performance by….
Posted in Development, Software Development | Leave a Comment »
Posted by jpluimers on 2015/05/14
I tend to forget some of the keywords you can put into BitBucket commit messages to relate them to certain issues/bugs/tickets
Posted in BitBucket, Development, GitHub, Software Development, Source Code Management | Leave a Comment »
Posted by jpluimers on 2015/05/13
A while ago, I posted [WayBack] the below StackOverflow answer. Recently a friend asked me about command-line parsing in Delphi, so here is the re-run:
Delphi contains a really nice unit called CommandParser with a [WayBack] TCommandParser class that does commandline parsing for you. Since it has [WayBack] virtually no documentation, here are a few things to get started. It works even in Delphi 2007.
I have a HiddenExecutable example at our open source bo repository.
Basically you:
THiddenExecuteSettings in the HiddenExecuteSettingsUnitTHiddenExecuteArguments in theTHiddenExecuteArgumentsUnit (in retrospect not such a good name) that contains an InitCommandLine method that sets up a TCommandParser instance passing it your TComponenth and help)TCommandParser instance to process the commandline and fill the properties of your TComponent (in my example, this is done in the ProcessCommandLine method).Now comes the fun:
HelpText method that fully automatically assembles a helptext based upon what you fed it with the AddSwitch methods.SaveOptions method that allows you to save the current settings of your TComponent into a settings file.The Delphi units you need are these which you can get from the Embarcadero [WayBack] radstudiodemos.sourceforge.net demo repository:
CommandParser in '...\radstudiodemos.sourceforge.net\branches\RadStudio_XE2\Delphi\Database\dbExpress\Utils\CommandParser.pas',
PropertyHelpers in '...\radstudiodemos.sourceforge.net\branches\RadStudio_XE2\Delphi\Database\dbExpress\DbxDataPump\PropertyHelpers.pas',
ParseIds in '...\radstudiodemos.sourceforge.net\branches\RadStudio_XE2\Delphi\Database\dbExpress\DbxDataPump\ParseIds.pas',
Edit: [WayBack] John Kaster wrote a nice [WayBack] article on EDN that includes [WayBack] more details on using the TCommandParser.
Note the above mentioned code mostly is on [WayBack] https://bitbucket.org/jeroenp/wiert.me/src/tip/Native/Delphi/Apps/Console/HiddenExecuteConsoleProject
Since Delphi XE7, this unit does not ship with Delphi any more, but it is still at [WayBack] RAD Studio Demo Code / Code / [r2029] /branches/RadStudio_XE6/Object Pascal/Database/dbExpress/Utils/CommandParser.pas.
–jeroen
via: [WayBack] delphi – Suggestions for how to define command line parameters – Stack Overflow.
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Delphi XE7, Development, Software Development | 4 Comments »
Posted by jpluimers on 2015/05/12
Boy, Microsoft made it hard to find the location of xsd.exe!
It is actually located like here:
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\xsd.exe
But that is nowhere on the default path, nor in the registry.
What happens during installation of Visual Studio and/or the Microsoft SDK, is that the vsvars32.bat file of Visual Studio is updated so it can add the location of many tools (including xsd.exe) to the PATH.
So the trick is to find the youngest Visual Studio first, then run the according vsvars32.bat, and then xsd.exe is on the path.
| :: Dynamically finds the installed xsd.exe, then calls it with the passed parameters | |
| :: test these environment variables that have 110 or 120 in them (future enhancements: support more Visual Studio versions): | |
| :: Visual Studio .NET 2002: VS70COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET\Common7\Tools\ | |
| :: Visual Studio .NET 2003: VS71COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio .NET 2003\Common7\Tools\ | |
| :: Visual Studio 2005: VS80COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\Tools\ | |
| :: Visual Studio 2008: VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\ | |
| :: Visual Studio 2010: VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\ | |
| :: Visual Studio 2012: VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\ | |
| :: Visual Studio 2013: VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\ | |
| :: They contain `vsvars32.bat` which will update the `PATH` so it includes where `xsd.exe` resides | |
| setlocal enabledelayedexpansion | |
| :: delayed expansion allows for the exclamation marks | |
| :: see http://ss64.com/nt/delayedexpansion.html | |
| :: see http://stackoverflow.com/questions/22857407/windows-batch-how-to-assign-variable-with-dynamic-name | |
| for %%v in (70 71 80 90 100 110 120 130) do if not [!VS%%vCOMNTOOLS!]==[] set VSCOMNTOOLS=!VS%%vCOMNTOOLS! | |
| call :do call "!VSCOMNTOOLS!vsvars32.bat" | |
| call :do where xsd.exe | |
| xsd.exe %* | |
| endlocal | |
| goto :eof | |
| :do | |
| echo %* | |
| %* | |
| goto :eof |
–jeroen
via:
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development, Visual Studio 11, Visual Studio 2010, Visual Studio 2013, Visual Studio 2014, Visual Studio and tools, XML/XSD, XSD | 1 Comment »
Posted by jpluimers on 2015/05/07
Usually I setup the grouping and filtering of the Test Explorer like this:
I really wish there was a multi-level grouping possibility here (:
–jeroen
Posted in .NET, Development, Software Development, Visual Studio 11, Visual Studio 2013, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2015/05/06
It took me a while to figure this one out:
When you have a registered Delphi, you can Ctrl-Click browse both the units and symbols of RTL, VCL, etc. But Delphi will not recompile these units.
Some third party components you cannot Ctrl-Click browse the units or symbols, unless you put the source directory in the Delphi Library Path (which causes them to be compiled each and every time).
This is because:
These are the possible values for that directive:
So please component vendors: when you ship source code, make it IDE-browsable as well by compiling with $YD or $Y+.
–jeroen
via:
Posted in Delphi, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 2 Comments »