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

NTCore: interesting site about about system internals and software security

Posted by jpluimers on 2014/09/30

I recently bumped into the NTCore website by Daniel Pisti.

At a client without my own VMs, I wanted to create a DebugBreak like function in Delphi, which I remembered from my Turbo Pascal days to be something like Inline($CC). So searching for both Delphi and INT 3, I found an EXE injection page at NTCore.

In Delphi, you can do this with a procedure like this, which cannot be inlined because it has an asm block:

procedure DebugBreak();
asm
  int 3
end;

(Reminder to self: sort out what to do here to break on an iOS device; Xcode has an alternative)

The site has information about system internals and software security posted as articles until 2009,  when he switched to blog posts. Besides that, he has written a bunch of interesting articles at CodeProject. Read the rest of this entry »

Posted in Delphi, Development, Pascal, Power User, Software Development, Turbo Pascal, Windows, xCode/Mac/iPad/iPhone/iOS/cocoa | 3 Comments »

bash vulnerability; patch your *n*x boxes A.S.A.P. (via: CERT/NIST reveal level 10 bash alert today, 24 September 2014)

Posted by jpluimers on 2014/09/25

Unpatched bash allows for remote code execution.

Patch as soon as you can and be aware that the current patches might not be complete.

Many vendors (including Debian, Red Hat, SuSE, Ubuntu) already have patches available: CERT/NIST reveal level 10 bash alert today, 24 September 2014.

This is a long article which explains the why/how/… and has an easy check to see if you are vulnerable: What is the CVE-2014-6271 bash vulnerability and, how do I fix it.

It looks like the current patches aren’t complete yet, but do plug big parts of the hole.

Watch bash CVEs in Ubuntu and CVE-2014-7169 in Ubuntu (and maybe for other nx varieties as well).

Update:

Quote from the article:

Read the rest of this entry »

Posted in *nix, *nix-tools, bash, Development, Power User, Scripting, Software Development | Leave a Comment »

A few must watch videos on test driven development and unit testing

Posted by jpluimers on 2014/09/25

If you are going to do test driven development and unit testing, you should watch these videos and slide decks, most of them by Miško Hevery:

  1. Not a video, but a good starter: Guide: Writing Testable Code (or read the PDF version).
  2. 0:32:07 ▶ “The Clean Code Talks — Unit Testing” – YouTube.
  3. 0:37:56 ▶ The Clean Code Talks – Don’t Look For Things! – YouTube. Read the rest of this entry »

Posted in .NET, Agile, C#, Delphi, Development, Java, Java Platform, JavaScript/ECMAScript, Pascal, Scripting, Software Development, Unit Testing, VB.NET | 2 Comments »

Delphi poor mans debugging trick: approximate the source location of an exception address

Posted by jpluimers on 2014/09/24

A while ago, I had a client with an exception on a workstation.

There was no permission to run a debugger on their system, or use something like MadExcept or Exceptional Magic in their code base.

The exception looked like this:

---------------------------
Application Error
---------------------------
Exception EInOutError in module MyApplication.exe at 001656B1.File access denied.
---------------------------
OK
---------------------------

These are the steps to get at the source line in an x86 Delphi program (I still have to try the x64, but presume it works similarly): Read the rest of this entry »

Posted in Delphi, Delphi 2005, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi 7, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Development, Software Development | 3 Comments »

Generate XSD from XML – XSD.EXE versus on-line tools – take 2

Posted by jpluimers on 2014/09/23

Almost 4 years ago, I compared XSD.EXE to some on-line tools. Time for a follow-up.

From the old post:

XML Utilities has since then moved to a new domain: www.xmlutilities.net; the other 2 are still at their original locations.

New on-line generators I got pointed at by Mark O’Connor’s stackoverflow answer:

  1. Free Online XSD/XML Schema Generator From XML – FreeFormatter.com.
  2. XML to XSD Generater Online – xmlGrid.net.

Neither of them can generate the XML types separately like XmlForAsp XML Schema Generator does.

But the first one does get attributes right, whereas all the others often skip some or all of the attributes.

–jeroen

via Generate XSD from XML – XSD.EXE versus on-line tools « The Wiert Corner – irregular stream of stuff.

Posted in Development, Software Development, XML, XML/XSD, XSD | 4 Comments »

