For the past few months, I have worked on and off providing some basic maintenance on a site built using Laravel’s PHP Framework. Up until this week, I didn’t have to get too deep into the functionality of the site and most changes were CSS related or other design fixes. However, this week I had to do some work with creating some addition views/routes/models, templating, and a few other tasks, so had to get my hands dirty and learn a bit about how it works and I think I like it.

This isn’t my first time working with Laravel products, I’ve developed two User Frosting sites and as a result have a decent amount of experience using Laravel’s Eloquent ORM, which I’ve found to work well and be comparable to other similar products, like Zend or WordPress’s Database implementation, although(at least in regards to Zend) much simplier to work with. It even integrates with Mssql with only a few minor issues.

Based on these two experiences, the ORM and PHP Framework, I have to say that I really like their products and could definitely see myself using it for new projects where I don’t need all the functionality of WordPress, but also don’t want to start from scratch on the build. Like userfrosting, I can see it as providing a pretty great starting point for a lot of smaller projects. Obviously, it is a bit on the technical side, so isn’t a drop-in replacement for WordPress for people looking to build their own site without much technical experience, but it really is pretty great to work with and isn’t overly complicated. I think when I have some free time, getting a basic template setup, so that I can use it starting point for new sites, would be a good use of time.

Advertisements

Lazy Domain Squatters

January 30, 2017

As someone who owns a few domains, I periodically(at least once or twice a year) get emailed by a domain squatter that contacts me in an attempt to sell a domain that is similar sounding to one I already own.

For those that are not familiar, a domain squatter is someone that purchases a domain with the intention of selling it(or holding it and then selling it,) for profit as opposed to using it. For example, if the .com version of a domain is taken and the .net version becomes available, a squatter, likely through the use of automated services/programming, may scoop up the .net version when it expires and then attempt to sell it to the .com owner at much higher than the likely $10-60 it cost them to purchase it.

So, when I received an email with legal jargon offering to sell me the .com version of a domain I already own, I almost tossed it in the trash, as I typically do when receiving these sorts of emails. However, for some reason, I decided to check the whois registration anyway and was surprised to find that the domain had fully expired and was available for purchase at regular rates.

It turned out that this lazy domain squatter was trying to sell me a domain, at an exorbitant rate, that they didn’t even own. They were making the minimum investment, an email, in the hopes that it would pay out, without even owning the domain.

I suppose this could just mean their automated tool is broken, but I like to think it is a lazy squatter hoping to make a quick(and cheap) buck, with little to no monetary risk.

While I still recommend not responding to or legitimizing domain squatters and their quasi-extortionist tactics, as unless you are Google, Paypal, or Amazon, you really don’t need to own every iteration of your domain name, if you get an email from someone trying to sell you a domain that you want, it is worth at least checking the whois to see if it is available for purchase!

As I’m sure you are aware, the April 27th deadline to switch off of Mandrill(or upgrade to a paid Mailchimp + Mandrill account) is approaching quickly. I’ve been using Mandrill for projects for some time now and overall have really liked the service. Its Magento/Mailchmip integration is really cool and painless and for the most part, deliverability has been fairly good.

However, back in February, Mandrill pivoted and announced that they were redoing their system to require all Mandrill accounts to have a paid Mailchimp account going forward. They gave users a rather short notice to either start paying for a Mailchimp and Mandrill account or switch to a different service.

I completely understand needing to charge for a service and would of probably been fine paying a monthly fee to use Mandrill(especially for its Magento integration,) forcing all my clients that are using it into a paid mailchimp account, especially when many use other services like iContact/Constant Contact/etc, didn’t sit right with me.

The Mandrill Pivot

Prior to February, Mandrill was billed as an:

Email delivery API from MailChimp

Mandrill is a reliable, scalable, and secure delivery API for transactional emails from websites and applications. It’s ideal for sending data-driven transactional emails, including targeted e-commerce and personalized one-to-one messages.

And, this is how I used it…as a way of ensuring better email deliverability than you can get using a random hosts sendmail functionality. However, the pivot resulted in the following new description:

Transactional Email for MailChimp

