The subject of this data protection notice is the information about what data is collected when you visit our website and the use of our offers there and how it is processed and used by us. General Daniel Fisher (hereinafter "we") operates e.g. Website accessible under the domain lennybacon.com. We take the protection of your personal data very seriously. Personal data is all information that relates to an identified or identifiable natural person, such as name, e-mail address, IP address or postal address.
Recent content on lennybacon.com
- Generator
- Hugo -- gohugo.io
- Public lists
-
HWC DUS
Imprint
Responsible for the content Daniel Fisher c/o Hopfgarten RechtsanwärtGmbB, Ohligsmühle 11,42103 Wuppertal, Germany Telephone: +49 (176) 6159 8612 E-mail: info@lennybacon.com Vat.ID: DE263092262 Disclaimer Liability for content As a service provider, we are responsible for our own content on these pages in accordance with general laws. We are not obliged to monitor transmitted or stored third-party information or to investigate circumstances that indicate illegal activity. Obligations to remove or block the use of information according to general laws remain unaffected.
Impressum
Verantwortlich für den Inhalt Daniel Fisher c/o Hopfgarten Rechtsanwälte PartGmbB, Ohligsmühle 11,42103 Wuppertal, Deutschland Telefon: +49 (176) 6159 8612 E-Mail: info@lennybacon.com Ust.ID: DE263092262 Haftungsausschluss Haftung für Inhalte Als Diensteanbieter*in sind wir für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Wir sind jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt.
Datenschutz
Gegenstand dieser Datenschutzhinweise ist die Information darüber, welche Daten bei Ihrem Besuch unseres Internet-Auftritts und der Nutzung unserer dortigen Angebote erhoben und wie diese von uns verarbeitet und genutzt werden. Allgemeines Daniel Fisher (nachfolgend "wir") betreibt die z.B. unter der Domain lennybacon.com erreichbare Webseite. Wir nehmen den Schutz Ihrer personenbezogenen Daten sehr ernst. Personenbezogene Daten sind alle Informationen, die sich auf eine identifizierte oder identifizierbare natürliche Person beziehen, wie beispielsweise Name, E-Mail-Adresse, IP-Adresse oder Postanschrift.
Automatic Visual Studio Update Reboot If Necessary
The patches for CVE-2020-0601, CVE-2020-0605 and CVE-2020-0606 caused a pending reboot on my build servers after updating visual studio. So my hope that the unattended visual studio updater script would be finished has not come true So I added a pending reboot detection: Additionally I wanted some more details in the event log regarding the version being updated and the version after the update. I added a few lines using the FileInfo class.
Machine Key Section validation and decryption key rotation on build
Rotating keys, making their lifetime shorter, decreases the attack window size and that is a good thing. For instance when using ASP.NET forms authentication the cookie can be encrypted when the protection-attribute is set to all – see here. I thought it would be handy to automate the rotation of keys during the publish phase of a web project. So here is a target file to be included into a web project.
Updating Visual Studio Installer unattended, last episode, hopefully
I have written about keeping build agents up to date in the past and had issues with the vs_installer updating itself. Now again the latest updates were not deployed. After playing around with procmon and friend I found a way to remove its state, so that the installer thinks is starts from the beginning of time - so there is no update. To do so I delete a few folders before starting the installation.
Generating AES256 Keys with PowerShell
PowerShell is a daily used utility in my tool belt. I like the accessibility, due to its command line interface, as well as it’s power, due to access to the underlying .NET Framework. Today I needed a AES 256 key with some entropy and therefore made use of the RandomNumberGenerator class. HTH Daniel
Create a link to an UWP app to run as administrator
I’m a console enthusiast. I used to work with cmder over the last years. In general I was pretty happy. But the announcement of the Windows Terminal really caught my attention. One thing that annoyed me is the disabled checkbox, when creating a link, that does not allow to have it automatically prompt for elevation. So here is my work around. Open windows explorer and enter shell:AppsFolder into the address bar to open the apps folder:
Update all Visual Studio instances equal or above 2017 unattended
I have created a new script to keep Visual Studio ut to date in an unattended manor - For instance by creating a schedulled task. This are the core features: Updates all editions and versions equal or above to Visual Studio 2017. Writes event log entries for each run, failed and succeeded steps. HTH
JavaScript, Date and ISO 8601 part4
Her: How does your perfect date look like? Me: Well the only format I can accept is yyyy-MM-ddTHH:mm:ssZ (ISO 8601). Image by Tammy McGary If you were reading past articles you know I had fun with dates and JavaScript in the past (Part 1, Part 2 and Part 3). Today I revisited the issue as I was reviewing code at customer site. I ran my test again and…. All engines in all browser calculate the same date!
Totally automated Team Foundation 2017 build agent setup
First of all set the default TLS Version for .net to 1.2: With Chocolatey a lot of things are easy to set up: Visual Studio 2017 Community Windows Installer XML Toolset Visual Studio Code GitVersion NodeJs Python2 Remote Server Administration Tools Now let’s modify visual studio and add some components, so that the node-gyp can compile popular packages. We could have used the windows build tools but they default to VS 2015 and the install location of python cannot be adjusted.
Remote Debugging Chrome on Android with Windows
I’m an IPhone user. I like the device. I’m not a fanboy. I’m curious. So I got myself an HUAWEI P smart with Android Oreo (Version 8). Lets set up developer mode by following the android studio guide… Open the Settings app Select System (only on Android 8.0 or higher) Scroll to the bottom and select About phone Scroll to the bottom and tap Build number 7 times – Whaaaaat? Tap?
W3C Server Timing Header and API
I used custom headers in the past to send some metrics over to the client–mostly for debugging purposes to quickly differentiate between client and server issues on slow web request and/or web application performance. While that was working out pretty well I like standards and even if I did not tell anybody I always wanted such a thing built into HTTP. A W3C standard is on the way: Server Timing
Scheduled task to automatically delete Fiddler HTTPS interception certificates
I really like Fiddler, the web debugger. I like TLS. I develop software. Therefore I find the interception and decryption of secure traffic very useful. On the other hand I’m into security for a few years now and from that perspective it is a man in the middle attack. So you might want to allow this for the shortest period of time. Fiddler installs a Trusted Root Certificate and dynamically issues certificates for the requested targets for the requested host names.
Register a file icon in Visual Studio 2017
Add an Icon as resource Add an imagemanifest Add a package definition Add the assets to the visual studio extensibility manifest Compile the extension, Install it, and add a file with the extension to a new project. Done
Swallow GIT output in PowerShell run by Team Foundation Server because it’s STDERR which breaks the build
Imagine you want to commit and push a changed file during a build. Grant the user “Project Collection Build Service (DefaultCollection)” the following permissions on the repository: Contribute Read Enable the option Allow scripts to access OAuth token on the build. Set the variable system.prefergit to true on the build. Add a PowerShell-task to the build Run… The issue is that either a) GIT has no idea what STDERR is and writes success messages to the error stream
Builds with conditional NuGet publishing in Team Foundation Server
For a nightly build it makes no sense to publish a NuGet package as no code changed and therefore the same GitVersion is calculated. Since version 2017 Update 3 the on premise version of Microsoft’s Team Foundation Server supports “Custom Conditions” on “Build Tasks” – but sadly not on “Task Groups”. Here is what you need to exclude a step from a scheduled build: and( succeeded(), ne( variables['Build.RequestedFor'], 'Microsoft.TeamFoundation.System' ) ) Here a screenshot of the condition in action:
Using the Windows Credential Manager from MsBuild
Today I needed to make a web service call with authentication from MsBuild. Of course storing the credentials in plain text is not an option. The Windows Credential Manager User Interface can be opened by running the command: control /name Microsoft.CredentialManager There is also a command line interface: cmdkey.exe As the Windows APIs are not provided as wrapper through the Base Class Library (BCL) a NuGet package comes to help:
Get latest MSBuild on x64 with Powershell
Today I wrote this very very easy script to determine the latest MsBuild file path on a x64 machine:
Determine if the current TFS build is triggered by a Git Pull Request
Today I saw a nuget package that was build during a build that was validating a pull request being published to the package source in a team foundation on premise instance. So I used the TFS Build Variable Definition in combination with MsBuild Property Functions to figure it out. Here is the code:
Interesting read: Keyboard vs. Mouse
Do yourself a favor and open in reader mode: https://danluu.com/keyboard-v-mouse/ Plus an addition for the German readers: http://www1.wdr.de/stichtag/stichtag4798.html
Make a WebApplication project automatically publish on build
If you want to publish a Web Application project you can call MsBuild with parameters. Having a publish happen on each and every build - there is work to do. Visual Studio project files are MsBuild files since Version 2005. There is a way to force MsBuild and Visual Studio behave as requested. The project file needs to be edited slightly: <PropertyGroup> <PublishDestination>..\..\..\out\YourPublishDirectory</PublishDestination> </PropertyGroup> <Target Name="PublishToFileSystem" DependsOnTargets="PipelinePreDeployCopyAllFilesToOneFolder" AfterTargets="Build"> <MakeDir Condition="!Exists($(PublishDestination))" Directories="$(PublishDestination)" /> <ItemGroup> <PublishFiles Include="$(_PackageTempDir)\**\*.
One time zone to rule them all
I just read an article published by YellerApp called “The Worst Server Setup Mistake You Can Make”. I’m running my boxes in UTC and wrote about issues in the past (here and there).
Debugging Arquillian Tests in IntelliJ
Clone the tutorial repository from: https://github.com/arquillian/arquillian-examples In IntelliJ click File | Open and select the sub director named arquillian-tutorial. After the dependencies are resolve the project structure is shown. Now I can set a breakpoint in a test, right click the test file and click Debug ‘GreeterTest’: The stacktrace shows I’m debugging the test using the Arquillian stack. The test was executed in the embedded version of Wildfly as the console window reveals:
Install Microsoft SQL Server 2016 unattended
Automate all the things… Microsoft SQL Server 2016 Microsoft SQL Server 2016 Management Studio HTH, Daniel
My Go Journey
I decided to start learning Go in March 2017. Follow my journey through this new blog.
Moving to BlogEngine.NET and Windows Azure
This is my first post on the new blog engine and the new hosting environment. Over the next weeks I’ll try out how I can migrate all my posts since 2003. So far. So good. so what.
JavaScript, Date and ISO 8601 part3
As there seems some confusion and issues with JavaScript dates (here and here) I wanted to have a look at google Chrome and its ES6 capabilities. So I opened the javascript-harmony setting, enabled it and restarted chrome. I opened up the developer tools and hacked some ES6: Running it on Chrome 55.0.2883.87 m: Meh! The web is broken and nobody cares… So far, so good, so what?
JavaScript, Date and ISO 8601 part2
I had a JavaScript date issue some time ago. Today I looked at the sources of ChakraCore and dug to the point of interest. // Compute the time value timeValue = TvFromDate(year, month, day, timePortionMilliseconds - utcOffsetMilliseconds); if (isLocalTime) { // Compatibility note: // In ES5, it was unspecified how to handle date strings without the trailing time zone offset "Z|(+|-)HH:mm". // In ES5.1, an absent time zone offset defaulted to "Z", which contradicted ISO8601:2004(E).