Flotsam and Jetsam #115

  • I put up a poll on Google Plus asking what the greatest all time Delphi freeware/open source plugin/framework was.  Thought you might like to vote.
  • Work continues apace as we continue to prepare for Delphi Developer Days.  I’m happy to say that there will be six folks attending in Baltimore from my employer, Gateway Ticketing.  I’m really looking forward to seeing so many Delphi developers from all over the world.  Sign up today if you haven’t already.
  • Remember, the price for the Coding in Delphi Bundle remains at the low price of $54.99 (You can pay more if you want. <g>).   That’s a savings of just over $25 when buying both individually.  Thanks to everyone who has bought the bundle already.
  • Jason Southwell is a friend of mine and a fine contributor to the Delphi community.  His company, Ideal Software, is looking for a Senior Developer.  Sounds like a good opportunity to me.
  • Shameless Plug:  My wife is an artist and writer.  She has a fun coloring book designed for all ages called “Color the Cats”.  Give it a look.
  • My latest book, Dependency Injection in Delphi, is still in the works.  I know I said that a while ago, but it always takes 90% of the time to finish the last 10%, right?

Delphius and Basicus Find a Wall

Delphius and Basicus were walking down a path.  Delphius was a wise software developer with many years of experience.  Basicus, Delphius’ student, had some experience as well, but lacked wisdom and often made foolish errors.

As the two were walking, they came upon a wall blocking the path.  The wall was made of stone and was not high – it could be easily climbed over — and not wide, the brush on either side could be easily walked through.

“What a stupid place for a wall!” exclaimed Basicus.

Delphius considered the wall. 

“Clearly someone put this wall here on purpose,” he said.

Basicus scowled.  “Why would anyone be so dumb as to put a wall in the middle of a path?”

“At the moment I do not know,” replied Delphius.

“I say tear it down!” Basicus cried out.

“One must be very sure about tearing down a wall so carefully constructed,” replied Delphius.  He walked around the wall, through the brush, and on to the path on the other side.

Basicus reluctantly followed.

Delphi Developer Days Agenda

Hey, I’m pretty psyched to do Delphi Developer Days this year.  I always love to travel, and I always love to talk about Delphi, and getting to do both at the same time is pretty great. 

If you haven’t heard, our agenda is out.  We have a general schedule and a description of the presentations.

We’ll be presenting in:

Cary and I will be doing some of the presentations together, and we’ll also break out for separate sessions.  I’m going to be talking about Patterns in Delphi, Unit Testing, and Advanced Language Features.  We’ll also be covering the Debugger, Parallel Programming, and many other interesting topics.

In addition, Marco Cantu will be giving the keynote via Skype and will be available for questions. 

Sign up now as space is limited at each venue. You can also get the early-bird special if you sign up today.   I’d love to see you there.

Flotsam and Jetsam #114

  • Signups are open for Delphi Developer Days.  Remember, the “Very Early Bird” special price ends on August 12, so start planning now.  I love presenting and hanging out with Delphi developers, so I hope you’ll be at one of the events.  Should be a very fun time all around.  And of course, if your company wants to help sponsor the event, then please be sure to contact Cary via the website.
  • RAD Server is the latest “official” product at Embarcadero.  (It previously was known as the Enterprise Management Server and was a feature of high end Delphi SKU’s).  This is a cool tool.  It’s basically an “AppServer” to Delphi as AppServers are to Java Enterprise Beans (or at least as I understand it).  It in effect makes it pathetically easy to build REST APIs.  Microservices are all the rage, and so this is a well-timed release.  I’m definitely going to investigate it.
  • Book Update:  You can find out the basics of my new book here. You can also sign up to get email updates, and help me price it by letting me know what you’d be willing to pay.  Currently the book is being proof-read and is under technical review.  I can’t say for sure when it will be available, but it’s definitely in the “The last 10% takes 90% of the time” stage.  I just realized that I hadn’t covered attributes enough, so I’m going to have to add a section on that. 
  • I simply cannot say enough good things about CodeInsightPlus.  Here’s the one thing I will say. If you value your time even slightly, get it and install it now.
  • This blog post by Marco started an interesting discussion.  For what it’s worth, I stand on the side of proper encapsulation, after having originally been on the other side of the argument.

