Amazon S3

I was researching a topic a few days ago and I happened upon Bob Ippolitos blog post on Amazons S3 service. As I was reading it, I thought I noticed something familiar. Bob is a co-founder at mochimedia. I just met Jameson Hsu the CEO at a RockYou party a month or so ago. I was introduced to him by one of our investors. He’s a smart guy and I was telling him about how excited I was about S3. He seemed interested since he said they were thinking of looking at it. He might have misinterpreted my excitement about it, since I never mentioned using it as a CDN. At the time, I even mentioned that there were problems when you tried to get consistent results from the service… it has issues. I might consider the Bit-Torrent style interface for a torrent, but I wouldn’t even consider them as a CDN.

Anyways, I like Bob’s blog, and will continue to check it out. Why? It is an great example of the variety of technologies that people are using these days (refreshing!) … and that will be the subject of another blog post.

Posted in General | Comments Off on Amazon S3

F# – Cool .NET language and Ray Tracer

So, the F# language (or F Sharp) is a version of CAML or OCaml on .NET

A guy at the Flying Frong Consultance did a quick ray tracer in F# that is quite concise and parallelizable. Neat!

Posted in General | Comments Off on F# – Cool .NET language and Ray Tracer

Interesting blog…

This is a blog by a guy who writes Mac emulators. He works for Microsoft. He hates Apple. Yes, he writes and supports emulators for the Mac. He likes Fry’s and Starbucks.

Interesting.

Posted in General | Comments Off on Interesting blog…

Error Handling and Exceptions – continued

In a previous post, I asked about Error Handling and Exceptions. There were some good replies and I’ve done more research. I’ve create a page dedicated to put all that info together in one place.

Error Handling: Error Codes, Exceptions, and Beyond

Check it out and, of course, feedback is appreciated.

Posted in General | Comments Off on Error Handling and Exceptions – continued

Quick – F/A 18 Intercepter

F/A 18 Interceptor

I’ve mentioned this game in the past. As I was searching around, I wondered. Whatever happened to the guy who built that great game for EA. When I saw this game, I took all of my savings and bought an Amiga 500 the next week. It was amazing. I had it hooked up to my stereo and when you heard the sound it was just incredibly powerful. Everybody who saw the game (computer geek or not) was just blown away and immediately wanted to learn how to play.

Well, two links.

  1. Of course, the Wikipedia page on the game is ok.

  2. This blog post really captures the spirt of the original game.

Finally, had to mention this:

5 Print "                         Welcome Pilot                      "
10 Print "                                                                    "
15 Print "__________________________________"
20 Print "                                   /\\                               "
25 Print "                                  /  \\                              "
30 Print "                                 /    \\                             "
35 Print "                                /   |  \\                            "
40 Print "                               /    |   \\                           "

Link for the above here.

Posted in General | Comments Off on Quick – F/A 18 Intercepter

Journalism on the internet – one concrete thought

Over the last couple of years, there has been a discussion about the changing world of journalism. The non-journalists are declaring that the old world is no longer relevant. The old world is calling the new journalism on blogs a recipe for disaster … half truths.

Its an interesting debate, and I think both sides have points. I do have one realization to mention that is concrete and relevant. The filters are no longer there. You can actually go to the source. With Google and Wikipedia, you can usually go directly to a site that goes into tremendous detail about events.

If you liked a particular band, you can actually go to the site where the band blogs themselves.

If you were into a particular game, you can read the blog or web site of the actual people involved.

I know those examples sound trivial, but that is kind of the point. Even the trivial, which can be interesting to just a few, is available.

That big difference between now and the past is that the actual person involved with something can actually put their stories up on the net for anyone to read. You can read the thoughts that they publish on a wide variety of topics. This is a huge difference.

What I’ve found, when I started reading the information, is that the old filters (the journalists) tended to embelish or twist things a bit. The actual accounts by the people involved are much richer. You learn more about the years leading up to their ‘overnight success’. You learn about the characteristics of their group that allowed them to succeed where others did not.

One of the best examples in the computer history field was the folklore.org project. Most of the reporting before that was never as interesting or detailed. In fact a lot of computer companies wanted to prevent others from knowing who their star programmers were. As a result, very little about them or their stories was published.

