text:
Q: How to build a query string for a URL in C#? A common task when calling web resources from a code is building a query string to including all the necessary parameters. While by all means no rocket science, there are some nifty details you need to take care of like, appending an & if not the first parameter, encoding the parameters etc.
The code to do it is very simple, but a bit tedious:
StringBuilder SB = new StringBuilder();
if (NeedsToAddParameter A)
{
  SB.Append("A="); SB.Append(HttpUtility.UrlEncode("TheValueOfA"));
}

if (NeedsToAddParameter B)
{
  if (SB.Length>0) SB.Append("&");
  SB.Append("B="); SB.Append(HttpUtility.UrlEncode("TheValueOfB")); }
}

This is such a common task one would expect a utility class to exist that makes it more elegant and readable. Scanning MSDN, I failed to find one—which brings me to the following question:
What is the most elegant clean way you know of doing the above?

A: Add this class to your project
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

public class QueryStringBuilder
{
    private readonly List<KeyValuePair<string, object>> _list;

    public QueryStringBuilder()
    {
        _list = new List<KeyValuePair<string, object>>();
    }

    public void Add(string name, object value)
    {
        _list.Add(new KeyValuePair<string, object>(name, value));
    }

    public override string ToString()
    {
        return String.Join("&", _list.Select(kvp => String.Concat(Uri.EscapeDataString(kvp.Key), "=", Uri.EscapeDataString(kvp.Value.ToString()))));
    }
}

And use it like this:
var actual = new QueryStringBuilder {
    {"foo", 123},
    {"bar", "val31"},
    {"bar", "val32"}
};

actual.Add("a+b", "c+d");

actual.ToString(); // "foo=123&bar=val31&bar=val32&a%2bb=c%2bd"

A: You can create a new writeable instance of HttpValueCollection by calling System.Web.HttpUtility.ParseQueryString(string.Empty), and then use it as any NameValueCollection. Once you have added the values you want, you can call ToString on the collection to get a query string, as follows:
NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty);

queryString.Add("key1", "value1");
queryString.Add("key2", "value2");

return queryString.ToString(); // Returns "key1=value1&key2=value2", all URL-encoded

The HttpValueCollection is internal and so you cannot directly construct an instance. However, once you obtain an instance you can use it like any other NameValueCollection. Since the actual object you are working with is an HttpValueCollection, calling ToString method will call the overridden method on HttpValueCollection, which formats the collection as a URL-encoded query string.
After searching SO and the web for an answer to a similar issue, this is the most simple solution I could find.
.NET Core
If you're working in .NET Core, you can use the Microsoft.AspNetCore.WebUtilities.QueryHelpers class, which simplifies this greatly.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.webutilities.queryhelpers
Sample Code:
const string url = "https://customer-information.azure-api.net/customers/search/taxnbr";
var param = new Dictionary<string, string>() { { "CIKey", "123456789" } };

var newUrl = new Uri(QueryHelpers.AddQueryString(url, param));

A: Untested, but I think something along these lines would work quite nicely
public class QueryString
{
    private Dictionary<string,string> _Params = new Dictionary<string,string>();

    public overide ToString()
    {
        List<string> returnParams = new List<string>();

        foreach (KeyValuePair param in _Params)
        {
            returnParams.Add(String.Format("{0}={1}", param.Key, param.Value));
        }

        // return String.Format("?{0}", String.Join("&", returnParams.ToArray()));

        // credit annakata
        return "?" + String.Join("&", returnParams.ToArray());
    }

    public void Add(string key, string value)
    {
        _Params.Add(key, HttpUtility.UrlEncode(value));
    }
}

QueryString query = new QueryString();

query.Add("param1", "value1");
query.Add("param2", "value2");

return query.ToString();

A: My offering:
public static Uri AddQuery(this Uri uri, string name, string value)
{
    // this actually returns HttpValueCollection : NameValueCollection
    // which uses unicode compliant encoding on ToString()
    var query = HttpUtility.ParseQueryString(uri.Query);

    query.Add(name, value);

    var uriBuilder = new UriBuilder(uri)
    {
        Query = query.ToString()
    };

    return uriBuilder.Uri;
}

Usage:
var uri = new Uri("http://stackoverflow.com").AddQuery("such", "method")
                                             .AddQuery("wow", "soFluent");

// http://stackoverflow.com?such=method&wow=soFluent

A: In dotnet core QueryHelpers.AddQueryString() will accept an IDictionary<string,string> of key-value pairs. To save a few memory allocs and CPU cycles you can use SortedList<,> instead of Dictionary<,>, with an appropriate capacity and items added in sort order...
var queryParams = new SortedList<string,string>(2);
queryParams.Add("abc", "val1");
queryParams.Add("def", "val2");

string requestUri = QueryHelpers.AddQueryString("https://localhost/api", queryParams);

A: Combined the top answers to create an anonymous object version:
var queryString = HttpUtility2.BuildQueryString(new
{
    key2 = "value2",
    key1 = "value1",
});

That generates this:

key2=value2&key1=value1

Here's the code:
public static class HttpUtility2
{
    public static string BuildQueryString<T>(T obj)
    {
        var queryString = HttpUtility.ParseQueryString(string.Empty);

        foreach (var property in TypeDescriptor.GetProperties(typeof(T)).Cast<PropertyDescriptor>())
        {
            var value = (property.GetValue(obj) ?? "").ToString();
            queryString.Add(property.Name, value);
        }

        return queryString.ToString();
    }
}

A: A quick extension method based version:
class Program
{
    static void Main(string[] args)
    {
        var parameters = new List<KeyValuePair<string, string>>
                             {
                                 new KeyValuePair<string, string>("A", "AValue"),
                                 new KeyValuePair<string, string>("B", "BValue")
                             };

        string output = "?" + string.Join("&", parameters.ConvertAll(param => param.ToQueryString()).ToArray());
    }
}

public static class KeyValueExtensions
{
    public static string ToQueryString(this KeyValuePair<string, string> obj)
    {
        return obj.Key + "=" + HttpUtility.UrlEncode(obj.Value);
    }
}

You could use a where clause to select which parameters get added to the string.

A: Flurl [disclosure: I'm the author] supports building query strings via anonymous objects (among other ways):
var url = "http://www.some-api.com".SetQueryParams(new
{
    api_key = ConfigurationManager.AppSettings["SomeApiKey"],
    max_results = 20,
    q = "Don't worry, I'll get encoded!"
});

The optional Flurl.Http companion lib allows you to do HTTP calls right off the same fluent call chain, extending it into a full-blown REST client:
T result = await "https://api.mysite.com"
    .AppendPathSegment("person")
    .SetQueryParams(new { ap_key = "my-key" })
    .WithOAuthBearerToken("MyToken")
    .PostJsonAsync(new { first_name = firstName, last_name = lastName })
    .ReceiveJson<T>();

The full package is available on NuGet:
PM> Install-Package Flurl.Http
or just the stand-alone URL builder:
PM> Install-Package Flurl

A: Curious that no one has mentioned QueryBuilder from AspNet.Core.
It's helpful when you have a query with duplicate key like ?filter=a&filter=b
var qb = new QueryBuilder();
qb.Add("filter", new string[] {"A", "B"});

Then you'll just add qb to the URI, it is converted automatically to string.
https://learn.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.http.extensions.querybuilder?view=aspnetcore-5.0

A: There's lots of good answers here but for those using modern C# this may be a nice utility class to keep around.
public class QueryParamBuilder
{
    private readonly Dictionary<string, string> _fields = new();
    public QueryParamBuilder Add(string key, string value)
    {
        _fields.Add(key, value);
        return this;
    }
    public string Build()
    {
        return $"?{String.Join("&", _fields.Select(pair => $"{HttpUtility.UrlEncode(pair.Key)}={HttpUtility.UrlEncode(pair.Value)}"))}";
    }
    public static QueryParamBuilder New => new();
}

I use an internal Dictionary here because dictionaries are enumerable key value pairs internally which makes iterating over them much easier than a NameValueCollection.
Then the query string itself is a simple interpolated string with a join.
Additionally I provide a static interface into the constructor to make the construction of a new builder very easy and only allow one exposed method Add to add new query parameter values.  Finally you terminate the chain with Build() to actually get the final string.
Here's an example of its usage
var queryString = QueryParamBuilder.New
     .Add("id", "0123")
     .Add("value2", 1234.ToString())
     .Add("valueWithSpace","value with spa12!@#@!ce")
     .Build();

The result is as expected
?id=0123&value2=1234&valueWithSpace=value+with+spa12!%40%23%40!ce

Hopefully some of you will find this nice and elegant.

A: I answered a similar question a while ago. Basically, the best way would be to use the class HttpValueCollection, which ASP.NET's Request.QueryString property actually is, unfortunately it is internal in the .NET framework.
You could use Reflector to grab it (and place it into your Utils class). This way you could manipulate the query string like a NameValueCollection, but with all the url encoding/decoding issues taken care for you.
HttpValueCollection extends NameValueCollection, and has a constructor that takes an encoded query string (ampersands and question marks included), and it overrides a ToString() method to later rebuild the query string from the underlying collection.
Example:
  var coll = new HttpValueCollection();

  coll["userId"] = "50";
  coll["paramA"] = "A";
  coll["paramB"] = "B";

  string query = coll.ToString(true); // true means use urlencode

  Console.WriteLine(query); // prints: userId=50&paramA=A&paramB=B

A: If you look under the hood the QueryString property is a NameValueCollection. When I've done similar things I've usually been interested in serialising AND deserialising so my suggestion is to build a NameValueCollection up and then pass to:
using System.Linq;
using System.Web;
using System.Collections.Specialized;

private string ToQueryString(NameValueCollection nvc)
{
    var array = (
        from key in nvc.AllKeys
        from value in nvc.GetValues(key)
            select string.Format(
                "{0}={1}",
                HttpUtility.UrlEncode(key),
                HttpUtility.UrlEncode(value))
        ).ToArray();
    return "?" + string.Join("&", array);
}

I imagine there's a super elegant way to do this in LINQ too...

A: Here's a fluent/lambda-ish way as an extension method (combining concepts in previous posts) that supports multiple values for the same key.  My personal preference is extensions over wrappers for discover-ability by other team members for stuff like this.  Note that there's controversy around encoding methods, plenty of posts about it on Stack Overflow (one such post) and MSDN bloggers (like this one).
public static string ToQueryString(this NameValueCollection source)
{
    return String.Join("&", source.AllKeys
        .SelectMany(key => source.GetValues(key)
            .Select(value => String.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(value))))
        .ToArray());
}

edit: with null support, though you'll probably need to adapt it for your particular situation
public static string ToQueryString(this NameValueCollection source, bool removeEmptyEntries)
{
    return source != null ? String.Join("&", source.AllKeys
        .Where(key => !removeEmptyEntries || source.GetValues(key)
            .Where(value => !String.IsNullOrEmpty(value))
            .Any())
        .SelectMany(key => source.GetValues(key)
            .Where(value => !removeEmptyEntries || !String.IsNullOrEmpty(value))
            .Select(value => String.Format("{0}={1}", HttpUtility.UrlEncode(key), value != null ? HttpUtility.UrlEncode(value) : string.Empty)))
        .ToArray())
        : string.Empty;
}

