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 |
Mar
29
2010
0

Why Engineering Software Sucks

In my last post I ranted about the current state of software used to do engineering work, which I consider to be somewhere in between awful and abysmal. Now let’s ask – why this is the case?

Often it’s because engineering software is written by… Engineers!

Is it all that surprising that a program meant to simplify or automate some aerospace engineering calculations, under closer inspection of the source – turns out to be total garbage? Someone wrote the program in question to make their life easier, and barely got it to work, given the one semester mandatory numerical methods class they probably slept through. Hence it shouldn’t be surprising that the original author was completely ignorant of algorithms, data structures or anything resembling modern software engineering practices. Even worse, there is a high probability the program is written in some barely readable dialect of Fortran.

This problem in quality seems coupled to the essence of the problem the software seeks to solve. Who else is going to want a program that automates aerodynamics analysis besides an aerospace engineer? Certainly not your average Joe Doubleclick on the internet! Engineering software is an extremely niche market, which would likely seem a more difficult one to monetize than something aimed at a wider audience. Developers certainly aren’t jumping at the chance to write programs of this nature.

It also doesn’t help that these types of apps are very difficult to write given the amount of domain specific knowledge they require. Without an expert in the given subject area to assist in the design of the program, it will be hard to get it correct and verify the output. How will a developer know that the program they just wrote to compute the distribution of force in a suspension bridge is actually correct if they personally know nothing about physics, statics or mechanical engineering? It goes without saying that  the potential consequences of mistakes here are astronomical. If a faulty bridge is constructed from designs created by a faulty program, or a wing section is designed incorrectly due to software producing bogus output – there is a potentially large monetary risk when the fabricated structure fails, and depending on the situation human lives could also be at risk.

Computer Scientists have been largely spared from this dilemma due to the fact they are extremely proficient at building their own tools. A modern compiler or operating system is easily as complicated as some of the earlier mentioned design scenarios, but the tools used to construct them are excellent. The GNU toolchain is a perfect example of this, extremely high quality tools that are open source and widely known in industry. It’s unfortunate that the other engineering disciplines  haven’t seen the same gains in a tools windfall the software industry has, because its obvious to see how it has transformed the field.

Building better tools is hard and unattractive, but definitely can usher in some dramatic change. Computers shouldn’t be a distraction in engineering work, they should be an enabler. As software engineers, how can we make these problems manageable? How can we help our colleagues in other fields escape from this quagmire of terrible software?

Mar
08
2010
0

Engineering Software Sucks.

Engineering software is written by engineers and it shows.

I remember using software in a digital design class in 2004 that was written for Windows 3.1 and would crash if you used filenames more than 8 characters long.

A year later I took a circuits class that had a large amount of simulation coursework. Assignments were required to be completed using a proprietary, feature crippled program that was locked to prevent working with designs that had more than 50 components.

A final anecdote that comes to mind was a 400 level advanced digital design class I took in 2008 where your grade was dependent on simulating hardware on 200 MHz Sun workstations. The lab that had these machines was also only open certain hours of the day, so in order to have any chance of getting your work done you pretty much were running in there inbetween every class. (I hacked this situation by “volunteering” to be the lab supervisor for the room in question, which put me in charge of locking up for the night…)

Engineering school is hard enough as it is and it doesn’t help that all the software is awful, closed and tethered to platforms that are old enough to apply for a drivers license. How can we expect students to be researching and developing the next great things when the tools they have to work with are so fundamentally bad? With the leaps and bounds of progress made in the last 20 years of computer hardware and software, this situation has become totally unacceptable.

As a thought experiment, I’ve been asking myself the following questions:

What engineering software exists that is open source?

Can engineering code run in the cloud?

Can engineering design work be done on mobile devices?

This genre of software seems ripe for disruption! Innovation in engineering software, although possibly unglamorous (I doubt Techcrunch is going to get fired up about an open source digital design package) has the potential to make a big difference – I am definately excited to continue brainstorming and to see what I come up with!

Written by in: Software |
Feb
24
2010
0

Changes in Scenery…

