text:
Latest news, updates and multimedia on ICRC.org
Here are some answers to questions based on the latest information that we can share.1.
Request for information regarding the consultancy to reduce the sustainable risk of ICRC distributed items
In 2021, the ICRC launched a project to reduce the sustainable risk of the distributed items distributed.
Yemen: ICRC expresses deep concern about the human toll caused by escalating violence
The Yemeni Red Crescent Society (YRCS) with the support of the International Committee of the Red Cross (ICRC) provided ambulance services to evacuate the wounded and the dead, and the ICRC is supporting two hospitals with emergency medical supplies
21-01-2022 | News release
ICRC Pakistan: Snapshot 2021
Years of research and advocacy on the issue of violence against health care culminated in the passage of the Khyber Pakhtunkhwa Protection of Health Care Workers and Facilities Act 2020.
Sophisticated cyber-attack targets Red Cross Red Crescent data on 500,000 people
The attack compromised personal data and confidential information on more than 515,000 highly vulnerable people, including those separated from their families due to conflict, migration and disaster, missing persons and their families, and people in
ICRC President: "The international community must act to avoid a humanitarian catastrophe in Afghanistan"
Statement by the ICRC President Peter Maurer at Afghanistan Economic Conference on the humanitarian crisis in Afghanistan and the concrete steps taken by the ICRC to support those who are affected by it.
19-01-2022 | Statement
Washington, DC (ICRC) – The ICRC is gravely concerned that the remaining people held at Guantanamo Bay have been behind bars for so many years with little or no clarity as to what will happen to them.
The ICRC is profoundly concerned over availability of medical treatment, including medicine and medical equipment. Health-care services are lacking essential medical supplies, and in some cases infrastructure has been severely damaged.
ICRC launches new fund to boost climate action in its humanitarian programmes
The Climate and Environment Transition Fund will be structured as a multi-year vehicle aimed at supporting ICRC's sustainability objectives and climate action."Our ambition is clear: we will lead by example and support the evolution of the humanitari
ICRC launches a new fund to support long-term climate and environment initiatives
The ICRC and the International Federation of Red Cross and Red Crescent Societies co-led a broad consultative process across the humanitarian sector to develop the Climate and Environment Charter for Humanitarian Organizations
Mubi is a major town in North-East of Nigeria, a region that has been at the centre of an armed conflict since 2009.
14-01-2022 | Photo gallery
A humanitarian perspective on China–Africa cooperation
The ICRC shared insights on China–Africa cooperation from a humanitarian perspective at the second forum on China and International Development hosted by the CAITEC on 13 January 2022.
Brave and Bold: All it takes is one story
Having grown up in Garissa, an arid part of Northern Kenya, Khadija remembers having to walk far from their home in search of water."Where I come from, girls don't choose plumbing as a trade.
Ukraine: Ongoing, active conflict a cause of a heavy humanitarian toll
A statement from Dominik Stillhart, the director of operations for the ICRC
Pakistan: National Physical Disability T20 Championship celebrates the power of inclusion
The ICRC has been supporting physical rehabilitation in Pakistan since the 1980s through its physical rehabilitation programme, providing assistive devices and artificial limbs and training professionals as per international standards.


text:
Why consider unified communications for your organization?
Unified Communications is the intelligent and scalable way to deliver integrated communications services to the enterprise. UC makes it easier for people to connect, communicate and work together—whenever they need to and from wherever they are.
Connect effortlessly with nearly any device.
Work with anyone, anytime.
Use one simple cloud platform for multiple tools.
Unified Communications (UC) is the integration of real-time, enterprise-grade network communication services such as conferencing, voice, video or instant messaging, with asynchronous services like voicemail, email, and text messages. Though not a singular product, UC provides users with a consistent, reliable communications experience across multiple devices and locations.
When deploying Unified Communications as a Service(UCaaS), companies can expect a range of benefits, including:
Enhanced Productivity and Workplace Collaboration
Teams can talk and share wherever they are, whenever they want to and with whomever needs to be engaged in the conversation, increasing and improving access to information that facilitates the flow of ideas.
Access to the Power of the Cloud
A UCaaS provider with a broad portfolio allows companies to reap the full benefits of the cloud via a single partner, giving them flexibility and the freedom to most effectively match advanced products and solutions to their business goals.
Increased Financial Flexibility
By choosing a UCaaS provider, capital expenditure is dramatically reduced while operating expenses become more consistent and better reflect the requirements of the organization, delivering a quicker return on investment.
Reduced Travel and Operational Costs
Today's enterprise is global in scope; rarely are teammates located down the hall or even on another floor. Technology-enabled collaboration simulates the experience of a face-to-face meeting or hallway conversation, causing organizational productivity to soar as costs fall even with remote participants.
Increased Reach and Interactions
For teams who need to share company updates, launch products and get employees trained on new processes, webinars & enterprise streaming remove the barriers of time and distance while improving interactions.
Sign up for Whiteboard Friday emails
Whiteboard Friday is our bi-weekly video education series on a wide ranging list of topics across the Unified Communications industry.
Subscribe me to Whiteboard Fridays *
Subscribe me to Whiteboard Friday Emails
Give presentations, conduct global audits and review budgets without travel.
Respond faster to customer needs.
Today's consumers embrace online banking for its convenience and control. But when the time comes to interact with a bank's service team, customers expect the immediacy of digital transactions with a personalized touch. That's why our unified communications solutions for financial services firms empower employees to prioritize and respond to customer messages with ease, efficiency and efficacy. By connecting equipment and integrating applications from premier partners such as Cisco, we enable employees to focus on customer needs instead of juggling emails and voicemails. Employees save time and boost productivity, while the bank builds loyalty and trims operating costs.
Consult with experts in real-time during surgery to improve patient outcomes.
Saving lives, one video conference at a time.
A patient's life should never hinge on timing or budget, but it once did. Now, partnering with BlueJeans Network, we enable specialists to do the most good without being limited by location or technology. By connecting devices and applications like Cisco, Microsoft, Polycom, Skype and even web browsers, there's no delay in critical care due to distance or disparate technology tools. And because our network is secure, patient confidentiality is maintained, even when care providers are outside of the physical operating room.
Collaborate to solve national or worldwide supply chain issues quickly.
Get products to market faster.
Manufacturers today must move at unprecedented speed to compete. From sourcing through distribution and sales, they must manage operating costs without sacrificing quality or service. And to meet these challenges, the flow of information within an organization is critical. That's why our Webcasting solutions for manufacturing companies empower users to communicate internally with crystal-clear audio, high-definition video and rich graphics. By our industry-leading InterCall conferencing services with platforms from premier partners such as BlueJeans, Cisco and Microsoft, we enable manufacturers to collaborate with ease, efficiency and efficacy across the country and around the world.
Share critical data on clinical trials to get medications to market faster.
Collaborate to find cures.
Today's pharmaceuticals firms navigate a complex terrain of global competition and rigorous regulation. Clear, crisp communication is vital for any organization to succeed. That's why our unified communications solutions empower a pharma enterprise to connect and collaborate with ease, efficiency and efficacy anytime on any device from anywhere in the world. With platforms and applications from premier partners, such as Microsoft Lync and Cisco Jabber, we enable pharma colleagues to share rich, engaging interactions by unifying voice, instant messaging and audio/video/web conferencing and providing training from implementation through adoption.
Work seamlessly with teams around the world to refine products.
Operate at the cutting edge of innovation.
Technology companies operate at the cutting edge of innovation. Especially IT services firms, whose workers are the frontline of business productivity, installing the latest systems and helping business people get the most from them. That's why our unified communications solutions empower tech teams to connect and collaborate with ease, efficiency and efficacy with each other and with customers anytime on any device from anywhere in the world. By unifying voice, instant messaging and audio/video/web conferencing and providing training from implementation through adoption, we enable tech to boost productivity today on a communications foundation ready for tomorrow.
Connect with colleagues, accurately track and support time with clients, and maximize bill time.
Connect and collaborate across the globe.
In a connected world, businesses of all kinds can serve and compete at any scale – around town or around the globe. So, when professional services firms, such as consulting companies, move business infrastructure into the cloud, they want a communications provider with knowledge and expertise to match their own. That's why our IP telephony solutions empower professional services teams to connect and collaborate with ease, efficiency and efficacy with each other and with customers anytime on any device from anywhere in the world. With our VoiceMaxx enterprise PBX, we deliver robust features and flexible administration, lowering costs and boosting productivity.
How we help businesses implement and scale unified communications.
Start with a world-class network optimized for real-time communications.
Enable device- and location-agnostic workforce mobility—from home offices to high-volume contact centers.
Deliver tools that allow people to come together from anywhere—with virtual meetings, conference calls, file sharing and video.
Integrate employee email, voicemail, faxes and IM/presence in one inbox.
Extend communications across your enterprise without the need for additional IT resources.
Making the right UCaaS choices for your business can be a challenge. That's why our experts are here to help you identify and integrate the solutions you need to make your business more efficient.

redpajama_set_name: RedPajamaCommonCrawl


Eco-conscious, eco-friendly, recycled gold coin rings. Totally handcrafted and recycled. Made in Cambridge, England, UK by Hairy Growler Jewellery Co.
These beautifully contemporary and eco-conscious gold rings dont cost the earth, literally and actually. They are available in all sizes, and each one is handcrafted to order from an British Sovereign coin.
These coins are just perfect to turn into beautiful high quality, original and ethical rings. During the terrible world wars some artisan soilders would take these precious coins and transform them into rings for loved ones and to remind them of loved ones back 'at home'. The resourcefulness of these soilders is admirable and inspiring. This resourceful intent has now resurfaced in my work as a silversmith with green ethics looking to create original and unusual wearable pieces of art. Trench art to recycled art.
There is no 'join' in these rings which is another reason they are just perfect as wedding bands, they are an 'unbroken circle', quite lovely and symbolic.
The approx widths are between 4 mm and 6 mm in proportion the the actual ring size. Larger sizes being wider and vice versa. However, if you would prefer your ring in a narrower band just let me know, its no problem.


