« March 2007 | Main | May 2007 »

April 27, 2007

Expanding on the Relationship Between Unity and Number

Cusa's principled distinction between the "absolute maximum" and "number" comes within our reach with a pedagogical exercise involving the creation of a "circle of two". The reader is invited to create a circle of two.

With some effort, the reader might conclude that they may not create a "circle of two" without first defining unity. After having established that "one" necessarily must precede "two", the incredulous reader will often retort that quantitatively this proves nothing. The small is a component of the large. "Of course you need one in order to make two! One is LESS than two!"

At this point the trap snaps shut and the error in this manner of thinking is demonstrated, as the second challenge is leveled. Create a circle of one-half. Is one also "less" than one half? Not quantitatively. But you cannot create a circle of one half without first defining a unit of measurement. From this it is shown that the concept of unity differs from the concept of number, and must exist, metaphysically, prior to that of number.

"More" and "less" are quantitative notions, which have no bearing on the relationship between numbers and unity. What matters is priority. Not temporal priority in the causal sense, but metaphysical prioricity, which creates the possibility of a certain state of relations. For example, if the existence of a thing is made possible only by the existence of another thing, as is the case for falsehood and truth, respectively, it is said that the latter has prioricity. Unity establishes the possibility for a state of relations we call number. Unity must necessarily exist prior to the existence of number. Again, not temporily, but metaphysically.

Cusa developed this concept fully in his "De Docta Ignorantia", which Professor Jasper Hopkins here at the University of Minnesota has graciously published for all to read.

April 18, 2007

Some campus staff members recieve e-mail notice about bomb threat as late as 3:14

Well, it's too late to dig a well when you're already thirsty.

I've been thinking about emergency response mechanisms for data distribution all day, only to find a real life situation in the afternoon. I'm angry and upset about it, so I did what I could do--blog about the emergency and try to track how the news articles emerged on Google news. I'm interested how the flow of information actually reaches our community at present. In part, because this is such a large campus and it just seems that we need to take the matter seriously and leverage emerging technologies to our advantage. I'm also interested in this, because data delivery is a large part of what I do here and I've been brainstorming with some of the campus' brightest all afternoon on how to quickly implement a next-gen emergency-data delivery system on campus. I didn't think we'd need it this afternoon.

It was instructive that I could get news from Jerusalem before KARE 11 picked up the story on their site, for example.

Tracking how the news unfolded on Google was actually very edifying. I found that there was a 20-30 minute lag between when articles became available online and when they were picked up by my news aggregator. That's disturbing and it underscores the need for an in-house "push" system for data delivery.

Although we're not relying on e-mail to evacuate buildings, one of my colleagues only received an e-mail about the campus emergency at 3:14, roughly two hours since the emergency was announced. This is two hours after the emergency began.

I was discussing emergency data transmission procedures today via e-mail with the Innovation Fellows board on campus, and there are some very good ideas out there about how we can more effectively propagate information to the campus than we are presently doing. We're looking at incorporating push technologies, possibly video and almost certainly IM to cell phones for these sorts of events. I find it particularly frustrating that although there is a sense of urgency, the matter could get bound up in politics.

