Blog

I Need To Buy A Big Fat Rib-Eye Steak

One has to admire the irony that my life seems to beach itself in.

Just this morning I wrote how I was tempted to give up the job hunt and set up my own business – I was getting to the end of my tether with the process, especially recruitment consultants.

I also said some time ago that I was not going to cut my hair until I got a job – but yesterday I caved in and sorted it out.

So, of course, this means that in beautiful irony, I was offered a job today.

I am going to be a junior front end software developer for a rather exciting, yet established start-up.  I say exciting, it isn’t in the sexiest industry in the world (my application to Victoria’s Secrets didn’t go anywhere), but it is a solution that I wish had been out there several years ago as it would have massively helped me a while back.  It is a logistics service that helps people out, a great idea – and to me, that is exciting.  I think the company has sizable potential to grow.

I’ll say more about the company another time, once the dots are crossed and stuff.

Workwise I will be looking after their main WordPress site, there will be some CSS and stuff to do, and then working on various coding tasks that are on their to-do list – I’m guessing more nice to haves in some cases.  It’s a good job that I’m pretty damn good on WordPress now.

The other 20% will be learning the senior developer’s role so I can look after his work when he isn’t there, which will mean learning Angular and PhoneGap – two technologies that I have never touched, though I have started learning React (which has similarities to Angular).  And I love learning new technologies.

It is a month’s trial.  So if it doesn’t work out then I may well open my own business instead.  But I will be doing everything in my power to ensure it is a success.  I want this role, the company is ace, the people are cool – and I get my own t-shirt so I hear.  And it is casual dress.

It is the salary I was after, it is on the Metropolitan line so nice and easy to get to, slap bang in the centre of the world’s most exciting city too.

And no recruitment consultant was required.  Yes it was the company that asked me the aeroplane on a treadmill question in the interview.

The hard work over the last few months has finally paid off.  No more recruitment consultants.  No more worrying about whether I can afford a beer.  No more not being able to go to people’s birthday celebrations.  No more worrying about whether I will get a job.  No more staying in bed until whenever I fancy…oh…

Roll on Monday!

What If I Don’t Get A Job?

Don’t worry, this isn’t me moaning, miserable or mourning.

It’s 4 months since I lost my job.  When I left, I thought that I’d probably have a job by the end of January.  Definitely by the end of March.  And I have come very close on 3 occasions.

Last Thursday I was sat, enjoying unemployment in Regent’s Park on a sunny day, wondering how long it will be before I get a job.  And more importantly, how long can I afford to not have a job?

There is a bit of me that would like a few more days sat in the park.  That’s the optimistic part of being unemployed.

But I’d rather have some money.  I want to be able to afford the odd beer, roast dinners on a Sunday, eating out during the week – not having to worry whether I can afford the tube fare.  I want a summer jacket, a decent saucepan, some lids for my Technics – gosh maybe even a holiday or three.

More importantly, I want to develop my career – the area of my life that I have focused on for the last few years to the detriment of other areas.  I want that dream role where I can contribute to projects whilst vastly expand my coding abilities.

I know that I am capable – this is proven by repeated positive comments from those that interviewed me and gave me coding challenges.  But so far there has always someone with more experience.

There was a plan and there still is a plan.  And there is now a plan after the current plan.

The current plan is to build around 6 more sites/apps, showcasing my React, and more importantly, JavaScript skills.  I think out of my websites that I have done, they do not really show off my JavaScript knowledge enough.  At which point I’ll have a super-strong portfolio for a junior, and I will spam the hell out of design agencies.

If that still doesn’t get me a job, then I will need a new plan.

Either I could go on a 12-week bootcamp such as General Assembly, or the one that really appeals, Maker’s Academy, which has quite exceptional reviews – and allegedly only takes 10% of applicants, and also allegedly, almost every graduate gets a job – and mostly with a higher salary than I am aiming for now.

Such bootcamps tend to cost £8,000 in tuition fees alone.  And then rent, food, transport into central London every day for 12 weeks – with no housing or jobseeker’s benefits (as I would be a full-time student), and one would be looking at a rather prohibitive, but possible, £15,000.  Most of which would be debt.  Hi Grandma!

Other than the cost, the other downside is that I would have to learn another coding language as part of the Maker’s Academy syllabus – Ruby.  Oh and they make you do yoga.