text:
It Was Just An Idea
The Ashcroft Band began dreaming about developing gas station on its land along the Trans Canada years ago. It began as an idea from Chief Greg Blain. When the Husky Station burned down in Cache Creek, the Chief approached the company and suggested the Ashcroft Reserve would be an ideal spot to rebuild. They declined, but Chief Blain never let go of the idea.
BC Mineral Tax Revenue Sharing Agreement
Goodwill, hard work and creative thinking lead to the mineral tax sharing agreement between the Ashcroft Band and the BC Liberal government.
"The money we accessed through that agreement gave us credibility with banks and allowed us to begin negotiating and making plans with Imperial Oil. We found more good partners with On-the-Run and Esso," says Chief Blain. "We then began construction in the fall of 2013. There were a lot things we had to work out, but with help of our partners, the Ashcroft Band Council pulled it all together and we now have what we know will be a very successful operation. We are already seeing revenues."
"That agreement with BC Liberal government was critical to what we are doing here now. I don't mind saying that it helped us tremendously."
The Ashcroft Band
The Ashcroft Indian Band has occupied these lands for 6000 years. It is a small band with a strong community. There are about 270 band members living on and off reserve. The Band Council leadership believes in creating a positive environment in the community and works to make the community a healthy, safe and good place to live.
Over the last ten years the Band has built a Health Centre and arranged for regular visits from a nurse in the region. The Centre also provides everything from help for new mothers to computer training, weekly luncheon socials, vaccination programs, and special events for elders.
Many homes have been repaired, renovated and updated over the last several years with plans to do more repairs in the future. After the wildfire, 8 new homes were built and the band is currently finishing an elder's 6-plex that includes 6 open concept 1 bedroom homes.
The reserve went online in 2012 and everyone has very affordable access to the internet.
Our Round House, which will host community functions, seminars, workshops and meetings is also in its' finishing stages. The Round House kit was generously donated to the Ashcroft Indian Band by the Skeetchestn Indian Band after the 2017 Fire.
Within the next two to three years the community will get a new fresh water supply to replace the current system.
The Band sets aside money every year for training and education of young people and many have gone on to college or university and even studied overseas.


Here's the pick of popular & Off-Beat Cruise vacations for first-timers as well as veteran cruisers. Experience awesome confluence of entertainment, activities, sightseeing tours, relaxation and fine dinning. Come aboard.


text:
Topical Forums (Noncommercial Postings About Life in Chiriquí)
Theatre Guild of Ancon: "Ladies of the Alamo" sharpen their claws
By Moderator_02,
June 11, 2019 in Entertainment
Moderator_02
Ladies of the Alamo sharpen their claws
Biting put downs and sharp asides drew gasps and laughter from the opening night audience of Ladies of the Alamo at the Panama shrine of English theatre performances, The Theatre Guild of Ancon.
The setting is the lavish reception room of the new multi-million-dollar Alamo Theatre, a regional theatre complex that has grown from a small operation in a converted church to one of the glories of Texas culture. As the action begins we learn that the leadership of Dede Cooper, founder and artistic director of the Alamo, is being challenged, and the
Chairman of the Board, a lady of great wealth and a lust for power, is scheming to replace Dede with a fading Hollywood star.
As the hour of the decisive board meeting nears, Dede and her supporters maneuver to outflank the opposition, and as the crisis point is reached the verbal battles and shocking revelations build to a fever pitch. leaving no one unscathed; and while the insurrection is put down, the scars of battle will, take long to heal.
The all women stars are : Odette Versailles as 'Dede Cooper'; Joyce Barr as 'Bella Gardner'; María José Rojas as Suits '(Beatrice)'; Tevia Brooks as 'Joanne Remington'; Beatriz Martin as 'Shirley Fuller'Perf6 to 22 Opening night was on Thursday June 6 and the play run June every Thursday, Friday and Saturday at 8:00 p.m. until June 22.
https://www.newsroompanama.com/events/ladies-of-the-alamo-sharpen-their-claws-1
2 yr Moderator_02 changed the title to Theatre Guild of Ancon: "Ladies of the Alamo" sharpen their claws


What is a presentation? We broadly define a presentation as an opportunity to convince an audience of an idea, concept or product. What size constitutes an audience? An audience can be anything from one to an infinite number of people. So, can an audience be one person? Yes it most certainly can. One uses different techniques to present one-on-one, one on two, one on many or two or a team on all of the above. So to mistakenly think that presentation skills apply only to one on many presentations is to misunderstand what a presentation really is.
It is also ridiculous to assume today that there is a specific method and flow to be used for all presentations. A sales presentation involving a new revolutionary product may have a beginning, middle and end format, but the end may involve a call for action or, depending upon the objective of the presentation, may be a request to commence on a path of considering an alternative viewpoint. For instance if your are anti-culling, a conservation project may want to convince you of the benefits to the environment of culling in a scientific and humane manner in order to preserve the environment. Your reaction to the presentation may not be immediate action, but may cause you to begin investigating the merits of a point of view that you may not previously have entertained.
The very first question you ask yourself, even before considering your audience size, is what am I trying to achieve? For many young men the most important presentation he will ever do is to his girlfriend's Father when he asks for her hand in marriage. How important it is for him to get that presentation right, but also to ensure that his conduct leading up to the presentation was commensurate with a successful outcome!
Today the person lacking in the ability to present effectively starts out at a spectacular disadvantage. In the modern world these skills have become a pre-requisite to success in more ways than we often realise.


I have Windows 7 Professional on my PC. In the first load I had, the PC should automatically detect if the LAN cable was plugged in, turn off the wireless radio, and change the network icon in the right bottom corner to reflect the cable was now in use. Unfortunately, I had to reload my PC, and since then I can't get it to do it again.
So, what I'd like to achieve is this: Have Windows automatically detect when the cable is plugged in, turn of the wireless radio, and change the network icon in the right bottom corner to reflect the cable is in use - and, obviously, vice versa.
Can someone tell me what I need to do, please?
There are two methods can help you.
1. Go to <Network and Sharing><Change Adapter Settings> and right click your wired and wireless adapters one at a time to change the properties. Select IPv4, click <Properties> then click <Advanced>. For each one, clear the "Automatic metric" check box and assign the metric value manually. Setting your wired adapter's metric value lower than wireless adapter one, such as "1" for wired adapter and "2" for wired adapter.
"Advanced Settings" from the dropdown menu, adjust the priority of your wired adapter higher than your wireless adapter in the "Advanced Settings" window under the "Adapters and Bindings" tab.
I have this same issue and those settings do not work. In some cases the network never switches over from wireless to wired.
it's resolved my issue. thanks.
Bumping an older thread here, but how do you keep a Windows 7 laptop from connecting to both wired and wireless connections at the same time?
I also would like to bump this and ask how to keep the laptop from connecting to both NICs. We want to make sure that when the laptops are docked, they only use the Ethernet (LAN) connection. Currently, the only way to get them to use the LAN is to disable the wireless NIC. We have tried the suggestions Jeremy_Wu posted as well as ensuring that the LAN/WLAN Autoswitch configuration is set within the BIOS. Any other helpful suggestions?
I want to add, that just setting the metric to 1 and 2 will not always work.
Because a formula is used to determine which network should be used and the metric just shifts the weight.
Therefore there needs to be enough difference bettween the two metrics in order for them to have an effect so that that ethernet becomes heavier on priority.
I managed to tell windows to use ethernet over wireless, by setting metrics for ethernet to 1, and for wireless to 20.


