a coding nagger's blog

My name is Jean-Dominique Nguele and this is my blog. FLVCTVAT NEC MERGITVR

Category Archives: Stuff

Domain name migration without losing SEO

Reading Time: 6 minutes

How did that even come up?

I originally started writing another post last week but in the meantime I did a domain name migration. What is a domain name migration you will ask? It is the act of migrating content from a domain to another domain. Not host, domain. If this was about host migration there would be no need for a post as the changes would be straightforward. People may give you a different or more precise description but it is basically what I did. And also what it sounds like. I like to name things so that when they are described or revealed they turn out to be pretty much what you expect. It’s like coding. If I have a piece of code with a method boolean validatePassword(string username, string password) when looking at the code you pretty much expect to see some user retrieval and maybe encoded password validation. You definitely do not expect a session to be started or anything funny like that. Enough with this, let’s get back onto today’s topic. Domain name migration.

Why would I do that?

I decided to separate my blog from my main domain iamnguele.com a couple of weeks ago as I picked a new pseudo that you may have noticed by now: Coding Nagger. Why that name and why move only the blog? I thought I should pick a different and more playful pseudo than IamNguele. IamNguele was more of a statement, some “Hey I’m here” kinda thing. Also, my english was not great and nguele.com was taken. On top of that, iamnguele gets me on top of the SEO rankings on my name. On top of that, I gain rankings for the search term coding nagger as you can see below.

coding nagger seo

More SEO power to me, even though mixed for now

Now, after five years living in London I like to think I somewhat improved my english speaking and writing skills. Also I picked a name that would be more fitting. The Coding part is pretty self-explanatory, and Nagger because I can try to push you something that I believe is the right thing whether you like it or not. Just to precise the context I’m talking about code reviews, solution analysis/design. So here we are, Coding Nagger and I still have not mentioned anything about domain name migration but you get the context at least.

say nagger

You understood that reference or you will

The challenges involved

Changing domain name in itself is relatively easy. Most hosting providers allow you to point and click your way through it even if you go for tech saavy stuff like Amazon Web Services. However, there are a few things that you need to take into consideration before you get started. If your website or blog is part of your personal brand and ranks well either you are a probably a pioneer in your field, no matter how niche it can be. If it is the case, congrats you may not need SEO as much as others such as myself.

What is SEO? I hear you ask. SEO stands for Search Engine Optimisation. The rules seem to change pretty constantly and vary based on which search engine you use. Basically, put out quality content, stay on focus of the topic you want your article/blog/website to rank up and voila. The problem with domain name migration is that if you are not careful, it will take a while before your pages rank back up. It will happen because your search engine will consider that your “renamed” site is a new site. Therefore whatever counter or algorithm search engines use to rank sites will see your website as having a score of 0 out of 100 instead of let’s say 42 figuratively speaking.

Do your pages have a decent SEO rating? Do you intend to keep things like this? If the answer to either of this questions is no, feel free to skip the end of the post and rejoice for the now more useful introduction I gave you.

Eventually, you need to consider whether your existing website requires a SSL certificate and whether the links you find through your favorite search engine use the http or https protocol. If your website has secure links the they are likely to rank higher and be prioritised over their non-secure version by your browser or search enine.

Once you figured your constraints we (mostly you) can get to work.

SEO safe domain name migration in 3 easy steps!

This probably should have been the title of this post, really clickbait worthy. The gist of what needs to happen is redirecting your existing website links towards the new domain name. Let’s get down to business.

domain name migration shang

General Li Shang definitely knows what’s up

Step 1: Point your new domain to your content

If you do not have your new domain name, the obvious first step is to buy. Just the domain name, nothing more, nothing less, yet. Once you have the domain name, get it to point to the location where your existing website is hosted. Some hosting providers will allow you to do so with a couple clicks. If you manage your domain names separately from your hosting you will need to CNAME entries of your new domain yourself to point at the IP address where you host your website.

After a few minutes, you can try to access your website using your new domain name. You should be able to navigate it with the right links and the same structure you have for your existing domain.

Step 2: Keep the lock on if lock there was

You may remember that I mentioned something about http and https links visible through a search engine result page. If your existing website has its pages indexed with the https protocol prefix you have one last thing to deal with before setting up the redirect. You need to setup a SSL certificate so that browsers allow people to access your new site. Believe me, you do not want to just reassign the certificate to the new domain. I tried and had a micro-heart attack when I realised 5 minutes later that the links to my existing blog would not even open redirect or not. This is because if your website tells a browser it has a secure link but have no certificate it will simply be blocked. If it has an invalid certificate it will prompt users that your website is unsafe to access or stole another site’s certificate. Just buy a new certificate and assign it to your new domain. Keep the existing stuff where it is.