The massive positive is that you are pretty much guaranteed to be employed with the qualification, probably on more money than I would otherwise be, I would get to meet and befriend lots of other coders and have hands-on tuition.  It would be hard-work – I expect around 60+ hours a week but I can handle that (would mean absolutely no social life though – and definitely no drinking – maybe the NHS should pay?).

And there is one other alternative that I am considering – setting up my own little agency and try to get some clients.  I haven’t really got a clue how to do this and I’m not much of a salesman but it might have to be the route I go down.  I’d far rather have a job, because then I’ll get to work on a far-wider range of projects, and also much more in-depth projects, and also I feel that I would develop more as a developer.

I met someone pretty interesting at WordPress London last week, who said that he was in a similar position to me 6 months ago, and has set up his own agency.  He spent his time at first introducing himself to business owners who didn’t have a website, or needed an upgraded one, in his local area.  Now he is booked up until August – and doesn’t have to go out selling – the bit I wouldn’t enjoy – rejection…yuck.  Though I do like meeting new people.

The more I think about it, the more this option appeals.  As I stated earlier, my preferred option is to work for someone as I feel it will be of more benefit in the long-run for my career.

I am still waiting to hear back from a couple of roles, there are still spokes in the fire, but likewise I am putting spokes into another fire when it comes to having my own business too.

Lots to think about, but for now, time to get back on with a project that I’m doing for someone, kind of paid too…albeit back-pay for lots of free drinks over the past 10 years!

Project Completed: Election Odds

I’ve been a bit off-colour this week. Mini-manflu as I call it. No need for any sympathy – I’m just mildly under the weather. Completely capable of doing stuff, no need for daytime naps or anything – but just not the head to be dealing with complex JavaScript or similar.

Also it was taking me until 11am to get going most days, instead of my usual 8am start.

So I decided to take a break from the project that is quite the challenge (I spent about 3 hours on those hills and I’m still not happy with them – feedback/advice welcome) and just do a nice little WordPress upgrade for a blog.

The story is, that I had a blog called Political Betting.  I would occasionally write up tips on bets that I was placing, though I only ever had a page on Facebook, and a Twitter account (and I do make a slight profit on my political bets – although this is more than wiped out by my useless football bets).

My first challenge was what to name it.   politicalbetting.co.uk would have been ideal but this is a long-established site (of which I was not aware of its existence prior to setting up my Facebook page).  I considered politicalbettinguk and similar ideas but they were not catchy enough.

I then used Google Adword’s keyword search and it had two main suggestions as to the most-searched terms – Political Betting and Election Odds.

Election Odds.  Brilliant.  So the question of what to call it to make sure it stood out was completed.

I had in my head what I wanted it to look like – I’ve mentioned this before that I find the design side frustrating as I know what good code looks like, but I don’t always get the design right.  My idea for the home page was a large hero image of Westminster to take up the main page, with previews of posts outlined below in a grid system.  The sidebar would be on the right-hand side, with details of all the free bets available from bookmakers (affiliate links – I need to try to pay the bills somehow!).

I spent around two hours playing with my ideas, started making my own theme when I realised that WordPress’ new default theme, twentyseventeen, did exactly what I wanted it to do, well 75% of what I had envisaged.  There is no point in re-inventing the wheel, especially when it wasn’t going to teach me anything new.  I know how to style.  I know how to do layouts.  I don’t need practice in styling themes.  What I wanted was more practice with WordPress functionality.

Deal.  A couple of days saved.

Speaking of WordPress functionality, for this project I set up several custom taxonomies to be used, along with some custom post types – something alien to me a couple of months ago but which I am now very comfortable with.

There are still improvements to be made, particularly including learning how to make filters, so a user can, for example, select the betting market (custom post type) and be shown just the posts relating to that particular betting market.  I don’t think that I am too far away in my knowledge.  I also need to learn how best to dynamically style my posts.  At the moment, I have styles set up in my style sheet to add different coloured bottom borders on the home page, depending on what the party custom post type is, using get_the_term_list( $post->ID, ‘party’, ”, ‘, ‘, ” ) to retrieve the party name for that post ID, and setting it to a variable, which then updates the class.

But there must be a more dynamic way of doing so, as if I need to add a new party, I also need to update the stylesheet.

I thought the answer might have been with post_class() – which was the one new thing I learnt.  Sadly I couldn’t work out how to get it to do what I wanted it to do.  Yet!

