Category Archives: Understanding

Thank you. You are too kind

So. Here I sit. On the train. Typing on my traveltop; that’s my netbook, I call it that because I normally only use it when I am away on holiday. I am not on holiday today. Today I just wanted to write. I’ve been wanting to write for some time but just haven’t sat down to do it, until now.

There’s quite a lot I wanted to write about. One of the topics being my adequacy as a developer and the adequacy of myself in general. But… I mostly forgot what it was I wanted to say. I know when I originally thought it, it was stunningly profound.

Something else I wanted to write about was the duality of self, of my self. I read in Stephen King’s book, On Writing, that you should not use language that does not “fit” you. I believe I follow his advice in most cases when I write. What I’ve noticed that the words that “fit” when I write are different to the words that “fit” when I speak. I would never verbally use the word vocation but when writing, talking about my vocation feels natural. It’s interesting that my vocabulary should change depending on the medium of communication. Then again, the more I think about it, considering the little I’ve learned about brain function, it seems perfectly normal that your vocabulary should change when medium of communication changes.

I remember now what it was I wanted to say. I constantly battle with myself and my self, trying to figure out if I am good at what I do or just above average.

I have always thought of myself as being bad at things or at least not good enough. And when I do get complements, I frequently brush it off because “they don’t know what they are talking about as they are laymen” or if they do know what they are talking about, “they don’t have enough specific knowledge on the niche area of the subject that they are somehow misinformed” or even simply “just mistaken”. Take an example, being a developer, Dev Leads, Tech Leads, peers, even a few Technical Directors have told me that my skills are valuable. And the vast majority of every company I have worked for has asked me to come back and work for them again, stay on longer or asked me to come on full time. Some of those companies are even well known for having a really strict hiring policy. Somehow even after all that positive affirmation, I still don’t think I am worth my weight in salt (I wonder what I would do with 80kg [£69.34] of salt).

Anyway, I realised something the other day. I’ve always compared myself to people better than me. I’m not sure if all people do this, but with me, I only compare myself to people better than me, or at least people who I think are better than me or have a skill I want or am envious of. If someone isn’t better, they won’t feature on my personal scale of comparison. I am generalising but do you realise what that means? On my scale, I’m always worse than everyone else. If the scale was based on 1 – 10, I’m always a 1. How crazy is that shit?

I think it’s sad that this is how I choose to define myself. Now that I know about it, I think I can change this. I don’t know if this is normal. Is this normal? I don’t think it can good for the self-esteem. It does explain some aspects about myself though. For a start, it explains is how I am unable to accept a compliment: If in the past I received a complement, in my head I appreciated your kindness anyway and thanked you, almost always in an awkward way.

How do I fix this? How do you change a mindset? Is actively knowing about it and being aware enough?

Update: I saw this online today, looks like it’s a part of the human condition.

aBqoY

 

Learning Adobe Illustrator… or not

I have no idea what it is I am trying to do but I want to learn how to do it. It could be argued that my time would be used best if I was learning Java and Android. I am not sure where I got the idea that I have to be methodic and algorithmic OR creative and visual. I also have no idea when I got the idea that doing both would be counter productive and when I actually started believing these ridiculous ideas. I really do need to let go of such limiting notions.

For me to get a design for my fledgeling company, I got the idea that I didn’t want to spend money but I wanted it to look good and professional. So I figured I would do it myself. It would cost nothing and I would be directly responsible for the quality of the design. However I know that I am not a designer and even though my eye for detail has improved much I know people with a much better eye. So, if I did get a designer to do it, it would look more professional than I could ever get. See… this then gave me the fear to start the design process because I believed my design will never be as good as it should/could be. (It’s a shit reason not to do something, I know. Surely something is better than nothing)

Now that I listen to my thoughts, I think I don’t want to spend money because I fear that my business won’t work out and I am scared to start it so any I money I spend would then be a waste. I also think I don’t want to get a designer because I feel that I will be relinquishing some form of control. The other thing is that I fear I might get ripped off? Charged and exorbitant amount for my design.

