Category: Coding skills

Hack Manchester 2017: The Challenges

Hack Manchester 2017: The Challenges

I couldn’t find anywhere all the challenges / prizes were listed together, so I’m putting them all on one page for easy comparison.

Follow the links to find out about the sponsors and see more detail / explanation about the challenges:

WebApp UK: Best in Show.

MediaBurst: “Use SMS to help save lives.”

Dunnhumby: “Use technology to enhance the retail experience for a customer in the home or in store.

Ombudsman Services: “Create something that will make a consumer even angrier when registering a complaint.

GCHQ: “Develop a new way to send information to the emergency services.

Carbon Co-op: “Create an energy monitor which would be suitable for a visually impaired user.

Co-op: “Design an app, game, website or other digital service that re-connects people who’ve lost someone with other people and things to do in the places they live.

Texecom: “Use our network of wireless sensors to show us something interesting about the behaviour of people at Manchester Science Festival and the Texecom head office.

Resources for Women Arriving at or Returning to IT

Just a bunch of links really, but hopefully useful…

Women returners:

Mums in technology: 

Tech Mums: 

Equate Scotland: 

13 places where women can learn to code:

Code First Girls:

Code First Girls professional courses:

Offline resources:


CSS Specificity

Specificity is what you use to determine which bit of styling will “win” when there are conflicts. It’s all about how specific your styling is in defining what elements it should be applied to.

There are five different levels of specificity, with most important at the top:

  • !important
    • Wherever this is, it wins
    • It’s BAD. Avoid. It makes a mockery of any other css rules, and makes your css v hard to read / debug.
  • Inline styling
    • (use of the Style=”” attribute within an html element)
  • Id selector
    • !! Remember, this means that your html element has an Id, and you are writing styling which will only apply to that one html element with its own unique Id
      • This means your css will not be reusable!
    • Class, pseudo-class or attribute selector
    • Element or pseudo-element selector
  • So, if there is some styling which uses a level higher up the tree, it will win
  • If there are two pieces of styling at the same level, this is how you decide which will win:
    • Whichever one uses the most selectors at that level will win
    • So, div > ul > li > p will beat div > p
    • If they use the same number, then the one defined most recently (eg lower in the file) will win
  • Notes:
    • uses a numbering system to represent the above levels, eg (0,1,0,3,0)
    • The universal selector (*) has no specificity value (0,0,0,0,0)
    • Pseudo-elements (e.g. :first-line) get 0,0,0,0,1 unlike their psuedo-class brethren which get 0,0,0,1,0
    • The pseudo-class :not() adds no specificity by itself, only what’s inside it’s parentheses.
    • The !important value appended a CSS property value is an automatic win. It overrides even inline styles from the markup. The only way an !important value can be overridden is with another !important rule declared later in the CSS and with equal or great specificity value otherwise. You could think of it as adding 1,0,0,0,0 to the specificity value.

More here (this was where I made these notes from):

Also more here:

Want to learn Git / improve your Git knowledge?

Want to learn Git / improve your Git knowledge?

This list is culled from a thread where people were asking for useful resources when learning Git. A lot of useful recommendations were made, so I’m summarising them here (for my own benefit as much as anything):

I ran a git workshop for some devs earlier this year – I created a repo, a bunch of exercises and some top tips. Everything you need to find your way around should be in the readme:

I find it very helpful to understand what the definition of a branch is: it’s just a commit, which defines the current head of the branch …and that allows you to explain the concept of “detached head”.

I would also encourage people to dig a little into the gitconfig folder and understand what diffs and commit IDs are all about.