bl

Flexible Bayesian regression modelling / edited by Yanan Fan, David Nott, Mike S. Smith, Jean-Luc Dortet-Bernadet

Dewey Library - QA278.2.F53 2020




bl

An illustrative guide to multivariable and vector calculus Stanley J. Miklavcic

Online Resource




bl

Smart healthcare analytics in IoT enabled environment Prasant Kumar Pattnail, Suneeta Mohanty, Satarupa Mohanty, editors

Online Resource




bl

Stochastically Forced Compressible Fluid Flows / Dominic Breit, Eduard Feireisl, Martina Hofmanová

Barker Library - QA911.B75 2018




bl

Ramsey theory: unsolved problems and results / Xiaodong Xu (University of Science & Technology), Meilian Liang, Haipeng Luo

Hayden Library - QA166.X865 2018




bl

Optical communications: components and systems / Martin Sibley

Online Resource




bl

Human compatible: artificial intelligence and the problem of control / Stuart Russell

Dewey Library - Q334.7.R87 2019




bl

Big data-enabled internet of things / edited by Muhammad Usman Shahid Khan, Samee U. Khan and Albert Y. Zomaya

Online Resource




bl

Paris blues / director, Martin Ritt

Browsery DVD PN1997.P37 2014




bl

Blood on the fields: Wynton Marsalis / produced and directed by Susan Shaw

Browsery DVD ML3930.M327 B56 2016




bl

[ASAP] Polymer Dynamics in Block Copolymer Electrolytes Detected by Neutron Spin Echo

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00236




bl

[ASAP] Stabilizing Phases of Block Copolymers with Gigantic Spheres via Designed Chain Architectures

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00193




bl

[ASAP] Substituent Optimization of (1 ? 2)-Glucopyranan for Tough, Strong, and Highly Stretchable Film with Dynamic Interchain Interactions

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00266




bl

[ASAP] Lead Halide Perovskite Nanocrystals as Photocatalysts for PET-RAFT Polymerization under Visible and Near-Infrared Irradiation

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00232




bl

[ASAP] Scavenging One of the Liquids versus Emulsion Stabilization by Microgels in a Mixture of Two Immiscible Liquids

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00191




bl

[ASAP] Aggregation-Induced Emission Active Polyacrylates via Cu-Mediated Reversible Deactivation Radical Polymerization with Bioimaging Applications

ACS Macro Letters
DOI: 10.1021/acsmacrolett.0c00281





bl

Sex MISSAE breviores et faciliores pro Choris ruralibus ab Organo, Canto, Alto, Basso, II Violinis obligatis; Tenore, Viola, Flauto, II Clarinettis, Fagotto, II Cornibus seu Clarinis, Tympanis et Violone non obligatis, Compositae per FRANCISCUM BÜHLE

Autor: Bühler, Franz, 1760-1824
Erschienen 1821
BSB-Signatur 4 Mus.pr. 45583

URN: urn:nbn:de:bvb:12-bsb11148962-3
URL: http://reader.digitale-sammlungen.de/de/fs1/object/display/bsb11148962_00001.html/




bl

Cymbala jubilationis sive 6 missae solemniores una cum hymno ambrosiano Te Deum laudamus ; à 4 vocibus oblig., 2 violinis necessariis, alto viola, 2 clarinis, vel cornibus & tympanis ad lib., ac duplici basso generali ; op. 10

Autor: Königsperger, Marianus, 1708-1769
Erschienen 1747
BSB-Signatur 4 Mus.pr. 44470

URN: urn:nbn:de:bvb:12-bsb11148805-6
URL: http://reader.digitale-sammlungen.de/de/fs1/object/display/bsb11148805_00001.html/




bl

VI. miserere seu psalmus quinquagesimus sexies, ... seu Stabat Mater ... in lucem editus & à 4. Vocibus ordinariis, 2. Violinis ac Organo obligatis, Viola, 2. Clarinis, 3. Tromponis ac Violoncello ad libitum ... Joannis Antonii Kobrich, ... opus

