Tuesday, March 9, 2010

Array Converter

I've created a quick C# program that converts a comma separated database (.csv) into a C# array format.  I'm going to use this to include the AISC Shapes Database into the AISC Shapes Library program executable file.  The library will be a stand alone library now.  There are simpler ways to do this, but this was a good learning and review exercise for me.

Source Code

I doubt many people will use this, but you never know.

Sunday, January 24, 2010

AISC Shapes Browser

I've created a kinda nifty program to easily search through the AISC database of steel shapes.  When it's finished, it may quite handy to architects, however at the moment it's really only useful to engineers who know what all the obscure variables mean.


The search functions really only work for the name of the shapes.  Attempting to use it for other purposes (which it appears to be set up for) will almost certainly cause the program to crash immediately.

Sunday, November 22, 2009

Fractal Viewer v0.1

This past week I sat at my desk and munched on a Subway meatball sandwich while browsing through Wikipedia.  I read an article on the Mandelbrot fractal, which I think is pretty darn neat.  So neat, in fact, that I started planning on programming my own real-time viewer of this impressive mathematical piece of artwork.  This came to some dismay of my coworkers (as my meatball sandwich contained an impressive amount of delicious but odoriferous peppers and onions) when I asked them questions like, "How does one solve (A + Bi)^0.5.  It was a legitimate question, though not one necessary for the computation of a fractal.  That's actually pretty easy.

And when I got home I started programming.  Feverishly.  I have been consumed by learning to develop in C# and in particular programming the GPU.  Along the way I discovered some of the shortcomings of the older shader models.  Of particular vexation is that the older shader models support only a very limited number of instructions on the GPU.  Relatively old video cards will support shader model 2.0.  This shader model has a maximum number of instructions on the GPU of 96.  I'm using 1296.  Oops.  Thus this program requires shader model 3.0 and a relatively newer video card.  Without it, the program just crashes.  Maybe I should introduce some sort of check to see if the user video card can support it?

Anyways: too many words, not enough pictures!

The Mandelbrot Set

And the Julia Set

Here's the download.  You'll also need the XNA runtime library.  Try it out.  But be sure to read the readme file.  It has instructions on how to zoom in and out as well as pan around.

Saturday, October 24, 2009

Structural Engineering Liscensing Exam

I took the SE1 exam yesterday and wanted to share my thoughts on it.  I can't actually talk about the questions themselves as NCEES requires all test-takers to sign a non-disclosure agreement swearing to not discuss the actual questions.  I can give, however, give my general impression on the exam.

Most of the questions were relatively straight forward and easy to figure out.  The practice exam tests that I studied with were loaded with trick questions and wording that was designed to trip you up.  The actual exam did not seem that way.  Exactly 20% of the questions in the morning and the afternoon were bridge related design problems.  Given that my experience is in buildings and I have zero non-school experience in designing bridges, I decided to just completely skip these problems and come back to them after I was finished with all of the other problems.  This worked well, as the 32 non-bridge problems took me about 2 hours to do.

I went back through the bridge questions and began working on them in the order of whichever one I thought was the easiest.  Most of these problems I was able to solve not through extensive studying of the code, but by flipping to the index and looking up keywords from the question.  This took me to the correct section in the code and I skimmed through it looking for the information needed to solve the problem.  My strategy was to focus hard on the materials I did know, and could know all of.  That's 80% of the exam (and probably a passing grade).  Any bridge question that I got correct was just a free gift.

My advice to anyone taking them exam:
  • Bring the codes.  All of them:
    • IBC 2006 (yes, I used it)
    • ASCE7-05
    • AISC 360-05 (Manual of Steel Construction)
    • AISC 341-05 (Seismic Spec)
    • ACI 318 (Concrete)
    • ACI 530 (Masonry)
    • 2005 NDS (Wood)
    • AASHTO Bridge Spec
  • Learn where things are in the code.  You don't have to memorize it, but know how they lay out appendices, commentary and the like.  You may need to use some of these.
    • Learn where everything is in Structural Engineers Reference Manual. It came in handy for the geotech, wood and a few bridge questions.
    • Learn the AISC Manual of Steel Construction!  I cannot emphasize this enough.  Non-composite steel member design in the AASHTO spec is identical to AISC.  The beam tables and equations for moments and deflections in common beam conditions is handy.  AISC also includes a large number of useful charts and figured behind the Misc. tab at the very end of the book.  Forget what the equation for moment of inertia of a cylinder is?  It's in the Misc section.
    • Don't bother studying bridges if you're not already familiar with them.  Unless you have a full-time job working with it, you'll never understand it well.  You're better off focusing your time on the building design materials you aren't familiar with.  Learn where things are in the bridge code.

    Friday, September 4, 2009

    VB bites the dust.

    So last week, in a fit of frustration, I switched from VB.net to XNA.  XNA (it's not an acronym) has a bunch of built-in tools for both 2D and 3D graphics.  I'm liking it so far.  I also have access to all of the direct3D 10 features as well.  Not that I can really use them: it's taken me a week just to write shaders that will do basic lighting operations.  And I don't even have shadows working yet.

    There's two ideas for games that I have that I would like to develop.

    1)  A tower defense game with a new twist.

    It's set in a post apocalyptic world where energy resources are scarce.  The player defends a high-tech civilization that dwells inside of a volcano.  The base of the volcano has been capped with a structure that draws power from the magma.  This provides all the power that the player needs to develop their civilization.  It's also under an extreme amount of pressure.

    The other civilizations in the world are just a little bit jealous of the sweet gig that the player has at the base of the volcano.  But they lack any sophisticated technology to take the volcano.  So they've taken to throwing large rocks and boulders down the volcano.  It's really not very nice.

    The player has a wide arsenal of weapons to either destroy the boulders or knock them back up and over the side of the volcano.

    2)  Hi-level strategy game set in the ancient world.  I'll have more on this later since it's a rather large topic.

    Sunday, August 23, 2009

    Game Development

    I've still been working on it, but I'm extremely dissastified with the top-down rpg idea. I think I'm going to try and change it into something that fits that style a bit better, like a space shooter or something. On the plus side, most the hard won methods I created would not need to be rewritten.

    Sunday, August 16, 2009

    I hate it.

    I hate my own game. How sad is that?