Skip to content

Commit

Permalink
XS✔ ◾ Rename the folders to match the rules URI (#8536)
Browse files Browse the repository at this point in the history
* rename folder to match rules uri

* Auto-fix Markdown files

* rename folders - round 2

* Auto-fix Markdown files

* add old folder name to the redirects

* Auto-fix Markdown files

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
  • Loading branch information
Aibono1225 and github-actions[bot] authored May 11, 2024
1 parent 72ff938 commit 988bdb7
Show file tree
Hide file tree
Showing 37 changed files with 112 additions and 121 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,15 @@ In other words, you should not have the image dimensions specified in HTML unles
``` html
<img src="images/codeauditor-logo.png" alt="Code Auditor logo" width="150" height="100" />
```

::: bad
![Figure: Bad example - Stretched image caused by inline height/width ratio that doesn't match](streched-image.jpg)
:::

``` html
<img src="images/codeauditor-logo.png" alt="Code Auditor logo" />
```

::: good
![Figure: Good example - Avoiding inline height/width ratio keeps the image as original](non-streched-image.jpg)
:::
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ redirects:

---

According to Sydney Morning Herald's "[Flame emails missing the mark](https://www.smh.com.au/national/flame-emails-missing-the-mark-20060216-gdmze2.html)":
According to Sydney Morning Herald's "[Flame emails missing the mark](https://www.smh.com.au/national/flame-emails-missing-the-mark-20060216-gdmze2.html)":

> "The senders of email messages expected their partners to correctly interpret their tone nearly 80% of the time, but in fact, they only scored just over 50%... Those attempting to interpret the message believed they had scored 90% accuracy".
Expand All @@ -31,7 +31,8 @@ Because there is no "tone of voice" in an email, sarcasm can easily be misinterp
| Subject: | Keeping our office clean |
::: email-content

### John,
### John

Make sure your office is clean when clients come in - you might scare them away with all that mess.

:::
Expand All @@ -47,8 +48,9 @@ Bad example: This is bad because it may seem like John is being reprimanded, eve
| Subject: | Keeping our office clean |
::: email-content

### Hey John,
Make sure your office is clean when clients come in - you might scare them away with all that mess :)
### Hey John

Make sure your office is clean when clients come in - you might scare them away with all that mess :)

:::
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ authors:
- title: Matt Goldman
url: https://ssw.com.au/people/matt-goldman
related: []
redirects: []
redirects:
- do-you-know-how-to-check-your-social-media-stats
created: 2023-10-23T02:43:16.000Z
archivedreason: null
guid: 252e7a0e-c32f-41b4-9f08-f3f577a6187a
Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
---
type: rule
title: Do you know why YARP is awesome?
uri: do-you-know-yarp-is-awesome
authors:
- title: Ozair Ashfaque
url: https://www.ssw.com.au/people/ozair-ashfaque/
- title: William Liebenberg
url: https://www.ssw.com.au/people/william-liebenberg/
- title: Christian Morford-Waite
url: https://www.ssw.com.au/people/christian-morford-waite/
created: 2023-11-22T22:33:15.448Z
guid: c86ca5a3-a44a-441f-8804-8b67d0b589bc

---

YARP, or Yet Another Reverse Proxy, is a .NET toolkit designed for building fast proxy servers. It seamlessly integrates with ASP.NET and .NET infrastructure, offering easy customization to suit specific deployment needs. YARP operates within the ASP.NET pipeline, handling incoming requests and utilizing its sub-pipeline for proxying requests to backend servers. Users can extend functionality by adding or replacing modules as required.

YARP uses the concept of **Routes** to represent request patterns for the proxy and **Clusters** to represent the services to forward those requests.

<!--endintro-->

![Figure: YARP is a reverse proxy that acts as the public endpoint for a site or service and forwards calls to backend servers](reverse-proxy.png)

