Widgets Flotsam and Jetsam

Flotsam and Jetsam #85

By Nick at September 21, 2014 04:50
Filed Under: Delphi, Flotsam and Jetsam, Software Development
  • I have been spending a lot of time with XE7 lately, mainly working on presentations for EKON18.  I’m speaking on a number of topics, and thus have been running XE7 through the paces pretty well.  Impressions so far:
      • Having Castalia as a free add-on is fantastic.  I’m currently only using about 10% of it, but I love it already and am looking forward to learning more.  You can get it absolutely free – the full edition – until 30 September as long as you are a registered XE7 owner.  Highly recommended.
      • One of the talks I’m doing is on REST services, and so I’ve been working with the Enterprise Mobility Server (EMS) in XE7.  This is a seriously very cool thing.  It makes building REST Servers as easy as falling off a log. It automatically provides support for users and groups.  You can building your own extensions as easily as building a Delphi package, and the server will scale no problem by running inside of IIS as an ISAPI extension.  It also makes it really easy to build clients to consume the services.  This is some really amazing and powerful stuff.  Seriously.  Not just mindless promotion here – this is really powerful and easy. Want to get started with it?  The documentation is terrific.
      • I know that some people get upset with me when I say this, but the IDE is really fast and stable.  I don’t know if it is just the way that I use it, but I really haven’t had any trouble with it at all.  It just works. 
      • Similar to the EMS stuff is the Backend as a Service (BaaS) support. If you want to build a mobile application that a million people will use, you can do it with the BaaS stuff via either Kinvey or Parse.  These back-ends take care of storing everything, including users, logins, data storage, and everything.  Much like the EMS Server.  So if you want a hosted solution, or want to host your own, then XE7 has you covered.
      • You can even use it to build apps for things like the new Moto 360 watch.  Cool.
      • Bottom Line:  It’s a seriously cool time to be a Delphi developer.  If you haven’t looked at XE7, do it now
  • I want to mention yet again how much I appreciate all of you who have bought my book.  The whole experience has been humbling as the sales have exceeded my wildest expectations.  Thank you.  In fact, it’s been such a good experience that I’m already thinking about writing another one.
  • I’ll be doing a Developer Skill Sprint this Tuesday on Aspect Oriented Programming with DSharp.  I’d be honored if you attend and ask questions.  These Skill Sprints have been really cool.  They are nice and short, but not too short. They happen at three times during the day, so no matter where you are, you should be able to tune in.  This is my second one, and they’ve been fun to do. 

Flotsam and Jetsam #82

By Nick at March 18, 2014 08:26
Filed Under: Delphi, Flotsam and Jetsam
  • Yay!  Flotsam and Jetsam is back!  Did you miss it?
  • Okay, some really interesting things going on with Appmethod.  Appmethod is Embarcadero’s new cross-platform development tool.  For you Delphi/RADStudio types, it appears to be a FireMonkey only IDE with some new connectivity that will be of interest only to mobile developers.  In other words, it is a new aimed squarely at new customers and not “us”.  Anyway, David I has a bunch of links on his blog, including a bunch of nice press coverage.  This new offering appears to me to be aimed squarely at the Xamarin space, as the pricing is very similar.  Should be fun to see how this plays out. 
    • As a side note – if you are a Delphi/RAD Studio person, this product is not for you, and so you need not be upset if the offering and the pricing is not to your liking.  Stick with RAD Studio and cheer on the product as Embarcadero expands into a new market.  This is a good thing – Embarcadero is branching out to reach into the very hot, growing, and important mobile development market.  This is a new, exciting entry into that nascent market.  I for one am hoping for great success for Appmethod, because that can only be good for Embarcadero and thus Delphi.  It represents a whole new revenue stream for the company, and what is good for Appmethod will be good for Delphi. 
  • Some interesting things to note that are going on with Appmethod:
    • You can report bugs not in QualityCentral, but in a public JIRA repository.  That is very interesting.
    • In addition, there appears to be a completely new Embarcadero Community website.  Appmethod is the only app represented there so far, but the rest of the products can be far away.
    • Part of the new community site are public forums. Looks like you can earn points and rank for being an active participant.  I wonder what will happen to the existing ones that support NNTP. I know many folks over there will give up their NNTP readers when you pry them from their cold, dead fingers.  Again, should be interesting.
    • Here’s the Appmethod EULA online for everyone to read.
  • Book Update: As I hope you know, my book is available two ways – in electronic form to people who purchase XE5, and in paperback form from CreateSpace and Amazon.  Many of you have purchased – more than I had hoped, in fact, and I’m really greatful.  Thanks very much, really.  It’s really an honor to have someone buy your book.  If you have purchased the book, I sure would appreciate a review on Amazon – good or bad! – as that really helps other people decide whether to buy.  Thanks to David Schwartz who was the first to do a review on Amazon.
  • Kind of lost in the shuffle a bit with Appmethod and all is the fact that Embarcadero purchased Erwin From CA Technologies. I find this to be a really interesting move, because when I was at Embarcadero, Erwin was “the enemy” – the product that ER Studio competed most strongly with.  Embarcadero now has two tools that basically do the same thing. I guess they won’t need this page and whitepaper anymoreWinking smile It will be interesting to see how that plays out. 

