How do I prepare best for my first wedding photography event?

I’ll start with a brief* word of advice. (*it grew 🙂 )

Don’t !!!!

If you value the friend’s friendship and that of her sister and new husband, then the chances of them being damaged as a result of your endeavours are high enough to not be worthwhile. You MAY turn out to be a born natural wedding photographer and produce astoundingly marvelous results despite your complete lack of experience, equipment limitations and what all too often happens in such situations. BUT what happens all too often is …. do I need to spell it out.

I describe myself when people ask, to provide a label they may understand, as a “semi professional photographer”. I’m an EE “by day” but photography is an obsession. It more than pays for my equipment if you count my time at say $1 per hour (or less)(post event editing et takes far more time than the actual photo taking). As a hobby that’s great. Most of my photo events are unpaid for. I have photographed stage shows, dancers, 21sts, 1sts (a big thing with some), funerals, receptions, festivals, …., and weddings.

I have photographed maybe 50 weddings total. Maybe more maybe less. People like my results, they say. I do not advertise and get a slow trickle of requests. AND wedding photography is, in my opinion, the hardest, scariest, most demanding, most real time, most unforgiving type of photography I’ve met.

A lot of it is standard enough. But 1st kiss, giving of rings, giving away the bride, walk up the aisle with the quick look at a friend or a glance between father and daughter, and similar only happen once. No second chances. No “wouldn’t focus”, exposure wrong, person in the way, battery flat, memory full, camera “just died” (and yes, I’ve had that happen), lapse of attention, … matter afterwards when the special day photos turn out less than ideal or complete. Bad exposure, out of focus, too far away, nasty lighting, bad colour, poor framing, bad background, … , matter at all afterwards.

I photographed a for-$ 21st birthday a few weeks ago. I had the camera set to “focus priority” rather than “take-the-photo-now-the-focus-is-good-enough-just-do-it” mode. I never usually do this. When the young lady kissed her mother after being given her 21st “key” the camera decided not to focus in time. Very unusual indeed. Very embarrassing. I asked them to do it again and I got 3 good shots. If that had been a wedding and first kiss it would probably have been a permanent missed photo. (And 2 weddings back I had a bride and groom who decided for what ever reason to lean in for one super-super-super fast kiss and that was it. I was ready. If I’d missed it the fact that it was “their fault” would not make up for the missing “essential shot. How well does your system catch that sort of thing. Does it matter to you? Will it matter to them? )

When you have the guts, nerve, stupidity, gear, experience and more to risk spoiling somebody’s special day, give it a go. Until then … .

I love photographing weddings. I enjoy almost every one immensely. At the end of the day I’m sore (almost agony)(spinal fusion this year helped :-), exhausted – and usually very happy. And almost every time I tell myself that it was too scary at the start and I’ll not do any more. Until next time:-).

BUT If you insist:

I do not mean to be rude about the equipment – in many cases it will allow you to get excellent photos and its good enough for many purposes. Assessments below such as “marginal” or “poor” are in a wedding context. Don’t feel bad about the lenses for most purposes. (In more relaxed circumstances your 18-55mm lens can do things like this )

  • Your equipment is ultra marginal in this context.
    Lenses are presumably ‘kit’.
    “Real time”, possibly low-light, demanding focusing, get one shot, fast flash cycling, … is much much easier and safer with ‘good gear’.

  • You do not mention external flash.
    On camera flash is better than none at all, but lacks power when power is needed, cannot “bounce” so must direct illuminate with more risk of harsh and uneven light. On camera flash uses camera-battery energy so you get less shots and need more batteries. You have to take more care not to run out of battery power at critical moments. Flash cycle times get worse with declining state of charge and you have to remember to allow for this so as not to be caught out at crucial moments**.

  • The 75-300 will be too hard to use for various reasons most of the time.
    Presumably the 18-55 is a kit lens.
    Quality will be marginal or worse.
    Low light performance will be poor.
    The master would find it challenging to do a good job with it. You’ll find it much harder.

  • Batteries and memory cards matter and must not be limiting factors.

  • Practice as much as possible in realistic circumstances.

  • You MUST have some sort of equipment backup – plan B if gear fails is ESSENTIAL.
    The camera could produce superb results in the hands of a master. Not being a master would make it more challenging.

  • Thinking of charging at this stage is a bad idea.
    If it’s not fun enough at this point to do it for free, definitely do not do it.

  • IF you can get several people to work together then you may be luckier with results. Or not.

The urge to do your friend a favour is fine – but the better favour may be to not do it. If genuinely nobody else with more experience and better gear is available and affordable and it’s you or the iphones 🙁 then you may have no choice. But hopefully there is a better way.

Ideally – Dont!.

Flash batteries**

For flashes that use AA batteries, I use NimH rechargeables when time to change is not utterly crucial. For the key portions of a wedding or eg stage shows where things happen extremely fast and you want to always be ready, I use good quality AA Alkaline batteries. These have the advantage that they can be discarded or dealt with in a minimalist manner. A set of rechargeable batteries that has value and has to be put somewhere safe so they are not lost but also do not get mixed with new batteries can take precious seconds when it really matters. Under very heavy use batteries (either NimH or Alkaline) will come out of the flash so hot they they cannot be handled (somewhere over 60 degrees C!). Not needing to put them somewhere about your person is most welcome.

Raw & JPG: If your camera will shoot Raw & JPG and you never usually use Raw, try to use both. This takes more memory capacity and may slow down per photo write times. You may not use the Raw images most of the time. But, if a crucial shot has exposure or colour balance issues, a Raw image will increase your chances of image recovery.

database design – Common `event` (datetime) table for say a manufacturing DB, bad idea?

There are many different types of events that can happen during a manufacturing process.

  • Built Step1
  • Build Step2
  • Test
  • Checked into repairs
  • Checkout out of repairs
  • Packaged
  • Dspatched, etc.

I see two ways to model each step:

  1. Have separate independant tables. Each table with its own timestamp field.
  2. Extract the timestamp field from the tables, and place it in a common event tables which has say 2 fields:
    • timestamp field
    • A column which links it to which type of event it is (which table has the specific details for that type of event).
    • Could also have a user field to track who did what etc.

Any reasons why not to use way 2 (event table)? It seems advantages for running reports on what events happened during a certain time frame. A way of uniting events in the factory. But my research seems to always point towards avoiding any common function tables.

c++ – Click event won’t trigger?

When the screens shows, there is one squere when ckicking on the square, it should create 4 squares.
First i made the explosion. This is made in the drawExplosion but when i try to change the enum class of g_status to clicked nothing happens. There is no side effect happening. Normally 4 squares should appear on the side of the window. In the processMouseclicks it checks of the click is in the first square. But when i click the square nothing is drawn, only the clickstatus is changed.

#include "pch.h"
#include "Game.h"
#include <iostream>

//Basic game functions
#pragma region gameFunctions                                            
void Start()
    // initialize game resources here