Autor: Kobrich, Johann Anton, 1714-1791 [Komponist]
Erschienen 1753
BSB-Signatur 4 Mus.pr. 44441

URN: urn:nbn:de:bvb:12-bsb11148801-5
URL: http://reader.digitale-sammlungen.de/de/fs1/object/display/bsb11148801_00001.html/





bl

Blue is the warmest colour (2013) / written and directed by Abdellatif Kechiches [DVD].

[U.K.] : Artifical Eye, [2014]




bl

Blaxploitalian: 100 years of blackness in Italian cinema (2016) / directed by Fred Kudjo Kuwornu [DVD].

[Brooklyn, New York] : Do The Right Films Entertainment, [2017]




bl

Black Venus (2010) / written and directed by Abdellatif Kechiche [DVD].

[U.K.] : Arrow Films, [2018]




bl

The sensible stage : staging and the moving image / edited by Bridget Crone




bl

Music and the ineffable / Vladimir Jankélévitch ; translated by Carolyn Abbate

Jankélévitch, Vladimir, author




bl

Spotify teardown : inside the black box of streaming music / Maria Eriksson, Rasmus Fleischer, Anna Johansson, Pelle Snickars, and Patrick Vonderau

Eriksson, Maria, 1969- author




bl

Thinking through theatre and performance / edited by Maaike Bleeker, Adrian Kear, Joe Kelleher and Heike Roms




bl

Theatre, performance and cognition : languages, bodies and ecologies / edited by Rhonda Blair and Amy Cook




bl

Jack Charles : born-again blakfella / with Namila Benson

Charles, Jack, 1943- author




bl

Graziano Krätli Reviews Fabiano Alborghetti’s “Directory of the Vulnerable”

In a recent article for Rain Taxi, Graziano Krätli reviews Fabiano Alborghetti’s Directory of the Vulnerable, translated by Marco Sonzogni. He begins by stating, “Fabiano Alborghetti’s two fine collections to date, L’opposta riva (The Opposite Shore, 2006 and 2013) and Registro dei fragile. 43 canti (2009; Directory of the Vulnerable) represent almost an anomaly, if […]




bl

Trailer for “Navy Blue”

We’re excited to announce the trailer for Steve Meagher’s Navy Blue! Broken hymns. Desperate prayers. Tales of first heroes. Stories of the street. The poems in Navy Blue walk the middle ground between sorrow and salvation, tackling themes of devotion, regret, innocence lost and mortality through an array of dark landscapes and narratives of the dispossessed. Written in […]




bl

Responsible JavaScript: Part III

You’ve done everything you thought was possible to address your website’s JavaScript problem. You relied on the web platform where you could. You sidestepped Babel and found smaller framework alternatives. You whittled your application code down to its most streamlined form possible. Yet, things are just not fast enough. When websites fail to perform the way we as designers and developers expect them to, we inevitably turn on ourselves:

“What are we failing to do?” “What can we do with the code we have written?” “Which parts of our architecture are failing us?”

These are valid inquiries, as a fair share of performance woes do originate from our own code. Yet, assigning blame solely to ourselves blinds us to the unvarnished truth that a sizable onslaught of our performance problems comes from the outside.

When the third wheel crashes the party

Convenience always has a price, and the web is wracked by our collective preference for it.  JavaScript, in particular, is employed in a way that suggests a rapidly increasing tendency to outsource whatever it is that We (the first party) don’t want to do. At times, this is a necessary decision; it makes perfect financial and operational sense in many situations.

But make no mistake, third-party JavaScript is never cheap. It’s a devil’s bargain where vendors seduce you with solutions to your problem, yet conveniently fail to remind you that you have little to no control over the side effects that solution introduces. If a third-party provider adds features to their product, you bear the brunt. If they change their infrastructure, you will feel the effects of it. Those who use your site will become frustrated, and they aren’t going to bother grappling with an intolerable user experience. You can mitigate some of the symptoms of third parties, but you can’t cure the ailment unless you remove the solutions altogether—and that’s not always practical or possible.

In this installment of Responsible JavaScript, we’ll take a slightly less technical approach than in the previous installment. We are going to talk more about the human side of third parties. Then, we’ll go down some of the technical avenues for how you might go about tackling the problem.

