Bid Writing, Fundraising and Volunteering Workshops

2021-04-19 Thread NFP Workshops

NFP   WORKSHOPS
 Affordable Training Courses



Bid Writing: The Basics


 Do you know the most common reasons for rejection? Are you gathering the right 
evidence? Are you making the right arguments? Are you using the right 
terminology? Are your numbers right? Are you learning from rejections? 

Are you assembling the right documents? Do you know how to create a clear and 
concise standard funding bid? Are you communicating with people or just 
excluding them? Do you know your own organisation well enough? 

Are you thinking through your projects carefully enough? Do you know enough 
about your competitors? Are you answering the questions funders will ask 
themselves about your application? Are you submitting applications correctly?
ONLINE VIA ZOOM
10.00 TO 12.30
COST £95.00
CLICK ON DATE TO BOOK YOUR PLACE
MON 26 APR 2021
MON 10 MAY 2021
MON 24 MAY 2021
MON 07 JUN 2021
MON 21 JUN 2021
MON 05 JUL 2021
MON 19 JUL 2021




Bid Writing: Advanced

 Are you applying to the right trusts? Are you applying to enough trusts? Are 
you asking for the right amount of money? Are you applying in the right ways? 
Are your projects the most fundable projects? 

Are you carrying out trust fundraising in a professional way? Are you 
delegating enough work? Are you highly productive or just very busy? Are you 
looking for trusts in all the right places? 

How do you compare with your competitors for funding? Is the rest of your 
fundraising hampering your bids to trusts? Do you understand what trusts are 
ideally looking for?
ONLINE VIA ZOOM
10.00 TO 12.30
COST £95.00
CLICK ON DATE TO BOOK YOUR PLACE
TUE 27 APR 2021
TUE 11 MAY 2021
TUE 25 MAY 2021
TUE 08 JUN 2021
TUE 22 JUN 2021
TUE 06 JUL 2021
TUE 20 JUL 2021



Corporate Fundraising 

Who are these companies? Why do they get involved? What do they like? What can 
you get from them? What can you offer them? What are the differences between 
donations, sponsorship, advertising and cause related marketing? 

Are companies just like trusts? How do you find these companies? How do you 
research them? How do you contact them? How do you pitch to them? How do you 
negotiate with them? 

When should you say no? How do you draft contracts? How do you manage the 
relationships? What could go wrong? What are the tax issues? What are the legal 
considerations?
ONLINE VIA ZOOM
10.00 TO 12.30
COST £95
CLICK ON DATE TO BOOK YOUR PLACE
THU 29 APR 2021
WED 23 JUN 2021



Recruiting and Managing Volunteers
 Where do you find volunteers? How do you find the right volunteers? How do you 
attract volunteers? How do you run volunteer recruitment events? How do you 
interview volunteers? 

How do you train volunteers? How do you motivate volunteers? How do you involve 
volunteers? How do you recognise volunteers? How do you recognise problems with 
volunteers? How do you learn from volunteer problems? 

How do you retain volunteers? How do you manage volunteers? What about 
volunteers and your own staff? What about younger, older and employee 
volunteers?

ONLINE VIA ZOOM
10.00 TO 12.30
COST £95
CLICK ON DATE TO BOOK YOUR PLACE
THU 13 MAY 2021
WED 07 JUL 2021



Legacy Fundraising 

Why do people make legacy gifts? What are the ethical issues? What are the 
regulations? What are the tax issues? What are the statistics? What are the 
trends? How can we integrate legacy fundraising into our other fundraising? 

What are the sources for research? How should we set a budget? How should we 
evaluate our results? How should we forecast likely income? Should we use 
consultants? How should we build a case for support? 

What media and marketing channels should we use? What about in memory giving? 
How should we setup our admin systems? What are the common problems & pitfalls?
ONLINE VIA ZOOM
10.00 TO 12.30
COST £95
CLICK ON DATE TO BOOK YOUR PLACE
THU 27 MAY 2021
WED 21 JUL 2021



Major Donor Fundraising

 Major Donor Characteristics, Motivations and Requirements. Researching and 
Screening Major Donors. Encouraging, Involving and Retaining Major Donors.

Building Relationships with Major Donors. Major Donor Events and Activities. 
Setting Up Major Donor Clubs. Asking For Major Gifts. Looking After and 
Reporting Back to Major Donors.  
 
