Bid Writing, Fundraising and Volunteering 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
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
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
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
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