Step 3: Do the actual redirect

Here we do the easy bit. Your hosting provider should give you access to at least a FTP containing a bunch of folders and one of these contains your website. From there, you need to create a new folder sitting next to your website folder that will contain the .htaccess file where you shall write the permanent redirection configuration. Once that folder is created you will have to upload a .htaccess file with these contents:

Obviously you may replace www.codingnagger.com with your domain name unless you want to send me more traffic. I would be more than fine with that. Also, if you do not have nor require a SSL certificate on your existing and new domain, replace https with http.


Here I chose not to detail the specific of each step as there is multiple ways to achieve this for all providers. Also, for most hosting provider the process is trivial in itself and if you manage your domain name yourself you definitely know your way around your provider dashboard. The one thing you may need is a bit of experience, of guidance. A flow showing in which order you should proceed to avoid losing your SEO ranking. I mean, personally it did not go so bad. My blog went from top hit when googling myself to bottom of the first page with a title change on top of the domain change. Just look:

first page coding nagger

Still first page

Note that I had a look at some of my most popular posts, the one that have the best SEO rankings. Some still appear under the blog.iamnguele.com domain. Try to google nsattributedstring color image and see what comes up maybe not first everywhere but at least second.

nsattributed string coding nagger bing

First 2 results on Bing

nsattributed string coding nagger google

Second on Google, not too shabby

This is why SEO matters. And I will update the post in a few days/weeks to see if it still pops up on top after Google’s indexer sees it as a codingnagger.com entry. It has been there for a couple years now and I doubt it changes. Unless I screwed up completely and give you an excellent reason to disregard this whole post.

Thank you for reading and hopefully this will help you doing some domain name migration without losing your content rankings. Till next time.

Catching up after 3 months without posts

Reading Time: 4 minutes

Noob Review

Long time no blog, loads of catching up to do. Surprisingly there is still a lot of people coming to read here despite the long absence. First of all, thank you for sticking around or swinging by if you are new here. My last post was a noob review that I published late March of this year. I made a quick review of a bit of software that the creator did not find to be fair.

For a time I contemplated updating the post but quickly realised it would defeat the purpose of what I want Noob Review to be. Noob review is about discovering something without studying it first, I litterally write it as I start using it. It takes me about two hours to finish taking up notes and screen shots then about a couple days to edit and format the post. I really want it to be a quick take on stuff.

Enough about Noob review. Let’s move onto the next topic.

Catching up on that job I left

For most of the past two years I worked in a company where I have been able to hone my skills as a developer. Surrounded by experienced and talented people I did grow into what I believe to be a senior. Yes, technically I was already seen as such but only seeing what I was able to deliver made me realise to which extent. It was an environment where I used to have my ideas challenged and challenge others ideas day in day out.

Such environment is great to learn how to validate your assertions more carefully and overall improve your thought process to come out on top of these challenges. It became a sort of game where most of my enjoyment laid. Intellectual jousts to build the best solution possible while considering time and money constraints were great. However, my enjoyment shifted over time. It shifted towards Tuesdays football games, Friday drinks and everything else involving the workplace except for the actual work.

This did last for a while before I came to the realisation that I grew bored of work. Not bored of working, more like bored with my job. Yet, I still loved building solutions as you know from my short-lived Hestya experience and that Coinzprofit app I built during that period of time. My problem was that I was not doing any of these things anymore at work. Any attempt of discussing a potential solution or improvement within the way we worked was seen as an offense. Our sort of technical council just became a bunch of people agreeing with each other. On top of that my backlog was running thin. One would be happy with having little work to do with the pay I had. I was not, I wanted to do meaningful work again.

That challenge I found

I looked for a new job about a month and got lucky enough to have more than one interesting offer to choose from. That is when I handed over my resignation in March and signed a contract to join BJSS. I believe is the right place to continue my progression. I started two months ago and I do enjoy it so far. Despite moving from the startup world to the corporate one it feels as friendly and open as a startup would. There are a couple more rules to adapt to but nothing too crazy. The biggest change I made is leaving my t-shirts home but now I use them for my gym sessions so I don’t miss them too much. By the way I will be taking part in a charity event for the Make-a-Wish foundation organised by Microsoft. Along with a BJSS sponsored team we will take on other companies by playing Unreal Tournament GOTY edition in a couple weeks time at the Microsoft Reactor. You can find more details about how to register your company and/or make donations to the event here.