Just the other day I was reading about the guys behind Silicon Beach Software. That led me to a bio about Don Daglow. This guy was involved in gaming since the teletype days. He was also involved with Stuart Smith on Adventure Construction Set… which was an influence on Racing Construction Set…. I could go on and on.

In the old days, the most you got was the magazine article that described only 1/10th of the story. In the old days, the media limited the amount of information. The internet has truly changed this. I can say wholeheartedly that this is a tremendous good.

Posted in General | Comments Off on Journalism on the internet – one concrete thought

HTML – not so good

malformed html in the world

Interesting chart, huh.

This is just a general statement. I’ve had to do a lot of HTML/CSS/Javascript work over the last 5 months. My takeaway. This stuff is still a mess. Every decent programmer I know follows in agreement. Everybody puts up with it because there is nothing that you can do about it.

It’s interesting to watch all the different camps out there as well. There are all these different, vocal minorities:

  • CSS freaks
  • the ’em’ or the ‘damn you if you position with pixels’ crowds
  • usability (can you say Jakob Nielsen – nice photo)
  • accessability
  • anti-table freaks
  • it must be XHTML 1.0 compliant
  • it must work on Netscape 4.0!
  • it must work on my 30″ dell as well as a 2″ Nokia!
  • A List Apart approved
  • You should using BBEdit or Textmate on a mac, otherwise you don’t ‘get it’

You get the picture. Funny thing about these groups. They are full of contradictions. Google and Yahoo break most of the rules. I mean the GOOGLE homepage uses TABLES!! I wonder. If they stopped using Google, would anyone notice?

The real steam behind the web is Photoshop or Fireworks. What do I mean? Just look at every site that looks good. They all use ant-aliased graphics and rendered NON-WEB fonts.

Yes, things have improved. CSS has made things better. However, the basic breakage and contradiction is still there. Take CSS for example. If the XML like languages are so good, why isn’t CSS in XML? 🙂

My biggest problem has been with the layout system inside HTML. I mean there have been so many times when I get surprised at what I see on the screen versus what I had in my mind. “What is that doing over there??” When you dig in, you just find a mess of inconsistency. Is it any wonder that people still use tables for a lot of things? How about inline vs. block – why doesn’t height get respected for inline? What about floats – whose idea was that?

… and then there is the whole ‘silent failure’ aspect. You receive no warning about a div that doesn’t have a width, that is floated. Things just break and you have to do the binary search on your document to figure out what went wrong. No fun.

If you want to look at a better system, check out XUL. They have eliminated a lot of the warts with HTML. Layout is simpler and easier to understand.

I will also say this. Without Javascript, this medium would have died a long time ago.

So, when HTML sucks.. it is good to have good tools. Hence, the earlier post about Firefox. Without it, this would all be way way too hard.

Posted in General | Comments Off on HTML – not so good

The x86 Jmp instruction

8086 image

I’ve been holding off on blogging about this for a while as well, and just want to get it out there.

About 6-7 months ago, I was doing some x86 thunking. As I was doing on the fly code generation, I hit a roadblock, which forced me into research mode for way too long.

The x86 didn’t have an instruction to do an immediate jump.

Essentially, I wanted a:

JMP #4C018030

I wanted it to be 5 bytes and I wanted to be done witht he project I was working on. It turned out that there is no such instruction. This is strange since they have immediate mode instructions for CALL and a few others. If they were trying to force the object code to be easily reolocatable, then they would have consistently made all IP mutators to be relative. They didn’t, so what gives?

I asked around and did a lot of research. Nobody really knows and the concern is not there. Almost all implementors do a BRANCH instruction which requires the destination addresss to be calculated.

I posted to USENET about this in June and got no real answer.

The surprising thing is that this is really a very very old instruction set (origins from the 70’s). I had serious doubts that they would eliminate an instruction that was so efficient and basic in order to force code to be position independent.

This is why I have quotes on my quotes page about the x86 instruction set. It always surprises me.

Posted in General | Comments Off on The x86 Jmp instruction