sto

Back to beer...and hockey: the story of Eric Molson / Helen Antoniou

Hayden Library - TP573.5.M657 A58 2018




sto

The secret history of RDX: the super-explosive that helped win World War II / Colin F. Baxter

Hayden Library - TP290.R39 B39 2018




sto

Fables and futures: biotechnology, disability, and the stories we tell ourselves / George Estreich

Barker Library - TP248.2.E83 2019




sto

Paul's corporate Christophany : an evaluation of Paul's Christophanic references in their epistolary contexts / Rob A. Fringer

Fringer, Rob A., author




sto

The polemic of the Pastorals : a sociological examination of the development of Pauline Christianity / Lloyd K. Pietersen

Pietersen, Lloyd, author




sto

Christology of the later Fathers / edited by Edward R. Hardy in collaboration with Cyril C. Richardson




sto

Abraham our father : Paul and the ancestors in postcolonial Africa / Israel Kamudzandu

Kamudzandu, Israel, author




sto

The ministry of Paul the Apostle : history and redaction / G. Roger Greene

Greene, G. Roger, 1944- author




sto

The practice of hope : ideology and intention in First Thessalonians / Néstor O. Míguez ; translated by Aquíles Martínez

Míguez, Néstor Oscar




sto

The Pastoral Epistles / Gerald L. Bray

Bray, Gerald Lewis, author




sto

Reconstructing the historical background of Paul's rhetoric in the Letter of the Colossians / Adam Copenhaver

Copenhaver, Adam, author




sto

The doubt of the apostles and the resurrection faith of the early church : the post-resurrection appearance stories of the Gospels in ancient reception and modern debate / J.D. Atkins

Atkins, J. D., 1976- author




sto

How the Gospels became history : Jesus and Mediterranean myths / M. David Litwa

Litwa, M. David, author




sto

A history of the Bible : the book and its faiths / John Barton

Barton, John, 1948- author




sto

Introducing medieval biblical interpretation : the senses of scripture in premodern exegesis / Ian Christopher Levy

Levy, Ian Christopher, author




sto

Christobiography : memory, history, and the reliability of the Gospels / Craig S. Keener

Keener, Craig S., 1960- author




sto

Jesus research : the gospel of John in historical inquiry / edited by James H. Charlesworth with Jolyon G. R. Pruszinski




sto

Miracles and the kingdom of God : Christology and social identity in Mark and Q / Myrick C. Shinall Jr

Shinall, Myrick C., author




sto

Scripture, texts, and tracings in 1 Corinthians / edited by Linda L. Belleville and B. J. Oropeza ; afterword by Christopher D. Stanley




sto

John the Baptist in history and theology / Joel Marcus

Marcus, Joel, 1951- author




sto

Kyrios Christos : a history of the belief in Christ from the beginnings of Christianity to Irenaeus / Wilhelm Bousset ; with a new introduction by Larry W. Hurtado ; translated by John E. Steely

Bousset, Wilhelm, 1865-1920




sto

The Pastoral Letters : a handbook on the Greek text / Larry J. Perkins

Perkins, Larry J. (Larry James), 1948- author




sto

Paul's divine Christology / Chris Tilling ; foreword by Douglas A. Campbell

Tilling, Chris, 1975- author




sto

The way of the Lord : christological exegesis of the Old Testament in the Gospel of Mark / Joel Marcus

Marcus, Joel, 1951- author




sto

Jesus beyond nationalism : constructing the historical Jesus in a period of cultural complexity / edited by Halvor Moxnes, Ward Blanton and James G. Crossley




sto

Jesus, skepticism & the problem of history : criteria & context in the study of Christian origins / Darrell L. Bock and J. Ed Komoszewski, editors ; foreword by N.T. Wright




sto

The New Testament : a historical introduction to the early Christian writings / Bart D. Ehrman

Ehrman, Bart D., author




sto

Mary Magdalene understood / Jane Schaberg with Melanie Johnson-DeBaufre

Schaberg, Jane




sto

Story as history--history as story : the gospel tradition in the context of ancient oral history / by Samuel Byrskog

Byrskog, Samuel




sto