Hindered by convenience

When we talk about the sorry state of the web today, some of us are quick to point out the role of developer convenience in contributing to the problem. While I share the view that developer convenience has a tendency to harm the user experience, they’re not the only kind of convenience that can turn a website into a sluggish, janky mess.

Operational conveniences can become precursors to a very thorny sort of technical debt. These conveniences are what we reach for when we can’t solve a pervasive problem on our own. They represent third-party solutions that address problems in the absence of architectural flexibility and/or adequate development resources.

Whenever an inconvenience arises, that is the time to have the discussion around how to tackle it in a way that’s comprehensive. So let’s talk about what it looks like to tackle that sort of scenario from a more human angle.

The problem is pain

The reason third parties come into play in the first place is pain. When a decision maker in an organization has felt enough pain around a certain problem, they’re going to do a very human thing, which is to find the fastest way to make that pain go away.

Markets will always find ways to address these pain points, even if the way they do so isn’t sustainable or even remotely helpful. Web accessibility overlays—third-party scripts that purport to automatically fix accessibility issues—are among the worst offenders. First, you fork over your money for a fix that doesn’t fix anything. Then you pay a wholly different sort of price when that “fix” harms the usability of your website. This is not a screed to discredit the usefulness of the tools some third-party vendors provide, but to illustrate how the adoption of third-party solutions happens, even those that are objectively awful

A Chrome performance trace of a long task kicked off by a third party’s web accessibility overlay script. The task occupies the main thread for roughly 600 ms on a 2017 Retina MacBook.

So when a vendor rolls up and promises to solve the very painful problem we’re having, there’s a good chance someone is going to nibble. If that someone is high enough in the hierarchy, they’ll exert downward pressure on others to buy in—if not circumvent them entirely in the decision-making process. Conversely, adoption of a third-party solution can also occur when those in the trenches are under pressure and lack sufficient resources to create the necessary features themselves.

Whatever the catalyst, it pays to gather your colleagues and collectively form a plan for navigating and mitigating the problems you’re facing.

Create a mitigation plan

Once people in an organization have latched onto a third-party solution, however ill-advised, the difficulty you’ll encounter in forcing a course change will depend on how urgent a need that solution serves. In fact, you shouldn’t try to convince proponents of the solution that their decision was wrong. Such efforts almost always backfire and can make people feel attacked and more resistant to what you’re telling them. Even worse, those efforts could create acrimony where people stop listening to each other completely, and that is a breeding ground for far worse problems to develop.

Grouse and commiserate amongst your peers if you must—as I myself have often done—but put your grievances aside and come up with a mitigation plan to guide your colleagues toward better outcomes. The nooks and crannies of your specific approach will depend on the third parties themselves and the structure of the organization, but the bones of it could look like the following series of questions.

What problem does this solution address?

There’s a reason why a third-party solution was selected, and this question will help you suss out whether the rationale for its adoption is sound. Remember, there are times decisions are made when all the necessary people are not in the room. You might be in a position where you have to react to the aftermath of that decision, but the answer to this question will lead you to a natural follow-up.

How long do we intend to use the solution?

This question will help you identify the solution’s shelf life. Was it introduced as a bandage, with the intent to remove it once the underlying problem has been addressed, such as in the case of an accessibility overlay? Or is the need more long-term, such as the data provided by an A/B testing suite? The other possibility is that the solution can never be effectively removed because it serves a crucial purpose, as in the case of analytics scripts. It’s like throwing a mattress in a swimming pool: it’s easy to throw in, but nigh impossible to drag back out.

In any case, you can’t know if a third-party script is here to stay if you don’t ask. Indeed, if you find out the solution is temporary, you can form a plan to eventually remove it from your site once the underlying problem it addresses has been resolved.

Who’s the point of contact if issues arise?

When a third-party solution is put into place, someone must be the point of contact for when—not if—issues arise.

