I don’t think anyone can argue that technology makes many aspects of our lives simpler and more convenient, but it often brings complications with it as well, as we all know. But every once in a while, something comes along that just unambiguously makes things better. Stuff like the vaccine, electrical lights, and improved communications technology.
Add to that list just about any “convenience” gadget you can build into a car. I’ve long maintained that everything from power windows to automatic transmission is, in fact, a safety feature: anything you can get a machine to do for you while you’re driving reduces the amount of distraction you suffer while performing the task, which by definition makes you a less distracted driver and thus a safer driver. Continue reading ‘Making people’s lives better… in 4 years.’ »
StackOverflow just announced that they’re opening up yet another foreign language version of SO, this one in Japanese. They’ve already done this in Portuguese, and now it appears they’re continuing on the same path. When people point out that the “convenience” that this provides would be counterproductive in the long run as it fragments the unified knowledge base that SO has worked for years to build, the standard response is that “learning English is difficult” and this makes it easier. Continue reading ‘Programming and (human) languages’ »
Yesterday at work, while tracking down a graphical glitch, I found that TPanel objects on many, many dialog boxes in our system (over 300 of them) had a certain property set incorrectly. There are basically three ways to fix something like that: Continue reading ‘Introducing DFMJSON, the DFM parser and scriptable bulk editor’ »
So XE7 came out today. I downloaded it and installed it, curious about some of the stuff I’d heard. Continue reading ‘First look at XE7’ »
I just checked out the source to a new project. Not going to name names because what I’m discussing is a pretty universal problem. This project had dependencies on several common Delphi open-source libraries, and it had a well-designed DPROJ file that got all the paths right and everything. I opened it in XE6 and went to build… and promptly tripped over some stupid compiler error involving ANSI vs Unicode chars… and by this point, anyone who’s ever done this probably knows exactly where this is going. Continue reading ‘Dear everyone: Please stop using $IFDEF VERXXX’ »
It would not be unfair to characterize the last few Delphi releases as All Mobile, All The Time. And as cool as that is for mobile developers, those of us still working in VCL land have sort of felt like we’re getting the short end of the stick. The last time anything significant was added to the core language itself was extended RTTI in Delphi 2010 (plus extended RTTI support for array properties XE2.) So I have to admit, I was excited when my boss sent this Google+ post around to the developers this morning. Continue reading ‘Finally some language-level improvements?’ »
Looks like the Embarcadero forums are back up now. I know they’ve been down for a while, but has it really been more than a month?
I ran across a very interesting story yesterday. Apparently genetic researchers are having some real trouble with their spreadsheets: important data is being wrongly interpreted by Excel as specific data formats and ends up getting mangled irreversibly, leading to data corruption. For example, the gene identifier “2310009E13″ got converted to the floating point value “2.31E+13,” and the tumor suppressor DEC1 [Deleted in Esophageal Cancer 1] was being converted to ‘1-DEC.’ Continue reading ‘Static Typing Still Matters’ »
As you may know, those of you out there who are active on StackOverflow and other StackExchange sites, they’ve got a site called Area51 that lets people propose new sites for the StackExchange network. Proposals that get enough support get launched as beta sites, and successful betas “graduate” to full-fledged SE sites.
Since the purpose of StackExchange has been explicitly stated as not being about discussions, debates, or other “forum chat” stuff but about establishing definitive, authoritative answers to questions that can be answered definitively, I came up with a proposal yesterday that fits that mission perfectly, and would provide a sorely-needed resource in today’s world. The basic focus of the site would be “How do I cut through useless automated support and reach an actual human being at company X?” Anyone who’s ever grappled with this problem will know exactly what I’m talking about and why a site like this would be a useful resource. Continue reading ‘Reaching A Human Being’ »
I got assigned an interesting bug to fix today at work: Performing a certain operation in our program caused an enormous memory leak, producing a FastMM report file that weighed in at over 150 MB, representing a serious amount of RAM in our program. A bit of debugging made it obvious that a certain interfaced object was at the root of the problem, and it had a refcount of 1 when the program ended. I found the object that was holding a reference to it and went looking for what was holding it up… and it turned out to have a refcount of over 4700 when the program ended! Continue reading ‘Memory management: still a non-issue’ »