Filter: software, code, computer science, tech, life, robotics
The Optimal Lunar Landing Analysis software is part of the NASA International Space Apps Challege, and serves as a platform for processing lunar data in order to find optimal landing sites for spacecrafts.
The idea is to create 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.
So far two data sources have been implemented and five analysis strategies, as well as a robust multi-threaded backend and GUI.
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);
}
};
Tags: software
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.
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
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.
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
Note: The binaries will require the Qt Runtime which can be found at http://qt.nokia.com/downloads.
Tags: software
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
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:
It even comes with it's own Preference Pane for setting the default Finder location:
Binary Installer Download: NewFinder-1.0.zip (OS X)
Source Download: NewFinder-1.0-source.zip (OS X)
Tags: software
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
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:
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;
}
}
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.
Win32 Binary: EclipseLauncher.zip
Win32 Binary: EclipseLauncher.exe
I have never been a big fan of shiny interfaces, however, after so many years of staring at computer screens, my eyes have become a little wary and sore of hard cornered rectangular windows and such.
The default Windows interface in my opinion is lacking a lot of useability features, and in general could use many visual improvements. Luckily, there are a lot of tools to compensate these missing features.
Let me present you with how I tweak my Windows in under 50MB of RAM - a small price for a beautiful Windows.
I will explain the technical details later, but in short my Windows has a hacked shell which allows 3rd-party native themes, such as this Ubuntu Human theme. These themes are low-memory and run just as smooth as having no theme. Additionally, all my system files have had thier built-in icons replaced by the very infamous Tango theme.
I keep my taskbar on top, which has proven to be a whole lot more useful and user-friendly. To start my most important and frequently used programs, I use a lovely dock bar at the bottom which works just like the one in Mac OSX.
Using a lightweight application, shadows are glued to all my windows and menus. I think this gives an overall freindly feel to the OS. Of course, the shadows can be customized to your personal preferences.
The taskbar and start button have been slightly modified to provide a more compact view.
The Tango theme is not a distint set of icons, but rather a guideline on how to style icons and images. The Tango icons provided for Windows are absolutely beautiful. I don't understand how an open source community can create nicer icons than the Microsoft shop. Actually, I do understand.
Virtually every single icon in Windows has been replaced, including common images seen through the OS.
The Human theme has upgraded all the Windows Common Control to the standard presented by Ubuntu Linux. Not only do they look very nice, but they also render extremely fast and provide a small amount of improvements over the standard Windows controls.
More to follow on how to get your own Beautiful Windows in Part II...
I don't use Vista yet on a day-to-day basis. I will let the early adapters take the pain, and wait it out until SP3 or so arrives :) .
However, I do startup Vista every once in a while to get somewhat familier with it, and also to see for myself how horrible this operating system supposedly is. I keep finding a somewhat issue with mainstream media that claim such horrid things about Vista. For all I know, it's not too bad. Sure, it is a little slow, but even on my AMD 1.2 GHz Laptop with 512 MB Ram (minus 64 for the Graphics Card), Vista runs pretty well (yes, with Aero activated).
What I like most about Vista are all the little improvements to the Windows Shell. There are literally hundreds of these improvements. I your are unsure of what I am talking about, a good example is the new information when copying/moving files.
Also consider the replace dialog:
There are of course many other software features, which I hope we will see ported to the Windows XP Service Pack 3! Some are demonstrated below visually and uncommented, as I don't think much explaining is needed.
Tags: software
Page 1 of 3 Next »