Normalised and Denormalised (aka Denormalized)

Normalised and Denormalised (aka Denormalized)

(Picture from The Illusion of Normal: https://everydayaspergers.com/2012/03/19/day-50-the-illusion-of-normal/)

As always, do please correct me if I’ve got anything wrong.

 

In relational databases: A normalised database is one where every possible entity has its own table, typically with an Id column, which other tables will reference using foreign keys. “Normalisation” refers to the fact that each entity has been separated out into its own table, with the links between entities being upheld via Ids and foreign keys. Each separate piece of data exists only once, and can be accessed by navigating a series of relationships.

For instance you might have Address, Customer, Employee, Invoice, etc. A customer may have a Sales Rep which links to the Employee table via EmployeeId. Meanwhile, the invoice links to the customer via CustomerId, and the customer links to an address via AddressId.

Denormalisation is the process of reducing joins in queries, by adding some redundant and duplicate data to tables. A denormalised database has some duplicated or redundant data. But it means that your queries will have fewer joins. Joins are costly.

Two examples of denormalisation:

1. In the above example, in order to get from Invoice to Sales Rep you have to go via customer, to get the employee Id of the sales rep. Instead, you could duplicate the SalesRepId in the Invoice table.

2. You may want a snapshot of the customer name and address, as they were when the invoice was created (they may have changed since then). If the invoice only accesses name and address via a link to the customer table, you can’t recreate the invoice as it was when it was first sent out. The solution is to copy customer name and address into the Invoice table.

Context:

I worked with relational databases via SQL for many years, but as is often the case with binary terms, I frequently forgot which was which out of “normalised” and “denormalised”, and what exactly they meant.

I’m currently learning about graph databases via Neo4J, and the term “denormalise” came up, and I had to remind myself – yet again – what it meant.

This time though, I wrote it down. Therefore I’m hoping it’ll stick.

 

Projecting Slides on a Mac

Projecting Slides on a Mac

I’ve had a Mac at work for a year now, but I’m still a Windows girl at heart: I’ve only just learnt how to project slides to an external screen from my Mac. It’s useful info, so I’m recording it here.

Unlike Windows (where it’s just Windows key + P), there’s no simple keystroke for this.

Project to an External Display from a Mac:

!! This functionality is only available when you have an external display connected !!

    • Apple icon (top left) | System preferences | Displays (top left, second row down).
    • Click the Arrangement tab (it won’t be there unless you have a cable connecting your laptop to another display).
    • Uncheck Mirror Displays.
      • The good news is that this setting will be remembered, so unless you change it back again (for instance when pairing), it will still be set that way the next time you connect an external display.
    • If you want, arrange the displays so that the extra display is to the left / right of your laptop (to match the actual setup – this can be helpful if you want to drag things between the two screens).
    • This will extend your desktop to two screens, one of which will project to a connected external display, and one of which will be your laptop screen.
    • Then you just make sure your slides are on the projected screen, and your speaker notes are on your laptop.
    • More here: https://support.apple.com/en-gb/HT202351

Display Slides in Presenter View:

Powerpoint:

  • Slide Show | Play from start (or whatever)
  • Hover over the bottom left of the screen while slides are being shown.
  • Click the icon that looks like lines of text on a page
  • Select Use Presenter View

Google Slides:

  • When not in presenter view, there is a Present menu, top right
  • This has a presenter view option – which will open a new tab in the browser with a Speaker Notes header.
  • Click on Speaker Notes, then just separate that browser tab onto your external screen.

Keynote:

  • If you have an external display connected to a Mac, then Keynote will automatically display slides on the external display and show presenter view on your screen (but not necessarily speaker notes – see below).
  • To add speaker notes while editing slides, choose View | Show presenter notes
  • To see speaker notes when presenting (only works when connected to an external display), hover over your screen to see this icon, top right:
    • Screen Shot 2017-11-13 at 12.36.56
  • Click on that icon and it will give you a bewildering array of choices… find the Presenter Notes checkbox, bottom left, and click that. You can also move components around and resize them to look however you want.
  • More here: https://support.apple.com/kb/PH16965?locale=en_GB
Beating Writers’ Block

Beating Writers’ Block

I found this one tip hugely useful when I was writing novels:

Assume that your first draft will be crap.

It helps to know that even professional writers produce crap on their first attempt. It’s allowed to be crap. You can even sort of aim for it to be crap. It’s really really important to suspend your inner critic at the first draft stage. Your inner critic is your worst enemy at that point: your inner critic is a cruel malicious bully who you would never allow anywhere near anybody you loved.

But without that first draft, you have nothing. So: allow yourself to write utter nonsense, because no matter how crap it is, it is content. It is raw material. And you really badly need that raw material in order to proceed.

Once you have the raw material, invite your inner critic back to the party. Now you can edit and craft and hone.

Oh yes, and here’s a sub-item which I guess I learnt so long ago, I’d forgotten about it: Editing your own work is not as bad as you think.

When I was at school writing essays, I only ever wrote one draft and handed it straight in. This was because I couldn’t bear to read my own work back to myself – I always hated it. But then I realised that it was really satisfying to edit my own work, and it meant I could make it a lot better.

So, use the “rubbish first draft” to get you past that first I-don’t-want-to-do-it hurdle, because you are giving yourself permission to produce utter dross. And it doesn’t matter, because you’re going to go back and improve it – which is a really satisfying process.

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.

Four episodes of sexism at tech community events, and how Sal came out of them (eventually) positive

This is a fantastic post by Sal Freudenberg, describing various experiences of sexism that women may have at tech events, and how they can react / what they can do about it.

Agile in the Wild

It is a sad but undeniable fact that our industry remains rife with gender issues. Coming through any form of sexist encounter is incredibly difficult and I can only be grateful that mine were minor enough, and my general situation and support framework strong enough, for me to come through them largely positive about remaining in tech. I tell my stories here as just some examples of situations that happened to me and that I am sure happen to women in technology each and every day. To show how inadvertently harmful they can be, how absolutely normal it is to be upset by them, how they add up day by day, year by year to make us feel marginalized and unwelcome, and to suggest some ways of dealing with them. I also want to show the importance of having a Code of Conduct at events, both to indicate what is…

View original post 1,799 more words

Advice for women (or anyone!) starting a career in tech

(a series of tweets originally sent to @ArrieLay and stored here for posterity…)

Fake it til you make it. Always act like you know what you’re doing, cos You DO – You’re being imperfect, just like everyone else.

Pay attention to people. Focus on empathy. Learn to pair. Learn to collaborate. Celebrate and enable your fellow team members.

Always come to work as yourself. Don’t be afraid to show vulnerabilities, and give others space to show theirs too.

Take risks. Relish your uncomfort zone.

Remember that EVERYBODY feels insecure about their knowledge levels. It’s impossible to know everything, and everybody thinks they are disadvantaged because others know more than them.

Learn to embrace your knowledge gaps. See them as exciting opportunities to learn more. Never be ashamed of them.

Have a questioning attitude, be open about your excitement about learning more. People respond well to it and will help you learn.

Question everything.

Love people. Even the annoying ones. People are great. People are useful. People will help you, whether they mean to or not. 🙂

And for the older amongst us… Age is an advantage, not a curse. Find the wisdom you forgot you had. Age is money in the bank.

Here are some links to some helpful resources for women arriving at or returning to careers in tech: https://insimpleterms.blog/2017/10/13/resources-for-women-arriving-at-or-returning-to-it/

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: https://learntocodewith.me/posts/13-places-women-learn-code/

Code First Girls: https://codefirstgirls.typeform.com/to/ks4bsj

Code First Girls professional courses: http://www.codefirstgirls.org.uk/female-professionals.html

Offline resources: