Super Disappointed in OnePlus

15 May

When OnePlus first came to the mobile phone market they were the “flagship killers” offering a mobile device with top end specs for a rock bottom price.

Over the years they have remodeled and redefined what a budget phone could be and started a change in the market. They had a great device, a great platform, and a reasonable price to get all of the above in a nice little package, so why am I disappointed?

Yesterday OnePlus released their newest device the OnePlus 7 Pro. This device is the same as all previous generation OnePlus devices. It has new design language, a couple new features, and all the latest specs you could ask for. The price? $1000 CAD.

OnePlus has now become one of the “big guys” that they were working to defeat with their pricing and platform. Now there is literally nothing differentiating them from Samsung, Apple, Google, etc. It’s a $1000 phone from a company in China with no local RMA support.

Thanks OnePlus, but I’ll take a hard pass on this one.

WordPress Training: Vanishing Content

25 Feb

This is an issue I helped a fellow blogger out recently with content that she was trying to embed in a post in her blog, but for some reason it was not appearing in her post.

I had her send me the embed code and took a look at the code. Here’s a sample:

The code above poses a few issues for WordPress as there are a few things we have to take into account.

Your WordPress theme will have a layout for posts defined and the above code adds in a couple of divisions which are identified by the <div> tags. The div tags really aren’t necessary to display the video inside the post, and as such, we will remove them.

Once we remove them, you are left with the embed code below:

Now the code above has some issues with it as well, as your WordPress theme should be the one determining where the video sits in your post and what size it is. So in the code where you see style= is modifying the display of the video within the post.

What we need to do next is remove everything from the style except for the height and width.

 

The code above is now what we’re left with. 100% width means that the content will fill the available width of the post. Height can’t be 100% as it just doesn’t work 90% of the time. So for height I just picked an arbitrary width of 500 pixels wide but really this can be almost any number.

The product of the code above is below:

and there you have it! A working video!

WordPress Training Coming Soon

21 Feb

While running my hosting business HostingEh, I’ve had a lot of customers ask me about the possibility of training them on common WordPress problems and how to troubleshoot and fix them.

I figured that the best way to achieve this would be to write a few posts about common issues I see with customers WordPress sites, and then detail how I went about fixing the problem.

Some of the techniques I employ are ones that I’ve learned over the years as a web application developer, and others are from being a systems administrator so I will try and simplify them for people who have zero experience with running their own servers.

That being said, I am starting work on a couple of common problems and you’ll see more frequent updates here on the blog to show you how to go about diagnosing an issue, trying fixes, and eventually resolving the issue.

This series is going to take a few things into account:

  • You are in a shared hosting environment.
  • Your environment uses cPanel as the control panel.
  • Your host is running a version of PHP above 7.0

Even if the above assumptions do not apply to your situation, these posts may help, however I can’t guarantee they will.

That all being said, Stay Tuned!

Xiaomi Mi A2: A Great Budget Device

7 Oct

While browsing through Amazon one day, I came across a budget device that caught my eye. The spec sheet looked good, it was part of the Android One program, and was super cheap as smartphones go. I decided to order one, and have been using it for about a week now.

The Xiaomi Mi A2 features the Qualcomm Snapdragon 660 chipset which delivers surprisingly good performance and fantastic battery life for the price. The model I purchased has 4GB of RAM and 64GB of storage which is more than enough for me, however there is also a model available with 6GB of RAM and 128GB of storage.

While the display is not an AMOLED or even OLED display, it still gets the job done. Colors are vibrant and look good, and even at full brightness I’ve still been able to pull at least 5 hours of screen on time out of this phone.

Usually with cheap or budget devices from Xiaomi there are major compromises made in the camera department. I’m happy to report that although the camera in the Mi A2 is not the best you’ll ever see, it does take some fantastic photos and has a great manual mode for those of you who like to get a little more out of your photos than the auto mode offers.

The Xiaomi Mi A2 is also a dual sim device. What’s interesting is that when I attempted to use my Freedom Mobile sim in it, it immediately went to roaming even though the spec sheet says it supports AWS bands, however if you use the code *#*#4636#*#* and select the appropriate banding for Freedom, it will join the network and work just fine.

Overall I’ve been super impressed with this device, and at $330 with free next day delivery, this phone is fantastic for anyone who wants a device that “just works”.