Delivering on Major Donor Expectations. Showing Your Appreciation to Major 
Donors. Fundraising Budgets and Committees.   
ONLINE VIA ZOOM
10.00 TO 12.30
COST £95
CLICK ON DATE TO BOOK YOUR PLACE
WED 09 JUN 2021



Feedback From Past Attendees
I must say I was really impressed with the course and the content. My knowledge 
and confidence has increased hugely. I got a lot from your course and a lot of 
pointers! 
I can say after years of fundraising I learnt so much from your bid writing 
course. It was a very informative day and for someone who has not written bids 
before I am definitely more confident to get involved with them. 
I found the workshops very helpful. It is a whole new area for me but the 
information you imparted has given me a lot of confidence wi

[2.2.11] 100% CPU again

2021-04-19 Thread Maciej Zdeb
Hi,

After a couple weeks running HAProxy 2.2.11, one server started to loop on
thread 9. If I'm reading this correctly something went wrong on h2c at
0x7fd7b08d0530.

### show threads
Thread 1 : id=0x7fd8855a2200 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=24099004674002 now=24099004739108 diff=65106
 curr_task=0
  Thread 2 : id=0x7fd883786700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23776498018239 now=23776498104181 diff=85942
 curr_task=0
  Thread 3 : id=0x7fd882b5b700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23713672613057 now=23713672680973 diff=67916
 curr_task=0
  Thread 4 : id=0x7fd881416700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23752667768434 now=23752667910419 diff=141985
 curr_task=0
  Thread 5 : id=0x7fd880c15700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23726859650451 now=23726859726954 diff=76503
 curr_task=0
  Thread 6 : id=0x7fd7d1488700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=2398264056 now=23982641100021 diff=100065
 curr_task=0
* Thread 7 : id=0x7fd7d0c87700 act=1 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=0 wantrdv=0
 cpu_ns: poll=23482398415461 now=23482398534664 diff=119203
 curr_task=0x5557150b7400 (task) calls=1 last=0
   fct=0x55570d2c8f40(task_run_applet) ctx=0x7fd7949a1a20()
 strm=0x7fd87c322d70 src=unix fe=GLOBAL be=GLOBAL dst=
 rqf=c48200 rqa=0 rpf=80008000 rpa=0 sif=EST,28
sib=EST,204018
 af=(nil),0 csf=0x555716465060,8200
 ab=0x7fd7949a1a20,9 csb=(nil),0

 cof=0x7fd791941e90,1300:PASS(0x7fd78411c1f0)/RAW((nil))/unix_stream(1271)
 cob=(nil),0:NONE((nil))/NONE((nil))/NONE(0)

  Thread 8 : id=0x7fd7d0486700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23504865560248 now=23504865701145 diff=140897
 curr_task=0
  Thread 9 : id=0x7fd7cfc85700 act=1 glob=0 wq=1 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=0 wantrdv=0
 cpu_ns: poll=24731954111541 now=24731954183811 diff=72270
 curr_task=0x7fd79e235bf0 (tasklet) calls=1301021937
   fct=0x55570d1c1390(h2_io_cb) ctx=0x7fd7b08d0530

  Thread 10: id=0x7fd7cf484700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23544763552254 now=23544763716578 diff=164324
 curr_task=0
  Thread 11: id=0x7fd7cec83700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23918013478538 now=23918013624911 diff=146373
 curr_task=0
  Thread 12: id=0x7fd7ce482700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23657530305687 now=23657530468631 diff=162944
 curr_task=0
  Thread 13: id=0x7fd7cdc81700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23491571084184 now=23491571212288 diff=128104
 curr_task=0
  Thread 14: id=0x7fd7cd480700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=24048462813219 now=24048462979499 diff=166280
 curr_task=0
  Thread 15: id=0x7fd7ccc7f700 act=0 glob=0 wq=1 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23948328115728 now=23948328275800 diff=160072
 curr_task=0
  Thread 16: id=0x7fd7cc47e700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=24133419414190 now=24133419605024 diff=190834
 curr_task=0
  Thread 17: id=0x7fd7cbc7d700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=24124631248817 now=24124631415673 diff=166856
 curr_task=0
  Thread 18: id=0x7fd7cb47c700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23906001641575 now=23906001827864 diff=186289
 curr_task=0
  Thread 19: id=0x7fd7cac7b700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
 stuck=0 prof=0 harmless=1 wantrdv=0
 cpu_ns: poll=23969313722856 now=23969313891707 diff=168851
 curr_task=0
  Thread 20: id=0x7fd7ca47a700 act=0 glob=0 wq=0 rq=0 tl=0 tlsz=0 rqsz=0
   