Reception History and Biblical Studies : theory and practice / edited by Emma England and William John Lyons




sto

Theological perspectives on a surveillance society : watching and being watched / Eric Stoddart

Stoddart, Eric, 1960- author




sto

Mosaic of joy : a continuing history of multicultural ministry commission / Kay Keng Khoo

Khoo, Kay Keng, author




sto

Fundamentalism or tradition : Christianity after secularism / Aristotle Papanikolaou and George E. Demacopoulo, editors




sto

History and eschatology : Jesus and the promise of natural theology / N.T. Wright

Wright, N. T. (Nicholas Thomas), author




sto

The New Testament in its world : an introduction to the history, literature, and theology of the first Christians / N.T. Wright, Michael F. Bird

Wright, N. T. (Nicholas Thomas), author




sto

Marked for life : a prison chaplain's story / Nancy Hastings Sehested

Sehested, Nancy Hastings, author




sto

1 Corinthians : a pastoral commentary / J. Ayodeji Adewuya ; foreword by Daniel K. Darko

Adewuya, J. Ayodeji, 1951- author




sto

2 Corinthians : a short exegetical and pastoral commentary / Anthony C. Thiselton

Thiselton, Anthony C., author




sto

Essential essays for the study of the military in first-century Palestine : soldiers and the New Testament context / edited by Christopher B. Zeichman




sto

Jesus's manifesto : the Sermon on the Plain / Roman A. Montero ; foreword by James Crossley

Montero, Roman A., author, translator




sto

Edwin Sandys and the reform of English religion / Sarah L. Bastow

Bastow, Sarah L., author




sto

A chitosan-based edible film with clove essential oil and nisin for improving the quality and shelf life of pork patties in cold storage

RSC Adv., 2020, 10,17777-17786
DOI: 10.1039/D0RA02986F, Paper
Open Access
Karthikeyan Venkatachalam, Somwang Lekjing
This study assessed chitosan (CS)-based edible films with clove essential oil (CO) and nisin (NI) singly or in combination, for improving quality and shelf life of pork patties stored in cold conditions.
The content of this RSS Feed (c) The Royal Society of Chemistry




sto

Enhanced methane gas storage in the form of hydrates: role of the confined water molecules in silica powders

RSC Adv., 2020, 10,17795-17804
DOI: 10.1039/D0RA01754J, Paper
Open Access
Pinnelli S. R. Prasad, Burla Sai Kiran, Kandadai Sowjanya
Rapid and efficient methane hydrate conversions by utilising the water molecules confined in intra- and inter-granular space of silica powders.
The content of this RSS Feed (c) The Royal Society of Chemistry




sto

Custom Tweet Button for WordPress

How to create a custom Tweet Button for WordPress using the bit.ly and Twitter APIs. The HTML and CSS is completely customisable and there is no need for JavaScript. PHP is used to automatically shorten and cache the URL of a post, fetch and cache the number of retweets, and populate the query string parameters in the link to Twitter.

The custom Tweet Button at the bottom of this post was created using this method. All the files are available on Github and released under MIT license. The PHP code was heavily influenced by the BackType Tweetcount plugin.

How to use

You’ll need your own bit.ly account and to be comfortable editing your theme’s functions.php, style.css, and template files. Be sure to make backups before you start making changes.

Step 1: Download the Custom Tweet Button for WordPress files from Github.

Step 2: Include the custom-tweet-button.php file in your theme’s functions.php file.

Step 3: Replace the bit.ly username, bit.ly API key, and Twitter username placeholders in the tweet_button function with your own. Your bit.ly credentials can be found on the “settings” page of your account.

Step 4: Add the custom Tweet Button CSS to your theme’s style.css file. Add the tweet.png image in your theme’s image folder. Make sure the image is correctly referenced in the CSS file.

Step 5: Call the function tweet_button in your template files (e.g. single.php) at the position(s) in the HTML you’d like the Tweet Button to appear:

if (function_exists('tweet_button')) {
   tweet_button(get_permalink());
}

Why make your own Tweet Button?

