text:
using jaytwo.Common.Collections;
using jaytwo.Common.Appendix;
using jaytwo.Common.System;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;

namespace jaytwo.Common.Http
{
    public static class UrlHelper
    {
        public static string Combine(string baseUrl, string path)
        {
            if (string.IsNullOrEmpty(baseUrl))
            {
                throw new ArgumentNullException("baseUrl");
            }

            return baseUrl.TrimEnd('/') + "/" + (path ?? string.Empty).TrimStart('/');
        }

        public static string Combine(string baseUrl, params string[] pathSegments)
        {
            if (string.IsNullOrEmpty(baseUrl))
            {
                throw new ArgumentNullException("baseUrl");
            }

            var result = baseUrl;

            if (pathSegments != null)
            {
                foreach (var pathSegment in pathSegments)
                {
                    result = Combine(result, pathSegment);
                }
            }

            return result;
        }

        public static Uri Combine(Uri baseUri, string path)
        {
            if (baseUri == null)
            {
                throw new ArgumentNullException("baseUri");
            }

            if (baseUri.IsAbsoluteUri)
            {
                return new Uri(Combine(baseUri.AbsoluteUri, path), UriKind.Absolute);
            }
            else
            {
                return new Uri(Combine(baseUri.ToString(), path), UriKind.Relative);
            }
        }

        public static Uri Combine(Uri baseUri, params string[] pathSegments)
        {
            if (baseUri == null)
            {
                throw new ArgumentNullException("baseUri");
            }

            if (baseUri.IsAbsoluteUri)
            {
                return new Uri(Combine(baseUri.AbsoluteUri, pathSegments), UriKind.Absolute);
            }
            else
            {
                return new Uri(Combine(baseUri.ToString(), pathSegments), UriKind.Relative);
            }
        }

        public static Uri Combine(Uri baseUri, Uri pathUri)
        {
            if (baseUri == null)
            {
                throw new ArgumentNullException("baseUri");
            }

            if (pathUri != null)
            {
                return Combine(baseUri, pathUri.ToString());
            }
            else
            {
                return CopyUri(baseUri);
            }
        }

        public static Uri CopyUri(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(uri.AbsoluteUri, UriKind.Absolute);
            }
            else
            {
                return new Uri(uri.ToString(), UriKind.Relative);
            }
        }

        public static string GetQueryStringParameterFromUri(Uri uri, string key)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (key == null)
            {
                throw new ArgumentNullException("key");
            }