I’ve seen what happens (far too often) when a third-party script gets out of control. For example, when a tag manager or an A/B testing framework’s JavaScript grows slowly and insidiously because marketers aren’t cleaning out old tags or completed A/B tests. It’s for precisely these reasons that responsibility needs to be attached to a specific person in your organization for third-party solutions currently in use on your site. What that responsibility entails will differ in every situation, but could include:

  • periodic monitoring of the third-party script’s footprint;
  • maintenance to ensure the third-party script doesn’t grow out of control;
  • occasional meetings to discuss the future of that vendor’s relationship with your organization;
  • identification of overlaps of functionality between multiple third parties, and if potential redundancies can be removed;
  • and ongoing research, especially to identify speedier alternatives that may act as better replacements for slow third-party scripts.

The idea of responsibility in this context should never be an onerous, draconian obligation you yoke your teammates with, but rather an exercise in encouraging mindfulness in your colleagues. Because without mindfulness, a third-party script’s ill effects on your website will be overlooked until it becomes a grumbling ogre in the room that can no longer be ignored. Assigning responsibility for third parties can help to prevent that from happening.

Ensuring responsible usage of third-party solutions

If you can put together a mitigation plan and get everyone on board, the work of ensuring the responsible use of third-party solutions can begin. Luckily for you, the actual technical work will be easier than trying to wrangle people. So if you’ve made it this far, all it will take to get results is time and persistence.

Load only what’s necessary

It may seem obvious, but load only what’s necessary. Judging by the amount of unused first-party JavaScript I see loaded—let alone third-party JavaScript—it’s clearly a problem. It’s like trying to clean your house by stuffing clutter into the closets. Regardless of whether they’re actually needed, it’s not uncommon for third-party scripts to be loaded on every single page, so refer to your point of contact to figure out which pages need which third-party scripts.

As an example, one of my past clients used a popular third-party tool across multiple brand sites to get a list of retailers for a given product. It demonstrated clear value, but that script only needed to be on a site’s product detail page. In reality, it was frequently loaded on every page. Culling this script from pages where it didn’t belong significantly boosted performance for non-product pages, which ostensibly reduced the friction on the conversion path.

Figuring out which pages need which third-party scripts requires you to do some decidedly untechnical work. You’ll actually have to get up from your desk and talk to the person who has been assigned responsibility for the third-party solution you’re grappling with. This is very difficult work for me, but it’s rewarding when good-faith collaboration happens, and good outcomes are realized as a result.

Self-host your third-party scripts

This advice isn’t a secret by any stretch. I even touched on it in the previous installment of this series, but it needs to be shouted from the rooftops at every opportunity: you should self-host as many third-party resources as possible. Whether this is feasible depends on the third-party script in question.

Is it some framework you’re grabbing from Google’s hosted libraries, cdnjs, or other similar provider? Self-host that sucker right now.

Casper found a way to self-host their Optimizely script and significantly reduced their start render time for their trouble. It really drives home the point that a major detriment of third-party resources is the fact that their mere existence on other servers is one of the worst performance bottlenecks we encounter.

If you’re looking to self-host an analytics solution or a similar sort of script, there’s a higher level of difficulty to contend with to self-host it. You may find that some third-party scripts simply can’t be self-hosted, but that doesn’t mean it isn’t worth the trouble to find out. If you find that self-hosting isn’t an option for a third-party script, don’t fret. There are other mitigations you can try.

Mask latency of cross-origin connections

If you can’t self-host your third-party scripts, the next best thing is to preconnect to servers that host them. WebPageTest’s Connection View does a fantastic job of showing you which servers your site gathers resources from, as well as the latency involved in establishing connections to them.

WebPageTest’s Connection View shows all the different servers a page requests resources from during load.

Preconnections are effective because they establish connections to third-party servers before the browser would otherwise discover them in due course. Parsing HTML takes time, and parsers are often blocked by stylesheets and other scripts. Wherever you can’t self-host third-party scripts, preconnections make perfect sense.

Maybe don’t preload third-party scripts

Preloading resources is one of those things that sounds fantastic at first—until you consider its potential to backfire, as Andy Davies points out. If you’re unfamiliar with preloading, it’s similar to preconnecting but goes a step further by instructing the browser to fetch a particular resource far sooner than it ordinarily would.

