Flotsam and Jetsam #100

  • Well, here we are; one hundred Flotsam and Jetsam’s.  I started this series just after I left Embarcadero. Here’s a link to the very first one on July 17, 2010.  Short and sweet it was.  Took almost five years to get here to one hundred.  Thanks for hanging with me.  Here’s to another 100, eh?
  • Delphi XE8 is out. The main feature appears to be the Apple-mandated 64-bit iOS support.  It has Castalia integration as well as an interesting new tool called “GetIt” that will install a various – and presumably expanding – list of third party component sets and frameworks.  That’s pretty nice.  The Data Sheet can be found here and the Feature Matrix is here.  Give it a look.  “Support and Maintenance” is now called “Update Subscription”  which has the following interesting text in it:  “…on-going maintenance on previous versions for up to 2 years from release..”   That sounds intriguing. There is also a tool to migrate your settings  from previous versions.  I know I’ll be using that. Here’s the list of new things in XE8 – it’s pretty long.
  • SD Tmes has a review of RAD Studio XE8.  Lots of talk about IoT – “The Internet of Things’”.  And here’s the article from The Register.  My favorite quote from that article: “I ran up the RAD Studio XE8 IDE and one obvious benefit is the speed and responsiveness of the IDE compared to Visual Studio.
  • For some reason, VCL developers always seem to feel slighted by recent releases.  No reason to feel that way, though:  Marco has a nice list of things for VCL developers in XE8. I especially like the improved TField performance.

Flotsam and Jetsam #98

  • I’ve been whining about my difficulty in writing a book chapter about the Parallel Programming Library.  I’m getting the hang of it, though, and it is as cool as it’s been touted to be.  In fact, I’d venture to say that once you start using it, you’ll never really need to use TThread again.  The PPL is a nice abstraction of threading, with the notion of a TTask/ITask taking over the role of TThread.  You can pretty much parallelize anything you want with ease.  Very much worth the upgrade, if you are still on a pre-XE7 version.  And completely cross-platform – with nary an {$IFDEF} to be found. 
  • As many of you know, I work on my book at my local Burger King on Saturday and Sunday mornings.  As a result, I drink a lot of iced tea.  This is fine – I enjoy a good caffeine buzz – but the down side?  All that iced tea makes me cold, despite the fact that I have a heavy fleece jacket on most of the time.   And the iced tea in the container is warm, so you have to use a lot of ice to get it cold, because no one wants warm iced tea.  I wonder if I could give myself hypothermia.  I mean, I drink a lot of iced tea while I’m writing, and I am definitely lowering my body temperature.
  • Here’s a wish that I have for Delphi:  That the default behavior for many of the VCL components be changed to not include the caption in the initial component.  Does anyone want the TPanel caption to be anything other than blank?  Does anyone want “Memo1” in a TMemo? “Edit1” in an edit?  Maybe there was a time for that, but how tough can it be to change that and save us all the aggravation?  VCL team – make this happen!
  • I get the sense that Delphi folks don’t make use of environmental variables like they should. Am I right?  When I find a new library that I want to use, I put it in a directory called c:\code.  For instance, I have c:\code\duckduckdelphi.  Then, I create an environmental variable called “DUCK” that equals the source directory for DuckDuckDelphi.  Then I add $(DUCK) to my Delphi path.  That way, it keeps the path short and sweet and less awkward than a hard-coded path.  In team environments, this works great too, because then people don’t all have to have exactly the same directory structures.  Do others do this?  How do you guys handle your Delphi paths?

Flotsam and Jetsam #89

  • A little while ago, I wrote an article on VSoft’s command line arguments library.  Since then, I’ve discovered a couple of other solutions that might be of interest.  First is from John Kaster, TCommandParser, which has an EDN article (it’s mentioned in there, don’t worry) and a CodeCentral entryPrimož Gabrijelčič has created one that uses attributes.  And this StackOverflow question has a number of other solutions as well. 
  • Speaking of command line parameters, how about someone create a default Console Application that has command line processing built right into it.  You could go “File|New|Console Application” and have a new console application with command-line options.  Maybe there could even be a wizard to define the command line parameters that your console application would have.  Just and idea – I don’t have the time to do it right now.  🙂
  • A while back, Marco posted about the “TurboPack”, a set of open source libraries over which Embarcadero appears to be taking ownership.  I was glad to see SynEdit on that list, as I use that in an app I built, and have always found its varying versions confusing.  I hope EMBT is able to tighten that up.  Anyway, Marco now has a short video on his blog that demonstrates some of these components working.  Nothing big, just a quick look.  I think this is a good initiative on EMBT’s part, and so it would be good for those of you that agree to show support as well.  You can find links to the code on Roman Kassebaum’s blog. I guess we owe Roman a Thank You as I bet he did most of the work.
  • Clearly the focus of the last few releases of RAD Studio have been on mobile development. Some folks have complained that the VCL developer has been left behind.  It seems that EMBT has been aware of this feeling, and has been emphasizing that it isn’t true – that there have been quite a few developments for VCL developers, including REST client components (which are remarkably easy to use), app tethering, taskbar components, the Parallel Library, and more.  They also have a webinar coming up entitled “Modernize Your VCL Applications Today”.  Yes, the focus hasn’t been 100% on the VCL as in days gone by, but the VCL hasn’t been ignored by any means.  Quite the contrary.
  • Book I’m ReadingObject Thinking by David West.  The idea here is that even though we are all using OOP languages now, we are really doing procedural programming inside the world of OOP.  West discusses how we need to start thinking totally differently about our code – to think about objects.  Interesting so far – not your typical coding book.