Domain: sitepoint.com
Stories and comments across the archive that link to sitepoint.com.
Comments · 162
-
Re:Google
Google's usefulness aside, I like having a dead-tree reference sitting on my shelf for ease of use.
However, in this case I think the best part of this whole review is the link to the SitePoint CSS Reference website.
That website is a useful tool all by itself! -
Re:Based on my complete lack of experience...Web logging software "Web logging" is probably not the best alternative to "blogging".
-
There are ways to employ designers cheaply
As a 'Createch' (designer who codes/coder who designs) and having personal experience of trying to sort out the visual mess most geeks create when they have a go (in the same way that geeks have to sort out the code mess when designers have a go), I'd definitely suggest using a designer to conjure something up for you.
This needn't be too expensive. If the people who hold the purse strings in your company can give you a small budget to play with (you could justify this by explaining that it's not cost effective for you to be spending hours trying to get this right when you've far more important jobs to be working on), you could try running a competition on sitepoint.com.
You just give them a brief (with examples of current company logo/stationery if you wish) and let the competition run - the winning designer gets the booty and you get a whole raft of ideas (quite often some very good designs) to run with. You can ask them to modify elements of the design and develop ideas further as the comp runs (ie: choices of colours/fonts/graphical styles). Be thorough in your brief though - it's easy for someone to misinterpret what you mean if you're a bit vague.
I know many companies who've benefitted from this system if they're on a tight budget, and many of the designers are just looking for a bit of extra cash on the side to supplement the day job so don't mind giving you an hour or two of their free time for the opportunity.
Hope that helps...
-
Re:Good book
I second this. This is a really good book that gives practical advice for people just like you and me. Check it out over at the publisher's site.
-
Try this book
http://www.sitepoint.com/launch/471cbb
The book is called the principles of beautiful web design. What makes this book awesome is that it was made for a programmer, wanting to design a nice looking site. Almost all books are the other way around!
Read and learn away - I know the book helped me a lot, and is a bit of a godly tome for me now. -
Re:This seems desperate...How to properly sniff for a version of Gecko It still uses script. What happens when, in order to work around user agent deficiencies, the server has to change the HTML before the user agent executes script? How to feature sniff instead of browser sniff This page still recommends browser sniffing if different browsers diverge from the spec in different ways. Case in point: clientX and clientY.
-
Re:This seems desperate...
-
Hmm... I suppose that's OK
However, are they going to open source Lotus Notes? It seems not.
This leads me to ask when are they going to fix their crappy HTML renderer in their Notes mail client? It must have the most braindead, broken, bizarre HTML renderer in the business. Why, their are whole cottage industries around on how to work on it's crudulousness. -
Hmm... I suppose that's OK
However, are they going to open source Lotus Notes? It seems not.
This leads me to ask when are they going to fix their crappy HTML renderer in their Notes mail client? It must have the most braindead, broken, bizarre HTML renderer in the business. Why, their are whole cottage industries around on how to work on it's crudulousness. -
SSI for the Geocities/Angelfire crowd?So you can have one html file for your content, then include another html file with your sites header/footer/etc without having to resort to server side scripting. There is no advantage to doing this client side. Other than that ad-supported hosting plans have not handled server-side includes well? Sitepoint covered this fairly well already: http://www.sitepoint.com/blogs/2004/04/04/dont-use-client-side-includes/ From the page: "good quality hosting with all the frills for a moderately trafficed site shouldn't set you back more than five or ten dollars a month." But a lot of 14- to 17-year-old self-publishers have no way of paying any price greater than zero, which is what ad-supported hosting costs the publisher.
-
Re:First thoughtsSo you can have one html file for your content, then include another html file with your sites header/footer/etc without having to resort to server side scripting. There is no advantage to doing this client side. This is just adding more unnecessary client side logic anyways.
Sitepoint covered this fairly well already: http://www.sitepoint.com/blogs/2004/04/04/dont-use-client-side-includes/ -
For newbs
Judging from the TOC, this book is more suitable for newbies. The rest can surely find this stuff with Google, and a lot easier than by sifting through 542 pages(!) of basic PHP topics.
Chapter 8.9 is about a topic (CAPTCHA's) that could fill a book or 2 of its own, and what's written is likely to be considered obsolete sooner or later. IMHO text like that just isn't worth the dead tree it sits on. -
Re:Forgetting that it's Microsoft for a minute...
Apparently everyone you know is writing JS the way they learned on internet forums in 1998. Ecmascript is actually a wonderfully consistent and logical language. Once you get over a fear of prototype-based OOP, and once you quit using global variables, it's awesome. How many other languages let you extend the behaviour of the built-in data types?
As for browser incompatibilities, you're free to write your own code to abstract that away, or you could use any one of prototype.js, mootools, scriptaculous, yahoo uilibs, dojo, ajaxtk, and so on. Using a library like these is equivalent to using the C++ STL; while you *can* reimplement all of that from scratch, you're much better off using a well-supported and cross-browser library to do it.
http://www.sitepoint.com/blogs/2006/02/16/javascript-libraries-and-patterns-yahoo-does-ajax/ -
You'd be more productive using BOTH.
"I challenge you to find a hundredth as many Graphic Artists who prefer the keyboard as who prefer the mouse when either will perform a given action."
http://www.photoshopsupport.com/tutorials/jennifer /keyboard-shortcuts.html
http://www.sitepoint.com/article/photoshop-shortcu ts-glance
http://www.heathrowe.com/tuts/shortcuts.asp
http://user.fundy.net/morris/?photoshop01.shtml
http://www.zenhaiku.com/archives/useful_photoshop_ shortcuts.html
http://www.creativetechs.com/iq/photoshop_cs2_chea tsheet.html
http://www.spoono.com/photoshop/tutorials/tutorial .php?url=shortcut -
Re:The guy's an idiot.
Discounts for cash vs credit card are a violation of the merchant's agreement with the credit card company. I prefer not doing business with retailers who can't keep their written promises.
And I prefer to listen to advice from people who know what they're talking about.
All Visa/MC agreements strictly prohibit advertising a price that reflects a cash discount, and then charging a credit card surcharge on top of it. While I can't prove that this is the case for all agreement, there is nothing in some agreements to prevent offering a cash discount, which was the case with the giant-mega-corp I bought my laptop from. Here are three article on this subject I found in only minutes of searching:
http://www.creditinfocenter.com/cards/crcd_buy.sht ml
http://www.wachovia.com/corp_inst/page/0,,44_45%5E 2111,00.html
http://www.sitepoint.com/forums/showthread.php?t=3 22415 -
Re:Examples of PHP inconsistency and performance
Shot down?
Yep. They were removed from 5.0.0 beta 2 for various reasons.
-
Re:So what?
Just use Netbeans which can use VB 6 and build java apps.
Links:
http://www.theserverside.com/news/thread.tss?threa d_id=40344
http://blogs.sun.com/herbertc/entry/project_sempli ce_visual_basic_for
http://blogs.sun.com/roller/page/herbertc?entry=pr oject_semplice_visual_basic_for
http://www.sitepoint.com/blogs/2006/05/19/write-ja va-web-apps-in-visual-basic-or-javascript/
http://vbwire.com/brief.asp?9342
http://blogs.zdnet.com/Burnette/?p=107 -
Re:Dark corners?
Bad artists copy, Good artists steal. --Pablo Picasso
-
Re:__utma
searching around on google, it looks like h2=o is related to anti-popup blocker scripts
http://www.sitepoint.com/forums/showthread.php?t=3 06956
If so, then blocking cookies based on cookie name might become necessary -
A better review (w/ actual code samples)
http://www.sitepoint.com/article/javascript-libra
r y
--
Carnage Blender : Meet interesting people. Kill them. -
Correction: Flickr did open to Zooomr.
Flickr offers its corporate API to some sites, and refuses to permit it to others. Zooomr was judged to be too much of a potential competitor, so Zooomr users don't get to copy the photos they've uploaded to Flickr.
Flickr ended up, after some rough comments and self-reflection, changing their minds (see the "Update:" at the bottom of the post).
-
The reasons aren't too obvious
Chances are that if nobody understands the problems of VB, then they won't find advantages in other languages.
If your product is all front-end and database, chances are VB is actually a fine choice--that's what it was designed for.
If your product involves significant design, routines that manipulate the data rather than just display it and/or many interacting pieces implemented by multiple programmers but designed by a smaller team of architects (as you will get in a larger project), VB narrows towards completely unusable.
For one thing, when you are architecting a project, it is much easier to "Think" OO in a more pure OO language (C# / Java). It is also more simple to transfer these designs to paper and to other engineers.
Refactoring, which should be constant and ruthless, is much more difficult in VB--last time I checked, in fact, VB basically encouraged C&P through their lack of dynamic form creation and some of their constructs.
There are also programmer/programmer issues in VB, defining an abstract interface between two areas, intelligently isolating code, etc. There are actually many reasons.
The problem is that if you have a team of VB developers, they are going to be completely capable of designing a VB app in any language. Also, if you have really good, experienced OO programmers and a talented architect, you will be able to create a fine app in VB.
My real recommendation would be to get an architect--someone who can design your product out to be maintainable and expandable in any language, and let them pick the most appropriate language for you.
As an alternative, I guess I'd say don't worry about it. Although I'd never recommend VB, if management is stuck on it and all the programmers know it, it's probably your best choice. As I said, you can write crappy VB code in any language, so you might as well do it in VB.
Besides, VB isn't as dead-end as it used to be:
http://www.sitepoint.com/blogs/2006/05/19/write-ja va-web-apps-in-visual-basic-or-javascript/ -
Re:While you wait for a mirror...
The OpenLaszlo compiler is being rewritten to support the more efficient Flash 9 runtime, as well as other runtimes like DHTML/AJAX:
http://wiki.openlaszlo.org/Legals_Project
http://wiki.openlaszlo.org/Legals_Project_Plan
SWF9 Runtime Goals
http://en.wikipedia.org/wiki/OpenLaszlo
The immediate goal of the swf9 porting project is to take advantage of the performance improvements in swf9 (AVM2). The swf9 vm is 10x faster for low-level stuff, with types another 2x or so. A secondary goal is to enable access to new features of AVM2, especially where these features are or will also be supported by other runtimes (e.g., regular expressions, E4X support deferred from intial release). It is not a goal of this project to add these new features. For example, it is outside the scope of this project to add regular expressions or E4X to the OpenLaszlo platform. However, this project should leave the platform in a state where it is easier to add these features in a way that has support on at least one swf and one non-swf target.
The OpenLaszlo server is a Java servlet that compiles LZX applications into executable binaries for targeted run-time environments. OpenLaszlo currently targets the Flash Player, versions SWF6, SWF7 and SWF8. The version now in development, code-named "Legals", will also target SWF9 and traditional DHTML as deployment targets by end of 2006.
But of course Flex locks you into Flash! If not, then please tell me what other runtimes does Flex support, besides Flash? Can you compile Flex programs into DHTML that runs in the browser without Flash, the way you can do with the new version of OpenLaszlo? Will Flash ever support Microsoft Avalon, the way Laszlo plans to? Or will it ALWAYS require the Flash player, and directly expose many Flash specific features instead of abstracting them the way OpenLaszlo does?
And how did you make the conceptual leap from "more affordable pricing" to "*FREE*"? There's a world of difference between Adobe offering a free non-commercial evaluation for a product they charge a steep per-developer and per-server license for, and true Free Open Source Software like OpenLaszlo. Can you please tell me what the "big per-CPU price tag" will be, or did Adobe make you sign an NDA before telling you that?
http://labs.adobe.com/technologies/flexbuilder2/
How much will Flex Builder 2.0 cost?
Flex Builder 2.0, which includes a license for the Flex framework, will be licensed on a per seat basis, similar to other integrated development environments. Final pricing is not yet available, but Flex Builder 2.0 will be sold for less than $1000 per developer.http://www.sitepoint.com/blogs/2005/10/06/flex-20
- announced-with-more-affordable-pricing/
While the current version of Flex costs some US$12,000, Flex 2 will cost less than US$1,000 for the basic components described above. Although you're constrained to communicating with the server via XML data transfer and SOAP Web Services, you can certainly implement anything you can do with AJAX and DHTML, only with a richer GUI. What's missing from the package is the server-side component of the Flex framework, which has been split into a separate product for Flex 2: Flex Enterprise Services 2.Flex Enterprise Services 2 will come with the big per-CPU price tag, but will be significantly upgraded from the server-side facilities provided by Flex 1. The main focus of the enhanced package is the transparent availability of server-side resources (such as database records and enterprise services) within Flex applications.
-Don
-
Ok, for the record on ACID2 compliant browsers...
Was everyone asleep in the last quarter of 2005?
Apple's Safari 2.0.2, which was part of the Mac OS X 10.4.3 update (November 2, 2005, or there about) was the *FIRST* ACID2 compliant browser to ship to market.
http://www.sitepoint.com/blogs/2005/11/02/safari-w ins-the-acid2-race/
There are dozens more sites with the news, just Google it! -
Why The J2EE guy still doesn't get PHP
-
Templating systems
This one's an ABSOLUTELY MUST-READ for those who don't know what template engines are:
http://www.sitepoint.com/article/beyond-template-e ngine -
So You Want To Learn PHP5 and XML...
please visit here...
http://www.sitepoint.com/forums/showthread.php?t=3 54632
if you know some cool php5 / DOM / XML / XPath / XQuery / XSLT scripts, be sure to visit and share for all the newbs.
i have set up a few example scripts to get you started. others are more knowledgeable than i and can answer more specific question, too.
i've found learning the DOM to be a royal pita. php4 is very very different than php5. different versions of php5 behave very differently. my recommendation - get the latest and greatest php5 version. examples in the php online manual often don't work. there are undocumented capabilites.
as a trick, you will likely find more information about xml when googling "javascript xml tutorial" or "jaascript DOM tutorial" - and then you can convert the code to php5 class style. it will often work.
it is pretty cool, but it is a pita if you are swinging in the dark. too much missing or bad information. not very many examples that actually work - or examples that work with php4 or eralier versions of php5 but won't work with php5. or examples that just plain don't work!
good luck! -
Want UTF-savvy string functions for PHP?
Check out this recent article by Harry Fuecks.
From the article: "PHP UTF-8 is intended to make it possible to handle UTF-8 encoded strings in PHP, without requiring the mbstring extension (although it uses mbstring if it's available). In short, it provides versions of PHP's string functions (pretty much everything you'll find on this list), prefixed with utf_ and aware of UTF-8 encoding (that 1character >= 1 byte). It also gives you some tools to help check UTF-8 strings for "well formedness", strip bad sequences and some "ASCII helpers"." -
Ajax is not always great!
Sure, AJAX is great for certain applications and under certain conditions, but there are always a few downsides / problems. Check out the blog entry by Harry Fuecks for some links to good presentations describing the negative aspects of AJAX.
-
Would you settle for Smalltalk?From Brendan Eich's blog:
Too many of the JS/DHTML toolkits have the "you must use our APIs for everything, including how you manipulate strings" disease. Some are cool, for example TIBET, which looks a lot like Smalltalk.
From Harry Feucks' blog:
As far as I know, Tibet is the only Open Source project today which would be capable of making this happen
Would be if it were released. The tarball was taken offline during a rewrite to focus more on W3C standards support for app creation: XForms, XPath, XSLT, etc. But the Smalltalk capability has been there for years. -
Wake me up when Client/SOA hitsHarry Fuecks has an insightful article on the two kinds of AJAX "HTML++" and "Client/SOA":
HTML++
I don't think Web 2.0 is going to get really interesting until Client/SOA hits.AJAX is used to enhance existing HTML forms / user interaction but the fundamental paradigm is still the same as "normal" web applications. Some key smells of this style;
- Page reloads still happen frequently
- It's possible (if you make the effort) to degrade gracefully to non-supporting browsers / browsers with JS turned off.
- Session state still resides on the server.
In practice this is what everyone's doing right now, with varying degrees of success.
...Client / SOA...
Some of the key smells with Client / SOA;
- Page reloads are rare, if at all. The application tends to run in a single browser window.
- It's practically impossible to degrade gracefully, without maintaining seperate code bases.
- Session state is largely handled by the client.
- Javascript and the browser are acting as a runtime in the same sense as the Java or
.NET runtime. - It's going to require specialist developers
-
Re:back/forward
Hm, not with Firefox 1.5 - the "FastBack" feature was added and works great
-
Re:PatentHawk charges $125/hour
I realize this is a post on a user forum and hardly authoritative, but it was the best I could find on short notice to respond to the 'nitwit' belittlement.
I was unkind, and your response was levelheaded. Let me back off. Here's the deal:- Apple gave Xerox a $1 million block of pre-IPO stock in return for the rights to visit PARC, without an NDA, and take notes. Xerox showed them everything openly and happily. Keep in mind this is well before software patents etc. http://www.woz.org/letters/pirates/12.html, http://www.sitepoint.com/article/real-history-gui
/ 5 http://www.smalltalk.org/alankay.html - Apple subsequently hired half of the Alto staff.
- Xerox later sued Apple, claiming Apple was using Xerox-"copyrighted" code. The complaint wasn't so much that Apple was making money off of the code, as it was that Xerox was not able to license the code to others because the others were worried Apple would sue them. http://www.krsaborio.net/research/legal/xerox.htm
- The lawsuit was not dismissed on a "technicality" -- it was dismissed because Xerox's claims were found to be entirely unfounded. Apple wasn't using a single bit of Xerox code. Furthermore, Xerox had decided long ago not to patent the relevant technology. And the judge ruled that if other firms were worried about being sued by Apple, then it was they and not Xerox who should be suing Apple.
- Unlike the Apple-Xerox transaction, Microsoft didn't pay Apple anything.
- Apple gave Xerox a $1 million block of pre-IPO stock in return for the rights to visit PARC, without an NDA, and take notes. Xerox showed them everything openly and happily. Keep in mind this is well before software patents etc. http://www.woz.org/letters/pirates/12.html, http://www.sitepoint.com/article/real-history-gui
-
Re:Get the irony?
The first four chapters are free to read online: http://www.sitepoint.com/article/firefox-secrets
Enjoy! -
Target Audience: Your Parents & Relatives
The thing to keep in mind that the target audience for this book is not going to be a a power-user who reads Slashdot.org twice-daily and hooks up a webcam to watch the office coffee maker from their cubicle.
This is the sort of book that you put in your parents, relatives, or friends stocking to introduce them to Firefox and make it super-easy for them to get started.
- The Publisher.
http://sitepoint.com/books/firefox1/ (4 Free Sample Chapters Available).
P.S. The book includes a CDROM with Firefox, Thunderbird, and all the extensions mentioned in the title. -
Comment from the Publisher...
Hi Guys,
Thanks for all the interesting posts regarding this review.
For what it's worth, we didn't solicit this review, we didn't submit it to Slashdot.org, and we didn't expect it (was a complete surprise for us).
In terms of 3rd party validation of this review, HighRankings.com, SearchEngineWatch.com and SEOBook.com (three of the sites recommended by various posters here for SEO-advice) have all reviewed this product and said positive things about it.
A bit of healthy skepticism is good, but this really is a great product that's backed by many independent reviews from reputable 3rd party sources. We don't promote Search Engine Spam, trickery, or "black hat" techniques, and we plan on updating the kit annually to keep it current.
And about the price? It's $197 USD including express tracked shipping anywhere in the world. It's available at: http://sitepoint.com/books/sem1/ . -
Sitepoint
http://www.sitepoint.com/ is a great site for articles, blogs, books and forums. The forums are the best part. The community is great and really helpful. Definitly a worth a look.
-
Nope.
You're confusing strict/weak typing and dynamic/static typing. They are essentially orthogonal properties of a typing system. (Although the combo with static/weak doesn't make much sense). See e.g. here.
-
May I sugest a great PHP tutorial?
I learned PHP using Kevin Yanks tutorials and articles 4 years ago. His books and tutorials are very easy to understand and use. His tutorials and articles can be read on http://sitepoint.com/
-
Re:Seems like survival of the fittest.
You don't think there's an off-site copy anywhere?
The post by Aaron Nikula linked from the
/. summary doesn't seem to indicate there is one -
parent is misinformation
Frank (OSWD owner) may have been a lazy bum, but Aaron (one who did a lot of work on OSWD) does have a copy of the content of OSWD database and nothing prevents him from forking a new site. I think Aaron's previous post is deliberately misleading, as he blames Frank to be the source of problem.
It seems more likely that Aaron is holding the site in ransom until Frank agrees to transfer OSWD ownership to him. -
parent is misinformation
Frank (OSWD owner) may have been a lazy bum, but Aaron (one who did a lot of work on OSWD) does have a copy of the content of OSWD database and nothing prevents him from forking a new site. I think Aaron's previous post is deliberately misleading, as he blames Frank to be the source of problem.
It seems more likely that Aaron is holding the site in ransom until Frank agrees to transfer OSWD ownership to him. -
correction: aaron has database
Apparently, according to this announcement on oswd.org,
I was looking to relaunch tomorrow, however, upon inspection of the data on the old server, I believe Aaron "MonkeyMan" Nikula has deleted the contents of the database. After reading some of what Aaron has posted on the SitePoint Forums, I am under the impression he has made a copy of the database before deletion.
Aaron (the one who did a large amount of work) is the one holding the site ransom until Frank (the original creator of OSWD) agrees to transfer ownership of the site to him. Aaron does have the database that constitute the designs on OSWD, and nothing prevents him from forking the site. All he wants now is the ownership.
-
Clearing up some misconceptions
I know this is Slashdot, where no one bothers to read the articles, but after reading roughly 10 comments that were speculation (and completely incorrect based on the information presented in the links), I decided I had to steer the discussion back on track. Mod me down if you want.
The reason (as stated in the articles) why OSWD.org is down is because the person that started the OSWD.org site, Frank, is trying to keep control over the site, although he isn't doing the majority of the work behind mantaining the site.
Sure, OSWD.org had some hosting issues, but that's not why the site isn't back up; the (seems to me) Second in Command, Aaron, who is dedicating a lot of time and effort into maintaining the site wants to migrate the site to a new host (and has already had everthing set up), except for the content/backups, which Frank refuses to provide.
There are some controversial issues:
After OSWD.org gained some popularity in the beginnings, Frank added a "commercial venture" to the site, the 'templat e monster affiliate program', which was non-free. Aaron's concerns is that it was confusing people and because it was non-free.
I think the issue here is more of "what happens if the project leader is unwilling to provide the content (or source code) for a project, and wants to maintain it tightly within their grasp?" I know the common first reaction would be to say "Fork it!", but how can you fork if you don't have the content or source? OSWD.org (presumably) has has a lot of templates submitted, for which a second backup copy may or may not exist. // If there's already another response like this, I apologize. It took me a while to write this.
DISCLAIMER: I am not affiliated with OSWD.org, nor do I remember having visited them in the past. I may have, but all information above is from the articles linked, namely http://www.sitepoint.com/forums/showpost.php?p=226 5475&postcount=40. -
Re:Help me out here
There is nothing in PHP that discourages you from mixing logic and presentation, but there is also nothing discouraging you from separating them either. This is exactly what makes PHP great for dirty hacks and large web apps alike.
Templating is part of the solution, but so is good app design. If you don't want to mix your logic, you simply need to code it that way. Zend PHP Framework will help enforce some of the same separation as Java does, but it's not strictly necessary. You can do MVC app design without much trouble. Take a look at Sitepoint's PHP Application Design forum (http://www.sitepoint.com/forums/forumdisplay.php? f=147).
There are also Ruby on Rails-type frameworks such as CakePHP (http://www.cakephp.org./ -
Re:Zimbra's offering is very similar to Yahoo's
Zimbra is much more than just mail client. To quote a SitePoint mailing list,
"Billed as an online collaboration server with an AJAX-powered Web client, Zimbra will run on a Linux server and behave as a dedicated email, calendar, and directory server (in fact, it has Postfix, an open source email server, built in), accessible with desktop email, calendar, and address book applications like Microsoft Outlook, Mozilla Thunderbird/Sunbird, Apple Mail/iCal, and others.
"But Zimbra also provides an enhanced Web interface that works much like Gmail, except that you can extend it with your own plug-in modules to link it to other applications you use, like Skype or Google Maps.
"What we're basically talking about is an open source alternative to Microsoft Exchange, with an AJAX-powered Gmail alternative as a Web interface instead of Outlook Web Access. -
Re:rightWhat you said may be true but after reading this crap I have a new project due next week:
To move it all to PGSQL
The last thing I need is for SCO to come knocking saying their code is in my damn database. It was bad enough that they tried to steal my OS, now the data on top it isn't even safe.
So I'm being speculative if not pretentious but that doesn't change the fact that I'm serious about migration. I'm getting out while MySQL is still portable to PG.
-
Re:table of contents?
Actually at http://www.sitepoint.com/books/dhtml1/toc.php
-
Re:table of contents?
ToC is at: http://sitepoint.com/books/dhtml1/
-
Re:Free DHTML Poster with this book.
You forgot to give us a link to buy the book from the publisher and get the free reference poster. here it is.