Last October I became disenchanted with where my startup was heading, and especially with how it was being managed – and decided to see what else was out there. My options were to look for new tech work in the bay area, or to go to another one America’s other tech meccas: Seattle or New York City. Being originally from Chicago, and having visited several times – New York seemed like the ideal place to go, and a much needed contrast to the suburban wasteland of the South Bay. Throughout October I interviewed with several tech companies in the city, and was lucky enough to get three offers – two from startups and one that was THE offer you can’t refuse – a chance to work for Google.

I had decided to interview with Google after hearing that even if I didn’t make the cut – it was worth going through just for the experience of going through their gauntlet. The interview itself was a nightmare in itself which is a story best saved for another post (having nothing to do with Google and everything to do with colossal incompetence by American Airlines) but in the end I survived, and two weeks later had to make one of the more difficult decisions of my life: continue to work in the startup world, or go work for Google. In the end I decided that irregardless of pay (offers from startups were for higher base salaries) or perceived loss of freedom in going to work for a big company, it was a chance I couldn’t pass up.

Fast forward four months later – this was 100% the best decision possible. Working at Google is as good as it gets, for reasons that have nothing to do with free food (although thats a pretty great perk!) To start with – everyone here is good, like scary good, at what they do. There is just an atmosphere of excellence that is hard to find almost anywhere these days. People here seem to love what they do, and that makes a world of difference.

Something else that’s mindblowing is when you sit down for breakfast with your team one morning, and you find out the other guys at the table you’ve been chatting with: invented AWK… or headed up IBM Research… or invented lex… or coauthored K&R… Chances to interact with living legends like this on a daily basis just don’t exist elsewhere. Like it’s pretty amazing when you send out an email with a question on the most pythonic way to tackle a given problem, and you get a response from Guido van Rossum.

Aside from brushes with celebrity – Google is somewhere where you learn something new everyday, and an awesome place to grow as an engineer. You work with technology that doesn’t exist commercially and at scales that just don’t exist anywhere else.

If you get the chance to interview here, or are lucky enough to get an offer – take it. Google IS Google. Nobody else comes close. So go read Steve Yegge’s post on preparing for the interviews, and send in your resume. You won’t regret it!

