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 ‘Development’ Category

A flowchart to help you with your git…

Posted by jpluimers on 2015/06/11

I wish I had known this years ago. Thanks This is why I code!

This is why I Code Shared publicly: #Git  A flowchart to help you with your git decisions http://justinhileman.info/article/git-pretty.

This is the blog post; the chard is below.

Git pretty

This chart is from the presentation Changing History, or How to Git Pretty. Check it out to learn how to use this IRL.
Here’s a printable PDF version, if you’re into that sort of thing.

interactive git chart

If you like a more interactive way of decision making, this one is more elaborate: On undoing, fixing, or removing commits in git.

Note that on Windows, git does not like this:

git reset HEAD^

But does like this equivalent:

git reset HEAD~1

–jeroen

via A flowchart to help you with your git….

So you've made a mess of things?

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »

Moving my BitBucket mercurial repository to git was a lot harder than I hoped for (but moving to GitHub was easy)

Posted by jpluimers on 2015/06/10

After reading Converting Hg repositories to Git directed me into reading Bitbucket: Converting Hg repositories to Git I hoped moving my Mercurial repository on BitBucket to a Git repository would be something like following the steps.

It wasn’t.

First of all, hg-git on a Windows system requires Python or TortoiseHg. Neither of these I wanted to install for a one-off conversion.

So I took a throw-away Linux VM, and did the steps below. But let me first explain why.

Motivation

My motivation for moving away from BitBucket to GitHub, especially for projects containing markdown documentation.

When writing documentation in Markdown, being able to in-line reference pictures or have relative-references to other documents. This works perfectly in local Markdown tools (like MarkdownPad 2 or LightPaper).

Read the rest of this entry »

Posted in *nix, *nix-tools, BitBucket, Development, DVCS - Distributed Version Control, git, GitHub, Linux, Mercurial/Hg, openSuSE, Power User, Source Code Management, SuSE Linux | Leave a Comment »

revue: getting Tumbleweed on it.

Posted by jpluimers on 2015/06/09

Now that github stopped showing my README.rst as reStructuredText here is the htmlpreview link of the pandoc rendered reStructuredText:

revue: getting Tumbleweed on it.

It is about installing and configuring Tumbleweed which is a tad bit more frustrating than I hoped for.

In practice unixoids aren’t as heavenly as many geeks pretend them to be.

I got the htmlpreview solution via css – How to see an html page on github as a normal rendered html page to see preview in browser, without downloading? – Stack Overflow.

I might try the github pages in the future.

Sourcecode of htmlpreview is at htmlpreview/htmlpreview.github.com.

–jeroen

via:

Posted in *nix, Development, DVCS - Distributed Version Control, git, GitHub, Linux, openSuSE, Power User, Software Development, Source Code Management, SuSE Linux | Leave a Comment »

Yahoo Pipes Blog – Pipes End-of-life Announcement

Posted by jpluimers on 2015/06/05

Too bad. It was fun while it lasted: Yahoo Pipes Blog – Pipes End-of-life Announcement (thanks to Dennis for reporting this).

Which means that in a few months time, this pipe will be gone: Delphi Pipe – Delphi related RSS feed running on Yahoo Pipes – via twm’s blog « The Wiert Corner – irregular stream of stuff.

There is an alternative: http://www.beginend.net/

That redirects to https://www.beginend.net/ which works fine from home, but at the client for I the McAfee gateway currently cannot handshake to it:

Host: http://www.beginend.net

Reason: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Anyone who knows what that is?

–jeroen

 

Posted in Delphi, Development, Software Development | Tagged: , | 11 Comments »

HTML book “Multithreading – The Delphi Way..” (via: How do I perform processing in multiple threads in Delphi? – Stack Overflow)

Posted by jpluimers on 2015/06/04

Interesting book:

Quote:

This is a comprehensive tutorial on thread programming, containing over 50 example pieces of source code.

Improvements to Version 1.1 include:
Read the rest of this entry »

Posted in Delphi, Delphi 5, Delphi 6, Delphi 7, Development, Software Development | 2 Comments »

Things I Wish I’d Known Earlier | Dr Dobb’s

Posted by jpluimers on 2015/06/03

Like regular life, a programmer’s life is constant learning. And sometimes you’d wish you had known things earlier.

A few quotes from the article:

Test constantly while coding. Personally, I think the single most important contribution of the Agile movement to programming is communicating the value of developer testing (generally, unit testing). I am not an advocate of TDD and feel that many of the critiques directed at it are valid. But I am a passionate believer in unit testing. Of all the practices here, this is the one that would have served me best in my salad days. The ability to check in code knowing that it’s unlikely to contain silly errors and overlooked conditions allows me to have a much clearer idea of what progress I’ve made. I don’t have to worry nearly as much that there is still an extended debugging cycle of unknown length ahead of me. I now compile with the expectation the code will work the first time, rather than entertaining the fond hope that it might.