Flotsam and Jetsam #81

By Nick at March 01, 2013 07:36
Filed Under: Flotsam and Jetsam, Delphi
  • Embarcadero has revealed their plans for AnyDAC – and it is called FireDAC after all.  Marco blogged about it and has all the links.  Looks like all XE Enterprise developers get it as an upgrade/add-on, and Pro users can buy it for $399. 
  • I upgraded this site to  It all seems to be well, but if you notice any glitches, broken links, missing graphics, or if one of your comments got lost in the shuffle, please let me know.
  • I can cross an item off my bucket list – I was honored by a mention in the Odd Lots column of the inestimable Jeff Duntemann.  I’ve been a fan for years, and was thrilled to get the mention. 
  • One final note:  There’s going to be less content here in the coming months. I’m going to put my patterns series on hold, and pretty much everything else I can spare, in order to work on my book.  I’ll be keeping up the F&J stuff – these are pretty painless – but the heavier content stuff won’t be happening as I work on my book.  Let me know if you want to help via and stay tuned for updates, etc.  And please feel free to let me know what you think over at the LeanPub site

Flotsam and Jetsam #80

By Nick at February 22, 2013 00:04
Filed Under: Flotsam and Jetsam, Delphi
  • Despite all my slaving over a hot keyboard, bringing you a never ending supply of intellectually stimulating and hopelessly useful content, in the entire history of this website, no one has ever donated to me via PayPal.  And there is a reason for that – the stupid donate button doesn’t work.  Well, I fixed it.  Or at least I think I did. 
  • And now, you can donate Bitcoins to me as well!  Just click on that little blue button on the right that says “Donate Bitcoins”.  Hey, hope springs eternal!
  • I think by now pretty much everyone in the Delphi community knows that Embarcadero has acquired AnyDAC.  I’m pleased by that, and I think you should be, too.  Anyway, it looks like they are going to rename it “FireDAC”.  I like that name.  And according to that link, you’ll be able to download it for XE3.  Just another reason to upgrade to the latest version of RAD Studio XE3. (It appears that this page on the wiki has now been removed.  Hmmm…..)
  • Tim Anderson has an interesting article about cross-platform development and the different strategies a framework can take towards producing a user interface for each platform.  I mention it because he discusses FireMonkey in it. 
  • Jeroen pointed out this cool table that has all the Delphi compiler defines for each specific version.  Nice.

Flotsam and Jetsam #79

By Nick at February 14, 2013 06:30
Filed Under: Delphi, Flotsam and Jetsam
  • Today is Delphi’s 18th Birthday.  I'll always wear it as a badge of honor that I was there at the launch at SD ‘95 in the Moscone Center.  Quite a privilege.  Thanks to everyone who has made Delphi such a great tool to use.
  • I am signed up for the RAD Studio Mobile Preview Webinar.  Are you going to attend?
  • Colin Johnsun reports that the JVCL has migrated over to use GitHub.  I consider this good news.  While I prefer Mercurial, Git is a Distributed Version Control System, and DVCS’s are vastly superior to server based systems like SVN.  First off, they are designed to branch and merge with ease, meaning that coordinating development and contributing changes is way, way easier (the process of “pull requests” that Colin talks about).  If you aren’t using a DVCS, you don’t know what you are missing.
  • In case anyone cares, my entire tweet archive is now online here on my site.  Here’s the tweet that started it all.

Flotsam and Jetsam #78

By Nick at February 08, 2013 13:39
Filed Under: Flotsam and Jetsam

Flotsam and Jetsam #77