Wrapping up

I believe that is enough catching up for now, I will try not to have such big breaks in the future and get back to my monthly-ish posting rythm. Thanks for swinging by and the next post will move back to more technical stuff. I guess that if there is something you need to remember from this post apart from the charity bit, it is that you need to do you. If you are not happy with where you are nor what you are doing it is likely to negatively affect you and those around you. Personally and professionally. Take care of yourself, maybe you need to talk to someone, maybe you need to exercise more, maybe you need to chill and take time to enjoy life. Maybe you need to change job. Just listen to yourself and you will be fine. Unless you’re wrong. This post is not the Bible or <insert book of wisdom you like to read like Bridget Jones’ baby>, just do whatever you feel is right to keep movin forth. You won’t live forever so better not waste time being unhappy.

Till next time!


Avoid App Store rejection when submitting 3rd party based app

Reading Time: 2 minutes

A couple of days ago I submitted my first personal app to the Apple App Store. I know it can be surprising considering the few years I spent doing iOS development professionally. You may know this but I was more into Windows phone from its inception until Microsoft decided to murder it a few months ago. As a result, I fully switched to Apple, from the phone to the watch to the mac. Still kept my Windows laptop though.

Back to today’s topic, App Store rejection. I built some app to keep track of my crypto spendings. After a couple weekends working on it, I decided to publish it and see how people react to it. Unfortunately, the reviewers rejected the app because I did not provide a demo account for it.

Giving my personal account with my money in it was out of the question. Creating a new test account on Coinbase requires real data, identity and phone verification. By the way, I actually tried that and got locked out of my account just after using my phone to verify the test account. Do not try this at home! Not only it sucks, but it also turns out to be against their terms of use. If someone from Coinbase reads this, please do not delete my account I deleted the test one already.

After some back-and-forth trying to explain the situation and linking in Coinbase’s terms of use they eventually suggested that I send them a video. Yes, a video showing how to use the app. I instantly grabbed my phone and recorded a quick video showing my screen login in using Coinbase OAuth2 login. Since I had Face ID enabled, I did not have to enter my password so it was safe. The following day, they reviewed it again and approved it. You can download CoinzProfit now to have a look if you want to. Also if you do not use Coinbase but another exchange you can like/follow the Facebook page to have updates on the next exchanges I will integrate to it.

CoinzProfit App Store

Click that link and get that app!

Entrepreneurship high: What I learned

Reading Time: 7 minutes

You may remember that underwhelming post I made a few months ago. I wrote it while high on entrepreneurship. As you may not feel like reading it I’ll sum up. I hinted at a side project that could become something cool, something potentially big. I read a lot of blog posts from people who had that illumination on an issue they could solve. People building a solution that could change lives for the better. I think my first mistake was thinking I could force that. I write decent code and designed a few solutions but it was always driven by someone else vision or convictions. All I had to do was find an idea that could make people’s day to day life easier.

Defining the need

One day after work, while having dinner I had a sparkle while my girlfriend was complaining about her work. At least I thought I did. She works as a nanny during the day and goes to uni to study languages after work. Back to the topic, she complained about how her boss is constantly micromanaging her when she prefers to be more in charge due to her extensive experience. Back then I thought how cool it would be to have a website or an app that would allow her to have reviews of other nannies, babysitters on families they work with. Something that could have prevented working with someone incompatible with her. A Glassdoor of sorts for nannies and other childcare workers.  I didn’t even bother getting in the legal implications of such a product. I just started designing around.

This is how I have spent a good few weeks writing user stories, picking colours that would send the right sensation to potential users. Putting post-it all across the living rooms based on how I would want people to perceive that system. The main idea was to create something that would allow people to have the bases to access someone else’s home through a relationship based on trust and empathy where all the parties would feel safe. This is how Hestya as an idea was born. I picked the name both off the Greek goddess Hestia and from words matching what I wanted users to feel. Home. Empathy. Safety. Trust. You (I really grasped at straws there). Access.

Reading to learn

Once the basics were there I went on to read even more entrepreneurship related blogs, picking tips around. Reading stories on people whose sole purpose in life became to create that great product. From there, I created the kick-off website to try and see if there were interest. Later on, I set up a Facebook page that I never shared with anyone. I wanted the web app to be ready before I share anything. I even ordered business cards I could use to exchange contact with other entrepreneurs at meetups. Technically I did follow the first steps of startup creation. Create a prototype, talk to a few people working in that domain, know your target audience, validate your idea with a kickoff site.