If you’d like to order one for yourself, you can order it here. This is not an affiliate link, and I do not make any money from Amazon.

Twitter…. Let’s Talk

8 Aug

Dear Twitter:

You were one of the very first social networks I ever signed up to be a part of and that i quickly fell in love with.

You were fast, convenient, and I could send a text message to you for you to post to the internet! It was mind blowing at the time.

You were an innovative company with some fantastic ideas to change the way people communicated across the web.

I spent a good portion of my life trying to become a developer that would work well at Twitter or worst case work with Twitter.

Now I’m not sure who’s bone headed idea it was to place all of these restrictions on your APIs, but you need to take a hard look at what you’re doing, because you’re about to go the way of the dodo.

  1. Developers are your allies and not your enemies. They are developing better and different ways of accessing Twitter.
  2. Some of them have more users of their apps than your native app on Android or IOS.
  3. Your apps are trash. You should know that by now. That’s the reason apps like Tweetbot and Flamingo are amassing massive numbers of users, and you’re struggling to have people use your developed platforms.

Somewhere along your timeline Twitter you forgot what and why people use your service.

Stop restricting your biggest supporters, and improve your products. By choking out the people developing on your platform you’re going to loose a lot of users, and a lot of support from some of your biggest supporters.

Your API changes are a massive mistake and are hurting your community directly.

If you ignore your users and your developers, then don’t expect to be around much longer.

Sincerely.

Andrew Goldenberg

It’s Been a Hot Minute

5 Aug

It’s been quite a long time since I’ve written a post on this here blog of mine and I felt like it could use some love.

I decided to try out this new Gutenburg editor and see what everyone is complaining about but to be honest, I quite like it.

It’s super minimalistic and only shows the bits of UI that you actually need while writing a post. I think this is by far the best way to write a blog post! It’s still very much what you see is what you get (WYSIWYG) but a lot cleaner and more simple.

I can see how this would be a massive change for someone who has been using WordPress since the beginning but who is not a coder, but for me this looks pretty damn good.

I just noticed that this editor is automatically placing my paragraphs into paragraph blocks and offers me a way of editing that paragraph inline. For instance if I wanted to make some text bold, I could do exactly that by simply mousing over this paragraph, selecting the text I want bold, and clicking bold.

Let’s try a link; HostingEh is my web hosting business that I run as a side project at the moment, but with continued growth, I could likely make a full time living doing. Yep. Even entering a link is dead simple!

How about a photo?

Yep even a photo again is dead simple to add inline. The last thing I’d like to see is how my theme handles this. As far as I know, my theme does not have any kind of customization handling this new editor so we will see what the finished post looks like.

Either way, this is super cool and modern. I love it.

Dear WordPress Bloggers

18 Mar

Dear WordPress Bloggers:

As a PHP developer and someone with quite a few years experience with WordPress, I would like to offer you some advice on how to run a WordPress Blog that loads quickly and looks good.

Examine Plugins and Themes Closely

If your blog is lacking a feature or option that you’re unable to code yourself, please spend some time and research any plugin that you may want to install to provide that feature or option to you.

Take a careful look at the information provided by WordPress.org. It shows active installations, last update, and even reviews of the plugin. Make sure to have a look at all of this information and consider whether or not it would be a good idea to install it.

I’ve seen far too many blogs with plugins installed that have been abandoned for several years that end up getting compromised and the end result is a hacker wreaking havoc on their WordPress site.

My advice on plugins is to only ever use plugins you truly need.

Plugins for Things That Exist Elsewhere

You know what will really slow down your admin section? Installing a plugin that shows the full Google Analytics Dashboard in your admin backend. If you find it truly inconvenient to log into Google Analytics, then who am I to stop you? Plugins like this offer no value other than convenience and have to load in a ton of extra scripts so that all the features work.

Sending Mail Through WordPress

If you have a newsletter or something of the sort where you need to send mass mail to all of your readers please consider using a dedicated service for sending mail.

Some examples are SendGrid, Amazon SES, and MailGun.

Using these services not only offer a lot more insight into your mailing list, but also keep the load of your hosts server. All of the above service providers have excellent delivery rates and all offer their own brand of stats and reporting on open rates and the like..

“Theme Developers”

If ever someone tells you that they will build a theme for you on the cheap, maybe dig a little deeper and ask some questions as to how the theme would be developed. I’ve seen far too many sites where a “theme developer” has installed a third party theme (Not one they’ve created) and used a page builder plugin to tweak the theme to a customers request.

