In this edition: The first in a series of posts about changes in .NET 4.6; introduction of ASP.NET Core; the best way to apologize for being late; when to eat a frog; 25 common passwords of 2015; and a video about architectural reversibility.

Sharpen the Saw is a somewhat delayed repost of a weekly newsletter of information I publish for the professional development of software developers. While targeted primarily at developers working with the Microsoft technology stack, content will cover a wider range of topics.

To subscribe, send me an email and I’ll put you on the list. Membership is moderated.

Techniques

Best practices for private config data and connection strings in configuration in ASP.NET and Azure

There are some secrets that our applications need to keep safe. Usernames, passwords, encryption keys, database connection strings and third-party api authority keys should all be safeguarded. Scott Hanselman’s post on current good practice for ASP.NET is much more widely applicable.

http://www.hanselman.com/blog/BestPracticesForPrivateConfigDataAndConnectionStringsInConfigurationInASPNETAndAzure.aspx

Software and Updates

What’s New with .NET Framework 4.6, Part 1: API Updates

The first in a series of articles about the latest release of .NET, this article looks at the new implementations of IReadOnlyCollection, Stack and Queue.

https://visualstudiomagazine.com/articles/2016/01/07/net-framework-4-6-api-updates.aspx

ASP.NET 5 is dead - Introducing ASP.NET Core 1.0 and .NET Core 1.0

The future of the .NET framework is modular, cross-patform and constantly improving. To reflect this major change in approach, the components of the new .NET Framework have just been rebadged.

Anyone working with web technologies in .NET - especially anyone doing server side programming - these are the projects to follow closely.

Importantly, .NET 4.6 is not going away - it remains fully supported and many components are still being actively developed, including the WPF framework for rich client UX.

http://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx

Being Professional

The Best Way to Apologize for Being Late

The key is not to give an excuse but to acknowledge and apologise for the impact you’ve had on the other person.

http://lifehacker.com/the-best-way-to-apologize-for-being-late-1753881269

The Case for “Eating the Frog” Later in the Day

Perhaps tackling the hardest job first isn’t always the best approach. Sometimes it makes sense to score a few quick wins to build some momentum before diving into the difficult things.

http://lifehacker.com/the-case-for-eating-the-frog-later-in-the-day-1753889690

Staying Secure

The list of the 25 most common passwords of 2015 now available

Having a secure password isn’t sufficient in itself, but a weak password is a recipe for disaster. This list of the most common passwords shows that many people put no effort at all into their security.

Entries #4, #15 and #22 are interesting because they show that physical patterns (like keyboard layouts) don’t lead to unusual passwords.

Here’s one approach

  • Don’t use a password, use a passphrase
  • Make the phrase up yourself
  • When your password expires, create a completely new one
  • Use a mix of characters, including digits and punctuation

http://www.neowin.net/news/the-list-of-the-25-most-common-passwords-of-2015-now-available

Video of the week

Continuous Design and Architectural Reversibility - Jeremy Miller

Noted blogger and speaker gave this very interesting talk in late 2012 at the Agile Vancouver conference, talking about how important it is to retain the ability to change architectural decisions even late in a project.

Video (note audio quality issues):
https://www.youtube.com/watch?v=R0QbL2g_rBI

Blog post:
http://jeremydmiller.com/2013/01/02/continuous-design-and-reversibility-at-agile-vancouver-video/

Comments

blog comments powered by Disqus
Next Post
Use Full Words, Not Contractions  27 Mar 2016
Prior Post
Intention Revealing Method Names  20 Mar 2016
Related Posts
Browsers and WSL  31 Mar 2024
Factory methods and functions  05 Mar 2023
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
Archives
March 2016
2016