Filter: hardware,software, code, computer science, tech, life, robotics

Flightsim

I recently was fascinated by flight simulators through a visit to the Flight Museum in Duebendorf, Switzerland. I wanted one myself, so I set out to build one through the winter. My goal was to build a complete two-man cockpit through the course of a few weekends.

YouTube Video

Flight Sim Construction Plans

Flight Sim Construction Plans

Flight Sim Painting

Flight Sim Frame

Flight Sim Panels

Flight Sim Panels

Flight Sim Panel Detail

Flight Sim Finished

Tags: hardware,software

Solar Capture

The Earth-orbiting Solar Dynamics Observatory provides a live image feed of the sun at all times. The Solar Capture app basically displays these images from NASA and provides a simple interface for browsing them and saving to disk. This is especially handy for tonight's Venus Transit! With the tool you can watch live as Venus passes across the Suns surface while capturing all the data for viewing later.

Solar Capture

Solar Capture

Just open the app, select an empty folder to store images, and it will start updating automatically. There is no need to set the update interval smaller than 15 minutes, as the images on the NASA server aren't updated more frequently.

Binary Download: SolarCapture-0.2_osx.dmg

Source Download: SolarCapture-0.2_src.zip

PS: You can also let the app run over-night if you are too lazy to get up.

Tags: software

Optimal Lunar Landing Analysis

The Optimal Lunar Landing Analysis software is part of the NASA International Space Apps Program, and serves as a platform for processing lunar data in order to find optimal landing sites for spacecrafts. The data used for testing was provided by the Lunar Reconnaissance Orbiter (LRO) mission.

The software provides an extensible framework for which multiple data sets are used by a series of analysis strategies to come up with a good landing solution while providing strong visual feedback mechanisms for both the strategy development phase and the strategy analysis phase.

Multiple data sources have been implemented along with five analysis strategies, as well as a robust multi-threaded backend and GUI.

Optimal Lunar Landing Analysis

Optimal Lunar Landing Analysis

The project is hosted on GitHub and licensed under the MIT License. I've spent a lot of time preparing the framework for others to expand on. Implementing strategies is really easy:

class ElevationAnalysisMap : public AnalysisMap
{
private:
ElevationDataMap *_elevationMap;

public:
explicit ElevationAnalysisMap(ElevationDataMap *elevationMap, QSettings *settings, QObject *parent = 0) {
// Init
_name = "Elevation Analysis";
_elevationMap = elevationMap;
}

virtual double calculateScoreForPoint(int x, int y) {
// Really trivial implementation: the higher the better...
int elevation = _elevationMap->getElevationAtPoint(x,y);
int minElevation = -9150;
int maxElevation = 10760;
return (double)(elevation - minElevation) / (double)(maxElevation - minElevation);
}
};

Project Page

Source Download

Tags: software

File Renamer

File Renamer lets you easily and quickly rename multiple files using a simple text editor. More than often this is much faster than using the OS's shell rename function on each file. The utility also features a quick find-and-replace utility to make common edits even faster.

File Renamer can be called from within Gnome on any file or folder.

Opening a folder lits all the files.

Find-and-replace can be useful.

File Renamer also works on OS X.

Binary Download: FileRenamer-0.1_linux_amd64.zip (Linux)

Binary Download: FileRenamer-0.1_osx.zip (OS X)

Source Download: FileRenamer-0.1_src.zip

Tags: software

Clipboard Sharer

I use two computers running Linux and OS X for various frustrating reasons, and something that has bugged me for a long time is the wall between clipboards. It's an obvious problem: when I copy something on one machine I want to be able to paste it also on the other machine. So I finally sat down one evening and wrote myself a cross-platform clipboard sharer. Clipboard Sharer lets you share a common logical clipboard between two machines on Linux, OS X, and Windows.

Clipboard Sharer sits quietly in your system tray.

You can access it's settings by right-clicking it.

Simple and straight-forward.

I plan on adding new features as I need them. Currently it only supports text, but files will surely come soon. Also, if someone requests it, I'll change the 1-1 relationship to 1-N (meaning you can connect any number of machines). A history tool will also be added soon, allowing you to fetch older clipboard elements.

Binary: Clipboard Sharer 0.1 Linux

Binary: Clipboard Sharer 0.1 OS X

Source: Clipboard Sharer 0.1

Note: The binaries will require the Qt Runtime which can be found at http://qt.nokia.com/downloads.

Tags: software

Web Developer Extension Mod

