I didn’t put the minutes up from last week because we had too many people there and we didn’t get a real group conversation going.. It was mostly little separated groups so I don’t really know what has been talked about. I also have a deadline for a client rapidly approaching so I didn’t really find the time to add this to my blog.
But I would like to thank everybody that was there last week for attending.
Anyway today we had another Geek lunch and the topic of discussion was:
What will you do to become a better programmer this year ?
I’ll sum up the list of things to do that we all agreed upon.
1. Take an advanced reading course to improve your reading speed. People make a couple of really common mistakes when reading stuff and this course unlearns them. It improves your reading speed up to 3 times.. The course only takes 4 mornings so it’s definitely something I’ll be doing in the near future.
2. Read a new book every month/ 2months.
3. Take an advanced writing course in order to write that dreaded documentation a lot faster.
4. Learn a new language every year. By taking a quick poll around the table it seemed that the most likely candidates here are Smalltalk, Ruby, Errlang, …
5. Contribute to open source that way you get to meet a lot of good coders and you learn sooo much.
6. Get a membership with ACM they give you free books and courses if you’re a member.
7. Work with as much people and on as many projects as possible in order to gain more experience ==> See open source
I want to thank everybody for coming and making this lunch another great one
Well I’m pretty excited about the drop of IronRuby
We took it for a quick spin at work.. and it looks really promising
As you can read on John Lams blog there are a bunch of things that aren’t implemented yet.
One of those things would be to enumerate the methods of a class.
We thought String would be a good fit as John is explaining how much time they put in that one.
so this is what we tried.
start up the ironruby console
str_test = “Hello World”
10.times { puts str_test }
which gives the expected output
Iterations over arrays etc work as expected.
however one of the things i use a lot are the methods : methods and attributes
attributes shouldn’t exist on a string class but methods should only now it throws an error.
All in all I’m very impressed by what they’ve accomplished so far and I’ll definitely be looking at contributing to this project as soon as I have completed my last 2 projects for clients.
I always thought that if there was one guy in NZ that should be working there it’s Alex.
And today he announced that he will be joining Microsoft in September : http://www.base4.net/Blog.aspx?ID=538
Congratulations Alex. I for one am looking forward to the great things you will be doing there.
This is more for my own reference but I decided to put it here.
This is the color scheme I’ve been using over the past couple of weeks.
It looks like this:
///
/// Gets or sets the date.
///
/// The date.
public DateTime Date
{
get { return date; }
set { date = value; }
}
///
/// Gets or sets the memberName.
///
/// The name of the member.
public string MemberName
{
get { return memberName; }
set { memberName= value; }
}
///
/// Gets or sets the source of the member.
///
/// The source of the member.
public MemberSource SourceOfMember
{
get { return sourceOfMember; }
set { sourceOfMember = value; }
}
Oops.. looks like copy as html doesn’t quite look the same.. anyway you can give it a try if you want
Dark Scheme with resharper settings
Consider the following code :
[Test]
public void StringFormatEqualsTest()
{
string firstString = string.Format(“{0}”, “test”);
string secondString = string.Format(“{0}”, “test”);
Assert.AreNotEqual(firstString, secondString); //test passes
}
[Test]
public void StringEqualsTest()
{
string firstString = “test”;
string secondString = “test”;
Assert.AreNotEqual(firstString, secondString); //test fails
}
Why does the first test (StringFormatEquals) pass ? In my opinion it shouldn’t. I raised a bug report on the mbunit site.
This behaviour doesn’t exist in nunit. I’m just putting it out there because you do want your tests to reflect the thruth
.
How exciting.. we’ve been planning this for a while but now we can publically announce that code camp registrations are open.
Our next code camp will be the sunday before TechEd and we will be running it in one of the larger TechEd conference rooms.
Hurry to http://www.codecamp.net.nz for registrations and more details.
I know that we’ve got an impressive list of speakers.
Hope to see you there !!!
Whenever I’m faced with a bunch of legacy code that I would like to write unit tests for I get quickly demotivated because I know the code works but still i’d love to know if the code will still work after I’ve been working on it.
Lately I’ve been faced with a lot of legacy code so I decided to make a little tool that does the same as what VSTS testing does when you select generate unit tests.
I haven’t made an add in yet, it’s just a little winforms app I started it this afternoon and i have something working now. It’s also one of my very first winform apps so things have a lot fo room for improving.
I’m open for suggestions and i decided to open source it so if you have a fix or would like to make it a better tool let me know and I’ll add you to the list of contributors
You can find the tool @ my subversion repo: https://svn.koolkraft.net/test_generator/trunk
I know that it’s against the rules of TDD to do this stuff but i just want to save some time by generating stubs that don’t actually do anything except setup objects and initial values
Let me know what you think
We had another lunch session yesterday. It was a quiet session probably because of the Wellington weather, there were 7 people attending.
The first topic we discussed was mobilizing your application.
The first issue that was raised around this subject what usability issues have you got to tackle around mobile applications. Like navigation should be vastly different because of the lack of screen real estate. navigation is mostly done with a joystick or keypad there is no mouse which in itself is already a pretty difficult problem to tackle.
Another person mentioned that dropdownlists are pretty difficult to navigate too. It would be naive to assume that you can use one codebase and make some style changes to get a great mobile application. You need to take the fact of mobilizing more serious than that and be prepared to make some drastic changes in how your app flows.
One of the reasons that we haven’t really seen a great mobile app make it big is probably because of the user interface we are facing when operating a mobile device. Technology has changed a lot since mobile phones came to be but the interface hasn’t hardly changed at all. It went from a disc to buttons to buttons with a little display. Until the cell phone was there and we got a menu to operate our phones. The navigation of those menus has evolved somewhat but it’s still the same way of using it. Of course this is when the iPhone came into the conversation, and because I work at Xero i got to play briefly with an iPhone
I have to say that the touch screen navigation was really cool and refreshing and definitely a step in the right direction.
After which our conversation drifted off a little and we dreamt of futuristic interfaces and new ways of interacting with computers.
Simone has got a great post on life in wellington as a european in which he talks about our lunches and other things.
I moved my blog to be on webhost4life.com
I’m also changing blogging engines and announcing that I will stop development on nblogr.
NBlogr was almost ready for a v1 release but it has too big of a memory footprint. The footprint is 70MB which is too much for a blog.
To fix this I would have to change my data access layer to a different approach. I decided instead to switch to subtext and I’ll see which features I can provide from nblogr for subtext as plugins. I also don’t have the time anymore to occupy myself with nblogr.
The feed should remain working without a change. I upgraded my blog to subtext using Ayende’s instructions
Which means that the permalinks should still work but urls that contain a guid won’t work anymore.
The reason for moving from dasblog to subtext are the same as why i started nblogr in the first place. Dasblog has been nothing but a hassle for me. It is often down, does only trackbacks to my own domain, and many more annoyances.
Rowan Simpson: http://rowansimpson.com/2007/07/04/c-vs-vbnet/
Andrew Peters: http://andrewpeters.net/2007/07/03/73/
Alex James: http://www.base4.net/blog.aspx?ID=515 and http://www.base4.net/blog.aspx?ID=520
Nick Randolph: http://community.softteq.com/blogs/nick/archive/2007/07/03/languages-only-part-of-the-equation.aspx
Alex Henderson: http://blog.bittercoder.com/PermaLink,guid,05fc0109-3215-410e-8009-447c1e74cacb.aspx
Shouldn’t be a debate at all. I have a personal preference in languages which goes in this order C#, Ruby, Javascript, Boo/brail, a bunch of languages i don’t know yet, xml + xslt
Why C# is first on the list is because it comes with visual studio which is IMHO the best IDE out there for the moment.
VB.NET isn’t in the list because I don’t see the point in learning another language that is just as powerful as c# but has got a very ugly way for forming syntax. VB doesn’t feel logical to me.
I don’t program in a language because of aesthetics but how they flow from my brain onto the keyboard and the purpose of what I’m writing the script for. I tend to think in larger picture concepts languages that support that better have a distinct advantage in my book.
my 2c.