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

Archive for the ‘Software Development’ Category

Now that XE8 is out, some Turbo Pascal history

Posted by jpluimers on 2015/04/14

A few people asked, so below is a picture of just a piece of my books closet.

From left to right:

  1. Object Professional 1.0 manuals volume 1-3
  2. BTree Filer 5.0 manual
  3. Turbo Professional manual (from 1985!)
  4. Borland Paradox Engine 3.0 manuals
  5. Crystal Reports Developers Edition
  6. Borland Open Architecture Handbook for Pascal
  7. Turbo Pascal 5.5 OOP Guide
  8. Turbo Pascal 5.5 Reference Guide
  9. Turbo Pascal 5.5 User’s Guide
  10. Turbo Pascal Quick Reference
  11. Programming with Turbo Vision

This is only the front-left portion of one shelve. Most shelves are two deep and about 4 times as wide as what you see here (:

I have floppies somewhere in my archive too. Need to dig them up some day.

–jeroen

via:

Read the rest of this entry »

Posted in Delphi, Delphi XE8, Development, History, Pascal, Software Development, Turbo Pascal | 6 Comments »

Batch file that finds and starts Cntlm.exe in verbose mode.

Posted by jpluimers on 2015/04/13

As a follow up on the Cntlm configuration post last week, here is a small batch file that will find Cntlm.exe (on x86 and x64 systems) then start it in verbose mode.


call :start %ProgramFiles%
call :start %ProgramFiles(x86)%
goto :end
:start
startlocal
set cntlm="%*\Cntlm\Cntlm.exe"
echo %cntlm%
if exist %cntlm% start "Cntlm verbose" %cntlm% -v
endlocal
goto :end
:end

–jeroen

Posted in Cntlm, Development, Fiddler, NTLM, Power User, Web Development, Windows, Windows 7, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2003 R2, Windows Server 2008, Windows Server 2008 R2, Windows Vista, Windows XP, Windows-Http-Proxy | Leave a Comment »

How to fill proxy information in cntlm config file (via: Stack Overflow)

Posted by jpluimers on 2015/04/10

This is an elaboration of How to fill proxy information in cntlm config file – Stack Overflow.

When digging around how to get authentication stuff going, I want as much information, so this was the command-line I used:

cntlm.exe -v -c cntlm.ini -I -M http://www.bbc.co.uk

The -v is important: it shows you why things fail, and where: It also shows you the NTLM headers sent back/forth over the wire.

These are the switches used:

  • -v verbose
  • -c configuration file
  • -I interactive (prompt for password)
  • -M magically detect the NTLM level used by the proxy

Since it is unsafe to store plain text passwords in configuration files, cntlm allows you to store the hashes.

Storing hashes not passwords locally is safer, but not much safer. See for instance Still Passing the Hash 15 Years Later: Guest Post: Let’s talk about Pass-the-Hash by Scriptjunkie the video How to own a Windows Domain or search for Mark Russinovich video windows hash ntlm hack.

Anyway: you can generate the password hashes using either     Read the rest of this entry »

Posted in Development, DVCS - Distributed Version Control, Fiddler, git, HTTP, Internet protocol suite, Mercurial/Hg, NTLM, Power User, Software Development, Source Code Management, TCP, Web Development, Windows, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Vista | 1 Comment »

Delphi XE8 is out with version 22.0.19027.8951; Spring4D is almost ready.

Posted by jpluimers on 2015/04/09

A while ago I wrote about Delphi XE7 is out with version 21.0.17017.3725; Spring4D is almost ready, now I can repeat parts of it for XE8.

The download links for Delphi XE8, C++Builder XE8 and RAD Studio XE8 are there: ftpd and altd. A whopping  7,217,184,768 bytes (compare that to XE7 update 1 at 5,649,917,952 bytes: almost 30% increase) that has been seeded a few days ago with the version time stamped at the end of last month (like xe7), here is the version number: 22.0.19027.8951.

Before installing, note that in addition to the below documentation links:

Be sure to have at least 70 gigabytes of free disk space before you attempt to install.

This in addition to the almost 7 GiB ISO file (:

The download is fast as altd is on akamai: the 7 GiB downloaded in about 16 minutes. Google can do the math.

XE8 doc links

Spring4D

On the Spring4D side, Stefan and Honza have added XE8 support, so a new release of that can be near.

–jeroen 

Posted in Delphi, Delphi XE8, Development, Software Development | 9 Comments »

mos6502: “This is currently the oldest publicly available piece of source written by Bill Gates.”

Posted by jpluimers on 2015/04/09

mos6502 wrote a really nice post on G+ with this quote:

“This is currently the oldest publicly available piece of source written by Bill Gates.”

A must read if you ever used Microsoft BASIC on a 6502 machine.

Lots of link to various sources of the Microsoft BASIC (it was developed on a PDP-10 that could even run the outputed 6502 assembly!)

–jeroen

via:  We’ve already had some posts on the BASIC programming language for the 6502,….

Posted in 6502, BASIC, Development, History, Software Development | Leave a Comment »

Looping through the variables – via: Version 1.5 History | Continua CI

Posted by jpluimers on 2015/04/08

On the research list because of this v1.5.1.90 feature:

{% for variable in Variables %}
    {% if variable.Name == 'MyAwesomeBuildVariable' and variable.Value != '' %}
        My Awesome Build Variable: {{ variable.Value }}
    {% endif %}
{% endfor %}

Just to see if it can help solving this issue I am having:

Wish: expansion of both $$ and %% in the same string.

To circumvent this error (where %TargetVersion%=XE2):

Could not expand query ‘$Agent.Delphi.%TargetVersion%.Path$’. Object reference not set to an instance of an object.

–jeroen

via:

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

Marking code as obsolete/deprecated in C# and Delphi

Posted by jpluimers on 2015/04/07

During any software life cycle, you will want to phase out some code, and most likely want to mark code to be phased out in the future.

So here are two examples on how to do that in C# and in Delphi that just shows the effects of obsoleting/deprecating code.

Read the rest of this entry »

Posted in .NET, .NET 1.x, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 6, Delphi 7, Delphi 8, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Delphi XE6, Development, Software Development | 6 Comments »

Developer Assistant for Visual Studio with access to millions of code samples- via: Google+

Posted by jpluimers on 2015/04/02

I’m going to experiment with this. Most likely the quality of the code samples will be the biggest factor in like/dislike result.

Visual Studio – Google+.

–jeroen

Posted in .NET, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 3.0, C# 4.0, C# 5.0, C# 6 (Roslyn), Development, Software Development, Visual Studio 2010, Visual Studio 2013, Visual Studio 2014, Visual Studio and tools | 1 Comment »

When Delphi documentation hurts: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation

Posted by jpluimers on 2015/04/01

A lot of the stuff on the Embarcadero docwiki hurts. For instance most of the REST stuff (I’m not calling it documentation) is just generated scaffolding. Like REST.Json.TJson.

But the TRESTResponseDataSetAdapter has some amazing documenation. About TComponent that is:

TComponent is the common ancestor of all component classes.

TComponent is the base class for all components. Components are persistent objects that have the following capabilities:

IDE integration. The ability to appear on an IDE palette and be manipulated in a Form Designer.

Ownership. The ability to manage other components. If component A owns component B, then A is responsible for destroying B when A is destroyed.

Streaming and filing. Enhancements of the persistence features inherited from TPersistent.

To assist the doc team: this is a query for all pages containing “TComponent is the common ancestor of all component classes.”. Feel free to [WayBack] QC or QP it.

–jeroen

via: REST.Response.Adapter.TRESTResponseDataSetAdapter – RAD Studio API Documentation.

Posted in Delphi, Development, Fun, QC, Software Development | 2 Comments »

BitSavers.org just added 7 missing scans of PascalNews newsletters (1975…1983)

Posted by jpluimers on 2015/03/30

For anyone keeping up with Pascal history, these uploads are new:

–jeroen

via: Index of /pdf/pascalNews.

Posted in Apple Pascal, BitSavers.org, DEC Pascal, Delphi, Development, History, IBM Pascal, Pascal, Software Development, Standard Pascal, Turbo Pascal, UCSD Pascal | Leave a Comment »