Get your geek on Feb 2 2007
Mentioning nerd cred in the last post reminded me, my boy Mike recently launched a pet project of his, Geekiverse. It’s a site where you can add your swag, such as CDs, DVDs and games, and review them, and then other nerds can also review the same or similar items. It’s a place to meet other geeks with similar interests, and it’s generally just a really cool site.
Of course, maybe I’m bias - I’m going to be helping Mike and the guys at Geekiverse out with some new features and improvements (in fact, I’ve already tackled one new feature). So check it out, sign up, and share your swag - it’s a site for geeks, by geeks.
I'm back! Jan 30 2007
After a bit of a blogging hiatus, I’m back! New blogging software (written in Ruby, using Rails) and a brand new design, and soon enough a regular stream of new content!
Plenty to catch-up on, so I’ll be putting together a few new posts over the next day or so, so stay tuned!
You do a 360 on me Jan 30 2007
As some of you may have noticed, I have my XBox Live gamercard on the sidebar now - for Christmas my beautiful fiancée bought me an XBox 360 and a plentiful supply of games. More on the games themselves later, but for now just bask in the glory of my gamercard. Steadily working on those achievements, and getting that score above the 1000 mark :-) And you can also see I’m lulling potential online opponents into a false sense of security with that cute panda there on my card. If there are any 360 gamers out there, feel free to drop me a message and challenge me on Live!
CommentsMmm... sandwich Sep 29 2006
This is genius.
CommentsBlogging His Ass Off Sep 24 2006
My boy Mike is blogging his ass off apparently, in his all new blog. He’s got a couple of decent posts up there to start, and I’d keep your eyes peeled for some more to follow. Welcome back, dude!
CommentsMac Daddy Sep 24 2006
So I’ve recently got a MacBook Pro, and it’s fucking awesome. For a start, it’s quick, and secondly, I’m finally, after numerous attempts in the past, enjoying the Mac OS X experience. I’m not sure what it is this time around, but I think working on a Mac just feels right in laptop form. I’m running Parallels for all my Windows needs (damn you, VS2005 and C#), and while I’m tempted to also give Boot Camp a go for the gaming aspects (have you seen Company of Heroes? and apparently HL2 runs real nice on the MBP too!), for now I’m sticking with the virtualisation solution.
But I’m also learning TextMate, and man oh man is that a sweet program to use. I’m a little overwhelmed by all the add-ins (sorry, bundles) and shortcuts there are, but at least it’s prettier than emacs :-)
Welcome To The El Parade Sep 24 2006
So you didn’t really think I’d be able to go the entire of September without posting right? I’ve been hella busy since returning to the UK after my vacation to Atlanta in the US of A. I’ve meant to post numerous times but this is the first time where I’ve had chance to grab some words together and form a post.
Getting back into the swing of things has been pretty hard - after spending seventeen non-stop days with my soulmate, it’s pretty tricky to get used to the work routine again, and I’m not sure I’m even there yet. All day every day at work I miss my girl, but work is a part of life (actually, it’s the part that pays the bills). No date yet set for the wedding, as we are still planning and deliberating at the minute…
Plenty more to come as a shitload has happened since I last posted, keep the dial tuned here folks.
Happiest Man Alive Aug 29 2006
I’m currently on vacation in Atlanta, in the US of A. Yesterday was mine and my girlfriend’s one year anniversary together, and it’s been an amazing amazing year. We’ve accomplished so much together, and I knew I wanted to spend the rest of my life with her - so last night over our anniversary dinner I asked her to marry me, and she made me the happiest man alive by saying yes! I’m so so pleased, and so is she, and it’s made our first holiday together even more special!
Comments21 Today Aug 23 2006
So, another year, another birthday. As I was getting older, the day itself was feeling less and less special, just a fact of life I guess. But I was wrong! Today so far has been amazing, and I’ve only been up a few hours!
My amazing girlfriend is making the day so special, we both have the day off work, so this morning I got my presents, now I’m just relaxing. In a little while we are heading over to my parents to have some lunch, and then we are all going into London to have a nice meal, and watch the mighty Fulham take on Bolton at Craven Cottage.
Between this post made on my birthday last year, and today, so much has happened, so much has changed in my life, all for the better. I now am living with the woman of my dreams, own my own home, and am enjoying every single day. With all that I’ve done, I have to keep reminding myself I’m only 21 - but I feel like I’ve grown up more in the last year than I did in the previous 20.
I’m off to enjoy the rest of my day, peace out.
Technorati Tags: el, eldiablo, birthday, personal
RubySharp Aug 22 2006
Recently I’ve been toying with John Lam’s pet project, RubyCLR. The very notion of Ruby and C# interaction interests me, as there are around a billion different situations in which I’d like to combine the two, to get the best of both worlds.
Now, I notice in a post today, that he has spotted that Tim Ng, a guy who works on the Visual Basic compiler team, has been playing with his creation. Only, the way he went about it seemed a little complex, and wasn’t using RubyCLR’s compatibility with interfaces to the max. So, I thought I’d outline a little test scenario I knocked up when I first started playing with it.
I’ll assume that you’ve followed the instructions, and are setup with the latest version of RubyCLR (I was using the code straight from the source tree).
Firstly, the code for the C# side of things (the “host”). This defines the interface, and provides a class for executing implementations of the interface:
Host.cs:
using System;
public interface IAddIn
{
string Name { get; }
string Author { get; }
void Work();
}
public class Host
{
public static void Execute(IAddIn addin)
{
Console.WriteLine("[{0}] : {1} by {2}",
addin.GetType().FullName,
addin.Name,
addin.Author);
addin.Work();
}
}
We can simply compile this into a standalone assembly:
csc -t:library Host.cs
This will output Host.dll, which we will now consume in our super-duper Ruby script, empowered by the magic RubyCLR. I won’t stick the entire contents of the client Ruby script here, however the full thing is available from here (the full C# source file from above is available here). For now, lets just look at the implementation of our C# written interface within Ruby:
class MyAddIn
implements IAddIn
def get__name
return "My first Ruby/.Net add-in!"
end
def get__author
return "El Draper"
end
def work
puts "This is coming straight from my Ruby written add-in!"
end
end
As you can see, in order to implement the Name and Author properties, we define Ruby methods called get__name and get__author (note the double underscore).
This is all useless unless within my Ruby script I actually call my C# host and pass an instance of my Ruby written add-in. After referencing the Host.dll assembly:
reference_file ‘Host.dll’
I’m able to make the call to the host:
Host.Execute(MyAddIn.new)
Running this is then easy - once you’ve executed the “setenv.cmd” batch file within the root of the RubyCLR project, simply execute:
ruby Client.rb
(ensuring that Client.rb and Host.dll reside in the same directory).
This then outputs:
[T32dda3e3] : My first Ruby/.Net add-in! by El Draper
This is coming straight from my Ruby written add-in!
(N.B. the type name changes each and every time the script is run, as the concrete wrapper type created around the Ruby code and passed through onto the CLR is dynamically generated at run-time using System.Reflection.Emit).
The above shows that we can define an object that implements a .Net interface within Ruby, and then pass an instance of this into a .Net written host class. It then executes methods directly on the object that itself then executes Ruby code. Pretty snazzy eh!
Like Tim, I have a number of things I’d like to be able to extend this with. For one, I’d like to be able to “compile up” the concrete CLR types representing Ruby objects, and then execute this from within a .Net host, namely a C# application. My work on tweaking the RubyCLR code so far has resulted in being able to correctly output the dynamically generated assemblies, however these types when executed within a C# host application result in memory errors, presumably because it is lacking the reference to the Ruby host context and the original Ruby source file. So I need to be able to instantiate a Ruby object from my compiled emitted assembly, and then somehow build a Ruby context back to the original source file so it can correctly execute the code, but all from within a .Net host. This is really a reverse of the main scenario that RubyCLR I think was probably invented for, but none-the-less I think it should be possible. Any ideas, John? ;-)
Technorati Tags: el, eldiablo, ruby, rubyclr, clr, dotnet, c#, vb Comments
Page 14 of 31 | Next page | Previous page