Skip to content

Instantly share code, notes, and snippets.

View b0urb4k1's full-sized avatar
🐮
Shaving Yaks

Nicolas Bourbaki b0urb4k1

🐮
Shaving Yaks
View GitHub Profile
@b0urb4k1
b0urb4k1 / ReadingPortableExecutable_PE_header.cs
Created January 8, 2018 12:09 — forked from augustoproiete/ReadingPortableExecutable_PE_header.cs
Reading the Portable Executable (PE) header in C#
// Credits: John Stewien
// From: http://code.cheesydesign.com/?p=572
/*
Reading the Portable Executable (PE) header in C#
My job consists of writing fully custom applications for groups of people. The time pressure of these projects is quite high, so generally people start using the application while I’m still writing it, which means I write it modularly and add features as I go along. I also fix bugs as they are discovered. My clients are 2 tiered where expert users get a new build first, they test if for a while, and if they think it’s acceptable they then pass it on to others.
This method of distribution is quite ad-hoc so when a client rings me up and asks me to view their screen to look at something, it’s useful to know what build they are running. To facillitate this I print the link date in the main Window Title so I instantly have an idea about how old the version is that I am looking at. This date is calculated at run time. To do this requires reading in the Portable Executable (PE) header from th
// This code is inspired from the Gallio project and modified a bit to suit our needs better.
// Copyright 2005-2010 Gallio Project - http://www.gallio.org/
// Portions Copyright 2000-2004 Jonathan de Halleux
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
Header file
extern “C” __declspec(dllexport) int MultiplyByTen(int numberToMultiply);
Source code file
#include “DynamicDLLToCall.h”
int MultiplyByTen(int numberToMultiply)
{
@b0urb4k1
b0urb4k1 / gist:afb6f5ab929423153c12d93400497d55
Created September 22, 2021 07:43
Virtual method capture
using System;
namespace test
{
public class C
{
public C()
{
}
@b0urb4k1
b0urb4k1 / Error
Created July 1, 2021 03:57
Directory.Build.targets
Directory.Build.targets(28,9): error MSB4062: The "XXX.BuildTasks.CheckProjectReferenceCopyLocal" task could not be loaded from the assembly C:\Coding\git_repos\XXXux_Evo_4\bin\Build\Release\XXX.BuildTasks.dll. Could not load file or assembly 'file:///C:\Coding\git_repos\XXXux_Evo_4\bin\Build\Release\XXX.BuildTasks.dll' or one of its dependencies. The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
using System;
using System.Reflection;
using FakeItEasy;
namespace test
{
public class DummySettingsFactory : DummyFactory<ISettings>
{
static ISettings settings = new TestSettings();
@b0urb4k1
b0urb4k1 / type-dependency-graph.fsx
Created March 4, 2021 19:24 — forked from swlaschin/type-dependency-graph.fsx
This script analyzes the dependencies between top level types in a .NET Assembly. It is then used to compare the dependency relationships in some F# projects with those in some C# projects.
(*
This script analyzes the dependencies between top level types in a .NET Assembly.
It is then used to compare the dependency relationships in some F# projects with those in some C# projects.
Note that no attempt has been made to optimize the code yet!
REQUIRES:
* Mono.Cecil for code analysis
From http://www.mono-project.com/Cecil#Download
@b0urb4k1
b0urb4k1 / DiKri - Remote Work
Last active March 20, 2020 10:12
Remote Working
* How to Be a High Performing Distributed Agile Team
https://www.youtube.com/watch?v=dG8FeZ5ey5c
https://www.collaborationsuperpowers.com/tools/
http://theteamcanvas.com/
* Tough Call: Handling “Difficult” Remote Conversations Like a Pro
https://www.youtube.com/watch?v=XyM8FRIO0b0
@b0urb4k1
b0urb4k1 / books
Created September 16, 2019 06:30
https://www.amazon.de/Philosophy-Software-Design-John-Ousterhout/dp/1732102201
https://www.amazon.de/Invitation-Applied-Category-Theory-Compositionality/dp/1108711820/ref=pd_sim_14_43?_encoding=UTF8&pd_rd_i=1108711820&pd_rd_r=135d16a0-cd50-4290-ae4a-94517639a06a&pd_rd_w=8O4Kx&pd_rd_wg=KxB2z&pf_rd_p=b0773d2f-6335-4e3d-8bed-091e22ee3de4&pf_rd_r=QVF40G2CAS1B9N2BZ1N6&psc=1&refRID=QVF40G2CAS1B9N2BZ1N6
https://www.amazon.de/Software-Craftsman-Professionalism-Pragmatism-Robert/dp/0134052501/ref=pd_sim_14_44?_encoding=UTF8&pd_rd_i=0134052501&pd_rd_r=135d16a0-cd50-4290-ae4a-94517639a06a&pd_rd_w=8O4Kx&pd_rd_wg=KxB2z&pf_rd_p=b0773d2f-6335-4e3d-8bed-091e22ee3de4&pf_rd_r=QVF40G2CAS1B9N2BZ1N6&psc=1&refRID=QVF40G2CAS1B9N2BZ1N6
https://www.amazon.de/Problem-Software-Smart-Engineers-Write/dp/026203851X/ref=pd_sim_14_59?_encoding=UTF8&pd_rd_i=026203851X&pd_rd_r=135d16a0-cd50-4290-ae4a-94517639a06a&pd_rd_w=8O4Kx&pd_rd_wg=KxB2z&pf_rd_p=b0773d2f-6335-4e3d-8bed-091e22ee3de4&pf_rd_r=QVF40G2CAS1B9N2BZ1N6&psc=1&refRID=QVF40G2CAS1B9N2
http://wiki.c2.com/?ArgumentsAgainstOop
https://content.pivotal.io/blog/all-evidence-points-to-oop-being-bullshit
http://www.smashcompany.com/technology/object-oriented-programming-is-an-expensive-disaster-which-must-end
https://www.youtube.com/playlist?list=PLtg36xKlu60wk3buYHvAdtSbqPsvNgUDV
https://www.youtube.com/watch?v=QM1iUe6IofM&index=17&list=PLtg36xKlu60wk3buYHvAdtSbqPsvNgUDV
https://medium.com/@brianwill/how-to-program-without-oop-74a46e0e47a3
https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53
https://cppcon.org/plenary2018-3/
https://codeburst.io/inheritance-is-evil-stop-using-it-6c4f1caf5117
https://www.youtube.com/watch?v=748TEIIlg14&list=PLYG-GfK4ITZ7Q19M8ajAdOz2I2T6wLTVx