The site is now up and running.  Clearly with just one post it looks a bit basic, and I will likely make improvements as time goes on once there is more substance.  For now, another project ticked off the list and time to go back to my WordPress book for the rest of Saturday, to see if I can figure out any of the aforementioned improvements that I require.

March Is Project Month

Yes, yes it’s the middle of the month and I’m only just setting out my monthly priorities again.

I have a good excuse.  Two, in fact.

Firstly I finished off a very good course on ReactJS.  One thing I repeatedly hear is just how in demand ReactJS is, along with AngularJS, Angular 2 and VueJS (that will be in demand soon anyway).  They are all frameworks that sit on top of JavaScript and all have a similar purpose.  I chose React mainly because it is the most in-demand and seems to have good support.

Part of the reason I am learning it is clearly to make myself more employable.  But also because it will help me make some web apps that I really want to – and React Native is apparently some kind of way to transform it into Android/iphone apps.  Though I haven’t even vaguely looked into React Native so I could just be imagining that part!

Secondly, I’ve been busy applying for jobs.

Last week I becoming slightly disillusioned – everything was very quiet.  But then on Tuesday afternoon, my phone went mental, with 5 calls literally one after the other, I must have been talking about roles for nearly two hours almost non-stop, including one telephone interview.

Out of that burst of activity, I ended up with two telephone interviews and a coding challenge.  One of the telephone interviews led to an interview, as did the coding challenge.  And the aforementioned interview then led to a subsequent coding challenge.  So I was pretty non-stop from Wednesday onwards with interview preparation, coding challenges – and fielding more agency calls – not all wasting my time either for a change, and I am waiting on other possible interviews.

Both were very different junior front-end roles, both were for very different companies.  Both in good central locations on the Metropolitan line.  On the off-chance that I got offered both, it would be a very difficult decision.

I received good feedback from both coding challenges – I believe that both were impressed with me.  As they should be!  I am still waiting to hear from them both.  I feel that I have a decent chance but as ever it depends on my competition – on the previous two roles that I interviewed for that I really wanted, I had done well but was beaten by a candidate with more experience.

I can do brilliantly in the coding challenges and interviews, but if someone else has 12+ month’s experience, or has completed a bootcamp such as Maker’s Academy, or has a real stand-out portfolio, then I may well come second again.  I know that I’m in the upper echelons of candidates for these roles, but I’m not yet in the absolute highest level.

So what can I do to get there?

My focus is now going to be on strengthening my portfolio.

I think I have focused enough on learning new technologies and expanding my knowledge.  I have done enough training courses for now.  It is time to get more practical.

I have a whole list of new projects that I want to do, along with some improvements to existing sites.  19 projects/improvements, in fact.

Firstly I want to finish off the website for my non-existent digital agency, Sunshine Design.  I started it over a year ago, got stuck on some functionality I was adding (rain…don’t ask) and left it.  Now my knowledge is almost exponentially greater than it was a year ago and I believe it is time to finish it properly.  In fact, it isn’t even 20% done so it is more than just a case of finishing!  I need clouds, birds, trees, all kind of stuff.  Who knows, I might even get the odd client from it.

Next I want to create a new WordPress site for my political betting blog.  I am getting quite into placing bets on politics, and have had a few nice winners.  I already have a Facebook page, but I want to build this out into a proper website, using WordPress and, of course, have a section where people can use my commission-based links to sign up to bookmakers – I am always looking for a way to earn a few extra quid!

Then I really want to do a big fat JavaScript project.  The bare bones will be using JSON to print football scores from whatever team and league the user chooses to the screen, with various functionality.  I am going to split it into two pages – one for users and one for coders.  The users will only see what is useful to them.  Coders will see the use of every single JavaScript built-in array method, object method, etc etc that I can think of to use.  Call it a JavaScript user-guide for beginners, but using football scores to make it more interesting.  And I expect to learn plenty on the way.  I have started setting it up here, but it doesn’t work yet so not much point in checking it!

Lots to do and I’m really excited to be doing so.

I look forward to having some more completed projects for my portfolio soon.  Well, unless I get offered one of those jobs in which case my priorities would change.  And I’ve just found out that I might have a 10 hour coding challenge to do for another role that I’m applying for…10 hours!  Yikes.

New Website: House Minimal Techno Disco

