Apr
05
2010
0

The Challenge

Its hard to truly understand a problem until you’ve tried to solve it once or twice. Towards this end, I’m going to stop speculating why engineering software is trapped in a quagmire, roll up my sleeves and start hacking.
I’m going to attempt modernizing an open source aerospace software package called xFoil. I decided to work with existing code rather than starting from scratch for several reasons, the strongest being that the project needs work and is widely used. I’m also somewhat familar with it from using it for UAV simulation work in college.
For those who have never heard of xFoil – here’s a brief overview:
XFoil 1.0 was written by Mark Drela at MIT in 1986 as an interactive replacement for batch mode computational fluid dynamics programs that were popular at the time, while at the same time employing new algorithms he had developed. XFoil is a Fortran77 app that uses plotting libraries written for the X Window System, which means its intended for Unix systems – but the developers seem to have gotten around this and distribute windows binaries. A quick google search will show that just about every aerospace engineering school on the planet uses this program for coursework, which makes this an especially good candidate for modernization – especially when you take a look at the interface:
Interaction is done via four letter commands in a console window, and plotting in a second window.
(Image lifted from the homepage of the OS X distribution)

According to the documentation the last changes were made in 2008, and the project is frozen pending a next generation application. As this was two years ago at this point, I’m not holding my breath. So that being said, here’s the rough plan of attack:

Phase 0: Do some exploratory surgery on the code, make a spec, come up with rough estimates, generally standard prep work best practices.

Phase 1: Straight port to language ‘X.’ (Language to be determined, the goal here is just make it work). Test the shit out of it. Release early, release often – first usable code ships replicating what already exists.

Phase 2: Refactor core architecture and design into something much more maintainable. Start building a community around it, pull in domain specific experts to help steer the project and help validate output.

Phase 3: Experiment with interface and modern concepts (Cloud, mobile, touch, GPU acceleration)

This will probably be a much more difficult project than I currently estimate, but will be an awesome exercise in taming legacy code as well. Next time, updates on Phase 0 and preproduction work!

Written by in: Projects,Software |
Feb
27
2009
1

Installing Apache Thrift on Ubuntu 8.04

In a recent post, I explained how to install the Thrift RPC framework on OS X 10.5. Another scenario that doesn’t install as advertised out of the box is building Thrift on Ubuntu server. Again, an issue with pkg.m4 is to blame – follow the steps below to get Thrift built on your Ubuntu system:

As in the previous guide start by getting the latest revision of the Thrift library, and extract the archive.

Install the necessary prerequisites, which is much easier than on OS X thanks to apt. Fire up a terminal, and use apt-get to pull everything. Substitute java5 with your favorite jdk, if you’re not a fan of the Sun implementation.

apt-get install libboost-dev libevent-dev build-essential
python-dev automake pkg-config libtool flex bison sun-java5-jdk

Now, for the pkg.m4 workaround!

cd [thrift root]
cp /usr/share/aclocal/pkg.m4 aclocal/

At this point, all that remains is to build Thrift. (If you want Ruby support, add ruby-dev to the apt-get list above, and get rid of the ruby flag below.)

./bootstrap.sh
./configure --with-ruby=no
make
sudo make install

Enjoy!

Aug
22
2008
1

Plans for an NES DevKit Using 2008 Technology

In a recent post I discussed the viability of developing new games for old platforms as a vehicle to liberate the gaming from the repetitive titles that currently plague the industry.

 

In order to get started on such a campaign, developers would need to be armed with the proper tools to do start writing a new generation of titles efficiently and at minimum cost.

1) Development Environment

The NES games would likely be programmed in 6502 assembly, and there should be no reason why a modern computer couldn’t be used to test the games via an emulator. For this task, I would propose developing a plugin for the popular Eclipse development environment which would include all the required tools in one convenient place.

 

Eclipse Logo 

 

The plugin would include tools to do syntax highlighting and checking of the assembly code, an Emulator tied to the compile/run command that would launch windowed inside of eclipse, and also most likely rudimentary sound and image editors for composing the media aspects of the game. Powerful modern software development tools already compatible with eclipse would be of great assistance here such as source control, static analysis and performance profiling. Another valuable feature found in some plugins would be code assist, to provide code snippets for common tasks such as probing the controller buttons. An Eclipse plugin with these features would be a godsend to any potential NES developer, especially because these tools would ideally be open source and free – providing for community improvements and widespread usage (Not to mention inherently cross platform, supporting Windows, Linux and OS X!). 

2) Development Cartridge