Delphi Developer Days 2016

I’m quite happy to announce that I’ll be part of Delphi Developer Days with Cary Jensen this year.  I’m honored to be included, as DDD has long been a successful, interesting, and educational event.  I’m joining a list of distinguished Delphi speakers who have participated in the past. I’ve been to DDD a number of times and have always come away pleased that I went, so I’m glad to be on the delivering end this time.

There will be four events this year:

  • Chicago, USA: 14-15 November 2016 Register
  • Copenhagen, Denmark: 24-25 November 2016 Register
  • Frankfurt, Germany: 28-29 November 2016 Register
  • Baltimore, USA: 5-6 December 2016 Register

The complete agenda isn’t set yet, but we’ll get that out as soon as it is ready.  There is an “Very Early Bird” discount  of 25% for folks who sign up before August 12th.

I’m really excited to do these events and so I hope that I see you there.

Book: Dependency Injection in Delphi

My new book, “Dependency Injection in Delphi” is getting close to being published.  It is a deep dive into Dependency Injection and the Spring4D DI Container. 

It’s going to be about 90 pages long or so, depending on the exact size the book ends up being.  I’ll be publishing it first as an eBook, and then soon after in hard cover. 

You can click on the link above to find out more information, including the chapter list.  Please feel free to enter your email address to be notified about it being published, etc. (You don’t even have to let me know your email address if you don’t want to).

My previous two books – Coding in Delphi and More Coding in Delphi – exceeded my expectations, and I’m very grateful to everyone who bought it.  I know I’ll appreciate the support that Dependency Injection in Delphi receives as well.  Thanks as always.

50 Things I Don’t Like

  1. Donald Trump
  2. Heavily coupled code
  3. When people think that Delphi is dead
  4. Pineapple on Pizza
  5. Mean people
  6. Rap “Music”
  7. Not having enough battery
  8. Wires
  9. The New York Yankees
  10. Restaurants that don’t have free wireless
  11. C++
  12. Waiting
  13. Hillary Clinton
  14. Kanye West
  15. Bad grammar
  16. Stop lights
  17. Lima Beans
  18. The Caps Lock key
  19. When Windows steals the focus and your keystrokes go somewhere you don’t want them to
  20. Cleaning the bathroom
  21. Whoopi Goldberg
  22. Little dogs that yap and yap and yap
  23. When people don’t mean it when they agree to a EULA
  24. Tabs in source code
  25. Cold, rainy days
  26. Meaningless variable names
  27. The Lord of the Rings books
  28. May 4th as “Star Wars Day” (Stop talking like Daffy Duck)
  29. Cancer
  30. Mowing the lawn
  31. Delphi’s ‘with’ statement
  32. Cleaning litter boxes
  33. Headphones that tangle
  34. Smugness.  I can take arrogant, but not smug.
  35. Apple
  36. Winter
  37. Software pirates
  38. Being sick
  39. Dress codes
  40. When my team loses
  41. Long meetings
  42. Cauliflower
  43. Global Variables
  44. The Green Bay Packers
  45. Being overweight
  46. Entities that oppose Uber
  47. Badly formatted code
  48. Really spicy food
  49. Cable companies
  50. When my wife is away.

Fun Code of the Day #2: Does nil have a type?

Okay, no cheating now. That is, no running the code until you’ve guessed.

What is the output of this code?

program Project90;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

  var
    S: TObject;

begin
  try
    S := nil;
    if S is TObject then
    begin
      Writeln('Yup');
    end else
    begin
      Writeln('Nope');
    end;
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.

How sure are you?

Now run it and find out. Were you right?

