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

Turbo Pascal: My 1996 answer to Q: How can I reverse a TP .EXE or .TPU back into source code?

Posted by jpluimers on 2014/03/20

Wow, did I really wrote that 18 years ago?

Yes I did, and I was quoted in the (back then famous) FAQPAS3.TXT from (now Professor Emeritus) Timo Salmi: The third set of frequently (and not so frequently) asked Turbo Pascal questions with Timo’s answers. The items are in no particular order.

From ts@uwasa.fi Fri Nov 8 00:00:56 1996
Subject: Decompiling a TP .EXE

56.
Q: How can I reverse a TP .EXE or .TPU back into source code?

A: This is simply asking too much. You cannot decompile a TPprogram in a manner that would give you back the original source.This method of reverse engineering is not on in actual practice.

Quoting Jeroen Pluimers jeroenp@dragons.nest.nl

“During thecompilation, important information gets lost about variables,types, identifiers etc. Writing a Pascal Decompiler is impossible.The best you can achieve is a disassembler that can help yourecognize some Pascal statements.”

Since then I learned that compilers emit highly predictable CPU code that – with the right, and sometimes complex, algorithms – can be reconstructed into language structures.

Of course you are missing the identifiers and comments, but you can some remarkable info, especially with well structured code.

Two more links about this:

–jeroen

via: FAQPAS3.TXT.

Posted in Delphi, Development, Pascal, Software Development, Turbo Pascal | 2 Comments »

Database Workbench v4 – version: 4.4.5. got released (via: News @ Upscene Productions)

Posted by jpluimers on 2014/03/19

Today, Version 4.4.5 of Database Workbench got released.

It mainly is a bugfix release (15 out of 18 issues were bugfixes, of the rest, 2 are feature requests, 1 enhancement): List of items new/enhanced/fixed in Product: Database Workbench v4 – version: 4.4.5.

Download from the trial/lite download page, or from the customer download page.

Enjoy (:

–jeroen

via: News @ Upscene Productions.

Posted in Database Development, Delphi, Development, Firebird, InterBase, MySQL, NexusDB, OracleDB, Software Development, SQL Server, Sybase SQL Anywhere | Leave a Comment »

Help translating AllCast to your local language (via: CastResources/values-nl at master · koush/CastResources)

Posted by jpluimers on 2014/03/19

AllCast now has Dutch resources (CastResources/values-nl at master · koush/CastResources) and you can help translating it into your local language here:

CastResources at master · koush/CastResources.

–jeroen

Posted in Development, Software Development | Leave a Comment »

ChromeCast emulation app for any device (via: dz0ny/leapcast)

Posted by jpluimers on 2014/03/18

Interesting open source project:

leapcast: ChromeCast emulation app for any device.

–jeroen

via:

Posted in Development, Python, Scripting, Software Development | Leave a Comment »

Delphi: reminder to self on differencing memory allocation dumps

Posted by jpluimers on 2014/03/18

Reminder to self: some great ideas to hunt for memory leaks while your application is running: differencing allocation dumps, DDDebug Memory Profiler, etc.

TURBU Tech » Blog Archive » Wanted: live leak detection for FastMM.

Thanks to the TURBU Tech blog from Mason Wheeler.

–jeroen

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

logic – What is the optimal algorithm for the game 2048? – Stack Overflow

Posted by jpluimers on 2014/03/15

Interesting: simple time consuming game that is relatively simple to create an algorithm for: logic – What is the optimal algorithm for the game 2048? – Stack Overflow.

Posted in Development, Software Development | Leave a Comment »

3D Nearest-Neighbor Geometry Matching: Detailed 3D models from a single 2D image (via: Research at Google – Google+)

Posted by jpluimers on 2014/03/15

Impressive: Research at Google – Google+ – 3D Nearest-Neighbor Geometry Matching: Detailed 3D models of a scene from a single 2D image….

–jeroen

via: Kristian Köhntopp – Google+.

Posted in Development, Software Development | Leave a Comment »

How to Reconnect Web Sockets in a Realtime Web App without Flooding the Server (via: John Ryding)

Posted by jpluimers on 2014/03/14

Interesting: John Ryding | Blog: How to Reconnect Web Sockets in a Realtime Web App without Flooding the Server.

I’ve used similar algorithms in various applications, and never knew it is called “Exponential backoff“.

Now I know.

And I know I should to some more research in WebSocket. Sounds really interesting.

–jeroen, never too old too learn (:

via: Ilya Grigorik – Google+ – Nice explanation (with code) of why you should be using exponential backoff for reconnects….

Posted in Development, Software Development | Leave a Comment »

deltree c: /y: How to identify a skilled programmer during an interview

Posted by jpluimers on 2014/03/13

Very interesting from both perspectives: deltree c: /y: How to identify a skilled programmer during an interview.

–jeroen

Posted in Agile, Development, Software Development | 2 Comments »

Podcast 106: Shipping | iDeveloper; about RemObjects C# and a lot of other stuff

Posted by jpluimers on 2014/03/13

Listen to Podcast 106: Shipping | iDeveloper.

A few notes:

  • RemObjects C# on iOS is based on LLVM, so I assume the other platforms use that too.
  • Both guys are really busy shipping stuff, and it is hard.

–jeroen

Posted in .NET, C#, C# 1.0, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, RemObjects C#, Software Development | 2 Comments »