Re: [PATCH v2 0/8] URI normalization / Issue #714

2021-04-19 Thread Willy Tarreau
Hi Tim,

On Sat, Apr 17, 2021 at 01:23:15PM +0200, Tim Düsterhus wrote:
> > I think that some of the actions will probably end up being replicated
> > as converters, so maybe in the end the sequence below:
> > 
> > http-request normalize-uri path-merge-slashes
> > http-request normalize-uri path-strip-dotdot
> > 
> > could end up like this:
> > 
> > http-request set-path %[path,path-merge-slashes,path-strip-dotdot]
> > 
> > The pre-release period is the right one to evaluate such options, so
> > I'm not worried about any outcome.
> 
> I would advice against making them into converters, because it forces the
> user to think about the appropriate fetch to use. As an example the
> path-strip-dotdot normalizer probably should not be applied to the query
> string! The actions hide this type of detail from the user which I consider
> to be a good thing.

I disagree with this line of reasoning, because developers must never
decide what users need (and that's something very difficult to do). We
must only help to figure what users really need (compared to what they
ask for), and estimate the technical feasibility and the consistency
with all other parts so that each feature doesn't look like it's been
developed differently.

Each time we tried to impose something it resulted in a specific feature
being corner-cased over time after we had to implement something cleaner
to put an end to horrible workarounds, just like we've seen a lot of
dummy headers being used before variables existed, or headers appended
after the HTTP version in health checks.

I already have counter examples for you here. Imagine I want to normalize
the Referer header in a request. What I'll have to do is:

 http-request set-var(req.uri) url
 http-request set-uri req.fhdr(referer)
 http-request normalize-uri path-merge-slashes
 http-request normalize-uri path-strip-dotdot
 http-request set-header referer url
 http-request set-uri var(req.uri)

And you can be certain that some users might end up with this one (then
they will complain they cannot clean up Location nor Link headers because
normalize-uri only works in the request context). And even when you say
that some users would apply it to the query-string, yes that's possible.
And so what, if they consider they need it ? For example you could have
a query string made of an optionally base64-encoded URL to redirect to
after a successful login. It could make sense for some users to decide
to base64-decode, normalize, and re-encode, to make sure it's not being
abused for example. Or in some cases it can make sense to apply the
transformation only for a match against certain patterns without applying
it to the request itself.

I perfectly understand that some transformations may require the whole
URI for various reasons, but for those that could be expressed on
individual parts, I do think that converters will be way more flexible
over the long term.

There's no rush on this, but I think it's something to keep in mind,
to see which ones might be separated and be provided as converters
as well. We may do that during 2.5-dev and possibly backport them
if there is some demand.

Cheers,
Willy



Re: [PATCH v2 0/8] URI normalization / Issue #714

2021-04-19 Thread Tim Düsterhus

Christopher,

On 4/19/21 9:10 AM, Christopher Faulet wrote:

All in all: I think that the 8 v2 patches + the 3 patches from this
morning together result in something that is appropriate for HAProxy 2.4.


I pushed all the series. Thanks !



Awesome, thank you! I'll then look into the last few normalizers that I 
planned to add and I'm looking forward to feedback from the users :-)


Best regards
Tim Düsterhus



Re: [PATCH v2 0/8] URI normalization / Issue #714

2021-04-19 Thread Christopher Faulet

Le 17/04/2021 à 13:23, Tim Düsterhus a écrit :

I added the experimental marking in the 3rd patch this morning.

Generally I think that it looks solid enough, though. During development
I carefully researched the relevant documentation (e.g. the URI RFC) and
tested the behavior of different clients and servers. It also comes with
quite a few tests ensuring that the normalizers behave like I expect
them to.

Nonetheless I might have missed something and correct handling of URIs
is a sensitive part of the request handling, so an experimental note
still is appropriate.

All in all: I think that the 8 v2 patches + the 3 patches from this
morning together result in something that is appropriate for HAProxy 2.4.


Tim,

I pushed all the series. Thanks !

--
Christopher Faulet