Burning CDROMS (or DVD) from ISO in Windows XP for free.

I hate buying software.  I’m a fan of Linux and Open
Source more for the price than for the philosophy.  I’m cheap.

Open Source on Windows is great.  Freeware is OK.  But the strange
hidden gems are the ones that have existed for years and I just don’t know
about.  Well, this one I have know about for a few years, but it has been
around for as many as 6.

The Windows Resource Kit comes with CDBURN.EXE.  It burns ISO files to
disc.  I am all for command line, but sometimes toggling between windows
explorer and command line is just not as efficient as it could be.  It is
also a hassle to click all the way through Start->Programs->Windows
Resource Kit Tools->Command Shell.  This stuff should be at my

I make this little file and call it cdburn-d.cmd and place it on my
desktop.  Now I can drag an iso to it and it immediately burns.  No
right click, no next button, no “are you sure” prompt.  This is efficient

"C:\Program Files\Windows Resource Kits\Tools\cdburn.exe" D:


Now as a Gnome and Ubuntu user I am sad to admit that I have no idea how I
can do the same thing in Gnome.  Could I create a shell script and do the
same thing?

cdrecord dev=/dev/hdc -dao $1

echo press enter to continue...


It pains me to admit that I don’t know if such a simple thing will work.
Especially since I’ve been using Gnome since before the 0.30 release.
That was pre-Nautilus, so I guess what may have worked then wouldn’t work
now, but it still pains me.

Agile good vs. bad. I win!

I honestly can’t tell if Stevey is serious or not, but I
love this post anyway.

I was chuckling inside the whole read, but this made me laugh out loud.
was really curious, in part because I’d consented to try Agile last Christmas
(“hey, it can’t hurt”), and wound up arguing with a teammate over exactly what
metadata is allowed on index cards before giving up in disgust.”


By the end of the read I could tell that he is indeed serious and he raises
some awesome points.  This is the first writing I’ve ever read that said no
to Waterfall, Cowboy and Agile.  YEEHAW!!!

Metadata-Based Validation

This Artima article links to an IBM developer works article which details how validation in
one place in an application can extend throughout different parts of the
application.  I’ve wanted something like this ever since I played with
Modula-3 in college.  Modula-3 made it so easy to create new constrained
types that I finally saw the power of such constraints.

My dream of a system would work something like this:

1.  Define your data objects and include something which contrains this
data.  In Java this could be annotations.  In .NET this could be
attributes.  In other languages, or pre-annotations Java, it could be
something else, it doesn’t matter, but annotations/attributes definitely make
things easier and nicer.

2.  If I am mapping to a database, the ORM should read these attributes
and contrain the data at the database level.

3.  If I create a UI (web, console, windows, gnome, applet, it should
not matter) certain control types should be infered and other control types
should be validated.  For example, if I have a data member which is an
enum of three values, a textbox is probably not the best input control.  A
drop down with three values, or three option boxes may be better.

4.  If I create a non-U-I (a non-user Interface) (web service?) the
contraints should be enforced, preferably at the service layer.

I would really love this.  Scaffolding would be far more useful with
this type of Metadata in my objects.  People directly accessing underlying
databases have less chance of inserting or modifying data to “garbage”. 
Contraints were pushed down to the database level.  Of course, ideally no
one would connect to the database directly, but the real world is not ideal.



AADND – Ann Arbor Dot Net Developers meeting September 13th at SPARK

Please join us on Wednesday, September 13th at SPARK for the 8th Ann Arbor Dot Net Developers meeting.  The meeting starts at 6pm and usually lasts until about 8:30pm.

Jay R. Wren (me) will be presenting Mono.

Mono yields some great opportunities to propel Open Source and Linux even
further into the mainstream. Mono is an Open Source implementation of a
runtime environment and libraries designed and created by Microsoft known as
the .NET Framework. There has been much controversy and misinformation about
its performance and licensing issues in the Open Source community. Some of
these issues will be dispelled and others will be displayed in a new light.
Some of the best desktop application available today are written in C# and
run in Mono. Mono has some excellent tools available, some of them are
better than tools available for systems which have been around much longer.
Mono supports nearly all of the protocols and libraries with which Open
Source developers are familiar. In this session, we will introduce Mono.

