IronScheme 1.0 beta 2 is now available for download.
http://www.codeplex.com/IronScheme/Release/ProjectReleases.aspx?ReleaseId=21079
Enjoy
IronScheme 1.0 beta 2 is now available for download.
http://www.codeplex.com/IronScheme/Release/ProjectReleases.aspx?ReleaseId=21079
Enjoy
Posted in Default, IronScheme
I dont care if it actually works or not, but while having to wrestle with such a crappy designer, it just does not make any sense to me.
UPDATE:
Some observations over the last few days…
We have only 1 workflow project, with 8 statemachine workflows with an average of 8 or so states. When I switch from the designer (without even changing anything) to another source file, and I try to type, VS freezes up for over 3 minutes (yes timed). A workflow takes anything from 1 to 3 minutes to open. Every time you save, it freezes for 2-3 minutes. Sometimes you get a COM error, and cant save any unsaved changes, so you have to save frequently.
Trying to modify the workflow by XML does help a bit, but still a lot of freezes.
I cant believe they released such a useless piece of crap*…
* Only the VS designer/project/integration, the rest of WWF runs great and fast, and works like advertised
UPDATE 2:
I have managed to figure out why one of the major slowdowns occur. Due to the designer thinking code changes every second, it recompiles all the dependent assemblies, good so far. But what happens when you have a reference to a medium-sized LINQ2SQL data context with plenty of attributes? Kaboom!
There Microsoft, if you read this, fix the bug, find a better code invalidation routine, and cache some data for God’s sake!
So the trick is to reference NOTHING in your workflow, and this makes workflow almost nice to work with. This has increased the performance of the workflow designer five fold. There are still some freezes, but at least I can live with this for now.
Posted in Default
> (import (ironscheme ffi)) > (define dlload (pinvoke-call kernel32 LoadLibrary intptr (string))) > (define dlsym (pinvoke-call kernel32 GetProcAddress intptr (intptr string))) > (define ffitestlib (dlload "ffitest")) > (define cb (dlsym ffitestlib "fnfficallback")) > (define cb-sig (ffi-callout int32 (intptr))) > (define fnfficallback (cb-sig cb)) > (define fxplus ((ffi-callback int32 (int32 int32)) . (lambda (x y) . (printf "I got ~a and ~a\n" x y) . (fx+ x y)))) > > (fnfficallback fxplus) I got 10 and 30 40 > (define fxplus ((make-ffi-callback 'int32 '(int32 int32)) ; procedural interface . (lambda (x y) . (printf "I got ~a and ~a\n" x y) . (fx+ x y)))) > (fnfficallback fxplus) I got 10 and 30 40 > >
The C code is:
typedef int fxplus(int,int);
int fnfficallback(fxplus p)
{
return p(10,30);
}
Posted in Default, IronScheme
> (import (ironscheme clr)) > (define dlload (pinvoke-call kernel32 LoadLibrary intptr (string))) > (define dlsym (pinvoke-call kernel32 GetProcAddress intptr (intptr string))) > (define malloc-sig (ffi-callout void* (uint32))) > (define lib (dlload "msvcrt")) > lib 2000748544 > (define proc (dlsym lib "malloc")) > proc 2000788909 > (define malloc (malloc-sig proc)) > malloc #<procedure ffi-callout> > (define mem (malloc 8)) > mem 1905864 >
Posted in Default, IronScheme
I learnt this weekend it is possible to create a delegate that also implements an interface. Why would this be handy? By providing your own ‘overloads’ in this, you can effectively alter the delegate’s ‘calling convention’, without resorting to reflection.
Pseudo example:
interface IFunction
{
object Invoke(object arg);
object Invoke(object[] args);
}
delegate object Function(object arg) : IFunction;
Now in the background, I emit the following code for the ‘overload’ in the delegate class:
object IFunction.Invoke(object[] args)
{
return this(args[0]);
}
Now we can simply cast a delegate of type Function, to IFunction, and call it with an array.
Posted in Default, IronScheme
Now I can relax a bit
Starting on Monday 5 January. And 1/2 day left of current job.
Posted in Default
Yes, second time this year!
At least we got news from the previous liquidated company that we will be receiving some severance pay soon. My current job I have had less than a year, so by law, they are not required to pay me anything. (maybe I need to add this to my contract’s clauses, just in case, perhaps insurance?).
Also, the other company I mentioned in my previous post still have not gotten back to me, so I guess it’s ‘tickets’ for them. I am not interested.
As previously mentioned, I requested a ’suggested solution’ from the assessment I did a few weeks back. On Friday, I decided to follow up the request, only to be told by the recruiter (another one, another company) that I did not tell her! She sounded quite upset (perhaps she needs to makes notes of these things), and I doubt I will be hearing from her or get a solution as I requested…
So, it’s off to hunt for some potential employment opportunities. Just a pity about the time of year. No-one really wants to make decisions in December and hence why I was trying to get things done in November.
As noted with my previous post, I am looking for a new work opportunity.
About 3-4 weeks ago, I saw another offer from a company that seemed to be really ‘on the go’. I was very interested in this position, as they seemed to be a complete software house, and seemed to be looking for candidates on all levels. They also had a very detailed requirement spec which made me feel more comfortable at that stage.
I contacted my recruiter to notify her of my interest then.
Now, almost a month later, this company still has not been able to get hold of the person to ‘ok’ a time for my initial assessment. This has been no fault of my recruiter, as I have been pushing her. Her frustration is also quite clear.
This gets me thinking;
I dont really care if they are a MS Gold Partner, or they are rated in the ‘TOP 10 Companies to work for in SA’, my initial impression of them is not a good one.
And not a place I would like to work.
I have told my recruiter, if they cannot get their act together by end of Monday, I will have no more interest in this ‘opening’ (if you can call it that).
More updates to come on Monday.
Regarding the other company I did the assessment for, they still have not come back to me with their ’suggested solution’.
I did a paper-based C# assessment yesterday. The ‘test’ was not a very good test.
I got word today, I did not make the required ‘cutoff’.
The tip for the future:
If you are required to do any form of assessment, ask them to provide a complete solution for the assessment, as they would expect it to be.
Here is the assessment (well what I can remember):
Number of questions: 13
Number of C# questions: 1
The C# question: Explain LOCK in C#. I was tempted to say LOCK is not valid in C# (but I restrained)
1. What are the 3 tiers in 3 tier dev?
2. How is 3 layer dev different from 3 tier dev? (I had to think hard what that buzzword meant)
3. What are the 3 layers in 3 layer dev, and purpose?
4. What is MVC?
5. What technologies does AJAX use?
6. What is AJAX used for?
7. C# LOCK question.
8. Source control policy opinions (ito VSS and VS, multiple check outs, overnight check outs, undebugged checkins).
9. What is recursion?
10. What is FxCop?
11. What do you use for Code Analysis and Unit Testing in VS2005.
12. When to use Web services (give 2 answers).
13: Name 1 advantage and 1 disadvantage of XML.
IMO, waste of time, this is maybe a good test for a graduate/very junior programmer.
You can follow the discussion of the test in the Code Project Lounge.
Posted in Default
I am looking for new permanent or contract employment. If you are looking for a very experienced .NET/C# developer (6+ years .NET), please contact me for further details and a copy of my CV.
I am looking for positions based in Cape Town, South Africa, or ‘home-based’ contracts. Furthermore, I would be willing to relocate, highly dependent on the offer.
Do not contact me for any junior roles, even at a good salary.
Do yourself a favour, and save some money by employing a junior at an appropriate salary.