en

[ASAP] Selective Covalent Targeting of Mutated EGFR(T790M) with Chlorofluoroacetamide-Pyrimidines

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.9b00574




en

[ASAP] Design and Synthesis of Tetrazole- and Pyridine-Containing Itraconazole Analogs as Potent Angiogenesis Inhibitors

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.9b00438




en

[ASAP] Potential Cancer Treatment by Agonists of the Stimulator of Interferon Genes

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00117




en

[ASAP] Discovery of a Potent Dual Inhibitor of Wild-Type and Mutant Respiratory Syncytial Virus Fusion Proteins

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00008




en

[ASAP] Characterization of Specific <italic toggle="yes">N</italic>-a-Acetyltransferase 50 (Naa50) Inhibitors Identified Using a DNA Encoded Library

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00029




en

[ASAP] Discovery of CPI-1612: A Potent, Selective, and Orally Bioavailable EP300/CBP Histone Acetyltransferase Inhibitor

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00155




en

[ASAP] PROTAC Compounds Targeting a-Synuclein Protein for Treating Neurogenerative Disorders: Alzheimer’s and Parkinson’s Diseases

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00192




en

[ASAP] Development of Selective Steroid Inhibitors for the Glucose-6-phosphate Dehydrogenase from <italic toggle="yes">Trypanosoma cruzi</italic>

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00106




en

[ASAP] Discovery of RO7185876, a Highly Potent ?-Secretase Modulator (GSM) as a Potential Treatment for Alzheimer’s Disease

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00109




en

[ASAP] Ultra-High-Throughput Acoustic Droplet Ejection-Open Port Interface-Mass Spectrometry for Parallel Medicinal Chemistry

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00066




en

[ASAP] Discovery of Adamantane Carboxamides as Ebola Virus Cell Entry and Glycoprotein Inhibitors

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00025




en

[ASAP] Benzoxazepine-Derived Selective, Orally Bioavailable Inhibitor of Human Acidic Mammalian Chitinase

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00092




en

[ASAP] Scaffold Repurposing of in-House Chemical Library toward the Identification of New Casein Kinase 1 d Inhibitors

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00028




en

[ASAP] Development of a Raltegravir-based Photoaffinity-Labeled Probe for Human Immunodeficiency Virus-1 Integrase Capture

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00009




en

[ASAP] De-risking Drug Discovery of Intracellular Targeting Peptides: Screening Strategies to Eliminate False-Positive Hits

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00022




en

[ASAP] Synthesis and Evaluation of <sup>11</sup>C- and <sup>18</sup>F-Labeled SOAT1 Inhibitors as Macrophage Foam Cell Imaging Agents

ACS Medicinal Chemistry Letters
DOI: 10.1021/acsmedchemlett.0c00127




en

4 Benefits Of Solar LED Lights For Parking Lots

The future is solar LED lights. You will see them in the parking lots and other large areas around a city. They are cheap and save a good deal of money on electricity bills. Nowadays, the majority of parking lots feature the conventional lights that get their power from the grid. These products are not …

The post 4 Benefits Of Solar LED Lights For Parking Lots appeared first on LatestSolarNews.




en

India is planning to achieve 50 GW of prodction from renewbale energy by 2028

India is planning to achieve 50 gigawatt (GW) of production from renewable energy by 2028, in order to get to its goal of 40 per cent of electricity generation from non-fossil fuels by 2030, Ministry of New and Renewable Energy secretary, Anand Kumar said at the India-Norway Business Summit 2019 in New Delhi. Of this …

The post India is planning to achieve 50 GW of prodction from renewbale energy by 2028 appeared first on LatestSolarNews.




en

Spacing elements

So let’s say we have a “bar” with some items inside. Like a header or footer. Let’s also say we want those items to be spaced evenly, meaning they have the same gap everywhere. Shouldn’t be a big problem. Let’s take a look:

1. Margin

We can’t just add margin: 2rem to the elements since there is no margin collapsing on the horizontal axis. And it also doesn’t work when using Flexbox. Leaving a double sized gap in between. Wishing there is something like margin: 2rem collapse; where you can enable/disable it optionally.

See the Pen Spacing elements (no collapsing) by simurai (@simurai) on CodePen.

2. Pseudo classes

Using margin: 2rem 0 2rem 2rem and then a pseudo class like :last-child { margin-right: 2rem } to add the extra margin works as long as you don’t need to hide that element with display: none. Maybe a rare case, but I’ve been running into this issue once in a while. Would be cool if there is something like :last-displayed that would ignore elements that have display:none.