If you've ever coded up any HTML/CSS, you'll probably have come across the excellent Firefox/Chrome extension Web Developer by Chris Pederick.

I mostly use the tools ability to outline all the block level DOM elements which helps when constructing complex structures. In addition, the tool also can spit out the DOM path (and all it's classes) for any element you hover over ("Outline Current Element"). However, the output of the path is quickly clipped by the size of the browser when displaying highly nested structures.

So here is my modded version of Web Developer which solves this problem:

Binary: web_developer-1.1.9x-fx+sm.xpi

How to find this: Web Developer "Outline Current Element" information box as a multiline text box.

Tags: software

New Finder Window for OS X

Developing software for OS X and iPhone OS requires a significant amount of time spent in the OS X operating system. While OS X is really nice and user friendly, there are many little things which annoy me to a point of insanity. These annoyances mostly have to do with the inability to tweak and change user-interface behavior, which is limitless in the world of Linux/Gnome.

Using multiple workspaces, or virtual desktops, fixes a large part of the window-mayhem problem in OS X. But, it also results in some unwanted side-effects. For example, one of the most annoying nuances is the way the Finder behaves when clicking the blue Finder icon. If a Finder window is already open on any workspace (which is always true), that Finder window will be recycled, and the desktop view changed to that workspace. Typically I just want a new Finder window to do a specific task related to that workspace, and then close it again. I can right-click the Finder icon and select "New Finder Window", which does this, but this extra click is too silly for me. Getting a new Finder window should be really fast as it's a common task.

This is where my New Finder application comes handy. New Finder guarantees the ability to open a new Finder window, without the hassles of recycling already opened Finders or having Expose jump to a different desktop. It works best by placing the New Finder application right next to the Finder icon:

New Finder Window

It even comes with it's own Preference Pane for setting the default Finder location:

New Finder Preference Pane

Binary Installer Download: NewFinder-1.0.zip (OS X)

Source Download: NewFinder-1.0-source.zip (OS X)

Tags: software

java.sun.ibm.com?

Really? Is IBM going to buy Sun? Ah, that would be so nice. Just imagine the fire it would like underneath Microsofts bum! Such a acquisition would create a beautiful new edge in the a-little-bit-lazy computer software industry today.

Tags: software

Modal View UIAlertView iPhone SDK

The iPhone SDK is quite mature and feature rich, however there are still a number of things missing. One of those is some sort of thread-blocking alert box. Below is the source code for just such a thing. It's a nice solution as it just adds a showModal message to the UIAlertView interface. In addition, there is a class method alertWithTitle:Message: which doesn't require you to create an instance of a UIAlertView - very practical.

/*!
@function alertWithTitle:Message:
@abstract Displays a blocking UIAlertView with a single OK button.
@param title
@param message
*/
+ (void) alertWithTitle:(NSString*)title Message:(NSString*)message;

/*!
@function showModal
@abstract Displays a UIAlertView in a blocking fashion.
*/
- (void) showModal;

Example usage:

// Alert with a title and message
[UIAlertView alertWithTitle:@"Title" Message:@"Message..."];

// Custom view
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"Title" message:@"Message..." delegate:NULL cancelButtonTitle:@"OK" otherButtonTitles:NULL];
[alert showModal];
[alert release];

Source Code:

UIAlertViewModal.h

UIAlertViewModal.m

A practical example is as follows, where any exception in your iPhone App is caught and displayed to the user before the App dies...

#import "UIAlertModal.h"

int main(int argc, char *argv[]) {
@try{
// Init app
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil);
[pool release];
return retVal;
}
@catch (NSException * e) {
// Catch and display any occuring exception!
[UIAlertView alertWithTitle:@"Error" Message:[NSString stringWithFormat:@"An @. The application will now close.", e.name, e.reason]];
return FALSE;
}
}

Tags: software, code

Eclipse Launcher

I know of several plugins that break the eclipse Workspace Launch dialog. By breaking I mean disabling, and there is no setting in the world to bring it back if you are unwilling to rid your plugin.

Since the eclipse Launch dialog is rudementary anyways, I decided to write my own. An added feature is passing of workspace arguments. More features will probably pop-up as I need them. Below you will find screenshots, binary, and source files.

Launch Window

Workspace Settings

Win32 Binary: EclipseLauncher.zip

Win32 Binary: EclipseLauncher.exe

C++ Source: EclipseLauncher_src.zip

Tags: software, code

Page 1 of 3 Next »