Making your own custom Tweet Button for WordPress has several additional advantages over using Twitter’s own offerings.

  • Full control over the HTML and CSS.
    Having full control over the HTML and CSS means that you can choose how to present your Tweet Button. I decided to reproduce the horizontal and vertical styles of Twitter’s own button. But any appearance is possible.

  • All click, traffic, and referrer data is stored in your bit.ly account.
    The URL for any published post is automatically shortened using the bit.ly service. The short URL is then passed to Twitter to ensure you can monitor the click and traffic data in your bit.ly account. The permalink is passed to Twitter in the counturl query string parameter to ensure that it counts the URL that your short URL resolves to.

  • No need for JavaScript or embedded iframes.
    The Tweet Button works without JavaScript. You have full control over any custom JavaScript enhancements you may wish to include. If you’d prefer Twitter’s share page to open in a pop-up window you can write your own JavaScript handler.

  • Faster page load.
    No external JavaScript or image files are loaded; both the short URL and retweet counts are cached.

  • Use the short URL and retweet count for other purposes.
    The short URLs and retweet counts are stored as post meta-data. This makes it easy to display this data anywhere else in a post. The retweet count data could be used for conditional template logic. For example, you could order posts based on the number of retweets, apply custom styles to your most retweeted posts, or display your most tweeted posts in a widget.

  • Easy to add Google Analytics campaign and event tracking.
    The Tweet Button is simple HTML and you have control over all the information that is sent to Twitter. Therefore, it is possible to use Google Analytics to help answer questions like: are people sharing your posts from the homepage or the post itself? If the Tweet Button is displayed above and below your posts, which gets the most clicks? How long do people take to click the Tweet Button? How many people are visiting my site thanks to links posted on Twitter using the Tweet Button?

  • Approximate the number of retweets for old posts.
    Before the release of the official Tweet Button, Twitter did not collect data on the number of times a URL was tweeted. This means your older posts may display far fewer retweets than actually occurred. However, there is a workaround. Use a service like Topsy, Backtype, or Tweetmeme to get the number of times your old post was retweeted. The difference between this and the number from Twitter’s APIs is the approximate number of retweets Twitter missed. To correct the retweet count for old posts add the number of missed retweets to a Custom Field called retweet_count_start.

How the custom Tweet Button works

Once a post is published its permalink URL is shortened using the bit.ly API.

The returned URL is permanently cached in the bitly_short_url Custom Field. The short URL is now part of the post’s general meta-data and can be used in contexts other than the Tweet Button.

The Twitter API is used to get the number of retweets for the post’s permalink URL. This number, along with the time at which it was requested, is cached in the retweet_cache Custom Field. When the cache interval has passed, an API call is made and the returned number of retweets is checked against the value stored in retweet_cache. If the returned number is greater, the value of retweet_cache is updated.

The content of the tweet is automatically created by setting several properties for the http://twitter.com/share URL. The post title makes up the message; the short URL is passed to Twitter as the URL to be displayed in the tweet; the permalink URL is passed to Twitter as the URL to be counted; and your username is declared.

$twitter_params =
'?text=' . urlencode($title) .
'&url=' . urlencode($short_url) .
'&counturl=' .urlencode($url).
'&via=' . $twitter_via;

The default HTML output is very simple and can be fully customised. To display the count number vertically, add the class vcount.

<div class="twitter-share vcount>
   <a class="twitter-button"
      rel="external nofollow"
      title="Share this on Twitter"
      href="http://twitter.com/share?query-string-params"
      target="_blank">Tweet</a>
   <a class="twitter-count" href="http://twitter.com/search?q=url>259</a>
</div>

Further enhancements

Please apply any improvements or enhancements for the script against the source repository.




sto

Custom CSS preprocessing

Did you know that you can build your own CSS preprocessor with Node.js libraries? They can be used alongside established preprocessors like Sass, and are useful for defining tasks beyond preprocessing.

Libraries like Rework and PostCSS let you create and assemble an arbitrary collection of plugins that can inspect or manipulate CSS.

At the time of writing, Twitter uses Rework to perform various tasks against our CSS source code for twitter.com.

Creating a CSS preprocessor with Rework