The drawback of preloading is that while it’s great for ensuring a resource gets loaded as soon as possible, it changes the discovery order of that resource. Whenever we do this, we’re implicitly saying that other resources are less important—including resources crucial to rendering or even core functionality.

It’s probably a safe bet that most of your third-party code is not as crucial to the functionality of your site as your own code. That said, if you must preload a third-party resource, ensure you’re only doing so for third-party scripts that are critical to page rendering.

If you do find yourself in a position where your site’s initial rendering depends on a third-party script, refer to your mitigation plan to see what you can do to eliminate or ameliorate your dependence on it. Depending on a third party for core functionality is never a good position to be in, as you’re relinquishing a lot of control to others who might not have your best interests in mind.

Lazy load non-essential third-party scripts

The best request is no request. If you have a third-party script that doesn’t need to be loaded right away, consider lazy loading it with an Intersection Observer. Here’s what it might look like to lazy load a Facebook Like button when it’s scrolled into the viewport:


let loadedFbScript = false;

const intersectionListener = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    if ((entry.isIntersecting || entry.intersectionRatio) && !loadedFbScript) {
      const scriptEl = document.createElement("script");

      scriptEl.defer = true;
      scriptEl.crossOrigin = "anonymous";
      scriptEl.src = "https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.0";
      scriptEl.onload = () => {
        loadedFbScript = true;
      };
      
      document.body.append(scriptEl);
    }
  });
});

intersectionListener.observe(document.querySelector(".fb-like"));

In the above snippet, we first set a variable to track whether we’ve loaded the Facebook SDK JavaScript. After that, an IntersectionListener is created that checks whether the observed element is in the viewport, and whether the Facebook SDK has been loaded. If the SDK JavaScript hasn’t been loaded, a reference to it is injected into the DOM, which will kick off a request for it.

You’re not going to be able to lazy load every third-party script. Some of them simply need to do their work at page load time, or otherwise can’t be deferred. Regardless, do the detective work to see if it’s possible to lazy load at least some of your third-party JavaScript.

One of the common concerns I hear from coworkers when I suggest lazy loading third-party scripts is how it can delay whatever interactions the third party provides. That’s a reasonable concern, because when you lazy load anything, a noticeable delay may occur as the resource loads. You can get around this to some extent with resource prefetching. This is different than preloading, which we discussed earlier. Prefetching consumes a comparable amount of data, yes, but prefetched resources are given lower priority and are less likely to contend for bandwidth with critical resources.

Staying on top of the problem

Keeping an eye on your third-party JavaScript requires mindfulness bordering on hypervigilance. When you recognize poor performance for the technical debt that it truly is, you’ll naturally slip into a frame of mind where you’ll recognize and address it as you would any other kind of technical debt.

Staying on top of third parties is refactoring—a sort that requires you to periodically perform tasks such as cleaning up tag managers and A/B tests, consolidating third-party solutions, eliminating any that are no longer needed, and applying the coding techniques discussed above. Moreover, you’ll need to work with your team to address this technical debt on a cyclical basis. This kind of work can’t be automated, so yes, you’ll need to knuckle down and have face-to-face, synchronous conversations with actual people.

If you’re already in the habit of scheduling “cleanup sprints” on some interval, then that is the time and space for you to address performance-related technical debt, regardless of whether it involves third- or first-party code. There’s a time for feature development, but that time should not comprise the whole of your working hours. Development shops that focus only on feature development are destined to be wholly consumed by the technical debt that will inevitably result.

So it will come to pass that in the fourth and final installment of this series we’ll discuss what it means to do the hard work of using JavaScript responsibly in the context of process. Therein, we’ll explore what it takes to unite your organization under the banner of making your website faster and more accessible, and therefore more usable for everyone, everywhere.




bl

Standards for Writing Accessibly

Writing to meet WCAG2 standards can be a challenge, but it’s worthwhile. Albert Einstein, the archetypical genius and physicist, once said, “Any fool can make things bigger, more complex, and more violent. It takes a touch of genius—and a lot of courage—to move in the opposite direction.”

