KevinUp

real world programming

Archive for August, 2007

Neural Networks

Posted by kevinup on August 27, 2007

I’ve always had a softspot for AI.

For my senior design, Ryan and myself began work on SapioGo . It was pretty awesome and I thought at the time pretty cutting edge. We had blending a neural network and a genetic algorithm to teach itself how to play ‘Go’. We ended up developing two different strains, one was for a 9×9 board, and the other was for a 19×19 board. I forget the exact stats but I roughly remember that our approach slowly began to play better against GNUGo. After about 600 generations it actually won a couple times against GNUGo. So all in all it was a success.

Fast forward to now. I’ve always thought it was cool that you could have a computer ‘learn’ something. My skill set sadly isn’t in in C any more, as it has progressed to C#. I finally found a decent neural network library written in C#. I can’t wait to play around with this and get back into witting some AI. I’ll try and post any super cool code I come up with.

Posted in Uncategorized | Leave a Comment »

business development

Posted by kevinup on August 8, 2007

I’ve been doing a lot of thinking recently about running a successful business. My end goal would be to work for myself someday, with some other hot-shot developers, I’m not quite ready to venture out on my own but in the mean time I continue to plot and scheme about it. Steve McConnell has two awesome posts about running a successful company. Here are some of the highlights which I hope to use someday:


Leadership

Construx’s COO communicates openly and directly. He spends a lot of time worrying about morale. He makes sure that issues don’t tend to fester.

Benefits

401K with 100% match up to 10% of salary. 24 days of vacation minimum. Employees can turn down assignments that aren’t appealing to them as long as they’re pulling their weight overall.

Culture

Construx holds weekly “wind downs,” during which employees drink beer and wine, sit on sofas, and chat.

Profitability.

We believe strongly that we can be good to our employees and still be profitable – furthermore, that being good to our employees will actually help profitability in the long run.


I found these posts incredibly refreshing. What does this mean to me right now? Nothing unfortunately, it was nice to see that there are cool companies and cool people running them. Its too bad that Washington state is on the other side of the world from Ohio, because I’d love to send them my resume.

Posted in Uncategorized | Leave a Comment »

InternalsVisibleTo

Posted by kevinup on August 6, 2007

So I was at .net user group the other day and someone said off handedly, “You can expose internal methods to other assemblies.” I thought at the time, why would you want to do that? Isn’t that the point of making a method internal in the first place.

Fast forward to later. I was writing a static method, that was originally private. Via refactoring another class in the assembly, I was able to remove a bunch of code, but changed the scope of my original function to ‘internal.’ My tests were still passing in all paths through my internal function, and I still had 100% coverage. Then I thought to myself. What I really wanted to do at this point, was write some tests around my new ultra cool internal method. But it went against every thing I believe in just to change the scope of my method to public, just to write some tests on it. Then I remembered user group, and went looking for it and walla:

[assembly: InternalsVisibleTo("BusinessLogic.Tests")]

I dropped this into my AssemblyInfo.cs, and now I can test internal methods from my testing framework. I also went refactoring through some other functions, and was able to change their scope to internal as well. And of course, intellisense works.

Posted in Uncategorized | 2 Comments »