A: Assuming that you want to reduce dependencies to other assemblies and to keep things simple, you can do:
var sb = new System.Text.StringBuilder();

sb.Append("a=" + HttpUtility.UrlEncode("TheValueOfA") + "&");
sb.Append("b=" + HttpUtility.UrlEncode("TheValueOfB") + "&");
sb.Append("c=" + HttpUtility.UrlEncode("TheValueOfC") + "&");
sb.Append("d=" + HttpUtility.UrlEncode("TheValueOfD") + "&");

sb.Remove(sb.Length-1, 1); // Remove the final '&'

string result = sb.ToString();

This works well with loops too.  The final ampersand removal needs to go outside of the loop.
Note that the concatenation operator is used to improve readability.  The cost of using it compared to the cost of using a StringBuilder is minimal (I think Jeff Atwood posted something on this topic).

A: Chain-able wrapper class for HttpValueCollection:
namespace System.Web.Mvc {
    public class QueryStringBuilder {
        private NameValueCollection collection;
        public QueryStringBuilder() {
            collection = System.Web.HttpUtility.ParseQueryString(string.Empty);
        }
        public QueryStringBuilder Add(string key, string value) {
            collection.Add(key, value);
            return this;
        }
        public QueryStringBuilder Remove(string key) {
            collection.Remove(key);
            return this;
        }
        public string this[string key] {
            get { return collection[key]; }
            set { collection[key] = value; }
        }
        public string ToString() {
            return collection.ToString();
        }
    }
}

Example usage:
QueryStringBuilder parameters = new QueryStringBuilder()
    .Add("view", ViewBag.PageView)
    .Add("page", ViewBag.PageNumber)
    .Add("size", ViewBag.PageSize);
string queryString = parameters.ToString();

A: I have an extension method for Uri that:

*

*Accepts anonymous objects: uri.WithQuery(new { name = "value" })