By Nick at February 06, 2013 07:43
Filed Under: Delphi, Flotsam and Jetsam, Tweet Expansion

Flotsam and Jetsam #76

By Nick at January 26, 2013 04:11
Filed Under: Delphi, Flotsam and Jetsam
  • There are a lot of cool things that an IDE could do, but it’s getting to the point where my one top feature for the IDE is the automatic addition of interface methods.  If I declare a class that implements a given interface, the IDE should automatically fill those in for me.  That would be really sweet.  This feature is in third place in the IDE section of Delphi’s User Voice page. Feel free to vote for it.
  • The fine folks at TMS Software are organizing a Delphi/TMS day in the Benelux region – if you are around you should go.  They  have early bird registration until 01 March 2013.
  • Embarcadero has announced the coming of Delphi for iOS.  I’m not an iOS guy – I’m waiting for the Android stuff.  I don’t have an Apple device at all, and you need one to develop on.  (There’s no iOS emulator or simulator for Windows – everything has to run on Apple hardware/software…) so it’s not of any use to me at the present.  However, I’ll be keeping a close eye on this, as I’ll be developing for Android as soon as I can with Delphi, and I suspect I’ll eventually be wanting the results of that to run on iOS as well.  After all, that is one of the promises of FireMonkey – to have a single codebase that runs on Windows, iOS, and Android.  In any event, no one can say that Delphi isn’t alive and kicking.  The new offering includes a Delphi compiler for ARM chips, which is pretty exciting if you’ve been wanting Delphi to branch out.  And the best part is you can get early access to the beta if you buy XE3.
  • Looks like David I has something up his sleeve this year on Delphi’s birthday
  • Delphi Developer Days is back this year – with two dates in Europe and just one in the US (Chicago).  Cary has all the details.  I’ve been to a couple of the events, and they are really fun and well worth the time.  If you can make it, I strongly recommend the event.  Dr. Bob is certainly a more than able replacement for Marco.  With no Delphi Live in the future, this is really the only US conference where Delphi folks can gather.  I’d like to see them add an East Coast date in the US.  Otherwise, I’ll try to get to the Chicago event. 

Flotsam and Jetsam #75

By Nick at January 20, 2013 03:44
Filed Under: Delphi, Flotsam and Jetsam
  • Now here’s a blog after my own heart:  Sadly, it hasn’t been updated in a while, and there are only a few articles, but what is there is really good.  There are four or five articles about Dependency Injection (particularly about how it doesn’t necessarily mean using a DI Container…..) and we’d all do well to read and heed. Thanks to Stefan Glienke for pointing me to it.
  • RAD Studio won the “Top Innovator: Developer Tools” at the Developer Week Conference.  Nice thing to see.
  • I wanted to strengthen my SQL skills, so I decided to give Head First SQL a try.  It was my first foray into the world of the Head First Series, and I was pleasantly surprised. I wasn’t quite sure what to expect, but what I got was a great review/tutorial on SQL.  The examples were simple but to the point, the style a touch irreverent but enjoyable, and I actually did, and learned from, the exercises.  Now I’m working on Head First Design Patterns which so far is the same: excellent, interesting, and attention-holding. I do believe that I'll seek out Head First titles in the future if I want to learn something new.
  • I’d like to put in another plug for the Google Plus Delphi Developers Community.  We’ve been having a lot of fun over there – or at least I have, maybe the rest of the folks are sick of me.  Winking smile  In any event, please stop by and participate. 
  • Shameless Plug of the WeekSign up for Sprint cell phone service.

Flotsam and Jetsam #74