void Draw()

    // Put your own draw statements here
    switch (g_Status) {
    case ClickStatus::notClicked: { 
        Rectf rect{ g_Center.x - g_SizeExplosion / 2, g_Center.y - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion };
        SetColor(0, 0, 1);
        std::cout << (int)g_Status;
    case ClickStatus::clicked: {


void Update(float elapsedSec)


void End()
    // free game resources here
#pragma endregion gameFunctions

//Keyboard and mouse input handling
#pragma region inputHandling                                            
void OnKeyDownEvent(SDL_Keycode key)


void OnKeyUpEvent(SDL_Keycode key)


void OnMouseMotionEvent(const SDL_MouseMotionEvent& e)


void OnMouseDownEvent(const SDL_MouseButtonEvent& e)

void OnMouseUpEvent(const SDL_MouseButtonEvent& e)


#pragma endregion inputHandling

#pragma region ownDefinitions
// Initialize your own variables here

// Define your own functions here

void DrawExplosion() {

    Rectf rect{ g_Center.x - g_SizeExplosion / 2, g_Center.y - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion };
    SetColor(0, 0, 0);

    SetColor(1, 0, 0);

    FillRect(g_XBackWards - g_SizeExplosion / 2, g_YForwards - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion);
    FillRect(g_XForwards - g_SizeExplosion / 2, g_YBackWards - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion);
    FillRect(g_XBackWards - g_SizeExplosion / 2, g_YBackWards - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion);
    FillRect(g_YForwards - g_SizeExplosion / 2, g_YForwards - g_SizeExplosion / 2, g_SizeExplosion, g_SizeExplosion);


    if (g_XForwards == g_WindowWidth) {
        g_XForwards = g_Center.x;
        g_YForwards = g_Center.y;
        g_XBackWards = g_Center.x;
        g_YBackWards = g_Center.y;

    g_Status = ClickStatus::notClicked;

void ProcessMouseClick() {

    Point2f mouseClick{};
    //Event handler
    SDL_Event e;
    //Main loop flag
    bool quit = false;
    while (!quit)
        while (SDL_PollEvent(&e) != 0)
            //User requests quit
            switch (e.type)
            case SDL_MOUSEBUTTONUP: {
                if (e.button.button == SDL_BUTTON_LEFT) {
                    mouseClick.x = float(e.button.x);
                    mouseClick.y = g_WindowHeight - e.button.y;

                    Point2f bottomRect{ (g_Center.x - g_SizeExplosion / 2),(g_Center.y - g_SizeExplosion / 2) }
                    , topSquare{ (g_Center.x + g_SizeExplosion / 2),(g_Center.y + g_SizeExplosion / 2) };
                    if (mouseClick.x >= bottomRect.x && mouseClick.x <= topSquare.x &&
                        mouseClick.y >= bottomRect.y && mouseClick.y <= topSquare.y)
                        std::cout << "clicked";
                        g_Status = ClickStatus::clicked;
                        std::cout << (int)g_Status;

#pragma endregion ownDefinitions

development – ItemAdded remote event receiver will fire twice if i create a new list item + attach file to it

I have a custom list inside a SharePoint online communication site. and i have attached an ItemAdded remote event receiver to the custom list. now if i create a new list item and i do not attach any file to it >> save the item >> the ItemAdded RER will run once which is fine.

But if i create a new list item and inside the create form i also attach a file >> save the item >> then the RER will run twice. so is there a way to prevent this behavior? or how i can check if the item added is for the list item and not for the attachment ?

Access VBA event for when records load into a form

I am creating an access form, but they do not allow for the size of checkboxes or radio buttons to be changed. To work around this, I have created command buttons that have square and checkbox captions, and that save their state into the table –

Private Sub Command40_Click()
    Me.Command41.Caption = "o"
    Me.Command40.Caption = "þ"
    Me.OnAusNetflix.Value = 1
End Sub

Private Sub Command41_Click()
    Me.Command40.Caption = "o"
    Me.Command41.Caption = "þ"
    Me.OnAusNetflix.Value = 0
End Sub

(o and þ are squares and checked boxes in windings)

Now I need to have the captions of each command button updated when a record is loaded into the form, to display if OnAusNetflix is 0 or 1. To do this I would need an event for whenever the user changes pages of the form, but I don’t know if one exists. Can anyone let me know if one exists, if I can make one, or if theere is a workaround?

sharepoint online – Get email when an event is added to Calendar

I am encountering several of web pages that address email reminders for SharePoint calendars. But, I would like to know how to send an email to someone when any event is added to the calendar. How can I do this or is there a tutorial that shows how to do this? From what I’ve read so far I need to create a workflow but the workflow options are not clear on what needs to be configured. Thank you.

event subscribers – How to remove a role after a user adds a payment method in Commerce?

I am trying to set up a subscription-based site in Drupal 8/Commerce 2.

I’m using Commerce Stripe to process payments. I want to remove a role from a user (“needs to add new card” role) when the user adds a new payment method (credit card via Stripe) on the payment method page (user/UID/payment-methods).

I assume I need to write an event subscriber, but I don’t know which event to use for adding a payment method.

I tried to read through the code in commerce/modules/payment/src/EventSubscriber, but I couldn’t find the event I need to hook into to remove the role.


When a user’s credit card has expired, they need to add a new card (add a new payment method). In this case, I have flagged the users with a role, Add new card role.

Then I show a block to users with the Add new card role that says “Please update your card info.” with a link to add a card.

However, when the user adds a new card, they still see the block asking them to add a new card, which is confusing. So I want to immediately remove the Add new card role (to hide the block) as soon as the user adds a new card.