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

Experimenting with HTTP services – UrlEcho and UrlReq

Posted by jpluimers on 2015/04/16

Interesting, especially the reasoning behind them:

UrlEcho permits the requestor to completely define the response it wants to receive, thus giving it the ability to “host” static HTTP resources within URLs themselves. Why is this cool/useful? #

  • You don’t need a Web server to host a simple resource — you just construct a URL and you’re set to go.
  • Since resources are cheap to create and throw away, you can create as many URLs as you want, when you want them.
  • This is especially useful for testing — you don’t want to configure many server-side resources to return hard-coded responses in order to test correct handling of that response. For example, imagine you need many simple iframes to test a JavaScript library, and you don’t want to modify the server hosting the iframes each time you add or change tests. Since you already know what the responses will be, why not define them in the requests and have a simpler testing process? It makes tests easier to maintain no need to modify the server and understand due to response visibility in the tests.

UrlEcho [ed: UrlReq] lets the requestor to wrap any HTTP request any method, with headers and body into a simple GET request with only an URL defined. Why is this cool/useful? #

  • You can make any HTTP request in situations where only a simple GET is possible, or where you can only define just the URL. For example, most systems that provide Web hook callbacks only let you define the callback URL only not the method, headers or body structure.

–jeroen

via: Experimenting with HTTP services – UrlEcho and UrlReq.

Posted in Communications Development, Development, HTTP, Internet protocol suite, Software Development, TCP | Leave a Comment »

Mobile Scanning Apps: A look Into The Dark Side By: Joe C. Hecht – Code4Sale,…

Posted by jpluimers on 2015/04/15

Summary of the dark side:

Every app we tested saved the image in a grayscale JPEG format. Simply put, you scan your document, save it in “space saving” monochrome, then the app up-samples it to a now “space wasting” grayscale format, dials in a low quality lossy compression ratio to make you think you are saving space, and thereby throws away some of the pixels in your scan.

A very interesting read by Joe Hecht. Nothing new for old FAX, TIFF and PDF farts like me. Entertaining and hopefully teaching for the newer generations of software developers.

So if you ever do PDFs of paper scans:

  1. use monochrome
  2. use loss-less compression
  3. look at what FAX machines did back in the days for pixel perfect legal proof documents
  4. know about PDF/A

–jeroen

via Mobile Scanning Apps: A look Into The Dark Side By: Joe C. Hecht – Code4Sale,….

Posted in Development, Software Development | 1 Comment »

Delphi XE8 things I learned from the first week of G+ reading

Posted by jpluimers on 2015/04/15

Components and tools that work with XE8:

Appmethod

--jeroen

Posted in Castalia, Delphi, Delphi XE8, Development, Software Development | Tagged: , , , | 3 Comments »

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 »

Oh Mein Gott…

Posted by jpluimers on 2015/04/09

Oh Mein Gott….

Demo party time. Amazing. As it runs on an early 4.77 Mhz IBM 8088 PC with CGA video.

–jeroen

 

Posted in History | Leave a 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 »