            if (uri.IsAbsoluteUri)
            {
                return GetQueryStringParameterFromPathOrUrl(uri.AbsoluteUri, key);
            }
            else
            {
                return GetQueryStringParameterFromPathOrUrl(uri.ToString(), key);
            }
        }

        public static string GetQueryStringParameterFromPathOrUrl(string pathOrUrl, string key)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            var result = GetQueryFromPathOrUrlAsNameValueCollection(pathOrUrl)[key];
            return result;
        }

        public static Uri SetUriScheme(Uri uri, string newScheme)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (newScheme == null)
            {
                throw new ArgumentNullException("newScheme");
            }

            if (string.IsNullOrEmpty(newScheme))
            {
                throw new ArgumentException("newScheme cannot be empty");
            }

            if (!uri.IsAbsoluteUri)
            {
                throw new InvalidOperationException("Uri must be absolute to set scheme.");
            }

            var builder = new UriBuilder(uri);
            builder.Scheme = newScheme;

            Uri result;

            if (uri.IsDefaultPort)
            {
                var resultUrl = builder.Uri.GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped);
                result = new Uri(resultUrl, UriKind.Absolute);
            }
            else
            {
                result = builder.Uri;
            }

            return result;

        }

        public static string SetUrlScheme(string url, string newScheme)
        {
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }

            if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
            {
                throw new InvalidOperationException("Uri must be absolute to set scheme.");
            }

            var uri = new Uri(url);
            var result = SetUriScheme(uri, newScheme).AbsoluteUri;
            return result;
        }

        public static Uri SetUriSchemeHttp(Uri uri)
        {
            return SetUriScheme(uri, "http");
        }

        public static string SetUrlSchemeHttp(string url)
        {
            return SetUrlScheme(url, "http");
        }

        public static Uri SetUriSchemeHttps(Uri uri)
        {
            return SetUriScheme(uri, "https");
        }

        public static string SetUrlSchemeHttps(string url)
        {
            return SetUrlScheme(url, "https");
        }

        public static Uri SetUriHost(Uri uri, string newHost)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (newHost == null)
            {
                throw new ArgumentNullException("newHost");
            }

            if (string.IsNullOrEmpty(newHost))
            {
                throw new ArgumentException("newHost cannot be empty");
            }

            if (!uri.IsAbsoluteUri)
            {
                throw new InvalidOperationException("Uri must be absolute to set host.");
            }

            var builder = new UriBuilder(uri);
            builder.Host = newHost;
            return builder.Uri;
        }

        public static Uri SetUriHost(Uri uri, string newHost, int? newPort)
        {
            var result = uri;
            result = SetUriHost(result, newHost);
            result = SetUriPort(result, newPort);
            return result;
        }

        public static string SetUrlHost(string url, string newHost)
        {
            if (url == null)
            {
                throw new ArgumentNullException("url");
            }

            if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
            {
                throw new InvalidOperationException("Uri must be absolute to set host.");
            }

            var uri = new Uri(url);
            var result = SetUriHost(uri, newHost).AbsoluteUri;
            return result;
        }

        public static string SetUrlHost(string url, string newHost, int? newPort)
        {
            var result = url;
            result = SetUrlHost(result, newHost);
            result = SetUrlPort(result, newPort);
            return result;
        }

        public static Uri SetUriPort(Uri uri, int? newPort)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (!uri.IsAbsoluteUri)
            {
                throw new InvalidOperationException("Uri must be absolute to set port.");
            }

            Uri result;

            if (newPort.HasValue)
            {
                var builder = new UriBuilder(uri);
                builder.Port = newPort.Value;
                return builder.Uri;
            }
            else
            {
                var url = uri.GetComponents(UriComponents.AbsoluteUri & ~UriComponents.Port, UriFormat.UriEscaped);
                result = new Uri(url, UriKind.Absolute);
            }

            return result;
        }

        public static string SetUrlPort(string url, int? newPort)
        {
            if (url == null)
            {
                throw new ArgumentNullException("newPort");
            }

            if (!Uri.IsWellFormedUriString(url, UriKind.Absolute))
            {
                throw new InvalidOperationException("Uri must be absolute to set port.");
            }

            var uri = new Uri(url);
            var result = SetUriPort(uri, newPort).AbsoluteUri;
            return result;
        }

        public static Uri SetUriPortHttp(Uri uri)
        {
            return SetUriPort(uri, 80);
        }

        public static string SetUrlPortHttp(string url)
        {
            return SetUrlPort(url, 80);
        }

        public static Uri SetUriPortHttps(Uri uri)
        {
            return SetUriPort(uri, 443);
        }

        public static string SetUrlPortHttps(string url)
        {
            return SetUrlPort(url, 443);
        }

        public static Uri SetUriPortDefault(Uri uri)
        {
            return SetUriPort(uri, null);
        }

        public static string SetUrlPortDefault(string url)
        {
            return SetUrlPort(url, null);
        }

        public static Uri SetUriQuery(Uri uri, NameValueCollection queryStringData)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(SetUrlQuery(uri.AbsoluteUri, queryStringData), UriKind.Absolute);
            }
            else
            {
                return new Uri(SetUrlQuery(uri.ToString(), queryStringData), UriKind.Relative);
            }
        }

        public static string SetUrlQuery(string pathOrUrl, NameValueCollection queryStringData)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var baseUrl = GetPathOrUrlWithoutQuery(pathOrUrl);

            var queryStringResult = (queryStringData != null && queryStringData.AllKeys.Length > 0)
				? "?" + CollectionUtility.ToPercentEncodedQueryString(queryStringData)
                : string.Empty;

            string result;

            if (Uri.IsWellFormedUriString(baseUrl, UriKind.Absolute))
            {
                result = new Uri(baseUrl).AbsoluteUri + queryStringResult;
            }
            else
            {
                result = baseUrl + queryStringResult;
            }

            return result;
        }

        public static Uri AddUriQueryStringParameter<T>(Uri uri, string key, T value)
        {
            var valueString = string.Format(CultureInfo.InvariantCulture, "{0}", value);
            return AddUriQueryStringParameter(uri, key, valueString);
        }

        public static Uri AddUriQueryStringParameter(Uri uri, string key, object value)
        {
            return AddUriQueryStringParameter<object>(uri, key, value);
        }

        public static Uri AddUriQueryStringParameter(Uri uri, string key, string value)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(AddUrlQueryStringParameter(uri.AbsoluteUri, key, value), UriKind.Absolute);
            }
            else
            {
                return new Uri(AddUrlQueryStringParameter(uri.ToString(), key, value), UriKind.Relative);
            }
        }

        public static string AddUrlQueryStringParameter<T>(string pathOrUrl, string key, T value)
        {
            var valueString = string.Format(CultureInfo.InvariantCulture, "{0}", value);
            return AddUrlQueryStringParameter(pathOrUrl, key, valueString);
        }

        public static string AddUrlQueryStringParameter(string pathOrUrl, string key, object value)
        {
            return AddUrlQueryStringParameter<object>(pathOrUrl, key, value);
        }

        public static string AddUrlQueryStringParameter(string pathOrUrl, string key, string value)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            var query = GetQueryFromPathOrUrlAsNameValueCollection(pathOrUrl);
            query.Add(key, value);

            var result = SetUrlQuery(pathOrUrl, query);
            return result;
        }

        public static string SetUrlQueryStringParameter<T>(string pathOrUrl, string key, T value)
        {
            var valueString = string.Format(CultureInfo.InvariantCulture, "{0}", value);
            return SetUrlQueryStringParameter(pathOrUrl, key, valueString);
        }

        public static string SetUrlQueryStringParameter(string pathOrUrl, string key, object value)
        {
            return SetUrlQueryStringParameter<object>(pathOrUrl, key, value);
        }

        public static string SetUrlQueryStringParameter(string pathOrUrl, string key, string value)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            var query = GetQueryFromPathOrUrlAsNameValueCollection(pathOrUrl);
            query.Set(key, value);

            var result = SetUrlQuery(pathOrUrl, query);
            return result;
        }

        public static string RemoveUrlQueryStringParameter(string pathOrUrl, string key)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            var query = GetQueryFromPathOrUrlAsNameValueCollection(pathOrUrl);
            query.Remove(key);

            var result = SetUrlQuery(pathOrUrl, query);
            return result;
        }

        public static Uri SetUriQueryStringParameter<T>(Uri uri, string key, T value)
        {
            var valueString = string.Format(CultureInfo.InvariantCulture, "{0}", value);
            return SetUriQueryStringParameter(uri, key, valueString);
        }

        public static Uri SetUriQueryStringParameter(Uri uri, string key, object value)
        {
            return SetUriQueryStringParameter<object>(uri, key, value);
        }

        public static Uri SetUriQueryStringParameter(Uri uri, string key, string value)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(SetUrlQueryStringParameter(uri.AbsoluteUri, key, value), UriKind.Absolute);
            }
            else
            {
                return new Uri(SetUrlQueryStringParameter(uri.ToString(), key, value), UriKind.Relative);
            }
        }

        public static Uri RemoveUriQueryStringParameter(Uri uri, string key)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(RemoveUrlQueryStringParameter(uri.AbsoluteUri, key), UriKind.Absolute);
            }
            else
            {
                return new Uri(RemoveUrlQueryStringParameter(uri.ToString(), key), UriKind.Relative);
            }
        }

        public static Uri GetUriWithoutQuery(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(GetPathOrUrlWithoutQuery(uri.AbsoluteUri), UriKind.Absolute);
            }
            else
            {
                return new Uri(GetPathOrUrlWithoutQuery(uri.ToString()), UriKind.Relative);
            }
        }

        public static string GetPathOrUrlWithoutQuery(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var queryStringStartPosition = pathOrUrl.IndexOf('?');

            var result = (queryStringStartPosition >= 0)
                ? pathOrUrl.Substring(0, queryStringStartPosition)
                : pathOrUrl;

            return result;
        }

        public static string GetQueryFromUri(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return GetQueryFromPathOrUrl(uri.AbsoluteUri);
            }
            else
            {
                return GetQueryFromPathOrUrl(uri.ToString());
            }
        }

        public static string GetQueryFromPathOrUrl(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var queryStringStartPosition = pathOrUrl.IndexOf('?');

            var result = (queryStringStartPosition >= 0)
                ? pathOrUrl.Substring(queryStringStartPosition + 1)
                : string.Empty;

            return result;
        }

        public static string GetFileNameWithoutQuery(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return GetFileNameWithoutQuery(uri.AbsoluteUri);
            }
            else
            {
                return GetFileNameWithoutQuery(uri.ToString());
            }
        }

        public static string GetFileNameWithoutQuery(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var urlWithoutQuery = GetPathOrUrlWithoutQuery(pathOrUrl);
            return GetFileNameAndQuery(urlWithoutQuery);
        }

        public static string GetFileNameAndQuery(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return GetFileNameAndQuery(uri.AbsoluteUri);
            }
            else
            {
                return GetFileNameAndQuery(uri.ToString());
            }
        }

        public static string GetFileNameAndQuery(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var lastSlashPosition = pathOrUrl.LastIndexOf('/');

            if (lastSlashPosition >= 0)
            {
                return pathOrUrl.Substring(lastSlashPosition + 1);
            }
            else
            {
                throw new ArgumentException("Unable to parse path or url directory from file name.");
            }
        }

        public static Uri GetUriWithoutFileNameAndQuery(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            if (uri.IsAbsoluteUri)
            {
                return new Uri(GetPathOrUrlWithoutFileNameAndQuery(uri.AbsoluteUri), UriKind.Absolute);
            }
            else
            {
                return new Uri(GetPathOrUrlWithoutFileNameAndQuery(uri.ToString()), UriKind.Relative);
            }
        }

        public static string GetPathOrUrlWithoutFileNameAndQuery(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var lastSlashPosition = pathOrUrl.LastIndexOf('/');

            if (lastSlashPosition >= 0)
            {
                return pathOrUrl.Substring(0, lastSlashPosition + 1);
            }
            else
            {
                throw new ArgumentException("Unable to parse path or url directory from file name.");
            }
        }

        public static NameValueCollection GetQueryFromPathOrUrlAsNameValueCollection(string pathOrUrl)
        {
            if (pathOrUrl == null)
            {
                throw new ArgumentNullException("pathOrUrl");
            }

            var query = GetQueryFromPathOrUrl(pathOrUrl);
			return InternalScabHelpers.ParseQueryString(query);
        }

        public static NameValueCollection GetQueryFromUriAsNameValueCollection(Uri uri)
        {
            if (uri == null)
            {
                throw new ArgumentNullException("uri");
            }

            var query = GetQueryFromUri(uri);
			return InternalScabHelpers.ParseQueryString(query);
        }

		private static readonly Regex percentEncoderRegex = new Regex(@"[^A-Za-z0-9_.~]", RegexOptions.Compiled | RegexOptions.CultureInvariant);
		public static string PercentEncode(string value)
		{
            if (value != null)
            {
                return percentEncoderRegex.Replace(value, PercentEncoderMatchEvaluator);
            }
            else
            {
                return null;
            }
		}

		private static readonly Regex percentEncoderPathRegex = new Regex(@"[^A-Za-z0-9_.~/]", RegexOptions.Compiled | RegexOptions.CultureInvariant);
		public static string PercentEncodePath(string value)
		{
			if (value != null)
            {
                return percentEncoderPathRegex.Replace(value, PercentEncoderMatchEvaluator);
            }
            else
            {
                return null;
            }
		}

		private static string PercentEncoderMatchEvaluator(Match match)
		{
			byte[] bytes = Encoding.UTF8.GetBytes(match.Value);

			StringBuilder encoded = new StringBuilder();
			foreach (byte b in bytes)
			{
				encoded.AppendFormat("%{0:X2}", b);
			}

			return encoded.ToString();
		}
    }
}