After testing in the development environment, a game would need to be tested on native hardware as well. For this task I propose the construction of a development cartridge that includes the basic functionality of a NES cartridge but uses cheap modern microcontrollers and flash ram in order to have reprogrammable ROM and Mapper components. The cartridge would feature a speedy USB link for dumping new software to the cartridge and also possibly for in-circuit debugging, both of course in conjunction with the Eclipse plugin. Having a cartridge like this would also be handy in transporting games in progress to demo for others, being playable in any Nintendo system in the world. One major technical hurdle would be in defeating the 10NES authentication system present in all licensed Nintendo cartridges.

 

10NES 

 

As these development carts would initially be fairly limited in production, a quick solution could be to harvest 10NES chips from existing NES cartridges – an ideal candidate for this being the dime a dozen Super Mario / Duck Hunt cartridge which came with almost every NES every made (wikipedia says that about 40 million of them exist). Better methods for handling this will be the topic of a future post!

3) Test controllers

In order to test on a PC as authentically as possible, real NES hardware must be interfaced with the computer. Around the internet, tons of people have taken the lazy route in doing this via a parallel port conversion. However, this is 2008 and a more ideal solution is to create a NES to USB adapter that would probably require the the connectors off the front of a NES system, a microcontroller for usb encoding and a female usb jack to connect to the computer using a standard usb cable. This solution would be ideal because the microcontroller could be powered over USB, and almost every modern machine has usb ports, whereas classic printer/parallel ports are beginning to be phased out. In particular, this would allow for portable development on laptops.

4) Production Cartridge

In order to distribute finished games in manners other than rom files, assuming the Nintendo and other heavyweights have not seen the light and allowed for digital distribution – is to produce homebrew cartridges. The first thought to come to mind would be to use a cheap modern microcontroller with decent storage capacity to reproduce the cartridge’s internal functionality. These could be programmed using traditional techniques, most likely with some eclipse automation again. The cartridge board itself would be designed via a publicly distributed eagle pcb schematic file so that 3rd party vendors such as freepcbs.com could mass produce them with professional results at minimal cost. The cartridge shells themselves would be created via homebrew vacuum forming techniques, and lack the obnoxious security bits holding them together featured by every original cartridge on the planet. Additionally, in game saves would be accomplished via modern flash ram, as opposed to the CR2032 batteries found in games like Dragon Warrior and Legend of Zelda, that die and then need to be replaced periodically with tedious soldering. Again, the authentication system would create a problem and this initial solution would include a socket on the pcb to drop in a 10NES chip harvested from another cartridge.

With these four bullet points taken care of, the major technical hurdles in launching a new wave of 8-bit games would be complete and all that would remain would be traditional simple ones such as packaging and marketing. Stores that specialize in classic gaming that are starting to popup would probably happily carry these new games on consignment until significant momentum could be gained for traditional distribution.

I intend to begin work on this plan shortly, and welcome any questions, comments or suggestions you may have!

Written by in: Gaming,Projects |
May
23
2007
1

Enabling Fn Keys on Sony FS Series Laptops

As many of you may know, Sony laptops don’t always play nicely with Linux due to a bunch of closed hardware. One major annoyance is the Fn keys not working out of the box, and not being able to adjust volume or brightness with them.

Doing some research, I found a solution on the Ubuntu forums here.

Reading through the posts and doing the command line work can be frustrating if you’re new to Linux and aren’t comfortable yet with the terminal – or if you’re just lazy.

I’ve put together a convienience script that will pull everything in, install a patched sony_acpi kernel module to control brightness programmatically, and enable the Fn keys.

Let me know if this helps you out!
(Ubuntu 7.04 / Feisty Users Only!)

Download: feisty-fsfn.sh

