« March 2004 | Main | May 2004 »

April 29, 2004

Build.Net Released

Well, I finally got around to releasing Build.Net, a .NET project-based command line build tool.


Read all about it straight from the README file. Let me know how your build turns out. Yet another tool built out of frustration. ;)

Description
-----------
Build.Net is run from the command line. It recursively searches a directory for
VS.NET project files to build. This directory to be searched is passed in via 
the '-find' parameter. Any *.csproj that is found is parsed into an object model 
and added to the build list. Any *pattern* in the -findexclude parameter will NOT 
be built. Build.Net will attempt to build any dependcies that does not already 
exist in the output directory. The dependency is *hopefully* in the build list. 
Your project files should all have the same output directory (OutputPath). 

Posted by 0xFF3300 at 09:08 PM | Comments (2) | TrackBack

April 22, 2004

Microsoft Releases First MSDN Article on MSBuild

I have been waiting for more information on MSBuild, as it's almost identical to Ant. It will be standard as part of MS Visual Studio 2005. The code is basic XML and looks something like this:


<Project MSBuildVersion="1.2">
<Item
Type="FilesToCompile"
Include="HelloWorld.cs"
/>

<Target Name="BuildHelloWorldExecutable">
<Task
Name="csc"
Sources="@(FilesToCompile)"
OutputAssembly="HelloWorld.exe"
targetType="exe"
/>
</Target>
</Project>

[0] Overview of MSBuild, Part 1

Posted by 0xFF3300 at 04:41 PM | Comments (1) | TrackBack

April 20, 2004

Lindows Filing IPO

Lindows, Inc. yes the name sounds familiar enough, it kind of reminds me of the Microsoft OS. Either they have done the research or they are about to get one heck of a lawsuit.

"Lindows, Inc. announced today that it has filed a registration statement with the Securities and Exchange Commission for the initial public offering of its common stock. All of the shares are to be sold by the Company. WR Hambrecht + Co is acting as the lead manager of the offering, which will be made through WR Hambrecht + Co's OpenIPO(R) auction process. Roth Capital Partners is acting as co-manager. The offering will be made only by means of a prospectus. When available, copies of the preliminary prospectus relating to this offering may be obtained from WR Hambrecht + Co at 555 Lancaster Avenue, Berwyn, Pennsylvania 19312, telephone (800) 673-6476, or Roth Capital Partners at 24 Corporate Plaza, Newport Beach, California 92660, telephone (949) 720-5700."

Lindows, Inc. is a developer and vendor of Linux-based operating systems,
application software and services designed specifically for desktop and laptop
computers in homes, schools and businesses.

A registration statement relating to these securities has been filed with
the Securities and Exchange Commission but has not yet become effective. These
securities may not be sold nor may offers to buy be accepted prior to the time
that the registration statement becomes effective. This news release shall not
constitute an offer to sell or the solicitation of an offer to buy nor shall
there be any sale of these securities in any state or jurisdiction in which
such offer, solicitation or sale would be unlawful prior to registration or
qualification under the securities laws of any such state or jurisdiction."

Posted by 0xFF3300 at 03:40 PM | Comments (0) | TrackBack

April 19, 2004

NRobot 0.12 Released

NRobot is an autonomous robot fighting game. By "autonomous" I mean that instead of directly controlling a robot, the human playing the game must write a program that acts as the "brain" of the robot. The robot will then be dumped into the game arena and must attempt to survive on its own. Other similar projects include IBM's RoboCode (written in Java); I've also heard that there was a very old BBC microcomputer game with a similar premise where robots were written in BASIC.

By contrast, NRobot is written for the ECMA CLI. It's been tested on Mono and on Microsoft's .NET framework - there are separate GUI frontends for these two environments due to differences in toolkit maturity, but the backend code is common. The use of the CLI means that (in theory at least) many languages are available for implementing robots in. Currently I believe that C# is the only language with a mature Free Software implementation capable of writing robots in, but this is likely to change as Mono's implementations of VB and EcmaScript improve, and the IKVM Java [0] implementation gets more support for CLI features (currently, it lacks "attributes" which are required for use in NRobot, but support for them is planned for the future).