Optimal posting time? (via: Are there optimal days/hours to post questions in order to get visibility and answers? – Meta Super User)

Posted by jpluimers on 2014/09/22

A while ago, i came across this interesting question: Are there optimal days/hours to post questions in order to get visibility and answers? – Meta Super User.

The recommended time 1400 UTC is related to my blog post scheduling behaviour.

Virtually all my blog posts are either (when both apply at the same time, that is pure coincidence):

I schedule posts on Monday through Friday:

Difference between 0600 UTC and 1400 UTC

So why the time difference of about 8 hours between 0600 UTC and 1400 UTC?

That has to do with the public I generally interact with: software developers speaking English, mainly living in European and USA, with a minority in India, Asia and down-under.

  • At 0600 UTC, most Europeans are about to wake up or just arrived at work, so they get fresh content. Still quite a few people from India and Asia are up (returning from work) can read it the same day it was posted. And virtually everyone in the USA is still sleeping, so they get fresh content too.
  • At 1400 UTC, most Europeans are at work, people at the USA East Coast just started working and the rest of the USA is waking up and (hopefully) going to work. So you get a huge group of on-line people online with a high chance if comment/answer interaction on your question: great for getting answers on the same day.

“Missed Schedule” on WordPress blogs Read the rest of this entry »

Posted in Facebook, G+: GooglePlus, LifeHacker, LinkedIn, Power User, SocialMedia, Twitter, WordPress | Leave a Comment »

Abstract syntax tree builder for Delphi

Posted by jpluimers on 2014/09/20

So I won’t forget: Abstract syntax tree builder for Delphi.

Abstract syntax tree builder for Delphi
DelphiAST Announce
roman.yankovsky.me

Based on CastaliaDelphiParser. Published with MPL license.

–jeroen

via: Does anyone know of a way to get an AST of a Delphi unit? Out of the various….

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

Fixed this error in Continua CI: Build ErrorUnable to start build – No changesets found in repository: [FastMM-jeroenp]

Posted by jpluimers on 2014/09/18

Recently I got an error like this in Continua CI:

Build ErrorUnable to start build – No changesets found in repository: [FastMM-jeroenp]

This was about my Git FastMM repository on BitBucket. Which is a Git repository originally gotten through Git SVN (more on that at a later time).

Since it is not an SVN repository, SVN – No changesets found in repository – VSoft Technologies does not apply, but got me closer to the solution

The solution is this

Read the rest of this entry »

Posted in Continua CI, Continuous Integration, Development, DVCS - Distributed Version Control, git, Software Development, Source Code Management, Subversion/SVN | 3 Comments »

ModelMaker Tools released Code Explorer v 11.1.0 with Delphi XE7 support (via: ModelMaker Code Explorer: Refactoring made Easy! – Class Explorer, Refactoring Browser for Delphi.)

Posted by jpluimers on 2014/09/18

Nice!

On September 17th 2014 ModelMaker Tools released Code Explorer v 11.1.0 This update includes Delphi XE7 support.

–jeroen

via ModelMaker Code Explorer: Refactoring made Easy! – Class Explorer, Refactoring Browser for Delphi..

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

Continua CI – v1.5.0.295 Released. Critical bug fix for Git; requires resetting your Git repositories

Posted by jpluimers on 2014/09/18

If you run Continua CI 1.5.x.y and use Git then make sure you upgrade to at least Continua CI 1.5.0.295 (get it from the Continua CI download page).

Click on the shield icon, followed by

Click on the shield icon, followed by “CI Server”

After that, reset all your Git repositories in ContinuaCI.

To view all the repositories on the server, follow either of these steps:

  • A:
    1. Logon as an administrator with the rights to view all repositories on the Continua CI server.
    2. Click on the shield icon in the top bar.
    3. Then click on “CI Server”.
    4. In the list on the left, scroll down and click “Repositories”.
  • B:
    1. Logon as an administrator with the rights to view all repositories on the Continua CI server.
    2. Note the URL in the address bar of your browser (for instance http://localhost:8080/ci).
    3. Replace the /ci part of your URL with /administration/ci/repositories (so you end up at something like http://localhost:8080/administration/ci/repositories).
    4. Go to that URL.

Now you are in the repositories section, where you see all the repositories configured on the Continua CI. Each repository has a [Reset] link in the right most column.

Then follow these steps: Read the rest of this entry »

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