See the Pen Spacing elements (pseudo) by simurai (@simurai) on CodePen.

3. Margin + padding (best)

The easiest way I think, is to add margins to all elements (like in the first example), but then also add the same value as padding to the parent element. Like this:

.Header {
  padding: 1rem;
}
.Header-item {
  margin: 1rem;
}

That way all elements are evenly spaced and you still can use display:none without having to worry about breaking it. A little flaw is that you have to keep the 2 values in sync, but if you’re using a preprocessor, it can just be a single variable. Or maybe you could use REM’s to control it with font-size from the :root.

See the Pen Spacing elements by simurai (@simurai) on CodePen.

Other?

There are more ways but I’m not aware of a simple one that also let’s you use display: none. Let me know otherwise.

Update

A couple more options:

Hmmm.. gotta try some. I kinda like the 3rd one. Keeps it independent from the parent and is not “too” complicated.




en

Nesting Components

Using CSS components is somewhat straightforward. We add the markup and give it the component’s class name and all is good. Where it gets trickier is when we try to nest components. And when they need to be tweaked based on the context. Where should the styles be defined? It’s a question I’ve been asking myself a few times and what this article is trying to explore.

Just to clarify before we start, with “CSS components”, I mean the small building blocks that get used to assemble a website or app. Like buttons, inputs, navs, headers etc. Some also call them modules or patterns. Also I’m using the SUIT naming convention in the examples below, but any other convention would be fine as well. And just a heads, there isn’t some awesome solution at the end that solves all the problems. It’s just me whining most of the time.

Ok, best is to go straight into it and look at an example. Let’s say we have a Header component where we would like to add a Button component inside.

<header class=“Header”>
  <button class=“Button”>Button</button>
</header>

Now because the Button is inside the Header, we want to make the Button a bit smaller than it would be on its own.

Here a few approaches how to do that:

Option 1 - Descendant selector

Maybe the most common way is to use a descendant selector to change the font-size whenever a Button is inside a Header.

.Header .Button {
  font-size: .75em;
}

This works great but the question is, where should this rule be added? We probably split our components into separate files, so is it in header.scss or in button.scss? In other words, should the Header know about what other components might get nested or should the Button know in what environment it will get placed?

But wait, the point of creating components is to separate them, make them modular. Each component should be kept isolated and shouldn’t know about other components. So we can make changes, rename or remove them without having to check if they might get used somewhere else.

Option 2 - Variations

Another way is to create variations. We add a .Button--small class that we can use whenever we would like the button to be smaller without having to worry about ancestors.

.Button--small {
  font-size: .75em;
}
<header class=“Header”>
  <button class=“Button Button--small>Button</button>
</header>

This works great too, but could get out of hand quickly. What do you do if at some point you want the font-size to be .9em? Create yet another variation? Button--justALittleSmaller. As the project keeps growing, the number of variations will too. We will start to loose sight where they actually get used and we’re not sure anymore if we can change a variation or if it will have side effects in some other place. We could create “contextual” variations like Button--header or Button--footer, but then we’re back at the beginning and could just as well use “descendant selectors”.

Same goes for using states. .Button.is-small should only be used if there is a change in state and not to fit a certain context.

Option 3 - Adopted Child

I can’t remember where I read about this approach but somehow it stuck with me. I also forgot how it was called. So for now I’ll just call it “Adopted Child”.

Let’s switch it around and look at it from the Header’s perspective. What would we do if we wouldn’t know what the components are called that might get nested? But we know that we want to make them a bit smaller. Well, we probably would create a generic .Header-item class and use it like this:

.Header-item {
  font-size: .75em;
}
<header class=“Header”>
  <div class=“Header-item”></div>
</header>

Ok, that gets us a bit closer. Now, it’s probably strange saying it like that when talking about CSS, but what would we do if we don’t want to create an own child, but still have one. Right, we could adopt one. In our example we adopt a Button component as our own child. We didn’t create it, but now we can tweak.. erm.. I mean “raise” it like it’s our own:

// born in button.scss
.Button {
  font-size: 1em;
}

// raised in header.css
.Header .Header-item {
  font-size: .75em;
}
<header class=“Header”>
  <button class=“Header-item Button>Button</button>
</header>

It is a bit uncommon that the same HTML element shares classes from two different components. And it’s not without any risks. More about them later. But I really like this approach because it keeps the components independent without having to know about each other.

