How to Install XDebug on a new Mac (including Mojave)

Disable System Integrity Protection

  • Restart, hold down command + r to boot to recovery
  • Launch Terminal
$ csrutil disable

Install PEAR and PECL

Update PECL

$ sudo pecl channel-update

Install Homebrew

And upgrade definitions

$ brew update

Install autoconf

$ brew install autoconf

Install automake

$ brew install automake

Make php.ini file

Find out which php.ini file is being used

$ php -i | grep php.ini
Loaded Configuration File => /etc/php.ini

Create a php.ini file if needed

$ sudo cp /private/etc/php.ini.default /private/etc/php.ini

Set php_ini in PECL

Be sure to use use the correct reference to your php.ini file. If you created one, use the path to the new php.ini file.

sudo pecl config-set php_ini /etc/php.ini

Install XDebug

$ sudo pecl install xdebug

Append to php.ini

  • # get path to from the xdebug installer, if it didn’t already add it.
$ sudo nano /private/etc/php.ini

Append the following:

xdebug.remote_enable = 1
xdebug.remote_autostart = 1

Restart Apache

$ sudo apachectl restart


$ php -i | grep "Xdebug"

Enable System Integrity Protection

  • Restart, hold down command + r to boot to recovery
  • Launch Terminal
$ csrutil enable

Windows Virus… on a Mac?

My wife was given the opportunity to install a windows virus on her Mac today. Here’s what she saw:

Screen Shot 2015-06-05 at 2.59.36 PM


Here’s how we knew it was a Phishing attach:

  1. System error shows up in a browser. System errors usually don’t show up in a browser. They show up in the… system.
  2. Error in a browser alert box. This was probably architected in a way so that when the user clicks the “Okay” button to close the alert window, it gives the website permission to download a file.
  3. Windows-styled error box on a Mac. Eh-hem. A Mac will never show a Windows error window.
  4. This is a dead giveaway. In the background, a computer-generated voice was telling me I had a virus. I don’t know about you, but my computer never talks to me. Why start now?

As I stated in item #2 above, clicking the “OK” button may have initiated a download. So, I force-quit the application, and restarted.

Crisis Averted!

Spammer’s Recipe

How many of you bloggers are getting a lot of spammy comments? You know the ones – they try to sound like they actually read your blog post but it’s obvious they didn’t. And, they all leave a link to some random website. Like to a “how to plan your backyard wedding” site. Well, one of those spammers pasted their entire recipe. Using this recipe, the spammer can custom tailor any spam post.

Here it is:

{I have|I’ve} been {surfing|browsing} online more than {three|3|2|4} hours today, yet I never found any interesting article like yours.
{It’s|It is} pretty worth enough for me. {In my opinion|Personally|In my view}, if
all {webmasters|site owners|website owners|web owners} and bloggers made good content as you did, the {internet|net|web}
will be {much more|a lot more} useful than ever
I {couldn’t|could not} {resist|refrain from} commenting. {Very
well|Perfectly|Well|Exceptionally well} written!|
{I will|I’ll} {right away|immediately} {take hold of|grab|clutch|grasp|seize|snatch} your {rss|rss feed} as I {can not|can’t} {in finding|find|to find} your {email|e-mail} subscription {link|hyperlink} or
{newsletter|e-newsletter} service. Do {you have|you’ve} any?
{Please|Kindly} {allow|permit|let} me {realize|recognize|understand|recognise|know}
{so that|in order that} I {may just|may|could} subscribe.
{It is|It’s} {appropriate|perfect|the best} time to make some plans for the future and {it is|it’s} time to be happy.

{I have|I’ve} read this post and if I could I {want to|wish to|desire to} suggest you {few|some} interesting things or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write next articles referring to this article.
I {want to|wish to|desire to} read {more|even more} things about
{It is|It’s} {appropriate|perfect|the best} time to make
{a few|some} plans for {the future|the longer term|the long run} and {it
is|it’s} time to be happy. {I have|I’ve} {read|learn} this
{post|submit|publish|put up} and if I {may just|may|could} I {want to|wish to|desire to} {suggest|recommend|counsel} you {few|some} {interesting|fascinating|attention-grabbing} {things|issues} or {advice|suggestions|tips}.
{Perhaps|Maybe} you {could|can} write {next|subsequent} articles {relating to|referring to|regarding} this article.
I {want to|wish to|desire to} {read|learn} {more|even more}
{things|issues} {approximately|about} it!|
{I have|I’ve} been {surfing|browsing} {online|on-line} {more than|greater than}
{three|3} hours {these days|nowadays|today|lately|as of late}, {yet|but}
I {never|by no means} {found|discovered} any {interesting|fascinating|attention-grabbing} article like yours.
{It’s|It is} {lovely|pretty|beautiful} {worth|value|price} {enough|sufficient} for
me. {In my opinion|Personally|In my view}, if all {webmasters|site owners|website owners|web owners} and bloggers made {just right|good|excellent} {content|content
material} as {you did|you probably did}, the {internet|net|web} {will be|shall be|might be|will probably be|can be|will likely be} {much more|a lot more} {useful|helpful} than ever before.|
Ahaa, its {nice|pleasant|good|fastidious} {discussion|conversation|dialogue} {regarding|concerning|about|on the topic of} this
{article|post|piece of writing|paragraph} {here|at this place} at this {blog|weblog|webpage|website|web site}, I
have read all that, so {now|at this time} me also commenting {here|at this place}.|
I am sure this {article|post|piece of writing|paragraph} has touched
all the internet {users|people|viewers|visitors}, its really really {nice|pleasant|good|fastidious} {article|post|piece
of writing|paragraph} on building up new {blog|weblog|webpage|website|web site}.|
Wow, this {article|post|piece of writing|paragraph}
is {nice|pleasant|good|fastidious}, my {sister|younger sister}
is analyzing {such|these|these kinds of} things, {so|thus|therefore} I am
going to {tell|inform|let know|convey} her.|
{Saved as a favorite|bookmarked!!}, {I really like|I like|I love} {your
blog|your site|your web site|your website}!|
Way cool! Some {very|extremely} valid points! I appreciate you {writing this|penning this} {article|post|write-up} {and
the|and also the|plus the} rest of the {site is|website is} {also very|extremely|very|also really|really}
Hi, {I do believe|I do think} {this is an excellent|this is a great} {blog|website|web site|site}.