redpajama_set_name: RedPajamaGithub


text:
/Book Reports
Autor: Fernando Siller • October 26, 2015 • Essay • 416 Words (2 Pages) • 703 Views
Throughout the novel, Offred struggles to maintain her own identity. It is one of the most important aspects that the novel portrays along with the subtopics that emerge from it. To begin with, the novel's title is necessary for our understanding of this theme. It is called The Handmaid's Tale and not A Handmaid's Tale. This makes it clear how we are only focusing on an individual in a society where individuality is slowly being lost in a dystopian world. Whoever the Handmaid is, she must be seen as the individual she is; someone who is important in her own right.
Her name is one of the main factors that explores the theme of identity and Offred's struggle to maintain it. As suggested with 'My name isn't Offred, I have another name, which nobody uses now because it's forbidden.', we see how she does not see herself as Of-Fred. This is only the name that was given to her by Gilead. It is an imposed name that makes her a man's property and she did not choose any of those conditions. That identity has nothing to do with her as an individual, as there have been Offreds before. Her struggle is later depicted by "I tell myself it doesn't matter... but what I tell myself is wrong, it does matter." Our narrator needs two things; to be loved and to be recognised. In chapter 17 she mentions "I want to be held and told my name" and finally, when she is able to tell Nick her name, she feels real; she feels that a relationship has begun as shown with "I feel that therefore I am known".
In chapter 29, the Commander is laughing because of women's poor ability with mathematics. 'For them,' he says, 'one and one and one and one don't make four.' Later, in the following chapter, this claim becomes symbolic for Offred, as she is able to convey her posture towards the importance of identity in the world of Gilead. 'One and one and one and one doesn't equal four. Each one remains
Problems of the Muslim Women
Working Women in Saudi Arabia
Why Might Bribery Become a Problem for Us Managers Working in Foreign Countries?
Isolation in Hawthorne's Literary Works
History of Working Women
Exploring the Life of the Famous Poet Mirabai Through Her Literary Works
Working Women: An Empirical Study on Impact of Working Status on Their Social Lives, Health & Problems Faced at Job Place - a Comparative Study of Academic Sector & Corporate Sector Women of Anand District
Men and Environment: Environmental Problem
Social Work Case Study
Product Problem