At its core, Rework is a module that accepts a string of CSS, produces a CSS abstract syntax tree (AST), and provides an API for manipulating that AST. Plugins are functions that have access to the AST and a Rework instance. Rework lets you chain together different plugins and generate a string of new CSS when you’re done.

The source string is passed into the rework function and each plugin is applied with .use(fn). The plugins transform the data in the AST, and .toString() generates the new string of CSS.

Below is an example of a custom preprocessor script using Rework and Autoprefixer. It’s a simplified version of the transformation step we use for twitter.com’s CSS.

var autoprefixer = require('autoprefixer');
var calc = require('rework-calc');
var rework = require('rework');
var vars = require('rework-vars')();

var css = fs.readFileSync('./css/main.css', 'utf-8');

css = rework(css)
  .use(vars)
  .use(calc)
  .toString();

css = autoprefixer().process(css);

fs.writeFileSync('./build/bundle.css', css)

The script runs rework-vars, rework-calc, and then passes the CSS to Autoprefixer (which uses PostCSS internally) to handle the addition of any necessary vendor prefixes.

rework-vars provides a limited subset of the features described in the W3C-style CSS custom property spec. It’s not a polyfill!

Variables can be declared as custom CSS properties on the :root element, prefixed with --. Variables are referenced with the var() function, taking the name of a variable as the first argument and an optional fallback as the second.

For example, this source:

:root {
  --width-button: 200px;
}

.button {
  width: var(--width-button);
}

yields:

.button {
  width: 200px;
}

There are many different Rework plugins that you can use to create a custom preprocessor. A more complete list is available on npm. In order to limit the chances of long-term divergence between our source code and native CSS, I’ve chosen to stick fairly closely to features that are aligned with future additions to native CSS.

Creating your own Rework plugin

Rework plugins are functions that inspect or mutate the AST they are provided. Below is a plugin that rewrites the value of any font-family property to sans-serif.

module.exports = function plugin(ast, reworkInstance) {
  ast.rules.forEach(function (rule) {
    if (rule.type != 'rule') return;

    rule.declarations.forEach(function (declaration, index) {
      if (declaration.property == 'font-family') {
        declaration.value = 'sans-serif';
      }
    });
  });
};

Rework uses css-parse to create the AST. Unfortunately, both projects are currently lacking comprehensive documentation of the AST, but it’s not difficult to piece it together yourself.

Beyond preprocessing

Since Rework and PostCSS expose an AST and provide a plugin API, they can be used for other CSS tasks, not just preprocessing.

At Twitter, our CSS build pipeline allows you to perform custom tasks at 2 stages of the process: on individual files and on generated bundles. We use Rework at both stages.

Individual files are tested with rework-suit-conformance to ensure that the SUIT-style CSS for a component is properly scoped.

/** @define MyComponent */

:root {
  --property-MyComponent: value;
}

.MyComponent {}

Bundles are preprocessed as previously described, and also tested with rework-ie-limits to ensure that the number of selectors doesn’t exceed IE 8/9’s limit of 4095 selectors per style sheet.

Other tasks you can perform include generating RTL style sheets (e.g., css-flip) and extracting detailed information about the perceived health of your CSS (e.g., the number of different colours used, duplicate selectors, etc.).

Hopefully this has given you a small glimpse into some of the benefits and flexibility of using these tools to work with CSS.




sto

Teltumbde in judicial custody till May 22

A special National Investigation Agency (NIA) court on Friday extended the judicial custody of academician Dr. Anand Teltumbde, arrested on April 14 i




sto

Hail storm hits state hard




sto

Stop complainers and energy drainers [electronic resource] : how to negotiate work drama to get more done / Linda Byars Swindling

Swindling, Linda Byars, 1965-




sto

Strategic value management [electronic resource] : stock value creation and the management of the firm / Juan Pablo Stegmann

Stegmann, Juan Pablo




sto

The stress test every business needs [electronic resource] : a capital agenda for confidently facing digital disruption, difficult investors, recessions and geopolitical threats / Jeffrey R. Greene, Steve Krouskos, Julie Hood, Harsha Basnayake, William Ca

Greene, Jeffrey R., author