<?xml version="1.0" encoding="utf-8"?>
<!-- If you are running a bot please visit this policy page outlining rules you must respect. http://www.livejournal.com/bots/ -->
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:lj="http://www.livejournal.com">
  <id>urn:lj:livejournal.com:atom1:gizmoelf</id>
  <title>gizmoelf</title>
  <subtitle>gizmoelf</subtitle>
  <author>
    <name>gizmoelf</name>
  </author>
  <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/"/>
  <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom"/>
  <updated>2009-09-02T03:08:37Z</updated>
  <lj:journal userid="2035073" username="gizmoelf" type="personal"/>
  <link rel="service.feed" type="application/x.atom+xml" href="http://gizmoelf.livejournal.com/data/atom" title="gizmoelf"/>
  <link rel="hub" href="http://pubsubhubbub.appspot.com/"/>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:4422</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/4422.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=4422"/>
    <title> Station Fire Staging</title>
    <published>2009-09-02T03:08:37Z</published>
    <updated>2009-09-02T03:08:37Z</updated>
    <category term="&amp;quot;burbank cdv&amp;quot;"/>
    <content type="html">I joined up with the &lt;a href="http://www.burbankcdv.org/"&gt;Burbank CDV&lt;/a&gt; recently, and I got a call on Monday that the official services have made the call for mutual aid requests.&lt;br /&gt;&lt;br /&gt;I spent most of Monday afternoon and evening over at the staging area.&lt;br /&gt;I tried to take pictures with my phone, but I don't have a place to upload.&lt;br /&gt;&lt;br /&gt;I'm taking it easy today, but I know that there will be additional calls later on this week.&lt;br /&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:4226</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/4226.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=4226"/>
    <title>Former Co-workers</title>
    <published>2008-06-02T06:12:43Z</published>
    <updated>2008-06-02T06:12:43Z</updated>
    <content type="html">Its been over a year, so its a strange coincidence that I bumped into not 1, not 2, but 3 former co-workers in one day.&lt;br /&gt;Hi Lewis, Brandon, Peter, I hope things are going well.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:3749</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/3749.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=3749"/>
    <title>Downs and Ups</title>
    <published>2005-12-10T07:32:08Z</published>
    <updated>2005-12-10T07:33:16Z</updated>
    <lj:music>&lt;a href="www.twit.tv"&gt;TWIT ipodcast&lt;/a&gt;</lj:music>
    <content type="html">I havn't updated my journal in a bit of a while, so here goes...&lt;br /&gt;&lt;br /&gt;I've had 2 job interviews the past week.  I have mixed feelings on how things went, and I don't want to talk too much about it, else it'll jinx my chances.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;Stuff happened on Thursday.&lt;br /&gt;&lt;br /&gt;I work the 'Baby Busy' for an ambulance company, doing 'Neonatal/Critical Care Transport'.  We go to a hospital, pick up a team (Doctor, Nurse, Respiratory Therapist/Technician), and go to another hospital, arriving 'On Scene' to pick up the patient, 'Transport' the patient to 'Destination', then return the team.&lt;br /&gt;&lt;br /&gt;Now I've had some bad calls before, transporting very old, very sick, critical patients.  I've done CPR in a convalescent home, transported 'end stage' patients going home to die, done ACLS code in an ER which ended up being called.  I have to admit that I've been -very- lucky in avoiding gruesomeness, (not even a good GSWs).&lt;br /&gt;&lt;br /&gt;This was the first time that patient transport was canceled after we arrived on scene.  The parents were present when Code was started, and the Doctor called it.  This call wasn't a good one.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid2"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt;'s birthday is this Sunday, so I arranged a cake to show up at the weekly thursday &lt;a href="http://www.lasfs.org/"&gt;LASFS meeting&lt;/a&gt;, thanks to &lt;a href="http://us.imdb.com/name/nm0866940/"&gt;Tadao&lt;/a&gt; for picking the cake up, and Michael Burlake for taking Fred to the meeting.&lt;br /&gt;&lt;br /&gt;Today we went to the local &lt;a href="http://www.barnesandnoble.com/"&gt;bookstore&lt;/a&gt;, bought some books, before taking in a movie.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I took Fred out to see &lt;a href="http://www.imdb.com/title/tt0363771/"&gt;The Chronicals Of Narnia: The Lion, the Witch and the Wardrobe&lt;/a&gt;.  I've read the books long time ago, and I've recently re-read 'The Lion, the Witch, and the Wardrobe'.  I'm not much of a critic, so don't expect an in-depth review from me.  The movie stayed with the story, very well done with good CG work.  I was surprized at how it stayed within its PG rating with well done battle sequences.&lt;br /&gt;&lt;br /&gt;I'm having problems thinkng these thoughts out.  I've been practicing sketching, trying to learn how to storyboard and layout.  The next thing I need to figure out is writing.. which means practice... as soon as I can figure a good method to follow while practicing.&lt;br /&gt;&lt;br /&gt;This weekend is starting to look busy for me.  There's work, &lt;a href="http://www.lasfs.org/"&gt;LASFS&lt;/a&gt; events (&lt;a href="http://www.cinemaanime.org/"&gt;Cinema Anime&lt;/a&gt;), and a whole new week just around the bend.  Same old, same old.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:3386</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/3386.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=3386"/>
    <title>insert witty subject here</title>
    <published>2005-10-02T06:27:54Z</published>
    <updated>2005-10-02T06:29:53Z</updated>
    <lj:music>R. Lee Ermey/Mail Call</lj:music>
    <content type="html">I took &lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt; to see &lt;a href="http://browncoats.serenitymovie.com/serenity/"&gt;Serenity&lt;/a&gt;.  I picked him up ontime, but when we got to the &lt;a href="http://www.moviewatcher.com/theatres/theatre_information.jsp?unit=218"&gt;theater&lt;/a&gt;, we couldn't find a &lt;a href="http://www.newenglandsealcoating.com/images/striping1.jpg"&gt;handicap parking space&lt;/a&gt;.  We got in just in time for the start of the &lt;a href="http://harrypotter.warnerbros.com/gobletoffire/"&gt;movie&lt;/a&gt; &lt;a href="http://adisney.go.com/disneypictures/narnia/"&gt;trailers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Talking about &lt;a href="http://www.serenityfirefly.com"&gt;the movie&lt;/a&gt; without giving spoilers is difficult.  I enjoyed it.&lt;br /&gt;&lt;br /&gt;Later in the evening after dropping &lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt; off, I made &lt;b&gt;cookies&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;1 cub butter/margarine&lt;br /&gt;1/2 sugar&lt;br /&gt;3/4 brown sugar&lt;br /&gt;1 tsp vanilla&lt;br /&gt;1 egg&lt;br /&gt;1 cup unsifted flour&lt;br /&gt;1 tsp baking soda&lt;br /&gt;1/2 tsp salt&lt;br /&gt;1 tsp cinnamon&lt;br /&gt;1/8 nutmeg&lt;br /&gt;3 cups uncooked oats&lt;br /&gt;1 bag (12 oz) &lt;a href="http://www.ghirardelli.com/"&gt;chocolate chips&lt;/a&gt;&lt;br /&gt;1 cub pecans&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Mix butter &amp; sugars together&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mix in vanilla and egg&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mix in flour, baking soda, salt, cinnamon, nutmeg&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mix in oats, &lt;a href="http://www.ghirardelli.com/"&gt;chocolate chips&lt;/a&gt; and pecan bits&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Bake at 375F for 8-9 minutes for a soft cookie&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;Yum.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:3149</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/3149.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=3149"/>
    <title>Lots of little big things</title>
    <published>2005-09-30T20:31:27Z</published>
    <updated>2005-10-01T15:38:36Z</updated>
    <lj:music>Hollywood and Highland street traffic</lj:music>
    <content type="html">Normally for me, there's always something going on, but to me its not worth commenting on because:&lt;br /&gt;&lt;li&gt;Other people do a better job talking/reviewing things&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Talking about the 'good' stuff feels like boasting and showing off&lt;/li&gt;&lt;br /&gt;&lt;li&gt;It seems cliche to talk about depressing/annoying things that you can't do anything about in the Livejournal&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;These subjects include:  The local wild fires.  Katrina &amp; fallout.  Politics.  The state of the IT industry/job market.  Movie reviews.  Workplace &amp; co-workers.&lt;br /&gt;&lt;br /&gt;Lots of things have been going on, work being the base, consuming most of the time, but getting financial resources from it.&lt;br /&gt;&lt;br /&gt;Last week I chauffered &lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt; to a showing he was invited to of &lt;a href="http://www.imdb.com/title/tt0121164/"&gt;Corpse Bride&lt;/a&gt;.  I took him to the &lt;a href="http://www.lasfs.org"&gt;LASFS&lt;/a&gt; meeting last night.  This weekend I'm planning on taking him to see &lt;a href="http://www.imdb.com/title/tt0379786/"&gt;Serenity&lt;/a&gt;. (Last weekend, I tired to go to the 'behind the scenes/Q&amp;A session' over at &lt;a href="http://themeparks.universalstudios.com/hollywood/website/index.html"&gt;Universal Studios Hollywood&lt;/a&gt;, but was late, and things had already filled up.)  Next Monday, &lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt; has invites for a showing of &lt;a href="http://www.imdb.com/title/tt0312004/"&gt;Wallace &amp; Gromit: The Curse of the Were-Rabbit&lt;/a&gt;. (Taking &lt;a href="http://www.kayshapero.net/FredPatten/fred.html"&gt;Fred&lt;/a&gt; to these things has its benefits.  He gets transportation, and I get to see these movies.)&lt;br /&gt;&lt;br /&gt;Out of the blue on Wednsday, my phone chirped.  My dad was up in LA doing business, and he was going to spend the night at a local hotel.  A great opportunity to head out and meet, have supper, and show him the &lt;a href="http://www.lasfs.org"&gt;LASFS&lt;/a&gt; club house.  I invited &lt;a href="http://www.tadaotomomatsu.com/"&gt;Tadao&lt;/a&gt; along, and everyone had a good time.  I gave him the DVDs I recently got for his birthday/Chrismas presents: &lt;a href="http://dsc.discovery.com/fansites/mythbusters/mythbusters.html"&gt;Mythbusters Season 1&lt;/a&gt; and &lt;a href="http://www.sho.com/site/ptbs/home.do&amp;lt;/a"&gt;Penn &amp; Teller's Bullshit Season 2&lt;/a&gt; (I'm still trying to track down a copy of season 1)&lt;br /&gt;&lt;br /&gt;Earlier this week I picked up a copy of &lt;a href="http://www.suckerpunch.com/main.html"&gt;Sly Cooper 3: Honor Among Thieves&lt;/a&gt;.  I -really -enjoyed- the other games in this series, and what I've played so far lives up to it.  I also got a used copy of &lt;a href="http://www.beyondgoodevil.com"&gt;Beyond Good &amp; Evil&lt;/a&gt;, and I found it to be -very- impressive.  (Take the &lt;a href="http://www.zelda.com/universe/game/ocarinatime/"&gt;Legend of Zelda: Ocarina of Time&lt;/a&gt;, up the quality of graphics and sfx (particles, haze, flares, etc), put it in a somewhat futuristic/rustic setting, and you have it!)&lt;br /&gt;&lt;br /&gt;Inbetween all the things happening, I'm still working on finding a real job, trolling &lt;a href="http://losangeles.craigslist.org/"&gt;Craig's List&lt;/a&gt;, &lt;a href="http://www.dice.com"&gt;Dice&lt;/a&gt;, and hitting my local contacts, asking around for employment opportunities.  So far, nothing.&lt;br /&gt;&lt;br /&gt;I'm continuing my feeble attempts at creativity, be it practicing cartoon sketching, or fiddling around with computer code.  I get a kick out of trying to do game programming, eventhough it seems nonproductive at this stage, and is -very- difficult.  Its a great learning experience to me, trying (and mostly failing) to figure out how the professionals do stuff.  Its obvious that I don't have speed to be a 'professional', eventhough once I go through the stuff, I -really- know what's going on, from high level (python hash/lists) to low level (binary operations), and between.&lt;br /&gt;&lt;br /&gt;Recently, I've been tinkering and getting thoughts about learning &lt;a href="http://www.arrl.org"&gt;HAM radio stuff&lt;/a&gt;, and &lt;a href="http://www.macromedia.com/software/flash/flashpro/"&gt;Flash&lt;/a&gt;.  @Whee!  More expensive 'hobbies'!</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:2973</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/2973.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=2973"/>
    <title>Merchadizing!</title>
    <published>2005-09-12T07:23:05Z</published>
    <updated>2005-09-12T07:23:05Z</updated>
    <lj:music>&lt;computer fans in the background&gt;</lj:music>
    <content type="html">I picked up a copy of the &lt;a href="http://www.serenitymovie.com/"&gt;Serenity&lt;/a&gt; &lt;a href="http://www.amazon.com/exec/obidos/tg/detail/-/1416507558/qid=1126509446/sr=8-2/ref=pd_bbs_2/002-3519247-9377631?v=glance&amp;amp;s=books&amp;amp;n=507846"&gt;novel&lt;/a&gt;.  Now, do I read the book first and wait for the movie, or see the movie first and then read the book?  (If I had a paid account, I suppose I could start a poll on it.)</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:2676</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/2676.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=2676"/>
    <title>Incommunicado</title>
    <published>2005-08-11T07:16:21Z</published>
    <updated>2005-08-11T07:16:21Z</updated>
    <content type="html">Last week my private server down in San Diego got unplugged.  I think its being moved, but I can't contact the folks to find out what's going on with it.  Also, my backup email account has locked me out. &lt;br&gt;&lt;br /&gt;In the meanwhile, I'll be continuing my tinkering with C/C++ and SDL/OpenGL.&lt;br /&gt;&lt;br&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:2363</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/2363.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=2363"/>
    <title>Acountability</title>
    <published>2005-05-08T22:20:57Z</published>
    <updated>2005-05-08T22:20:57Z</updated>
    <content type="html">This article is copied from the free montly technology magazine called &lt;a href="www.computeruser.com"&gt;ComputerUser&lt;/a&gt; for May 2005, under the &lt;b&gt;On Point Pursuits&lt;/b&gt; section on page 46.&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;hl&gt;&lt;br /&gt;&lt;h1&gt;Who's to blame?&lt;/h1&gt;&lt;br /&gt;&lt;h2&gt;Too often, a lack of accountability turns projects from small setbacks into large disasters.&lt;/h2&gt;&lt;br /&gt;&lt;i&gt;by Nelson King&lt;/i&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;What's the connection between a small business that is forced to dump a $100,000 software project and the FBI trashing a project that cost $170 million?  Oh no, you're saying:  Is this another of those lessons-to-be-learned exercises - and probably a stretch at that?  Not exactly.  This is about accountability.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;The scene is a local coffee shop, almost noon.  When Ted (names and references are changed to protect the complicit) and I sat down for a quick lunch, I was expecting a routine update on the life of a hard-working IT adminstrator in a small company.  The company is not big enough to have an IT department, although it is fully computerized and its business depends on hits manufacturing software.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;After greeting me, Ted quickly dispensed with the small talk.  "You know anybody who wants to hire an IT jock?"&lt;br /&gt;&lt;p&gt;&lt;br /&gt;An IT confessional is not a pretty thing.  Most failures or transgressions in this business are complicated.  This is true of most failed software projects, especially the big ones.  By &lt;i&gt;big&lt;/i&gt;, I don't necessarily big in scale, projects involving thousands of users and millions of dollars.  It could also be a project that is big for a company - that is, important.  If a company has 50 employees and a new piece of software is intended for all of them - well, that's big.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;After a pause, he volunteered some background.  "It started last fall.  We had a couple of large investors.  One of them suggested that we consider new manufacturing and process control software - something to give us a competitive advantage.  Who can argue with that, right?&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"The executive committee delegated the idea to a group of six managers from the manufacturing departments," he continued.  "So far, we had 11 people involved; none has any IT experience.  I got called in by this group to present opions - in effect, to act as a consultant.  That's cool, its their business."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted took a sip from his coffee and grinned.  "I'll bet you can fill in blanks from here.  They picked a software package, my third choice, because it was less expensive and the vendor promised to make all necessary tweaks to have it fit our company.  Hey, that's OK; it could work like that.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Of course, it didn't.  The people on the shop floor didn't get into the act until the software was announced.  What they saw made their heir turn white.  They were sure they hated it - natural resistance to change in any case.  But it was OK because they were being told to do it.  'Cut the crap and do the thing' was the general attitude.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Anyway, we started bringing the new software - big packags, about nine modules, and it required some new hardware, an upgraded network.  The idea was a quick turnover, like 24 hours, or a weekend.  Oh yeah - two days' training."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted looked at me with another grin, expecting that I'd already seen the punch line.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Let me guess," I said, "Some of the software didn't run.  Some of it that did run, did not do what it was supposed to do.  In general, the people who needed it the most found it almost unworkable."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Pretty close," he laughed, "Only the people who needed it the most were among those who never got the software running.  Amost a hundred grand - &lt;i&gt;whoosh!&lt;/i&gt; - that's about two good salaries."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I tried to offer him some perspective:  I reminded him that he could be working for the FBI.  Imagine, after 9/11 with a national crisis breathing down your neck, you're tasked with saving your agency's reputation by updating your hopeless IT infrastructure.  Endless reports and committees later, you start on a massive $380 million project called Trilogy to bring in new hardware, networks, and case documentation software.  Of course, cases drive the FBI, so we're talking mission-critical all the way.  Four years later, the hardware part of the project is staggering toward completion, two years late and about $70 million over budget.  However, software is AWOL.  After much handwringing, congressional meetings, and bad PR, you decide to admit that the $170 million case software project has to be scrapped.  Time to start over.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted stopped eating for a moment.  "So whose heads were rolling?"&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Well, the FBI churned through five CIOs and nine project managers in less than four years of the project - not a record, but close."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Anybody from non-IT upper management?"  I shook my head.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted said that under the circumstances, either they should have taken the personnel search committe out to the parking lot for a nice drubbing, or wondered what was wrong with management and the culture of the FBI that it couldn't keep (or get) the right IT people.  I said, "IT people are convenient scapegoats."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted sighed.  "Standard Operating Procedure the world over, I guess.  It has a twin:  Blame the process, the structure.  Common story for major IT snafus, have reports done that blame faulty IT processes and fire a few IT managers.  Like me.  No mention of the people, usually executives, who set the whole thing in motion, who made some of the most important operative decisions, and wo set the tone for the whole thing."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Sounds like you're talking from bitter experience."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Hey, smart executives know all about this.  When it comes to IT projets, they get things going and back off.  I'll bet the FBI brass knew the project was unpopular, just as mine did, but once they commit to it, the last thing they want is to be identified with killing it - that's a failure on their part."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Ted completed the all-too-typical scenario for me:  The project lumbers on, usually until it's busted the budget, broken the clock, and alienated the employees for years to come.  Much of the time, they get away with it because:  1) Its tough to punish the big guns;  2) killing a few scapegoats made everbody feel better;  3) there's always the rationale about burying the dead and moving on.  Nobody asks whose bright idea it was in the first place, who made the key decisions, and who was responcible for making the corporate culture change so the project could succeed.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I'd been through that myself, a couple of times.  I asked Ted, "So whe it comes to big IT projects, where should the accountability be?"&lt;br /&gt;&lt;p&gt;&lt;br /&gt;He laughed.  "If you're an invector, board member, auditor, SEC offical, stock broker, analyst, journalist, or just a lowly employee with your job on the line:  If you can't equate accountability with power, especially decision-making power, then you havn't got accountability."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;I added, "Usually, that amounts to names - real people who make decisions.  If you can't put names to it, you havn't got accountability."&lt;br /&gt;&lt;p&gt;&lt;br /&gt;"Right," said Ted.  We both laughed and finished our lunch.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;hl&gt;&lt;br /&gt;Hm...</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:2202</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/2202.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=2202"/>
    <title>Playing with Jython</title>
    <published>2004-10-16T07:24:42Z</published>
    <updated>2004-10-16T07:29:25Z</updated>
    <content type="html">I've been working on my JavaSpriteEditor, looking into hooking up some scripting.  I finally got a python interpreter working inside a java class, using &lt;a href="http://www.jython.org"&gt;jython&lt;/a&gt;, check it out:&lt;br /&gt;&lt;br /&gt;In file &lt;b&gt;PyInterpTest.java&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;
import org.python.core.*;
import org.python.util.*;

public class PyInterpTest {
 public static void main(String[] argv) {
  PySystemState.initializer();
  PythonInterpreter interp = new PythonInterpreter();
  PyObject value = interp.eval("2 + 2");
  System.out.println(value);
 }
}
&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;This is compiled by:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;javac -classpath jython.jar PyInterpTest.java&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;and executed by:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;java -cp jython.jar;. PyInterpTest&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This could be pritty cool for my java projects.</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:1889</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/1889.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=1889"/>
    <title>Math, part 1</title>
    <published>2004-05-29T19:23:57Z</published>
    <updated>2004-05-29T19:23:57Z</updated>
    <content type="html">Math is a good place to start.  I wrote this up using various notes and books for reference, including &lt;a href="http://www.samspublishing.com/title/0672318350"&gt;Tricks of the 3D Game Programming Gurus: Advanced 3D Graphics and Rasterization&lt;/a&gt; by LaMonthe.&lt;br /&gt;&lt;br /&gt;This info is in almost -all- 'How to do 3D Game Programming', coupled with DirectX/OpenGL primer (setup, display a cube, texture mapping, polygons. etc...)&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;2D coordinate systems&lt;/h1&gt;&lt;br /&gt;Cartesian and Polar Coordinates&lt;br /&gt;&lt;h2&gt;Cartesian Coordinate System&lt;/h2&gt;&lt;br /&gt;&lt;code&gt;p(X,Y)&lt;/code&gt;&lt;pre&gt;
QII    ^+y          QI
(-,+)  |            (+,+)
       |
       |   (X,Y)
       |     ^
       |     |
       | {X} |-{Y}
       |  |  |
-x     |-----&amp;gt;         +x 
&amp;lt;------+----------------&amp;gt;
       |Origin
QIII   |            QII
(-,-)  V-y          (+,-)
&lt;/pre&gt;&amp;lt;/code&amp;gt;&lt;br /&gt;4 Quardants&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Polar Coordinates&lt;/h2&gt;&lt;br /&gt;&lt;code&gt;p(R, A)&lt;/code&gt;(radius, angle)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
       ^+y
       |
       |  (R,A)  
       |   /
       |  /-{R}
       | /
-x     |/) -{A}        +x
&amp;lt;------+----------------&amp;gt;
       |
       |
       V-y
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Converting 2D Polar Coordinates p(R,A) to Cartesian Coordinates p(X,Y)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;X = R*cos(A)
Y = R*sin(A)&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Converting Cartesian Coordinates p(X,Y) to Polar Coordinates p(R,A)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;R = sqrt(X^2 + Y^2)
A = atan(X/Y)&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Note, at X = 0, X/Y -&amp;gt; infinity, atan(A) is undefined.&lt;br /&gt;Must test for x = 0, in that case, A = 90&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;3D coordinate systems&lt;/h1&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
       ^+z
       |
       |  +y 7
       |    /
       |   /
       |  /
       | /