Written by in: Life,Software | Tags: , ,
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!

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

  • Buy Cheapest vardenafil fda approval Online Get FDA Approved Prescription Medicines.
  • Buy Cheap viagra stories Now Cheap Online Pharmacy. Free Viagra Pills!
  • Buy Cheapest sildenafil drug Now Online Prices For sildenafil drug! Best Prices.
  • levitra professional without prescription uk discounts Online Without Prescription Cheap Meds Without Prescription.
  • Buy Cheap canada viagra online without prescription Now Guaranteed Shipping. 24/Online Pharmacy.
  • Buying Cheapest generics cialis. Mexican Pharmacy, Best Prices. Best Online.
  • Buy Cheapest comments order cialis without prescription Online Buy %items% Online Without Prescription.
  • Buy Cheapest generic viagra without prescription Now 100% Satisfaction Guaranteed. Low Prices.
  • Buy Cheapest cialis soft tabs no prescription Now Best Internet. Online Prices For cialis soft tabs no prescription!
  • Buy Cheapest canada tadalafil Online Top Online Pharmacy. Best Prices.
  • Buy Cheap what does cialis do for men Online Low Prices. 24/Internet)(safe Pharmacy.
  • Buy Cheap tadalafil to buy Online Special Prices For tadalafil to buy! Best Drugstore.
  • Buy Cheap tadalafil prices uk Online Best Internet. Internet Prices For tadalafil prices uk!
  • Buy Cheap get sample cialis Now Cheap Prescription Drugs. Free Viagra Pills!
  • Buy Cheapest viagra cialis no prescription fast Now Pharmacy Store. Cheap Online Pharmacy.
  • Buy Cheap cialis experience Now Best Online. Pharmacy At The Best Price!
  • Buy Cheap does indian viagra work Now 24/Online Pharmacy. Cheap Online Pharmacy.
  • Buy buying cialis online review Online Without Prescription. Best Internet. Best Prices.
  • Buy Cheap find cialis online Now WorldWide Shipping. Cheap Online Pharmacy.
  • Buy Cheapest online pharmacy faq Now Cheap Pharmacy Online. Free Viagra Pills!
  • Buy Cheap online pharmacy coupons Now Best Internet. Discount Online Pharmacy.
  • Get viagra 50mg pills Without Prescription Consultation. 24/Online Pharmacy.
  • Buying Cheap buy cheap viagra online uk. Offshore Rx, Best Prices. Top Online Pharmacy.
  • Buy Cheap buy viagra online without prescription Online Pharmacy At The Best Price! Best Internet.
  • Buy Cheap ed medications Now Guaranteed Shipping. Drugs, Health And Beauty.
  • Buy Cheap sildenafil prices Online No Prescription Needed. Best Drugstore.
  • Buy Cheapest viagra and alcohol side effects Now Best Internet. Pharmacy At The Best Price!
  • Buy Cheapest best cialis online pharmacy Now Low Prices. 100% Satisfaction Guaranteed.
  • Buy Cheap best price cialis canadian pharmacy Now Online Medical Shop. Online Prices For best price cialis canadian pharmacy!
  • kamagra or viagra Online Without Prescription Cheap Meds Without Prescription.
  • Buy Cheap us viagra prices Online Low Prices. 100% Satisfaction Guaranteed.
  • Buy Cheapest discount sildenafil Online Cheap Prescription Drugs. Best Prices.
  • Buy Cheap professional cialis reviews Online Best Online. Special Prices For professional cialis reviews!
  • Buy Cheapest viagra ad pictures Online 24/Online Pharmacy. Free Viagra Pills!
  • Buy Cheap generis cialis Now Low Prices. Cheap Meds Without Prescription.
  • Buy Cheap canadian pharmacy levitra Now Top Online Pharmacy. WorldWide Shipping.
  • Buy Cheapest cialis safety Now Cheap Prescription Drugs. Best Prices.
  • Buy Cheapest cheapest place to buy viagra online Now Buy Medications Online. WorldWide Shipping.
  • Buy Cheapest viagra 50mg pills Online Drugs, Health And Beauty. Best Internet.
  • Buy Cheapest canadian pharmacy viagra no prescription Now No Prescription Needed. Best Drugstore.
  • Buy Cheap cialis more drug side effects Now Top Online Pharmacy Supplier. Best Prices.
  • Buy Cheapest trial viagra Now 24/Online Pharmacy. Best Drugstore.
  • Apothécure's conditions wish events undergraduate as clinical keratocytes, required and certain, digital errors, money, convenience and loss reading teams, us viagra prices.
  • Buy Cheapest tadalafil sale Now Best Drugstore. Top Online Pharmacy.
  • Buy Cheap genaric cialis Now All Medications Are Certificated! Low Prices.
  • where to buy cialis over the counter Online Without Prescription Best Internet. Pharmacy Store.
  • Buy Cheap viagra online purchase Now Best Online. All Medications Are Certificated!
  • Buy Cheap sildenafil citrate online no prescription Online Best Prices. Online Prices For sildenafil citrate online no prescription!
  • Buy Cheap cialis doseage Online Cheap Online Pharmacy. Pharmacy Store.
  • Buy Cheap where can i buy viagra with paypal Now Best Online. No Prescription Needed For Drugs.
  • Buy Cheapest mexican generic cialis Online Cheap Online Pharmacy. Pharmacy Store.
  • Buy Cheap comments viagra without a prescription Now No Prescription Needed. Online Medical Shop.
  • Buy Cheap generic viagra prices 50 mg Now Cheap Pharmacy Online. Top Online Pharmacy.
  • Buy Cheap cialis original Online Cheap Online Pharmacy. WorldWide Shipping.
  • Buy Cheap brand cialis online no prescription Now Online Prices For brand cialis online no prescription! Top Online Pharmacy.
  • Buy Cheap tadalafil order Now Special Prices For tadalafil order! Best Internet.
  • levitra long work Online Without Prescription Low Prices. Free Viagra Pills!
  • Buy Cheapest generis viagra Online Best Online. Discount Online Pharmacy.
  • Buy Cheap non prescription cialis online pharmacy Online Internet Prices For non prescription cialis online pharmacy! Best Online.
  • Buy Cheapest generic cialis australia Online Best Online. Discount Pharmacy Online.
  • Buy Cheapest generic cialis 10mg online Online Low Prices. No Prescription Needed.
  • Buy Cheap order cialis online without prescription Now Pharmacy At The Best Price! Best Prices.
  • Buy Cheapest buy cialis online next day shipping Now Free Viagra Pills! Online Medical Shop.
  • Buy Cheapest viagra market Online Cheap Online Pharmacy. Best Drugstore.
  • Buy Cheap cialis dosage when to take Now Free Viagra Pills! Online Medical Shop.
  • Buy Cheap buy cialis online usa Online Cheap Online Pharmacy. Best Drugstore.
  • Buy Cheapest how to get cialis without a prescription Now Pharmacy Store. Drugs, Health And Beauty.
  • Buy Cheapest blue prescription pills Online Cheap Online Pharmacy. Best Drugstore.
  • Buy Cheapest order cialis online no prescription Online Online Medical Shop. Best Online.
  • Buy Cheapest how can i get viagra Now Best Internet. Buy Medications Online.
  • Buy Cheap viagra without food Now Best Online. Internet Prices For viagra without food!
  • Buying Cheap viagra cialis and levitra. Offshore Rx, Good Prices. Top Online Pharmacy.
  • Buy Cheap generic levitra online reviews Now 24/Online Pharmacy. Top Online Pharmacy.
  • Buy Cheapest purchase cialis without a prescription Now Top Online Pharmacy. WorldWide Shipping.
  • Buy Cheap safe viagra alternatives Now Guaranteed Shipping. Free Viagra Pills!
  • Buy Cheap tadalafil sildenafil Now Best Drugstore. 24/Internet)(safe Pharmacy.
  • Buy Cheap tadalafil uk Now FDA Approved Rx: Online Pharmacy. Best Prices.
  • Buy Cheap uk alternative viagra Now Free Viagra Pills! Top Online Pharmacy.
  • Buy Cheap buying online viagra Online Best Online. The Largest Internet Pharmacy.
  • Buy Cheapest cialis buy online no prescription Now Internet Prices For cialis buy online no prescription! Best Prices.
  • Buy Cheap uk alternative viagra Now Online Medical Shop. Cheap Online Pharmacy.
  • Buy Cheap cialis experience Online Cheap Prescription Drugs. Low Prices.
  • viagra market Online Without Prescription Best Online. WorldWide Shipping.
  • Buy Cheap tadalafil or tadalafil purchased Now All Medications Are Certificated! Best Prices.
  • Buy Cheap generic viagra australia reviews Now The Largest Internet Pharmacy. Best Drugstore.
  • Buy Cheap real levitra Online Best Prices. The Largest Internet Pharmacy.
  • Buying Cheapest generic viagra using master card. Mexican Pharmacy, Good Prices. Best Online.
  • sildenafil citrate 2 Online Without Prescription Best Online. WorldWide Shipping.
  • Buy Cheap diabetes and viagra Now Discount Pharmacy Online. Free Viagra Pills!
  • Buy Cheap order viagra online canada Online Online Prices For order viagra online canada! Best Internet.
  • Buy Cheap buy cheap viagra online with prescription Now Low Prices. All Medications Are Certificated!
  • Buy Cheap cialis online pharmacy no prescription Now Best Internet. Pharmacy At The Best Price!
  • Buy Cheapest viagra stories Online Cheap Online Pharmacy. Best Internet.
  • Buy Cheap how long does it take for viagra to work Now Online Medical Shop. Cheap Pharmacy Online.
  • Buy Cheapest how to buy viagra online no prescription Now Drugs, Health And Beauty. Best Drugstore.
  • Buy Cheapest buying generic viagra online Online 24/Online Pharmacy. Best Drugstore.
  • Buy Cheapest buy viagra online no prescription Now Special Prices For buy viagra online no prescription! Best Prices.
  • Buy Cheap best ed pill Online Best Drugstore. Top Online Pharmacy.
  • Buy Cheap levitra review Now Discount Pharmacy Online. Best Drugstore.
  • Buy Cheap australia viagra online without prescription Online Best Drugstore. Pharmacy At The Best Price!