Friday, April 15, 2011

Blogs that are not updated

Yes, it is a problem. I am a huge fan of Brian Beckman and Bart de Smert. Unfortunately their blogs have not been updated for a long time. I read majority of their articles, and learned a lot, and I literally mean a lot, because each article requires some research to be done by myself in order to understand everything deeper and better. I ask myself a question, why do people like Hanselman or Haack blog a lot, and people that I prefer don't. Anyway, Brian, Bart I would exchange at least three months of blogging of Hanselman or Haack for a one of your posts. Power to visioners.

Tuesday, April 12, 2011

Test driven .NET

This is just a quick reminder about TestDriven.NET, a plug-in for visual studio that enables me to run my tests faster, and in an abstract way from a testing framework.

Saturday, April 9, 2011

Amb operator

It was three years ago when I first heard about amb operator. And it was schema language that implemented it. Somehow I haven't use it much, and I did not understand its power until I heard about Spec Sharp, PEX, and Z3. Since then I was looking for some tools, programming patterns, ideas to check for correctness of some code/theory, or mechanism to allowed me to check when or if the code will succeed. Today I read about amb implementation in JavaScript, a nice article, and a good reference.

Friday, April 1, 2011

P vs NP problem

There are some problems that are not easy to solve. One of them is CACM problem. Recently I read a great paper describing the history of the problem, its context, solve strategies, and what it means to solve it. A good read.

Thursday, March 24, 2011

Plugins for Eclipse that I use




Yet again, here comes a time when I need to configure my Eclipse environment, and yet again I need to search thru the web for all the pages to the tools that I need. And the winners are:
1. SpringIDE
a) Core / Spring IDE
b) Extensions (Incubation) / Spring IDE
c) Extensions / Spring IDE
2. Susbclipse
a) Core SVNKit Library
b) Optional JNA Library (recommended)
c) Subclipse
3. m2eclipse
a) Maven Integration for Eclipse

In order to configure maven plugin I had to add a following code in a eclipse.ini file (add it before -vmargs line)

-vm
C:\worek\java\jdk1.6.0_24\bin\javaw.exe


I love maven plugin - it allowed me to manipulate pom.xml file (dependencies, plugins,...) by just adding them knowing the name of the dependency (like springframework) and plug-in will search for it and suggest the newest version and create entire xml.


I also tend to use Flash Builder for my Flex development.
The biggest problem is that Flash Builder 4 requires a 32 bit JVM, it will rise an error when you try to run it against 64 bit ("An internal error occurred during: "Creating Adobe Flash Player trust file.."). This error is visible if you use a plug-in version of Flash Builder, the Stand Alone Version of Flash Builder has it's own JVM and it's 32 bit one, it means that stand alone version is not using your environmental settings if you didn't know :) Currently the Eclipse version (Helios) is 3.6.2 and Flash Builder is using 3.4.2. On some operating systems (like Solaris) one can use a flag -d32 in eclipse.ini file in order to tell JVM to run in a 32 bit mode, unfortunately under windows I had to install a 32 bit Java. Unfortunately installing Java in 32 bit version means also installing Eclipse in 32 bit version.

In an addition Tortoise can be downloaded from here and it doesn't require SVN server to be downloaded and installed separately (every two years when I rebuild my machine, or configure it at work I ask myself a question - do I need a server)

Friday, March 18, 2011

Recursive Functions by JMC

I've just read an excellent paper by John McCarthy. I believe I read it before, but it was so long ago, that I consider it to be read in a different life. When I look at the paper now I am amazed with the style of writing. John creates entire computational notation system, explaining it, giving examples and discussing why is it a good thing to do it his way. The topic/task is not trivial or simple, but John is able to do it in a way that not only allowed an average person to read it, but also paper is full of energy - it motivates for further thoughts and further readings. It is a truly a remarkable work.

Wednesday, March 9, 2011

Debuggable functions in Haskell

Long long time ago, when I was writing my first Haskell apps I had this huge problem - debugging. Because for majority of my life I was debugging more or less by writing printf(some variables) I was trying to apply this same pattern to Haskell. Unfortunately it didn't work. Didn't work because functions in Haskell do not allowed side effects, so if you don't want to (don't know how) use monads it isn't simple task to do, to write something to a screen, when you are in a function. In a last few years at least 10 people asked me how to write some debugging information on the screen, to try to figure out what is going on in your code, when it does not work, so far I was unable to point a good article how to do it, and I had to explain everything by myself. When you drink a beer with your mate and you try to explain how to use monads on a piece of tissue, it is not a good way, how to teach people anything. So I was so happy to find recently this article. It explains the problem (why it is not easy to write something on a screen when you are in a function) and how to deal with it so you don't need to refactor your code dramatically. Excellent work Darius, keep it up!