Archive for the ‘Development’ Category
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….

Posted in Development, DVCS - Distributed Version Control, git, Source Code Management | Leave a Comment »
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 »
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 »
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 »
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 »
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 »
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 »
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 »
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:
- obtain the CA certificate that issues the MitM certificate in base-64 CRT form (which is the same as the PEM form):
- 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"
- 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 »