Larry Ullman's Blog, page 2
April 5, 2015
My Forthcoming Books
For those of you interested in such things, here’s an update on my forthcoming books for 2015-2016 (spoiler alert: they’re all revisions of existing books).
First up is the second edition of “The Yii Book” (self-published), for version 2 of the framework. I’m not providing an estimate of when that’ll be completed, but I’m making OK progress so far. I currently plan to release the book in three updates of about 8 chapters each.
Second, I’ll be doing the second edition of “Modern JavaScript: Develop and Design” (Peachpit Press). This is slated to be published by the end of the year (i.e., in 2015). I’ll post a revised table of contents in time, but the primary goals are to clean up anything not great in the first edition and to update/expand Part 3, Next Steps. Specifically I’m going to remove the discussion of the YUI framework (RIP), expand coverage of jQuery and jQuery-related things. Do more with the advanced material, and talk about the Node Package Manager, Grunt, and Bower.
Third and fourth, in 2016, I’ll be writing the fifth editions of “PHP for the Web: Visual QuickStart Guide” and “PHP and MySQL for Dynamic Web Sites: Visual QuickPro Guide“. I don’t know in which order I’ll be doing these, but both should be published in 2016. Both will be updated for PHP 7.
I continue to concurrently work 30-35 hours/week for Stripe (and don’t expect that to change), so I don’t imagine I’ll do much of anything else for the next two years. And then I’m never writing another book again. I’m kidding, but I’m going to need a serious break from writing by the end of 2016.
As always, thanks to everyone for your interest in what I say (er, write) and do! And, especially for reading my books!
March 29, 2015
Speaking in Frederick, MD on April 7, 2015
My presentation to the Frederick Web Tech group, in Frederick, Maryland, originally scheduled for March 3, 2015, was postponed due to nasty weather. (At least from my side, that was a good decision, as all of central Pennsylvania got covered with two inches of ice.) I’m happy to say the presentation has been rescheduled for Tuesday, April 7, 2015. The event is free, and if you’re in the greater Maryland-Washington, D.C.-Virginia-Pennsylvania-West Virginia-Delaware (why not?) area, I encourage you to come out. It’s going to be a cozy affair, with pizza and beer!
The specific presentation I’m doing is “How To Get There”, first given at the Northeast PHP 2013 conference, and revised as a keynote for php[tech] 2014 in Chicago. This is a motivational-type speech, in which I lay out the attitudes and behaviors you need in order to achieve your personal and professional goals. The official talk description is below.
The talk itself will begin around 7:00pm, and last around 45 minutes. There will be plenty of time for questions, during and after. Or you can have a beer with me later that night!
My thanks to the Frederick Web Tech group for having me!
I have a degree in English literature, with a minor in Philosophy and Religion. My only formal computer training was a Pascal class in high school. And yet, I’ve managed to become a relatively successful developer, writer, instructor, and speaker. And now I’m (quite honored to be) part of a significant start-up in Stripe. How in the world did this happen? Call it getting older, or having had varying experiences, or perhaps this is my mid-life crisis, but I’ve been reflecting upon the path I’ve taken and how I got to be where I am. I’ve come to the conclusion that success and achievement aren’t about learning X or Y technologies, but rather stem from having the right attitudes and behaviors. Whether you want to be a developer, the founder of a startup, a writer, or whatever, in this presentation, I’ll explain what I think you need to know and do to get to where you hope to be.
February 23, 2015
Status Check on “The Yii Book” (2nd Edition)
Hey, ho! Just a quick check-in to let you know where things stand on the second edition of “The Yii Book“, for version 2 of the Yii framework. Over the past month I’ve started sequentially going through the book to update it for the new Yii version. I’ve also set targets in my mind, with my own target deadline (not sharing, because then it’s just embarrassing when the deadline sails past).
To date, I’ve updated about 90 pages, and it’s going fairly well. Rewrites are always easier than the first edition. My current plan is to do about another 60 pages and then post an update in March. I think I’ll end up doing 3-4 updates of this edition (as opposed to 11 of the first, edition, not counting two quick bug fixes). Each release will have about 150-200 updated pages.
The table of contents will probably stay the same, although I’m removing sections that are no longer applicable, updating everything for the new ways of doing things, and adding content based upon what’s new in Yii 2 and the feedback I received on the first edition.
So, again, everything is going pretty well so far. I’ll post the first update in March, with about 25-30% of the book updated.
(And at some point in time I need to update my Yii blog series for Yii 2, and make it clear on all my existing Yii posts that they use Yii 1.)
February 16, 2015
Speaking in Frederick, MD on March 3, 2015
I’m going to be speaking to the Frederick Web Tech group, in Frederick, Maryland, on Tuesday, March 3, 2015. The event is free, and if you’re in the greater Maryland-Washington, D.C.-Virginia-Pennsylvania-West Virginia-Delaware (why not?) area, I encourage you to come out. It’s going to be a cozy affair, with pizza and beer!
The specific presentation I’m doing is “How To Get There”, first given at the Northeast PHP 2013 conference, and revised as a keynote for php[tech] 2014 in Chicago. This is a motivational-type speech, in which I lay out the attitudes and behaviors you need in order to achieve your personal and professional goals. The official talk description is below.
The talk itself will begin around 7:00pm, and last around 45 minutes. There will be plenty of time for questions, during and after. Or you can have a beer with me later that night!
My thanks to the Frederick Web Tech group for having me!
I have a degree in English literature, with a minor in Philosophy and Religion. My only formal computer training was a Pascal class in high school. And yet, I’ve managed to become a relatively successful developer, writer, instructor, and speaker. And now I’m (quite honored to be) part of a significant start-up in Stripe. How in the world did this happen? Call it getting older, or having had varying experiences, or perhaps this is my mid-life crisis, but I’ve been reflecting upon the path I’ve taken and how I got to be where I am. I’ve come to the conclusion that success and achievement aren’t about learning X or Y technologies, but rather stem from having the right attitudes and behaviors. Whether you want to be a developer, the founder of a startup, a writer, or whatever, in this presentation, I’ll explain what I think you need to know and do to get to where you hope to be.
January 19, 2015
What is Larry Thinking? #75 => Freelancing, Part 2
In this edition…
About This Newsletter
What Were You Thinking? => Freelancing, Part 1
On the Web => Project Billing
On the Blog => Putting Your Current Clients First (Duh)
Q&A => How do you get clients?
What is Larry Thinking => Rethinking How You Think About Clients
Larry Ullman’s Book News => “The Yii Book” version 1 Complete!
About This Newsletter
Why…hello there! And Happy New Year! Did you ever have that feeling that nothing ever gets done ever? Certainly nothing on time…yeesh! In theory I had this newsletter ready to go out back in October or November, except for the part where I actually finish it and send it out. Sigh… But, here it is nonetheless!
This is the second of a three-part series on freelancing. In the first, I wrote about getting started freelancing. In this one, I’m focusing on working with clients. In the third, I look at the actual day-to-day of freelancing.
As always, questions, comments, and all feedback are much appreciated. If you have any specific thoughts, resources, or stories about freelancing, please let me know so I can include them in Part 3.
And thanks for your interest in what I have to say and do!
What Were You Thinking? => Freelancing, Part 1
Dave replied to my previous newsletter (thanks, Dave!), sharing his own experience as a freelance photographer. Some highlights I’ve pulled out of his thoughtful email:
Freelancing is a tough road for most.
Dave learned that being your own boss may feel good, but doesn’t always pump up the bank account.
Freelancing is a whole lot easier if you have a partner with a steady income and benefits.
Start saving for retirement as early as you can, even if it’s not much money. “That’s the one thing a lot of us who were our own bosses just didn’t feel we could do, but it was probably the most important thing to do.”
I heartedly agree with the last one, for everyone, not just freelancers!
On the Web => Project Billing
As a freelancer, you’ll need to think long and hard about how you’ll do billing. In my experience, most clients prefer per project billing, because they worry about it costing more than they expected. You might think you prefer hourly billing, because you’ll be guaranteed to be paid sufficiently.
Honestly, when I first started, I preferred hourly billing, too. Partly, because it allows you to be lazy. I don’t mean you can waste the client’s time, but you don’t have to put in the energy required to properly estimate how long a project will cost, which is what you’d need to do for per project billing. And, you don’t have to worry about being wrong on your estimate: too high, which may mean you don’t get the job, or too low, and you just hurt yourself.
But a professional knows how long a project will take and get bid on it accordingly. You do this by gaining experience, tracking how longs projects take, and becoming as efficient as you can. By doing those things you can provide bids, not hourly rates, which will make you more appealing to more clients. (Although you’ll write a change policy into the contract that allows for extra billing for alterations unreasonably beyond the project’s contracted scope.)
Then, should a client want to pay you hourly, or should that be more appropriate to the job itself (e.g., an advisory role, where you’re not doing the bulk of the work yourself), you can always bill them hourly for that.
Otherwise, the best reason to have an hourly rate is to weed out clients that can’t afford you. Seriously. My last hourly rate was $150/hour (US). This was both ridiculous (does anyone really need to charge that much for anything?) and below many market standards. But by making that rate known, I wasted no time investigating projects and clients that would always be too small/cheap for me. Well, less time anyway. A published, high hourly rate is the equivalent of a “serious projects only” sign.
That being said, when you’re first starting, you’ll want all the possible clients and projects you can get!
For more on the various ways of billing, and the pros and cons of each approach, check out “The Definitive Guide To Project Billing”.
On the Blog => Putting Your Current Clients First (Duh)
Just over a year ago, I wrote a blog post titled “Putting Your Current Clients First (Duh)”. When it comes to running a business, a lot of the discussion and effort goes towards getting new clients. Getting new clients is important, of course, especially when you’re just getting started, but I believe that many business and people don’t focus enough on the clients they already have. As happy as you are when you get a new project and client, how long is it before your eyes start to wander to that next possible job? This is natural, and certainly I’ve been guilty of it myself. But I would argue that you should put at least as much thought and effort into treating your current clients right as you put into getting new clients. In this blog post, I examine the why’s and how’s of putting your current clients first.
Q&A => How do you get clients?
Ethan asked me
Can you discuss in your next newsletter about freelancing how one would go about getting clients?
This, of course, is the million dollar question. When I first started freelancing, there were plenty of sites online where you could find work, places like Guru.com, elance, etc. I’m not sure if these still exist or which ones people are actively using today. You can also get clients from referrals from friends and relatives.
However, I think the important thing is to distinguish between how you get good clients and jobs vs how you get any client or job. If you are just starting off, and don’t have an existing client base or portfolio, I’m an ardent believer in doing away with the mentality that you should expect to be paid X for a job that’s worth X. This is just the way the world works, and is true across a range of professions. An apprentice at a job makes a fraction of what the skilled craftsman does; amateur athletes make nothing whereas professionals make millions.
When you’re just starting off, for some time, you’re effectively doing an internship. You are no one, and the quality of the projects you get to work on, and the amount you’ll get paid, will reflect that. This may sound overly harsh, but I really, truly believe that adopting this attitude will great improve your chances of freelance success in the long run. I believe this for two reasons.
First, you’re not going to get paid what you deserve at first. Period. If you take a job that I would do for, say, $5,000 (US), unless you’ve been a developer for years, with a vast portfolio and many clients, no one is going to pay you full price, even if they are willing to hire you at all.
Second, it’s infinitely easier to convince someone to pay you under market value, or nothing at all, than it is to convince them to pay you market value.
This may all sound extreme, but I truly believe it’s the way to go. In fact, I could relay dozens of stories where giving away work for free turned into good, paying work. Some examples…
When I first started out, I bid on a JavaScript job at one of those online sites. It was, of course, an underpaid, undervalued project. But I needed work, experience, clients, and a portfolio, so I did the project–created the JavaScript–and included that in my bid for the work. This is JavaScript, so anyone could have then stolen it. But I got the job, because nothing demonstrates better that you can do a job than actually doing the job. I took a risk on that, and didn’t make much money, but I had that client for 12 years! (I stopped having clients last year when I joined Stripe.)
Someone I met at last year’s Northeast PHP in Boston did a CMS web project for a local newspaper for free, and then got hired as their webmaster.
Oodles of people that work on open source projects get good, paying projects when companies want to use that open source project and need an expert.
At least two people I work with on Support at Stripe got hired after spending some time helping out others for free in the Stripe chatrooms.
So, to get clients (when you’re just starting up), I recommend:
You put yourself out there, make yourself visible in as many ways as possible.
Work for much less money than you’d prefer (or do some types of work for free).
Do each job really, really well.
I mention this last idea, which should go without thinking, because each client is more than just a client, as I’m about to explain.
What is Larry Thinking? => Rethinking How You Think About Clients
One thing I truly believe you need to do in order to freelance successfully is rethink how you think about clients. Many people equate clients with money. A new client means new money. More clients mean more money. This is a myopic perspective, as there’s much more value to a client than just the money they’ll pay you for the job. If you change how you view clients, you’ll be more successful and less frustrated in the long run.
Before getting into what clients represent beyond money, I’ll acknowledge that, yes, a client should mean more money. Let’s not deny that. And that is a good thing. But particularly early on, a client won’t mean much money. And some clients, particularly ones that are underpaying you (ironically), won’t pay, or won’t pay in full. It happens; it happened to me (two clients, probably to a total of $3500). No contract, no matter how good, can prevent this from happening. And, if it does happen to you, it just sucks. No other way of looking at that side of things. But if you only focus on the money, you’re missing out on what you did get…
First, a client means you’ll gain experience. Especially when you’re just starting out, this is invaluable. The only way to learn and improve is to gain experience, and there are limits as to how much experience you can gain from coming up with your own ideas. Certainly that doesn’t teach how to interact with clients!
Second, a client means you’ll build a portfolio. Again, if you’re just starting out, a portfolio is immensely important, and a portfolio of your own ideas is of trivial worth, whereas a portfolio of live, complete projects for clients is fantastic.
Third, a client is a marketing tool. A client you did well by, that is. If you do a project well, on time and to the client’s satisfaction, that client will inevitably tell other people about you, getting you more clients. Not only are these clients marketing tools for you, but they’re marketing that you do no extra work performing, or spend no extra money on. This means that, in truth, the amount you get paid on a job isn’t just the figure for that job, but also the other jobs that come in through referrals.
Fourth, and finally, a client is a potential future client. Again, if you do well by them. Especially when it comes to web sites, rare is the client that only has a single site or a single idea. Even if they have just one site, they’ll need additional functionality, or a complete overhaul, in years to come. If you do your job right, you’ll get that additional work with very little extra effort on your part. I started freelancing in 1999. Two clients that I started working with in 2000–2001 were still clients of mine when I stopped freelancing last year. For one client, I worked on three separate projects; for the other client, I probably worked on maybe 6, and he referred me to 2–3 others.
As you can see, your relationship with a client goes far beyond doing this project for this amount of money. If the job goes poorly, at the very least you’re gaining experience. But if the job goes well, you’ve gained experience, added to your portfolio, earned a new recommendation, and have possible future projects in store. Money is great–and certainly helps to pay the bills–but there’s so much more that each and every client and job offers you. If you remember that, and always do right by your clients, you’ll be less frustrated with the annoyances (e.g., not being paid well) and much more successful building up your business in the long run.
Larry Ullman’s Book News => “The Yii Book” version 1 Complete!
I am very pleased, and elated, and relieved (mostly relieved) to say that the first edition (i.e., for Yii 1) of “The Yii Book” is finally, finally, finally! done. I posted it just before the end of the year. I’m going to skip the obligatory–and deserved–“OMG I’m sorry it took so long” and get onto the “What’s next?”.
First, this edition of the book, for version 1 of the Yii framework, is now officially in maintenance mode. I’ll only do another release in the 1.x series to fix errors. And I’ll probably be hesitant to do that.
There are a number of little things that I have to do with the book, such as tinker with the formatting, add additional content or explanation in certain areas, and so forth. Things that I didn’t like and want to change, or that you didn’t like and want me to change. All of those are being added to the second edition’s TODO list. (I actually have a running TODO list for it.)
Second, I’m going to start working on the second edition of the book, for Yii 2, soon. I’m not going to make any promises or predictions as to how long that will take; I’m no good at that. It is a priority, I’ll do it as quickly as I can, and that’s all I’ll commit to.
But I will say that revisions are far, far, far less work than the first edition, so there’s no way it’ll take 2 years. I’d like to think it’ll take less than 6 months, but I said I wasn’t going to make a prediction.
As promised, all updates on “The Yii Book”, including the second edition for Yii 2, will be free to anyone that has purchased an edition until December 31, 2016. That will cover the Yii 2 edition, changes and error fixes on that edition, and any bonus content I ever decide to create. I’m not promising that I will create bonus content, but if I do, it’ll be free to existing customers.
Third, in terms of the general plan, I don’t know whether I’m going to release the second edition all at once or in pieces. If I do it in pieces, at most it’ll be the four parts. I’ll probably see how long it takes me to do the first part and then make a decision.
January 13, 2015
“The Yii Book” Now at larry.pub!
About a week later than I would have liked, I’m happy to say that “The Yii Book” now has a new home at larry.pub. If you’re an existing customer, your existing account information should work there. If you have any problems at all, please let me know.
There are two reasons I created larry.pub. One is that I had, once upon a time, imagined self-publishing multiple books. Towards that end, I’d need one website for them all, a LeanPub for Larry! Right now, it’ll be years before I write a new book again, but when and if I do, I’ll certainly self-publish, and so larry.pub will come in handy at that time. For now, larry.pub is just for “The Yii Book”.
The second reason is rather incidental and basically comes down to the need, right now, to decouple “The Yii Book” subdomain from larryullman.com.
Although I changed the template for the new site, none of the functionality has changed, so there shouldn’t be any problems. But…
Also, I’ve somehow managed to use a non-Twitter Bootstrap template that looks like Twitter Bootstrap. Yay, me!
Okay, that’s it! Do let me know if you encounter any problems at all. Now that this is done, I’m going back to writing.
December 22, 2014
“The Yii Book”, complete version 1, done! (Finally!)
Why…Hello! I am very pleased, and elated, and relieved (mostly relieved) to say that the first edition (i.e., for Yii 1) of “The Yii Book” is finally, finally, finally! done. I posted it earlier today. I’m going to skip the obligatory–and deserved–“OMG I’m sorry it took so long” and get onto the “What’s next?”.
First, this edition of the book, for version 1 of the Yii framework, is now officially in maintenance mode. I’ll only do another release in the 1.x series to fix errors. And I’ll probably be hesitant to do that.
There are a number of little things that I have to do with the book, such as tinker with the formatting, add additional content or explanation in certain areas, and so forth. Things that I didn’t like and want to change, or that you didn’t like and want me to change. All of those are being added to the second edition’s TODO list. (I actually have a running TODO list for it.)
Second, I’m going to start working on the second edition of the book, for Yii 2, immediately after the holidays. I’m not going to make any promises or predictions as to how long that will take; I’m no good at that. It is a priority, I’ll do it as quickly as I can, and that’s all I’ll commit to.
But I will say that revisions are far, far, far less work than the first edition, so there’s no way it’ll take 2 years. I’d like to think it’ll take less than 6 months, but I said I wasn’t going to make a prediction.
As promised, all updates on “The Yii Book”, including the second edition for Yii 2, will be free to anyone that has purchased an edition until December 31, 2016. That will cover the Yii 2 edition, changes and error fixes on that edition, and any bonus content I ever decide to create. I’m not promising that I will create bonus content, but if I do, it’ll be free to existing customers.
Third, in terms of the general plan, I don’t know whether I’m going to release the second edition all at once or in pieces. If I do it in pieces, at most it’ll be the four parts. I’ll probably see how long it takes me to do the first part and then make a decision.
Anything else? No, I think that’s it. I’m so relieved it’s done. So much work! I’ll blog about the experience later. In the meantime, I’m off to working on the second edition! After the holidays…
Happy Holidays to those of you celebrating holidays this time of year!
Larry
December 1, 2014
Git for Technical Writers
I was fairly slow to adopt Git (having been raised on other version control tools), but, needless to say and like most of us, it’s now a daily component of my work flow. And certainly using Git myself is a much different beast than using Git in a massive organization with hundreds of engineers all working from the same code base. Which is to say: there’s still plenty of room for my Git skills to grow.
Recently, though, I’ve come to appreciate another value of Git, which hadn’t previously crossed my mind or been written about elsewhere (such that I’ve seen):
Git is a valuable tool for technical writers.
One interpretation of that sentence is that you can use Git to manage revisions to a document. Sure. That’s completely logical and not surprising. But I’ve found something more nuanced in my Git usage as a technical writer.
Frequently, and especially in books, an example script or site will be built up over the course of a chapter or several chapters. This approach is a great way to solidify and build upon existing skills, quickly convey new ideas, and to walk the reader through a natural-like development flow.
This common approach has two implicit problems, however. First, if the reader doesn’t go through the material sequentially, or carefully, they may be confused when they encounter a later version of the code that doesn’t match that which they’re building off of in the current step. Second, if in version 3 of the script, you realize you need to add an HTML tag to version 1, it’s easy to miss also making that change for versions 2 and 4, leaving you with an inconsistency in the material. (This is where most of my printing errors have arisen.)
Git can solve both of these problems.
By mapping evolutions of code to Git commits, you’ll have an obvious record of what changes you made when. Thus, when you go to explain the next sequence of changes (e.g., in the book), you only have to look at the relevant commit (or, more appropriately, series of commits). Further, you can, if need be, rewrite the commit history and squash your commits to make it look like certain changes were put in place earlier or in a more organized manner.
Taking this a step further, if you put your code into GitHub (or any public repository), with the commit history, your readers can then use the diffs to track the changes you made, and the changes they’re supposed to make, in order to see what the full code should look like at specific stages. At the end of Chapter 1, the code would look like so; in Chapter 5, these edits were made; and so on.
It’s a total win. The only caveat to this approach (that I’ve discovered thus far) is that the commits themselves can end up being ham-fisted: less focused and atomic than commits would ordinarily be for strictly programming purposes.
So this may not be all that revolutionary of an idea, but it’s one I’m going to keep playing with for a while. It all recently came to light for me when working on the two example chapters of “The Yii Book“. When I write an entire sample chapter, my approach is to develop all the code first, and then write out the chapter itself, explaining the steps I took to get to the final product. Because I wanted to put the two Yii examples into GitHub anyway (at some point), it made sense to use Git from the onset. Although my commits were too big and ungraceful, they demonstrate the steps I took to convert a standard Yii application site shell to a CMS/blog or an e-commerce store. Then, when I went to write the chapters–I just finished Chapter 22 and am about to start writing Chapter 23, I just walked through my commit history to explain the steps I took. Thanks to Git and GitHub, I can see every change I made in every script for each task. I didn’t have to worry about missing something, and when readers read the book and look at the code, they can easily get quick “before and after” snapshots of the application.
[image error]November 18, 2014
“The Yii Book”, Code for Chapters 22 & 23
Chapters 22 and 23 of “The Yii Book” are example chapters, in which I don’t cover new material but rather put together previous material in a more complete context. These example chapters have been popular in my other books, so I thought I’d include two in this book. The specific examples I came up with are:
A blog/CMS example
An e-commerce site
The blog (Chapter 22) is a more complete version of what was commonly used as an example throughout the entire book. For the e-commerce example, I came up with the idea of selling books (imagine that!).
When I write such chapters for my books, what I do is create the entire code base first, and then write up the explanations. Doing it this way makes a lot of sense, as I’ll undoubtedly change things back and forth as I develop the project, so it’s best to start with a complete (ish) work. The writing itself then takes surprisingly little time.
I’ve completed the code for both examples, and only have the writing left. This means the final first edition of the book should be complete within days. Because people have been asking for the code, and to provide what I can as soon as I can, I posted the code for both chapters on GitHub (see the links above).
Again, to be clear, I’m in the process of writing up these chapters now, and that won’t take long; I just wanted to make the code available immediately.
Both GitHub repositories have README files that talk about the examples a bit more. Neither is intended to be complete complete complete. Rather, both work through the heart of the application, demonstrating many techniques you’d use on real world sites. In the actual chapters to come, I’ll explain the steps I took, the decisions I made, and how you might improve these examples.
Some of you may want to just look at the code (if you’re curious), others may want to use some of it (feel free!), others may want to wait a few days until the corresponding chapters are done. Whatever works best for you, I thought I’d make the code available now.
After I complete the first edition of the book, I’ll write the second edition (for Yii 2), and I’ll update these examples to be installable application templates using Composer, which is how application skeletons are created in Yii 2.
As always, thanks for joining me on this interesting, but WAY too long, ride.
October 21, 2014
Much Ado About Yii
Without much formality (aside from the Shakespeare), I’d like to share four bits of Yii-related news:
The Release of Yii 2
Progress on “The Yii Book”
Looking ahead to “The Yii 2 Book” (aka, the second edition)
An online Yii 2 presentation I’m doing this Thursday, October 23, 2014 for Nomad PHP
First, and most importantly, in case you missed it, Yii 2 was released on October 12th. This took a lot of work from a number of people, and is very exciting. Yii 2 is a great update for an already excellent framework.
As for “The Yii Book“, there were three chapters left that were not covered in the last release (version 0.9 of the book). I’ve since finished Chapter 24, “Shipping Your Project”. Just a couple of days ago, I finished the code for Chapter 22, which is a fairly complete CMS/blog example. Basically it fleshes out the example that was used frequently in the book. I still have to write up an explanation of the code and development steps, but that’s a fairly minor thing to do (coming up with the examples, code, and plan for what you’ll write about in a chapter is the hardest part). In the meantime, I’ve posted that code to GitHub, and you can download it there.
I’ll do the same for Chapter 23, which is the e-commerce example: write the code first, share it on GitHub, and then write the actual chapter. I just yesterday figured out what my example is going to be, which is great to finally get to. I’ll talk about that separately.
So…the immediate plan for completing the first edition of the book:
Write out code for Chapter 23.
Share that code.
Write out Chapters 22 & 23 (explaining the code).
Publish the complete 1.0 version of “The Yii Book”.
Then, I start on the Yii 2 version! Originally my plan was to update the entire book for Yii 2 and publish it all at once. (Again, this will be a free update for anyone that purchased the book already.) I may still do that, but it’ll depend upon how long it takes. Rewrites are always much, much faster than the first edition, so it absolutely won’t take me 2 years! (Ugh, so sorry about that!) Nothing is written in stone right now, but if it looks like I can update the entire book in one fell swoop, and have that done by, say, February 2015, I’ll probably go that route. If that doesn’t seem feasible, I’ll probably release the revision in 4-6 chapter blocks.
I’m going to start putting more of my public code into GitHub, and will do that for the examples in “The Yii 2 Book”, too. I may start by updating the code examples from Chapters 22 & 23 first, just to give a great perspective on the differences between the two versions.
Finally, this Thursday, October 23, 2014, I’m giving an online presentation on Yii 2 for Nomad PHP, titled “Faster Web Development with Yii Framework 2”. In this presentation, I’ll be introducing the Yii framework in general, and version 2 in particular. Click the “Faster Web Development with Yii Framework 2″ link for an introduction to the presentation. This is a paid event, put on by Nomad PHP, but the cost is only $15, for either live attendance or a video afterwards.
Larry Ullman's Blog
- Larry Ullman's profile
- 14 followers