By Nick at January 13, 2013 12:56
Filed Under: Delphi, Flotsam and Jetsam
  • A while back I wrote a “How Not To Code” about not using Booleans as method parameters.  This line of real-world code that I ran across today -- myMonster.Run(cSourceStateLicenseWebNew, '1', '', False, False); -- is a perfect example of why this shouldn’t be done.  Who the heck knows what those last two parameters mean?
  • Does anyone know if that is real Chinese they speak in Firefly?
  • I don’t know if this is good or bad, but apparently I’ve visited StackOverflow on 1001 distinct days.  Yikes. (Maybe more by the time you read this….)
  • This is a really nice article on attributes by Francois Piette. I’m bummed because he used the example that I was going to use in my book.  Anyone got any better ideas?
  • Okay, I did a little more research on Arduino vs. Raspberry Pi, and I think I’m going to start with the Arduino. It seems more “science project-y” whereas the Raspberry Pi seems more like a complete computer solution.  Both sound great, but I’m more interested in the “controlling something” aspect rather than the “use all that small but powerful computing power”.  I think the Arduino would provide more stuff for me to do with my kids in terms of “making it all come alive”.  That’s kind of what I’m interested in, really – the “Mr. Science” kind of stuff.  Thanks to you all for the feedback.
  • I never talk much about Lazarus/FreePascal because I don’t use it and I’m not much interested in it, but it is starting to move more to the center of my radar as apparently you can use it to program a Raspberry Pi.  In fact, our friend Jeff Duntemann has set up a Raspberry Pi as a “regular” computer, and is using Lazarus to write code for it.  Not only that, he’s working on rewriting his classic “Borland Pascal from Square One” for Free Pascal, the current version of which you can download as a PDF.  He also reports that he’s doing a book on Lazarus.  It’s always good to see activity in the world of Pascal and Delphi Programming. Now if we could just get Delphi for Arduino, I’d be in heaven.  Winking smile   
  • I for one welcome our new drone overlords.

Flotsam and Jetsam #73

By Nick at January 07, 2013 11:51
Filed Under: Flotsam and Jetsam, Delphi
  • Do you think it is safe to say that this map is a pretty good illustration and approximation of world-wide Delphi use?  It’s a map of visitors to  There are even Delphi users in Iceland! The information you get from this Google Trends search also reveals some interesting geographical information.  It seems that there are a lot of Delphi developers in Russia.  (These types of searches are complicated by the fact that Delphi is also a major auto parts company…)
  • The new year means an updated look at the TIOBE Index!  And guess what language is #1 for 2012?  C.  Not C++, C.  It’s moved past Java as the most popular language.  That’s kind of a surprise to me, anyway.  Delphi continues to hold it’s spot in the “A” language at #15.  They seemed to have combined “Delphi” and “Object Pascal”, but put “Pascal” in its own category. This makes no sense to me, but oh well.  If you combine the numbers all up, “Delphi/Object Pascal/Pascal” ends up at number 11 ahead of Ruby. Completely respectable if you ask me. Another surprising thing to me on the index is how low Javascript ranks. 
  • New Delphi Blog of the Week comes from Francois Piette
  • The Delphi Developers Community on Google Plus is quite active – if you aren’t a member, you should join up and contribute.  Maybe you’ll be the 1000th member!
  • New Delphi Components of the Week:   Chrome Tabs – It’s open source, too.  Pretty nice. 
  • Question of the Day: Arduino or Raspberry Pi?  Why?

Flotsam and Jetsam #72

By Nick at January 04, 2013 11:21
Filed Under: Delphi, Flotsam and Jetsam, Software Development
  • Am I weird?  One of the first things I do when I install Delphi is to turn off Brace Matching and Line Highlighting.  I find both of these features incredibly distracting, particularly the Brace Highlighting, which makes it impossible to see where the caret is in the text. 
  • This article by Hal Berenson should make interesting reading for Delphi folks interested in the economics of development tool vending and the business models around them.  Delphi isn’t mentioned, but it does discuss the changing business model of Visual Studio from within Microsoft and how Adobe’s tool business put pressure on MS and actually changed how they did business.  MS’s  Interesting stuff.
  • I love Twitter and try to tweet pretty frequently (I’d be honored if you followed me).  One of the fun part of tweeting is seeing the creative and interesting use of hashtags.   One current hashtag that is going around and that is of interest to us Delphi developers is #code2012.  In it, folks are putting the names of the languages that they coded in during the past year.  Someone has a nice graphic that shows the relative popularity – and Delphi isn’t doing too badly.  I just tweeted to help make that Delphi circle just a little bigger.  Winking smile
  • Holy cow, I feel like I did when Buffy ended – stunned and saddened.   Žarko Gajić is moving on from his position as the guide for About.Com Delphi.  Žarko has been doing that job for 15 years, and I’m willing to bet that his site is as common a search result as any in the community.  Well done, Žarko, and good luck in your future, Delphi-related endeavors.  And hey, the door is open – anyone willing to step into Žarko’s shoes?

Flotsam and Jetsam #71

