Older blog entries for jluke (starting at number 24)

26 Oct 2004 (updated 26 Oct 2004 at 04:13 UTC) »

I was always jealous of FxCop, the more automated tools the better I say. That was one of the things I wanted to get working on MonoDevelop a few months ago. You see, SharpDevelop wrote this AssemblyAnalyzer thing that works sort of in the same way. At the time, I hadn't quite finished the GUI portion of the AddIn so its not enabled in MonoDevelop.

However, I thought why not just slap a little command-line driver in front of it and then everyone can use it. So that is what I did. Temporarily called monocop (because AssemblyAnalyzer was too long, and I haven't bothered to think of a real name yet). It can output either plain text or xml. It should work with make, nant, others fairly well in an automatable way.

It works like this. You specify an assembly or assemblies to analyze, and it will warn you of possible design and naming problems. It also supports custom rules and looks to be fairly easy to add more. It only has about 87 rules right now.

Some example output: $ monocop -xml -output:results.xml hello.exe

<?xml version="1.0" encoding="utf-8"?> <Assembly Path="hello.exe"> <Resolution Certainty="95" Priority="Error"> <Item>/home/jluke/hello.exe</Item> <Description>Assemblies should be strong named</Description> <Details>Assemblies with a strong name can be placed in the GAC. Furthermore only strong named assemblies can be referenced by a strong named assembly (Your assembly cannot be used by a strong named assembly if you do not sign it).</Details> <Text>Sign the assembly hello.exe with a strong name.</Text> </Resolution> ....

Florida lost to Mississipi State, hopefully this will end the Ron Zook fiasco at Florida. When someone is demoted to Special Teams coach 10 years ago, how can you expect him to be a successful head coach. I know I didn't.

Things an application may need to do during installation:

  • Add a menu entry
  • Register mime-types it handles
  • configuration data
  • add documentation to monodoc/yelp/others
  • various others I missed (i18N)

For example, MonoDevelop needs to add a few mime types and occasionally syntax definition to gtksourceview to work fully. It works without installing (unpack it and type make run), but just enough is missing to potentially make things harder on you.

For some reason GNOME and others seem to increasing the dependence on $prefix and path specific files for the above things. You put a .desktop file here, an app.xml file there and run update-mime-database /some/path/, put a gconf schema here and do something else. Then if PATH, LD_LIBRARY_PATH, PKG_CONFIG_PATH aren't set right or you don't have root permission it doesn't quite work.

It really seems like there should be a better way. Here are some options:

I used to think we would be lucky if we could get to the point where autopackage was widely accepted in addition to rpm/deb. Now I am hoping for more. In particular, bundles seem rather appealing without me having had the chance to play with the Mac and discover its shortcomings. It certainly seems doable to me.

18 Oct 2004 (updated 18 Oct 2004 at 01:31 UTC) »

I wrote a C# implementation of the freedesktop.org Recent Files spec today that seems to work ok with existing gnome programs. It is not very well tested, so be careful. For those interested it is here, http://bugzilla.ximian.com/show_bug.cgi?id=54880 even though it is not MonoDevelop specific. You want just the RecentFiles.cs file if you want to try it, please dont add comments to the bug unless it is about MonoDevelop. Specific things about RecentFiles.cs can come straight to me, including where it should eventually live if people find it useful.

My TV broke, but luckily things like tvtime and mythtv exist.

Seems to be good news on what me and Todd talked about the other day. Doesn't seem to mention the other bills though. Link is to slashdot because of those stupid newspaper registration things. Draft bill shot down You can probably find a better link through google though.

I watched the VP debate which was lackluster at best, still wish each party didn't conflict with themselves so much. I guess it is much easier to find faults, than fix them.

Laszlo sounds interesting without me really reading anything about it, sort of Flash MX-ish but now open source. If it only didn't require the hopelessly complicated J2EE. Looks like they plan to integrate with Eclipse (only speculation on my part because they chose the same license).

I messed with some more bite-sized mcs stuff today, small error fixes and stuff. Most of the test failures now seem to be where mcs reports a generic parser error, instead of a more specific one, which would be nice to fix but probably not a high priority. I think I am getting to the point that I understand (most) of the process now, but not enough to write a compiler yet.

4 Oct 2004 (updated 4 Oct 2004 at 06:20 UTC) »
Todd, I cant get to the first link, so I will assume it is to the Charles Rangel bill. The other bill is by Fritz Hollings (a RIAA/MPAA favorite). Since the two Senators who have written these bills are democrats, who are you advocating voting for? I was sure you were against Bush (who does not plan on reinstituting a draft). As far as I can tell neither bill has much of a chance of passing, but who knows.

I just spent 10 minutes writing a tool to generate a Makefile for a directory of .cs files, I have to wonder why I didn't do so a very long time ago.

Updated: I didn't assume anything and I am not naive. Just mentioning a related fact in case anyone believes the conspiracy theories going around that Bush and/or Republicans are secretly planning what Democrats are doing in plain sight. In any case, (most) politicians are members of a party in which they both have influence and are influenced by, so it is related to the presidential vote.

The Good: SharpDevelop 1.0 congratulations.

The Bad: Python seems brittle, programs that are written with it are building up a bad track record in my little world. Maybe, I am being unfair.

The Ugly: Another hurricane a'comin.

Disclaimer: I am not for for either candidate in the US election

Since Todd enumerated why you should vote for Bush, I thought it only fair I do the same for Kerry.

Top 22 Reasons to vote for John Kerry


Since it seems to have been deemed appropriate that we all become sideline political commmentators lately. I would like to point out it is not only important that you do vote, but that you think before you vote. You can spend 20 minutes finding out about where each candidate _claims_ he stands on all the issues instead of just one. I can almost guarantee you will find some surprises while doing so.

In more on topic news, I have become distracted with a new (mono-related) project that I should have never started in the first place. That whole reinventing the wheel thing that people hate so much, but I seem to enjoy doing. Anyways, "hello world" worked for the first time yesterday so hopefully it will be ready for public announcement in a couple weeks. Real world utility is probably not very high, but it has certainly been educational.

I also have 6 gmail accounts to give away.

So if you have ever written documentation for mono or Gtk# and want a gmail account let me know (john.luke@).

2 hurricanes down, possibly 1 to go. The worst part of Frances for me was missing college football when the power was out, some minor damage to my parents roof, and a fallen tree (aka Chainsaw fun). Tons of damage and flooding throughout much of the rest of the state.

Interesting to see that Todd should feel right at home in California with his political views.

24 Aug 2004 (updated 24 Aug 2004 at 20:37 UTC) »

So people here are still picking up their yards after the hurricane went by, a good week and a half later. It was kind of hectic because they kept making too specific predictions about where the thing would go. First, alot of people evacuated from the Tampa area to Orlando. In Daytona everyone thought it was going above Jacksonville. As it turns out, it went right through Orlando and Daytona instead. I really wish they would return to stressing the unpredictability of these things. For the most part, there was only the incovenience of downed trees, power and water outages, cancelled school, etc. around here. Fortunately, it was not a more powerful storm.

The other day I thought to myself, "I should write a quick little .xsd file to validate this XML I want to read". After visiting w3schools.com to learn what xsd was and how it works, I wrote one and then tested it. Somehow, it works differently on mono, ms.net, and xmllint, and I couldn't figure out why. Then I thought, "wow, I guess I should write a small test to see where the bug is". Of course, I could not get the test to break. Then I thought, "Ok, I need to try to write a .xsd for something else and see if that works." So I started to write one for monodoc (which only has an out of date relax-ng one), because I always wanted to be able to validate the newer slightly modified format. So I did that, and a little validate.cs file and it works also (at least for all the Gtk# docs so far). So now I will have to walk away from the original .xsd, and come back to it when my mind is fresh to figure out what went wrong on that first one. At least monodoc will have a working schema soon after I get the last kinks worked out of it, maybe it can be used to make editing more robust.

15 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!