I’ve been writing blogs long before I knew what a cascading style sheet was.  In fact, part of what led me down the path to become a web developer was the frustration of the limitations of Blogger and their templates.

I have a Top Tunes Blog hosted at Blogger.  Ugly, messy thing isn’t it?  So ugly that I became too embarrassed to load new content to it last year.

So there was only one option.  Move it to WordPress, develop my own theme and have it looking exactly how I wanted it.

Though I didn’t know how I wanted it to look.  Nor did I know how to develop with WordPress.  Those were the first two obstacles to overcome.

I started learning WordPress development in September.  By November I was quite comfortable using it.  In December I transferred my portfolio (this site) to WordPress and made my own theme.  This month was time to practice what I had learnt, and hopefully bring some new additions to my skill set.

One issue that I have when making a website for myself, is that I have to do the design myself.  I have a slight interest and curiosity in design but I am certainly not a designer.  To quote my ex-employer, “…your design skills are shit.  But we don’t need a designer”.  Sadly I do have to be my own designer.

In terms of design, I tend to think structure, colour then fonts.

I decided to lay out the videos using the whole width of the page – 6 for desktop, 2 for mobile (I might change that to 1), 3 and 4 for widths in between.

For fonts, I used Open Sans Condensed – text isn’t a major part of my blog, as it is more about listening to music, and Barrio for the titles.  Barrio was a lucky pick, it was literally at the top of Google Fonts and I decided it worked – it gave the site a sense of fun and playfulness – listening to music should be enjoyable.  For the colour scheme, I just tried ‘midnightblue’ for no other reason than testing and decided it might work.  At which point I then used white, and two others shades of blue, with a burgundy for link text.  On the single blog posts, I have a yellow background to try to contrast this with the main front page.  That might change.

In terms of behaviour, I just wanted the main page to display the video, title, and the reactions – this required separate content pages in the template folder.  This is for the 12 most recent tracks (12 divides by more numbers than 10 does).

Below I have a random tracks section, where 12 random tracks are displayed.  There is a fair-sized problem in that the importer from Blogger hasn’t correctly imported older blog posts, so the videos are missing from around 60% of the blogs.  So I might scrap the random tracks section – which would also help with loading times.  Either that or go through and manually check all 900+ blog posts…hmmmm.

I also wanted added functionality, so visitors can go to Discogs to buy the vinyl.  Which I have been adding a link manually via a custom taxonomy, though I have just realised as I write, that Discogs probably have an API, and that I could surely do that automatically searching via JSON with the title, saving me time.  In fact, maybe I could even do that with Youtube to save me replacing all the missing videos?  Wow, I do impress myself sometimes – though I’ll be more impressed once that is done!

I’ve also added custom taxonomies for genre, record label and release year, with the idea being that I will work out how to create filters, so visitors can see which tracks I rated from say “1997”.  Though I don’t know how to do that yet.

 

For now, I’m happy with my creation in terms of releasing it to the public and saying, hey look at my new blog, but there are new features I will be adding as I continue to expand my WordPress knowledge.  Definitely enjoyed this little project.

A Tale Of Two Interviews

I had two interviews last week, in quick succession – one on Monday and one on Wednesday.

The first was at a company called Ebsta, who provide software that works with Salesforce to improve productivity.  A small company of around 20-30 employees, they were looking for a front-end developer, one that they would likely train up to work on C# and .NET after 6 or so months.  Whilst I had no particular desire to learn C# or .NET over any other particular language, in fact I have not previously considered learning them, the idea of a company willing to train and expand my skills, and therefore my value to them, appeals greatly.

The second was at a company called Schawk, a major global marketing agency (check the lizard out on their website), and for a particular team of theirs that was based in the Sky office in Isleworth.  I had to complete a coding challenge for it, which took me 6 hours and I very, very nearly gave up on it – literally I was on the last straw when I finally figured it out.

Coding challenge passed, I was granted an interview last Wednesday in the impressive, but distracting Sky office.  The interview was held in the open-plan area, lots of people walking around, giant screens with flying pikachus, a massive news banner and the Sky News studio in the background.  I didn’t exactly feel relaxed.

Prior to the interview, I had looked into the role and it seemed very much a production-line kind of job, creating one banner after another.  I wanted the job, but more because I wanted a job as opposed to that particular role.  Apparently that came across in the interview – bullshitting is not a skill of mine.