Mandrill is a transactional email API for MailChimp users. It’s reliable, powerful, and ideal for sending data-driven emails, including targeted e-commerce and personalized one-to-one messages.

So, as Mandrill was moving away from their initial use-case, I decided to also move away from it. Of all the people who I have using Mandrill, only one decided to stay with it and we may revisit that this week given how well Mailgun seems to work. In this case, the client actually used Mailchimp w/paid account already, so it wasn’t a big jump to also pay for Mandrill.

Transitioning to Mailgun

I suppose as a glutton for pain, I moved to yet another third-party service, this time choosing Mailgun, which was acquired by Rackspace several years ago. My reasoning for not wanting to roll my own transactional service, use the server’s sendmail tool, or just use SMTP on one of my email servers is mainly due to deliverability and, to a lesser extent, tracking/logging of clicks, opens, messages, etc. Of course, this could backfire if/when Rackspace decides to shut this down, but hopefully they will just eliminate the free version and convert it’s user’s to paid if that happens…not do a complete pivot like Mailchimp.

Overall, the transition has been painless and I actually like the web interface a lot more than Mandrill. It has a sane way to search the logs, SMTP responses and error codes are reported in a better and easier to understand fashion, and setup was easier. It feels like a much more mature web-interface.

Similarly, the PHP api was very easy to get working and I switched out all my Mandrill send mail functions to use Mailgun in no time at all. If anything, it is a bit simpler than Mandrill’s api. A couple of my sites were also using a WordPress SMTP plugin to send wordpress emails and switching those over to Mailgun’s SMTP offering was also painless.

First impressions of the service, website, and api are that it is a much better product than Mandrill. I’ll reiterate my hope that if it ever gets to the point that offering it as a free service doesn’t work out, Mailgun does a sane pivot to paid accounts, I would happily pay at this time.

Mailgun vs Mandrill Deliverability

I have not had any issues yet, although don’t have that much data. I will revisit this post in the coming months once I have been using it for longer and have more data to play with.

I imagine it can not be any worse than Mandrill, which sometimes silently failed, reported mails as sent that were not, and didn’t always properly report SMTP codes.

I run Arch on an older Intel Dual Core PC as a media center, which uses a pretty old, but relatively high memory Nvida Card. After upgrading Arch, I ran into a bug with Nvidia’s legacy 304xx driver and the latest kernel, which prevented XFCE/Xorg from properly starting.

The bug, aside from just the obvious no XFCE, was:

modprobe: ERROR: could not insert 'nvidia': Unknown symbol in module, or unknown parameter (see dmesg)
dmesg

nvidia: Unknown symbol mtrr_del (err 0)
nvidia: Unknown symbol mtrr_add (err 0)

After a bit of digging, I came across several bugs on the topic from various distros, including an Arch one bug report, which indicates that the bug was introduced in Nvidia 304.128 driver on Kernel 4.3.

Per the bug, I found the easiest way to fix it was to just enable the Arch LTS Kernel, which uses an older version of the Linux Kernel, at the time of this writing 4.1.16-1, which works a bit better with legacy hardware.

Warning: The below involves changing your grub settings, so use caution, make backups, and as with any time you mess with grub, you should be comfortable booting to alternate media(like a live CD) if something goes wrong.

1) First, install the LTS Kernel, LTS Headers(optional,) and LTS Nvidia Driver. Depending on your hardware, you may need other LTS software like if you run an older Realtek network card.

pacman -S linux-lts linux-lts-headers nvidia-304xx-lts

2) As root, make a backup of your /boot/grub/grub.cfg file

cp /boot/grub/grub.cfg ~/grub.cfg.bac

3) Update /boot/grub/grub.cfg to use the LTS Headers(again you should be comfortable fixing with a Live CD before messing with grub)

In the first grub menuentry section, probably titled ‘Arch Linux,’ find the two lines(which will probably be a bit different depending on your install):

linux   /vmlinuz-linux root=UUID=xxx-xxx-xxx-xxx- rw  quiet
echo    'Loading initial ramdisk ...'
initrd   /initramfs-linux.img

Add ‘lts’ to both the linux and initrd lines as shown below, so that they read /vmlinuz-linux-lts and /initramfs-linux-lts respectively:

linux   /vmlinuz-linux-lts root=UUID=xxx-xxx-xxx-xxx- rw  quiet
echo    'Loading initial ramdisk ...'
initrd   /initramfs-linux-lts.img

4) Reboot your system and if all goes well you should now be able to get your display working. If your system doesn’t boot at all, you can revert your grub.cfg to the backup you made. Otherwise, you may need to do a bit more troubleshooting.

Merkur 34CFor the past month or so, I have been using a safety razor and wanted to share my experiences with them. The TLDR is that even though it takes a bit longer than my previous shaving method, I’ve grown to enjoy it and think I am sold on the double edged safety razor.

Trying out a safety razor has been something I have wanted to do for some time now. However, the initial cost of ownership and vast difference from my normal shaving method had always gotten in the way of me jumping in.

For the past ten or so years, I’ve been what you could call a lazy shaver. Rather than getting caught up in the newest Mach XXX $haver from Gillette(whom seems to always be adding one more blade,) I’ve been using 2-blade disposable razors for years. I’ve found that as long as I keep them dry, they last for a long time and when they only cost a few cents, it ends up being a really easy way to go. So, I’d shave in the shower without shaving cream, touch up in the mirror afterwards, and be done in a few minutes. Probably not the best way, nor did I always have an exceptionally clean shave, but it was really easy and in-expensive.

I’ve been reading about the safety razor for a couple years now, possibly just because like Arch Linux, it’s proponents are often quite outspoken, so it is something that has intrigued me for some time.

One of the main things that has been preventing me from jumping in was the initial cost of the shaving kit. By the time you buy a halfway decent razor(unless you get lucky at Goodwill or something,) shaving soap, optional stand, aftershave, and a brush, you are looking at around $40 – $60. For someone who is buying a new Mach-16 blade every week, $40-60 is incredibly cheap, but with the way I use disposable razors, that is at least 20 years of razors.

So, for me the biggest hurdle was a mental one overcoming my the frugal part of my brain. The common argument is that it is actually cheaper than using a regular razor, but this simply isn’t the case for me. Using a safety/double edge razor is actually more expensive and takes longer for me. I’m extremely glad I finally did take the plunge though, as I have grown to enjoy the ritual of the shave. It is sort of like how brewing coffee, reading the news in the morning, or disassembling old hard-drives can be…cathartic.

I’m sure my process needs some work, but I watched a few videos and am doing a three pass shave, following a hot shower. My kit could use a bit of work, as I just went with the standard Merkur 34C that everyone gets, after reading through a few guides/faqs over on /r/wicked_edge. Likely a razor upgrade will be due at some point, but for now this one seems to work well. For now, the short of it is that I enjoy the wet shave and can’t see myself going back to my old lazy-shower shave!

newegg_fail

If you use an Adblocker, like Ublock or Adblock, and have tried to visit Newegg’s website this weekend, you might not of had much luck. In fact, you might not be able to use their website at all, resulting in more of a Cyber Monday Fail rather than the intended Cyber Monday Sale.

As it stands, visiting Newegg.com redirects you to a static email landing page with a bunch of buttons enticing you to save money and check out their Cyber Monday Deals. Unfortunately, clicking those buttons just open a new window that redirects you back to the landing page, effectively breaking their website.

I discovered the issue when I was looking to buy a motherboard for a client, which according to another site, they had the best deal on right now. When I couldn’t get past the landing page, I hopped on twitter to see if anyone else was unable to get on NewEgg’s website and got a bit of an LOL.

This issue has kept NewEgg’s Twitter employee(s) quite busy today, as they have been tweeting and responding to tweets all day telling people to disable adblock, clear their cookies, use Internet Explorer, and that their web team is working to fix the issue. Some twitter users are also reporting issues in the Android app and on mobile devices, along with still being unable to access the site correctly after clearing cookies and disabling their adblock.

So, this probably hasn’t been a great day for Newegg and I would imagine this probably had a not-insignificant impact on their Cyber Monday sales. Any site that caters to tech users most likely has a higher than average number of users who use an advertisement blocker. So, if your website is completely broken for ad block users, you will probably have a bad time.