redpajama_set_name: RedPajamaCommonCrawl


text:
Section Menu: Newsroom
Newsroom School News Stanford GSB Recognizes Student Leaders Committed to Social Change
Stanford GSB Recognizes Student Leaders Committed to Social Change
Next generation of social innovators honored with Stanford Impact Leader Fellowship.
Recipients of the Social Innovation Fellowship, the Frances & Arjay Miller Prize, and the Miller Social Change Leadership Award with Arjay Miller, Jonathan Levin, and Neil Malhotra.
The Stanford Graduate School of Business Center for Social Innovation recognized 12 students Tuesday night for their exemplary contributions to social innovation.
The students were collectively awarded the Miller Social Change Leadership Award and the Stanford Impact Leader Fellowship. Each award is part of Stanford's ongoing commitment to promote global change through social innovation and to support students who embody the quest for social and environmental progress. The students were from the MBA program as well as Stanford GSB's one-year Master of Science degree program for experienced professionals, the MSx program.
The Social Innovation community at Stanford Graduate School of Business.
Dean Emeritus Arjay Miller, creator of two of the awards, was also honored at the event for his ongoing contributions to Stanford GSB. Miller served as dean of Stanford Graduate School of Business from 1969 to 1979. During that time, he created the school's Public Management Program to promote cooperation between public and private sectors for the benefit of society.
"As I've said before, making money is the easy part — it's making the world a better place that is the hard part," Miller said. "I wanted to encourage students to find unique ways to overcome social challenges, and I'm thrilled with the change these programs have inspired over the past few years."
Social Innovation Fellowship
Two social entrepreneurs of the Stanford GSB Class of 2008, Jake Harriman and Jane Chen, inspired the Social Innovation Fellowship program. Their hustle to launch their respective social enterprises revealed the need for a support system for students who want to start a nonprofit venture to address a pressing social or environmental need. Individual recipients of the fellowship are awarded $110,000 stipend each.
Sloan Fellow Muhammad Mustafa is the creator of EasyJob, a mobile app with an icon- and audio-based interface that helps illiterate adults obtain employment. | Stacy Geiken
This year, emerging social entrepreneurs Jenna Nicholas (MBA) and Muhammad Mustafa (MSx) have been selected to test, implement, and iterate their venture ideas through the fellowship. Nicholas and Mustafa were evaluated on their personal leadership potential, as well as the anticipated success and impact of their proposed ventures.
Nicholas' Impact Experience is an organization that brings together investors, philanthropists, entrepreneurs, innovators, and community leaders to solve economic challenges. By invitation, Impact Experience partners with some of the most disadvantaged communities to facilitate deep connections designed to generate trust, enhance strategy, and accelerate transformation.
Mustafa's EasyJob is helping illiterate adults obtain employment with a mobile app that is based entirely on icons and audio. The app will initially help these adults find temporary jobs to supplement their existing incomes. Once validated, the text-free user interface will be used to provide other services like educational content and medical advice.
Stanford Impact Leader Fellowship
The Stanford Impact Leader Fellowship rewards students who demonstrate an exceptional commitment to public good and is awarded to graduating students who plan to focus on social or environmental impact in the next phase of their careers.
Making money is the easy part — it's making the world a better place that is the hard part. I wanted to encourage students to find unique ways to overcome social challenges, and I'm thrilled with the change these programs have inspired over the past few years.
Arjay Miller
This year, students Ali Goldsworthy (MSx) and Benjamin Fernandes (MBA) were selected for the prize and will each receive a stipend of $20,000 to facilitate their transition after graduation.
Through the fellowship, Goldsworthy plans to put her insights into politics to good use in the nonprofit sector while Fernandes is working on building a financial institution driving forward digital financial services in East Africa. Fernandes will initially launch these services in Tanzania to support the 80-percent unbanked population.
Miller Social Change Leadership Award
Recipients of the Miller Social Change Leadership Award are selected based on their focus on social innovation through academic coursework and practical application, as well as their leadership within and contributions to Stanford GSB community of social and environmental innovators during their time at Stanford GSB. This year, the award recognized the following students:
Shruthi Baskaran, MBA
Eli Bildner, MBA
Emma Chastain, MBA
Benjamin Fernandes, MBA
Ali Goldsworthy, MSx
Kate Kraft, MBA
Mark Moeremans, MBA
Jenna Nicholas, MBA
Tom Petit, MBA
Karen Warner, MBA
Charles Zhu, MBA
MBA student Jenna Nicholas is the creator of Impact Experience, an organization that brings together investors, philanthropists, entrepreneurs, innovators, and community leaders to solve economic challenges. | Stacy Geiken
A special version of the award was presented to James M. Patell, the Herbert Hoover Professor of Public and Private Management, Emeritus. In 1985, Patell revitalized the Public Management Program by expanding its scope to include nonprofit, corporate, and community leadership as well as social ventures and championed its success through multiple leadership changes and economic downturns.
http://stanford.io/2qhRYod
For media inquiries, visit the Newsroom.
Changemaker: Reducing Emissions, Fighting Climate Change
"Our mission is to drive massive action across whole portfolios of buildings all over the world."
Hard Lessons: What I Learned From Failure
Six alumni reflect on a difficult time in their careers.
2022 Stanford MBA Employment Report Highlights Students' Drive for Impact
Students and graduates leveraged a strong job market to find roles that matched their skills and passions.
James Patell
Bernadette Clavier
CSI Fellowships
Video | Be the Change You Want to See in the World