One of the interviewers was very cold and matter-of-fact.  I didn’t see us clicking.  That said, I thought I answered his aptitude questions reasonably.

But the technical questions I got stuck on.  Some I answered fine, a couple I didn’t have a clue with – never used Grunt or Gulp for example.  But I should have been able to answer questions on JavaScript anonymous functions and strict mode.  My mind went blank.  I froze whilst watching the flying pikachus.

I came away knowing I would not get offered the job.  I was disappointed in myself as I know I could have performed better in the interview.  I had prepared, but not as much as I had prepared for the previous interview two days before.

The interview on Monday was much better.  This I had prepared for – the recruiter was actually very hands-on, asking me lots of questions, getting me to think about questions to ask them, giving me as much insight as possible – even dragging me down to her office to meet me.  I spent a good 4-5 hours going over interview questions, researching the company and had some bacon to help me prepare physically.

I went there confident, had a really good interview, impressed them with my answers, impressed them with the answers to the technical test – a lot of which was impossible but it was aimed at senior developers, which I am clearly not.

I went to the pub afterwards with the team, some people actually knew what minimal techno was.  We really got on well as a group – they seemed to have a family feel which is ideal.  I really could not have done any more to make a good impression, except by perhaps drinking beer, as they were a little confused as to me drinking apple juice.

Oh and they have a table football machine.  And some of them had a penchant for disco music too.

It was perfect.  Central London, 55 minutes door to door, cool people, great job, training, etc etc.  Everything I wanted.  And I thought I was a good match too.  Oh, except the fact that it was based in the Trades Union Congress building – though that could have been fun being a Tory.

I didn’t get either role.

For the job based at Sky, the main reason was that I didn’t seem interested enough in their job.  Which is true.  Had I not fallen in love with the job at Ebsta, perhaps I would have been keener.

The job at Ebsta went to someone with more experience with me.  I gather I was considered and that I gave a good interview, and they really liked me.  But someone else simply had more experience and would be able to “hit the ground running”.

Alas.  So I’ve had four interviews now.  Two jobs that I really wanted and came close to getting.  Two that I wasn’t that bothered about.

I’m nowhere near as disappointed as last time.  I managed my expectations well.  I always knew I was the underdog.  How many interviews before I give up and get a job in MacDonald’s?  Four certainly isn’t the answer.  Ten?  Twenty?  I’ve come close twice so there is plenty of reason to believe in myself.

Money and a good suntan are probably the qualifiers, but until then I shall crack on improving my portfolio, skills and employability.

The wait for my opportunity (and a monstrous rib-eye steak) goes on.

February Is React Month

Yes I know it is much closer to the end of the month than the beginning.

I’ve had lots to focus on, from job applications, a coding challenge, two interviews – not to mention spending nearly a week creating my own WordPress theme for a blog that I have completely transformed – more on that in a separate post.

Each month I am trying to focus on learning, or expanding my knowledge of one particular area of web development – the list is endless – CSS, JavaScript, jQuery, Angular, React, Sass, PHP, Angular2, Laravel, Symphony, Gulp, Grunt, Redux, Webpack, Animations, SQL, Drupal, WordPress, Vue, Express, Ember, Git, Node, npm, – its tiring/exciting even thinking about it.

A good knowledge of JavaScript is the most important criteria for getting my next web development role.  This I did in January – I didn’t spend as much time as I had planned and didn’t get to the end of my to-do list – in fact I only made it around halfway – various excuses from interviews, interview disappointment, birthday, ill health, a weekend away – my plan was probably too ambitious to start.

This month, as per every month, I will spend more time learning JavaScript – it is my plan for the two hours or so left this afternoon once I have finished writing this.  Oh and once I’ve marinated my pork chops.

But my main challenge in terms of learning, is to learn React.  For those reading that are not developers, React is a framework that sits on top of JavaScript and helps to make applications.  It was developed by Facebook, and is used by major organisations such as Facebook, Instagram, Airbnb, etc.

It is something I increasingly see requested on job postings, and the one framework I feel could give me an edge.

Clearly I’m not going to fully learn it in a month, but it isn’t as humongous a task as learning a whole new language like JavaScript.

My plan is to do the two free courses on Codecademy (done), then follow up with this £15 course on Udemy, called The Complete React Web App Developer Course (note – never pay full price for Udemy – there is normally a 70% – 90% off voucher code floating around).  So far I am impressed with the quality of the teaching, and I am itching to get to the part where we make a weather app – those that know me, know my passion for the weather!