What I propose is that the central X.500 directory tools page at the University, where UMN students, staff and alumni set up their directory information (http://www.umn.edu/dirtools) contain a form where UMN community members and register a cell phone number. During emergencies, messages could be sent automatically to any cell phone numbers which are subscribed for emergency notifications. Students could put their parents' phone numbers down for emergency notification as well. Then, when we have emergencies on campus, we can broadcast messages over IM to anyone subscribed.

Additional benefits of such a system would involve password resets--when people forget their passwords, they could go to a page to have a new password assigned and sent via IM to their cell phone. I can open up an Instant Messenger client right now and send my cell phone number a message.

As always, these are my ideas, opinions and thoughts. They're not "official" by any means, and don't reflect the views of the University of Minnesota, the Board of Regents, etc. Everyone stay safe out there.

Also, with that said, I hope the police catch whoever did this, and if it's a student, I hope he or she gets expelled and tried in the criminal courts.

FOX News reports on Northrop Mall bomb threat

FOX News reports on Northrop Mall bomb threat

  1. Bomb Threat at University of Minnesota - 22 minutes ago as of 15:42:45

AP Newswire finally picks up story on Northrop Mall bomb threat

Houston Chronicle, Forbes, Town Hall DC, St. Cloud Times all report on Northrop Mall Bomb threat:


  1. 7 UMinn buildings evacuated after threat - 31 minutes ago

  2. Seven UMinn buildings evacuated after bomb threat - 31 minutes ago
  3. It looks like these news outlets are pulling down an A.P. newsfeed. The initial report was issued at 1:15. The Minnesota Daily had an article at about 2:10, and the A.P. finally begins broadcasting the story through portal outlets at about 3:37

USA today reports emerge about Northrop bomb threat

USA Today has issued a report on the Northrop Auditorium Bomb threat.


  1. 7 U. Minn. buildings evacuated after threat - 27 minutes ago as of 15:24:37

KARE, Minnesota reports on Northrop Mall Bomb threat

KARE, MN now has reports about the bomb threat on the Northrop Campus.


  1. U of M evacuates buildings - 43 minutes ago, as of 15:22:27

WLOS, North Carolina reports on Northrop Mall bomb threat

ABC news WLOS in North Carolina has reported, 15 minutes ago as of 15:17:21, on the Northrop Mall closure.

  1. Seven buildings at University of Minnesota evacuated

Jerusalem Post reports on this afternoon's Northrop Mall bomb threat

The Jerusalem post has reported on the Northrop Mall bomb threat:


  1. Minnesota University evacuated after bomb threat - 18 minutes ago as of 15:14:54

KTTC and West Central Tribune report in on the Northrop Bomb Threat

Two more newspapers have reports published on this afternoon's Twin Cities bomb threat and evacuation. They are listed below:

  1. KTTC - Portions of U of M Evacuated, 30 minutes ago
  2. West Central Tribune - Seven UMinn buildings evacuated after bomb threat, 30 minutes ago

MPR.org article on UMN Twin Cities Bomb Threat

Minnesota Public Radio posted an article at this afternoon's Northrop Mall bomb threat and evacuation of the Northrop Mall area.


  1. U of M evacuates buildings after bomb threat

WCCO Article on UMN Twin Cities Bomb Threat

WCCO posted an article at about 2:20PM on their site about today's bomb threat on the Northrop Mall. I found it while performing a google news search for "Northrop Mall". "University of Minnesota" did not yield any news results about the bomb threat or evacuation. Here's the WCCO article:

7 'U' Buildings Evacuated Due To Threat

Bomb threat on UMN Twin Cities Campus

http://www.umn.edu reports the following:

Seven buildings on the East Bank campus are in the process of being evacuated due to a bomb threat. They include: Kohltoff, Smith, Frasier, Johnston and Morrill Halls as well as Walter Library and the Science Classroom Building. All classes and meetings in these buildings have been canceled for the remainder of the day. Students are asked to return to their residence halls or their off-campus housing. Please do not congregate in the Mall area.

2:30 PM - Minnesota Daily Article appears

The Minnesota Daily has published an article about the bomb threat and evacuation of the Northrop Mall area. It can be located at http://www.mndaily.com/bomb_threat.htm

April 15, 2007

Maven 2 Build Error

Here are the details on the build error I'm having in Maven 2.0.6

alex@Apollonius ~/projects/arete/arete-all/arete-core
$ mvn test
[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------------
---
[INFO] Building arete-core
[INFO]    task-segment: [test]
[INFO] -------------------------------------------------------------------------
---
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [resources:testResources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:testCompile]
[INFO] Nothing to compile - all classes are up to date
[INFO] [surefire:test]
[INFO] Setting reports dir: c:\dev\projects\arete\arete-all\arete-core\target/su
refire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
[surefire] Running org.eremite.arete.core.CorePerformanceTest
[surefire] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.04 sec
[surefire] Running org.eremite.arete.core.HypothesisAPITest
[surefire] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
[surefire] Running org.eremite.arete.core.HypothesisBootstrapTest
[surefire] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.08 sec <<<<<<<<
 FAILURE !!
w00t!  Gotta love PicoContainer.
w00t!  Gotta love PicoContainer.
w00t!  Gotta love PicoContainer.
[surefire] Running org.eremite.arete.core.PicoContainerTest
[surefire] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.01 sec
[surefire] Running org.eremite.arete.core.SerializationTest
[surefire] Tests run: 4, Failures: 0, Errors: 4, Time elapsed: 0.2 sec <<<<<<<<
FAILURE !!
java.io.BufferedInputStream@a77106
java.io.BufferedInputStream@1e1dadb
[surefire] Running org.eremite.arete.core.throughput.ThroughputTest
[surefire] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.02 sec <<<<<<<<
 FAILURE !!
[surefire] Running org.eremite.arete.core.wrappers.WrapperFactoryTest
[surefire] Tests run: 4, Failures: 0, Errors: 4, Time elapsed: 0.02 sec <<<<<<<<
 FAILURE !!
[surefire] Running org.eremite.arete.examples.baseball.BaseballTest
[surefire] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.03 sec <<<<<<<<
 FAILURE !!

Results :
[surefire] Tests run: 20, Failures: 0, Errors: 14

[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] There are some test failure.
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Sun Apr 15 13:25:24 CDT 2007
[INFO] Final Memory: 3M/6M
[INFO] ------------------------------------------------------------------------

This is one of my surefire reports. It is reporting a NoClassDefFoundError.

java.lang.NoClassDefFoundError: org/eremite/arete/core/Premise
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
	at org.eremite.arete.core.PremiseFactory$DirectLoader.load(PremiseFactory.java:221)
	at org.eremite.arete.core.PremiseFactory.getPremise(PremiseFactory.java:73)
	at org.eremite.arete.core.HypothesisBootstrapTest.testPremiseRegistration(HypothesisBootstrapTest.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:585)
	at junit.framework.TestCase.runTest(TestCase.java:154)
. . . 

Here is the source of my pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.eremite.arete</groupId>
  <artifactId>arete-core</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT-05</version>
  <name>arete-core</name>
  <url>http://sf.net/projects/arete</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>picocontainer</groupId>
      <artifactId>picocontainer</artifactId>
      <version>1.1</version>
    </dependency>

    <!-- dependency>
      <groupId>org.eremite.arete</groupId>
      <artifactId>arete-core</artifactId>
      <version>1.0-SNAPSHOT-04</version>
      <scope>test</scope>
    </dependency-->
  </dependencies>

  <build>
    <sourceDirectory>src/main/java</sourceDirectory>
    <testSourceDirectory>src/test/java</testSourceDirectory>
    <directory>target</directory>
    <outputDirectory>target/classes</outputDirectory>
    <testOutputDirectory>target/test-classes</testOutputDirectory>
    <finalName>${artifactId}-${version}</finalName>

    <testResources>
      <testResource>
        <directory>src/test/etc</directory>
        <includes>
          <include>**/*.xml</include>
          <include>**/*.properties</include>
        </includes>
      </testResource>
    </testResources>

    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <skip>false</skip>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Here is my file structure:

alex@Apollonius ~/projects/arete/arete-all/arete-core
$ ls -R src
src:
main  test

src/main:
java

src/main/java:
org

src/main/java/org:
eremite

src/main/java/org/eremite:
arete

src/main/java/org/eremite/arete:
core  io

src/main/java/org/eremite/arete/core:
AlphaCore.java           DefaultEngine.java                HypothesisInfo.java
ComponentArchive.java    DefaultHypothesisComparator.java  Premise.java
Consequence.java         Engine.java                       PremiseFactory.java
ConsequenceFactory.java  EngineFactory.java                PremiseInfo.java
ConsequenceInfo.java     Hopper.java
Core.java                Hypothesis.java

src/main/java/org/eremite/arete/io:
UnsupportedSyntaxException.java  XMLReader.java

src/test:
etc  java

src/test/etc:
org

src/test/etc/org:
eremite

src/test/etc/org/eremite:
arete

src/test/etc/org/eremite/arete:
core  examples

src/test/etc/org/eremite/arete/core:
aporetics  throughput  wrappers

src/test/etc/org/eremite/arete/core/aporetics:
aporetics.xml

src/test/etc/org/eremite/arete/core/throughput:
throughput.xml

src/test/etc/org/eremite/arete/core/wrappers:

src/test/etc/org/eremite/arete/examples:
baseball

src/test/etc/org/eremite/arete/examples/baseball:
baseball.xml

src/test/java:
org

src/test/java/org:
eremite

src/test/java/org/eremite:
arete

src/test/java/org/eremite/arete:
core  examples

src/test/java/org/eremite/arete/core:
CorePerformanceTest.java      PicoContainerTest.java  throughput
HypothesisAPITest.java        SerializationTest.java  wrappers
HypothesisBootstrapTest.java  aporetics

src/test/java/org/eremite/arete/core/aporetics:
aporetics.xml

src/test/java/org/eremite/arete/core/throughput:
CountMonitor.java  CountingActions.java  throughput.xml
Counter.java       ThroughputTest.java

src/test/java/org/eremite/arete/core/wrappers:
AbstractConsequence.java  Student.java
AbstractPremise.java      WrapperFactoryTest.java

src/test/java/org/eremite/arete/examples:
baseball

src/test/java/org/eremite/arete/examples/baseball:
BaseballTest.java  Cup.java    Juice.java   PlayerActions.java  baseball.xml
CoachActions.java  Fruit.java  Player.java  PlayerMonitor.java

I have read--scoured, really--the Maven 2.0 documentation, Google, read several articles on building the POM.xml, and have found nothing to help me answer this. I even manually copied the .class files from my target/classes into my target/test-classes directory to see if that would help. It did not. For some reason, the test classes are not seeing the main classes.

My build works fine in maven 1.3 and in IntelliJ IDEA. I must have something wrong in my pom.xml

Maven 2 build problems

I'm working on moving the code base for my recently Open Sourced project Arete to Maven 2 from 1.3 and I am genuinely unimpressed with the upgrade. I know that the maven project team put a lot of work into M2, but they should have hired an editor for their documentation.

In fact, I'll rewrite all of their documentation for them if they can help me figure out why my pom.xml is malformed. (Note, I'm sure it's something I've done wrong) When I run my tests, it seems as though the test classes cannot see my main classes. I started from their archetypal build and then added my .java source files to the appropriate locations. The package structure is fine. But the tests fail because they can't see the target/classes, unless I'm missing something.

In a situation like this, I'm supposed to scour the net for more information before I submit my pom.xml and snapshot of my source to their user mailing list. Hopefully someone there can help. I'll be sure to write down the results.

April 04, 2007

Channel 4 deliberately misrepresented climate scientist in global warming film

Prominent oceanographer Carl Wunsch, whose comments about "ocean memory" were prominently placed on UK Channel 4's documentary "The Great Global Warming Swindle", has publicly denounced the program and accused Channel 4 of deliberately misrepresenting his views on anthropogenic global warming.

In the part of the "Swindle" film where I am describing the fact that the ocean tends to expel carbon dioxide where it is warm, and to absorb it where it is cold, my intent was to explain that warming the ocean could be dangerous---because it is such a gigantic reservoir of carbon. By its placement in the film, it appears that I am saying that since carbon dioxide exists in the ocean in such large quantities, human influence must not be very important --- diametrically opposite to the point I was making---which is that global warming is both real and threatening.

This is a serious disgrace, and underscores the need for politicians and media (as well as ordinary folks) to remain dispassionate about the findings and let the science speak for itself. Incidentally, I sincerely hope that Dr. Wunsch is able to promote the results of his research. His cold-eyed and scientific approach is a breath of fresh air in this debacle.

April 03, 2007

Local company seeks Agile Flex / SOAP UI Guru

This might be the job you're looking for. Local business seeks a "UI God" with a background in Agile software development, SOAP, AJAX, Flex and web technologies. Full time position, by the looks of it. If you're interested, drop me a line and I'll Link You In.

The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.