Another nice thing is that if we want to add other components to the Header that also need the same adjustments, we can reuse the same Header-item class, like for example on a text Input.

<header class=“Header”>
	<input class=“Header-item Input>
  <button class=“Header-item Button>Button</button>
</header>

Ok, about those risks. Well, depending on what properties we wanna change, it might not always be ideal. For example, because the Button already had font-size defined, we had to increase specificity by using .Header .Header-item. But that would also override variations like .Button--small. That might be how we want it, but there are also situations where we’d like the variation to always be “stronger”. An example would be when changing colors. When the color of Buttons should be different inside a Header, but not when its a variation, like .Button—primary. Yeah, we could take a look inside button.scss or our style-guide, but remember our goal.. we actually don’t want to make decisions by looking how other components are made.

So, as a general rule, don’t use “adopted children” for any properties that are theme related and only where you can be sure that you want to override them all the time. Like for layout/size related properties or adjusting the position.

More options?

There are some more ways to do contextual styling that came to mind. I’ll just mention them briefly for completeness, but think the 3 above are better suited.

Option 4 - We could use a preprocessor to extend an existing component. In our example it would be a clone of the Button with some tweaks added and used as a new child component .Header-button. Now we only rely that the Button exists in the source, but don’t have to worry about other contexts. Downside is inflating our CSS output. As well as having to remember lots of new child component classes.

Option 5 - We could create a utility class like .u-small. It’s similar to variations, but not scoped to a single component and could be used for other components as well. And for that reason it becomes very risky to ever change later.

Option 6 - And of course, we could use inline styles. But I would leave that to JavaScript only.


So after all that, which is best? I’m afraid there isn’t a clear winner. It would be nice to keep it consistent with a single approach throughout the entire project, but I guess we just have to decide on a per case basis:

  1. Descendant selectors if we can expect that components don’t change much. Like when using a UI Kit or library.
  2. Variations if it makes sense that a component has different versions that get reused anyways, and not just for a specific context.
  3. Adopted Child for layout, sizing, positioning or where we are sure to always want to override a property. Also for changing multiple child components at once.
  4. Extending when we truly want the components to be separated and don’t mind inflating the CSS output.
  5. Utilities for very specific things, that once the class is defined, it will never change, like clearing floats.
  6. Inline styles if it needs to be dynamically added with JavaScript.

As said at the beginning, I haven’t found a “fits all” solution and maybe the conclusion is: Try to keep contextual styling to a minimum.

Updates

The “Adopted Child” approach is called “Mixes” in BEM. Here some more infos.


SUIT also recommends using “Adopted Child/Mixes”. But also another option:

Option 7 - Adding a wrapper element. It’s the <div class="Excerpt-wrapButton"> in that example. I think it works great in most cases. But for example when using Flexbox, because it has this parent/child relationship, adding an extra wrapper in between would break it. And then you might still need to set the width of the wrapped component to 100% or so. Anyways, this is a great addition. Thanks Pablo in the comments.


Option 8 - Single Purpose Classes. It’s where every class has only a single property. It’s somewhere between utilities (Option 5) and inline styles (Option 6). Atomic CSS and Tachyons use this approach. I haven’t used them on a real project, but just from looking at it, the concerns are similar to the ones from utilities. If you want to change the value in a SP class, it seems unpredictable. Because in another place (where that same class is used), you might want to keep the current value. So you would have to first check if the change has any unwanted effects somewhere else.




en

Unlock Your Team’s Potential With Teamstack

Teamstack is a password manager for your whole team. Running in the cloud it allows you to manage your tools and resources, and seamlessly scale your teams’ access, from a single, easy-to-use control panel. Teamstack is powerful, and secure with multi-factor authentication, single sign-in, SAML and form-based authentication. It works with desktop and mobile apps, […]




en

17 Tools for Effective Customer Engagement

The one thing that every business that offers a service has in common is its customers. It doesn't matter if you are a freelancer with just one client or a small design agency with a few clients, you have to deal with customers on a day to day basis.




en

Email Personalization: Your Secret To Better Engagement

One of the struggles that marketers face is how to send the right message at exactly the right time to target people in a way that will appeal to them. To solve the problem, businesses need to get themselves acquainted with new technologies and the power of personalization. In the past few years, digital marketing […]




en

3 Essential Design Trends, May 2020