By Nick at December 26, 2012 01:40
Filed Under: Delphi, Flotsam and Jetsam, General, Software Development
  • I’ve shamelessly tweeted it a couple of times, and I’ll promote it here as well – I’ve created a Bookstore page here containing a list of books that I think are must-reads for all developers.  What books would you add to the list?
  • Have you upgraded to Delphi XE3 yet? If you haven't, please do.
  • Okay, I need some advice:  I want to learn a functional programming language, but which one?  Clojure?  Haskell? F#?  What? 
  • I need some more advice:  I have a good working knowledge of SQL and SQL Server.  But I’m going to need to become a SQL Server 2008 expert in the coming months.  Can any of you fine people recommend the best book or other resource for going from the basics to really being a guru?  Again, I’m looking specifically at T-SQL and SQL Server itself.

Flotsam and Jetsam #70

By Nick at November 23, 2012 12:16
Filed Under: Flotsam and Jetsam, Delphi
  • Looks like Bjarne Stroustrup himself will be part of the C++ portion of CodeRage7.  That's quite a coup.
  • LeanTed now has its own URL:
  • Anyone out there know about TSynEdit?  Which is the "one true version" that I should be using?  I'm using this one: but it seems like there are/might be other better/different versions out there.  Anyone have any advice or thoughts on the matter? Also, anyone know about what encoding it uses?  Can I change/set it? I confess I can't seem to figure that out....
  • Delphi is really popular in Brazil, and Roberto Schneiders is a new blogger from that lovely country.  He's written his first post about DataSnap.  Nice.
  • Cloud storage certainly is all the rage. As far as I can tell, I have storage in the following places: DropBox, BitCasa, Google Drive, SkyDrive, Asus Cloud Storage, and Amazon.  And probably some others I can't even remember.  Here's a business idea that I'm sure has already been done because I just thought of it:  Create an app that aggregates all those different chunks of space into a single drive.  That would be cool.
  • Everyone seems worried about Best Buy -- apparently they are all doomed and everything in the face of Amazon -- but I can tell you they didn't look doomed last night at midnight.  I was awake and decided to attend their Black Friday event at my local store, which started at midnight. (I had not intention of, and did not, buy anything...) The place was an absolute mad-house.  There was a *huge* line to get in when I arrive right at 12:00a, and they had a large maze set up in the store to keep people moving in the same direction.  I didn't notice any outrageous deals, but I can tell you that a lot of merchandise was available and a lot of it went out the door.  Plus it was fun -- great people watching.

Flotsam and Jetsam #69

By Nick at November 21, 2012 10:42
Filed Under: Flotsam and Jetsam, Delphi
  • I went to Philly Code Camp 2012.2 this past weekend.  It was a valuable use of time.  I learned a lot about Javascript (it has some unusual scoping rules) and ferreting out information about changes in databases (outer joins between old and new data can be revealing....).  In addition, I learned about a really cool add-in for most of the popular text editors called Zen Coding. It's pretty slick.  It makes writing HTML and CSS much easier.  For instance, type this:  html:5>head+body>div and then hit the hotkey for your editor and you get a nice template for an HTML five document, including the <head> and <body> tags, the DOCTYPE entry, and a <div> tag inside the body tag.  You can find out more about the extensive things you can do with it by watching this video, by reading this tutorial, and by looking at this cheat sheet.  Overall, another great code camp.
  • I completely forgot that I, along with Marc Hoffman, had the honor of being on .Net Rocks.  Cool!  It was great to see Carl and Richard at the .Net Rocks tour in Philly a couple of weeks ago.  They are really great, funny, smart guys, and they do a great job making development fun.
  • LeanTed now has basic support for table and crosslinks. The feature set is actually getting close to a 1.0 release.
  • All of the CodeRage 7 talks are online and available for viewing.  You can both download them and watch them on YouTube.  I like the YouTube part.  That's cool.
  • This video on MVVM and Delphi by Malcolm Groves of EMBT Australia is a must watch video.  This is how you should be building your applications from now on.  It's really made possible by Live Bindings.   You don't necessarily have to use the exact MVVM pattern than Malcolm shows here. He notes that an MVC or MVP pattern will do much the same thing, but we all really should be separating our concerns out so that we aren't coupling our code together. 

My Book

A Pithy Quote for You

"There's a fine line between fishing and just standing on the shore like an idiot."    –  Steve Wright

Amazon Gift Cards

General Disclaimer

The views I express here are entirely my own and not necessarily those of any other rational person or organization.  However, I strongly recommend that you agree with pretty much everything I say because, well, I'm right.  Most of the time. Except when I'm not, in which case, you shouldn't agree with me.