- Delphi for Linux is soon to be here. We’ve unleashed the Beta Bloggers, so keep an eye out for more information coming from any number of sources.
- Thanks to all of you who have bought my new book, Dependency Injection in Delphi. I’m grateful for all the support. My wife is working on the cover for the paperback edition, and it should be available soon.
- I’ve had a job change – I’m moving from being the Director of Product Management to the Director of Engineering. Instead of managing the Product itself, I’ll be managing the actual development process for all the Embarcadero products, as well a couple of other Idera tools. It’s a bit of a switch, but one I’m looking forward to. Managing the development process is no small task, but I feel up to the challenge.
- I’ve always said that if I could teach new developers one thing, it would be to “program to an abstraction, not to an implementation”. I was at a great talk on Code Reviews by Travis Laborde at a recent Philly Code Camp, and he said that that most important thing to teach a new developer was the Single Responsibility Principle. I thought that was a worthy competitor. What do you think is the most important thing to teach to a new developer?
- The Starter Version of Delphi is currently 100% off. I.e. Free as in beer.
- “The proper use of comments is to compensate for our failure to express ourselves in code.” – Uncle Bob Martin
- I continue working hard on my materials for Delphi Developer Days. If you haven’t signed up yet, do it. I’m really looking forward to seeing you all there.
- I’m really looking forward to attending TechBash 2016 at the end of the month here in the Poconos in Pennsylvania. Not only will there be a great lineup of speakers and a great venue, there will be some old friends there that I’m looking forward to seeing again. It’s nice to have a world-class event like this so close to where I live – it’s so close that I’m driving, as well as taking advantage of the water park. 🙂
- And while we are on the topic of conferences, I’ll be at Philly CodeCamp this year as well, on October 21-22. It’s at the Microsoft Malvern office. Friday is a pay-for-it all day session, where Saturday is hour long talks and is totally free. If you are in the area, you should go. It’s always been very good, and they give away a lot of prizes.
- The new book is drawing closer. I know I keep saying that, but I only so because it is true. It will finish sooner rather than later. As always, you can sign up to be kept abreast of things.
- 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?
- 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.
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.
Want to buy both of my books in electronic form? Well now you can get a deal on it – The Coding in Delphi Bundle. Buy the bundle and save $15!
As always, I’m very grateful to the Delphi community for all your support.
- My friends David Millington and Roman Yankovsky have teamed up to offer a Christmas time special. You can buy both of their tools for the price of Fix Insight. What are those tools? Well, David’s tool is Navigator – a powerful, easy to use way to navigate your code. Roman’s tool is Fix Insight – a static code analysis tool. Right now, you can get both for the price of Fix Insight – that’s a $40 in savings. I can vouch for both tools as being very useful and of high quality. Don’t miss this good chance to get two excellent tools at a low price. (While you are at David’s website, be sure to download the excellent and free Bookmarks plugin. And did you know that he has some open source items available as well?)
- ‘Tis the season for Delphi updates. Of course, Delphi 10 Seattle Update 1 is out. It even includes a few new features. It is available for all people on Update Subscription. (For those of you complaining about this, I hate to say it, but you were given plenty of warning and opportunities to get on board.) Dr. Bob reports on two hot fixes that are also available.
- It looks like I’m going to be speaking in Denmark in April at DAPUG’s annual conference. I have spoken twice before, and have always enjoyed my trips there, and the fine hospitality provided by Jens Fudge and his family. I’m looking forward to speaking there again. Not 100% sure what the topics will be yet, but I promise it will be interesting.
- I had a great time at EKON 19 – you should attend next year no matter where you are in the world – and the thing I enjoyed the most was my three hour seminar on Dependency Injection. I covered Dependency Injection in Coding in Delphi, but things have changed in the mean time, and there have been additions to the Spring for Delphi framework that make things even more powerful and capable. So much so, in fact, that I’ve decided to write a book entitled Dependency Injection in Delphi. It will very likely be shorter than my other two books, and I think to start I’ll sell it as an ebook only (MOBI, ePub, and PDF) on Leanpub. It will, however, go into Dependency Injection much more in depth than my two chapters in Coding in Delphi. In any event, you can follow this link and sign up for updates about the book and let me know how much you think I should charge for it. There’s absolutely no time table on this – as you saw above, I have a lot of preparation to do for DAPUG – but I will be working on it. I’ll go with “it will be available later this year”. Again, I’m humbled and grateful by all the people who have bought my books.
My deal with Embarcadero has expired, so More Coding in Delphi is now available for sale in electronic form.
That makes a total of four ways to buy my two books:
- You can buy More Coding in Delphi in paperback or electronic form
- You can still get Coding in Delphi in paperback or electronic form.
Both books are also available on Amazon.
Both books have been more successful than I could have hoped for, and I’m very grateful to all of you that have purchased. I hope you are pleased with it.
I hope most of you have heard by now, but my second book is out and it is called “More Coding in Delphi”. It’s a book very similar in nature to my first book (Coding in Delphi, which is still very much for sale) in that it covers coding techniques for Delphi Developers.
You can get the book for free if you own Delphi XE8. If you don’t yet own Delphi XE8, I suggest you upgrade, get the great product, and then get both my and Marco’s new book as well – both for free. It’s a win all around. Sorry, but the only way to get the ebook is to be a Delphi XE8 owner. Well, I shouldn’t say sorry; as I said – it’s a win for everyone to own XE8.
If you want a paperback copy of More Coding in Delphi, you can buy it from CreateSpace. You can also buy it on Amazon, but you’ll be doing me a favor if you buy it from CreateSpace – my royalty is markedly bigger there. CreateSpace is owned by Amazon if that makes a difference, and you’ll get the exact same book either way.
Here’s the Table of Contents of the main body of the book:
- Six Things Before We Start
- Writing SOLID Code
- Factory Pattern
- Observer Pattern
- Adapter Pattern
- Decorator Pattern
- Command Pattern
- Operator Overloading
- Multi-Threading and Parallelism Overview
- Using TThread
- The Parallel Programming Library
- Parallel For Loops
- Interception and Aspect-oriented Programming
- A History and Review of TSmiley
In addition, here are also Appendices about Duck Typing and “Things Nick Does When He Codes”.
More Coding in Delphi was a lot of work, but well worth it. It’s quite satisfying to complete a book.
I hope you like it.
- Number 10 with a bullet!
- As you may have noticed on my LinkedIn Profile, I am once again an employee at Gateway Ticketing. This time around, I am a Senior Software Developer, meaning I am full-time Delphi Developer. I’m delighted to be back in the new beautiful building that Gateway has built. I’m also pleased to have shaved an hour off of my commute each way. I enjoyed my time at Veeva Systems, but the prospect of returning to Gateway and reducing my commute was just too much to resist.
- Why did Borland fail? Danny Thorpe gave an answer on Quora, and it is being discussed on Hacker News.
- The inestimable Julian Bucknall has released is well-known EZDSL data structure library at GitHub. Thanks, Julian!
- Book Update: As many of you know, I’m working on a new book called, naturally, “More Coding in Delphi” and I thought I’d give you an update on it. The whole book is written, and it’s going to be a little longer than “Coding in Delphi”. It’s now in that really hard stage where you have to read it and read it and update it and change the demos and fix things and do all the millions of little things that it takes to finish things up. In other words it’s in the “The last 20% takes 80% of the time” mode. But don’t worry, as I type this I’m sitting at Burger King getting ready to plow into things and “git ‘er done”.
- Wallace and Gromit run on Delphi.
- I of course want you to buy my book, but I have been doing research for my next book and am thus reading sections of Delphi XE2 Foundations. I can’t recommend this book enough. It’s a tour de force for Delphi and the RTL. I know how hard it is to write a book, and I can’t imagine how much work this one took. It’s excellent, and I highly recommend it (after you buy my book, of course….). Don’t be put off by “XE2” in the title, this is a great book for all Delphi developers. Kudos to Chris Rolliston.
- I’ve never really gotten into Quora, but it seems like a pretty cool site which has somehow managed to produce quality questions and answers without all the spam and other nonsense that often attends such a site. Here’s a Quora question about Delphi that many of you might like to answer and/or read about.
- Yesterday, I tweeted the following: “Of all the types of reviews out there, the ‘I couldn’t understand it so it must really suck, 1 star’ reviews are my favorite.” In researching my book, I’ve been re-reading Dependency Injection in .NET
by Mark Seemann. I looked up the book on Amazon, and was astonished to find that someone had given this amazing and enlightening book a 1-star review. Some people, I swear. This review is more along the lines of what the book deserves.
- Correction: Apparently, it was Borland C++ 3.0 that was the big box with the handle. Thanks for the correction from Jeroen Pluimers, who also found a picture. (You have to scroll down a bit, but it’s there…)
- A Clarification: Two points to make on my last post about subscriptions. First, it wasn’t about EMBT, but rather the software industry in general. Second, the point wasn’t “Software subscriptions are great!”, but rather “The industry is moving to subscriptions, and here’s why”. Many folks seemed to believe I was arguing the former. Perhaps I was just inarticulate. Sorry for any confusion.
To help celebrate #DelphiWeek and 20 years of continuous innovation, my book, Coding in Delphi, is $10 off for the next week. Just use the link below to receive the discount:
- Last week I sang the praises of Stefan Glienke. Well, he has done it again. He’s released TestInsight – an IDE integration for unit testing. This is really cool – you can run your tests automatically right in the IDE. Give it a look – very, very nice stuff. Plus, it works with all the major unit testing frameworks.
- Tweet and Quote of the Week: “As long as managers think programmers are young interchangeable pizza-fed cheaply hired commodities, buggy software will rule the world.”
- Glad to see that this website is still alive and kicking: http://www.isdelphidead.com/ Hehe.
- Work on my new book continues apace. I’ve just started showing chapters to my “beta testers”. I’m grateful for all the feedback I get. If you are interested in reading rough drafts of my chapters, you can join the Coding in Delphi group. It’s a private group, so I’ll have to approve your entry, but that’s usually not a problem. I welcome and am grateful for any help in making the book better.
- Next week is Delphi Week. You can register to participate. Hard to believe it’s been twenty years. Seriously? Great that the product is still rolling along as strong as ever. I’ll have few thoughts, tweets, and other things to offer as we celebrate. Keep an eye on this space and the #delphiweek hashtag, as well as the presentations from Embarcadero. Should be fun.
- Jim McKeeth does a nice interview with Darren Kosinski, who is a member of the FireMonkey R&D team. Darren is a friend of mine from my days at Embarcadero and a good guy as well as a brilliant developer. Give it a listen.
- In my post about my new book, I mentioned that I thought my outline was a little thin, and indeed it was. I left out a large topic about which I planned on writing – “Writing SOLID Code”. Add that in, and things seem a bit more fleshed out. The silly thing was that I was working on that chapter when I put together the outline and wrote the blog post. Anyway, the outline has been updated and all is well. Thanks again for the support. If you want to keep up with the book’s progress, help out answering my silly questions, and generally be supportive, you can sign up at the LeanPub site, or you can join the Google Group.
- Here’s some food for thought for my post about not using nil – The Null Object Pattern. Yet another reason never to return nil. Instead of doing that, you can return a null object that won’t cause an access violation and yet won’t do anything. You can check if the object is a null object if you need to. Win all around.
- So the rumors were true – Embarcadero has bought the main products of TwoDesk Software. Jacob Thurman has stated that while he’s not now an Embarcadero employee, he will be working on the Delphi IDE. I guess it’s none of our business exactly what the relationship will be, but if Jacob is working to improve what the IDE can do with code and to improve developer productivity in the Code Editor, I’m very happy. I know that Jacob has had a lot of things that he wanted to do, but found it difficult as an “outsider”. Now that he’s an “insider”, I hope he can do them. I think we’ll see some fun stuff coming out of this deal. Congratulations to Jacob, who I hope was well remunerated, and to Embarcadero for the wisdom to see and acquire Jacob’s skills.
- True words tweeted by me: “There are two things that developers love to do: Make pronouncements, and point out the exceptions to other developers’ pronouncements.” I like to make pronouncements as you’ve probably noted. I’m always trying to learn new things and new ways of doing things, and I don’t want to be held back by the “well, we’ve always done it that way” way of thinking. I believe that the way software is developed is evolving and improving, and that we’ve found new ways of doing things better. I try to learn those things and blog about them. That’s what I’m trying to do here. If you disagree with what I say, I welcome your comments. But I ask you to consider that maybe I’m actually on to something. I’d encourage you to take the same path I have – the path of learning these new things that developers are finding and doing. For instance, I don’t ever intend on writing another Delphi application without utilizing MVVM. But ten years ago, such a thought would have occurred to almost no Delphi developer. I encourage you to study the SOLID principles, to read Clean Code, to find better ways to decouple your code, and to generally seek out new thinking about software development. I’m a firm believer that there is always a better way, and I encourage you to think so as well.
First of all, I want to once again thank all of you who have purchased, read, or otherwise supported my book Coding in Delphi. I’ve said it before and I’ll say it again — the response has been overwhelming and humbling. The book has been more successful than I could have ever hoped for.
It’s so successful, in fact, that I’ve decided to write another one – More Coding in Delphi. I am once again using the LeanPub publishing platform. LeanPub is really an interesting tool – it makes it really, really easy to produce a book. Highly recommended. You write the book in Markdown, and they take that and turn it into PDF, MOBI, and ePUB files for you. Easy as pie. I’ve been using MarkdownPad for writing the book. It does a nice job of helping you write Markdown text.
By default, LeanPub uses DropBox. First, I granted LeanPub access to a shared folder on Dropbox. Then, when I go to publish a preview or the real thing, LeanPub looks in that folder for a file called “Book.txt” which describes the format of the book by pointing to *.md files. It then accesses those files in the shared folder and creates the book.
This time around, though, they’ve added a new feature where you store the book in GitHub and they pull from the repository to get the files for the book. Cool. When the book is ready for proofing by any of you interested in doing so, you’ll get access to the manuscript by pulling it from the private repository on Github. So if you want to help out, you’ll need to brush up on your Git. It also means that I get the benefits of a DVCS, and you guys can make pull requests if you have improvements for me.
Right now, the outline for More Coding in Delphi is currently:
- Four Thoughts on Coding Before We Start
- Encapsulation, CQS, Postrel’s Law, Compostion over Inheritance
- Duck Typing
- Aspect-oriented Programming
- Design Patterns
- Observer Pattern
- Adapter Pattern
- Decorator Pattern
- Another Pattern to be named later
- Another Pattern to be named later
- Parallel Programming
That feels a little thin to me right now, so I am seeking more topics. If you want to suggest anything, I’m all ears — either comment here on this post, or join the Google Community for the book. Remember the philosophy of the book, though – it’s all about the code. I’ll write about code frameworks, RTL type stuff, etc., but I don’t want too many screen shots of forms in the book. There will be some in the MVVM chapter, but the idea is that the book covers code and how to write good code. That’s what I want to focus on. I’m also open to turning “Four Things” into five or six or seven things, so if you have small topics – a page or two, not enough for a full chapter — I’d love to hear those as well.
Okay, so now the real work begins. It’s a lot of work to write a book. My hope is to have the book published by the end of this year. I know that I can’t do it without your help – you guys made the first book possible. Again, I’m grateful to all you readers and supporters.