Years ago, when the internet was young, I purchased my first domain from InterNIC for about $70 a year. When the alternatives finally popped up, I switched my domain to Godaddy. As prices dropped, I ended up buying more domains through them for ideas and projects I developed. Eventually, I got tired of Godaddy’s shenanigans with pricing (increasing prices and having privacy as an add-on) and upselling everything, and after reviewing many technical forums, ended up switched everything to Namecheap where I even signed up for their shared hosting.
Things started well, but after a short while, the hosting ended up not being any better than Godaddy as all my sites became ridiculously slow as they oversold capacity. I finally made the jump to DigitalOcean, and the same site without any changes or optimizations jumped in performance about 60% based on the metrics reports I was running. No joke, people were pinging me asking what I changed to make my site run so much faster because they wanted to do the same.
I was annoyed that Namecheap refused to refund a partial credit on the hosting even though I wasn’t using it anymore despite their bait and switch caused the performance issues by overselling capacity. In the end, I didn’t fight, because it was cheap, I was beyond the credit card chargeback period, and I still had domains with them and didn’t like any of the other registrars out there enough (nor were the prices better) to make the switch.
On the domain side, their control panel was pretty confusing at first. Godaddy’s was more straight forward for managing DNS and records, so I had to constantly figure out what the Namecheap configuration equivalents were because it wasn’t straight forward. They updated their control panel, and things got easier, but it still wasn’t intuitive. I think a lot of my confusion came from them trying to default to their parking pages or their hosting.
I’d run into issues, and their support would always be good enough to help fix them. I then ran into an issue with setting up a txt record. The fix required them to manually enter the entry on their side due to a bug in their control panel that they still haven’t fixed to date. The bug was serious enough that if I made any changes to any of the domain settings (like adding another A/CNAME/MX record), it would undo their change and I’d have to file another ticket for them to complete the change.
All changes would take hours to propagate. Many of the services that validate DNS changes would not see them for hours or even a day. It hadn’t been a great experience, and now I’ve wanted to find a new registrar to replace Namecheap.
In 2018, CloudFlare announced their registrar service. I’ve patiently watched to see how reliable it is and finally ended up testing it last month with a domain for an existing project that’s in development. To say I was blown away was an understatement. The experience hasn’t been perfect, but the things that really matter are well executed.
I found Namecheap to be a bit deceptive in the transfer process. All other registrars I’ve used let you approve transfers instantly via a link in the notification email. Namecheap sent an email saying they received a request to transfer the domain and this is the text about approving/canceling:
I wanted to expedite the transfer only because I wanted to get the control panel cleared out to find out what’s left and what’s worth keeping and what domains I should let go. I reached out to their chat and learned that they implemented a dark pattern. I never clicked the link because I didn’t want to accidentally cancel an approved transfer as I had assumed it was a direct link to cancel.
It turns out that their support person confirmed the text is deceptive and the link opens a page lets you approve or cancel it:
Not cool Namecheap, but I digress. So let’s look at the pro’s and con’s of CloudFlare which elaborate why I’m switching to them.
- Price point is cheaper than everyone else since they sell wholesale.
- Transfers are painless.
- Control Panel is intuitive compared to both Namecheap and Godaddy’s. It allows for managing records quicker.
- DNS changes reflect instantly on all the third party domain verification services.
- Cloudflare offers free SSL on the domain level.
- Support responded in a few hours to an issue I had.
- Can’t register new domains directly at Cloudflare which requires purchasing a domain somewhere else and then waiting 60 days to transfer.
- Doesn’t support all the TLD domains yet.
- Can’t create custom nameservers without paying $200 a month, which was free with godaddy and namecheap.
Not bad for a cons list, so I migrated most of my domains over to Cloudflare, and it’s a win all the way around. They sell domains at cost, offer a ridiculously easy to use control panel where everything works. Even better are how quickly changes take effect, and third party services can validate the changes.
A few years ago, I purchased a DroboPro-FS Pro 8 bay NAS system. After getting a demo from one of my vendors, I was sold on the ability to have different sized hard drives, hot swapping, and the self repairing file system. Another feature I liked was that it also monitors the health of my hard drives. If one starts developing issues or gets full, Drobo will warn me, and robotically shift my data to other drives until I can replace that drive. I did my research and at the time, it looked like a fantastic deal.
After a few years with it, I can readily admit I made a huge mistake in purchasing the product. I’m lucky in that the unit has not failed yet like it has for others but it’s also a horrible choice for backups for a myriad of reasons.
- IT LOSES DATA: My Drobo mysteriously loses data after it reboots. I’ve noticed this a few times after I’ve come home from vacation and turned off the unit to save power. Files (entire gigs of them) I haven’t accessed in months are mysteriously gone. Because it’s a custom file system, I have no way of trying to recover anything. I’ve confirmed this actually happens by running a disk catalog before shutting down and then running a report on the compare which shows files are definitely missing. I’ve done this 4 times and have verified it happened 4 times now. Missing file range from a few to hundreds and they vary in size so there’s no discernable pattern.
- Vendor Lock-in: You can’t access any of the files without a Drobo due to the custom file system. If the unit fails, you lose everything unless you buy another unit.
- Terrible Support: Support is lackluster. The warranty is one year and then you’re on your own which is not exactly confidence building.
- Weird Custom Desktop App: The Drobo dashboard is terrible and should have been a web interface like the other NAS options on the market. The dashboard is an app that runs in the background to connect to the shares and manage permissions, which every OS can do natively. Even worse, the dashboard app supposedly connects to the Drobo through port 5000 and then broadcasts over a randomized port which requires custom firewall permissions if it doesn’t support app level permissions. There’s no reason for the app to exist let alone broadcast anything.
- Doesn’t Deliver on Core Features: One of the features of the Drobo that sold me on it was that it should notify you when a drive is failing. In reality, the Drobo did not actually notify me about failing drives until it was too late and the drive failed completely and it didn’t move any of the data to other drives.
- Apps: Non-existent. They released some basic app support by doing a weird workaround by creating a directory and adding the app files to it but then it suddenly disappeared from the Drobo website. A third party site came up to mirror the lost apps but at this point it’s not even worth the effort to me. Droboapps was an extremely limited offering and afterthought. They actually removed support for apps from the Drobo because they didn’t want to deal with supporting users.
- Remote File Access – Doesn’t exist natively.
Compared to Synology DS1918+
I purchased a Synology DS1918+ 8-Bay Drive and the differences are pretty stark. I’ve actually been moving important files from my Drobo over to it as a safeguard.
- No data loss: Thus far, no data has been lost on the Synology.
- Apps: The apps support on Synology is incredible. I use a bunch (Plex, Photos, Backups, and many others) but the one I love most is Synology Drive, which works as a replacement for DropBox.
- Web Interface: The Synology web interface is extremely intuitive and easy to work with. There’s options for power users to make the NAS even more useful. I love that there’s no custom app to run in the background on my desktop. Connecting to shares is as simple as using the network shares native to the OS.
- Permissions/Security: The Synology permissions can be extremely granular, and includes support for roles/groups + users.
- Sharing: Synology offers an easy way to share files over the internet with permissions, like Dropbox does. The only difference is you aren’t limited to file size restrictions. Drobo does not.
- Remote Connect: Synology offers a browser based remote connect solution they call Quick Connect. Once you configure your Synology for remote access (it even configured my firewall permissions), you can access it via the quickconnect URL. No jumping through hoops for setup or access, and it just works. Good luck with setting this up with the Drobo, as I haven’t figured it out.
This has been one of the more aggravating things I’ve had to deal with in setting up software for development. I’ve followed the official documentation from JetBrains, over 30 other blog tutorials, and literally failed in getting any of them to work.
I figured out an easy way to make the setup work so I’m sharing it in case someone else finds it useful and for self-reference since I’ll probably forget how to do this again in 6 months when I start a new project.
- Load MAMP and setup your host. Make note of the host name as you will need it to configure PHPStorm.
- Go to PHP on the left under Languages.
- On the right under Extensions, check Xdebug (Debugger).
- Load PHPStorm and load your Laravel project.
- Setup your PHP executable and interpreter as per the official documentation and then resume here.
- On the top right of PHPStorm, select Edit Configurations from the dropdown.
- Click on the Plus Button on the top left of the dialog and then select ‘PHP Web Page’.
- Enter a descriptive name in the textbox. I use the host name from MAMP so it’s easy to identify visually. Click on the 3 dots with next to Server.
- Enter a descriptive name. I use the host name here as well. For the host, omit the http/https and just add the host name from MAMP.
- Click OK
- Now add your breakpoints and click on the Debugger Button on the top right and PHPStorm will load the site into the browser and break when breakpoints are hit.