Before I consider myself for junior roles requiring React, I want to have a couple of my own apps running – and I woke up this morning dreaming about an app that could help keep the cricket score, for amateur clubs.  I think I can do it with React, though I won’t be sure until I know much more about it.  Whether or not anyone ever uses it, is not important – that I can build it, it works and I can add it to my portfolio, is the key.

FreeCodeCamp also have some pretty cool challenges if I cannot think of another app of my own.

 

Of course, half of the reason that I am learning React is to make myself more employable.

But the other half is for my personal projects and just the general enjoyment of learning.

100 Job Applications And Counting

Well it was 100 when I wrote the title to this blog post. Now my job applications spreadsheet is up to 127 rows (I do love a spreadsheet – one of the things that annoyed me about my last job was Excel wouldn’t work as Windows wasn’t registered…I organise my whole life in Excel…and my coding plans at home).

Not all of them are actual applications – I write an entry for every conversation with a recruiter, every phone interview, every real interview.

OK I’ve just counted, actual applications from myself directly, as opposed to recruiters/employers that have found me, is 99.

Sometimes I apply for jobs that I’m not qualified for. If they ask for 1-2 years experience then I’ll often send an application across, on the off-chance. I have even applied for jobs using two different e-mail addresses two weeks apart a couple of times, when it has been a job I have really wanted. I do tend to take the technology stack required with a pinch of salt too – in my view I can learn whatever extra technology is required, and if a company doesn’t want to train and mould me, then it probably isn’t a company I want to work for.

I was having a few doubts last week once I reached that not-so-magic 100. Would I actually achieve my dream? What if I’m always going to be up against greater competition? Maybe the technology stack requirements are outpacing me? It was a good 3 or so weeks without even any possibility of an interview.

I also have my suspicions that some of the jobs are fake jobs – maybe the Kremlin is creating fake jobs to increase disillusionment for the young (and reluctantly middle-aged) people of this country. Being serious, I do suspect that some of the jobs are created by recruiters just to retrieve candidate information to meet targets. And the amount of times I have hopeful-sounding calls with recruiters who then ignore my follow-up calls/e-mails – do those jobs actually exist?

But things have changed this week.

Firstly I had a phone interview on Monday. But I mumbled and rushed through the first question, “what projects have you worked on recently”, like an Olympic diver forgetting his moves on his first dive. Thankfully, I rescued it, brought my personality and passion across, and have scored enough points with the Olympic judging panel to gain an entry through to the final round, a face-to-face interview and apparently a meet-the-team (pub?) moment too. It seems an exciting company, they have a good ethos and apparently a table football table – I hope they like losing if I do get the job. Plus they want to train whoever they employ on .NET and C# – two technologies that I know nothing about, and I do love adding to my skill set.

I gather that I am the underdog, certainly in terms of experience compared to other candidates, so I’m going to have to impress on personality and passion to stand a fair chance. Needless to say, Sunday will be spent looking into .NET and C#.

Then I have a coding challenge to do for a role in a really quite prestigious company. Though I’ve been sent a file I cannot open without Photoshop – I don’t have Photoshop and am loathe to spend money I don’t have on a month’s Adobe subscription. It also involves making a banner – never made a banner before! And use 3 JavaScript libraries that I have never used previously. So a lot to learn before I even attempt the challenge. Yikes.

There are two other roles that I might hear back from in terms of potential interviews, one from a company directly, another from an agency.

Plenty going on. My expectations are low, so that I do not get disappointed like last time, but you never know.  As long as I do my best, and learn from any mistakes I do make.

And as soon as I do get a job, I am going to buy the fattest rib-eye steak Morrison’s will sell me.

????????????????????????????????????

First Coding Meet-up

Well I was sat here quite merrily going through the React I course on Codecademy, as one of my more immediate goals is to learn React as it seems to be the one front-end technology that I can learn that will most assist in making me more employable.

And then it decided to crash.  So I figured it was a good time to do one of the blog posts I have on my to-do list (not yet powered by React).

Last week I went to my first London-based coding Meet-up.

Well, CSS anyway.  CSS Meetup London, to give it its full name.

I had two aims.  Firstly to learn about grid, which was one of the presentations.  Secondly to meet some people in the industry.  You know – networking.