Written by in: Computing,Projects,Software |

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com

  • Buy Cheap purchase generic viagra Now Best Prices. Cheap Meds Without Prescription.
  • Buy Cheap cialis online sale Online Top Online Pharmacy Supplier. Low Prices.
  • viagra soft tabs Online Without Prescription Best Drugstore. Best Prices.
  • Buy Cheap levitra side effect Now WorldWide Shipping. Buy Medications Online.
  • Buy Cheapest viagra half price pharmacy Online Best Online. Pharmacy At The Best Price!
  • Buy Cheap problems with viagra Now Low Prices. Drug Store Without A Prescription.
  • Buy pfizer drug viagra Online Without Prescription. Best Internet. Best Prices.
  • Buy Cheap viagra and blood pressure Online Best Drugstore. Special Prices For viagra and blood pressure!
  • Buy Cheapest viagra and high blood pressure Now Special Prices For viagra and high blood pressure! Pharmacy Store.
  • Buy Cheapest levitra vardenafil generic Online Online Medical Shop. Free Viagra Pills!
  • Buy Cheap cialis usage instructions Online Online Prices For cialis usage instructions! Best Drugstore.
  • Buy Cheap cialis drug impotence Online Low Prices. Safe And Secure Payment System.
  • Buy Cheapest buy levitra where Now Pharmacy Store. Pharmacy At The Best Price!
  • Buy Cheapest generic cialis prices Online Best Prices. Internet Prices For generic cialis prices!
  • Buy Cheap cialis dosing Online Discount Online Pharmacy. Pharmacy Store.
  • Buy Cheapest levitra prescription online Online Best Prices. No Prescription Needed.
  • Buy Cheap viagra free trial pack Now Buy Medications Online. Top Online Pharmacy.
  • Buy Cheap viagra real mail Online Best Online. The Largest Internet Pharmacy.
  • Buy Cheap generis cialis Now Guaranteed Shipping. Drugs, Health And Beauty.
  • Buy Cheap compare cialis prices Now Top Online Pharmacy. Drugs, Health And Beauty.
  • Buy Cheapest method levitra Online Buy Medications Online. Pharmacy Store.
  • Buy Cheap cialis for erection Now Best Prices. No Prescription Needed For Drugs.
  • Buy Cheapest mexico viagra Now No Prescription Needed. Best Drugstore.
  • cialis indian pharmacy Online Without Prescription Low Prices. Top Online Pharmacy.
  • Buy Cheap viagra cialis desire Now Pharmacy Store. Special Prices For viagra cialis desire!
  • Buy Cheap order 50mg viagra Online Online Prices For order 50mg viagra! Pharmacy Store.
  • Buy Cheap cialis discount Online Buy Medications Online. WorldWide Shipping.
  • Buy Cheap free sample of herbal cialis Online 24/Online Pharmacy. Top Online Pharmacy.
  • Buy Cheapest where to puchase cialis online usa Online No Prescription Needed. Best Online.
  • Buy Cheap cialis soft gel india Now Best Prices. Special Prices For cialis soft gel india!
  • Buy Cheap cialis lowest prices on the internet Now Top Online Pharmacy. Discount Online Pharmacy.
  • Buy Cheap levitra long intercourse Now Drugs, Health And Beauty. Best Internet.
  • Buy Cheap cheap viagra order online Now Top Online Pharmacy. Cheap Pharmacy Online.
  • Buy Cheap discounted cialis Now Best Prices. The Largest Internet Pharmacy.
  • Buy Cheap viagra vs levitra vs Online Best Prices. 100% Satisfaction Guaranteed.
  • Buy Cheap taking levitra Online Best Drugstore. Guaranteed Shipping.
  • Buy Cheap cialis interactions Online Pharmacy Store. Discount Pharmacy Online.
  • Buy Cheap viagra 50mg Now Best Internet. Safe And Secure Payment System.
  • drug cialis Online Without Prescription Best Online. WorldWide Shipping.
  • Buy Cheap cialis or levitra stronger Online Best Drugstore. Cheap Online Pharmacy.
  • Buy Cheapest levitra and sperm count Now Online Medical Shop. Free Viagra Pills!
  • Buy Cheapest order super viagra Online Free Viagra Pills! Guaranteed Shipping.
  • Buy Cheapest viagra cialis store Now Best Prices. Internet Prices For viagra cialis store!
  • Buy Cheap viagara cialis strips Now 24/Internet)(safe Pharmacy. Best Internet.
  • Buy Cheapest dosage levitra Now Guaranteed Shipping. Cheap Online Pharmacy.
  • Buy Cheap cialis rx Now Best Online. Cheap Meds Without Prescription.
  • Buy Cheapest cheapest uk supplier viagra Now Low Prices. 100% Satisfaction Guaranteed.
  • Buy Cheap viagra from india Online Low Prices. Pharmacy At The Best Price!
  • Buy order cheap viagra fas Without Prescription Doctor. Pharmacy At The Best Price!
  • Buy Cheapest female viagra uk Online Cheap Pharmacy Online. Pharmacy Store.
  • Buy Cheapest mail order for viagra tablets Online Top Online Pharmacy. Best Online.
  • Buy Cheapest cialis order online Online Drugs, Health And Beauty. Low Prices.
  • Buy Cheap cialis coupon Now 100% Satisfaction Guaranteed. Low Prices.
  • Buy Cheap ordering viagra Now Safe And Secure Payment System. Best Online.
  • Buy Cheap on line prescriptions for cialis Now Best Drugstore. Top Online Pharmacy Supplier.
  • Buy Cheapest cialis next day Now Pharmacy At The Best Price! Best Drugstore.
  • Buy Cheap order cheap cialis Now Best Drugstore. Top Online Pharmacy Supplier.
  • Buy Cheap tablet viagra Now Best Online. Safe And Secure Payment System.
  • Buy Cheap buy levitra line Now Best Drugstore. Drugs, Health And Beauty.
  • Buy Cheap approval cialis fda Online Online Medical Shop. Best Drugstore.
  • Buy Cheapest prices cialis Now Cheap Prescription Drugs. Best Internet.
  • Buy Cheapest cheapest generic price viagra Now Best Internet. Pharmacy At The Best Price!
  • Buy Cheap generic viagra sales Now Free Viagra Pills! Online Prices For generic viagra sales!
  • Buy Cheap effects levitra side Now Cheap Prescription Drugs. Online Medical Shop.
  • Buy Cheap levitra free samples Online Online Medical Shop. Cheap Pharmacy Online.
  • Buy Cheap buy cialis canada Now Online Medical Shop. 24/Online Pharmacy.
  • cialis advertising Online Without Prescription Best Prices. Free Viagra Pills!
  • Buy Cheap viagra cialis levitra Now Best Internet. Online Prices For viagra cialis levitra!
  • Buy Cheap free sample of viagra Now Pharmacy Store. Drugs, Health And Beauty.
  • Buy Cheapest blood pressure and viagra Now Pharmacy Store. Cheap Online Pharmacy.
  • Buy Cheap order viagra without prescription Now Free Viagra Pills! Internet Prices For order viagra without prescription!
  • Buy Cheap viagra erection Now No Prescription Needed For Drugs. Best Online.
  • Buy Cheap what is viagra super active Now Best Online. All Medications Are Certificated!
  • Buy Cheapest cialis in usa Online Discount Drugs At Best Online Drugstore.
  • Buy Cheapest buy generic levitra cheap Now Best Prices. Internet Prices For buy generic levitra cheap!
  • Buy Cheap buy cialis on line Now Guaranteed Shipping. Discount Online Pharmacy.
  • Buy Cheap buy cheap viagra online Now Best Prices. No Prescription Needed For Drugs.
  • Buy Cheap buy brand name cialis Online Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheapest viagra erection duration Online Best Online. Online Prices For viagra erection duration!
  • Buy Cheap generic for cialis Online Discount Pharmacy Online. Best Internet.
  • Buy Cheap viagra rx Online WorldWide Shipping. Buy Medications Online.
  • Buy Cheap cialis 10 mg Now Cheap Meds Without Prescription. Best Online.
  • Buy Cheapest cost of levitra from canadian pharmacies Now Internet Prices For cost of levitra from canadian pharmacies! Best Drugstore.
  • Buy Cheap buy cheap generic viagra Now Cheap Online Pharmacy. Online Medical Shop.
  • Buy Cheap who makes levitra Now Guaranteed Shipping. Cheap Prescription Drugs.
  • Buy viagra order uk Without Prescription Doctor. Low Prices. Pharmacy Store.
  • Buy Cheap cialis use Now WorldWide Shipping. Cheap Online Pharmacy.
  • Buy Cheap generic cialis from canada Online Discount Pharmacy Online. Pharmacy Store.
  • Buy Cheapest viagra china Now Best Drugstore. Drugs, Health And Beauty.
  • Buy information on cialis Without Prescription Doctor. Best Prices. Best Internet.
  • Buy viagra mail order uk Online Without Prescription. Low Prices. Pharmacy Store.
  • Buy Cheap viagra super active sildenafil Online Best Online. Internet Prices For viagra super active sildenafil!
  • Buy Cheap viagra vs cialis vs levitra Online Top Online Pharmacy. Free Viagra Pills!
  • Buy Cheapest levitra on line from united states Now Best Online. Special Prices For levitra on line from united states!
  • Buy Cheapest viagra pills cod Now Pharmacy At The Best Price! Low Prices.
  • Buy Cheapest lowest price levitra Now Pharmacy At The Best Price! Low Prices.
  • Buy Cheapest viagra online store Online Free Viagra Pills! Best Drugstore.
  • Buy Cheapest viagra coverage california Online Free Viagra Pills! 24/Online Pharmacy.
  • Buy Cheapest order cheap cialis Now WorldWide Shipping. Cheap Online Pharmacy.
  • Buy Cheap viagra natural Now Pharmacy Store. Online Prices For viagra natural!