Ok, I can’t think that way about failing. Failure in this case would be not even trying. So if you are going to start a business you need to jump in feet first. Jumping in feet first means that you are going to give it your all. If that’s the case you should have no fear of spending money on the design.

Losing control because you outsourced your design? You’re joking right? I think your real fear there is that it means that you will have to tell someone what you want to do and that means opening yourself up for criticism.

Getting ripped off? Maybe it’s valid, but I think that is just an excuse… another thing just to say no. To stop you. Sure it’s possible that you should have more confidence in your design ability. I think though that the mere fact that you don’t know the software means it’s gonna take you longer to do anything. As for the cost, you still need to spend time on the code, correct? Surely your time is better spent on that until your skills with the software are better?

Awesome, I didn’t even know I was blocked until I started writing this. Finding a block and resolving it. Success!

Hmmm this has removed almost all my reasons to learn illustrator. The last one I have left is space panda. I was meant to talk about how all tutorials I found for illustrator are all really complex. I struggled to find the really basic basic tutorials. Ones that assume Zero knowledge.

This one looked like a good start. I have not actually done it yet because I have been doing this post but it’s got pause-able video,  voice over and on the surface looks really easy. It’s drawing a heart, how hard could that be? I will let you know how it goes when I get around to it… which should be in London.

Fortune favours the brain

I didn’t really want to write a blog post. Technically I should be designing a site for my new project. But hey…. what can you do?

The intended outcome of the post I didn’t want to write was that you would think me smart and awesome. So I was going to pretend to write a post about how times have changed. About how society prizes those who had physical strength and brawn but now intelligence and the mind is what is more highly sought after. The punchline of the article was going to be that it used to be “Fortune favours the brave” but now in today’s climate it’s  “Fortune favours the brain”. (That’s not to say that the old saying is no longer relevant).

Awesome huh? I think it’s awesome. I think it’s awesome because I took an age old saying, modified it slightly by changing two letters and created profound meaning.

This is one for my quotation site.

Plug and play code

I am a PHP programmer. Quite a seasoned developer if I say so myself. I have a background in computer science and have been doing commercial programming for almost 5 years now. So I have learnt a lot about programming and programming for the web. One of the things I love in an application is clean data. So that means trying to make sure no garbage data gets into your database. To do there are a lot of things you can do.

One example of this is email validation. On the surface email validation a simple task. Take the email address your user has typed in, apply some tests to it and make sure it’s valid. One of the ways to do this is with regular expressions. As with any data filtering or data filtering task, you can do something basic or you can try to cater for all cases. To give you an example of the complexity of email filtering, lets break down the parts of an email address. An email address consists of 3 parts: the user name, the @ symbol and the domain name. Simple enough. But to what extent do you want to make sure it’s clean? The most basic option is to check that it has those parts in the correct order. A level up from that is to do the previous check and then check that the user name contains only valid email address characters. From that you could also check that that the domain name is made up of two or more part separated by a dot. A step up from that is to do the previous three checks and check that domain has a valid domain extension. One up from that is to do all previous checks and then also check that the domain actually exists and resolves. This is all I am aware of but there might be additional checks you can do.

So anyways for simplicity sake lets just say you want to check the format is correct, the user name has valid characters and the domain name is made up of two or more parts. All of this could be achieved with a regular expression.

If you use PHP as I do, you could easily find a bit of code for this on the internet, hundreds maybe thousands of different iterations of code all claiming to do the same thing: Validate an email address.

The only problem is, I don’t trust source code found on individual’s pages on the web. I don’t know that user’s credentials. I don’t know what he knows, I don’t know what sources he used to build that code. Or if he used sources at all. And because it’s something that is seemingly so simple, it’s easy to not do it correctly. Unless it is a trusted library or comes from a person who I know to be of a specific standard, I won’t use that code. Otherwise, I want to be able to see the references used so that if it comes to it I can check that it claims to do what it says it does. If those references are there my test need to be even more rigorous than I would need for trusted components, meaning that I might as well have written it myself.

I noticed myself doing this the other day. Just a little tech… sigh… Tired of writing now. Guess I won’t be doing what little spell /  sanity check I usually do.