Hestya kickoff site capture

Hestya kickoff site

Then I went on to read even more entrepreneurship related blogs, picking tips around. Reading stories on people who managed to turn an idea into a product and made it successful. From my readings, I could follow one of two paths: quit my job to focus on Hestya or to those kill off my social life by working non-stop. With luck maybe Hestya could take off within a few months if it becomes viral but it still seems unlikely to this day. The most likely thing would be to build it in a marathoning way over a year or so making keeping my job the most reasonable option.

Abandon all hope, ye who enter here.

No social life, no gaming, no blogging, nothing. For about three months I spent all my free time on Hestya. Eventually, by mid-December, I finished building the API and 90% of the web app. All I had to do was write a few more hundred lines of code and I would have my minimum viable product. Yet, something was wrong. I contemplated the mountains of work ahead of me and keeping the same working rhythm but with stuff, I know nothing about like marketing and brand growth. All of which would have been fine if I had not reached a point of mental and physical exhaustion. I needed a break, badly.

My original Christmas holiday plan was to take my laptop to keep working pretty much 24/7 but keeping a few hours here and there for family and friends. The tiredness was such that I decided then to take a real break and assess why I started working on Hestya in the first place. Which is, now that I think about it would be some sort of Glassdoor for childcare workers with some more stuff.

My first step was to figure what it would achieve to build this tool. Turns out there are a few laws in the UK that would make it a skewed product as some honest comments from nannies (applies for any work actually) towards the previous employer could be followed by disciplinary or legal action. As shown with Mrs Plant’s case, comments made online whether it is on Facebook or Hestya could end up in the employer sight who can then take action against them.

At that point, I pictured other scenarios where someone trying to change employer by contacting a family might end up fired upon the current employer finding out thanks to screenshots. Digging further you can even find childcare workers complaining about their on employers food preferences being part of work constraints in a way that could be seen as hate speech at least in the UK. It seemed like an additional risk I did not have a safety net for. What would have been the central focus was already off limits. I like to think that had I taken a few hours to research this before putting in so much effort I would have saved some time.

But then knowing how blind I was I probably would have talked myself into going ahead anyway. I did do some research but in the end, I only picked what would fit into the vision I had and was not looking at it objectively. Every time I would find a flaw I would find another excuse to keep going. As long as it felt fresh and different it was fine. Back at work I felt underwhelmed kinda stuck in a routine.

No passion, no fashion especially in entrepreneurship

Indeed, it had a been a few months that my job consisted of stabilizing and documenting our platform. In my mind, pushing the next release or fixing something was as casual as washing dishes. I need to do it because I commit to it but it is hardly the most satisfying or stimulating activity. Just the same thing day in and day out. Coming in, writing some code, going home. Not only I did not have anything to be passionate about work-wise, but I left aside anything that would passionate me.

Yet I repeated that with Hestya. Yes, the first couple of weeks designing a product showed every stimulating. Plus it would look great for me as an achievement. However, once the excitement past, I realised my day actually became worse. My life was just me balancing a job that became less interesting with a side project as passioning. All while getting very little time to myself and even less for my loved ones. At last, I decided to stop.

It was not worth trying to force myself into entrepreneurship with a project that doesn’t passionate me. It is not just true for coding, it is true for anything that requires passion like Pewdiepie said in one of his recent videos. If you are passionate about something, even if it gets hard you will keep going until you make it. If your only interest in what should start as a hobby is not you enjoying it, just stop it.

High expectations I always had

Since I was a kid I was always branded as the guy for whom everything comes easy. The guy with a huge potential who can do anything he wants. Year after year, I keep setting myself higher and higher goals in terms of personal growth and achievements. Take on more responsibilities, work on something that will make an impact. Sometimes I even think to myself: “Dude where is your Facebook? Where is that potential there was so much noise about?”.

Now that I think about it further, I got into that whole side project maybe turning startup thing right after failing to get a promotion as Tech lead. I remember thinking before we got the results that almost all the candidates were more qualified than I. To be fair they all had more experience and I believe more maturity than I do. Yet I kept thinking about that potential I was not able to express fully in my day-to-day work. So I rushed things, went with an idea I did not fully believe in. An idea I was not able to hold onto when I got tired. My mind was just gone.