I arrived early, into the offices of Badoo – a social networking company that I had never previously heard of, who were hosting the event, and supplying beer and pizza, within their rest area/canteen.

It wasn’t so easy to tell who was there because they worked there, and who was actually there for the presentations like myself.  I grabbed a slice of absolutely amazing pizza and stood in the corner, a little awkwardly, hoping someone would note that I am a newbie and introduce themselves.

They didn’t.  I had another slice of pizza and grabbed a beer.  There were a few small groups talking to each other, but most people were sat by themselves, some staring into laptops (the guy I sat next to never paid any attention the whole time except to his laptop).  I did attempt some small talk with a couple of people but I didn’t receive any more than an acknowledgement.

The presentations themselves were reasonably good.  It isn’t easy to get up in front of a room and talk, especially about a technical subject for which you may receive some difficult questions.

The first talk was on CSS Grid, which is quite an exciting new specification coming out widely this March, I believe, which will allow for much more straight-forward layout structuring.

Flexbox has been a revelation to me as positioning could be troublesome previously.  The hope is the Grid will be revelatory too.

The second talk was more abstract, questioning as to whether there is a war within CSS.  I’m not going to attempt to explain it as I didn’t thoroughly understand it, only having done my CSS directly on stylesheets.


Afterwards there was a trip to the pub, which I thought might be my opportunity to meet people.  I popped to the loo, went back in the room to find the same couple of groups talking to each other, stood like a lemon for a couple of minutes and then left.

It was an interesting evening.  I’m not going to rush back but when there is a subject matter being discussed that I am interested in I shall attend again.

There are plenty of other meet-ups that look interesting – there was one the following night for WordPress, where there was lots of comments saying “such a friendly bunch” or “thanks for making a newbie so welcome” – which is clearly what I was looking for.  The CSS one doesn’t seem to be good for networking, though I do need to go back to find out what make of pizza that was.

I will definitely go to more meet-ups but I will try different groups.  Especially if there are giving away free pizza!  If I lived in central London I could probably get fed for free every night.

And yeah, it looks like I won’t be completing that React course today.  Onto something else.

 

Adding Adverts

Those of you that know me will know that I like to do a bit of blogging.

Having no income other than benefits means that even small costs such as my annual domain fees make me wince.  Every penny possible has to be saved.  But I really don’t want to stop any of my blogs – in fact I have started more up since I lost my job!

I used to do all my blogging on Blogger, prior to learning coding.  No particular reason other than it was what I first heard of.

New blogs I set up with WordPress, as it gives me pretty much infinite possibilities in being able to expand with my coding skills.  A few I still do on Facebook only – such as my Political Betting page.  Said page will be moved onto WordPress in the coming month or two, with a newly developed theme from myself.  Only just passed the thought stage – nowhere near pencil and paper stage.

The reason I set that particular page up originally was to see if I could make any money from gambling commission – all the major bookmakers offer affiliate accounts.  With 40 page likes and an average reach of around 10, I am hardly going to be buying a private jet any time soon.  Not even an airfix model.  So far I have a grand total of £20.43 and $6.05 commission.

So my bright idea this week was to add adverts to my 6 WordPress blogs.

I am sure I could have done this simply by using a plug-in, but I decided instead to use my WordPress knowledge.

Firstly I created a child theme for each blog, with a new stylesheet and a new functions file.  I knew how to make a child theme, or at least the theory of it, but had never done so.  This is now quite firmly planted into my knowledge bank.

I enqueued the stylesheet in the functions file – all straight forward.

add_action( ‘wp_enqueue_scripts’, ‘enqueue_parent_styles’ );

function enqueue_parent_styles() {
wp_enqueue_style( ‘gridster-lite’, get_template_directory_uri().’/style.css’ );
}

Then I had to create and register my custom post-types, following this with an initiation action.

Something that became clear in the planning stages after looking at how the adverts themselves were encoded, was that I would need two custom post-types – one main advert, and one mobile-sized advert.