-x     |/              +x
&amp;lt;------+----------------&amp;gt;
      /|
     / |
 -y L  V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;h2&gt;Left-Handed System&lt;/h2&gt;&lt;br /&gt;In this coordinate system, the Z axis points &lt;b&gt;in&lt;/b&gt; to the screen&lt;br /&gt;(the limitations of ascii art)&lt;br /&gt;&lt;br /&gt;Picture your left hand.  Point the index finger in the X direction, then bend/curl the second/middle finger into &lt;br /&gt;&lt;br /&gt;the direction of the Y axis, turning the wrist and turning the hand palm upwards.  The thumb sticking out is the &lt;br /&gt;direction of the Z axis.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Right-Handed System&lt;/h2&gt;&lt;br /&gt;In this coordinate system, the z axis points &lt;b&gt;out&lt;/b&gt; of the screen.&lt;br /&gt;&lt;br /&gt;Using the right hand, and doing the same thing.  Pointing the index finger in the X direction, then &lt;br /&gt;&lt;br /&gt;bending/curling the finger to match the Y direction, the thumb sticks out into the Z direction.  This is very &lt;br /&gt;&lt;br /&gt;awkward.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;3D Cartesian Coordinate System&lt;/h2&gt;&lt;br /&gt;&lt;code&gt;p(X,Y,Z)&lt;pre&gt;
       ^+z
       |
       |     +y 7   (X,Y,Z)
       |       /       ^
       |      /        |
       |     /     {Z}-| 
       |    /         []
       |   /          7
       |  /{X}       /-{Y}
       | /  |       /
