Ready…. FIGHT!

My SHIDO training begins tonight! I am excited but also a little bit nervous. I am definitely not in the shape I was in when I did Goju-Ryu a few years ago.
ShidoLogo(S)_01 (1)

img0007

The title of this post implies it is all about fighting. If you think that then you are wrong. The martial arts, properly practiced, is more a mental exercise that a physical one. Why? Because it takes mental strength and conditioning to teach your body to handle such strain. It is difficult. And it is worth it.

Leave a Comment

Where Are The Experts?

I have many questions. Many questions are just out of ignorance – for those questions, I buy books, and I learn the answers. I also have other questions, for which I have not managed to find satisfactory answers. And, I have searched! Books – I have many books in my ‘personal library’. MANY. But for some of my questions, the books are just not satisfactory. Yes, they do not have answers.

So, for these questions, I have tried contacting the experts. I know many experts, great and friendly people like David Bodanis, Prof. Steven Strogatz, Prof. Fred Delcomyn – and where I had questions, they had answers.

But then, there is the biggest thorn in my side – physics and all the crap that goes with it, like quantum entanglement, relativity, ‘time bending’ and nonsense like that. For these, I have the books – found no answers – and do you think I can get a SINGLE expert to answer my questions? No.

Maybe because they know they are believing in something that they can not explain, but they don’t want the public to know that they do not know.

Where are you, Simon Singh? If you are reading this – your books are great, but I have questions. I need a physics expert to talk to me, I just want a few very simple questions answered.

Leave a Comment

Managed C++ is not C++/CLI

Howdy,

It is often said – and I make the mistake myself – that the .NET version of C++ is Managed C++. This is technically not true. Managed C++ is actually “Managed Extensions for normal C++”. It provides extensions to normal C++ in order to allow easier usage of .NET in C++.

C++/CLI is the big momma. It is actually a new language in a sense, and it is more like C# but in a C++ flavour.

At least, that is how I understand it. If I am wrong, I would appreciate if you could let me know!

Leave a Comment

Awesome Graphics Game Engine

As you may know, I am developing a game. It is (hopefully) going to be a unique completely 3D space strategy game. I have taught myself HLSL and DirectX theory, and using XNA, I am building a game engine that is starting to look AWESOME. I am starting to understand the amazing powerfulness and flexibility of shaders.

Well, here is an screenshot of a spaceship flying in space. Note the specular lighting and the environment mapping – in realtime, flying around, this looks so cool!

Step aside, John Carmack, here I come :)

GameScreenshot1

Leave a Comment

Working Smart With Money

Weird post for my blog? Maybe but I want to share this ‘insight’.

I had a very recent disaster with my girlfriend. We were planning for her to finally come to visit me, we were looking at flights and dates etc. Then something happened and, to make a long story short, I can not afford to let her visit me yet.

I spoke to her (my rose petal :) ) yesterday and, being as amazing as she is, she understands and in fact told me that I should not worry, we will meet soon.

ANYWAY – changes are required. I need to work smarter with my money. So I have created a seperate account, and I will deposit money into it every month. Drawing money from that account is off limits. I will just have to enforce that decision.

And soon, I will be able to pay all my debt, and then let my love come.

Leave a Comment

About the company I work for.

I want to say that the company that I currently work for, UCS Software Manufacturing, is, by far, the most pleasant working environment and bunch of people I have ever worked with.

I have just had a quick chat with a colleague, and it seems that I have been ‘in the news’ around here a few months ago because of some comments that I posted on my blog. Well, I may not agree with everything and with every approach to a software implementation, but that is just the way software engineering is. I write about it because I want my opinions to be known, so that it can maybe help. Or I can be corrected. It is nothing against the company or its employees. I just want to write the best software I can, and, sometimes through my blog, try to be a driving force for change, if I believe change is the best way to go.

SO – let it be known that UCSSM is the coolest company ever. True, I would like to also work on more of the projects that makes use of my favourite technology, .NET, and get away from the legacy code since I am primarily a .NET expert, but hey, I still love doing what I am doing here!

UCSSM

Leave a Comment

I can not wait!

VS_h_rgb

Leave a Comment

.NET Reflection and Type Cast exception

I am working on medical software called DTS (Diagnosis and Treatment System) in my free time. This system uses reflection to find ‘functionality extenders’ in a folder. Every time that I develop such plugin-based software, I encounter the same annoying problem and I struggle for a few minutes to resolve it. So I thought I would share my experience and maybe save you some time if you ever experience something similar.

In a seperate assembly called DTSExtendersLib, I define the IDTSExtender so:
IDTSExtender

I have a seperate project for a test extender, that implements this IDTSExtender interface. So obviously I have added a reference in the test project, to DTSExtendersLib. The test extender is defined like so:
TestExtender

So far so good.

I also have code in DTSExtendersLib that loads extender types and creates instances of those types. That code looks like this:

DTSManager

Good. BUT if you run this, and you attempt to load the test extender, the FindDTSExtenders method will fail on line 38. But why? The IF on line 34 evaluates true, so why does the cast fail?

Now, I was looking through the code again and again, thinking to myself that it MUST work, but still, because it DID NOT work, I was trying to find the bug.

Then something occured to be. .NET can be very finicky when it comes to types. Which is of course part of why .NET is cool. But in this case, what is happening is that my Test Extender references DTSExtendersLib (because it uses the IDTSExtender defined therein), and so it copies (by default setting) the DTSExtendersLib assembly into its output folder. The main application that loads the extenders, obviously also references the DTSExtendersLib assembly, and copies the DTSExtendersLib DLL into its output folder.

And that, my friends, is the problem! Even though exactly the same DTSExtendersLib.dll file existed in the TestExtender folder and the main application folder, the extender loading code failed because the TestExtender was using it’s copy of DTSExtendersLib.dll, and the application was using it’s own local copy of DTSExtendersLib.dll. Same file – but the cast failed.

So I deleted DTSExtendersLib.dll from my TestExtender output folder, and voila! It worked. The cast worked, because there was now only 1 DTSExtendersLib.dll assembly.

Hope this helps someone solve similar problems if doing plug-in type development.

Leave a Comment

We have no idea…

…indeed, I say unto thee, we have no idea what we are capable of!

Let me tell you this now; truly intelligent, conscious machines are possible and inevitable. Yes, you may say “blah blah blah, science fiction”. I don’t give a damn. I know what I know.

Intelligent machines, which exceeds human intelligence and awareness, are coming.

Fascinating, inspiring really, to think that a species has evolved to a state where that species can artificially create superior intelligence. Abso-fraggen-lutely amazing.

Leave a Comment

Aspects of me – 3

My favorite poem is “If”, written by Rudyard Kipling. It is an amazing, beautiful poem. In there, he suggests that one must think, but not make thoughts one’s aim. He is right. It is something I tend to forget. But he is absolutely right. Life is too short to be too childish, but life is also too short to be too serious. I need to learn that. Maybe you too? I think that losing our playfulness is one of the worst things we can ever lose. I hope that one day, when I am old and I have lost my teeth, that I have not lost my playfulness.

Leave a Comment

« Newer Posts · Older Posts »