Had I fully believed in Hestya I would definitely still be on it maybe I would have even released the v1 by now, sharing it around. This was my first attempt at entrepreneurship, which I see as a complete failure but definitely not the last. At least through that venture, I got to deepen my knowledge of React and Node.js so all is not lost.

Enjoy the present, the legacy will follow

What now? Well, I’m just going to keep on learning by working and reading while trying not to get myself another burnout. I have plenty of time ahead of me. I will turn 27 in about a month yet it will be ten years I have been coding. Eight since I started working, I have plenty of experience and when the time comes to build something great I’ll be ready. All I need is to keep picking projects I am passionate about and everything will work out.

I like to think of that experience as a lesson. A lesson I will use to keep moving forward. I’m done setting myself goals based on that “potential” I lived with for years. I’m done setting myself goals based on others experiences instead of focusing on passion. What makes me enjoy writing code. We all have our own paths and rhythms. All we can do is try to get better day after day, ignore the pressure and enjoy the ride. I will have another shot at entrepreneurship but with something that actually passionates me.

As you might expect I will get back to blogging regularly as it is something that does passionate me. Also I would like to thank everyone coming to read my stuff every now and then. My audience grew tenfold over the past year and it is very exciting. Definitely, the best part is that about 99.6% of you readers are not part of my sharing circle on Facebook or Twitter. I’m glad you like my content and will spend more time improving it. Thank you.

thank you

AdBlockPlus: That time I thought my website was hacked

Reading Time: 3 minutes

AdBlockPlus, one if not the most popular ad blocker at the moment. Let me tell you how I lost my morning to it and ended up writing this post just because. Please note that this is not sponsored content, not sure whether that matters to you. Also I didn’t really know where to put this so now there is a new “Stuff” category, but if you want you can still go back to read some future-proof stuff.

Broken website

This morning I was researching for a personal venture I’ll tell you more about later when I randomly checked my landing page. What I did not know is that I was about to spend a couple of hours debugging my website because some social links went missing off it. There is normally the Twitter, Instagram and LinkedIn image links appearing but instead I only had the StackOverflow one:

I mainly use Microsoft Edge so I go on to check Chrome, then Firefox but same result. This is the moment I start thinking that I may have deleted these by mistake during my last update without realising. I am usually pretty thorough with everything that is part of my personal brand but shit happens. Thus, I have a look at the code and still don’t find anything wrong. My links should appear with the embedded images, but still nothing. At that point I have still no idea of what’s happening so I open the Edge debugger pressing “F12” and notice that all the social link images embedded in links have the following inline style:

display: none !important;

Where in fucktopia does that come from? I thought. That is not in my css nor javascript files. Is my website now containing some malicious code which the ultimate goal is to hide my LinkedIn, my Twitter and my Instagram links? What kind of person does it take to waste time doing that on my website? Why leave the StackOverflow link alone? I barely get my honest thousand of visitors each month (blog and landing page) so it does not make any remote sense to me.


There, I download the whole thing locally and surprise, everything appears correctly. I then proceeded to add some css on the website to override that inline-style and keep my images displayed but nothing. To be safe, I open the website link in private mode in case there is some random caching issue. Unsurprisingly, everything appears perfectly. However, the image links still do not appear on regular mode even after clearing everything.

Then I had a hunch, what if I disable AdBlockPlus? It might be crazy but at that point nothing makes sense anyways. Finally, everything appears correctly. Also it turns out AdBlockPlus is disabled in private mode which explains why I could see my links then. The mysterious hacker with too much free time? Myself. I did this the moment I installed that ad blocker.

AdBlockPlus and other ad blockers will live on

Most of us install ad blockers, mostly to avoid the noise from websites that put money above user experience. We want to enjoy an article without having to suffer through that new cloud service ad taking the whole screen and ruining it. I understand that some companies/news agencies/blogs fund themselves through advertisement but they may want to revisit what it costs them. I would not mind a couple discrete ads here and there that would not obstruct the content nor feel too distracting. But this not what we find in most news-ish websites. We find stuff that makes us install ad blockers to kill the noise because there is too much of it.

Still I would love to live in a world where we don’t need these and so would Google apparently. But until content creators/corporations learn what is good for their users, we’ll have to use ad blockers. Even though it forced me to update my website code to fit in this ad blocker filled world. Even if I among other content creators or just people who want some online presence have to use a less attractive interface, it’s worth it. Even if it means that I have to go from this:

To have something like that instead:

It’s all worth it.