Hopefully, this entire book will help you better write for accessibility. So far, you’ve learned:

  • Why clarity is important
  • How to structure messages for error states and stress cases
  • How to test the effectiveness of the words you write

All that should help your writing be better for screen readers, give additional context to users who may need it, and be easier to parse.

But there are a few specific points that you may not otherwise think about, even after reading these pages.

Writing for Screen Readers

People with little or no sight interact with apps and websites in a much different way than sighted people do. Screen readers parse the elements on the screen (to the best of their abilities) and read it back to the user. And along the way, there are many ways this could go wrong. As the interface writer, your role is perhaps most important in giving screen reader users the best context.

Here are a few things to keep in mind about screen readers:

  • The average reading time for sighted readers is two to five words per second. Screen-reader users can comprehend text being read at an average of 35 syllables per second, which is significantly faster. Don’t be afraid to sacrifice brevity for clarity, especially when extra context is needed or useful.
  • People want to be able to skim long blocks of text, regardless of sight or audio, so it’s extremely important to structure your longform writing with headers, short paragraphs, and other content design best practices.

Write Chronologically, Not Spatially

Writing chronologically is about describing the order of things, rather than where they appear spatially in the interface. There are so many good reasons to do this (devices and browsers will render interfaces differently), but screen readers show you the most valuable reason. You’ll often be faced with writing tooltips or onboarding elements that say something like, “Click the OK button below to continue.” Or “See the instructions above to save your document.”

Screen readers will do their job and read those instructions aloud to someone who can’t see the spatial relationships between words and objects. While many times, they can cope with that, they shouldn’t have to. Consider screen reader users in your language. Embrace the universal experience shared by humans and rely on their intrinsic understanding of the top is first, bottom is last paradigm. Write chronologically, as in Figure 5.5.

FIGURE 5.5 Password hint microcopy below the password field won’t help someone using a screen reader who hasn’t made it there yet.

Rather than saying:

  • Click the OK button below to continue.
  • (A button that scrolls you to the top of a page): Go to top.

Instead, say:

  • Next, select OK to continue.
  • Go to beginning.

Write Left to Right, Top to Bottom

While you don’t want to convey spatial meaning in your writing, you still want to keep that spatial order in mind.

Have you ever purchased a service or a product, only to find out later that there were conditions you didn’t know about before you paid for it? Maybe you didn’t realize batteries weren’t included in that gadget, or that signing up for that social network, you were implicitly agreeing to provide data to third-party advertisers.

People who use screen readers face this all the time.

Most screen readers will parse information from left to write, from top to bottom.1 Think about a few things when reviewing the order and placement of your words. Is there information critical to performing an action, or making a decision, that appears after (to the right or below) an action item, like in Figure 5.5? If so, consider moving it up in the interface.

Instead, if there’s information critical to an action (rules around setting a password, for example, or accepting terms of service before proceeding), place it before the text field or action button. Even if it’s hidden in a tooltip or info button, it should be presented before a user arrives at a decision point.

Don’t Use Colors and Icons Alone

If you are a sighted American user of digital products, there’s a pretty good chance that if you see a message in red, you’ll interpret it as a warning message or think something’s wrong. And if you see a message in green, you’ll likely associate that with success. But while colors aid in conveying meaning to this type of user, they don’t necessarily mean the same thing to those from other cultures.

For example, although red might indicate excitement, or danger in the U.S. (broadly speaking), in other cultures it means something entirely different:

  • In China, it represents good luck.
  • In some former-Soviet, eastern European countries it’s the color strongly associated with Communism.
  • In India, it represents purity.

Yellow, which we in the U.S. often use to mean “caution” (because we’re borrowing a mental model from traffic lights), might convey another meaning for people in other cultures:

  • In Latin America, yellow is associated with death.
  • In Eastern and Asian cultures, it’s a royal color—sacred and often imperial.

And what about users with color-blindness or low to no vision? And what about screen readers? Intrinsic meaning from the interface color means nothing for them. Be sure to add words that bear context so that if you heard the message being read aloud, you would understand what was being said, as in Figure 5.6.