The state of the world around us can greatly impact website design. From emotional changes that correlate to the feel of a design to information and data to deliver, the impact of the worldwide COVID-19 pandemic is making its way into projects (intentionally or not). Here’s what’s trending in design this month. 1. “Unbalanced” Use […]




en

Thanks to Covid-19, Website Accessibility Has Never Been More Important

The first global pandemic of the digital era is upon us. We’re living in unprecedented and uncomfortable times. For our senior citizens, these past several weeks have been particularly discomforting. According to the CDC, men and women over the age of 65 are significantly more likely to develop complications from COVID-19. As we seek to […]




en

Women’s squad raises ₹20 lakh

The Indian women’s hockey team’s efforts to crowd-fund support for poor and migrant workers has raised ₹20,01,130 through an 18-day online challenge.T




en

Library of light: encounters with artists and designers / Jo Joelson

Rotch Library - N8219.L5 J64 2019




en

The women of Atelier 17: modernist printmaking in midcentury New York / Christina Weyl

Rotch Library - NE538.N5 W49 2019




en

Mathias Goeritz: modernist art and architecture in Cold War Mexico / Jennifer Josten

Rotch Library - N6559.G64 J67 2018




en

For your pleasure: Johannes Brus, photoworks and sculptures / with an essay by Clément Chéroux

Rotch Library - N6888.B745 A4 2018




en

Bauhaus imaginista: a school in the world / edited by Marion von Osten and Grant Watson

Rotch Library - N332.G33 B42724 2019




en

Anna Maria Maiolino, Entre pausas / texts by Anna Maria Maiolino, Tania Rivera and Randy Kennedy

Rotch Library - NC200.M27 A4 2018




en

The Pre-Raphaelites and science / John Holmes

Hayden Library - NX454.5.P7 H65 2018




en

El nombre de un país / Mariana Telleria ; curadora, Florencia Battiti

Rotch Library - N6488.I8 V433 2019 A7




en

New design, neoplasticism: Nieuwe beelding / Piet Mondrian ; English translation by Harry Holtzman and Martin S. James

Rotch Library - N6948.5.D42 M6613 2019




en

Inventing Boston: design, production, and consumption / Edward S. Cooke, Jr

Rotch Library - NK838.B67 C66 2019




en

The shrinking universe: Ireland at Venice 2019 / Eva Rothschild

Rotch Library - N6488.I8 V433 2019 I73




en

I have forgotten the night / Joël Andrianomearisoa ; curated by Rina Ralay Ranaivo and Emmanuel Daydé

Rotch Library - N6488.I8 V433 2019 M28




en

Failed images: photography and its counter-practices / Ernst van Alphen

Rotch Library - TR183.A47 2018




en

Fields of fungus and sunflowers / [edited and designed by Tammy Nguyen ; contributions by Lovely Umayam and Adriel Luis]

Rotch Library - N7433.35.U6 M37 no.6




en

Altered states: Substanzen in der zeitgenössischen Kunst = substances in contemporary art / herausgegeben von = edited by Milena Mercer ; Texte = texts, Max Daly ... [and thirteen others]

Rotch Library - N8251.S555 A48 2018




en

Women, art and money in late Victorian and Edwardian England: the hustle and the scramble / Maria Quirk

Rotch Library - N8354.Q57 2019




en

The shadow of dream cast upon Giardini della Biennale

Rotch Library - N6488.I8 V433 2019 U38




en

Neuer Norden Zürich: ein Kunstprojekt im öffentlichen Raum, 9. Juni-2. September 2018 = New north Zurich: a public art project, 9th of June-2nd of September 2018 / herausgegeben von Christoph Doswald ; fotografiert von Pierluigi Macor ; Übe

Rotch Library - N6496.3.S9 Z876 2018




en

Fogo Island arts: what do we know? What do we have? What do we miss? What do we love? / Brigitte Oetker, Nicolaus Schafhausen (eds.)

Rotch Library - N6546.N6 F64 2019




en

Scott Vendes's Menice

Rotch Library - N6488.I8 V433 2019 B33




en

Design by accident: for a new history of design / Alexandra Midal

Rotch Library - NK1175.M53 2019




en

Indios antropófagos: a butterfly garden in the (urban) jungle

Rotch Library - N6488.I8 V433 2019 P4




en

Touch me / Johannes Frandsen ; text, Mattias Lundblad

Rotch Library - TR650.F73 2018




en

Raoul de Keyser: oeuvre / editors, Martin Germann and Bernhart Schwenk

Rotch Library - ND673.K396 A4 2019