This is the first public release of NRobot, coinciding with the move to public development at https://www.gna.org/. Currently, NRobot is functional and "playable". It comes with three sample robot implementations, so that "out of the box" you can watch a game. One important missing feature is a security architecture: robot code executes with full privileges. Thus, it's recommended that if you are running any robots from untrusted sources, NRobot is run under a user
account with no privileges over files you care about. It's also short on documentation and the GUI implementations have some rough edges.

NRobot is licensed under the GPL, but also carries an explicit disclaimer that robots written for it are not considered derived works. This is to preserve the competitive aspect of the game - it isn't expected that the robots themselves will have public source code, in most cases. While I strongly believe in both the ethics and practical benefits of Free Software, I don't think they apply to robots developed for NRobot: a robot is specifically designed to compete with other robot implementations and reflect the skill only of its author, rather than being cooperatively developed to achieve the best possible result.

Homepage: http://home.gna.org/nrobot/
Download: http://download.gna.org/nrobot/
Development: https://gna.org/projects/nrobot/
Mailing List: nrobot-list AT gna.org

References:
[0] http://www.ikvm.net

Posted by 0xFF3300 at 05:09 PM | Comments (0) | TrackBack

April 13, 2004

Choosing a TCP Port for Remoting

When designing a Remotable service it's important to choose non-conflicting TCP port. Applications connecting to SQL Server will use just about ANY TCP port between 1200 and 5000. Do a netstat -a on your app server and you'll be able to see what I'm talking about. If your remoting application starts and that port is in use, obviously it will not be able to register itself on that TCP port.

Posted by 0xFF3300 at 10:41 AM | Comments (0) | TrackBack

April 10, 2004

C# MIDI Components

I have been looking for some decent C#/.NET MIDI libraries or just plain reference implementations. Here are some:

  • MIDIToolkit
  • MIDI Components in C#

    Posted by 0xFF3300 at 09:14 AM | Comments (0)

    April 08, 2004

    Mono Mac OS X PPC Support: I Give Up...

    I am reposting this message because from time-to-time, I have felt the same frustration with Mono on my FreeBSD system. It seems they have centrally focused on running Mono on a single platform. It's really too bad, I feel they have left many non-Linux people out in the cold.

    Griffin writes:

    ...Mono support for Mac OS X/ PPC is fragile at best. I even tried to put together a page
    on the basic steps [0] but I have all but given up trying to maintain that page. This is
    because mono not reliable from day to day, release to release, on the PPC / Mac OS X platform.

    I am not saying that running off the CVS tree is the most stable way to work, but this goes for the releases also. 0.29 worked on the PPC, 0.30 didn't without some major hacking. 0.31 doesn't work reliably, either.

    Some of the steps I have taken to compile mono include:

  • configure switches
  • external, 3rd party source downloads
  • editing actual code/headers to accommodate the PPC platform.

    What's worse, is that when I encounter errors, i receive almost no help on the mailing lists. Some of these are not doubt strange errors, and some are very common, but my posts go unanswered either way.

    I haven't even gotten to gtk#...

    Segmentation faults, bus errors, frozen compiles, etc.... The list goes on and on. I hope to come back to mono in a few months, when/if PPC support is better. But for now, I feel that it's a lost cause.

    [0] http://homepage.mac.com/griffincaprio/mono/RunningMonoOnMacOSX.html

    Posted by 0xFF3300 at 12:05 PM | Comments (1) | TrackBack

    April 07, 2004

    TextMaker: FreeBSD Word Processor

    I haven't tried it out yet, but it sure looks nice!

    Posted by 0xFF3300 at 07:29 PM | Comments (2) | TrackBack

    April 06, 2004

    Follow These Instructions

    Chris found a fabric tag that reads "We are sorry that our President is an idiot. We didn't vote for him." Now if we could only get the American version of that tag. I wonder if Bush would even get it, at this point I am not too sure about his literacy skills.

    Posted by 0xFF3300 at 05:12 PM | Comments (1) | TrackBack