-x     |/----------&amp;gt;   +x
&amp;lt;------+----------------&amp;gt;
      /|Origin
     / |
 -y L  V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;h2&gt;3D Polar Coordinates&lt;/h2&gt;&lt;br /&gt;&lt;code&gt;p(R,A,Z)&lt;/code&gt;(radius, angle)&lt;br /&gt;&lt;code&gt;p(X,Y,Z)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
       ^+z
       |     +y 7   (X,Y,Z)
       |       /       ^
       |      /        |
       |     /     {Z}-| 
       |    /         []
       |   /    {R}    .
       |  /      | .
       | /     .   
-x     |/  . )-A       +x
&amp;lt;------ ----------------&amp;gt;
      /|Origin
     / |
 -y L  V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;This can be visualized as:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
2D Top View, looking down:                2D Side View:
       ^+y                                       ^+z
       |                                         |
       |  (R,A)                                  | ({R,A},Z)
       |   /                                     |     |
       |  /-{R}                                  |     |-{Z}
       | /                                       |     |
-x     |/) -{A}        +x                        |{R,A}| {xy plane} 
&amp;lt;------+----------------&amp;gt;  Combined With  &amp;lt;------+-----+----------&amp;gt;
       |                                         |
       |                                         |
       V-y                                       V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Converting 3D Polar Coordinates p(R,A,Z) to Cartesian Coordinates p(X,Y,Z)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;X = R*cos(A)