50 Things I Like

  1. Delphi
  2. The Delphi Community
  3. Clipmate (written in Delphi, by the way)
  4. Everything search tool
  5. NBA Basketball
  6. My Nexus 5x phone
  7. Visual Studio Code
  8. Notepad++
  9. Taylor Swift
  10. Bruce Springsteen
  11. Cream Cheese
  12. Traveling
  13. Evernote
  14. Being married
  15. Being a Dad
  16. Twitter
  17. Lonesome Dove
  18. Casablanca
  19. Taking a nap on Sunday afternoon
  20. Working at Gateway Ticketing
  21. Netflix
  22. The Spring for Delphi Framework
  23. The Delphi MVC Framework
  24. Patty Griffin
  25. Dogs
  26. Mat Kearney
  27. Cool Spring days
  28. Iced Tea
  29. Raize Components (and yes, I liked them before Embarcadero bought them.  😉 )
  30. Harry Potter
  31. Loosely coupled code
  32. The Minnesota Timberwolves
  33. The Chrome Browser
  34. Freedom
  35. Facebook
  36. Donating to open source projects
  37. Raspberry Pi
  38. Loyalty
  39. Amazon.com
  40. Butter
  41. Pickled Herring
  42. Giving presentations at conferences
  43. Writing code
  44. The Good Wife
  45. Spiderman
  46. My Roku
  47. The Caine Mutiny (The book, not the movie.  The movie was terrible)
  48. Birds of Prey – all kinds
  49. Black Panthers
  50. Wood burning stoves.

Flotsam and Jetsam #113

  • I’d like to offer my public and profuse thanks to the Danish Delphi Developers group – and most notably MVP Jens Fudge and his family – for their wonderful hospitality while I was in Denmark presenting at the DAPUG group.  I talked for two days and had a great time.  They were also kind enough to allow me to bring my 13 year old daughter along, who had a great time and a great experience.  It was my third trip there and it’s always a very, very pleasant and enjoyable time.  (Hidden secret of the conference:  The hotel is magnificent and the food – oh, the food!  — is incredible.)  Anyway, thanks very much to all involved, and again, to Jens for his always superior kindness and hospitality. 
  • I seriously think that most people don’t understand Markdown.  Markdown is supposed to be human readable and human writable.  You aren’t supposed to need a special tool to use it.  It’s so simple that you should be able to deal with it just fine in Notepad.
  • I was honored to be the MVP of the Week this week.  The best part was a chance to chat with my good friend Jim McKeeth on the Delphi Podcast.  I don’t think it is posted yet, but I’ll publish the link when it is. I appreciate all the kind words.
  • Baoquan Zuo has released a fantastic new IDE tool – CodeInsightPlus.  This thing is pure gold.  Go out and get it right now. My typing speed easily doubled with this thing, even over regular Code Insight.  My favorite feature is when you have a class named “TWidgetDatabaseProcessor” and you type “twdp” and then hit enter and it finds it and completes it.  And that just touches the surface of what it will do.  Seriously, this is really cool.   When you add this to the stuff coming from Parnassus, Source Oddity, and others, it’s a great time for the Delphi IDE. 
  • In a related matter, Delphi developer David Hoyle has released a very nice and very useful book on the IDE’s Open Tools API (OTAPI).   The best part it is actually a free PDF download.  Well worth a look.  (And David, if you want to actually publish and sell this marvelous book, please let me know. I can make that happen.)
  • Not that anyone probably cares, and not to be too much of a martyr, but I’ve quit the Delphi non-tech group.  It was just getting so tiring, and I didn’t like how it kind of made me obnoxious. I fully confess I was addicted to reading and posting there.  I decided it wasn’t a productive use of my time, and won’t be posting there anymore.  Like I said, maybe no one cares, maybe people are happy.  All I know is my blood pressure is reduced.  😉  If you want to find me, I’m active on the Delphi Developers Google Plus community.
  • Does anyone know what the hell this “Delphi Parser” thing is? Are you getting emails on it? They’ve been sending me advertising emails, and I don’t have any idea who they are or what they do.  I do know they win the prize for “The Most Expensive Delphi Tool of All Time.”  Am I missing something?
  • Have you donated to your favorite productivity tool lately?  I just made a humble donation to Test Insight.  I really like it, and so I donated.  I encourage you to do the same for your favorite tool or framework, whether it be for a Delphi tool or framework, or a general utility, or whatever.  If we all started making donations – even small ones – to those folks who make our developing and computing experiences better, well, I think that would be a good thing. Go on, do it right now.