Run any GNU/Linux app on Windows without any virtualization

Free Software Magazine has an excellent article on how to Run any GNU/Linux app on Windows without any virtualization.

It explains how to install, setup and use the free Xming X Window server for Windows and also how to use SSH from the command line. It also includes information on how to enable SSH access into an Ubuntu machine.

Iterated Function Systems and Fractals

This code generates fractals based upon an iterated function system (IFS). Several input files and a Makefile are included. The code is written in C++, and distributed as a tarball. I did this for a class at the University of Utah, but it is based upon a homework assignment for a computer graphics class at MIT (6.837).

Below is the famous Barnsley fern which was generated by an IFS with just four transforms!
Barnsley Fern

New and Improved Sierpinski Triangle C++ Code

I modified my Sierpinski triangle code so that it now allows you to adjust the contraction mapping constant. Normally one uses a contraction mapping constant of 1/2 but if you invert that and instead use an expansion mapping constant of 2, then you get the following pretty picture.
Sierpinski Triangle Under Expansion Map

The New College Try - New York Times

The New York Times has an excellent op-ed piece today on college admissions. Read the article, and you’ll see why test prep centers like Kaplan are doing so well.

Strategy Letter VI - Joel on Software

Joel Spolsky has an excellent essay on his blog about AJAX web apps and where they’re headed. The essay is entitled Strategy Letter VI - Joel on Software and I highly recommend it!

I used to be very enthusiastic about a startup that originated at MIT called Curl Corporation that did much of what Joel talks about with one major exception, instead of targeting JavaScript, they targeted their own runtime. Now that has the major disadvantage that users must download the runtime in order to run client-side Curl code, but the widespread adoption of Flash (which sucks in comparison because it was designed for visual effects) leads me to believe that if they had decided to freely distribute their runtime (for commercial as well as non-commercial use), then they would be rulers of the web by now. Their language is fairly Lispy like Joel talks about in his essay, and was a joy to use, but alas, they decided to take the short-term route and market their technology to large corporations for intranet applications. I tend to think that if they had taken the long-term strategy of targeting the entire web, then we would all be using Curl now and enjoying very rich client-side web apps instead of bickering about how to best AJAXify your web-site/application.

At this point in time, I think Joel is spot-on about the need to target JavaScript, instead of creating a new runtime, because that avoids the chicken and egg dilemma. But the devil is in the details. It may be a considerable challenge to seamlessly target Microsoft’s, Apple’s and Mozilla’s JavaScript engines.

Classes I’m Taking Fall Semester 2007

Here are the classes I’m taking this fall:

  • Introduction to Complex Analysis
  • Introduction to Topology
  • Research Experience for Undergraduates: Metric Spaces, The Contraction Mapping Principle, Fractals and Other Applications

The Subconcious Brain - Who’s Minding the Mind? - New York Times

I found this article in today’s New York Times to be very fascinating:
The Subconcious Brain - Who’s Minding the Mind?

Dark Matter and Particle Physics

Michael Peskin recently posted an article to the arxiv entitled “Dark Matter and Particle Physics”. The article is an almost layman’s guide to how the WIMP model of dark matter might soon be partially validated experimentally at the LHC.

In the article he outlines the reasons why most matter in the universe is dark or in other words does not emit light or radiation, and thus is normally only detected via its gravitational effects. He then goes on to describe the WIMP model for dark matter and its predictions. Next he talks about how the LHC might detect WIMPs:

The discovery of events at the LHC with apparent unbalanced momentum will signal that this accelerator is producing weakly interacting massive particles. However, it would be far from clear that this particle is the same one that is the dominant form of matter in the universe. To demonstrate this, we would need to correlate properties of the WIMP that we observe at the LHC with astrophysical observations.

There are two possible ways to observe WIMPs outside of the LHC. First is the direct approach of observing the scattering of a WIMP from a nucleus in an extremely sensitive detector located deep underground in a mine to minimize noise. The second method is to observe gamma rays emitted from pairs of WIMPS annihilating each other. These gamma rays should have a characteristic spectrum and be most commonly found coming from parts of our galaxy where the concentration of dark matter is highest, namely near the center of the Milky Way.

If the mass of the WIMP seen at the LHC is the same as the mass from astrophysical detection experiments, this will provide strong evidence that the LHC is producing the true particle of dark matter.

Thanks to Hwasung “Mars” Lee for pointing out this article in his blog.

General Public License Version 3: A Legal View

If you would like a great summary of differences between versions 2 and 3 of the GPL check out Mark Radcliffe’s blog post: General Public License Version 3: A Legal View on his blog entitled Law & Life: Silicon Valley.

New RSS Feed for Flash Cards Page