text:
// Copyright 2014-2016, Google, Inc.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const generator_utils_1 = require("./generator_utils");
const async = require("async");
const swig = require("swig");
const path = require("path");
const mkdirp = require("mkdirp");
const fs = require("fs");
const url = require("url");
const util = require("util");
const js_beautify_1 = require("js-beautify");
const DefaultTransporter = require("google-auth-library/lib/transporters");
const minimist = require("minimist");
const handleError = generator_utils_1.default.handleError;
const argv = minimist(process.argv.slice(2));
const args = argv._;
const DISCOVERY_URL = argv['discovery-url'] ? argv['discovery-url'] : (args.length ? args[0] : 'https://www.googleapis.com/discovery/v1/apis/');
const FRAGMENT_URL = 'https://storage.googleapis.com/apisnippets-staging/public/';
const API_TEMPLATE = './templates/api-endpoint.ts';
const BEAUTIFY_OPTIONS = {
    'indent_size': 2,
    'indent_char': ' ',
    'eol': '\n',
    'indent_level': 0,
    'indent_with_tabs': false,
    'preserve_newlines': true,
    'max_preserve_newlines': 2,
    'jslint_happy': false,
    'space_after_anon_function': true,
    'brace_style': 'collapse',
    'keep_array_indentation': false,
    'keep_function_indentation': true,
    'space_before_conditional': true,
    'break_chained_methods': false,
    'eval_code': false,
    'unescape_strings': false,
    'wrap_line_length': 0,
    'wrap_attributes': 'auto',
    'wrap_attributes_indent_size': 4,
    'end_with_newline': true
};
const RESERVED_PARAMS = ['resource', 'media', 'auth'];
const templateContents = fs.readFileSync(API_TEMPLATE, { encoding: 'utf8' });
class Generator {
    /**
     * Generator for generating API endpoints
     *
     * @private
     * @param {object} options Options for generation
     * @this {Generator}
     */
    constructor(options) {
        this._transporter = new DefaultTransporter();
        this._state = {};
        this._options = options || {};
        /**
         * This API can generate thousands of concurrent HTTP requests.
         * If left to happen while generating all APIs, things get very unstable.
         * This makes sure we only ever have 10 concurrent network requests, and
         * adds retry logic.
         */
        this._requestQueue = async.queue((opts, callback) => {
            async.retry(3, () => {
                return this._transporter.request(opts, callback);
            });
        }, 10);
        swig.setFilter('buildurl', generator_utils_1.default.buildurl);
        swig.setFilter('getAPIs', this.getAPIs);
        swig.setFilter('oneLine', this.oneLine);
        swig.setFilter('cleanComments', this.cleanComments);
        swig.setFilter('getPathParams', this.getPathParams);
        swig.setFilter('getSafeParamName', this.getSafeParamName);
        swig.setFilter('cleanPaths', (str) => {
            return str.replace(/\/\*\//gi, '/x/').replace(/\/\*`/gi, '/x');
        });
        swig.setDefaults({ loader: swig.loaders.fs(path.join(__dirname, '..', 'templates')) });
    }
    /**
     * A multi-line string is turned into one line.
     *
     * @private
     * @param  {string} str String to process
     * @return {string}     Single line string processed
     */
    oneLine(str) {
        return str.replace(/\n/g, ' ');
    }
    /**
     * Clean a string of comment tags.
     *
     * @private
     * @param  {string} str String to process
     * @return {string}     Single line string processed
     */
    cleanComments(str) {
        // Convert /* into /x and */ into x/
        return str.replace(/\*\//g, 'x/').replace(/\/\*/g, '/x');
    }
    /**
     * Returns the list of names of APIS
     *
     * @private
     * @param  {object} items Object of api endpoints
     * @return {array}        Array of api names
     */
    getAPIs(items) {
        const apis = [];
        for (const i in items) {
            apis.push(items[i].name);
        }
        return apis;
    }
    getPathParams(params) {
        const pathParams = [];
        if (typeof params !== 'object') {
            params = {};
        }
        Object.keys(params).forEach(function (key) {
            if (params[key].location === 'path') {
                pathParams.push(key);
            }
        });
        return pathParams;
    }
    getSafeParamName(param) {
        if (RESERVED_PARAMS.indexOf(param) !== -1) {
            return param + '_';
        }
        return param;
    }
    /**
     * Add a requests to the rate limited queue.
     * @param opts Options to pass to the default transporter
     * @param callback
     */
    makeRequest(opts, callback) {
        this._requestQueue.push(opts, callback);
    }
    /**
     * Log output of generator
     * Works just like console.log
     */
    log(...args) {
        if (this._options && this._options.debug) {
            console.log.apply(this, arguments);
        }
    }
    ;
    /**
     * Write to the state log, which is used for debugging.
     * @param id DiscoveryRestUrl of the endpoint to log
     * @param message
     */
    logResult(id, message) {
        if (!this._state[id]) {
            this._state[id] = [];
        }
        this._state[id].push(message);
    }
    /**
     * Generate all APIs and write to files.
     *
     * @param {function} callback Callback when all APIs have been generated
     * @throws {Error} If there is an error generating any of the APIs
     */
    generateAllAPIs(callback) {
        const headers = this._options.includePrivate ? {} : { 'X-User-Ip': '0.0.0.0' };
        this.makeRequest({
            uri: DISCOVERY_URL,
            headers: headers
        }, (err, resp) => {
            if (err) {
                return handleError(err, callback);
            }
            const apis = resp.items;
            const queue = async.queue((api, next) => {
                this.log('Generating API for %s...', api.id);
                this.logResult(api.discoveryRestUrl, 'Attempting first generateAPI call...');
                async.retry(3, this.generateAPI.bind(this, api.discoveryRestUrl), (err, results) => {
                    if (err) {
                        this.logResult(api.discoveryRestUrl, `GenerateAPI call failed with error: ${err}, moving on.`);
                        console.error(`Failed to generate API: ${api.id}`);
                        console.log(api.id + "\n-----------\n" + util.inspect(this._state[api.discoveryRestUrl], { maxArrayLength: null }) + '\n');
                    }
                    else {
                        this.logResult(api.discoveryRestUrl, `GenerateAPI call success!`);
                    }
                    this._state[api.discoveryRestUrl].done = true;
                    next(err, results);
                });
            }, 3);
            apis.forEach((api) => {
                queue.push(api);
            });
            queue.drain = (err) => {
                console.log(util.inspect(this._state, { maxArrayLength: null }));
                if (callback)
                    callback(err);
            };
        });
    }
    ;
    /**
     * Given a discovery doc, parse it and recursively iterate over the various embedded links.
     * @param api
     * @param schema
     * @param path
     * @param tasks
     */
    getFragmentsForSchema(apiDiscoveryUrl, schema, path, tasks) {
        if (schema.methods) {
            for (const methodName in schema.methods) {
                const methodSchema = schema.methods[methodName];
                methodSchema.sampleUrl = path + '.' + methodName + '.frag.json';
                tasks.push((cb) => {
                    this.logResult(apiDiscoveryUrl, `Making fragment request...`);
                    this.logResult(apiDiscoveryUrl, methodSchema.sampleUrl);
                    this.makeRequest({
                        uri: methodSchema.sampleUrl
                    }, (err, response) => {
                        if (err) {
                            this.logResult(apiDiscoveryUrl, `Fragment request err: ${err}`);
                            return cb(err);
                        }
                        this.logResult(apiDiscoveryUrl, `Fragment request complete.`);
                        if (response && response.codeFragment && response.codeFragment['Node.js']) {
                            let fragment = response.codeFragment['Node.js'].fragment;
                            fragment = fragment.replace(/\/\*/gi, '/<');
                            fragment = fragment.replace(/\*\//gi, '>/');
                            fragment = fragment.replace(/`\*/gi, '`<');
                            fragment = fragment.replace(/\*`/gi, '>`');
                            const lines = fragment.split('\n');
                            lines.forEach((_line, i) => {
                                lines[i] = '*' + (_line ? ' ' + lines[i] : '');
                            });
                            fragment = lines.join('\n');
                            methodSchema.fragment = fragment;
                        }
                        cb();
                    });
                });
            }
        }
        if (schema.resources) {
            for (const resourceName in schema.resources) {
                this.getFragmentsForSchema(apiDiscoveryUrl, schema.resources[resourceName], path + '.' + resourceName, tasks);
            }
        }
    }
    /**
     * Generate API file given discovery URL
     * @param  {String} apiDiscoveryUri URL or filename of discovery doc for API
     * @param {function} callback Callback when successful write of API
     * @throws {Error} If there is an error generating the API.
     */
    generateAPI(apiDiscoveryUrl, callback) {
        let _generate = (err, resp) => {
            this.logResult(apiDiscoveryUrl, `Discovery doc request complete.`);
            if (err) {
                handleError(err, callback);
                return;
            }
            const tasks = [];
            this.getFragmentsForSchema(apiDiscoveryUrl, resp, FRAGMENT_URL + resp.name + '/' + resp.version + '/0/' + resp.name, tasks);
            // e.g. apis/drive/v2.js
            const exportFilename = path.join(__dirname, '../apis', resp.name, resp.version + '.ts');
            let contents;
            this.logResult(apiDiscoveryUrl, `Generating templates...`);
            async.waterfall([
                (cb) => {
                    this.logResult(apiDiscoveryUrl, `Step 1...`);
                    async.parallel(tasks, cb);
                },
                (results, cb) => {
                    this.logResult(apiDiscoveryUrl, `Step 2...`);
                    const result = swig.render(templateContents, { locals: resp });
                    contents = js_beautify_1.js_beautify(result, BEAUTIFY_OPTIONS);
                    mkdirp(path.dirname(exportFilename), cb);
                },
                (dir, cb) => {
                    this.logResult(apiDiscoveryUrl, `Step 3...`);
                    fs.writeFile(exportFilename, contents, { encoding: 'utf8' }, cb);
                }
            ], (err) => {
                if (err) {
                    handleError(err, callback);
                    return;
                }
                this.logResult(apiDiscoveryUrl, `Template generation complete.`);
                callback(null, exportFilename);
            });
        };
        const parts = url.parse(apiDiscoveryUrl);
        if (apiDiscoveryUrl && !parts.protocol) {
            this.log('Reading from file ' + apiDiscoveryUrl);
            try {
                return _generate(null, JSON.parse(fs.readFileSync(apiDiscoveryUrl, {
                    encoding: 'utf-8'
                })));
            }
            catch (err) {
                return handleError(err, callback);
            }
        }
        else {
            this.logResult(apiDiscoveryUrl, `Starting discovery doc request...`);
            this.logResult(apiDiscoveryUrl, apiDiscoveryUrl);
            this.makeRequest({
                uri: apiDiscoveryUrl
            }, _generate);
        }
    }
    ;
}
exports.default = Generator;
//# sourceMappingURL=generator.js.map

redpajama_set_name: RedPajamaGithub


text:
<?php
/**
 * NavigationWidgetType.php
 *
 * @since 25/06/18
 * @author gseidel
 */

namespace Enhavo\Bundle\NavigationBundle\Widget;

use Enhavo\Bundle\AppBundle\Widget\AbstractWidgetType;
use Symfony\Component\OptionsResolver\OptionsResolver;

class NavigationWidgetType extends AbstractWidgetType
{
    public function getType()
    {
        return 'navigation';
    }

    public function createViewData($options, $resource = null)
    {
        $navigation = $this->container->get('enhavo_navigation.repository.navigation')->findOneBy([
            'code' => $options['navigation']
        ]);

        $request = $this->container->get('request_stack')->getCurrentRequest();
        $route = $request->get('_route');

        return [
            'navigation' => $navigation,
            'route' => $route
        ];
    }

    public function configureOptions(OptionsResolver $optionsResolver)
    {
        parent::configureOptions($optionsResolver);

        $optionsResolver->setDefaults([
            'template' => 'theme/widget/navigation.html.twig',
        ])->setRequired([
            'navigation',
        ]);
    }
}


This edition of the Hunts Point Express is nothing short of outstanding. Every story is of interest to me. This is the first time in a long time that I've gotten the chance to keep up with what's going on in this section of The Bronx. My first teaching app't was to Morris.
Hunts Point Express and Professor Stein are beacons of honesty, integrity, hope and commitment for people who live, love and work in our community. On behalf of the entire planning team of the Hunts Point High School for Sustainable Community Initiatives, we are grateful and appreciative of your support and endorsement. Your editorial and ongoing features of local initiatives and past community history support our collective vision that folks shouldn't have to leave their home community to live, learn and earn in a better one!
Thank you for calling attention to the fact that we are poised, ready, willing and able to transform lives and reclaim the landscape and mindset of the South Bronx – the poorest Congressional District in America – while fostering opportunities, cultivating minds and harvesting hope in and for this generation. As your newspaper continues to point out, neither jails nor retail equate to living wage or wholly inclusive opportunities for our youth or our community. Our locally grown and growth oriented proposal is ripe for our neighborhood filled with vast and unlimited resources and potential.
Mindful that the future can and will be shaped in the South Bronx of America; your editorial, your collective voices and your newspaper are proof that we can and we will export our talent and diversity globally. Our community grown and nationally supported initiative looks forward to having you cover our opening day and all subsequent graduations at HPHS; where community and creativity meet sustainable 21st Century opportunities, Hunts Point, USA.
we need to give our full support to people that are proposing to better our communities like Steve Ritz. I was a former student of Ritz and he truly believes in what he is proposing, I can honestly say that he is in it for real. I have never met a teacher with such passion,love,honesty and understanding for what he does and the level of confidence and honesty he amplifies is overwhelmingly inspiring. Steve Ritz has been a great source of inspiration to me as to many of my peers, we must wake up and see the direction we are heading in and understand that by giving our full support and understanding to people like Ritz we can better our future.
we must talk openly and get this concept out into peoples minds as much as we can. we must advocate for schools that carry this concept, we must also reorganize our perception of what is important and relevant to the communities we live in and how to go about these matters.
we must bring up education and the sustainability of this city and its people to the top of our list!!! and lets stop supporting people that are in it merely for self gratifying reasons!! Ritz is purely in it for the sake of our future and its people..lets get educated the right way in an environment that extrudes creativity,relevance to our changing world,love and life!!!
This is a school idea whose time has come. It meshes the best of worlds into current educational practices and environmental concerns in precisely the areas most needed. It benefits all parties concerned, the kids first, of course, the parents, community, environment and citizenry. It also allows teachers and educators to do what they really can do well when they are truly working for kids and community and not for personal individual gain.
Thanks for this. Definitely need more education that offers experience into what constitutes real sustainability and regeneration. In addition, there should be an approach that utilizes popular education methodologies. Finally, it is not just about the environment and climate change, it is about system change. A school that questions the dominant model of economics currently experienced by most of the world will be a green one. Go team!
Schools with themes have emerged as the way to improve achievement for at risk students. A school with a theme that also provides a better and useful environment is a great idea. Let's hope that this project is implemented and students in the Bronx are able to increase their choices and possibilities for the future.


text:
Source: Commitee for International Cooperation in National Research in Demography
1. Joshi, Heather
Cooksey, Elizabeth C.
Wiggins, Richard D.
McCulloch, Andrew
Verropoulou, Georgia
Clarke, Lynda
Diverse Family Living Situations and Child Development: A Multilevel Analysis Comparing Longitudinal Evidence from Britain and the United States
In: Education, Family and Population Dynamics. M. Cosio, R. Marcoux, M. Pilon, and A. Quesnel, eds. Paris, France: Committee for International Cooperation in National Research in Demography (CICRED), 2003: pp. 329-356
Publisher: Commitee for International Cooperation in National Research in Demography (CICRED)
Keyword(s): Behavior Problems Index (BPI); Britain, British; Children, Well-Being; Cross-national Analysis; Fathers, Absence; Human Capital Theory; Marital Status; NCDS - National Child Development Study (British); Peabody Individual Achievement Test (PIAT- Math); Peabody Individual Achievement Test (PIAT- Reading)
This study uses national data from both Great Britain and the United States to examine the relationship between children's family history and their educational and behavioral development. We use a multivariate, multi-level modeling strategy to estimate heterogeneity both within and between families. Our results show that associations between family living situations and children's wellbeing appear to be mediated by levels of human, financial and social capital available to children. Contrary to expectations, we found no evidence that children with non-traditional family living experiences are any more likely to be negatively impacted in Britain than across the Atlantic where diverse living arrangements are more widespread.
Joshi, Heather, Elizabeth C. Cooksey, Richard D. Wiggins, Andrew McCulloch, Georgia Verropoulou and Lynda Clarke. "Diverse Family Living Situations and Child Development: A Multilevel Analysis Comparing Longitudinal Evidence from Britain and the United States" In: Education, Family and Population Dynamics. M. Cosio, R. Marcoux, M. Pilon, and A. Quesnel, eds. Paris, France: Committee for International Cooperation in National Research in Demography (CICRED), 2003: pp. 329-356


manpower forecasting template planning excel medium xls.
use this appointment sign in sheet template any business or medical office that requires clients patients to a busy blank attendance free printable sh.
vector of women black t shirt template front and back tee hoodies empty blank templates within.
party ticket template with antique lamp christmas word.
apartment walk through checklist template elegant 8 new walkthrough form.
executive board information security template example roadmap cyber.
free printable circus themed invitation templates birthday party invitations its a template download.
bar wrapper template free best of printable candy unique finding and using hershey photoshop.
training guide template free manual booklet record.


text:
Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture
Raghbendra Jha
The pace of urbanization has picked up rapidly in the global economy. Brears (2017) estimates that by 2050 more than two-thirds of the world population will be living in metropolitan centres. At the same time, the total population of the world is expected to rise from 7.7 billion in 2019–20 to around 9.8 billion in 2050.1 This growth in the global population is expected to be largely concentrated in Africa and Asia with stagnant, even declining, populations in many OECD countries. Indeed, the UN estimates that just nine countries are expected to account for more than half the population growth between 2017 and 2050. In decreasing order of total population growth, these countries are: India, Nigeria, the Democratic Republic of Congo, Pakistan, Ethiopia, Tanzania, USA, Uganda and Indonesia. 47 least developed countries of the world had very high fertility rates, of about 4.3 births per woman in child-bearing age group, resulting in a population growth of about 2.4 per cent per year. This concentration of population growth in low-income countries along with the rapid pace of urbanization implies that agricultural land in these countries is under threat of being taken over by urban sprawl (Hatab, Cavinato, Lindemer, & Lagerkvist, 2019). Much of this land is highly fertile as it occupies basins of some major rivers in these areas. At the same time, as urban centres develop, there are pressures on other natural resources, in particular, water. Food demand goes up, along with a sharp increase in the urban land area and population. Urbanization in many parts of the developing world occurs not just because of better opportunities for migrants in urban areas but also because of the paucity of good opportunities in the rural sector. Often when migrants move into urban areas, they have poor access to basic amenities like health, water, sanitation and the like. Many of the cities are overgrown slums. As a consequence, food security and nutritional outcomes do not improve much because of migration to urban areas. This chapter analyses the viewpoints on food security in the light of increased pace of urbanization. It begins by reviewing the growth of urbanization in the global economy and in select countries. It then analyses the growth of crop yields and the prospects for these yields to match the projected increase in population and reports that there is a need to accelerate yield growth through total factor productivity growth in agriculture. Investment in Research and Development (R&D) is identified as a key input into growth of agricultural productivity. The chapter moves on to consider policy measures that could stimulate investment in agricultural R&D, followed by a conclusion.
Ranjula Bali Swain and Susanne Sweet
Dive into the research topics of 'Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture'. Together they form a unique fingerprint.
urbanization Social Sciences 100%
agriculture Social Sciences 89%
population growth Social Sciences 71%
urban area Social Sciences 46%
productivity Social Sciences 29%
water Social Sciences 27%
migrant Social Sciences 26%
Jha, R. (2021). Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture. In Ranjula Bali Swain and Susanne Sweet (Ed.), Sustainable Consumption and Production (1st ed., pp. 249-262). Palgrave Macmillan.
Jha, Raghbendra. / Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture. Sustainable Consumption and Production. editor / Ranjula Bali Swain and Susanne Sweet. 1st. ed. Switzerland : Palgrave Macmillan, 2021. pp. 249-262
@inbook{d7e8461288124a06bbc5011d88ef825c,
title = "Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture",
abstract = "The pace of urbanization has picked up rapidly in the global economy. Brears (2017) estimates that by 2050 more than two-thirds of the world population will be living in metropolitan centres. At the same time, the total population of the world is expected to rise from 7.7 billion in 2019{\^a}€"20 to around 9.8 billion in 2050.1 This growth in the global population is expected to be largely concentrated in Africa and Asia with stagnant, even declining, populations in many OECD countries. Indeed, the UN estimates that just nine countries are expected to account for more than half the population growth between 2017 and 2050. In decreasing order of total population growth, these countries are: India, Nigeria, the Democratic Republic of Congo, Pakistan, Ethiopia, Tanzania, USA, Uganda and Indonesia. 47 least developed countries of the world had very high fertility rates, of about 4.3 births per woman in child-bearing age group, resulting in a population growth of about 2.4 per cent per year. This concentration of population growth in low-income countries along with the rapid pace of urbanization implies that agricultural land in these countries is under threat of being taken over by urban sprawl (Hatab, Cavinato, Lindemer, & Lagerkvist, 2019). Much of this land is highly fertile as it occupies basins of some major rivers in these areas. At the same time, as urban centres develop, there are pressures on other natural resources, in particular, water. Food demand goes up, along with a sharp increase in the urban land area and population. Urbanization in many parts of the developing world occurs not just because of better opportunities for migrants in urban areas but also because of the paucity of good opportunities in the rural sector. Often when migrants move into urban areas, they have poor access to basic amenities like health, water, sanitation and the like. Many of the cities are overgrown slums. As a consequence, food security and nutritional outcomes do not improve much because of migration to urban areas. This chapter analyses the viewpoints on food security in the light of increased pace of urbanization. It begins by reviewing the growth of urbanization in the global economy and in select countries. It then analyses the growth of crop yields and the prospects for these yields to match the projected increase in population and reports that there is a need to accelerate yield growth through total factor productivity growth in agriculture. Investment in Research and Development (R&D) is identified as a key input into growth of agricultural productivity. The chapter moves on to consider policy measures that could stimulate investment in agricultural R&D, followed by a conclusion.",
author = "Raghbendra Jha",
editor = "{Ranjula Bali Swain and Susanne Sweet}",
booktitle = "Sustainable Consumption and Production",
publisher = "Palgrave Macmillan",
edition = "1st",
Jha, R 2021, Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture. in Ranjula Bali Swain and Susanne Sweet (ed.), Sustainable Consumption and Production. 1st edn, Palgrave Macmillan, Switzerland, pp. 249-262.
Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture. / Jha, Raghbendra.
Sustainable Consumption and Production. ed. / Ranjula Bali Swain and Susanne Sweet. 1st. ed. Switzerland : Palgrave Macmillan, 2021. p. 249-262.
T1 - Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture
AU - Jha, Raghbendra
N2 - The pace of urbanization has picked up rapidly in the global economy. Brears (2017) estimates that by 2050 more than two-thirds of the world population will be living in metropolitan centres. At the same time, the total population of the world is expected to rise from 7.7 billion in 2019–20 to around 9.8 billion in 2050.1 This growth in the global population is expected to be largely concentrated in Africa and Asia with stagnant, even declining, populations in many OECD countries. Indeed, the UN estimates that just nine countries are expected to account for more than half the population growth between 2017 and 2050. In decreasing order of total population growth, these countries are: India, Nigeria, the Democratic Republic of Congo, Pakistan, Ethiopia, Tanzania, USA, Uganda and Indonesia. 47 least developed countries of the world had very high fertility rates, of about 4.3 births per woman in child-bearing age group, resulting in a population growth of about 2.4 per cent per year. This concentration of population growth in low-income countries along with the rapid pace of urbanization implies that agricultural land in these countries is under threat of being taken over by urban sprawl (Hatab, Cavinato, Lindemer, & Lagerkvist, 2019). Much of this land is highly fertile as it occupies basins of some major rivers in these areas. At the same time, as urban centres develop, there are pressures on other natural resources, in particular, water. Food demand goes up, along with a sharp increase in the urban land area and population. Urbanization in many parts of the developing world occurs not just because of better opportunities for migrants in urban areas but also because of the paucity of good opportunities in the rural sector. Often when migrants move into urban areas, they have poor access to basic amenities like health, water, sanitation and the like. Many of the cities are overgrown slums. As a consequence, food security and nutritional outcomes do not improve much because of migration to urban areas. This chapter analyses the viewpoints on food security in the light of increased pace of urbanization. It begins by reviewing the growth of urbanization in the global economy and in select countries. It then analyses the growth of crop yields and the prospects for these yields to match the projected increase in population and reports that there is a need to accelerate yield growth through total factor productivity growth in agriculture. Investment in Research and Development (R&D) is identified as a key input into growth of agricultural productivity. The chapter moves on to consider policy measures that could stimulate investment in agricultural R&D, followed by a conclusion.
AB - The pace of urbanization has picked up rapidly in the global economy. Brears (2017) estimates that by 2050 more than two-thirds of the world population will be living in metropolitan centres. At the same time, the total population of the world is expected to rise from 7.7 billion in 2019–20 to around 9.8 billion in 2050.1 This growth in the global population is expected to be largely concentrated in Africa and Asia with stagnant, even declining, populations in many OECD countries. Indeed, the UN estimates that just nine countries are expected to account for more than half the population growth between 2017 and 2050. In decreasing order of total population growth, these countries are: India, Nigeria, the Democratic Republic of Congo, Pakistan, Ethiopia, Tanzania, USA, Uganda and Indonesia. 47 least developed countries of the world had very high fertility rates, of about 4.3 births per woman in child-bearing age group, resulting in a population growth of about 2.4 per cent per year. This concentration of population growth in low-income countries along with the rapid pace of urbanization implies that agricultural land in these countries is under threat of being taken over by urban sprawl (Hatab, Cavinato, Lindemer, & Lagerkvist, 2019). Much of this land is highly fertile as it occupies basins of some major rivers in these areas. At the same time, as urban centres develop, there are pressures on other natural resources, in particular, water. Food demand goes up, along with a sharp increase in the urban land area and population. Urbanization in many parts of the developing world occurs not just because of better opportunities for migrants in urban areas but also because of the paucity of good opportunities in the rural sector. Often when migrants move into urban areas, they have poor access to basic amenities like health, water, sanitation and the like. Many of the cities are overgrown slums. As a consequence, food security and nutritional outcomes do not improve much because of migration to urban areas. This chapter analyses the viewpoints on food security in the light of increased pace of urbanization. It begins by reviewing the growth of urbanization in the global economy and in select countries. It then analyses the growth of crop yields and the prospects for these yields to match the projected increase in population and reports that there is a need to accelerate yield growth through total factor productivity growth in agriculture. Investment in Research and Development (R&D) is identified as a key input into growth of agricultural productivity. The chapter moves on to consider policy measures that could stimulate investment in agricultural R&D, followed by a conclusion.
BT - Sustainable Consumption and Production
A2 - Ranjula Bali Swain and Susanne Sweet, null
PB - Palgrave Macmillan
CY - Switzerland
Jha R. Increasing Pace of Urbanization and Implications for Food Security and Sustainable Agriculture. In Ranjula Bali Swain and Susanne Sweet, editor, Sustainable Consumption and Production. 1st ed. Switzerland: Palgrave Macmillan. 2021. p. 249-262


text:
Jeong Da-rae (; born December 2, 1991) is a South Korean former swimmer, who specialized in breaststroke events. She is a gold medalist in the 200 m breaststroke at the 2010 Asian Games in Guangzhou, China.

Jeong made her official debut, as a 16-year-old, at the 2008 Summer Olympics in Beijing, where she qualified for the women's 200 m breaststroke. She cleared a FINA B-cut of 2:27.78 from the Good Luck Beijing China Open. On the evening preliminaries, Jeong rounded out the semifinal field by taking the final spot in a lifetime best of 2:27.28, just half a second (0.50) faster than her entry time. The next morning's session, Jeong failed to qualify for the final, as she placed fourteenth overall in the semifinal run at 2:28.28.

At the 2009 FINA World Championships in Rome, Italy, Jeong matched her preliminary heat time of 2:25.00 in the semifinals, but finished only in twelfth place. Six months later, she edged out her teammate Jung Seul-ki to take a silver medal by a two-tenth margin (0.20) in the same discipline at the East Asian Games in Hong Kong, China, breaking her personal best of 2:24.90.

At the 2010 Asian Games in Guangzhou, Jeong picked up the women's 200 m breaststroke title in 2:25.02, beating two Chinese swimmers for the silver and bronze medals. Jeong's best effort at the Asian Games moved her up to fifteenth in the world rankings.

Four years after competing in her first Olympics, Jeong qualified for her second South Korean team, as a 20-year-old, at the 2012 Summer Olympics in London. She attained a FINA A-standard entry time of 2:26.07 from the Dong-A Swimming Tournament in Ulsan. Jeong shared a fourteenth-fastest qualifying time of 2:26.83 with Russia's Yuliya Efimova in the morning's preliminary heats to secure a spot for the semifinals. On the evening session, Jeong failed to qualify for the final, as she finished her semifinal run with a slowest time of 2:28.74.

personal life
On August 10, 2022, Jeong posted a wedding dress on Instagram that she is getting married to her non-celebrity boyfriend in September 2022.

References

External links
NBC Olympics Profile

1991 births
Living people
South Korean female breaststroke swimmers
Olympic swimmers of South Korea
Swimmers at the 2008 Summer Olympics
Swimmers at the 2012 Summer Olympics
Asian Games medalists in swimming
Swimmers at the 2010 Asian Games
Sportspeople from South Jeolla Province
Asian Games gold medalists for South Korea
Medalists at the 2010 Asian Games
21st-century South Korean women

redpajama_set_name: RedPajamaWikipedia


Óscar Arias, the Nobel Prize winner and former president of Costa Rica, is accused of sexually assaulting four women. One of them is a former journalist who says Arias groped her. Host Marco Werman speaks with Emma Daley about her story and why she's telling it now and to Oscar Arias' lawyer, Gloriana Valladares Navas, for a response to sexual assault allegations.


text:
require "vertx"
include Vertx

client = NetClient.new
client.ssl = true
client.trust_all = true
client.connect(1234, "localhost") do |socket|
  socket.data_handler { |data| puts "Echo client received #{data.to_s}" }
  (1..10).each do |i|
    str = "hello #{i}\n"
    puts "Echo client sending #{str}"
    socket.write_buffer(Buffer.create_from_str(str))
  end
end


Azur Vélo offers fully customized cycling trips and training camps. Choose one of our partner locations on the French Riviera or in the mountains, or design a tour and explore the Riviera by bike. Choose the level of support you desire for a personalized experience to meet your training, cycling and vacation goals!
If you would like to start planning a custom or semi-custom cycling trip, please fill out our contact form and a representative will contact you within 48 hours.


Cheap clothes, bit his nails.
To watch him look away and flush.
Who had a blue pick-up truck.
And I moved out of state.
And I went to cosmetology school.
But nothing more than that.
Were in high school when he called.
On a campaign stop and wanted to see me.
And that was true in a way.
To meet him, and I meant it.
And I've never been so ashamed.
On the toilet peeing and peeing.
That night I threw up on the pillow.
But I say the same to them.
Andrew Hubbard was born and raised in a coastal Maine fishing village. He received degrees in English and Creative writing from Dartmouth College and Columbia University.


text:
Q: What's the problem with sharing job stores in APScheduler? I did quite get the problem that arises by sharing a job store across multiple schedulers in APScheduler.
The official documentation mentions

Job stores must never be shared between schedulers

but doesn't discuss the problems related to that, Can someone please explain it?
and also if I deploy a Django application containing APScheduler in production, will multiple job stores be created for each worker process?

A: There are multiple reasons for this. In APScheduler 3.x, schedulers do not have any means to signal each other about changes happening in the job stores. When the scheduler starts, it queries the job store for jobs due for execution, processes them and then asks how long it should sleep until the next due job. If another scheduler adds a job that would be executed before that wake-up time, the other scheduler would happily sleep past that time because there is no mechanism with which it could receive a notification about the new (or updated) job.
Additionally, schedulers do not have the ability to enforce the maximum number of running instances of a job since they don't communicate with other schedulers. This can lead to conflicts when the same job is run on more than one scheduler process at the same time.
These shortcomings are addressed in the upcoming 4.x series and the ability to share job stores could be considered one of its most significant new features.

redpajama_set_name: RedPajamaStackExchange


text:
Home >Opinion >Columns >Opinion | Significance of double-blind drug trials
A Matter of Numbers
Opinion | Significance of double-blind drug trials
6 min read . Updated: 09 Oct 2020, 08:18 AM IST Dilip D'Souza
A clinical trial should be doubly blind for results to have any statistical significance
Two weeks ago, I offered "a broad and not necessarily definitive outline" of the clinical trials of new vaccines against covid-19. Apart from the hope that we will produce a weapon to fight the virus, what really interests me about these trials is that they are essentially mathematical exercises. Since any vaccine that results from these trials will be important to us all, I will explore some of that mathematics here.
Much of what happens in such exercises involves searching for results we need to take note of, that carry some weight. Start at the top. We want to find a medicine that is effective against covid, so how do we determine that one we are testing is (or is not) effective?
Let's say we have 100 people who have volunteered for the trials. We've divided them into two groups of 50 each. One will be administered the experimental drug, the other a placebo — i.e. something that looks identical, but has no medicinal value at all. There are rules for administering a placebo correctly, and I'll come to those. For now, let's assume they have been followed.
The trial runs its course. The placebo group reports that one person has recovered, whereas the group that got the actual drug reports that five have recovered. What, if anything, can we conclude? Is this just chance? Is there a real difference between the groups? Is this enough to conclude anything about the efficacy of the drug?
When quantitative methods like trials produce a result, statisticians search for something called "statistical significance" in that result. Meaning, evidence that it cannot be attributed to chance. The usual measure to decide this is called the "p-value". This is the probability of observing the difference you found between the two groups if they were otherwise identical in every respect, including in what's been administered to them.
There's a certain calculation involved here (usually called the "A/B test calculation") whose intricacies I won't get into. But there are A/B test calculators online, and I fed the numbers above, from our hypothetical two groups, above to one of them. It reported a p-value of 0.0938, or 9.38%.
What this means is that we can expect to randomly—i.e. by chance—see a difference of 5% or more between these two groups, about 9.38% of the time. That's confusing; so more simply, pure chance would account for the variance we've detected about 94 times of every 1,000 times we run this test. The other 906 times, we can attribute this difference to the effect of the medicine. With this knowledge, what we need to decide is, is this 9.38% level acceptable? Is it low enough for us to take the measured difference between the two groups seriously? As statistically significant?
To put that in perspective, let's say the second group, the one taking the drug, saw not five, but just two recoveries. Still different from the one recovery from among the placebo recipients, but how different is it, really? The same A/B test calculator now gives us a p-value of 0.5597 or 55.97%. So of every 1,000 times we run this test, random chance will produce a reasonable difference between these two groups 560 times. The sensible conclusion you probably came to, as I did: this difference between these two groups is likely just pure chance, and this particular drug under test is not really different from a placebo.
The five recoveries? Now that's more like a real difference. But even so, a generally accepted threshold for statistical significance is a p-value less than 0.05, or 5%. Put another way; we want to be 95% "confident" that the variance we've detected is real, and not due to chance. In this case, we're only 90.6% confident (the 906 out of 1,000 above). So most statisticians would not read very much into even the five recoveries. In fact, even the calculator tells me this difference is "not significant".
One reason for that, and a factor in any such calculation, is the sample size — the number of people we are running the test on. Intuitively, you will agree that the greater that number, the more confidence we can have that our results are real. Conversely, the smaller our sample size, the less confident we'll feel. To make this clear, let's say we run the test on two groups, each comprising 500 volunteers instead of 50. We'll keep the recovery rates the same: in the placebo group, 10 of the 500 recover; in the other, 50 do. Feed those figures into the A/B calculator, and we get a p-value less than 0.001: not even 1 test in a thousand will produce this difference purely by chance.
That is, with this increased sample size, even with the same rate of recovery, we can be better than 99.9% confident that the detected difference between the two groups is real.
Of course, there's another aspect to these hypothetical numbers that we should pay attention to. If just 50 of the 500 who were given the drug recover, that's a success ratio of only 10%. Certainly, this is significantly better than the placebo group; certainly, it's better than not having a medicine at all. But if a covid vaccine works only 10% of the time, is that effective enough to release it for public use? In the absence of anything else, it may indeed be. Yet it is a question to ask about and during drug trials, especially when we are faced with a pandemic.
Finally, a little bit about placebos and their use in a trial: It's easy to simply pronounce that one group of volunteers will be given the experimental vaccine and the other a placebo. But it's worth thinking this through, because the use of placebos raises some interesting questions.
Suppose one of the people administering the test knows who among the volunteers has been infected with the coronavirus. Suppose he thinks he will do these infected people a favour and put them all into the group that will get the vaccine. This means the placebo is given to people who are not infected anyway. As you can imagine, this will skew the results in different ways. Besides, has he actually done them, and the rest of us, a favour?
There's another ethical dilemma. Among those who sign up for the trial are, no doubt, people who are infected and have no medicine to help them recover. Absent anything else, they are willing to try even an experimental medicine in the hope that it might work. How would such a person react to the knowledge that what she was given was just a dummy, the placebo?
For these reasons, a placebo is administered as part of what statisticians refer to as a "double-blind" trial. The volunteers who sign up must be told that they will get either the medicine or a placebo, that they will not know which, and they will be assigned at random to either group. (Though the trial will be designed so that half get one and half the other). They must consent to these conditions. The doctors running the trial are also "blind": they don't know the composition of the groups, nor whether a given volunteer is infected, nor if a given dose they are administering is the vaccine or the placebo.
Only if it is truly double-blind will the drug trial have any value. Only then will we have made progress towards finding a vaccine that works.
Once a computer scientist, Dilip D'Souza now lives in Mumbai and writes for his dinners. His Twitter handle is @DeathEndsFun


text:
Yueqiang Feng
AUBE, Design Principal
Mr. Feng is a Shenzhen Engineering Survey and Design Master (first batch), member of Urban Planning Board of Shenzhen (Architecture and Environmental Art Committee), expert of Guangdong City Planning Association Industry Expert Database (first batch), member of Shenzhen Green Building Association Expert Committee, expert of Public Works Bureau of Shenzhen Municipality Think Tank, member of Council on Tall Buildings and Urban Habitat, non-official director of the second council of Shenzhen Urban Planning and Land Resource Research Center, enterprise mentor of Shenzhen University School of Architecture and Urban Planning (Master of Architecture), visiting professor of Peking University Shenzhen Graduate School, senior scientist of Asia-Pacific Center for Economic Development of China, member of the Overseas Editorial Board of Encyclopedia Britannica and member of the Overseas Editorial Board of the French Academy of Architecture.
Mr. Feng graduated from the School of Architecture and Urban Planning of Tongji University in 1987 and stayed on to teach there. In 1997, he founded AUBE Conception in Paris, France and has been rooted in Shenzhen for 22 years since then, focusing on the integrated design of architecture, urban design and landscape. His signature projects include Shenzhen World Exhibition & Convention Center, the Peninsula (Shenzhen), Comprehensive Renewal of Jiaochangwei Village, Shenzhen Talent Park, Shenzhen OCT Ecological Square and other major projects. His works have extensive influence and professional recognition across the industry, and have been awarded with a number of international, national, provincial and municipal prizes. He is the chief editor of multiple publications including "The World's Largest Parlor: Shenzhen World Exhibition & Convention Center" and "Le Corbusier: Architecture of the Giant", and has participated in the compilation work of technical standards and specifications including "Guangdong-Hong Kong-Macao Greater Bay Area Construction Technical Manual".
With years of professional practice and research achievements, Mr. Feng has been awarded various honorary titles including "the Top Ten Most Influential Figures in China's Architecture and Planning Design in the Next Ten Years", "Outstanding Architect of Shenzhen" (first batch) and "Industry Leader".
Mr. Feng is a Shenzhen Engineering Survey and Design Master (first batch), member of Urban Planning Board of Shenzhen (Architecture and Environmental Art Committee), expert of Guangdong City Planning Association Industry Expert Database (first batch), member of Shenzhen Green Building Association Expert Committee, expert of Public Works Bureau of Shenzhen Municipality Think Tank, member of Council on Tall Buildings and Urban Habitat, non-official director of the second council of Shenzhen Urban Planning and Land Resource Research Center, enterprise mentor of Shenzhen University School of Architecture and Urban Planning (Master of Architecture), visiting professor of Peking University Shenzhen Graduate School, senior scientist of Asia-Pacific Center for Economic Development of China, member of the Overseas Editorial Board of Encyclopedia Britannica and member of the Overseas Editorial Board of the…


text:
Christmas Spirits: Ghosts in the Time of Dickens
By Shannon Stockwell In the 1800s, a strange and spooky fad took the Western world by storm: talking to ghosts. Mediums were in high demand as people organized séances to contact the dead. The craze, known as spiritualism, had a few different causes. It came from improvements in communication technology—if you could send near-immediate telegraphs to your cousin several hundred miles away, perhaps it wasn't such a stretch to imagine you could contact your mother from beyond the grave. It came from an increase in hiring household staff; seen but never heard, a servant's presence may have seemed rather ghostly to those living there. And it may have even been related to hallucinations brought on by carbon monoxide coming from the gas lamps popular at the time. The upshot of all this was "a progressive internalization of horror," according to author Dr. Andrew Smith. This proved to be irresistible psychology for many nineteenth-century Western authors, and thanks to the ri
The Shadow of the Prison and the Novelist's Heart: The Personal Story Behind A Christmas Carol
Michael Paller When Charles Dickens was 12, his father's tenuous hold on the middle class collapsed in a heap of mounting debt. John Dickens was incarcerated in the Marshalsea debtors' prison, where he was joined a few weeks later by his wife and four of their six children. Charles was put to work in a Thames warehouse that manufactured boot-blacking. The boy found himself alone in a world without comfort or security, living in a run-down rooming house in Camden Town. At night he played on coal barges or wandered the streets. So began his lifelong acquaintance with the meanest quarters and poorest people of London. Although Charles' time in the warehouse lasted at most five months, the sudden descent into the desperate world of London's poor left a lifelong mark. Beginning at 15, he held a series of jobs that kept him in close contact with that world. The first, as an office boy in a law firm, introduced him to the workings of the legal system and its effects on the m
Monstress from Page to Stage: An Interview with Playwrights Sean San José and Philip Kan Gotanda, and Author Lysley Tenorio
By Michael Paller The tales that populate Monstress , by Lysley Tenorio, are as diverse as they are quirky, alternatively—and sometimes simultaneously—hilarious and heartbreaking. Artistic Director Carey Perloff read these unique short stories and knew that somehow, she had to help these vibrant short stories about Filipino American life find their way to the stage. A.C.T. reached out to some of our favorite artists and offered them the opportunity to select one of Tenorio's stories to adapt for the stage. One of these artists was Philip Kan Gotanda, who chose to adapt Tenorio's story, "Save the I-Hotel," which he has renamed Remember the I-Hotel . Sean San José chose to adapt the title story from Tenorio's collection (he renamed it Presenting . . . the Monstress! ). We sat down with Tenorio, Gotanda, and San José to talk about writing, Filipinos, and the never-ending chase for the ever-elusive American dream. From left: Philip Kan Gotanda, Lysley Tenorio, Sean San Jose. Photo
Eugene O'Neill's Ah, Wilderness!—The Necessary Play
By Michael Paller By 1931, Eugene O'Neill, the great American tragic playwright, had won Pulitzer Prizes for Beyond the Horizon , Anna Christie , and Strange Interlude . He'd written 23 full-length plays, including Anna Christie , The Hairy Ape , Desire Under the Elms , The Emperor Jones , and All God's Chillun Got Wings , which the police in New York attempted to close because it showed a black man kissing a white woman. That same year saw the debut and critical acclaim of Mourning Becomes Electra , his seven-hour Americanization of Aeschylus's Oresteia set in New England during the Civil War. He was acclaimed—not without justification—as the creator of the modern American theater. Before him, American theater had been melodrama, vaudeville, and star-driven vehicles. With the aid of his collaborators at the Provincetown Playhouse, he forged an American theater that could aspire to stand beside the European accomplishments of August Strindberg, Henrik Ibs
A Lens on Small Town America: An Interview with Scenic Designer Ralph Funicello
By Cecilia Padilla Despite its title, Eugene O'Neill's Ah, Wilderness! does not take place in the wild outdoors. Instead, it depicts the home of a tight-knit Connecticut family. Bringing the world of small town America to San Francisco audiences is scenic designer Ralph Funicello, a longtime designer of A.C.T. productions. This will be Funicello's second time working on Ah, Wilderness! with A.C.T.— he also designed the set in the 1978 production. Then, Funicello's designs adhered to O'Neill's textual specifications, exhibiting realistic styles and period-appropriate architecture. This time, he's approaching the play through a new lens. "O'Neill literally dreamt up Ah, Wilderness! ," he says, "so I want the audience to fall into the dream with him." Ralph Funicello's stage design in the current A.C.T. production of Ah, Wilderness! at The Geary Theater. Photo courtesy of Kevin Berne. What research has contributed to your scenic design? I still have some o
Your College Play Will Change the Face of American Theater in These Ten Steps
by Peter Friedrich 1. Three weeks before opening night, go to your college cafeteria. Eat. 2. Go back to the line and introduce yourself to any staff member. Give your first and last name, and ask for the same from them. Then ask if they like going to plays. If they say no, keep asking others until someone says yes. Let them know you have complimentary Champagne VIP seats for all cafeteria staff, friends, and family. Make sure you have 50 hard copies of tickets in your pocket at all times. They should look and feel exactly like Broadway theater tickets. 3. Go back to the cafeteria every day and build your VIP audience. Get your cast and crew to do the same—ask them at the end of each rehearsal for the names of who they talked to. VIPs at the The Tempest at Millsaps College in Jackson, Mississippi 4. On your way to the cafeteria each day before opening, be on the lookout for groundskeeping and janitorial staff. Introduce yourself. Ask their name. Pull out tickets. 5. Recr
An Interview with Ah, Wilderness! Director Casey Stangl
By Allie Moss Director Casey Stangl. Photo by Ann Marsden. Director Casey Stangl returns to A.C.T. to stage Eugene O'Neill's American classic Ah, Wilderness! She approaches Ah, Wilderness! with a fearlessness toward this play's particular challenges and an appetite for unearthing truths. "I want there to be a sense of immediacy," Stangl says. "The characters confront first love, parent-child relationships, and the difficulty of finding love and companionship as they get into their older years. These situations are so universal and are very much with us today." We spoke to Stangl recently about her directorial vision for A.C.T.'s production of Ah, Wilderness! O'Neill is generally known for his tragic works, but Ah, Wilderness! is a comedy. How does that inform your understanding of the play? I think that the comedy actually derives from the great depth of feeling that is in the play. These characters are real people in real situations with real consequences. But even though
Growing Up: A Universal Journey
Coming-of-Age Stories over Time By Allie Moss Coming-of-age stories have been told practically since the start of civilization, but they did not receive a name until 1819, when German university lecturer Karl Morgenstern dubbed them the Bildungsroman . This German word translates literally as "education novel," but its definition has expanded to encompass the entire coming-of-age genre. Teenage newsboys in New Haven, Connecticut. Photo by Lewis Wickes Hine, 1907. Courtesy Library of Congress. Although coming-of-age stories share some commonalities that transcend their publication dates, they are also intrinsically tied to what "coming of age" meant at the time they were written. Near the turn of the twentieth century (when Ah, Wilderness! is set), life for teenagers was changing, but slowly. Post–Industrial Revolution society enjoyed an increase in leisure time, so children and teenagers had more hours to spend with their friends than in the past—but they were still very
An Interview with Director Casey Stangl
An Interview with Love and Information Director Casey Stangl By Beatrice Basso Scenic designer Robert Brill's rendering for A.C.T.'s 2015 production of Love and Information Director Casey Stangl returns to A.C.T. after staging David Ives's Venus in Fur last spring. Now, Love and Information , a play that offered her a blank creative canvas that she describes as simultaneously "exhilarating and terrifying." Stangl brings her talent for seamless transitions and precise pacing to Love and Information , a play that offered her a blank creative canvas that she describes as simultaneously "exhilarating and terrifying." Stangl found her stride in directing new work and reimagining classics through a bold contemporary lens. Her movement background and interest in visual composition have helped her weave the complex fabric of Love and Information . At a new-play festival in Southern California a week before rehearsals began, Stangl was happy to talk about the themes and i
A Fantasy of Fools: An Interview with Costume Designer Candice Donnelly
A Fantasy of Fools An Interview with Costume Designer Candice Donnelly By Shannon Stockwell Costume designer Candice Donnelly's rendering of a female member of the Liebeslieder quintet for A.C.T.'s 2015 production of A Little Night Music "For the sheer beauty of all the satin and ruffles, costume designer Candice Donnelly should have bouquets delivered to her sewing room every night," wrote Washington Post journalist Peter Marks in his review of Center Stage in Baltimore's 2008 production of A Little Night Music . Seven years later, Donnelly revisits Sondheim's classic for A.C.T.'s production, directed, as it was in Baltimore, by Mark Lamos. Donnelly's vibrant costume designs were last seen on the Geary stage in Indian Ink , Tom Stoppard's cross-cultural romance about the complex relationship between a poet and a painter, set against the backdrop of the struggle for Indian independence in the 1930s. Donnelly says she has an affinity for designing period pieces: "
The Enduring Mystique of Caryl Churchill
The Enduring Mystique of Caryl Churchill By Nirmala Nataraj Caryl Churchill. Photo by Stephen Cummiskey. Caryl Churchill is perhaps the most acclaimed female playwright in the English-speaking world, and simultaneously the most elusive. Critic Charles Spencer has called her the "least predictable of contemporary playwrights." Her work has been described as elliptical, provocative, shocking, confounding—and, over the years, it has become significantly more pared down, devoid of stage directions or notes, which only seems to contribute to her enduring mystique. Although Churchill has been writing plays for over five decades, she stopped giving interviews many years ago. She rarely comments on critics' analyses of her work, but her past interviews and the words of her close collaborators, of whom there are many, continue to spark the imaginations of those who recognize the multiple ways in which she has pushed dramatic boundaries over the course of her career. Feminist and
An Enchanting Vision: The Creation of A Little Night Music
An Enchanting Vision: The Creation of A Little Night Music By Nirmala Nataraj Stephen Sondheim. Photo by Jerry Jackson. Inspired by Smiles of a Summer Night , filmmaker Ingmar Bergman's romantic comedy of errors, A Little Night Music emerged from Stephen Sondheim's vision of a musicalized tale about the games that men and women play in sex and love. With a grand scope that is meant to generate nostalgia for turn-of-the-twentieth-century elegance, the play is a marked departure from Sondheim's previous collaborations with director Harold Prince, such as Company (1970) and Follies (1971), which feature upper-class New Yorkers in a contemporary setting. Before librettist Hugh Wheeler came on board, Prince and Sondheim had been toying with the idea of writing a chamber opera since their collaboration on the 1957 musical West Side Story (for which Sondheim was the lyricist and Prince the producer). Scandinavia in midsummer (a time of year during which the sun rarely sets th


text:
Protect your Nuts - Hazing and Mainframes at West Point
12.01.2013 — 10 Min Read — In Mainframe
Today is December 1, 2013. Today I turn twenty-eight years old. Today is also approximately the ten year anniversary of the most interesting "birthday party" I've ever been to. As a millennial mainframer, I've occasionally had instances where I've figuratively considered my nuts in a vice (like last week, when I ran the wrong CMS commands and copied my broken z/VM environment over my backup DASD volumes instead of visa versa), but ten years ago, my nuts literally were in a vice. Just thinking back on this story makes my testicles writhe in pain and retract into my abdomen.
Ten years ago, I was a first-year cadet at the United States Military Academy at West Point. First-year cadets at West Point are called "plebes," which is a Latin term that denotes the underclass. Much like the barbarism of antiquity, plebes at a military academy are treated like crap. They clean the barracks, deliver the newspapers, pick up the trash or recyclables, march not walk, and salute all of their superiors with a chipper attitude. They also are expected to memorize the meals of the day, the football schedule, the main articles of the New York Times, West Point lore, and errata about the heroes of the American Empire. Failure of any of these tasks is never pretty.
The corps of cadets is organized into companies of around 120 cadets each, and each company has a slightly different culture. To my misfortune, I was a plebe in company A-2, known as the Spartans. Due to the historical legacy of Spartan military discipline and oppression of the enslaved Helot underclass, company A-2 was well known for their thorough and systematic hazing their Plebes.
At West point, there is one socially sanctioned avenue for plebes to exact revenge on especially brutal upperclassmen: the "Birthday Party." In such a birthday party, the plebes break into the upperclassman's room, tie them up, and demean them in some way. Often this might be tying them up, placing them in the communal open shower, and spraying they with ketchup, mustard, etc. stolen from the mess hall. Of course, the specific recipe of revenge would always slightly vary from upperclassman to upperclassman.
So there was one Spartan upperclassman that was considered especially mean and vindictive towards the plebes. He loved to ask obscure and seemingly impossible-to-memorize trivia in the hope of being able to scream at and bully a plebe. Considering that his grades weren't great, his physical fitness was poor, and other aspects of his life likely sucked, bullying seventeen and eighteen year old plebes was likely the high point of his life. Given his general asshole-ish-ness, it was guaranteed that this guy was going to get one hell of a "birthday party."
So the Spartan plebes geared up as if for the battle of Thermopylae. We put on football equipment used by the intramural football team. We drew battle plans and planned to stay in formation to be able to overwhelm the upperclassman and subdue him quickly and painlessly. Unfortunately, things didn't work out to plan.
In my Intramural Football Garb
Once the plebes burst through the door, the upperclassman's roommate attacked up from our right flank. This disoriented the biggest plebes leading the charge, and forced me to assume point and continue the attack. I charged at Cadet Sergeant Douchebag and tackled him facedown onto his desk. With his torso down pinned down, I considered him momentarily subdued.
However, the upperclassman still had one last gambit. I felt his hand reach up along my thigh shortly before I felt a strong hand close vice-like around my testicles. I let out a shriek several octaves higher than I had ever uttered before, and the upperclassmen let out an evil chuckle and made an ominous announcement to the other plebes:
"I have McBride's nuts, and if you ever want him to be able to procreate, you'll back the f*** off and get out of my room."
Once everyone realized the gravity of the situation, the plebes stopped their attack and my comrades retreated away. Suddenly, I was alone with the two upperclassmen. My testicles throbbed with pain, my face was beat red, and a layer of persperations seeped through the football equipment. "Damn it," I thought to myself, "why the hell didn't I wear a cup?"
With the situation diffused, the upperclassman opened his strong hand and released my family jewels. Looking at his face, the upperclassman had a sly and self-satisfied look on his face. He caught my glance and winked.
So with this being a mainframe blog and everything, you might be wondering why you're reading about military academy hazing and Sean McBride's "nuts in peril" anecdote. Well, it turns out that mainframe computers were a big deal at West point in the 1960s and 1970s that they became part of the hazing culture.
By the 1960, it was clear to the big brass that the Army needed savvy centurions ready to answer the President's call to directly engage the forces of Global Communism in limited nuclear wars or "brush fire" conflicts in far off places like Vietnam. As a result, West Point changed it's curriculum so that "every cadet should have practical exposure to computers, including the writing, running, and testing of computer programs to solve real problems." In short, the West Point leadership voiced opinions quite similar to those now heard by Code.org: EVERYONE (or at least every cadet) should learn to code. Fifty years ago, these curriculum changes were downright revolutionary. At MIT and other computing powerhouses of the era, computers were used by highly specialized engineers, mathematicians, and asocial hacker types. At West Point, even the dumb jocks coded… Even the Football player coded… Even the future Infantry officers coded…
Sure West Point had "Hacker" types like Charles L. Baker of Sheffield, Alabama, who had an "admiration for force vectors, do-loops and [the] dear old GE 225 [mainframe that] know[ing] no bounds" and Larry Hartman of Tucsan, Arizona, who "spied a sweet young thing named the GE 225 and has been in love ever since," but by the mid 1960s, all cadets had personal experience coding on a mainframe computer, making computing a common cultural touchstone for cadets decades before PCs made computing mainstream. Sure, computing clubs at places like MIT coded, but at West Point, even the SCUBA Club coded, modeling an Underwater Navigation Course using the GE 225.
It didn't take long before computing combined with the timeless West Point tradition of hazing Plebes (first-year cadets) to produce bizarre scenarios, such as this:
Upperclassman: "Plebe! Are you stupid or something?"
Plebe: "No, sir!"
Upperclassman: "Wrong answer, beanhead, are you stupid?"
Plebe: "Yes, sir!"
Upperclassman: "How stupid are you, crot?"
Plebe: "Sir, I make the incline plane look like a GE 225 digital computer!"
In fact, in many ways, the very act of learning to code became an additional element of West Point hazing during the sixties and seventies. At that time, plebes were required to take a programming course, where they would code in a simplified version of FORTRAN called CADETRAN using mark-sense cards (think number-two pencils and Scantron-style cards). This process was euphemistically called "squint and print," "jot and plot," and "punch and pray." Whatever it was called, it surely must have been better than "nuts and crunch." 🙂
Between 1968 and 1971, cadets transitioned to being able using teletype terminals that resembled typewriters, and between 1974 and 1983, cadets even used terminals with full-screen displays.
Cadet Frank Monaco (USMA Class of 1970) pecks at a keypunch while working diligently on his senior design project for EF489: a macro assembler for the GE 635 Mainframe. In a twist of fact, Frank later returned to West Point to act as the Academy's Chief Information Officer during the 1990s. Frank now consults and teaches courses on computing. Follow him on Twitter at @ProfessorMonaco.
I've recently asked a handful of West Point graduates about their memories taking computer coursework on this mainframe, and here are few of the best anecdotes:
"Our mainframe was enclosed in a huge heated and air conditioned room in the bowels of Thayer Hall. We never interacted directly with "THE MACHINE." We created flow charts and wrote code in an abbreviated version of fortran called cadetran. Then we created punch cards which represented each operation of our code. If there were no "hanging chads," and if the damn cards were in the right order, and after waiting hours (or days) for everyone else whose stacks of cards were in line in front of us, our program would get run by "THE MACHINE." Frustratingly, I rarely got my programs to work properly on the first run. I usually wrote good code. Failure to catch that "hanging chads" had caused the card reader to misread a card, or failure to have them all in the proper order was typically the culprit. But it took an inordinate amount of time to track down the culprit, create new cards and/or reorder cards (opportunities for more error – like inspection walking the area is an opportunity for more demerits!), place card stacks into the queue again, and wait. Oh yes, I remember it well…."
"My classmate had a program in his hands one day that was about four inches high. As he was crossing the road they slipped and the wind took punch cards to hell and back. It took us fifteen minutes to police them all up."
"Some of us played Star Trek [one of the earliest computer games] while most were lost in space. Time was of the utmost importance. As if by magic, by the time our terminal got to the last line in a drawing, the last multiple guess, the final print-out, the 635 would disconnect."
"Prior to Cadetran we also did programs in a version of Basic which I think they called Cadet Basic. I was fortunate to take a couple of electives in Management Science that actually used computers to solve problems, rather than just running programs to learn computers… In spite of the operational hurdles it took to actually use USMA computers, we did learn the concepts of computer science. At least I like to think that foundation is what allowed me to go into CS for my graduate work."
"I was enrolled in a Fortran course (known as FORTY). I am sure most remember working on teletype variants in which your input was typed as a new line on a very long sheet of paper and your output came back the same way. That and punch cards were the standard. As someone taking an elective, I was admitted to the outer rings of cognoscienti. At one class period, this semi-select group was taken down the hall by our Professor. He pulled out his keys and opened a locked door, ushering us into what was surely one of the sanctums of computer engineering. In that stronghold, I was shown a strange new device in which our interactions with the computer were displayed, a CRT! Of course it was monochrome with everything displayed in various shades of green. We emerged discussing our discovery in hushed and reverent tones."
"I remember when we witnessed a demonstration of programs drawing vectors on the screen of a monitor. That was top notch stuff. FORTRAN was fun; it made me think I wanted to go into computer science. COBOL was so boring that I changed my mind. Our mainframe was a 635, Honeywell or GE. I can't remember which company bought the sector from the other."
"I just remember hand writing out the code, and then transferring it to the punch cards, and waiting – a common refrain from you all. As I recall, in the late 60's, it was always a challenge to decide whether to use the faster automated punch card writing machines (that took whatever you gave them even if it had a typo) or to use the slower but potentially more accurate mark sense punch cards. I am still not sure how we ever identified the errors, much less corrected them."
"Yes I remember the card punch room outside the glassed-in computer. That's where I learned a phrase I still use today. The Do loop. 010 Do 20 020 Do 10 I've been in a do loop ever since."
"The more important memory for me was the Star Trek game. I look at video game interfaces now and think about the mental math that was required to play that game and just shake my head in wonder that it was actually as much fun as it was. I also learned not to go up to the terminal room until somewhere around 10 at night. If I went up earlier, I would get so absorbed in the game that I wouldn't notice the time. Taps would come and I would realize that I hadn't gotten all the rest of my assignments done. I guess that qualifies as addictive behavior, but at least I worked out strategies to control it! Those memories also make it hard for me to get too far up on my high horse with my boys when they spend entire evenings playing video games!"
On that note, I'm going to sign off and play some video games myself.
Have a great week and remember to protect your nuts!
PreviousReflections on Marcus Aurelius' Meditations
NextThe Io Programming Language