Generally these people install a ton of bloat to support the various components that the page builder requires to operate which means when you load up your site, there is almost always a ton of bloat included.

Poorly built / coded themes are yet another reason a lot of WordPress sites are slow as molasses and take upwards of 30 seconds to load.

Cache Cache Cache

One great way to keep your site quick and your web site load low, is to cache all the things. There are a couple excellent plugins for caching with very simple options to follow. Personally I use WP Super Cache as I feel it offers effective caching and pairs nicely with CloudFlare.

In the End………

As the end of the day, it’s your web site. I can only give you the tools and experience. It’s up to you what you do with it. The faster your site loads, the more people you can serve and the more ad revenue you can make.

If you have any questions, please leave them in the comments and I will answer them as soon as I can!

Industry Standard: The Advanced HVAC Story

19 Sep

So for those of you that have visited us over the last couple of weeks or so, you would have noticed that our kitchen is torn apart and is in the process of being renovated.

During this renovation a breaker was tripped and as a result, our outdoor AC unit would not power on. Knowing that I know absolutely nothing about electricity, I started to google around for a reputable HVAC company that could come and have a look at what had happened and get it resolved.

Advanced HVAC had a paid google ad that allowed you to text them straight from the ad, so that’s what I did.

As you can see, the gentleman on the other side of this conversation mentions their hourly rate is $95/hour. So in my head I said “Ok it’s probably going to be under an hour, so $95 + Tax is likely what it’s going to cost me.” To me that sounded fair.

So they schedule a “call out” for me for between 1:00PM and 5:00PM.

About an hour after the initial call, they called again to ask if they could come closer to noon as they were finished up early. I told them it wasn’t an issue if they wanted to show up earlier and so they confirmed they would be at my house closer to noon.

The technician didn’t arrive until 1:45PM (Closer to 2PM for those who know how to tell time). He wen down, flipped a breaker, went out to his vehicle, wrote a work order, and demanded I pay them over the phone before he left my house.

I called and spoke with someone at their offce to arrage for payment. When I mentioned the invoice seemed higher than it should be, he told be it was “industry standard” to charge a “call-out” fee. This is a fee to simply send a truck to your house. Then on top of that, if you want the guy to come in your house and do something, well that’s $95 per hour. But if they just come by, $95. I thought that was a load of shit, so I called a couple other HVAC companies. Lo and behold, this is not an industry standard. It’s some made up charge to charge me 4 times the cost of flipping a switch.

The labour portion of the invoice was $35!!!! Be careful of companies like this who are not up front about their pricing.

Thanks Advanced HVAC! I will most certainly not be calling you guys again!

Dear Recruiters

6 Sep

My name is Andrew Goldenberg, and I am an experienced backend developer from Ottawa, Ontario Canada.

You seem to pay a lot of attention to the buzz words on my LinkedIn profile and not very much else, so let me answer some of the most frequently asked questions.

Do you know Java?

No I do not.

Can you add Java to your resume?

No I will not.

Even if it means being considered for position x?

No. I do not wish to be considered by your client as a candidate based on false pretenses. Do you think we like to look like complete idiots on the first day at a new workplace?

I understand that a large portion of people lie on their resumes and that it gets them through the door but it’s a revolving door that will soon put them out on their ass.

What languages can you write in / function in?

I’m sure if you read my profile you’d already know the answer to this.

Do you have any experience with WordPress?

Nope… sorry… What’s wordpress?

Honestly guys. If you’re going to even try to waste my time without even glancing at my profile for the information you seek, then don’t bother me with your “FANTASTIC OPPORTUNITIES with MASSIVE GROWTH POTENTIAL”.

Now let’s talk more about the fantastic opportunities you want to tell me about! if you can’t tell me the following about the job, please don’t call / text / email / smoke signal me.

  • Who is it working for?
  • What is their culture like?
  • What is the pay / benefits?
  • What technology stack Β do they work on?
  • Where’s the office?

If you can’t answer those for me, then why am I going to spend my time on a potential dead end? If you’re not OK with disclosing that information, then I’m not OK spending my time with you so that you can sell me to a company that I don’t even want to be at. I don’t do arranged marriages.

Sorry, not sorry.

Andrew Goldenberg