I added an RSS feed to update anyone interested on changes I’ve made to my Math and Physics flash cards page.

Printable “Real Analysis” Theorems Flash Cards

In my last post, I mentioned that I had created some flash cards for Real Analysis that had definitions on them. I recently created a set with many of the relevant theorems, and I will be updating them as the summer progresses. Thanks to Erin Chamberlain for providing the source TeX code for the theorems. You can find them at

http://www.physics.utah.edu/~jasonu/flash-cards/

Enjoy!

Printable “Real Analysis” Flash Cards

I’ve been busy this summer studying Real Analysis, and in the process I’ve made a set of printable flash cards in PDF format. They’re still a work in progress, but I have over 90 cards full of definitions. Cards with theorems on them will probably come some time later. The pictures below show what the typical front and back of a card look like.
Real Analysis Flash Card FrontReal Analysis Flash Card Back

Cool Feature on NY Times Website

I was just reading an article on the New York Times entitled “Science of the Soul? ‘I Think, Therefore I Am’ Is Losing Force” and while reading I came across the word “palaver” in the text. Not knowing its meaning I double clicked on it to highlight it so I could easily paste it into Ubuntu’s dictionary, but there was no need. The website popped open a window with the definition for me. Pretty cool! I wonder how long this has been working?

Wonderful Mobius Transformation Video

Below is a very interesting video clip which explains the Mobius transformations as simple motions of a sphere. I found this on Mark Chu-Carroll’s “Good Math, Bad Math” blog.

Sierpinski Tetrahedron (Tetrix) C++ Code

I modified my Sierpinski triangle code from a previous posting to work in three dimensions instead of two. The result is a short C++ program which will generate all the points of the Sierpinski tetrahedron and write them to stdout (you can redirect to a file).

Below is the obligatory image. This doesn’t look great but if you plot it yourself in gnuplot or some other package, you can probably get a prettier looking picture.

Sierpinski Tetrahedron

Cool Ubuntu Desktop Trick

I just discovered that you can switch among open applications by positioning your mouse cursor over any app icon in the bottom toolbar and then scrolling your mouse wheel. Before I would always use Alt-Tab from the keyboard. Now I can use the mouse method when my hands are not on the keyboard.

Sierpinski Triangle C++ Code

If you like pretty pictures, and I know you do, below is a plot of Sierpinski’s Triangle which you can generate with the short C++ program I wrote. This is an example of a fractal–an object that is self similar at all levels of magnification.

Sierpinski Triangle

On a Linux/UNIX system, to compile and run the code type:

$ g++ sierpinski.cc -o sierpinski
$ ./sierpinski >out
Enter depth (integer > 0, usually 10 is good): 10
Enter contraction mapping constant (for example 0.5):  0.5
$

Now the points are stored in a file called ‘out’. To plot them you can use gnuplot like so:

$ gnuplot
gnuplot> plot 'out' with points pointtype 0

Orest Symko’s Research on BoingBoing.net

I have an RSS feed from Boing Boing on my Google home page, and today they have a posting about University of Utah physics professor Orest Symko! The post describes his research into turning waste heat into electricity via an intermediary acoustic step.

It seems to me that the solar updraft tower might be a good match for this technology.

Kaliope Now Includes Gravitational Potentials

I’ve added a C++ class that handles gravitational potentials to my Kaliope project. Below is a picture of a binary cluster orbiting around a logarithmic potential well. A logarithmic potential is the simplest kind of potential well. It corresponds to an inverse distance radial force field.

spirograph

Here is a slightly different simulation, with each body given its own color, so it is easier to see individual paths:
Spirograph-2

Counting Lines of Code

I recently found myself frequently using the wc -l command line utility to count lines of code in my current project. But this got old quickly so I wrote a simple Bash script to do everything for me. Here it is:

#!/bin/bash

# This script determines the number of lines of code in
# all source and header files excluding the GPL banner
# at the beginning of each file.  It doesn't count code
# in C files generated via gengetopt.

HEADERS=`ls -l ./include/*.h | wc -l`
CODE=`ls -l ./src/*.cc | wc -l`

# The GPL banner is 17 lines long
GPL_LINES=$[17*($HEADERS + $CODE)]

COUNT=0
for i in $( ls ./include/*.h ./src/*.ggo ./src/*.cc ); do
    OUTPUT=`wc -l $i`
    NUM=`expr match "$OUTPUT" '\([0-9]*\)'`
    COUNT=$[$COUNT + $NUM]
done
COUNT=$[COUNT - $GPL_LINES]

echo "Total lines of code (minus GPL lines) = $COUNT"

This is my current output for my Kaliope project (gravitational N-body simulator/integrator).

$ ./code_diagnostics.sh
Total lines of code (minus GPL lines) = 2322

Next Page »