Jay R. Wren learned to program at age 8 on an Atari 800XL. Two years later
the family got an Amiga 1000. He learned to program structured procedural
basic. Amiga Basic 1.3+ didn’t have line numbers! This background helped
immensely when he moved to programming PASCAL and C and later C++, Java,
Python, PHP, Perl, Pike, and finally C#. He started using Linux as a desktop
operating system in 1995. He put himself through Oakland University for
eight and a half years and obtained a bachelors and masters degree while
working, usually full time. After seven years of working as a Systems
Administrator and a Network Administrator, Jay decided to switch direction
slightly and put the computer science degrees to work by entering the field
of Computer Programming and Software Engineering. After trying to teach
himself the whole J2EE thing, frustration with the XML configuration files
and overall system lead him to try this Microsoft .NET thing. Very shortly
he was hooked and diving into the open source implementation of it, called
Mono. He has been using Mono and .NET since fall of 2004.

We will have our usual format including valuable news about local .NET technology, opportunity and jobs.  Pizza will be privided.

This meeting is open to the public and is free to attend.

For more information see our website:  http://www.aadnd.org/

Domain Driven Design (DDD) and Service Oriented Architecture (SOA) are both important

Alex Hoffman gets it!

DDD and SOA Are Unrelated.

I don’t think I would use the word unrelated, but the are definitely NOT two different ways of thinking. I guess this is a pet peeve of mine. DDD is also not a replacement for Object Oriented Design. Rather, DDD “is a way of thinking and a set of priorities…” according to http://domaindrivendesign.org/.

Domain Driven Design as the primary driver to solving a problem. SOA is simply a set of guidelines for best exposing this solution. I wouldn’t say that they are orthogonal. I might say that they are parallel. I wouldn’t say that they are totally unrelated, but I would say that they are independant of one another. However, the ease of exposing your design as a service would be a reflection on the design of your domain so there is some intrinsic relation there.

Both of these items should be on the checklist of “good software” when designing a new application or system. It is fine to simply say “no, we won’t ues that” to each of these items when going down the checklist, but in my opinion they should at least be considered for each and every project.

State of Michigan Judicial District Advice of Rights

1. You have been brought to court on a misdemeanor charge. You have the following basic rights:

a. To plead guilty or not guilty or to stand mute. If you stand mute, a plea of not guilty will be entered. You may plead no contest with the permission of the court.

b. To have a trial by judge or jury.

c. To have the assistance of an attorney.

2. You have the right to an attorney appointed at public expense if you are indigent (without money to hire an attorney) and if

a. the offense charged requires a minimum jail sentence, or

b. the court determines that it might sentence you to jail.

3. You may have to repay the expense of a court appointed attorney.

4. If you have a trial, you have the following rights:

a. To call witnesses to speak for you at trial. You may get an order signed by the court to require witnesses to come to court.

b. To see, hear, and question all witnesses against you at trial.

c. To be a witness for yourself or to remain silent. If you choose not to be a witness on your own behalf, the prosecuting official may not comment on your refusal to testify.

d. To be presumed innocent until proven guilty beyond a reasonable doubt.

5. If you plead guilty or no contest and your plea is accepted, you will not have a trial of any kind and will give up the rights listed in items 2 and 4 above.

6. You have the right to be released on bond.

7. If you are now on probation or parole and you enter a plea of guilty (or no contest) or a finding of guilt is made by judge or jury, it may result in a violation of your probation or parole.

8. Except for alcohol or substance abuse/driving offenses or unless otherwise advised by the court, you can be sentenced up to 93 days in jail, fined up to $100.00 plus costs, or both. (The court will advise you if there is a minimum jail sentence.)

9. Fines, costs, and other financial obligations imposed by the court must be paid at the time of assessment.

10. Possible sentences and license actions in alcohol or substance abuse/driving and retail fraud cases are shown on the other side of this form.

11. An appeal to circuit court may be taken within 21 days from date of sentence.

12. If you require special accommodations to use the court because of disabilities, or if you require a foreign language interpreter to help you to fully participate in court proceedings, please contact the court immediately to make arrangements.

from http://www.courts.michigan.gov/scao/courtforms/misdcriminal/dc213.pdf

found by http://www.google.com/search?q=state+of+michigan+advice+of+rights+213