Y = R*sin(A)
Z = Z&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Converting Cartesian Coordinates p(X,Y) to Polar Coordinates p(R,A)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;R = sqrt(X^2 + Y^2)
A = atan(X/Y)
Z = Z&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Again, at X = 0, X/Y -&amp;gt; infinity, atan(A) is undefined.&lt;br /&gt;Must test for x = 0, in that case, A = 90&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;3D Spherical Coordinates&lt;/h2&gt;&lt;br /&gt;&lt;code&gt;p(R,P,T)&lt;/code&gt;(rho, phi, theta)&lt;br /&gt;R (rho) - The distance from the origin to the point p&lt;br /&gt;P (phi) - The angle that the directed line segment from o to p makes with the positive z-axis&lt;br /&gt;T (theta) - The angle that the projected line makes on the xy plane&lt;br /&gt;&lt;code&gt;p(X,Y,Z)&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
       ^+z
       |     +y 7   (R,P,T)
       |       /       ^
       |      /      * |
       |     /     *   |
       |    /    *    []
       |   + - * - - - .  {X,Y}
       |  /  *     .  
       | / *   .     /
-x     |/* . )-T       +x
&amp;lt;------+-----------+----&amp;gt;
      /|Origin
     / |
 -y /  |
   L   V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;pre&gt;
2D Top View, looking down:                2D Side View:
       ^+y                                       ^+z
       |                                         |
       |  (R,T)                                  | ({R,T},P)
       |   /                                     |   /
       |  /-{R}                                  |  / 
       | /                                       {P}   
-x     |/)-{T}         +x                        |/        {xy plane} 
&amp;lt;------+----------------&amp;gt;  Combined With  &amp;lt;------+----------------&amp;gt;
       |                                         |
       |                                         |
       V-y                                       V-z
&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Converting 3D Spherical Coordinates p(R,P,T) to Cartesian Coordinates p(X,Y,Z)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;X = R*sin(P)*cos(T)
Y = R*sin(P)*cos(T)
Z = R*cos(P)&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Converting Cartesian Coordinates p(X,Y) to Polar Coordinates p(R,A)&lt;br /&gt;&lt;code&gt;&lt;pre&gt;R = sqrt(x^2 + Y^2 + Z^2)
P = asin( sqrt(X^2 + Y^2) /R)
T = acos(z/R)&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:1173</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/1173.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=1173"/>
    <title>gizmoelf @ 2004-05-27T09:31:00</title>
    <published>2004-05-27T16:35:16Z</published>
    <updated>2004-05-27T16:35:16Z</updated>
    <content type="html">&lt;p&gt;Last night I found and fixed my &lt;a href="http://www.python.org/"&gt;python&lt;/a&gt; &lt;a href="http://www.pygame.org/"&gt;pygame&lt;/a&gt;/&lt;a href="http://pyopengl.sourceforge.net/"&gt;OpenGL&lt;/a&gt; scripts for loading and displaying the &lt;a href="http://www.swissquake.ch/chumbalum-soft/ms3d/"&gt;Milkshake3D&lt;/a&gt; 3D file format. I've been neglecting this journal, as I've got 3 main project ideas on the burner, a 2D sprite 'editor' written in java, an ambitious RPG game engine in development, and this journal. I'm learning alot as I write these things out, and hopefully it will be helpful to others. &lt;/p&gt;
&lt;p&gt;JSE - Java Sprite Editor &lt;/p&gt;
&lt;p&gt;A sprite editor written in java. I'm plugging away at this, right now working on an 'image editing' panel/component which handles mouse-clicks and keyboard commands for editing a 2D BufferedImage, and a 'map editor' for laying out sprites into 'levels'. &lt;/p&gt;
&lt;p&gt;RPG Engine &lt;/p&gt;
&lt;p&gt;I'm not sure which direction to go with this, MMORPG, 2D, 3D... When I start thinking on 2D terms, I flip over and code on my Java Sprite Editor. When my thoughts waver over into the 3D polygon realm, I work on python/OpenGL 3D utility scripts. I've been doing pritty good working out the components, learning things as I go, 3D matrix math, file formats, skeletal system, surfaces, etc. This project gives me something to work on and to learn while doing it. &lt;/p&gt;
&lt;p&gt;This Journal &lt;/p&gt;
&lt;p&gt;A place for me to write out things I've learned, to use as a reference, show what I know, and help others. I have no indication of how useful it is, feedback is appreciated.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:999</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/999.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=999"/>
    <title>Windows Bitmap</title>
    <published>2004-05-07T07:47:23Z</published>
    <updated>2004-05-07T07:47:23Z</updated>
    <content type="html">&lt;h1&gt;The Microsoft Windows Bitmap&lt;/h1&gt;&lt;br /&gt;File format and information on how to decode this file format into an image.&lt;br /&gt;Microsoft Windows Bitmap is &lt;b&gt;Little Endian Order&lt;/b&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;Overall file structure&lt;/h1&gt;&lt;br /&gt;&lt;pre&gt;BITMAPFILEHEADER bfHeader;
BITMAPINFOHEADER bfInfo;
RGBQUAD          Colors[];
BYTE             BitmapData[];&lt;/pre&gt;&lt;br /&gt;If the image is 24 or 32 bit color depth, there are no colors, Colors[0];&lt;br /&gt;The BitmapData is padded to 32 bits (4 bytes), and the size depends on the color depth and type of compression;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;BITMAPFILEHEADER&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;typedef struct
{
   WORD    bfType;
   DWORD   bfSize;
   WORD    bfReserved1;
   WORD    bfReserved2;
   DWORD   bfOffBits;
} BITMAPFILEHEADER&lt;/pre&gt;&lt;br /&gt;&lt;h3&gt;bfType&lt;/h3&gt;&lt;br /&gt;The 'signature' of the bitmap file format, must be 'B'(0x42) 'F'(0x46)&lt;br /&gt;&lt;i&gt;unsigned, 2 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;bfSize&lt;/h3&gt;&lt;br /&gt;The size of the bitmap file in bytes&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;bfReserved1&lt;/h3&gt;&lt;br /&gt;reserved; must be 0&lt;br /&gt;&lt;i&gt;unsigned, 2 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;bfReserved2&lt;/h3&gt;&lt;br /&gt;reserved; must be 0&lt;br /&gt;&lt;i&gt;unsigned, 2 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;bfOffBits&lt;/h3&gt;&lt;br /&gt;The offset value, in bytes, to the bitmap data&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;BITMAPINFOHEADER&lt;/h2&gt;&lt;br /&gt;&lt;pre&gt;typedef struct
{
   DWORD   biSize;
   LONG    biWidth;
   LONG    biHeight;
   WORD    biPlanes;
   WORD    biColorDepth;
   DWORD   biCompression;
   DWORD   biSizeImage;
   LONG    biXPixelsPerMeter;
   LONG    biYPixelsPerMeter;
   DWORD   biColorsUsed;
   DWORD   biColorsImportant;
} BITMAPINFOHEADER&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biSize&lt;/h3&gt;&lt;br /&gt;The number of bytes required by the image&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biWidth&lt;/h3&gt;&lt;br /&gt;The width of the image in pixels&lt;br /&gt;&lt;i&gt;signed, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biHeight&lt;/h3&gt;&lt;br /&gt;The height of the image in pixels&lt;br /&gt;&lt;i&gt;signed, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biPlanes&lt;/h3&gt;&lt;br /&gt;The number of planes/layers in the image, must be 1&lt;br /&gt;&lt;i&gt;unsigned, 2 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biColorDepth&lt;/h3&gt;&lt;br /&gt;The number of bits per pixel, must be 1, 4, 8, 16, 24, or 32&lt;br /&gt;&lt;i&gt;unsigned, 2 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biCompression&lt;/h3&gt;&lt;br /&gt;The type of compresison&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biSizeImage&lt;/h3&gt;&lt;br /&gt;The size of the image in bytes&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biXPixelsPerMeter&lt;/h3&gt;&lt;br /&gt;The number of pixels per meter in the X axis&lt;br /&gt;&lt;i&gt;signed, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biYPixelsPerMeter&lt;/h3&gt;&lt;br /&gt;The number of pixels per meter in the Y axis&lt;br /&gt;&lt;i&gt;signed, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biColorsUsed&lt;/h3&gt;&lt;br /&gt;The number of colors used in the image&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;biColorsImportant&lt;/h3&gt;&lt;br /&gt;The number of colors that are important in the image&lt;br /&gt;&lt;i&gt;unsigned, 4 bytes&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;RGBQUAD&lt;/h2&gt;&lt;pre&gt;typedef struct
   BYTE   rgbBlue;
   BYTE   rgbGreen;
   BYTE   rgbRed;
   BYTE   rgbReserved;
} RGBQUAD&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:572</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/572.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=572"/>
    <title>Bits &amp; Bytes</title>
    <published>2004-05-05T16:17:39Z</published>
    <updated>2004-05-06T04:13:22Z</updated>
    <content type="html">Bits &amp; Bytes&lt;br /&gt;&lt;br /&gt;Different types of data and its sizes.&lt;br /&gt;&lt;br /&gt;A bit has only 2 states, on, or off, giving a total number of 2^1 (0 or 1) values;&lt;br /&gt;&lt;br /&gt;A byte is (traditionally) 8-bits unsigned, giving it a value range of 2^8 (0 to 255);&lt;br /&gt;&lt;br /&gt;A char is (traditionally) 8-bits signed, giving it a value of range 2^8 (-128 to 127);&lt;br /&gt;&lt;br /&gt;&lt;a name="cutid1"&gt;&lt;/a&gt; &lt;br /&gt;&lt;h1&gt;Some typical data sizes&lt;/h1&gt;&lt;br /&gt;&lt;pre&gt;BYTE	8-bit unsigned			0 to (2^8)-1		0 to 255
CHAR	8-bit signed			-(2^7) to (2^8)-1	-128 to 127
WORD	16-bit unsigned int		0 to (2^16)-1		0 to 65535
SHORT	16-bit signed int		-(2^15) to (2^15)-1	-32768 to 32767
DWORD	32-bit unsigned int		0 to (2^32)-1		0 to 4294967295
LONG	32-bit signed int		-(2^31) to (2^31)-1	-2147483648 to 2147483647
FLOAT	32-bit single percision float
DOUBLE	32-bit double percision float&amp;lt;/code&amp;gt;
&lt;/pre&gt;&lt;br /&gt;&lt;h1&gt;In java:&lt;/h1&gt;&lt;br /&gt;&lt;code&gt;sizeof(byte)=	1 byte&lt;br /&gt;sizeof(short)=	2 bytes&lt;br /&gt;sizeof(int)=	4 bytes&lt;br /&gt;sizeof(long)=	8 bytes&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Hexadecimal - an easier way to read 8-bit data&lt;/h1&gt;&lt;br /&gt;&lt;pre&gt; 0	0x0	0x0000
 1	0x1	0x0001
 2	0x2	0x0010
 3	0x3	0x0011
 4	0x4	0x0100
 5	0x5	0x0101
 6	0x6	0x0110
 7	0x7	0x0111
 8	0x8	0x1000
 9	0x9	0x1001
10	0xA	0x1010
11	0xB	0x1011
12	0xC	0x1100
13	0xD	0x1101
14	0xE	0x1110
15	0xF	0x1111&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Hexeditor - looking at raw data&lt;/h1&gt;&lt;br /&gt;&lt;code&gt;0000000: 2f2a 0d0a 0d0a 416e 206f 7574 6c69 6e65  /*....An outline&lt;br /&gt;0000010: 206f 6620 6a61 7661 2063 6f64 6520 666f   of java code fo&lt;br /&gt;0000020: 7220 646f 696e 6720 6761 6d65 2070 726f  r doing game pro&lt;br /&gt;0000030: 6772 616d 6d69 6e67 0d0a 0d0a 4772 6170  gramming....Grap&lt;br /&gt;0000040: 6869 6373 3244 2063 6c61 7373 2028 4a61  hics2D class (Ja&lt;br /&gt;0000050: 7661 3229 3a0d 0a54 6865 2064 6573 6967  va2):..The desig&lt;br /&gt;0000060: 6e65 7273 206f 6620 4a61 7661 2068 6176  ners of Java hav&lt;br /&gt;0000070: 6520 6578 7465 6e64 6564 2074 6865 2047  e extended the G&lt;br /&gt;0000080: 7261 7068 6963 7320 636c 6173 7320 6279  raphics class by&lt;br /&gt;0000090: 0d0a 6465 7665 6c6f 7069 6e67 2074 6865  ..developing the&lt;br /&gt;00000a0: 2047 7261 7068 6963 7332 4420 636c 6173   Graphics2D clas&lt;br /&gt;00000b0: 732e 200d 0a0d 0a47 7261 7068 6963 7332  s. ....Graphics2&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The first column is the address of the data, the 2nd to 9th column are data in hexadecimal form, and the last column is the data in ascii form.  Each character of ascii data is 2 digits of ascii.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt; Binary ASCII table&lt;/h1&gt;&lt;br /&gt;&lt;pre&gt;Decimal Octal   Hex    Binary       Value
000     000     00     00000000     NUL (null character)
001     001     01     00000001     SOH (start of header)
002     002     02     00000010     STX (start of text)
003     003     03     00000011     ETX (end of text)
004     004     04     00000100     EOT (end of transmission)
005     005     05     00000101     ENQ (enquiry)
006     006     06     00000110     ACK (acknowledgment)
007     007     07     00000111     BEL (bell)
008     010     08     00001000     BS (backspace)
009     011     09     00001001     HT (horizontal tab)
010     012     0A     00001010     LF (line feed)
011     013     0B     00001011     VT (vertical tab)
012     014     0C     00001100     FT (form feed)
013     015     0D     00001101     CR (carrage return)
014     016     0E     00001110     SO (shift out)
015     017     0F     00001111     SI (shift in)
016     020     10     00010000     DLE (data link escape)
017     021     11     00010001     DC1 (XON) (device control 1)
018     022     12     00010010     DC2 (device control 2)
019     023     13     00010011     DC3 (XOFF) (device control 3)
020     024     14     00010100     DC4 (device control 4)
021     025     15     00010101     NAK (negative acknowledgement)
022     026     16     00010110     SYN (synchronous idle)
023     027     17     00010111     ETB (end of transmission block)
024     030     18     00011000     CAN (cancel)
025     031     19     00011001     EOM (end of medium)
026     032     1A     00011010     SUB (substitude)
027     033     1B     00011011     ESC (escape)
028     034     1C     00011100     FS (file separator)
029     035     1D     00011101     GS (group separator)
030     036     1E     00011110     RS (request to send)
031     037     1F     00011111     US (unit separator)
032     040     20     00100000     SP (space)
033     041     21     00100001     !
034     042     22     00100010     "
035     043     23     00100011     #
036     044     24     00100100     $
037     045     25     00100101     %
038     046     26     00100110     &amp;
039     047     27     00100111     '
040     050     28     00101000     (
041     051     29     00101001     )
042     052     2A     00101010     *
043     053     2B     00101011     +
044     054     2C     00101100     ,
045     055     2D     00101101     -
046     056     2E     00101110     .
047     057     2F     00101111     /
048     060     30     00110001     0
049     061     31     00110010     1
050     062     32     00110011     2
051     063     33     00110100     3
052     064     34     00110101     4
053     065     35     00110110     5
054     066     36     00110110     6
055     067     37     00110111     7
056     070     38     00111000     8
057     071     39     00111001     9
058     072     3A     00111010     :
059     073     3B     00111011     ;
060     074     3C     00111100     &amp;lt;
061     075     3D     00111101     =
062     076     3E     00111110     &amp;gt;
063     077     3F     00111111     ?
064     100     40     01000000     @
065     101     41     01000001     A
066     102     42     01000010     B
067     103     43     01000011     C
068     104     44     01000100     D
069     105     45     01000101     E
070     106     46     01000110     F
071     107     47     01000111     G
072     110     48     01001000     H
073     111     49     01001001     I
074     112     4A     01001010     J
075     113     4B     01001011     K
076     114     4C     01001100     L
077     115     4D     01001101     M
078     116     4E     01001110     N
079     117     4F     01001111     O
080     120     50     01010000     P
081     121     51     01010001     Q
082     122     52     01010010     R
083     123     53     01010011     S
084     124     54     01010100     T
085     125     55     01010101     U
086     126     56     01010110     V
087     127     57     01010111     W
088     130     58     01011000     X
089     131     59     01011001     Y
090     132     5A     01011010     Z
091     133     5B     01011011     [
092     134     5C     01011100     \
093     135     5D     01011101     ]
094     136     5E     01011110     ^
095     137     5F     01011111     _
096     140     60     01100000     `
097     141     61     01100001     a
098     142     62     01100010     b
099     143     63     01100011     c
100     144     64     01100100     d
101     145     65     01100101     e
102     146     66     01100110     f
103     147     67     01100111     g
104     150     68     01101000     h
105     151     69     01101001     i
106     152     6A     01101010     j
107     153     6B     01101011     k
108     154     6C     01101100     l
109     155     6D     01101101     m
110     156     6E     01101110     n
111     157     6F     01101111     o
112     160     70     01110000     p
113     161     71     01110001     q
114     162     72     01110010     r
115     163     73     01110011     s
116     164     74     01110100     t
117     165     75     01110101     u
118     166     76     01110110     v
119     167     77     01110111     w
120     170     78     01111000     x
121     171     79     01111001     y
122     172     7A     01111010     z
123     173     7B     01111011     {
124     174     7C     01111100     |
125     175     7D     01111101     }
126     176     7E     01111110     ~
127     177     7F     01111111     DEL&lt;/pre&gt;</content>
  </entry>
  <entry>
    <id>urn:lj:livejournal.com:atom1:gizmoelf:499</id>
    <link rel="alternate" type="text/html" href="http://gizmoelf.livejournal.com/499.html"/>
    <link rel="self" type="text/xml" href="http://gizmoelf.livejournal.com/data/atom/?itemid=499"/>
    <title>First Post!</title>
    <published>2004-05-01T03:44:54Z</published>
    <updated>2004-05-01T16:21:19Z</updated>
    <content type="html">This is my first entry into this here Livejournal thing.&lt;br /&gt;&lt;br /&gt;I'll be writing down various thoughts and ramblings.  Deal with it.&lt;br /&gt;&lt;br /&gt;First off, some information on computer graphics;&lt;br /&gt;An image is stored as an array of values, each value pertaining to the color of a pixel.  The number of different colors possible in an image is called the color depth.  The higher the color depth, the larger the size of the values in the array has to be.&lt;br /&gt;&lt;br /&gt;In 24 bit color images keep the color values as RGBs.&lt;br /&gt;Image:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;+------------+------------+------------+&lt;br /&gt;|P1(R1,G1,B1)|P2(R1,G1,B1)|P3(R1,G1,B1)|...&lt;br /&gt;+------------+------------+------------+&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Each pixel is a reference in the table of 3 byte RGB values.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some images use a palette to hold the colors&lt;br /&gt;Palette:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;+------------+------------+------------+&lt;br /&gt;|C1(R1,G1,B1)|C2(R1,G1,B1)|C3(R1,G1,B1)|...&lt;br /&gt;+------------+------------+------------+&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Then, the image is an array of references to the palette color to 'paint'.&lt;br /&gt;Image:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;+--+--+--+&lt;br /&gt;|C1|C2|C3|...&lt;br /&gt;+--+--+--+&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Some images have an Alpha channel value for each pixel.  The alpha value determines the 'opaqueness' of the pixel.  At 0, the pixel is transparent in most cases.</content>
  </entry>
</feed>