FIGURE 5.6 While a simple in-app message warning a user to save their work before proceeding is more effective, visually, if it is red and has a warning icon, as seen on the left, you should provide more context when possible. The example on the right explicitly says that a user won’t be able to proceed to the next step before saving their work.

Describe the Action, Not the Behavior

Touch-first interfaces have been steadily growing and replacing keyboard/mouse interfaces for years, so no longer are users “clicking” a link or a button. But they’re not necessarily “tapping” it either, especially if they’re using a voice interface or an adaptive device.

Instead of microcopy that includes behavioral actions like:

  • Click
  • Tap
  • Press
  • See

Try device-agnostic words that describe the action, irrespective of the interface, like:

  • Choose
  • Select
  • View

There are plenty of exceptions to this rule. If your interface requires a certain action to execute a particular function, and you need to teach the user how their gesture affects the interface (“Pinch to zoom out,” for example), then of course you need to describe the behavior. But generally, the copy you’re writing will be simpler and more consistent if you stick with the action in the context of the interface itself.




bl

‘Sports without fans possible but magic will be missing’

‘Sports without fans possible but magic will be missing’




bl

23 arrested for not wearing masks in public places

23 arrested for not wearing masks in public places




bl

Concern over deplorable condition of NH-8

Concern over deplorable condition of NH-8




bl

The Parable of the Contractor




bl

Publisher’s Weekly reviews Robert Elder’s Hemingway in Comics

Check out this Publisher’s Weekly review of Robert K. Elder’s two-fisted take on Hemingway in Comics. “Some of the comics riff on familiar aspects of the—already somewhat cartoonish—Hemingway persona (such as a Doonesbury strip that references his testy relationship with F. Scott Fitzgerald), while some are simply bizarre…” Read more… Find out more about Hemingway in Comics.




bl

Boxscore News reviews Blanton’s Browns: The Great 1965–69 Cleveland Browns

Boxscore News reviews Blanton’s Browns: The Great 1965–69 Cleveland Browns by Roger Gordon. “[Blanton's Browns] casts a brilliant beam on a highly competitive NFL outfit. During this era,’65-’69, the franchise nearly repeated as league title holders, nabbed 3 Division championship, and missed by a game going to a Super Bowl.” Read more… Find out more about Blanton’s Browns  




bl

Publisher’s Weekly features The Other Veterans of WWII

Publisher’s Weekly features The Other Veterans of WWII by Rona Simmons. https://bit.ly/3bBMyMi Find out more about the book at: http://www.kentstateuniversitypress.com/…/other-veterans-o…/




bl

Scranalogue - The Blog

Scran News




bl

Masks to help fashion brands beat pandemic blues

Several apparel makers and fast-moving consumer goods companies had earlier stepped up to produce medical-grade masks as a philanthropic act when Covid-19 struck but now it is apparent that the pandemic is set to alter lifestyles for at least some time to come.




bl

Formulating poorly water soluble drugs / Robert O. Williams III, Alan B. Watts, Dave A. Miller, editors

Online Resource




bl

Enabling precision medicine: the role of genetics in clinical drug development: proceedings of a workshop / Morgan L. Boname [and four others], rapporteurs ; Forum on Drug Discovery, Development, and Translation ; Roundtable on Genomics and Precision Heal

Online Resource




bl

Blue dreams: the science and the story of the drugs that changed our minds / Lauren Slater

Hayden Library - RM315.S53 2018b




bl

Ultraviolet-visible spectrophotometry in pharmaceutical analysis / Sándor Görög

Online Resource




bl

ADME processes in pharmaceutical sciences: dosage, design, and pharmacotherapy success / Alan Talevi, Pablo A. M. Quiroga, editors

Online Resource




bl

Advances in nanomaterials for drug delivery: polymeric, nanocarbon and bio-inspired / Mahdi Karimi, Maryam Rad Mansouri, Navid Rabiee, Michael R. Hamblin

Online Resource




bl

Poor quality pharmaceuticals in global public health Satoru Kimura, Yasuhide Nakamura

Online Resource