I stumbledupon it 😉 {I will|I am going to|I’m going to|I may} {come back|return|revisit} {once again|yet again} {since I|since i have} {bookmarked|book marked|book-marked|saved as a favorite} it.
Money and freedom {is the best|is the greatest} way to change, may you be rich and continue
to {help|guide} {other people|others}.|
Woah! I’m really {loving|enjoying|digging} the template/theme of this {site|website|blog}.

It’s simple, yet effective. A lot of times it’s
{very hard|very difficult|challenging|tough|difficult|hard} to get that “perfect balance” between {superb usability|user friendliness|usability} and {visual
appearance|visual appeal|appearance}. I must say {that you’ve|you have|you’ve} done a {awesome|amazing|very good|superb|fantastic|excellent|great} job with this.
{In addition|Additionally|Also}, the blog loads {very|extremely|super}
{fast|quick} for me on {Safari|Internet explorer|Chrome|Opera|Firefox}.
{Superb|Exceptional|Outstanding|Excellent} Blog!|
These are {really|actually|in fact|truly|genuinely} {great|enormous|impressive|wonderful|fantastic} ideas in {regarding|concerning|about|on the topic of} blogging.
You have touched some {nice|pleasant|good|fastidious} {points|factors|things} here.

Any way keep up wrinting.|
{I love|I really like|I enjoy|I like|Everyone loves} what you guys {are|are usually|tend
to be} up too. {This sort of|This type of|Such|This kind of} clever work and {exposure|coverage|reporting}!
Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve
{incorporated||added|included} you guys to {|my|our||my personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey}! Someone in my {Myspace|Facebook} group shared
this {site|website} with us so I came to {give it a look|look
it over|take a look|check it out}. I’m definitely {enjoying|loving} the information. I’m {book-marking|bookmarking} and will be tweeting this
to my followers! {Terrific|Wonderful|Great|Fantastic|Outstanding|Exceptional|Superb|Excellent} blog and {wonderful|terrific|brilliant|amazing|great|excellent|fantastic|outstanding|superb} {style and design|design and
{I love|I really like|I enjoy|I like|Everyone loves} what you guys
{are|are usually|tend to be} up too. {This sort
of|This type of|Such|This kind of} clever work and {exposure|coverage|reporting}!

Keep up the {superb|terrific|very good|great|good|awesome|fantastic|excellent|amazing|wonderful} works guys I’ve {incorporated|added|included} you guys to {|my|our|my personal|my own} blogroll.|
{Howdy|Hi there|Hey there|Hi|Hello|Hey} would you
mind {stating|sharing} which blog platform you’re {working with|using}?
I’m {looking|planning|going} to start my own blog {in the near future|soon} but I’m
having a {tough|difficult|hard} time {making a decision|selecting|choosing|deciding}
between BlogEngine/Wordpress/B2evolution and Drupal.

The reason I ask is because your {design and style|design|layout} seems different then most blogs and I’m looking for
something {completely unique|unique}.
P.S {My apologies|Apologies|Sorry} for {getting|being} off-topic but I
had to ask!|
{Howdy|Hi there|Hi|Hey there|Hello|Hey} would you mind
letting me know which {webhost|hosting company|web host} you’re {utilizing|working with|using}?
I’ve loaded your blog in 3 {completely different|different} {internet browsers|web browsers|browsers}
and I must say this blog loads a lot {quicker|faster} then most.
Can you {suggest|recommend} a good {internet hosting|web hosting|hosting} provider at a {honest|reasonable|fair} price?
{Thanks a lot|Kudos|Cheers|Thank you|Many thanks|Thanks}, I appreciate it!|
{I love|I really like|I like|Everyone loves} it {when people|when individuals|when folks|whenever people}
{come together|get together} and share {opinions|thoughts|views|ideas}.
Great {blog|website|site}, {keep it up|continue the good work|stick with it}!|
Thank you for the {auspicious|good} writeup. It in fact was a
amusement account it. Look advanced to {far|more} added agreeable from you!
{By the way|However}, how {can|could} we communicate?|
{Howdy|Hi there|Hey there|Hello|Hey} just wanted to give you
a quick heads up. The {text|words} in your {content|post|article} seem to be running off the screen in {Ie|Internet explorer|Chrome|Firefox|Safari|Opera}.
I’m not sure if this is a {format|formatting} issue or something to do with {web browser|internet browser|browser} compatibility but I {thought|figured} I’d post to let you know.
The {style and design|design and style|layout|design} look great though!

Hope you get the {problem|issue} {solved|resolved|fixed} soon. {Kudos|Cheers|Many thanks|Thanks}|
This is a topic {that is|that’s|which is} {close to|near
to} my heart… {Cheers|Many thanks|Best wishes|Take care|Thank you}!

{Where|Exactly where} are your contact details though?|
It’s very {easy|simple|trouble-free|straightforward|effortless} to find out any {topic|matter} on {net|web} as compared to {books|textbooks}, as
I found this {article|post|piece of writing|paragraph} at this {website|web site|site|web page}.|
Does your {site|website|blog} have a contact page?
I’m having {a tough time|problems|trouble} locating
it but, I’d like to {send|shoot} you an {e-mail|email}.
I’ve got some {creative ideas|recommendations|suggestions|ideas} for
your blog you might be interested in hearing. Either way, great {site|website|blog} and I look forward to seeing it
{develop|improve|expand|grow} over time.|
{Hola|Hey there|Hi|Hello|Greetings}! I’ve been {following|reading} your {site|web site|website|weblog|blog}
for {a long time|a while|some time} now and finally got the {bravery|courage} to go
ahead and give you a shout out from {New Caney|Kingwood|Huffman|Porter|Houston|Dallas|Austin|Lubbock|Humble|Atascocita} {Tx|Texas}!
Just wanted to {tell you|mention|say} keep up the {fantastic|excellent|great|good} {job|work}!|
Greetings from {Idaho|Carolina|Ohio|Colorado|Florida|Los angeles|California}!
I’m {bored to tears|bored to death|bored} at work
so I decided to {check out|browse} your {site|website|blog} on my iphone during lunch break.

I {enjoy|really like|love} the {knowledge|info|information} you {present|provide} here and can’t wait to take a look when I
get home. I’m {shocked|amazed|surprised} at how {quick|fast} your blog loaded
on my {mobile|cell phone|phone} .. I’m not even using WIFI, just 3G ..
{Anyhow|Anyways}, {awesome|amazing|very good|superb|good|wonderful|fantastic|excellent|great} {site|blog}!|
Its {like you|such as you} {read|learn} my {mind|thoughts}!
You {seem|appear} {to understand|to know|to grasp} {so much|a lot} {approximately|about} this, {like
you|such as you} wrote the {book|e-book|guide|ebook|e book} in it or
something. {I think|I feel|I believe} {that you|that you simply|that you just} {could|can} do
with {some|a few} {%|p.c.|percent} to {force|pressure|drive|power} the message {house|home}
{a bit|a little bit}, {however|but} {other than|instead of} that, {this is|that is} {great|wonderful|fantastic|magnificent|excellent} blog.
{A great|An excellent|A fantastic} read. {I’ll|I will} {definitely|certainly} be back.|
I visited {multiple|many|several|various} {websites|sites|web sites|web pages|blogs} {but|except|however}
the audio {quality|feature} for audio songs {current|present|existing} at this {website|web
site|site|web page} is {really|actually|in fact|truly|genuinely} {marvelous|wonderful|excellent|fabulous|superb}.|
{Howdy|Hi there|Hi|Hello}, i read your blog {occasionally|from time to time}
and i own a similar one and i was just {wondering|curious} if you get a lot
of spam {comments|responses|feedback|remarks}?
If so how do you {prevent|reduce|stop|protect against} it, any plugin or anything you can {advise|suggest|recommend}?
I get so much lately it’s driving me {mad|insane|crazy} so any {assistance|help|support} is very much
Greetings! {Very helpful|Very useful} advice {within this|in this particular} {article|post}!
{It is the|It’s the} little changes {that make|which will make|that produce|that will make} {the biggest|the largest|the greatest|the most
important|the most significant} changes. {Thanks a lot|Thanks|Many thanks}
for sharing!|
{I really|I truly|I seriously|I absolutely} love {your blog|your site|your website}..
{Very nice|Excellent|Pleasant|Great} colors & theme. Did
you {create|develop|make|build} {this website|this site|this web site|this amazing site} yourself?
Please reply back as I’m {looking to|trying to|planning to|wanting to|hoping
to|attempting to} create {my own|my very own|my own personal} {blog|website|site}
and {would like to|want to|would love to} {know|learn|find out}
where you got this from or {what the|exactly
what the|just what the} theme {is called|is named}.

{Thanks|Many thanks|Thank you|Cheers|Appreciate it|Kudos}!|
{Hi there|Hello there|Howdy}! This {post|article|blog
post} {couldn’t|could not} be written {any better|much better}!
{Reading through|Looking at|Going through|Looking through} this
{post|article} reminds me of my previous roommate!
He {always|constantly|continually} kept {talking about|preaching about} this.
{I will|I’ll|I am going to|I most certainly will} {forward|send}
{this article|this information|this post} to him.
{Pretty sure|Fairly certain} {he will|he’ll|he’s going to} {have a
good|have a very good|have a great} read. {Thank you for|Thanks for|Many thanks for|I appreciate you for} sharing!|
{Wow|Whoa|Incredible|Amazing}! This blog looks {exactly|just} like my
old one! It’s on a {completely|entirely|totally} different {topic|subject} but it has pretty much the same {layout|page layout} and design. {Excellent|Wonderful|Great|Outstanding|Superb} choice of colors!|
{There is|There’s} {definately|certainly} {a lot to|a great deal to} {know about|learn about|find out about} this {subject|topic|issue}.
{I like|I love|I really like} {all the|all of the} points {you made|you’ve made|you have
{You made|You’ve made|You have made} some {decent|good|really good} points there.
I {looked|checked} {on the internet|on the web|on the net} {for
more info|for more information|to find out more|to learn more|for additional information} about the issue and found {most individuals|most people} will go along with your
views on {this website|this site|this web site}.|
{Hi|Hello|Hi there|What’s up}, I {log on to|check|read} your {new stuff|blogs|blog} {regularly|like every week|daily|on a regular
basis}. Your {story-telling|writing|humoristic} style is
{awesome|witty}, keep {doing what you’re doing|up the good work|it up}!|
I {simply|just} {could not|couldn’t} {leave|depart|go away} your
{site|web site|website} {prior to|before} suggesting that I {really|extremely|actually} {enjoyed|loved}
{the standard|the usual} {information|info} {a person|an individual}
{supply|provide} {for your|on your|in your|to your} {visitors|guests}?
Is {going to|gonna} be {back|again} {frequently|regularly|incessantly|steadily|ceaselessly|often|continuously} {in order
to|to} {check up on|check out|inspect|investigate cross-check} new posts|
{I wanted|I needed|I want to|I need to} to thank you for this {great|excellent|fantastic|wonderful|good|very good}
read!! I {definitely|certainly|absolutely} {enjoyed|loved} every
{little bit of|bit of} it. {I have|I’ve got|I have got} you {bookmarked|book marked|book-marked|saved as a favorite} {to check
out|to look at} new {stuff you|things you} post…|
{Hi|Hello|Hi there|What’s up}, just wanted to {mention|say|tell you}, I {enjoyed|liked|loved} this {article|post|blog
post}. It was {inspiring|funny|practical|helpful}.

Keep on posting!|
I {{leave|drop|{write|create}} a {comment|leave a response}|drop a {comment|leave a response}|{comment|leave
a response}} {each time|when|whenever} I {appreciate|like|especially enjoy} a
{post|article} on a {site|{blog|website}|site|website} or {I have|if I have} something to {add|contribute|valuable to
contribute} {to the discussion|to the conversation}. {It is|Usually it is|Usually
it’s|It’s} {a result of|triggered by|caused by} the {passion|fire|sincerness} {communicated|displayed} in the {post|article}
I {read|looked at|browsed}. And {on|after} this {post|article} My
most frightful moment | Devin Baldwin. I {{was|was actually} moved|{was|was actually} excited} enough to {drop|{leave|drop|{write|create}}|post}
a {thought|{comment|{comment|leave a response}a response}} {:
-P|:)|;)|;-)|:-)} I {do have|actually do have} {{some|a few} questions|a couple of questions|2 questions} for you {if you {don’t|do not|usually do not|tend
not to} mind|if it’s {allright|okay}}. {Is it|Could it be} {just|only|simply} me or {do|does it {seem|appear|give the impression|look|look as if|look
like} like} {some|a few} of {the|these} {comments|responses|remarks} {look|appear|come across} {like they are|as if they are|like} {coming from|written by|left by}
brain dead {people|visitors|folks|individuals}? 😛
And, if you are {posting|writing} {on|at} {other|additional} {sites|social
sites|online sites|online social sites|places}, {I’d|I would} like to {follow|keep up
with} {you|{anything|everything} {new|fresh} you have to post}.
{Could|Would} you {list|make a list} {all|every one|the complete urls} of {your|all your} {social|communal|community|public|shared} {pages|sites} like
your {twitter feed, Facebook page or linkedin profile|linkedin profile,
Facebook page or twitter feed|Facebook page, twitter feed, or linkedin profile}?|
{Hi there|Hello}, I enjoy reading {all of|through} your {article|post|article post}.
I {like|wanted} to write a little comment to support you.|
I {always|constantly|every time} spent my half an hour to read this {blog|weblog|webpage|website|web site}’s {articles|posts|articles or reviews|content} {everyday|daily|every day|all the time} along with a {cup|mug}
of coffee.|
I {always|for all time|all the time|constantly|every time} emailed this {blog|weblog|webpage|website|web site}
post page to all my {friends|associates|contacts}, {because|since|as|for the reason that} if like to
read it {then|after that|next|afterward}
my {friends|links|contacts} will too.|
My {coder|programmer|developer} is trying to {persuade|convince} me to move to .net from PHP.
I have always disliked the idea because of the {expenses|costs}.
But he’s tryiong none the less. I’ve been using {Movable-type|WordPress} on {a number of|a variety of|numerous|several|various} websites for about a year and am {nervous|anxious|worried|concerned} about switching to another platform.
I have heard {fantastic|very good|excellent|great|good} things about
Is there a way I can {transfer|import} all my wordpress {content|posts} into it?
{Any kind of|Any} help would be {really|greatly} appreciated!|
{Hello|Hi|Hello there|Hi there|Howdy|Good day}!
I could have sworn I’ve {been to|visited} {this blog|this
web site|this website|this site|your blog} before
but after {browsing through|going through|looking at} {some of the|a few of the|many of the} {posts|articles} I realized it’s new to me.

