Archive for the ‘Delphi’ Category.

Job opportunities at WideOrbit

Just thought I’d throw this one out there.  My employer, WideOrbit, is currently hiring.  We’ve got multiple development positions open for both Delphi and C#/Silverlight skillsets.  (SQL experience, especially with MS SQL Server, really helps too.)  At WideOrbit we build industry-leading software for managing broadcast media.  If you live in the USA, there’s a pretty good chance your favorite station is running on WideOrbit software, and we built it in Delphi.  (Mostly.)

Our development office is in Lynnwood, Washington, (about half an hour from Seattle,) and on-site work is preferred, though some exceptions do (infrequently) get made on a case-by-case basis.  It’s a good location, right across the street from a major mall (plenty of places to go for lunch!), with good pay and working conditions.  The office has a friendly, engineer-centric culture, and it really helps that the manager is a former coder and the boss still is one.  No pointy hair here!

Only those who know what they’re doing need apply.  The developers take an active part in the interview process, and we’ve got really high standards.  We understand that the only way to develop good software is with good developers, and we try hard to make sure that that’s all we get.  But if you’re good and you can demonstrate that you know what you’re doing, you’re likely to get an offer.

If anyone’s interested, send me a resume at mwheeler@wideorbit.com and I’ll see about getting you an interview.

RTTI Script basic examples

After a few requests for examples and an assertion in the comments that noting actually compiles or runs, I’ve updated the repository a little. Continue reading ‘RTTI Script basic examples’ »

RTTI Script alpha release

Way back at the start of this year, I wrote about how I’d been working on a new Object Pascal-based script engine built around Delphi’s extended RTTI system.  And then it got real quiet, because more immediate concerns took priority for me.  But I’ve gotten to the point in my game engine development where I really need to put in the scripting system, so I spent the last couple weeks finishing up the implementation and tuning the performance a little, and now I’ve got an alpha version ready.  If anyone would like to try it out, they can find it on Google Code.

Continue reading ‘RTTI Script alpha release’ »

A handle leak in TWinControl?

For the TURBU engine, I’ve got a custom control that allows me to embed an OpenGL rendering context on a form.  I was working on some new features, and I downloaded gDEBugger, an OpenGL debugging tool, to help out.  One of the things it told me is that my rendering contexts were leaking. Continue reading ‘A handle leak in TWinControl?’ »

Wish list: Slicing syntax

I’ve been doing a lot of string processing work lately.  Delphi has a lot of strengths, but unfortunately string manipulation really isn’t one of them.  It gets really messy really quickly if you’re trying to do anything complicated.  Extracting substrings out of strings quickly degenerates into a mess of difficult-to-read Copy calls.  It would sure be nice if there was a better way. Continue reading ‘Wish list: Slicing syntax’ »

DelphiLive keynote overview

I just got out of the DelphiLive keynote, presented by Michael Swindell and various other members.  As you can imagine, it was mostly about XE2 and demoing the new technologies, with a lot of talk about FireMonkey and using it for cross-platform development.  Here’s what really caught my notice: Continue reading ‘DelphiLive keynote overview’ »

XE2: TValue is much faster now

About a year and a half ago, I reported on how slow the original implementation of TValue in Delphi 2010 was, touching off a storm of comments and various other blog posts as other Delphi community members conducted similar experiments.  One thing that came out of it was a suggestion by Robert Love on how to improve performance by adding code to optimize for the most common cases. Continue reading ‘XE2: TValue is much faster now’ »

XE2: New Delphi, same old broken installer

Since D2009 at least, I’ve never managed to get a new Delphi release to install correctly on the first try.  Each time, it’s been the same basic problem.  Each time, I’ve contacted Embarcadero about it and asked them to fix it.  Unfortunately, they still haven’t. Continue reading ‘XE2: New Delphi, same old broken installer’ »

Odd timing

I got an email this morning from Embarcadero, a pretty straightforward marketing letter that probably everyone on SA for Delphi received.  But one thing caught my eye:

64-bit is scheduled to be released this August.

That’s not particularly unexpected, since that’s when the new releases tend to come out.  But it does confirm one thing I thought was kind of strange when I got the DelphiLive! 2011 Call For Papers email a few weeks ago. Continue reading ‘Odd timing’ »

How default settings can slow down FastMM

One of the biggest challenges in working on the TURBU engine has been minimizing load times.  Some large projects have a whole lot of data to work with, which could take the better part of a minute to load if I tried to load it all up front.  No one wants to sit and wait for that, so I’ve pared down the loading so that only the stuff that’s needed right away gets loaded from the project database right at startup.

And yet, on one of my larger test projects, that wasn’t enough.  One of the things that has to be loaded upfront was map tile data, so that the maps can draw.  Unfortunately, this project has over 200 different tilesets, and it was taking quite a while to load that much data.  I’ve got a RTTI-based deserializer that can turn dataset records into objects, but it was taking a completely unreasonable 3.3 seconds to read the tile data.

Continue reading ‘How default settings can slow down FastMM’ »