2011-1453. Disciplinary Counsel v. Crosby, Slip Opinion No. 2012-Ohio-2872.
On Certified Report by the Board of Commissioners on Grievances and Discipline, No. 10-091.
William Matthew Crosby, Attorney Registration No. 0002451, is permanently disbarred from the practice of law in Ohio.
(June 28, 2012) The Supreme Court of Ohio has permanently revoked the law license of Cleveland attorney William M. Crosby for engaging in a pattern of misconduct that included a felony conviction for failing to file federal income tax returns from 2001 through 2006, commingling his own funds with funds held for clients in his law office trust account to conceal income from the IRS, and billing clients in a civil lawsuit for $30,000 in claimed litigation expenses when actual documented expenses in the case were only half that amount.
In a 7-0 per curiam decision announced today, the court adopted findings by the Board of Commissioners on Grievances and Discipline that Crosby violated, among others, the state disciplinary rules that prohibit an attorney from engaging in illegal conduct involving moral turpitude; conduct involving fraud, deceit, dishonesty or misrepresentation; conduct prejudicial to the administration of justice; and conduct that reflects adversely on the attorney's fitness to practice law.
In finding that the appropriate sanction for his current misconduct was permanent disbarment, the court noted the aggravating factors that Crosby's license has been under suspension since 2009 for prior disciplinary rule violations, and that he harmed vulnerable clients, acted with a selfish and dishonest motive, made false and misleading statements during the disciplinary process, and failed to make any restitution toward a $314,000 award obtained against him by the IRS.
Jonathan E. Coughlan, 614.461.0256, for the Office of Disciplinary Counsel.
Patrick J. Perotti, 440.352.3391, for William Crosby.