{Anyways|Anyhow|Nonetheless|Regardless}, I’m {definitely|certainly} {happy|pleased|delighted} {I found|I discovered|I came across|I stumbled upon} it and I’ll be {bookmarking|book-marking} it and checking back {frequently|regularly|often}!|
{Terrific|Great|Wonderful} {article|work}! {This is|That is}
{the type of|the kind of} {information|info} {that
are meant to|that are supposed to|that should} be shared {around the|across the} {web|internet|net}.
{Disgrace|Shame} on {the {seek|search} engines|Google} for
{now not|not|no longer} positioning this {post|submit|publish|put up} {upper|higher}!

Come on over and {talk over with|discuss with|seek advice from|visit|consult with} my {site|web site|website}
. {Thank you|Thanks} =)|
Heya {i’m|i am} for the first time here. I {came across|found} this board and I find
It {truly|really} useful & it helped me out {a lot|much}.
I hope to give something back and {help|aid} others like you {helped|aided} me.|
{Hi|Hello|Hi there|Hello there|Howdy|Greetings}, {I think|I believe|I do believe|I do think|There’s no doubt that} {your site|your website|your web site|your blog}
{might be|may be|could be|could possibly be} having {browser|internet browser|web browser} compatibility {issues|problems}.
{When I|Whenever I} {look at your|take a look at your} {website|web
site|site|blog} in Safari, it looks fine {but when|however when|however, if|however, when} opening
in {Internet Explorer|IE|I.E.}, {it has|it’s got} some overlapping issues.
{I just|I simply|I merely} wanted to {give you a|provide you
with a} quick heads up! {Other than that|Apart from that|Besides that|Aside from that}, {fantastic|wonderful|great|excellent} {blog|website|site}!|
{A person|Someone|Somebody} {necessarily|essentially}
{lend a hand|help|assist} to make {seriously|critically|significantly|severely} {articles|posts} {I would|I
might|I’d} state. {This is|That is} the {first|very first} time I frequented your {web page|website page} and {to this point|so far|thus far|up to now}?
I {amazed|surprised} with the {research|analysis} you
made to {create|make} {this actual|this particular} {post|submit|publish|put up} {incredible|amazing|extraordinary}.
{Great|Wonderful|Fantastic|Magnificent|Excellent} {task|process|activity|job}!|
Heya {i’m|i am} for {the primary|the first} time here.
I {came across|found} this board and I {in finding|find|to find} It {truly|really} {useful|helpful} & it helped me out {a lot|much}.
{I am hoping|I hope|I’m hoping} {to give|to offer|to provide|to present} {something|one
thing} {back|again} and {help|aid} others {like you|such as you} {helped|aided} me.|
{Hello|Hi|Hello there|Hi there|Howdy|Good day|Hey there}!
{I just|I simply} {would like to|want to|wish to} {give you a|offer
you a} {huge|big} thumbs up {for the|for your} {great|excellent}
{info|information} {you have|you’ve got|you have got} {here|right
here} on this post. {I will be|I’ll be|I am} {coming back
to|returning to} {your blog|your site|your website|your web site}
for more soon.|
I {always|all the time|every time} used to {read|study} {article|post|piece of
writing|paragraph} in news papers but now as I am a user of {internet|web|net} {so|thus|therefore} from now I am using net for {articles|posts|articles or reviews|content},
thanks to web.|
Your {way|method|means|mode} of {describing|explaining|telling} {everything|all|the whole thing} in this {article|post|piece
of writing|paragraph} is {really|actually|in fact|truly|genuinely} {nice|pleasant|good|fastidious}, {all|every one} {can|be able to|be capable of} {easily|without difficulty|effortlessly|simply} {understand|know|be aware
of} it, Thanks a lot.|
{Hi|Hello} there, {I found|I discovered} your {blog|website|web site|site} {by means of|via|by the use of|by way of} Google {at the same time as|whilst|even as|while} {searching for|looking for} a {similar|comparable|related} {topic|matter|subject}, your {site|web site|website} {got here|came} up, it {looks|appears|seems|seems to be|appears to
be like} {good|great}. {I have|I’ve} bookmarked it in my google bookmarks.