**Source:** [Announcing YARP 1.0 Release](https://devblogs.microsoft.com/dotnet/announcing-yarp-1-0-release/)

### ✅ Advantages of YARP

Numerous API gateways and reverse proxy implementations, including [NGINX](https://www.nginx.com/) and [Ocelot](https://github.com/ThreeMammals/Ocelot), are already available for use. However, YARP distinguishes itself with its unique attributes. YARP seamlessly integrates into the ASP.NET environment, offering effortless customization to meet specific requirements. YARP offers a comprehensive set of features for building and managing reverse proxy solutions, including:

* **Dynamic route definitions:** Enables the definition of routes in a dynamic configuration, allowing flexibility in specifying how incoming requests are handled
* **Extensible pipeline model:** Customize the proxy behavior using a modular pipeline architecture
* **Load balancing:** Employ various load-balancing algorithms to distribute traffic effectively
* **Session Affinity:** Ensures that requests from a specific client are consistently directed to the same destination server, promoting continuity and predictability in the user experience
* **Request and response transformation:** Allows developers to apply transformations to requests sent to or responses received from destination servers. This feature facilitates the customization of data before it reaches its destination
* **Route-level authorization and CORS:** Permits the specification of authorization and Cross-Origin Resource Sharing (CORS) settings on a per-route basis. This ensures fine-grained control over access and security policies for different routes
---
type: rule
title: Do you know why YARP is awesome?
uri: do-you-know-yarp-is-awesome
authors:
- title: Ozair Ashfaque
url: https://www.ssw.com.au/people/ozair-ashfaque/
- title: William Liebenberg
url: https://www.ssw.com.au/people/william-liebenberg/
- title: Christian Morford-Waite
url: https://www.ssw.com.au/people/christian-morford-waite/
created: 2023-11-22T22:33:15.448Z
guid: c86ca5a3-a44a-441f-8804-8b67d0b589bc

---

YARP, or Yet Another Reverse Proxy, is a .NET toolkit designed for building fast proxy servers. It seamlessly integrates with ASP.NET and .NET infrastructure, offering easy customization to suit specific deployment needs. YARP operates within the ASP.NET pipeline, handling incoming requests and utilizing its sub-pipeline for proxying requests to backend servers. Users can extend functionality by adding or replacing modules as required.

YARP uses the concept of **Routes** to represent request patterns for the proxy and **Clusters** to represent the services to forward those requests.

<!--endintro-->

![Figure: YARP is a reverse proxy that acts as the public endpoint for a site or service and forwards calls to backend servers](reverse-proxy.png)

**Source:** [Announcing YARP 1.0 Release](https://devblogs.microsoft.com/dotnet/announcing-yarp-1-0-release/)

### ✅ Advantages of YARP

Numerous API gateways and reverse proxy implementations, including [NGINX](https://www.nginx.com/) and [Ocelot](https://github.com/ThreeMammals/Ocelot), are already available for use. However, YARP distinguishes itself with its unique attributes. YARP seamlessly integrates into the ASP.NET environment, offering effortless customization to meet specific requirements. YARP offers a comprehensive set of features for building and managing reverse proxy solutions, including:

* **Dynamic route definitions:** Enables the definition of routes in a dynamic configuration, allowing flexibility in specifying how incoming requests are handled
* **Extensible pipeline model:** Customize the proxy behavior using a modular pipeline architecture
* **Load balancing:** Employ various load-balancing algorithms to distribute traffic effectively
* **Session Affinity:** Ensures that requests from a specific client are consistently directed to the same destination server, promoting continuity and predictability in the user experience
* **Request and response transformation:** Allows developers to apply transformations to requests sent to or responses received from destination servers. This feature facilitates the customization of data before it reaches its destination
* **Route-level authorization and CORS:** Permits the specification of authorization and Cross-Origin Resource Sharing (CORS) settings on a per-route basis. This ensures fine-grained control over access and security policies for different routes
Original file line number Diff line number Diff line change
Expand Up @@ -18,34 +18,34 @@ You can use mail merge template to send emails to various accounts and multiple

<!--endintro-->

1. Within Dynamics, click **Marketing Lists** in the left-hand column, and then click on the drop-down list at the top and select My active marketing lists
1. Within Dynamics, click **Marketing Lists** in the left-hand column, and then click on the drop-down list at the top and select My active marketing lists
![Figure: Find your active marketing lists to send out an email blast with mail merge templates](send-email-email-template-2.png)

2. Click on the marketing list you want to send the email blast to
2. Click on the marketing list you want to send the email blast to
![Figure: selection of marketing list](send-email-email-template-3.png)

3. Select New Quick Campaign
3. Select New Quick Campaign
![Figure: Selecting New Quick Campaigns](send-email-email-template-4.png)

4. The Create Quick Campaign Wizard will then pop up, select **Next**
4. The Create Quick Campaign Wizard will then pop up, select **Next**

5. Create a name for your Campaign
5. Create a name for your Campaign

6. Select Email as the Activity type
6. Select Email as the Activity type
![Figure: Selecting Email as your activity type](send-email-email-template-5.png)

7. Select **Assign to me**, and decide whether you want email activities to be closed after sending (usually, you will want to close them)
7. Select **Assign to me**, and decide whether you want email activities to be closed after sending (usually, you will want to close them)

8. Select “Use Template”, and click on the magnifying glass in the bar below
8. Select “Use Template”, and click on the magnifying glass in the bar below
![Figure: Searching for the template you want to use](send-email-email-template-6.png)

9. Scroll through until you find the template you want to use
9. Scroll through until you find the template you want to use
![Figure: Template selection](send-email-email-template-7.png)

10. Set the Priority to match the situation (urgent, normal etc.)
10. Set the Priority to match the situation (urgent, normal etc.)

11. The subject and body/content of the activity/email are already covered by the template you’ve chosen
11. The subject and body/content of the activity/email are already covered by the template you’ve chosen

12. If you want to include it, the **Duration** is the anticipated number of minutes it will take the recipient to complete the activity or read the email. Select the appropriate timebox, if you so choose. Then, select **Next**
12. If you want to include it, the **Duration** is the anticipated number of minutes it will take the recipient to complete the activity or read the email. Select the appropriate timebox, if you so choose. Then, select **Next**

13. Finally, select **Create**, and the Quick Campaign will initiate the activity, in this case sending an email (using the mail merge template) and send it out to everyone on the marketing list that you originally selected
13. Finally, select **Create**, and the Quick Campaign will initiate the activity, in this case sending an email (using the mail merge template) and send it out to everyone on the marketing list that you originally selected
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -27,39 +27,49 @@ It's been called 'herding cats'. Managing the project team and keeping the clien

Some activities are run internally; some are run with the client.

## Monday
## Monday

#### Internal activity
- [Stand Up meeting (or Daily Scrum)](/methodology-do-you-do-daily-scrums-aka-stand-up-meetings)
- [Management Reporting| Build review](/management-do-you-enforce-deadlines-have-a-project-release-plan-a-debrief-and-a-mark-10)
- Build Review

## Tuesday
* [Stand Up meeting (or Daily Scrum)](/methodology-do-you-do-daily-scrums-aka-stand-up-meetings)
* [Management Reporting| Build review](/management-do-you-enforce-deadlines-have-a-project-release-plan-a-debrief-and-a-mark-10)
* Build Review

## Tuesday

#### Internal activity
- Stand Up meeting (or Daily Scrum)

#### Activity with the client
- [Conduct a test please with the client](/conduct-a-test-please-internally-and-then-with-the-client)
- [Triage additional item requests](/estimating-do-you-know-what-tasks-are-involved-in-addition-to-just-development-work-items)
- [Obtain approval for additional items and budget overuns](/do-you-email-clients-as-soon-as-you-realise-you-will-overrun-your-original-estimate)
- [Release update/debrief](/management-do-you-have-a-release-update-debrief-meeting-on-a-weekly-basis)
- Release sign-off
- Release deployment
- Next Release approved

## Wednesday

* Stand Up meeting (or Daily Scrum)

#### Activity with the client

* [Conduct a test please with the client](/conduct-a-test-please-internally-and-then-with-the-client)
* [Triage additional item requests](/estimating-do-you-know-what-tasks-are-involved-in-addition-to-just-development-work-items)
* [Obtain approval for additional items and budget overuns](/do-you-email-clients-as-soon-as-you-realise-you-will-overrun-your-original-estimate)
* [Release update/debrief](/management-do-you-have-a-release-update-debrief-meeting-on-a-weekly-basis)
* Release sign-off
* Release deployment
* Next Release approved

## Wednesday

#### Internal activity
- Stand Up meeting (or Daily Scrum)

## Thursday
* Stand Up meeting (or Daily Scrum)

## Thursday

#### Internal activity
- Stand Up meeting (or Daily Scrum)
- [Architecture/code review](/rules-to-better-architecture-and-code-review)

* Stand Up meeting (or Daily Scrum)
* [Architecture/code review](/rules-to-better-architecture-and-code-review)

## Friday

## Friday
#### Internal activity
- Stand Up meeting (or Daily Scrum)
- [Internal build](https://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSetups.aspx#BuildVersionDay)
- Conduct an internal test please


* Stand Up meeting (or Daily Scrum)
* [Internal build](https://www.ssw.com.au/ssw/Standards/Rules/RulesToBetterSetups.aspx#BuildVersionDay)
* Conduct an internal test please

![Figure: Only with a strict project schedule can the manager coach the team to success!](ProjectManagement_Coach.jpg)
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ authors:
url: https://ssw.com.au/people/adam-cogan/
created: 2014-03-14T05:11:00.000Z
guid: 29a93435-13e1-48cf-a7fe-a4bff028e356
redirects:
- do-you-know-why-you-should-move-vb6-applications-to-net
---
.NET is a much better solution than VB6 in the following areas.

<!--endintro-->

1. Performance is much better as code ultimately gets compiled to the native platform and .NET was designed for performance. Microsoft has many real-world examples that show the performance and scalability of .NET.
2. As far as size goes, you could be concerned with resource utilization (memory) or the amount of code. As far as resources, VB.NET is similar to VB (and maybe a little heavier for small apps). Part of this footprint is due to the automatic memory management built into .NET, but that is one of the reasons .NET applications exhibit good performance. As far as code goes, you'll write much less code in VB.NET than VB6 since the .NET platform has much more built into it.
3. VB.NET is designed with asynchronous operations in mind and it's very easy to develop spooling type operations.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,15 @@ authors:
url: https://ssw.com.au/people/yang-shen
related:
- managing-linkedin-for-international-companies
redirects: []
redirects:
- do-you-post-multilingual-posts-on-social-media
created: 2020-09-25T05:34:57.000Z
archivedreason: null
guid: 696842e3-372b-4842-b9cb-a9e64bfeea9a
---
If you have an office in more than one country, a great way to show your diversity and connect with your different audiences is through posting multilingual social media. 
If you have an office in more than one country, a great way to show your diversity and connect with your different audiences is through posting multilingual social media.

Building and maintaining a multilingual social media presence is not an easy undertaking, but when done properly it is well worth the time and effort. It allows you to truly connect with your audience regardless of which language they speak. International customers will appreciate the fact that your brand has taken time to communicate with them in their native tongue, it will also help establish their trust in your ability to understand them, and shows that you don't have to rely on dodgy automatic translations that often go wrong. 
Building and maintaining a multilingual social media presence is not an easy undertaking, but when done properly it is well worth the time and effort. It allows you to truly connect with your audience regardless of which language they speak. International customers will appreciate the fact that your brand has taken time to communicate with them in their native tongue, it will also help establish their trust in your ability to understand them, and shows that you don't have to rely on dodgy automatic translations that often go wrong.

<!--endintro-->

Expand All @@ -25,5 +26,5 @@ For example, at SSW, we have an awesome office in Hangzhou, China, that offers
<iframe src="https://www.facebook.com/plugins/post.php?href=https%3A%2F%2Fwww.facebook.com%2FSSWChina%2Fposts%2Fpfbid03fUiYBwiPZ9nrCUSKduWLisErAGcUrVb1mmV7jPpgR9ttgM1U4YNYzSMkgReSpTbl&show_text=true&width=500" width="500" height="718" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share"></iframe>

::: good
Good example: SSW China post their social media in both English and Chinese 中文, because it helps establish trust with our audience that we understand them, helps us target a wider audience and proves that we can help bridge the language barrier. 
:::
Good example: SSW China post their social media in both English and Chinese 中文, because it helps establish trust with our audience that we understand them, helps us target a wider audience and proves that we can help bridge the language barrier.
:::
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,13 @@ When your team has completed an important milestone successfully, they should be
| Subject: | Project completed on budget and customer happy - reward! |
::: email-content

### Hey team,
### Hey team

Congratulations on completing the project on time!  We will celebrate by going for lunch together at Bistro Paris on Friday!  We have a budget of $50 per team member!

### Hi \<Client Name\>,
If you are available it would be great if you could join us.  Meet at the SSW office in Neutral Bay at 12:45pm.
### Hi \<Client Name\>

If you are available it would be great if you could join us.  Meet at the SSW office in Neutral Bay at 12:45pm.

:::
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ created: 2019-05-02T03:53:19.000Z
archivedreason: null
guid: 1dc915b5-9542-42af-aa2b-f8acda6edc6e
---
Did you know that you can import your Google Ad campaigns directly into Microsoft Advertising? 
Did you know that you can import your Google Ad campaigns directly into Microsoft Advertising?

If you already are using Google Ads to advertise on Google, you can import these campaigns into Microsoft Advertising so that you can run the same ads on Bing. This is an easy way to expand your online advertising reach. Microsoft Bing is the second most popular search engine in the world, and you could be missing out on valuable traffic by not utilising their ad platform. 
If you already are using Google Ads to advertise on Google, you can import these campaigns into Microsoft Advertising so that you can run the same ads on Bing. This is an easy way to expand your online advertising reach. Microsoft Bing is the second most popular search engine in the world, and you could be missing out on valuable traffic by not utilising their ad platform.

<!--endintro-->

Expand Down Expand Up @@ -63,4 +63,4 @@ Most items from Google Ads import seamlessly into Microsoft Advertising. However

* Bids and budgets
* Targeting options
* Negative keywords
* Negative keywords
File renamed without changes.
Loading

0 comments on commit 988bdb7

Please sign in to comment.