*Accepts collections of string/string pairs (e.g. Dictionary`2).

*Accepts collections of string/object pairs (e.g. RouteValueDictionary).

*Accepts NameValueCollections.

*Sorts the query values by key so the same values produce equal URIs.

*Supports multiple values per key, preserving their original order.

The documented version can be found here.
The extension:
public static Uri WithQuery(this Uri uri, object values)
{
    if (uri == null)
        throw new ArgumentNullException(nameof(uri));

    if (values != null)
    {
        var query = string.Join(
            "&", from p in ParseQueryValues(values)
                 where !string.IsNullOrWhiteSpace(p.Key)
                 let k = HttpUtility.UrlEncode(p.Key.Trim())
                 let v = HttpUtility.UrlEncode(p.Value)
                 orderby k
                 select string.IsNullOrEmpty(v) ? k : $"{k}={v}");

        if (query.Length != 0 || uri.Query.Length != 0)
            uri = new UriBuilder(uri) { Query = query }.Uri;
    }

    return uri;
}

The query parser:
private static IEnumerable<KeyValuePair<string, string>> ParseQueryValues(object values)
{
    // Check if a name/value collection.
    var nvc = values as NameValueCollection;
    if (nvc != null)
        return from key in nvc.AllKeys
               from val in nvc.GetValues(key)
               select new KeyValuePair<string, string>(key, val);

    // Check if a string/string dictionary.
    var ssd = values as IEnumerable<KeyValuePair<string, string>>;
    if (ssd != null)
        return ssd;

    // Check if a string/object dictionary.
    var sod = values as IEnumerable<KeyValuePair<string, object>>;
    if (sod == null)
    {
        // Check if a non-generic dictionary.
        var ngd = values as IDictionary;
        if (ngd != null)
            sod = ngd.Cast<dynamic>().ToDictionary<dynamic, string, object>(
                p => p.Key.ToString(), p => p.Value as object);

        // Convert object properties to dictionary.
        if (sod == null)
            sod = new RouteValueDictionary(values);
    }

    // Normalize and return the values.
    return from pair in sod
           from val in pair.Value as IEnumerable<string>
            ?? new[] { pair.Value?.ToString() }
           select new KeyValuePair<string, string>(pair.Key, val);
}

Here are the tests:
var uri = new Uri("https://stackoverflow.com/yo?oldKey=oldValue");

// Test with a string/string dictionary.
var q = uri.WithQuery(new Dictionary<string, string>
{
    ["k1"] = string.Empty,
    ["k2"] = null,
    ["k3"] = "v3"
});

Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?k1&k2&k3=v3"));

// Test with a string/object dictionary.
q = uri.WithQuery(new Dictionary<string, object>
{
    ["k1"] = "v1",
    ["k2"] = new[] { "v2a", "v2b" },
    ["k3"] = null
});

Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?k1=v1&k2=v2a&k2=v2b&k3"));

// Test with a name/value collection.
var nvc = new NameValueCollection()
{
    ["k1"] = string.Empty,
    ["k2"] = "v2a"
};

nvc.Add("k2", "v2b");

q = uri.WithQuery(nvc);
Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?k1&k2=v2a&k2=v2b"));

// Test with any dictionary.
q = uri.WithQuery(new Dictionary<int, HashSet<string>>
{
    [1] = new HashSet<string> { "v1" },
    [2] = new HashSet<string> { "v2a", "v2b" },
    [3] = null
});

Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?1=v1&2=v2a&2=v2b&3"));

// Test with an anonymous object.
q = uri.WithQuery(new
{
    k1 = "v1",
    k2 = new[] { "v2a", "v2b" },
    k3 = new List<string> { "v3" },
    k4 = true,
    k5 = null as Queue<string>
});

Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?k1=v1&k2=v2a&k2=v2b&k3=v3&k4=True&k5"));

// Keep existing query using a name/value collection.
nvc = HttpUtility.ParseQueryString(uri.Query);
nvc.Add("newKey", "newValue");

q = uri.WithQuery(nvc);
Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?newKey=newValue&oldKey=oldValue"));

// Merge two query objects using the RouteValueDictionary.
var an1 = new { k1 = "v1" };
var an2 = new { k2 = "v2" };

q = uri.WithQuery(
    new RouteValueDictionary(an1).Concat(
        new RouteValueDictionary(an2)));

Debug.Assert(q == new Uri(
    "https://stackoverflow.com/yo?k1=v1&k2=v2"));

A: Here's my late entry.  I didn't like any of the others for various reasons, so I wrote my own.
This version features:

*

*Use of StringBuilder only.  No ToArray() calls or other extension methods.  It doesn't look as pretty as some of the other responses, but I consider this a core function so efficiency is more important than having "fluent", "one-liner" code which hide inefficiencies.

*Handles multiple values per key. (Didn't need it myself but just to silence Mauricio ;)
public string ToQueryString(NameValueCollection nvc)
{
    StringBuilder sb = new StringBuilder("?");

    bool first = true;

    foreach (string key in nvc.AllKeys)
    {
        foreach (string value in nvc.GetValues(key))
        {
            if (!first)
            {
                sb.Append("&");
            }

            sb.AppendFormat("{0}={1}", Uri.EscapeDataString(key), Uri.EscapeDataString(value));

            first = false;
        }
    }

    return sb.ToString();
}

Example Usage
        var queryParams = new NameValueCollection()
        {
            { "x", "1" },
            { "y", "2" },
            { "foo", "bar" },
            { "foo", "baz" },
            { "special chars", "? = &" },
        };

        string url = "http://example.com/stuff" + ToQueryString(queryParams);

        Console.WriteLine(url);

Output
http://example.com/stuff?x=1&y=2&foo=bar&foo=baz&special%20chars=%3F%20%3D%20%26

A: Same as accepted solution, but transfred to "dot" LINQ syntax...
private string ToQueryString(NameValueCollection nvc)
{
    if (nvc == null) return String.Empty;
    var queryParams =
          string.Join("&", nvc.AllKeys.Select(key =>
              string.Join("&", nvc.GetValues(key).Select(v => string.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(v))))));
    return "?" + queryParams;
}

A: While not elegant, I opted for a simpler version that doesn't use NameValueCollecitons - just a builder pattern wrapped around StringBuilder.
public class UrlBuilder
{
    #region Variables / Properties

    private readonly StringBuilder _builder;

    #endregion Variables / Properties

    #region Constructor

    public UrlBuilder(string urlBase)
    {
        _builder = new StringBuilder(urlBase);
    }

    #endregion Constructor

    #region Methods

    public UrlBuilder AppendParameter(string paramName, string value)
    {
        if (_builder.ToString().Contains("?"))
            _builder.Append("&");
        else
            _builder.Append("?");

        _builder.Append(HttpUtility.UrlEncode(paramName));
        _builder.Append("=");
        _builder.Append(HttpUtility.UrlEncode(value));

        return this;
    }

    public override string ToString()
    {
        return _builder.ToString();
    }

    #endregion Methods
}

Per existing answers, I made sure to use HttpUtility.UrlEncode calls.  It's used like so:
string url = new UrlBuilder("http://www.somedomain.com/")
             .AppendParameter("a", "true")
             .AppendParameter("b", "muffin")
             .AppendParameter("c", "muffin button")
             .ToString();
// Result: http://www.somedomain.com?a=true&b=muffin&c=muffin%20button

A: The query string can be added to a URL by:

*

*create a name value collection object

*add the query string items and their values to this object

*encode this name value collection object to the url the code is provided in the below link

https://blog.codingnovice.com/blog
public ActionResult Create()
{
    //declaring name value collection object
    NameValueCollection collection = new NameValueCollection();

    //adding new value to the name value collection object
    collection.Add("Id1", "wwe323");
    collection.Add("Id2", "454w");
    collection.Add("Id3", "tyt5656");
    collection.Add("Id4", "343wdsd");

    //generating query string
    string url = GenerateQueryString(collection);

    return View();
}

private string GenerateQueryString(NameValueCollection collection)
{
    var querystring = (
        from key in collection.AllKeys
        from value in collection.GetValues(key)
        select string.Format("{0}={1}",
            HttpUtility.UrlEncode(key),
            HttpUtility.UrlEncode(value))
    ).ToArray();
    return "?" + string.Join("&", querystring);
}

A: I needed to solve the same problem for a portable class library (PCL) that I'm working on.  In this case, I don't have access to System.Web so I can't use ParseQueryString.
Instead I used System.Net.Http.FormUrlEncodedContent like so:
var url = new UriBuilder("http://example.com");

url.Query = new FormUrlEncodedContent(new Dictionary<string,string>()
{
    {"param1", "val1"},
    {"param2", "val2"},
    {"param3", "val3"},
}).ReadAsStringAsync().Result;

A: How about creating extension methods that allow you to add the parameters in a fluent style like this?
string a = "http://www.somedomain.com/somepage.html"
    .AddQueryParam("A", "TheValueOfA")
    .AddQueryParam("B", "TheValueOfB")
    .AddQueryParam("Z", "TheValueOfZ");

string b = new StringBuilder("http://www.somedomain.com/anotherpage.html")
    .AddQueryParam("A", "TheValueOfA")
    .AddQueryParam("B", "TheValueOfB")
    .AddQueryParam("Z", "TheValueOfZ")
    .ToString();

Here's the overload that uses a string:
public static string AddQueryParam(
    this string source, string key, string value)
{
    string delim;
    if ((source == null) || !source.Contains("?"))
    {
        delim = "?";
    }
    else if (source.EndsWith("?") || source.EndsWith("&"))
    {
        delim = string.Empty;
    }
    else
    {
        delim = "&";
    }

    return source + delim + HttpUtility.UrlEncode(key)
        + "=" + HttpUtility.UrlEncode(value);
}

And here's the overload that uses a StringBuilder:
public static StringBuilder AddQueryParam(
    this StringBuilder source, string key, string value)
{
    bool hasQuery = false;
    for (int i = 0; i < source.Length; i++)
    {
        if (source[i] == '?')
        {
            hasQuery = true;
            break;
        }
    }

    string delim;
    if (!hasQuery)
    {
        delim = "?";
    }
    else if ((source[source.Length - 1] == '?')
        || (source[source.Length - 1] == '&'))
    {
        delim = string.Empty;
    }
    else
    {
        delim = "&";
    }

    return source.Append(delim).Append(HttpUtility.UrlEncode(key))
        .Append("=").Append(HttpUtility.UrlEncode(value));
}

A: With the inspiration from Roy Tinker's comment, I ended up using a simple extension method on the Uri class that keeps my code concise and clean:
using System.Web;

public static class HttpExtensions
{
    public static Uri AddQuery(this Uri uri, string name, string value)
    {
        var httpValueCollection = HttpUtility.ParseQueryString(uri.Query);

        httpValueCollection.Remove(name);
        httpValueCollection.Add(name, value);

        var ub = new UriBuilder(uri);
        ub.Query = httpValueCollection.ToString();

        return ub.Uri;
    }
}

Usage:
Uri url = new Uri("http://localhost/rest/something/browse").
          AddQuery("page", "0").
          AddQuery("pageSize", "200");

Edit - Standards compliant variant
As several people pointed out, httpValueCollection.ToString() encodes Unicode characters in a non-standards-compliant way. This is a variant of the same extension method that handles such characters by invoking HttpUtility.UrlEncode method instead of the deprecated HttpUtility.UrlEncodeUnicode method.
using System.Web;

public static Uri AddQuery(this Uri uri, string name, string value)
{
    var httpValueCollection = HttpUtility.ParseQueryString(uri.Query);

    httpValueCollection.Remove(name);
    httpValueCollection.Add(name, value);

    var ub = new UriBuilder(uri);

    // this code block is taken from httpValueCollection.ToString() method
    // and modified so it encodes strings with HttpUtility.UrlEncode
    if (httpValueCollection.Count == 0)
        ub.Query = String.Empty;
    else
    {
        var sb = new StringBuilder();

        for (int i = 0; i < httpValueCollection.Count; i++)
        {
            string text = httpValueCollection.GetKey(i);
            {
                text = HttpUtility.UrlEncode(text);

                string val = (text != null) ? (text + "=") : string.Empty;
                string[] vals = httpValueCollection.GetValues(i);

                if (sb.Length > 0)
                    sb.Append('&');

                if (vals == null || vals.Length == 0)
                    sb.Append(val);
                else
                {
                    if (vals.Length == 1)
                    {
                        sb.Append(val);
                        sb.Append(HttpUtility.UrlEncode(vals[0]));
                    }
                    else
                    {
                        for (int j = 0; j < vals.Length; j++)
                        {
                            if (j > 0)
                                sb.Append('&');

                            sb.Append(val);
                            sb.Append(HttpUtility.UrlEncode(vals[j]));
                        }
                    }
                }
            }
        }

        ub.Query = sb.ToString();
    }

    return ub.Uri;
}

A:     public static string ToQueryString(this Dictionary<string, string> source)
    {
        return String.Join("&", source.Select(kvp => String.Format("{0}={1}", HttpUtility.UrlEncode(kvp.Key), HttpUtility.UrlEncode(kvp.Value))).ToArray());
    }

    public static string ToQueryString(this NameValueCollection source)
    {
        return String.Join("&", source.Cast<string>().Select(key => String.Format("{0}={1}", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(source[key]))).ToArray());
    }

A: I added the following method to my PageBase class.
protected void Redirect(string url)
    {
        Response.Redirect(url);
    }
protected void Redirect(string url, NameValueCollection querystrings)
    {
        StringBuilder redirectUrl = new StringBuilder(url);

        if (querystrings != null)
        {
            for (int index = 0; index < querystrings.Count; index++)
            {
                if (index == 0)
                {
                    redirectUrl.Append("?");
                }

                redirectUrl.Append(querystrings.Keys[index]);
                redirectUrl.Append("=");
                redirectUrl.Append(HttpUtility.UrlEncode(querystrings[index]));

                if (index < querystrings.Count - 1)
                {
                    redirectUrl.Append("&");
                }
            }
        }

        this.Redirect(redirectUrl.ToString());
    }

To call:
NameValueCollection querystrings = new NameValueCollection();
querystrings.Add("language", "en");
querystrings.Add("id", "134");
this.Redirect("http://www.mypage.com", querystrings);

A: I wrote some extension methods that I have found very useful when working with QueryStrings.  Often I want to start with the current QueryString and modify before using it.  Something like,
var res = Request.QueryString.Duplicate()
  .ChangeField("field1", "somevalue")
  .ChangeField("field2", "only if following is true", true)
  .ChangeField("id", id, id>0)
  .WriteLocalPathWithQuery(Request.Url)); //Uses context to write the path

For more and the source: http://www.charlesrcook.com/archive/2008/07/23/c-extension-methods-for-asp.net-query-string-operations.aspx
It's basic, but I like the style.

A: Just wanted to throw in my 2 cents:
public static class HttpClientExt
{
    public static Uri AddQueryParams(this Uri uri, string query)
    {
        var ub = new UriBuilder(uri);
        ub.Query = string.IsNullOrEmpty(uri.Query) ? query : string.Join("&", uri.Query.Substring(1), query);
        return ub.Uri;
    }

    public static Uri AddQueryParams(this Uri uri, IEnumerable<string> query)
    {
        return uri.AddQueryParams(string.Join("&", query));
    }

    public static Uri AddQueryParams(this Uri uri, string key, string value)
    {
        return uri.AddQueryParams(string.Join("=", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(value)));
    }

    public static Uri AddQueryParams(this Uri uri, params KeyValuePair<string,string>[] kvps)
    {
        return uri.AddQueryParams(kvps.Select(kvp => string.Join("=", HttpUtility.UrlEncode(kvp.Key), HttpUtility.UrlEncode(kvp.Value))));
    }

    public static Uri AddQueryParams(this Uri uri, IDictionary<string, string> kvps)
    {
        return uri.AddQueryParams(kvps.Select(kvp => string.Join("=", HttpUtility.UrlEncode(kvp.Key), HttpUtility.UrlEncode(kvp.Value))));
    }

    public static Uri AddQueryParams(this Uri uri, NameValueCollection nvc)
    {
        return uri.AddQueryParams(nvc.AllKeys.SelectMany(nvc.GetValues, (key, value) => string.Join("=", HttpUtility.UrlEncode(key), HttpUtility.UrlEncode(value))));
    }
}

The docs say that uri.Query will start with a ? if it's non-empty and you should trim it off if you're going to modify it.
Note that HttpUtility.UrlEncode is found in System.Web.
Usage:
var uri = new Uri("https://api.del.icio.us/v1/posts/suggest").AddQueryParam("url","http://stackoverflow.com")

A: // USAGE
[TestMethod]
public void TestUrlBuilder()
{
    Console.WriteLine(
        new UrlBuilder("http://www.google.com?A=B")
            .AddPath("SomePathName")
            .AddPath("AnotherPathName")
            .SetQuery("SomeQueryKey", "SomeQueryValue")
            .AlterQuery("A", x => x + "C"));
}

Output:

http://www.google.com/SomePathName/AnotherPathName?A=BC&SomeQueryKey=SomeQueryValue

The code; you can all thank me somewhere, somehow :D
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

// By Demetris Leptos
namespace TheOperator.Foundation.Web
{
    public class UrlBuilder
    {
        public string Scheme { get; set; }

        public string Host { get; set; }

        public int? Port { get; set; }

        public List<string> Paths { get; set; }

        public SortedDictionary<string, string> QueryPairs { get; set; }

        public UrlBuilder(string url)
        {
            this.Paths = new List<string>();
            this.QueryPairs = new SortedDictionary<string, string>();

            string path = null;
            string query = null;
            Uri relativeUri = null;
            if (!Uri.TryCreate(url, UriKind.Relative, out relativeUri))
            {
                var uriBuilder = new UriBuilder(url);
                this.Scheme = uriBuilder.Scheme;
                this.Host = uriBuilder.Host;
                this.Port = uriBuilder.Port;
                path = uriBuilder.Path;
                query = uriBuilder.Query;
            }
            else
            {
                var queryIndex = url.IndexOf('?');
                if (queryIndex >= 0)
                {
                    path = url.Substring(0, queryIndex);
                    query = url.Substring(queryIndex + 1);
                }
                else
                {
                    path = url;
                }
            }
            this.Paths.AddRange(path.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries));
            if (query != null)
            {
                var queryKeyValuePairs = HttpUtility.ParseQueryString(query);
                foreach (var queryKey in queryKeyValuePairs.AllKeys)
                {
                    this.QueryPairs[queryKey] = queryKeyValuePairs[queryKey];
                }
            }
        }

        public UrlBuilder AddPath(string value)
        {
            this.Paths.Add(value);
            return this;
        }

        public UrlBuilder SetQuery(string key, string value)
        {
            this.QueryPairs[key] = value;
            return this;
        }

        public UrlBuilder RemoveQuery(string key)
        {
            this.QueryPairs.Remove(key);
            return this;
        }

        public UrlBuilder AlterQuery(string key, Func<string, string> alterMethod, bool removeOnNull = false)
        {
            string value;
            this.QueryPairs.TryGetValue(key, out value);
            value = alterMethod(value);
            if (removeOnNull && value == null)
            {
                return this.RemoveQuery(key);
            }
            else
            {
                return this.SetQuery(key, value);
            }
        }

        public override string ToString()
        {
            var path = !string.IsNullOrWhiteSpace(this.Host)
                ? string.Join("/", this.Host, string.Join("/", this.Paths))
                : string.Join("/", this.Paths);
            var query = string.Join("&", this.QueryPairs.Select(x => string.Concat(x.Key, "=", HttpUtility.UrlEncode(x.Value))));
            return string.Concat(
                !string.IsNullOrWhiteSpace(this.Scheme) ? string.Concat(this.Scheme, "://") : null,
                path,
                !string.IsNullOrWhiteSpace(query) ? string.Concat("?", query) : null);
        }
    }
}

A: I went with the solution proposed by DSO (answered on Aug 2 '11 at 7:29), his solution does not require using HttpUtility. However, as per an article posted in Dotnetpearls, using a Dictionary is faster (in performance) than using NameValueCollection. Here is DSO's solution modified to use Dictionary in place of NameValueCollection.
    public static Dictionary<string, string> QueryParametersDictionary()
    {
        var dictionary = new Dictionary<string, string>();
        dictionary.Add("name", "John Doe");
        dictionary.Add("address.city", "Seattle");
        dictionary.Add("address.state_code", "WA");
        dictionary.Add("api_key", "5352345263456345635");

        return dictionary;
    }

    public static string ToQueryString(Dictionary<string, string> nvc)
    {
        StringBuilder sb = new StringBuilder();

        bool first = true;

        foreach (KeyValuePair<string, string> pair in nvc)
        {
                if (!first)
                {
                    sb.Append("&");
                }

                sb.AppendFormat("{0}={1}", Uri.EscapeDataString(pair.Key), Uri.EscapeDataString(pair.Value));

                first = false;
        }

        return sb.ToString();
    }

A: I wrote a helper for my razor project using some of the hints from other answers.
The ParseQueryString business is necessary because we are not allowed to tamper with the QueryString object of the current request.
@helper GetQueryStringWithValue(string key, string value) {
    var queryString = System.Web.HttpUtility.ParseQueryString(HttpContext.Current.Request.QueryString.ToString());
    queryString[key] = value;
    @Html.Raw(queryString.ToString())
}

I use it like this:
location.search = '?@Helpers.GetQueryStringWithValue("var-name", "var-value")';

If you want it to take more than one value, just change the parameters to a Dictionary and add the pairs to the query string.

A: The code below  is taken off the HttpValueCollection implementation of ToString, via ILSpy, which gives you a name=value querystring.
Unfortunately HttpValueCollection is an internal class which you only ever get back if you use HttpUtility.ParseQueryString(). I removed all the viewstate parts to it, and it encodes by default:
public static class HttpExtensions
{
    public static string ToQueryString(this NameValueCollection collection)
    {
        // This is based off the NameValueCollection.ToString() implementation
        int count = collection.Count;
        if (count == 0)
            return string.Empty;

        StringBuilder stringBuilder = new StringBuilder();

        for (int i = 0; i < count; i++)
        {
            string text = collection.GetKey(i);
            text = HttpUtility.UrlEncodeUnicode(text);
            string value = (text != null) ? (text + "=") : string.Empty;
            string[] values = collection.GetValues(i);
            if (stringBuilder.Length > 0)
            {
                stringBuilder.Append('&');
            }
            if (values == null || values.Length == 0)
            {
                stringBuilder.Append(value);
            }
            else
            {
                if (values.Length == 1)
                {
                    stringBuilder.Append(value);
                    string text2 = values[0];
                    text2 = HttpUtility.UrlEncodeUnicode(text2);
                    stringBuilder.Append(text2);
                }
                else
                {
                    for (int j = 0; j < values.Length; j++)
                    {
                        if (j > 0)
                        {
                            stringBuilder.Append('&');
                        }
                        stringBuilder.Append(value);
                        string text2 = values[j];
                        text2 = HttpUtility.UrlEncodeUnicode(text2);
                        stringBuilder.Append(text2);
                    }
                }
            }
        }

        return stringBuilder.ToString();
    }
}

A: This is the identical to the accepted answer except slightly more compact:
private string ToQueryString(NameValueCollection nvc)
{
    return "?" + string.Join("&", nvc.AllKeys.Select(k => string.Format("{0}={1}",
        HttpUtility.UrlEncode(k),
        HttpUtility.UrlEncode(nvc[k]))));
}

A: Just for those that need the VB.NET version of the top-answer:
Public Function ToQueryString(nvc As System.Collections.Specialized.NameValueCollection) As String
    Dim array As String() = nvc.AllKeys.SelectMany(Function(key As String) nvc.GetValues(key), Function(key As String, value As String) String.Format("{0}={1}", System.Web.HttpUtility.UrlEncode(key), System.Web.HttpUtility.UrlEncode(value))).ToArray()
    Return "?" + String.Join("&", array)
End Function

And the version without LINQ:
Public Function ToQueryString(nvc As System.Collections.Specialized.NameValueCollection) As String
    Dim lsParams As New List(Of String)()

    For Each strKey As String In nvc.AllKeys
        Dim astrValue As String() = nvc.GetValues(strKey)

        For Each strValue As String In astrValue
            lsParams.Add(String.Format("{0}={1}", System.Web.HttpUtility.UrlEncode(strKey), System.Web.HttpUtility.UrlEncode(strValue)))
        Next ' Next strValue
    Next ' strKey
    Dim astrParams As String() = lsParams.ToArray()
    lsParams.Clear()
    lsParams = Nothing

    Return "?" + String.Join("&", astrParams)
End Function ' ToQueryString

And the C# version without LINQ:
    public static string ToQueryString(System.Collections.Specialized.NameValueCollection nvc)
    {
        List<string> lsParams = new List<string>();

        foreach (string strKey in nvc.AllKeys)
        {
            string[] astrValue = nvc.GetValues(strKey);

            foreach (string strValue in astrValue)
            {
                lsParams.Add(string.Format("{0}={1}", System.Web.HttpUtility.UrlEncode(strKey), System.Web.HttpUtility.UrlEncode(strValue)));
            } // Next strValue

        } // Next strKey

        string[] astrParams =lsParams.ToArray();
        lsParams.Clear();
        lsParams = null;

        return "?" + string.Join("&", astrParams);
    } // End Function ToQueryString

A: Works for multiple values per key in NameValueCollection.
ex: { {"k1", "v1"}, {"k1", "v1"} } => ?k1=v1&k1=v1
/// <summary>
/// Get query string for name value collection.
/// </summary>
public static string ToQueryString(this NameValueCollection collection,
    bool prefixQuestionMark = true)
{
    collection.NullArgumentCheck();
    if (collection.Keys.Count == 0)
    {
        return "";
    }
    var buffer = new StringBuilder();
    if (prefixQuestionMark)
    {
        buffer.Append("?");
    }
    var append = false;
    for (int i = 0; i < collection.Keys.Count; i++)
    {
        var key = collection.Keys[i];
        var values = collection.GetValues(key);
        key.NullCheck();
        values.NullCheck();
        foreach (var value in values)
        {
            if (append)
            {
                buffer.Append("&");
            }
            append = true;
            buffer.AppendFormat("{0}={1}", key.UrlEncode(), value.UrlEncode());
        }
    }
    return buffer.ToString();
}

A: This is another (maybe redundant :-]) way for do that.
The conceptuals are the same of the Vedran answer in this page (take a look here).
But this class is more efficient, because it iterate through all Keys only one time: when ToString is invoked.
The formatting code is also semplified and improved.
Hope that could be helpful.
public sealed class QueryStringBuilder
{
    public QueryStringBuilder()
    {
        this.inner = HttpUtility.ParseQueryString(string.Empty);
    }

    public QueryStringBuilder(string queryString)
    {
        this.inner = HttpUtility.ParseQueryString(queryString);
    }

    public QueryStringBuilder(string queryString, Encoding encoding)
    {
        this.inner = HttpUtility.ParseQueryString(queryString, encoding);
    }

    private readonly NameValueCollection inner;

    public QueryStringBuilder AddKey(string key, string value)
    {
        this.inner.Add(key, value);
        return this;
    }

    public QueryStringBuilder RemoveKey(string key)
    {
        this.inner.Remove(key);
        return this;
    }

    public QueryStringBuilder Clear()
    {
        this.inner.Clear();
        return this;
    }

    public override String ToString()
    {
        if (this.inner.Count == 0)
            return string.Empty;

        var builder = new StringBuilder();

        for (int i = 0; i < this.inner.Count; i++)
        {
            if (builder.Length > 0)
                builder.Append('&');

            var key = this.inner.GetKey(i);
            var values = this.inner.GetValues(i);

            if (key == null || values == null || values.Length == 0)
                continue;

            for (int j = 0; j < values.Length; j++)
            {
                if (j > 0)
                    builder.Append('&');

                builder.Append(HttpUtility.UrlEncode(key));
                builder.Append('=');
                builder.Append(HttpUtility.UrlEncode(values[j]));
            }
        }

        return builder.ToString();
    }
}

A: Another approach is to create an extension of the class NameValueCollection that returns the complete Url:
public static class CustomMethods
{
    public static string ToUrl(this System.Collections.Specialized.NameValueCollection collection)
    {
        if (collection.Count == 0) return "";

        string completeUrl = "?";
        for (int i = 0; i < collection.Count; i++)
        {
            completeUrl += new Page().Server.UrlEncode(collection.GetKey(i)) + "=" + new Page().Server.UrlEncode(collection.Get(i));
            if ((i + 1) < collection.Count) completeUrl += "&";
        }

        return completeUrl;
    }
}

Then, you can use your new method, for example:
System.Collections.Specialized.NameValueCollection qString = new System.Collections.Specialized.NameValueCollection();
qString.Add("name", "MyName");
qString.Add("email", "myemail@test.com");
qString.ToUrl(); //Result: "?name=MyName&email=myemail%40test.com"

A: EDIT - as pointed out in the comments, this is not the way to go.
There is such a class - the URI Class. "Provides an object representation of a uniform resource identifier (URI) and easy access to the parts of the URI." (Microsoft docs).
The following example creates an instance of the Uri class and uses it to create a WebRequest instance.
C#  example
Uri siteUri = new Uri("http://www.contoso.com/");
WebRequest wr = WebRequest.Create(siteUri);
Check it out, there are lots of methods on this class.

A: public string UrlQueryStr(object data)
{
    if (data == null)
        return string.Empty;

    object val;
    StringBuilder sb = new StringBuilder();

    foreach (PropertyDescriptor prop in TypeDescriptor.GetProperties(data))
    {
        if ((val = prop.GetValue(data)) != null)
        {
            sb.AppendFormat("{0}{1}={2}", sb.Length == 0 ? '?' : '&',
                HttpUtility.UrlEncode(prop.Name), HttpUtility.UrlEncode(val.ToString()));
        }
    }
    return sb.ToString();
}

A: Here is an implementation which uses very basic language features.  It's part of a class which we have to port and maintain in Objective C so we choose to have more lines of code but easier to port and understand by a programmer that isn't very familiar with C#.
        /// <summary>
        /// Builds a complete http url with query strings.
        /// </summary>
        /// <param name="pHostname"></param>
        /// <param name="pPort"></param>
        /// <param name="pPage">ex "/index.html" or index.html</param>
        /// <param name="pGetParams">a Dictionary<string,string> collection containing the key value pairs.  Pass null if there are none.</param>
        /// <returns>a string of the form: http://[pHostname]:[pPort/[pPage]?key1=val1&key2=val2...</returns>

  static public string buildURL(string pHostname, int pPort, string pPage, Dictionary<string,string> pGetParams)
        {
            StringBuilder sb = new StringBuilder(200);
            sb.Append("http://");
            sb.Append(pHostname);
            if( pPort != 80 ) {
                sb.Append(pPort);
            }
            // Allows page param to be passed in with or without leading slash.
            if( !pPage.StartsWith("/") ) {
                sb.Append("/");
            }
            sb.Append(pPage);

            if (pGetParams != null && pGetParams.Count > 0)
            {
                sb.Append("?");
                foreach (KeyValuePair<string, string> kvp in pGetParams)
                {
                    sb.Append(kvp.Key);
                    sb.Append("=");
                    sb.Append( System.Web.HttpUtility.UrlEncode(kvp.Value) );
                    sb.Append("&");
                }
                sb.Remove(sb.Length - 1, 1); // Remove the final '&'
            }
            return sb.ToString();
        }

redpajama_set_name: RedPajamaStackExchange


The Department of Public Health and Human Services (DPHHS) is offering free Disability Awareness Train the Trainer training for firefighters / EMS personnel, 911 dispatchers, and law enforcement officials.
The training will take place in October with separate sessions for each type of first responder. All trainings will take place in Helena at the Days Inn located at 2001 Prospect Avenue.
· 911 dispatcher training; Monday, October 17, 1 p.m to 5 p.m. and Tuesday, October 18, 8:30 a.m. to 4:30 p.m.
· Law enforcement training; Wednesday and Thursday, October 19-20, 8:30 a.m. to 4:30 p.m.
DPHHS is partnering with Niagara University's First Responder Disability Awareness Training program.
According to DPHHS officials, the training is aimed to help Montana's first responders improve their skills when working with individuals with disabilities. "This training will help educate emergency responders on how to effectively identify, address and respond to various situations involving people with disabilities that they may encounter in the line of duty," said Kelly McNurlin of the DPHHS Developmental Disabilities Program.
This 'train the trainer' opportunity is developed strictly for firefighters/EMS, dispatchers and law enforcement with the intent for them to train other first responders in their communities. This is not a training session for those who do not intend to train their peers, McNurlin said.
DPHHS hopes that local training coordinators will take advantage of this opportunity to ensure appropriate response techniques are used, and to help support some of our most vulnerable people so they can live and work in all communities.
For more information call McNurlin at 444-4215 or email at KMcNurlin2@mt.gov.


Oh, poop. Sure it's a little gross, but now that you're over that fact, we can address it.
Did you know your digestive tract, top to bottom, is about 20 – 23 feet in length? That's a lot of you. So if something's not right, most of you is suffering. That's why poop, your digestive waste, is a great barometer of your health. It reflects how well your body is processing and absorbing nutrients. And when the stool is absent or difficult to pass, this indicates some very important problems.
As we remind you here on Pro-Active Health Orlando, improving the food you eat is the simplest and most effective way to get your health in order.
Just like your house, car or kitchen, if you don't take out the garbage, things are going to get bad.
What happens when your body isn't eliminating waste?
When your body isn't moving things along, the toxins that would be on their way out get reabsorbed into the body. Just like your house, car, kitchen, etc., if you don't take out the garbage, things are going to get bad.
If you're not getting enough water or liquids in your diet (soda is not one of these) then your stool will become dehydrated in the colon as your body searches for water anywhere it can. And dry stool becomes very difficult to pass.
Fiber, exercise, and water are the three main players in having a healthy digestive system. But for many people, the bacteria that should be in the gut helping to break down food and absorb nutrients maybe of few in number and low in supply. This is why you may be hearing about probiotics more and more often. Without good bacteria alive and well in your digestive tract, your body is not able to function at full capacity. One of the main reasons for the poor quality bacteria is the abundance of "ingestible food-like substances" people are consuming.
When we work together to mend your digestive and overall health, we'll talk about what's going on for you on this topic. So be sure to pay attention to what is normal and not normal for your own body. And make mental note (or a paper one!) about how you do within 24 hours of eating certain foods.


You will need to make yourself available for the full 5 hour period on a weekday evening, or 8 hour period on a Saturday. The bond between teacher and student grows strong, therefore students and their parents can feel quite despondent when a teacher leaves. For this reason we ask for a minimum of a two school year commitment.
Applicants applying for administrative posts should apply using the contact form on this page.
Woodwind Teacher - Wed evening 3:30-8pm. This role involves taking on flute and clarinet tuition from an existing teacher with students at a variety of levels. Please note that the hours shown are when the schedule is filled to capacity, which will take time to achieve.
Class Piano Teacher - This role is planned to build up gradually to Mon, Tues & Thurs evenings 3:30-8pm, delivering Junior Keys, Piano Keys and Music is Fun courses. Please note that competent piano skills are required for this post and that the later part of the evening will contain some private piano tuition in order to fill the evening to capacity. The teacher will be required to follow detailed lesson plans, which they will be expected to familiarise themselves with and deliver to the expected standard. The hours shown are when the schedule is filled to capacity, which cannot be guaranteed, though we always strive for.
For further information on any of these roles, please use the 'Contact Us' form on this page before submitting your CV.
At Forte Cardiff we have approximately 16 teachers working part time, each teaching between 1 and 5 days per week. The school itself is open 6 days a week.
Our early childhood programmes run during the daytime. If you're a Mum or have worked with mothers and small children these programmes are a delight to teach.
Most of our private and class tuition is conducted between 3pm and 8pm during the week and from 8:45am to 4:30pm on Saturdays.
While sometimes it is possible to pick up a full schedule of work, usually it will take a few months to build a full daytime or evening timetable. Be patient - student numbers will grow if you are able to build good relationships with your students and their parents, and when you keep the interest of students stimulated.
Forte teachers commit to improving their teaching skills constantly, throughout the teaching year. By regularly recording and observing lessons, our experienced senior staff will guide teachers to become the best that they can. By responding to feedback and participating in the training provided, Forte teachers can successfully retain and inspire their students, with full classes and timetables for many years to come.
Forte staff are to required to attend two annual staff meetings, held in February and October. These are held late evening, after the teaching timetables have ended. Food will be provided and these are a valuable opportunity to meet colleagues who work on other days, as well as being a chance for staff to contribute thoughts, ideas and feedback.
We have two highly popular events in the Forte calendar - the Playathon in the autumn and the Forte Festival in the summer.


In the heart of Reunion Resort's spectacular Jack Nicklaus course, this amazing 5 bedroom pool home offers a truly 5 star experience in the Disney Parks area.Let your dream vacation begin the moment you book this beautiful home.
Located on Reunion Resort's Castle Pines Ct, this beautiful family home overlooks the 6th fairway of the picturesque Nicklaus designed PGA golf course.The west facing pool deck provides sun from mid morning, right through until those amazing Floridian sunsets.
The stylish, modern lines of this home, provides a very refreshing and relaxing ambiance to return to after a busy day at the theme parks.
The open layout includes a spacious family living area, overlooking the pool deck, including large flat screen TV.
A modern 6 seat family dining area and a granite breakfast bar with seating for four, provides a perfect opportunity to catch up on the fun filled events of the day with your family and friends!
With fabulous balcony areas both front and rear, there's every opportunity to enjoy the glorious Florida weather, with a morning coffee or a delicious sunset cocktail.
A covered lanai offers shade for much of the day, if you need it, and the summer kitchen provides the BBQ experts a chance to impress!
Of course, that West facing pool and spa provides the perfect way to finish off the last few hours of daylight after a hot, busy day in Orlando's theme parks!
Even Disney can't quite make magic like this!
In the loft area of the home, a pool table offers a focal point for teenagers and competitive adults, as a second gathering area for guests to enjoy their own space.
A king sized bedroom includes a shower.
A king sized bedroom includes two comfortable chairs and an en suite bathroom with shower.
A further king sized bedroom includes a chaise, with an en suite bathroom with twin vanities, bath and shower.
A twin room with a tartan theme includes a bathroom with twin vanities.
A twin room with a warm sunflower theme.
Perfect for families and friends heading for a theme park adventure in a luxurious setting!


text:
Wikipedia breaks into U.S. top 10 sites
Wikimedia Foundation popular Wikipedia online encyclopedia cracked the top ten list of most popular Web sites in the U.S. for the first time in January, according to comScore Networks.
Wikipedia sites ranked ninth with 42.9 million unique visitors last month, ahead of the sites from The New York Times (No.10), Apple (No.11) and Viacom International (No.12), comScore reported Thursday.
Wikipedia, which already ranked in the top 10 list of most popular Web sites globally, has been quickly gaining popularity in the U.S., where its parent company, the non-profit Wikimedia Foundation, is based.
In January of last year, Wikipedia sites ranked in the 33rd spot with 18.3 million unique visitors. By July, it had climbed to the 18th spot on the list with 28.1 million unique visitors, and in November it ranked 12th with 39.1 million unique visitors, according to comScore.
In doing its tally for Wikipedia, comScore also counts visits to other Wikimedia sites, such as Wiktionary, Wikiquote, Wikibooks and Wikinews, but most of the traffic comes from the Wikipedia encyclopedias, a comScore spokesman said.
Wikipedia started in January 2001 with its English-language site, which currently has more than 1.6 million articles. The Wikipedia project has since grown significantly and has more than 5 million articles in more than 200 languages, according to WikiMedia. Access to Wikipedia is free. Volunteers contribute the encyclopedia's content, which can be edited by anyone accessing the sites.
Globally, Wikipedia sites ranked sixth in December with almost 165 million unique visitors, according to comScore.
Posted by Navin at Saturday, February 17, 2007
Labels: Latest News
Yea wikipedia rocks. Check out uncyclopedia.com too. It's the opposite of wikipedia.
www.uncyclopedia.com
This page is parked free, courtesy of GoDaddy.com
this is the message i get..
oops....uncyclopedia.org not .com

redpajama_set_name: RedPajamaCommonCrawl


We are all susceptible to jet lag after long travels across the earth. Adjusting to new time zones is not a norm to your body and you will need measures in place to help you make a simple transition into the time zones. Long haul flights across continents are the biggest cause of serious jet lag. For example, traveling to Dubai halfway across the earth will turn your flight fancy into exhaustion and threaten to ruin your time tour. With your TN visa, you bound to travel long distances from home and this is the reason you need a remedy for challenges that come with long-haul flights. Luckily, there is a way to beat jet lag if you have the knowledge and ready to take the instructions obediently. There may not be a cure for the problem but we can all learn to manage it. Travel insomnia treatment is essential for long-haul flights regardless of how many time zones you shift.
Here are a few tips to help you suppress jet lag symptoms and enjoy your stay in a new time zone.
To help you fight to minimize the effects of jet lag, it is first, important to understand how it occurs. This begins by understanding how your body works and how it is affected by shifting time zones. Note that our bodies are designed to do a number of regular things within a 24-hour period. Eating and sleeping are some of the things we do regularly within this period. Our bodies become used to a fixed norm of doing things. The built-in routines are called circadian rhythms. Distortion of these routines affects the systems in our bodies and lead to extreme fatigue.
Apart from the loss of memory and concentration, Jet lag symptoms also include indigestion and bowel problems. These are only the common effects of jet lag to a wide variety of people. Others have extreme problems while others have mild ignorable issues. The next concern is how long does it take to recover? We also want to know whether a jet lag cure is available. The disappointment is; not only is there no cure but also varies depending on age, state of health, and stress levels. There is, therefore, no specified way to determine how to deal directly with the problem and get instant results. However, you can take preventive measures by preparing before the journey.
Tips for minimizing the effects of jet lag in a new time zone vary with time zones. Here are some.
Before making the long-haul flight, it would be of vital importance to scale down and get some rest. If you have tight schedules, you need to be flexible and allow time to relax. If, on the other hand, you have a rigid routine at home, you also need to adjust it. A rigid routine of eating and sleeping will only make it harder to adjust in new time zones. If you are keen on adjusting the norm at home, you will be prepared to face the longest trip with minimal shift sleep disorder arising.
If it is possible, ensure that you choose a flight that arrives in daylight to help you cope with jet lag. This way, you will be staying awake when you should be awake. The result is, you will be making the shift quicker and easier by staying awake. Your body wants to wake up for the day and arriving in the morning is the best chance you have to avoid or suppress the effects of jet lag. Some people choose to fly to destinations within the Greenwich Meridian. For example, from the UK you can only fly to France, Spain, or Togo and Ghana in Africa. However, your TN visa will be taking your farther.
A good night's sleep is perhaps the most effective way to prepare for a long-haul flight. Majority of travelers opt for sleeping pills for airplane travel instead. This remedy may be effective in short distances but not adequate when traveling across the earth. A good rest will equip you best to cope with jet lag when you faced with the problem after arriving at your destination.
Choosing the right treatment is important. It will help you manage the effects of jet lag. It is proven that traveling from the west to the Eastern countries is most stressful because it comes with the most extreme effects. Studies have revealed that it takes a full day to recover from each time zone so spare a day to recover from jet lag as you prepare for the day in a new time zone. Your body chooses to cope with a longer day. This means you will be skipping a day of sleep and struggle through it to get back to normality.


text:
Q: Class variable resets after function completes I'm new to C++ from a java/python/etc background, and am trying to teach myself OO programming before I have to take a class on it next semester.
I'm trying to make an animation system using SFML, but am having some trouble with one of my class variables; it keeps resetting to 0 after I increment it. I'll start with the code and follow with a log output I'm using to help figure out what's going on.
SOLUTION: Being new to C++, I was an idiot and returned a new instance of my class in my getter functions; using [class]& func()... instead of [class] func() solved this, but now I have some refactoring to do.
Code (header):
...

typedef std::vector<Frame> frameVect; // (Frame defined above)
typedef std::vector<double> dubVect;

...

class limbAnim
{
private:
    int limbNum;
    int numFrames;
    int curFrame;
    frameVect frames;

public:
    limbAnim(int limb, int nFrames, frameVect F);
    <getters/setters>
    void incCurFrame();

    dubVect incrementAnimation(dubVect curPos, double curRot);
}

Code (cpp):
... (include vector, ofstream, etc)

std::ofstream AnimLog("log.log")

typedef std::vector<Frame> frameVect; // (Frame defined above)
typedef std::vector<double> dubVect;

...

limbAnim::limbAnim(int limb, int nFrames, frameVect F)
{
    limbNum = limb;
    curFrame = 0;
    numFrames = nFrames;
    frames = F;
}

void limbAnim::incCurFrame()
{
    curFrame=curFrame+1;
    if (curFrame >= numFrames)
    {
        curFrame = 0;
        AnimLog << "Greater than." << std::endl;
    }
}

dubVect limbAnim::incrementAnimation(dubVect curPos, double curRot)
{
    AnimLog << limbNum << ", " << numFrames << std::endl;

    if (numFrames > 0)
    {
        AnimLog << curFrame << std::endl;
        dubVect curStepP = frames[curFrame].getStepPos();
        double curStepR = frames[curFrame].getStepRot();

        curPos[0] = curPos[0] + curStepP[0];
        curPos[1] = curPos[1] + curStepP[1];

        curRot = curRot + curStepR;

        incCurFrame();
        AnimLog << "Incremented: " << curFrame << std::endl;
    }

    dubVect retV = curPos;
    retV.push_back(curRot);
    return retV;
}

So, my log output looks good since I'm testing with 2 frames on limbs 6 & 8, except those limbs' curFrame seems to reset to 0 after incrementing:
...
5, 0
6, 2
0
Incremented: 1
7, 0
8, 2
0
Incremented: 1
9, 0
...
5, 0
6, 2
0
Incremented: 1
7, 0
8, 2
0
Incremented: 1
9, 0
...(ad nauseam)

Edit: Code calling the increment function.
(main.cpp)
// (Outside main loop.)
Animation walk_anim(12, "assets/anim/walk.dat");

// (Inside main loop.)
for (int i=0; i<12; i++)
{
    dubVect animDat = walk_anim.getLimbFrame(i).incrementAnimation(limbPos[i], curDegs[i]);
    dubVect newPos = getDVect(animDat[0], animDat[1]);
    double newRot = animDat[2];
    curDegs[i] = newRot;
    if (curDegs[i] >= 360)
        curDegs[i] -=360;
    limbPos[i] = newPos;
}

getLimbFrame
Animation::Animation(int lNum, string fName)
{
    numLimbs = lNum;
    fileName = fName;

    // Fill up limbVect with correct # of empty frames.
    for (int i=0; i<numLimbs; i++)
    {
        frameVect emptyFVect;
        limbAnim LA(i, 0, emptyFVect);
        limbFrames.push_back(LA);
    }

    // Boring .dat parsing, populates the 'frames' var of each limbAnim.
    loadAnim();
}

limbAnim Animation::getLimbFrame(int index)
{
    if (index < numLimbs)
    {
        return limbFrames[index];
    }
}

A: Hopefully you're aware that your functions take arguments by value, so they work on a copy of something.
You carefully avoided to show the really interesting code parts where you call incrementAnimation, most likely it follows the same bad pattern as the other functions.
I suggest reading up on how to pass objects by reference and const reference -- and how function arguments work in C++.

A: I think you need to declare that member variable, with the static keyword, then you can say it is a class variable, where it will be the shared for every instance of your class.  Like this:
static int curFrame;

Then you need to initialize it from outside de class. Have in mind that declaration, is a lot different to initialization.
You can read about it here and here


text:
Q: Is it correct and natural to say "the movies is showing a great movie today"? Could you tell me if it is correct and natural to say the movies is showing a great movie today? For example:

Let's go catch a movie today. The movies is showing a great movie about space today.

If it doesn't sound right, what would you say?

A: No, that's not a good way to say what you want to say.  The phrase "the movies", unless there is actually a theater called "The Movies" is incorrect.
I suggest that you might say:
"Let's go catch a movie today.  They are showing a great film about space today."


Ana Tichy puts a fresh twist on the classic shirt with this vibrant tropical print designed by Alberto Alto. Crafted from cotton and cut for a relaxed fit, Magnum Shirt is a fresh addition to any wardrobe. The rich palette calls for minimal accessories.


text:
Home COMPUTING Epos H3 headset promises 'next-generation quality gaming audio' at an affordable price
Epos H3 headset promises 'next-generation quality gaming audio' at an affordable price
Epos, the audio company that previously partnered with Sennheiser on a range of gaming headsets, is branching out on its own with the Epos H3 headset.
The H3 headset, which costs $119 / £109 / AU$179 comes in two color options: Onyx Black and Ghost White. There's a volume dial on the right earcup that's flush with the housing, and a flip to mute the microphone on the left earcup. It's a wired headset, too, which means it'll work with any device that sports a 3.5mm headphone jack.
Epos says the H3 headset is made from high-quality materials and has a lightweight yet durable design, one that "fits comfortably on heads of all sizes". The headset also features stainless steel sliders in the headband and hinged ear cups, so you can get the fit just right. The closed-back design of the H3 headset should deliver decent passive noise attenuation, too.
While it may seem strange to split from a brand as well-respected as Sennheiser, Epos has 115 years of audio engineering expertise to rely on and is no slouch when it comes to creating desirable gaming headphones. The company says that the H3 will be capable of delivering "booming bass and crisp highs for exceptional realism" at a price point that allows more players to experience premium gaming audio.
The gaming headset space continues to grow, with high-end audiophile companies like Bang & Olufsen entering the market with the Beoplay Portal. Microsoft also released its own Xbox Wireless Headset, which we were incredibly impressed by due to the customizable sound quality, comprehensive set of features and cheap price point.
We've spent the last few weeks putting Epos's new headset through its paces, and believe the company has delivered on many of its promises. You can read our Epos H3 review to find out just how good these cans really are.


text:
Безсонов Тимофей — дьяк (1658-1677). В 1658-1660 году воевода в Путивле.  В 1660 году упоминается, как дьяк казанского дворца. В 1664 году присутствует на встрече «князя Чарлуса Говорта», английского посла, в 1668 году дьяк во владимирском судном приказе, а в 1671 году назначен дьяком иноземного приказа. В 1672 году в числе лиц сопровождавших воеводу князя Юрия Петровича Трубецкого в Киев. В 1672-1675 годах воевода в Киеве (два раза). Можно думать, что этот же Тимофей Безсонов встречается в актах под 1685 году в звании церковного старосты церкви Василия Великого и Никола Чудотворца в устюжном уезде.

Примечания

redpajama_set_name: RedPajamaWikipedia


text:
Film of 2018 BronzeLens Honoree Added to National Film Registry
Nicola Breslauer
2018 BronzeLens Award winner's film added to National Film Registry
The 2018 Womens SuperStars Award honoree Ayoka Chenzira's 1984 short animated film Hair Piece: A Film for Nappy-Headed People has received quite the additional honor. Her film is now added to the National Film Registry, a great stride for all animators, especially with Chenzira being one of the first few African-American females in that industry niche. Chenzira was honored for her work in the industry and great talents at this years BronzeLens event, The BronzeLens Film Festival is held annually and aims at providing a platform for African-Americans in film and the next generation of filmmakers.
Chenzira now has her work alongside some of the biggest film giants in history. She has stated, "For my independently produced animated experimental film to be included in the National Film Registry is quite an honor. I never imagined that 'Hair Piece' would be considered to have cultural significance outside of its original intent, which was a conversation and a love letter to Black women (and some men) about identity, beauty and self-acceptance in the face of tremendous odds."
The film was added to the registry along with films that are household names across America such as Jurassic Park, The Shining, and Cinderella.
Alphabetical list of all films added to the National Film Registry in 2018:
1. Bad Day at Black Rock (1955)
2. Broadcast News (1987)
3. Brokeback Mountain (2005)
4. Cinderella (1950)
5. Days of Wine and Roses (1962)
6. Dixon-Wanamaker Expedition to Crow Agency
7. Eve's Bayou (1997)
8. The Girl Without a Soul (1917)
9. Hair Piece: A Film for Nappy-Headed People (1984)
10. Hearts and Minds (1974)
11. Hud (1963)
12. The Informer (1935)
13. Jurassic Park (1993)
14. The Lady From Shanghai (1947)
15. Leave Her to Heaven (1945)
16. Monterey Pop (1968)
17. My Fair Lady (1964)
18. The Navigator (1924)
19. On the Town (1949)
20. One-Eyed Jacks (1961)
21. Pickup on South Street (1953)
22. Rebecca (1940)
23. The Shining (1980)
24. Smoke Signals (1998)
25. Something Good – Negro Kiss (1898)
OZ EXCLUSIVE: Stacey Abrams speaks with Oz Magazine- Discourages the Hollywood boycott
Film Industry Brings $9.5. Billion to Georgia Economy
Jenji Kohan's New Netflix Series 'Slutty Teenage Bounty Hunters' To Film In Atlanta, Donate To Women's Rights Fund Amid "Heartbeat Bill" Fight
'The Tomorrow War' films battle scene in downtown Atlanta
Most anticipated movies and television shows made in Georgia for 2020
'Picturing The South': Photographer Alex Harris Documents Southern Film Industry For High Museum
Veteran film stunt performer tackles new career in coffee
These Georgia-made films are up for an Oscar
Tyler Perry says he's 'never seen' such a reaction to one of his movies
Film screening raises funds for metro Atlanta projects commemorating lynching victims
Mall of Georgia to open 13,000-square foot esports venue
ONLY Purchased For Theatrical Release
Georgia State Cited For International Collaboration
Film . . . And Activism. . . At Eleven
The Debate: Tyler Perry Studios
Richard Jewell Premiere
WIFTA GALA 2019
Rome International Film Festival
SCAD Savannah Film Festival
GPP Holiday Party
Animate Atlanta
TEL: (404) 633-1779 | FAX: (404) 636-5919 | info@ozonline.tv
2566 Shallowford Road Suite 104, #302, Atlanta, GA 30345
Copyright © 2020, Oz Magazine. All rights reserved.
OZ SCENE


ultra fine grinding objectives materials distillation and .
Planetary Micro Mill, Pulverisette 7 - Lab Synergy. Planetary Micro Mill, Pulverisette 7. For ultra fine grinding down to colloidal fineness of hard to soft materials dry or in .
objectives of ultra fine grinding - bueconomics portable three axis grinding m/c objective, crushing and grinding objective question pdf grinding Mill China mechanical engineering objective type question Hammer .
A Study On Ultra Fine Grinding Of Silica And Talc In .
objectives of ultra fine grinding - . A Study On Ultra Fine Grinding Of Silica And Talc In Opposed Fluidized Bed Jet Mill. Fine grinding is .
grinder machine objective question Stone Crusher Price grinder machine, objectives of ultra fine grinding objectives of ultra fine grinding This page is about .
6" CBN Flywheel Grinding Wheel, Winona Van Norman, Fine diamond surface. . Type: 1A1 Straight Abrasive Diamond Wheel Grinding 125/100micron 150 Mesh . Ultra Fine .
objectives of ultrafine grinding Newest Crusher, . purpose of ultrafine grinding Newest Crusher, . Ultra-fine grinding machine works the same with the raymond mill.
Our crusher capacity is from 10-1000T/H. Contact Us, and you can get objective of ultra fine grinding consultant quotes and solutions in your country. we can design .
objectives of ultra fine grinding - quartz-crusher. Within industrial uses, the purpose of comminution is to reduce the size and to increase .
What is an ultrafine grinding mill? Update Cancel. ad by Atlassian. . Ultra fine grinding mill is the new type mining equipment for making micro powders, .
The objective of developing the Ro-Star is to offer the most cost effective and efficient ultra-fine grinding . of ultra-fine grinding. The objective of .
Ultra Fine Grinding Objectives - acim. Ultra Fine Grinding Objectives. As a leading global manufacturer of crushing and milling equipment, we offer advanced, rational solutions for any size-reduction requirements, including quarry, aggregate, grinding production and .
objectives of ultra fine grinding JoyalGrinding Mill,Fine Grinding Mill,Micro what are the objectives of ultrafine grinding in relation to isor and tower mills .
Ultra-precision grinding is . The objective of ultra-precision grinding . many of the traditional but time-consuming machining processes like fine grinding .
objectives of ultrafine grinding . Ultra Fine Grinding - A Practical Alternative to Oxidative Treatment of Refractory Gold Ores on ResearchGate, .
Objectives Of Ultra Fine Grinding. ultra fine grinding objectives - zenith - absolute . Ultra fine grinding mill is the new type mining equipment for making micro powders, fine powders, which is widely applied in the industries of metallurgy, mining .
what are the objectives of ultrafine grinding in relation .
ultra fine grinding tower mill - libertyedu. grinder machine objective question objectives of ultra fine grinding. . Crusher Mills ultra fine dry grinding .
objectives of ultra fine grinding - quartz-crusher. A pilot scale study was conducted on ultra-fine grinding in a . the milling's objective . ultrafine grinding. . .
objectives of ultra fine grinding - mill for sale. Influence of Residence Time and Fine Grinding on - Psrcentre The objective of this work was to investigate the .
This page is about objectives of ultra fine grinding, plant,Silica and talc finegrinding. Read more . A STUDY ON FINE GRINDING PROCESS IN JET .


Start Your First 30 Days NOW!
Imagine obtaining the mindset of some of the most successful people on the planet.
Over the next 30 days, you will.
Hey! I'm Jordan, the Millionaire Millennial. Here to teach you everything you need to know about being successful in life and business.
The course starts today and you will finish the last lecture in 30 days. You can come revisit ANY lecture you've watched at anytime. In fact, I encourage it! Re-watch any lecture you didn't fully understand and be sure to absorb all the information.
Since this is an inexpensive program, there is no refund policy. I'm confident you won't want one, though!


Prendre une décision a durée qui termine à ou quelques pouces énumérés ici vos genoux. Tote Bags. absolute for any season and oh-so useful, personalized tote bags create excellent wedding favors. Plain tote bags are inexpensive, and they are easy to customize yourself, should you hope to create your own wedding favors. sharp on time? Some wedding shops come up with the money for personalized totes, but they will cost you more than if you design them yourself.
Top keyword Papier peint. Sunglasses. Having the ideal summer wedding? Candies and chocolates might not be the best wedding favor to depart for guests in the warm summer sun. Sunglasses are a good quirk to save your guests comfortable and to remind them of your special daylight for years to come. A plus? Frames arrive in a variety of styles and can be personalized in consequently many ways. You are limited on your own by your imagination! like tote bags, sunglasses can moreover be personalized professionally by many wedding and party vendors.
S'mores Kits. absolute for weddings in tardy summer or to the front fall, individual s'mores kits are another creative interchange to more enjoyable wedding favors. These can be as basic or as decadent as you prefer, and in view of that they can enactment for any budget. every you dependence are some graham crackers, marshmallows, chocolate bars and lovable craft supplies to create these virtuous and unforgettable gifts for your guests.
Candy in Personalized Wrappers. A bit more on the conventional side, personalized candy wrappers and candy seem to be mainstays gone it comes to wedding favors. From those oft-present Jordan almonds to the more enlightened chocolate bars, this is other easy and within your means pretension to accumulate a personal be next to to your wedding. Why mess gone a classic? choose your candy and choose out those personalized candy wrappers. It's a great exaggeration to create an broadcast upon wedding guests later than a sweet-tooth, and it then makes for a well-appreciated shower or bachelorette party gift.
Individual Bath Salts. Do-it-yourself bath salts are all the rage these days. Whether they are for personal use, a Christmas gift for a relative or birthday present for a relative, chances are you've already got a recipe or two upon one of your Pinterest boards. Individual bath salts are a unique and affordable pretension to pamper your wedding guests. Luxurious, tiny jars of bath salt furthermore make fantastic bridal shower favors.
Hangover Rescue Kits. Hangover rescue kits or "cures" are a must-have if your guests will be drinking. From a personalized bottle of water, to a hangover remedy-packed kit, you can make this wedding favor as easy or as rarefied as you like. As subsequent to the new do-it-yourself ideas, this concept is flexible and budget friendly. Hangover rescue kits next create good bachelor and bachelorette party favors!
Sachets. You probably already know that sachets are little bags of perfumed flowers or aromatic herbs that people typically area in drawers or closets to create the melody smell pleasant. What you might not know is that these herb and flower-filled pouches make creative wedding favors as well. As in imitation of sunglasses or totes, these sophisticated wedding party favors can either be bought or made at home.


The Boston Modern Orchestra Project gave world premieres by three of its veteran composer colleagues Friday night at Jordan Hall.
The sonic worlds explored in the works by Elena Ruehr, David Rakowski, and Ken Ueno covered a wide range of what is meant by "new music" today. The first two recast familiar idioms in bracing new ways. The latter explored more ear-bending sonorities. For each, Gil Rose and the BMOP orchestra provided bold advocacy.


Bruce Gerencser has noticed this blog and he has dubbed my judgments regarding his life "misguided and naïve." I didn't exactly expect him to be pleased with everything I write here, but I cannot address his concerns if he has nothing more than sweeping generalizations to make.
As a result of this notice, his fan club have made a point of peppering this new-born site with derogatory comments, questioning my intelligence, my motives and my temerity. More than one commenter has made the accusation that Bruce's posts must've shook my faith in order for me to dedicate a blog to hashing through his journey. This is a ridiculous non sequitur, of course; Those who know me likewise know that I deeply care for those who have fallen from the faith and that I am keenly interested in why people fall away, partly because most of my generation likewise abandoned the faith of our youth and, unlike myself, very few returned.
I seek to understand, because I wish to do what I can to prevent this from occurring in future generations, and to understand the fallen so that I might help them reclaim return, God willing.
Of course, I expected backlash and misunderstanding when I began this endeavor, so I'm hardly surprised. Our decisions have consequences, as Bruce learned when he sent a series of letters explaining his new-found apostasy to his friends, family and former parishioners. Or perhaps he didn't learn this lesson. I dunno. Judge for yourself.
"Almost two years ago I sent my friends, family and former parishioners a letter concerning my decision to deconvert from Christianity. I wish I could say my letter was well received. I wish I could say that people told me they supported my decision. I wish I could say I have been treated in a kind and respectful manner.
I thought he reactions to his letter were predictable enough: One guy drobe 3 hours to talk him out of it. Others wrote letters and emails, either attempting to change his mind or condemning him. Some apparently gossipped behind his back.
I personally cannot stand gossips. Why there should exist the level of pervasive gossip within Christendom when the Bible plainly condemns it is beyond me. Granted, I cannot recall the last time I heard another preacher mention it. Nor can i recall the last time I heard of a minister putting a mmeber under church discipline for spreading rumors and gossip. The general impression we get is that it's something of a necessary evil.
"This is one of the reasons I ultimately rejected the Christian faith.
This ought to give us reason enough to commit ourselves to preventing gossip in our churches, starting with stopping our own mouths.
"Last Christmas, the patriarch of the family, a pastor of 40 plus years, was intent on confronting me about my apostasy. I am grateful my mother-in-law quashed his plan to confront me. It would have been ugly. I mean ugly, ugly.
My wife decided that we would not do Christmas at her parent's home any more. The stress and undercurrent are such that it is impossible to "enjoy" time with the family during the Christmas holiday.
He pretends as if his wife made the decision to spend Christmas without their family to avoid the strife his decision had created of her accord. She made the decision because his decision had consequences for her and her relationship with him and her family. She was forced to deal with the backlash his decision resulted in. Not him. I get a bit ruffled when I see grown men abdicating responsibility for their own actions, yet this has become common for many in America, especially those of the Baby Boomer generation. Nothing is ever their fault. It's always someone else's. Everybody else's reactions to their narcicism is always unexpected and unreasonable.
For example, Bruce laments that he had hoped that his letter would be well-received and that folks would support him in his decision. Why? Why would he reasonably expect that?
He knew their beliefs, for he helped instill some of them. He knew that they believe that Bible-denying, Christ denying apostates go to hell. If he knew them at all, he should have expected those whom he taught and those he labored alongside to feel betrayed, at the very least. He should have expected them to feel they should try to convince him otherwise if they loved him at all. By stating that he did not wish them to try and convince him he was wrong, he was asking for their apathy, not their love. Apathy can sit by and allow someone to destroy themselves; love cannot!
Our decisions, actions and inactions have consequences. If the church could make this simple revelation, we could actually begin being the church God always intended. Why do I say that? Because meekness, a fruit of the Spirit no less, is the ability to put other people's best interests and needs above your own. Jesus and Moses [no push-overs, mind you] were exemplars of meekness, according to the Bible. I submit that it is impossible to display or actualize meekness if you cannot fathom that what you do affects others. Personal accountability is absolutely essential for genuine meekness, and genuine unity.
As noted in my last post, Bruce Gerencser's second post in the My Journey series, My Testimony, dealt with, in part, how he came to the conclusion that the Bible was neither inerrant nor inspired and how that affected his other theological views.
Likewise, 2 Timothy 3:7 speaks of those who are ever learning but never able to come to the knowledge of truth. Why would this be? Maybe because the fear of the Lord is the beginning of wisdom and knowledge and these professors, making no difference between the holy and profane, treat the Bible like a human document rather than the Word of God. In other words, the go about criticizing the Bible as if it were a fallible Book which came about by the will of pre-scientific men and, shock and surprise, they confirm their own presuppositions.
And then they in turn convince others to abandon the faith and accompany them cheerfully on the road to hell. When Bruce exposes his wife to the false teaching of Ehrman, I can't help but point out that this Eve giving Adam the forbidden fruit in reverse.
How many times does the Bible warn us to beware of false teachers? Let us remember that just because someone has a title or a doctorate and appears outwardly like one of the flock of God doesn't mean that this person isn't a ravening wolf inside. We need to remember that respect of persons can blind us to the knowledge of God.
• Attempts to show me the error of my way. Fact is I have studied the Bible and read far more books than many of you. What do you really think you are going to show me that will be so powerful and unknown that it will cause me to return to the religion and politics of my past?
Note that part of the temptation for Eve to disobey God's command not to eat of the Tree of Knowledge of Good and Evil was that she desired to be wise, but she did not begin with the fear of the Lord; rather, she began with accepting the denial of God's Word.
Bruce Gerencser's second post in the My Journey series, My Testimony, dealt with, in part, how he came to the conclusion that the Bible was neither inerrant nor inspired and how that affected his other theological views.
"A precursor to my religious views changing was a seismic shift in my political views. My political views were so entangled with Fundamentalist beliefs that when my political views began to shift, my Fundamentalist beliefs began to unravel.
"To be a Christian means you believe the Bible to be the word of God. To be a Christian means you embrace the beliefs and teachings of the Christian faith. Since I do not believe the Bible to be the Word of God, and I no longer embrace the beliefs and teachings of the Christian faith,I am no longer a Christian.
So rather than having our views influenced by politics or the culture, our views should be a reflection of the revelation of the Bible.
Too often we stub a dearly held opinion or political view on a verse of Scripture, but if the Bible is truly God's Word we've no right to edit it or take it ala cart. It's when we're tempted to echo the doubt of the Edenic Serpent, asking "Did God really say that?" because we want to impose another meaning upon the Text that we begin abandoning the ultimate authority of the Bible – and begin down the slippery slope to further unbelief.
Sin is, after all, rebellion against God and His Word, an attempt to supplant His Will with our own.
In our next post, we'll explore some further thoughts from Bruce's Letter.
We dealt with the former issue in our last post, Church Outside Four Walls. In this post, we deal with the latter issue.
I've come to the conclusion that the Bible, as great of a book as it is, is not the inerrant, inspired word of God. At best, the Bible is a spiritual guide and a book of mythical stories written by men thousands of years ago. It is not a book that is overly relevant to the world that we live in today. The stories make for great reading but they offer little real practical wisdom for moderns in a 21st-century. I still enjoy reading the Sermon on the Mount, Ecclesiastes, and the Psalms. There is wisdom to be had from the Bible but it is certainly not a book that one can govern their life by.
The orthodox position of Christendom is that the Bible is inerrant in the original autogrpahs and that God has preserved His Word as it has been passed down. A lingering bias of King James Only-ism seems to have kept him from accepting an orthodox position [see next quote].
He certainly does not tell us which alleged errors or contradictions he found in the Bible, so we cannot address those. Perhaps he is more transparent in later posts, but his charges are void for vagueness at this point.
In any case, I cannot fail to note that he called the Bible a "book of mythical stories written by men thousands of years ago." This is a direct contradiction of the Bible's claim that no prophecy of Scripture ever came by the will of men, but holy men of old spoke as they were moved of the Holy Ghost [2 Peter 1:21]. How might he have come to this conclusion that the Bible is a purely human book? The very phrase "mythical stories" is suggestive of the fact that he accepted millions of years of microbes-to-man evolution and then rejected the Genesis record of Creation and the Flood.
Now, I am King James Preferred and I have never preached out of any Bible save the King James, but I tend to shudder at the very idea of King James Only-ism. Why? Because I cannot fathom why someone would suppose that God wanted the Bible in English to preserved in an increasingly anachronistic variant of English, when He wants the whole world to read and understand His Word.
Yet note that he ststes that he no longer uses the "Bible as a science or history textbook." This is a common argument from those who affirm millions of years and/or evolution. This is evidence that his rejection of the Bible began with an acceptance of millions of years of evolution.
Think about it. he went from fundamentalist to liberal Christian to Universalist to, in his own words, "a Bible denying, Christ denying agnostic." Worse still, while Bruce tentatively affirms deism at the writing of My Testimony, he currently identifies himself as a full-blown atheist!
We must remember that it really does come down to whether one's ultimate authority is God's Word or man's.


text:
St. Callistus I
Name: St. Callistus I
Early in the third century, it was to Callistus, then a deacon, that Pope Saint Zephyrinus confided the government of the clergy, as well as the creation and maintenance of the Christian cemeteries, which at that time were the catacombs of Rome. At the death of the Sovereign Pontiff, Callistus succeeded him as Head of the Church.
It is he who made obligatory for the entire Church, the fast of the Ember Days which the Apostles had instituted, to bring down blessings on each season of the year. During his time, the Christians began to build churches, which though destroyed during the various persecutions, wereeventually rebuilt. Among the catacombs owed to his government, is the one on the Appian Waywhich bears his name. Many precious memories are conserved there; in it are found the tomb ofSaint Cecilia, the crypts of several popes, and paintings which attest the perfect conformity of the primitive Faith with that of the present-day Church.
During the pontificate of Saint Callistus, several very striking conversions occurred among the very officers of the persecuting emperor Alexander Severus. At one time an officer, his family and household, forty-two persons in all, were baptized by the Pope on the same day. Many others asked him for Baptism; among them a Senator and sixty-eight persons of his household, and aguardian of the saintly Pope, whose name was Privatus, after the prayers of the Holy Father hadcured him of an ulcer. All these new Christians were martyred, and their heads were exposed atthe various gates of Rome to discourage any who would propagate the Faith of Christ in that city. Despite the continuing pursuits and his constant solicitude for all the churches, Saint Callistusfound the means to have a diligent search made by fishermen for the body of a priest of his clergy, which had been cast into the Tiber after his martyrdom. When it was found he was filled with joy, and buried it with hymns of praise.
During the persecution Saint Callistus was obliged to take shelter in the poor and populous quarters of the city. The martyred priest, Calipodius, appeared to him soon afterwards, saying: "Father, take courage; the hour of the reward is approaching; your crown will be proportionate to your sufferings." Soon afterwards he was discovered there, and the house was guarded by soldiers who received the order to allow no food to enter it for several days. AndSaint Callistus was martyred in his turn. With a rock suspended from his neck, he was thrownfrom a window into a well on October 14, 223. The priest Asterius recovered and buried hisbody in the catacomb named for Calipodius. A week later Asterius too was arrested and throwninto the Tiber. The Christians interred this martyr also.


Hyla Cass MD is an internationally acclaimed psychiatrist and one of the our foremost experts and pioneers in integrative medicine. Combining the best of natural medicine with modern science in her clinical practice for over 30 years, and in writings, lectures, and media appearances, she's certified by the American Board of Psychiatry and Neurology (ABPN), as well the American Board of Holistic Integrative Medicine (ABIHM).
She is the author of a number of popular books including St. John's Wort: Nature's Blues Buster; Kava: Nature's Answer to Stress, Anxiety and Insomnia; Natural Highs; Supplement Your Prescription; 8 Weeks to Vibrant Health; and The Addicted Brain and How to Break Free.
Dr. Cass also speaks to professional and lay audiences on topics ranging from complementary medicine and psychiatry, longevity enhancement, women's health and hormones, weight management, and natural treatments for addiction, anxiety disorders, and depression. Audiences include the American College for Advancement in Medicine, the International Society for Orthomolecular Medicine, and The American Academy of Anti-Aging Medicine (A4M).
Born in Toronto, Canada, Hyla obtained her pre-medical and medical education from the University of Toronto School of Medicine, interned at LAC-USC Medical Center, then completed her residency training at Cedars-Sinai Medical Center, Los Angeles, where she then served as an attending staff physician for 10 years.
An Assistant Clinical Professor of Psychiatry at UCLA School of Medicine for 20 years, Board Member and Chair of Vitamin Relief USA, providing at-risk children, teens, seniors and adults with daily multiple vitamins across the U.S, she also is a Board Member of the American College for Advancement in Medicine (ACAM), Advisory Board member at Taste for Life Magazine and Medical Editor at Total Health Magazine.
Most recently she serves on the Board of Governors of the Placencia Health Group, which is creating a Medical Free Zone in Belize, while maintaining the highest scientific, professional and ethical standards, with an innovative World Center for Anti-Aging Medicine and Clinical Therapies.