function my_custom_posttypes() {

$labels = array(
‘name’ => ‘Adverts’,
‘singular_name’ => ‘Advert’,
‘menu_name’ => ‘Adverts’,
‘name_admin_bar’ => ‘Advert’,
‘add_new’ => ‘Add New’,
‘add_new_item’ => ‘Add New Advert’,
‘new_item’ => ‘New Advert’,
‘edit_item’ => ‘Edit Advert’,
‘view_item’ => ‘View Advert’,
‘all_items’ => ‘All Adverts’,
‘search_items’ => ‘Search Adverts’,
‘parent_item_colon’ => ‘Parent Adverts:’,
‘not_found’ => ‘No advert sites found.’,
‘not_found_in_trash’ => ‘No advert sites found in Trash.’,
);

$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘menu_icon’ => ‘dashicons-id-alt’,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘adverts’ ),
‘capability_type’ => ‘post’,
‘has_archive’ => true,
‘hierarchical’ => false,
‘menu_position’ => 5,
‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’ ),
);
register_post_type(‘adverts’, $args);

$labels = array(
‘name’ => ‘Adverts Mobile’,
‘singular_name’ => ‘Advert Mobile’,
‘menu_name’ => ‘Adverts Mobile’,
‘name_admin_bar’ => ‘Advert Mobile’,
‘add_new’ => ‘Add New’,
‘add_new_item’ => ‘Add New Advert Mobile’,
‘new_item’ => ‘New Advert Mobile’,
‘edit_item’ => ‘Edit Advert Mobile’,
‘view_item’ => ‘View Advert Mobile’,
‘all_items’ => ‘All Adverts Mobile’,
‘search_items’ => ‘Search Adverts Mobile’,
‘parent_item_colon’ => ‘Parent Adverts Mobile:’,
‘not_found’ => ‘No advert mobile sites found.’,
‘not_found_in_trash’ => ‘No advert mobile sites found in Trash.’,
);

$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘menu_icon’ => ‘dashicons-id-alt’,
‘query_var’ => true,
‘rewrite’ => array( ‘slug’ => ‘adverts-mobile’ ),
‘capability_type’ => ‘post’,
‘has_archive’ => true,
‘hierarchical’ => false,
‘menu_position’ => 5,
‘supports’ => array( ‘title’, ‘editor’, ‘thumbnail’ ),
);
register_post_type(‘adverts-mobile’, $args);

}

add_action(‘init’, ‘my_custom_posttypes’);

A simple media query ensured that only the mobile one would show at screen widths of less than 1200 pixels, only the desktop advert would show on screen widths of 1200px or more.

@media screen and (min-width:1200px) {
.advert.advert-mobile {
display: none;
}

}

@media screen and (max-width:1199px) {
.advert-main {
display: none;
}
}

The painful part was going through all the affiliate accounts and trying to find appropriate adverts to use – problems abound whether that be one company only having Italian adverts when I searched for English, other companies not having filtering options so I’d have to trawl through to find ones with the right size.  And some god-awful adverts too.  Not to mention spending a good 30 minutes or so trying to work out why they weren’t showing on my website – that’ll be Adblock then.

I think they look quite smart.

saqwer

The final part was having to fit them into the particular pages.  Mostly a straight forward case of finding the section after the navigation and before the have_posts loop starts, in the single, page and index pages.

It consisted of two while loops – one for the desktop advert and the other for the mobile advert custom post type, showing just 1 post (advert) per page, and an orderby type of ‘rand’ so that a different one would be shown each time.  I left a couple of divs in there with different classes in case I want to expand or slightly amend the styling at a later date – though now I think about it I wish I have written it as an include, that would have been more sensible.  Job for tomorrow, then.

<?php

$args = array(
‘post_type’ => ‘adverts’,
‘posts_per_page’ => 1,
‘orderby’ => ‘rand’
);

$adverts = new WP_Query( $args );

while ( $adverts->have_posts() ) : $adverts->the_post();?>

<div class=”advert advert-main”>

<div class=”flex-site-title”><?php the_content() ?></div>

</div>

<?php endwhile;

$args = array(
‘post_type’ => ‘adverts-mobile’,
‘posts_per_page’ => 1,
‘orderby’ => ‘rand’
);

$advertsmobile = new WP_Query( $args );

while ( $advertsmobile->have_posts() ) : $advertsmobile->the_post();?>

<div class=”advert advert-mobile”>

<div class=”flex-site-title”><?php the_content() ?></div>

</div>

<?php endwhile;?>

I am going to look into some more interesting affiliate accounts than just gambling ones.  Perhaps clothing, or music – especially for my music-related blogs.  Then again hardly anyone will see them as they use adblockers like me!

It was a good little task to get myself back into the swing of things after my interview disappointment this week and tomorrow I can get back on with some real coding.