Fully automate the pipeline. This seems like unremarkable advice. But it got me to continuous delivery before that concept had a name. I automated build, test, deploy. I also automated updates to the website, to the Javadocs, to just about everything I could possibly update as part of the regular build. While this took a lot of time to write out (using Ant), the payoffs are continual. By having automated everything (well, except for some manual tests) I can build with high confidence in the generated software, even if a given feature is incomplete. I don’t worry at all about fragility. In the future, I expect to automate things even more: I want to write more scripts that simulate all the possible installation options and make sure they all work correctly or provide accurate error messages. Right now, I’m pretty sure they do, but I don’t know for certain because of the absence of this step from the automated pipeline.

–jeroen

via: Things I Wish I’d Known Earlier | Dr Dobb’s.

Posted in Agile, Continua CI, Continuous Integration, CruiseControl.net, Development, msbuild, Software Development, Testing, Unit Testing | 2 Comments »

10 hours left to claim Fee book: Mastering Ninject for Dependency Injection – via: Free Learning | PACKT Books – @PacktPub

Posted by jpluimers on 2015/06/02

10 hours left to claim free book

Mastering Ninject for Dependency Injection

What is dependency injection? And what problems can it help you solve? Find out with today’s free eBook, which helps you get to grips with one of the most simple yet effective tools for dependency injection – Ninject. Featuring expert insights and practical guidance to help you use Ninject and dependency injection in your own projects, this is an unmissable free eBook for .Net developers!

–jeroen

via Free Learning | PACKT Books.

Posted in Development, Software Development | Leave a Comment »

The unknown beauty of shared projects in .NETGeert van Horrik

Posted by jpluimers on 2015/06/02

Interesting:

Shared Projects

Shared Projects are a new feature of Visual Studio 2013 Update 2. It was initially created to support universal apps apps for both Windows Phone RT and Windows RT, and that’s what most people know about it.

However there is also this genius Visual Studio extension that allows Shared Projects on any .NET project. It means that you can create a project shproj that contains a list of C# files. This file can be referenced by any project and will be included at compile time.

With Shared Projects you are always able to debug through any references code. This makes it very easy to find and fix issues or test new features.

Note that in Visual Studio 2015, this is an official feature: Shared Project : An Impressive Feature of Visual Studio 2015 Preview.

Thanks Matthijs ter Woord for noticing that.

–jeroen

via: The unknown beauty of shared projects in .NETGeert van Horrik.

Posted in .NET, .NET 4.0, .NET 4.5, C#, C# 4.0, C# 5.0, Development, Software Development, Visual Studio 2013, Visual Studio and tools | Leave a Comment »

Time to upgrade: SHAAAAAAAAAAAAA | Check your site for weak SHA-1 certificates.

Posted by jpluimers on 2015/06/01

They days of SHA-1 are quickly coming to an end. Chrome has already marked SHA-1 signed TLS/SSL certificates for having an expiration > 2015-12-31 as insecure for a few weeks now. They promised to sunset SHA-1 about 9 months ago.

So if you haven’t done so, upgrade your HTTPS (and HTTP/2 which defaults to TLS) certificates to SHA-2. A great site of help here is SHAAAAAAAAAAAAA | Check your site for weak SHA-1 certificates. It is open source at GitHub.

You’ve less than 6 months now.

More in dept-reading (especially the comments by Ryan Sleevi): Chrome 42 (next stable) will mark SHA-1 signed certs with a validation date >2015 as insecure!.

–jeroen

PS: if you really need to do the balancing act, you technically can serve old certificates to SHA-2 incompatible clients while serving more secure certificates to modern clients. But it’s a risk, so you might as well tell these old clients they’re out.

Posted in https, Power User, Public Key Cryptography, Security, TLS | Leave a Comment »

Enabling GIT_CURL_VERBOSE to research “unable to get local issuer certificate”

Posted by jpluimers on 2015/05/28

A while ago, I was fighting a corporate web proxy playing Man-in-the-Middle on all https sessions.

Though playing MitM on your employees is a debatable thing to do (especially without informing the employees, and illegal in certain countries, I had to get a GIT connection to the outside world working.

This helped tracking it down: GIT_CURL_VERBOSE “unable to get local issuer certificate”.

What I finally did was this:

  1. obtain the CA certificate that issues the MitM certificate in base-64 CRT form (which is the same as the PEM form):
  2. added it at the top of either of these files:
    • "%ProgramFiles%\Git\bin\curl-ca-bundle.crt"
    • "%ProgramFiles(x86)%\Git\bin\curl-ca-bundle.crt"
  3. added it to the top of either of these files:
    • "%ProgramFiles%\Mercurial\cacert.pem"
    • "%ProgramFiles(x86)%\Mercurial\cacert.pem"

–jeroen

PS: These were the failures I was getting:

Read the rest of this entry »

Posted in *nix, cURL, Development, DVCS - Distributed Version Control, git, PKI, Power User, Security, Source Code Management | Leave a Comment »