{Hello|Hi} there, {simply|just} {turned into|became|was|become|changed into} {aware of|alert to} your {blog|weblog} {thru|through|via} Google, {and found|and
located} that {it is|it’s} {really|truly} informative.
{I’m|I am} {gonna|going to} {watch out|be careful} for brussels.
{I will|I’ll} {appreciate|be grateful} {if you|should you|when you|in the
event you|in case you|for those who|if you happen to} {continue|proceed} this {in future}.
{A lot of|Lots of|Many|Numerous} {other folks|folks|other people|people}
{will be|shall be|might be|will probably be|can be|will
likely be} benefited {from your|out of your} writing.
{I am|I’m} curious to find out what blog {system|platform}
{you have been|you happen to be|you are|you’re} {working with|utilizing|using}?
I’m {experiencing|having} some {minor|small} security {problems|issues} with my latest {site|website|blog} and {I would|I’d} like to find something more {safe|risk-free|safeguarded|secure}.
Do you have any {solutions|suggestions|recommendations}?|
{I am|I’m} {extremely|really} impressed with your
writing skills {and also|as well as} with the layout on your {blog|weblog}.
Is this a paid theme or did you {customize|modify} it yourself?

{Either way|Anyway} keep up the {nice|excellent} quality writing,
{it’s|it is} rare to see a {nice|great} blog like this one {these days|nowadays|today}.|
{I am|I’m} {extremely|really} {inspired|impressed}
{with your|together with your|along with your} writing {talents|skills|abilities} {and also|as {smartly|well|neatly}
as} with the {layout|format|structure} {for your|on your|in your|to your} {blog|weblog}.
{Is this|Is that this} a paid {subject|topic|subject matter|theme} or did you {customize|modify} it {yourself|your self}?
{Either way|Anyway} {stay|keep} up the {nice|excellent} {quality|high quality}
writing, {it’s|it is} {rare|uncommon} {to peer|to see|to
look} a {nice|great} {blog|weblog} like this one {these
{Hi|Hello}, Neat post. {There is|There’s} {a problem|an issue} {with your|together with your|along with your} {site|web site|website} in {internet|web} explorer,
{may|might|could|would} {check|test} this? IE {still|nonetheless} is
the {marketplace|market} {leader|chief} and {a large|a good|a big|a huge} {part of|section of|component to|portion of|component
of|element of} {other folks|folks|other people|people} will {leave out|omit|miss|pass over} your
{great|wonderful|fantastic|magnificent|excellent} writing
{due to|because of} this problem.|
{I’m|I am} not sure where {you are|you’re} getting
your {info|information}, but {good|great} topic. I needs to spend some time learning {more|much more} or understanding
more. Thanks for {great|wonderful|fantastic|magnificent|excellent} {information|info} I was looking for this {information|info} for my mission.|
{Hi|Hello}, i think that i saw you visited my {blog|weblog|website|web site|site} {so|thus} i came to “return the favor”.{I am|I’m} {trying to|attempting to} find things to {improve|enhance} my {website|site|web site}!I suppose its ok to use {some of|a few of} your idea

You can stop with the rigmarole, spammers. I’m not approving your garbage.

I don’t expect this post to actually stop spammers, but I’ll edit/approve all spam posts that come through so you can see what I’m talking about. I will remove all spam links before approving.

Update: I have received two solicitations to use a spamming service. Here are the comments that I “spammed:”

spammer advertisement

How to make MAMP include your local VirtualHosts

If you, like me, like to define your own VirtualHosts, and don’t like re-defining them every time you upgrade MAMP, there’s a solution. Store your virtual hosts in a separate place, and then just include them in the MAMP httpd.conf. Since Macs have Apache built in, I store all my custom VirtualHosts in:


Edit MAMP’s apache configuration file located at:


..And append the following line at the end:

Include /private/etc/apache2/extra/httpd-vhosts.conf

Then restart MAMP, and you’re done!

JavaScript: How to set a value in a multidimensional object without eval()

I’m trying to stop using eval() in JavaScript, since it is deprecated.  Today I figured out how to update a variable that is buried in a multidimensional object without using eval(). This is useful if you have an application where you have to pass object references using strings.

Here’s the method:

function setDeepValue(obj, keys, val) {
	if(typeof keys == 'string')
		keys = keys.split('.');
	var last = keys.pop(); // get the last element off.
	for(var i in keys) {
		obj = obj[keys[i]]; // updating reference
		obj[last] = val; // set the value


Let’s say I have this object:

var one = {two: {three: 'four'}};

I can set a deep variable like this:

setDeepValue(one, 'two.three', 4);

This is the same as doing this:

one.two.three = 4;

This is made possible because objects are passed by reference, and primitive types (like strings or numbers) are passed by value.

Oh, here’s a jsfiddle for ya.

My most frightful moment

So I drug my family to the park last Monday to make an orienteering (compass) course for my scouts. I knew it wouldn’t take very long. After all, I was prepared – I had my GPS with electronic compass and my low-tech magnetic compass to get the bearing, and a measuring wheel to get foot-perfect measurements.

I was wrong on the timing. A half hour later I was half-way done, and it was bed time. We took our kids home, put them to bed, and I returned to the park.

It was getting late, but I figured I had 30 more minutes of sun, which was just the right amount to finish the course. Since I didn’t have my kids with me, I took my time to make sure I got the bearings and measurements right. The second half turned out to be quite a bit more technical than the first – 14 directions instead of  seven. The sun set, and I had two more directions to complete during twilight.

I was in the corner of the park, trying to get a bearing on a fire hydrant that was 364 feet away, behind some trees. Since I couldn’t see the hydrant from the corner, I decided to do a reverse bearing. I walked over to the fire hydrant and pointed my compass at the corner of the park. Remember the hydrant was behind some trees? Well, that didn’t help the light, and it proved to be pretty challenging to see the compass since twilight was giving up.

Here are the facts: 1. It’s dark. 2. I’m in the park. 3. Trees. 4. Measuring wheel. 5. I’m concentrating (quiet). oh, and 6. I’m wearing a black jacket.

The fire hydrant is close to a restroom, and between the hydrant and the restroom is a running path. I was facing away from the restroom, struggled to get a bearing of the corner of the park. Meanwhile, a guy and a girl ran by, then two guys. Two girls stopped at the bathroom, and the conversation went something like this:

Girl 1: “I have to go to the bathroom.”
Girl 2: “Okay, just hurry.”
1: “Come with me.”
2: “I’m not going in there.”
1: “There’s no light in here.”
2: “…”

I wasn’t ready for what came next. Perhaps it was because I was so concentrated on getting my compass’s two needles to line up with little light, or maybe I was just getting a little frustrated. But, something broke my concentration: A Blood-curdling scream. The life-threatening kind. You know, if you can’t think of any last works before your human existence ends, just expend your entire lung capacity in the loudest scream humanly possible.

I jumped. Pretty high, too. It was high enough that I let the measuring wheel fall to the ground. I let out a what-just-happened “Whoa!” and danced around a bit. As soon as I landed on the ground, I realized what the girl was screaming at. Me. Remember the facts? Yeah, I was a scary man in the bushes.

So, how do you recover from something like that? I apologized for scaring them, and offered them to use my cell phone as a flashlight in the bathroom. Girl 1 just said, “I think I can hold it.” And they left.

I then heard them explaining the scream to their friends. I only heard bits and pieces, but they described me as a dark guy in the bushes, holding a stick. Great.

I spent another 20 minutes in the park, and I didn’t see any police cars. I guess they didn’t see me as a threat after all.

Next time I’ll take a flashlight.

How To Enable Spell Check in TinyMCE

Have you been searching the interwebs for a way to add spell check into TinyMCE? There are a few plugins, but the ones I found depend on a server-side script. This is annoying because Browsers have spell check built in.

Well, it turns out, TinyMCE proactively turns off the built in browser spell check. You can re-enable it by adding the “browser_spellcheck” and “gecko_spellcheck” options, like this:

  browser_spellcheck : true,
  gecko_spellcheck: true

I’m not sure why they have two different options. They have documentation for the browser_spellcheck, but I found out about the gecko_spellcheck elsewhere. I’m assuming they are for different versions of TinyMCE.

Simple JavaScript Inheritance

I have read quite a few posts on JavaScript inheritance. They all seem quite involved, and some are very complicated to implement. I took a crack at it, and this is what I came up with.

Here are a few advantages to this simple JavaScript inheritance:

  • Simple 🙂
  • Use the same pattern to instantiate new objects.
  • Supports “private” variables, functions
  • Supports “public” (“privileged”) variables, functions
  • Support “abstract” functions (sort of)

Methodology. All I’m doing is combining objects. I wrote an “extend” method that recursively combines objects together, and use it to combine the “this” variable inside a function with another object.

First thing, include this function somewhere in your code. This is the the secret sauce, the thing that makes it all possible (There’s actually nothing special about this method. You can use pretty much any “extend” method you like, like jQuery.):

function Extend(a) {
	if(typeof a != 'object')
		return false;
	function appendRecursively(a, b) {
		if(typeof a != 'object' || typeof b != 'object')
			return false;
		for(var i in b) {
			if(appendRecursively(a[i], b[i]))
			a[i] = b[i];
		return true;
	for(var i in arguments) {
		if(i == 0)
		appendRecursively(a, arguments[i]);
	return a;

I can’t think of a better way to describe it than show you some code. Pay particular attention to the calls to “Extend” method. (See it on jsfiddle)

var Parent = function(o) {
	var self = this; // jump scope
	this.publicVariable = 'P publicVariable'; // public (privileged) variable
	var privateVariable = 'P privateVariable'; // private variable
	this.publicMethod = function() {
		output(self.publicVariable); // has access to public variables, methods
		output(privateVariable); // has access to private variables
		privateMethod(); // has access to private methods
	this.getPrivateVariable = function() {
		return privateVariable;
	var privateMethod = function() {
		output(self.publicVariable, privateVariable); // has access to public, private variables, methods.
	this.abstractMethod = function() { // this is the closest thing JavaScript has to an abstract method
		throw 'abstractMethod() is not defined';

	Extend(this, o); // simple instantiation
	return this;

// ** this is all you really need for inheritance.
var Child = function(o) {
	var child = new Parent(Extend(this, o)); // simple inheritance
	return child;

var GrandChild = function(o) {
	this.helloWorld = function(name) {
		return 'Hello, '+name+'.';
	var grandChild = new Child(Extend(this, o)); // simple inheritance
	return grandChild;

var GreatGrandChild = function(o) {
	this.publicVariable = 'GGC publicVariable'; // override the variable set in Parent
	this.publicMethod = function() {
		return privateMethod();
	var privateMethod = function() {
		return 'GGC privateMethod';
	this.abstractMethod = function() {
		return 'GGC Abstract Method';

	var greatGrandChild = new GrandChild(Extend(this, o)); // simple inheritance

	output(greatGrandChild.getPrivateVariable()); // has access to all parent's public methods, variables
	output(greatGrandChild.helloWorld('Great Grand Child'));

	return greatGrandChild;

var P = new Parent();

output('_GRAND CHILD_');
var GC = new GrandChild({
	publicMethod: function() {
		return 'GC publicMethod';
	abstractMethod: function() {
		return 'GC Abstract Method';

output('_GREAT GRAND CHILD_');
var GGC = new GreatGrandChild();

// ** this is how you could use this inheritance model for simple object instantiation.
var InstantiatedObject = new Parent({
	abstractMethod: function() {
		return 'GC Abstract Method';

function output(str) {


Console Output:

P publicVariable
P privateVariable
P publicVariable P privateVariable
GC publicMethod
GC Abstract Method
P privateVariable
Hello, Great Grand Child.
GGC privateMethod
GGC Abstract Method


(See it on jsfiddle)

Don’t like the way I did it? That’s okay. Here are a handful of other ways:

OCZ Technology Vertex 4 in a MacBook Pro

You probably found this blog post because you, like me, bought a OCZ Technology Vertex 4 for your MacBook Pro, and it’s giving you the spinning beach ball of death (freezes up). You probably also knew that it might have firmware updates and thought that it would be a simple update, then found that it was darn near impossible. Well, here’s what I found.

Method 1.

This was the method that gave me hope. I found it when I bought my Vertex 4 from Amazon (link). A reviewer gave detailed upgrade instructions, using a bootable CD made from an image downloaded from OCZ. This almost worked for me.

Method 2.

This is OCZ’s original instructions that the author of Method 1 adapted. You create a bootable CD, and run the utility. My instructions add a little clarity to this method.

Method 3.

This method is Mac specific. It details how to create a bootable USB drive, boot into the utility, and flash the drive. I couldn’t get the .dmg image to restore to my SD card, so I’m not sure if it will upgrade you to version 1.5. Please leave comments on your success/failure.

What I did.

  1. Back up all data. (this is a non-destructive firmware upgrade, so this shouldn’t be necessary, but I wanted to play it safe)
  2. Download the Linux-based Tool from OCZ and burn it to disk. Be sure to read and heed all warnings on this page. (How to burn an .iso to a disk)
  3. Connect your Mac to power. Let’s not be reckless 🙂
  4. Connect your Mac to ethernet. It won’t work otherwise.
  5. Plug in a USB mouse. Your touchpad won’t work in the utility.
  6. Restart your computer while holding down the “option” button.
  7. When you get the boot menu, select the disc, and hit “enter”. (You may have to wait a few seconds for the disc to show up as an option)
  8. When you see the startup screen, hit “enter.” You will then boot into a lightweight version of Linux with a few menu options on the bottom. This may take a minute or so, and it may give you some warnings or errors.
  9. Click on the “OCZ_Firmware_Current_Flash” icon on the bottom. (This is where my instructions are different than Method 1. The reviewer suggests to click on the “OCZ_Mac_Firmware_Flash” update tool, but this would never work for me. It told me to set my SATA controller to AHCI mode.)
  10. This will open a terminal-like window. Follow the instructions. It will tell you your current firmware version (Mine started at 1.4), and then run the firmware flash program.
  11. You’ll be prompted to restart your computer to complete.
  12. If your firmware started at version 1.4, you’ll be updated to 1.4.1 (or something like that). You’ll need to go through the update process again to get you to firmware 1.5. Repeat steps 6 – 11.

If this method doesn’t work for you, go ahead and try the other methods. If you have a different method, post a comment.

Method 5.

Send your OCZ Vertex 4 back and get a hard drive that is more Mac friendly. I read that the Crucial SSDs work out of the box.

Helpful Links:

OCZ Technology Vertex 4. This is the exact hard drive I bought.

Hard Drive Caddy Tray. I placed the hard drive that came with my Mac (a Hitachi 512 GB)  in this tray and replaced my Superdrive with it. That way, I don’t loose storage space.

Apple USB Superdrive. Some people get an enclosure for their superdrive. I couldn’t find one with good reviews, so I got an external. You may also want to go with a Samsung or AmazonBasics external.

Crucial m4 SSD. In case you don’t want to mess with flashing firmware. 🙂