I think it also provides a nice lesson for web-developers too…make sure your website still works when someone blocks your tracking pixel :)

Update 12/01/2015 – Newegg’s website is working again. The rather tiny(268 member) subreddit /r/newegg blew up yesterday due to the issue as well. According to a several posters, there where other issues with their website, mainly shopping cart issues, that prevented people from buying things even after disabling adblock.

See below for some of the Twitter Carnage:

newegg_twitter_fail

So, you couldn’t tell it by Godaddy’s Status Page, but there is currently an email outage for many of their Cpanel users. One of my clients has been down since Monday at around 4PM and from reading Twitter, it looks like people started reporting similar issues between 10/17 or 10/18.

godaddy_email_down

Talking with Godaddy was not helpful, despite there being a number of similar reports on Twitter, when I initially reported it they said that they were unaware of any issues, but had me do a traceroute for them to help them identify the issue. My client called in several hours later and they told him that they only became aware of the issue before he called in.

It wasn’t clear what the issue was, but emails were being deferred when sent to his address(meaning they were rejected and the sending MTA put them on hold) and logging into webmail to send emails didn’t work, nor did sending via Outlook.

From what I can tell from speaking with them, my client speaking with them, and from reports on Twitter, there is no ETA and they haven’t indicated what the issue is. If you were to look at their status page, you wouldn’t know anything is wrong…however there is definitely an outage.

When the 24 hour mark hit for my client and still no update or fix from Godaddy, I went ahead and switched their email hosting temporarily so that they could get some work done and respond to the emails that have been piling up for the past day. Amusingly this triggered some angst from Godaddy support who in, what my client said was a rude tone, indicated that not only did they not have an ETA, but now he would not be able to tell if his email did start working again. Of course this isn’t true, as sending emails via webmail and SMTP doesn’t work, so all he needs to do to check is login to Godaddy Webmail or try to send an email from Outlook to see that it is still broken.

Update 10/22/2015:  Email started working again yesterday evening. Total downtime for my client was around 3 days…over 72 hours. Of course it was obvious when it started working again, he called me within minutes of it coming up as he stopped getting errors in outlook.

When a Status Page isn’t a Status Page

useless_support_page

To be fair, or I guess pragmatic, given their size maybe it just isn’t practical to keep their Status page updated every time there is an outage. If it was, there would always be something on there, as just from reading twitter, you will almost always see someone complaining of an issue with their website/domain/email. Even if only a small fraction of those are actually Godaddy’s fault, it is probably safe to say that there are at least weekly Godaddy Service Outages that impact a good number of their customers. This just wouldn’t be a good use of time for their employees…surely this Is Par for the Course with Web Companies? /S

And to be even fairer, they do change things from time to time. From browsing the Way Back Machine, they crawled the page 103 times in 2015 thus far and I was able to find two outage reports…well three if you count the two that were on the same day. So, while this page does change from time to time, obviously not every outage warrants an update.

For example on September 7, 2015, there was the below:

Hosting Control Center September 7, 2015 at 11:06 AM
Some customers are unable to login to CPanel, and some CPanel sites are down or running slowly. We are working to correct this issue as quickly as possible and appreciate your patience.

So, the question is what warrants a Godaddy System Alert…perhaps there a certain number of customers that must be impacted. This might explain why it typically says No Significant Issues. There may be some sort of metric where the number of impacted customers/sites must hit a certain point to be considered Significant and they can’t just ignore it.

Is this Par for the Course with Web Companies?

When you compare this to other companies, like Rackspace, Amazon, or Google, the difference is night and day. There are thousands of crawls compared to hundreds, as their status pages change a great deal. They typically provide a much more detailed and useful status page as well, which list out their services, what their current status is, and reports issues as they occur. After all, people depend on their services for business and are their customers, so having this information available is important.

It is possible that Godaddy is just a rock solid host, awesome company, and never has outages, unlike these other companies with fragile infrastructure. Or perhaps they are just a really small company and their IT team is good enough to mitigate issues within minutes when they happen, so there is no need to update the page. However, I think it is much more likely that proper hosts provide proper status pages, while Godaddy only reports items when they his a certain metric of customer impact.

Advertisements