Posts

Flotsam and Jetsam #119

  • Hey, we have a hotfix available for RAD Studio.  It can be found on Code Central.  It focuses on some issues in the tool chain.  Given that it’s a hotfix, it only replaces a few choice files and doesn’t require an uninstall/reinstall process.
  • Thanks to everyone who filled out the RAD Studio survey.  We had a very good response, and we’ll pour over the results and make decisions based on what we learn from there.  Thanks.
  • If you are an InterBase customer,  the InterBase 2017 survey is out and available. This is your chance to have your voice be heard on the InterBase front. 
  • Jason Southwell is at it again. This time he has an interesting framework called ConinAsync that makes parallel programming with data structures really easy.  Give it a look.
  • A lot of folks have been asking when my new book, Dependency Injection in Delphi, will be available in physical form.  Well, it’s available now on Amazon.  I’m grateful to all of you who buy my books.

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 #97

  • Well, the next release of Delphi must be getting close.  The Delphi Insider has information about Skill Sprints that will show some of the new features.  Mitov Software has an interesting screen shot that looks like it has some sort of multi-view for mobile apps.  Cool.  Here’s a community post on what it is – the Multi-device Preview.  The Code Sprint are showing off new features as well.  Marco has a video about EMS Notifications.  EMS is a very under-appreciated feature if you ask me. 
  • I endeavor to write clean code. I hope you do, too.  One nice measure of that the Embarcadero has given us is “Can Castalia properly parse your code?”.  I submit the following statement:  If Castalia has trouble parsing your code, then the first place you should look to solve the problem is in your code. Code that gives Castalia – which has a pretty good parser – a hard time is maybe just a touch over complicated or not well formatted.  Just a thought. Just my personal thought.
  • Yesterday I attended the Philly.Net Code Camp.  There were at least 500 people there, including a larger percentage of women than I’ve seen before – or at least it seemed that way to me.  I spent the entire day in the same room on the “Scripting” track, learning about node.js,  “this” in Javascript, more about what TypeScript is, and what is coming in ECMAScript 6.  It was a good time and I learned a lot.  These events occur twice a year, and the Philly.net crew do an amazing job putting the event together.  Did I mention that these events  are totally free?  I’ve spoken at the event in the past, mostly on non-technical topics.  I’ll try to do that for the next one.  In any event, it was a good event.  If you are in the area (people came from as far as New York), I’d recommend it. 
  • I’m plugging away on my next book.  Two areas that are giving me – ahem – “challenges” are the Parallel Library and MVVM.  Coming up with good examples leads the difficulty.  Just getting my head around all the stuff in the Parallel Library is proving difficult, I must confess.  I don’t want to do any code with Sleep in it, so finding a good example of code that take up time is hard.  MVVM is proving difficult to find a good example using LIve Bindings, and actually doing the “true” MVVM way as defined by Rob Eisenberg. I also have to get this chapter past Stefan Glienke, too. Hehe.   In any event, I promise by the time I publish, you’ll have a good solid chapter or two on those subjects that will make you smarter for reading them. 
  • As I mentioned above, I’d like to learn Typescript, mainly because you can apparently not have to learn many of the vagaries of Javascript while being able to achieve the same result.  However, Amazon seems a little thin on books. Anyone got any good resources for Typescript?  I found some good resources for node.js, the avenue that I want to approach Javascript from, but the resources on Typescript are a bit lacking. 

Flotsam and Jetsam #96

  • Quote of the Week: “In general, you should always strive to eliminate the passing of null rather than checking for null.” – John Sonmez
  • #DelphiWeek was fun.  I followed the hashtag on Twitter,  and saw all kinds of fun stuff, from people posting pictures of their old versions of Delphi (all the way back to floppies that held the very early versions of the beta.  I still have some of those –) to Ray Konopka’s Borcon buttons.  I was also honored to be interviewed for the event, talking about the early days of TSmiley and something I’m still proud of to this day – the fact that I was at the original launch event for Delphi.  It’s hard to believe that as I type this, that was twenty years ago today, but there you have it.  Delphi really is twenty years of continuous innovation, and it continues to prove worthy of that moniker. 
  • Rob Love has a really nice article on the Parallel Programming Library and using TTask properly.  Good example of how tricky parallel programming can be.  I’m working on that chapter for my new book and it is indeed a challenging topic, but one worth the effort.  Good reason to upgrade to XE7.
  • Andy Hausladen dog-fooded a new JSON parser for Delphi.  Worth a look, for sure.  I downloaded it, looked at the unit tests, and now I know how to use it.  See?  it really works that way.

Flotsam and Jetsam #90

  • I mentioned this video before, but it is so good I’m going to mention it again:  Parallel Programming Library: Create Responsive Object Pascal Apps.   Danny’s blog is in Dutch, but he has an English entry that includes the source code to his session.
  • Something I’m surprised by:  The number of questions on the Delphi StackOverflow tag that deal with integrating with Excel.  Also, tons of Indy questions.
  • This is interesting: Jon Aasenden is creating DelphiArmy – a real, no kidding jobsite for Delphi developers.  I’ll be interested to see how that goes.  It appears to be alive and running, so make an entry if you need to.
  • I’ve mentioned free this tool before, but its usefulness is so awesome that I wanted to point it out again.  It’s called “Everything”, and it allows you to search for any file by name on your entire system.  It’s lightening fast, and I use it probably twenty times a day to find things I’m looking for.  It’s one of the first things I install on a new system.  Truly outstanding and amazingly useful.  Highly recommended. 
  • While I’m at this “mentioning before” thing, I’ll give a strong endorsement to the Delphi-built Clipmate. Again, I use this thing about 25 times a day.  It’s a clipboard cache that remembers what you’ve put on the clipboard.  It’s not free – but it’s well worth the price.  Saved my butt a thousand times, too, when I overwrite something on the clipboard that I didn’t want to. 

Flotsam and Jetsam #88

  • The inestimable Malcolm Groves has a nice series going on the new Delphi Parallel Library.  Recommended reading.
  • I put a tag cloud over there on the left.  Now I just have to remember to put tags on all my posts.
  • I welcome feedback on the new blog.  As I said, my goal is to keep the blog as simple and clean as possible and the content as interesting and useful as possible.
  • I guess I should have realized that such a thing would exist, but I just found the Delphi Reddit.  Thanks to folks that post my blog entries there.
  • Another entry in the “How did I miss this?” department:  A guy named Branko Stojakovic has built a blog covering most of the Gang of Four patterns.  Maybe I did mentioned this before – I have a dim memory of it – but anyway, worth looking at and learning from either way.