Blog Rolls

A Military 1st: A Supercarrier Is Named After An African American Sailor

USS Doris Miller will honor a Black Pearl Harbor hero and key figure in the rise of the civil rights movement. Miller, a sharecropper's son from Waco, Texas was just 22 years when he created history.

(Image credit: U.S. Navy photos courtesy of the National Archives)

Categories: Just News

Legal Fight Over Trump's Financial Records Grinds On Even As Tax Details Spill Out

The president is waging multiple court battles to shield his finances from scrutiny, including two cases involving subpoenas issued to his personal accounting firm.

(Image credit: Drew Angerer/Getty Images)

Categories: Just News

Pandemic Threatens Long-Term Job Security After Hospitality Industry Layoffs

Experts say the hotel industry may not return to pre-pandemic levels until 2023. Hospitality workers are bearing the brunt of this long downturn.

(Image credit: Kimberly Paynter/WHYY)

Categories: Just News

More Than 600,000 Child Cases Reported Of COVID-19, But Severe Illness Is 'Rare'

In a survey of data reported by 49 states and four other jurisdictions, the American Academy of Pediatrics said the infection rate for COVID-19 is 829 per 100,000 children in the population.

(Image credit: Elaine Thompson/AP)

Categories: Just News

Evictions Damage Public Health, Which Is Why The CDC Has Banned Them ― For Now

A survey of 17 cities found more than 50,000 pandemic-related eviction filings. Housing advocates worry that increased housing instability will lead to more COVID-19 and other illnesses.

(Image credit: Coburn Dukehart/Wisconsin Watch)

Categories: Just News

Paper – Presidential Control of Elections

Manheim, Lisa Marshall, Presidential Control of Elections (June 1, 2020). Vanderbilt Law Review, Vol. 74, 2021 Forthcoming, Available at SSRN: https://ssrn.com/abstract=3616390 – “In recent decades, Presidents of both political parties have asserted increasingly aggressive forms of influence over the administrative state. During this same period, Congress has expanded the role that the federal government plays in election administration. The convergence of these two trends leads to a troubling but underexamined phenomenon: presidential control of elections. Relying on their official powers, Presidents have the ability to affect the rules that govern elections, including elections meant to check and legitimize presidential powers in the first place. This self-serving arrangement heightens the risk of harms from political entrenchment, subordination of expertise, and disillusionment of the electorate. These harms, in turn, threaten to compromise election outcomes. By extension, they also threaten the electoral connection purportedly underlying the administrative state, and therefore the legitimacy of the work of the modern executive branch. This Article identifies, defines, and examines this phenomenon — presidential control of elections — and explores its broader implications. It demonstrates that, across the executive branch, this phenomenon manifests differently, and sometimes counterintuitively, in ways that tend to track how Congress has structured the relevant grant of power. Three forms dominate, with Presidents influencing election administration primarily through priority setting (for grants of power running through executive agencies), promotion of gridlock (for grants of power running through independent agencies), and idiosyncratic control (for grants of power running directly to the President). This analysis reveals that congressional efforts at insulation at times can backfire, with Presidents able to exercise particularly problematic forms of control over agencies that Congress designed in blunt ways to resist presidential influence. To that end, this Article proposes that Congress and the courts avoid trying to eliminate or otherwise indiscriminately curb presidential control of elections — a quixotic endeavor that would give rise to its own constitutional hurdles and normative harms. Instead, the legislative and judicial branches should identify specific areas where the President’s control over election administration lacks an effective check, and seek to empower other political actors in those spaces. [h/t Mary Whisner]

Categories: Law and Legal

COVID-19 Deaths Top 1 Million. How These 5 Countries Are Driving The Pandemic

Nine months after the first reported fatality in China last January, the world has hit a sobering milestone.

(Image credit: Andre Coelho/Getty Images)

Categories: Just News

Hands On with Lexis+, New Premium Research Service from LexisNexis

Via LLRXHands On with Lexis+, New Premium Research Service from LexisNexisRobert Ambrogi has authored the definitive review of Lexis+. His precise and expert review of the site, accompanied by relevant screen shots, is a must read guide for legal researchers as they consider whether to transition to this new platform. Ambrogi states: “The basic experience of conducting legal research in Lexis+ is not all that different from Lexis Advance. But the added features that I described above — Search Tree, Missing and Must Include, Search Term Maps, and Ravel View — are valuable in that they give researchers more control over their searches and results without requiring them to be power researchers.”

Categories: Law and Legal

Officer Indicted In Breonna Taylor Case Pleads Not Guilty

Brett Hankison, the former Louisville Police Department detective, has pleaded not guilty to all three counts of wanton endangerment against him, his attorney said on Monday.

(Image credit: AP)

Categories: Just News

How to Identify a Phishing Attempt and Thwart It

Via LLRXHow to Identify a Phishing Attempt and Thwart It – There has been a huge surge in phishing attacks and swindles during the COVID-19 pandemic as more people are working remotely. The attacks and scams have been perpetrated against businesses and individuals alike. Catherine Sanders Reach talks about the increased importance for lawyers and their teams in the office or working from home to understand the threats, and how to actively engage in efforts to reduce both individual and enterprise wide exposure.

Categories: Law and Legal

Texas Sheriff Charged With Destroying Evidence In Officer-Related Death

A grand jury has indicted Sheriff Robert Chody with intentionally destroying or concealing video and audio recordings of the encounter involving a Black man who died in police custody last year.

(Image credit: AP)

Categories: Just News

Many Arkansas Teachers Refuse In-Person Classes Amid COVID-19 Concerns

Citing a lack of adherence to guidelines, teachers in Little Rock, Arkansas, have refused to teach in-person classes. The district is considering firing them.

Categories: Just News

Creating a JavaScript promise from scratch, Part 2: Resolving to a promise

In my first post of this series, I explained how the Promise constructor works by recreating it as the Pledge constructor. I noted in that post that there is nothing asynchronous about the constructor, and that all of the asynchronous operations happen later. In this post, I’ll cover how to resolve one promise to another promise, which will trigger asynchronous operations.

As a reminder, this series is based on my promise library, Pledge. You can view and download all of the source code from GitHub.

Jobs and microtasks

Before getting into the implementation, it’s helpful to talk about the mechanics of asynchronous operations in promises. Asynchronous promise operations are defined in ECMA-262 as jobs1:

A Job is an abstract closure with no parameters that initiates an ECMAScript computation when no other ECMAScript computation is currently in progress.

Put in simpler language, the specification says that a job is a function that executes when no other function is executing. But it’s the specifics of this process that are interesting. Here’s what the specification says1:

  • At some future point in time, when there is no running execution context and the execution context stack is empty, the implementation must:
    1. Push an execution context onto the execution context stack.
    2. Perform any implementation-defined preparation steps.
    3. Call the abstract closure.
    4. Perform any implementation-defined cleanup steps.
    5. Pop the previously-pushed execution context from the execution context stack.> > * Only one Job may be actively undergoing evaluation at any point in time.
  • Once evaluation of a Job starts, it must run to completion before evaluation of any other Job starts.
  • The abstract closure must return a normal completion, implementing its own handling of errors.

It’s easiest to think through this process by using an example. Suppose you have set up an onclick event handler on a button in a web page. When you click the button, a new execution context is pushed onto the execution context stack in order to run the event handler. Once the event handler has finished executing, the execution context is popped off the stack and the stack is now empty. This is the time when jobs are executed, before yielding back to the event loop that is waiting for more JavaScript to run.

In JavaScript engines, the button’s event handler is considered a task while a job is a considered a microtask. Any microtasks that are queued during a task are executed in the order in which they were queued immediately after the task completes. Fortunately for you and I, browsers, Node.js, and Deno have the queueMicrotask() function that implements the queueing of microtasks.

The queueMicrotask() function is defined in the HTML specification2 and accepts a single argument, which is the function to call as a microtask. For example:

queueMicrotask(() => { console.log("Hi"); });

This example will output "Hi" to the console once the current task has completed. Keep in mind that microtasks will always execute before timers, which are created using either setTimeout() or setInterval(). Timers are implemented using tasks, not microtasks, and so will yield back to the event loop before they execute their tasks.

To make the code in Pledge look for like the specification, I’ve defined a hostEnqueuePledgeJob() function that simple calls queueMicrotask():

export function hostEnqueuePledgeJob(job) { queueMicrotask(job); } The NewPromiseResolveThenJob job

In my previous post, I stopped short of showing how to resolve a promise when another promise was passed to resolve. As opposed to non-thenable values, calling resolve with another promise means the first promise cannot be resolved until the second promise has been resolved, and to do that, you need NewPromiseResolveThenableJob().

The NewPromiseResolveThenableJob() accepts three arguments: the promise to resolve, the thenable that was passed to resolve, and the then() function to call. The job then attaches the resolve and reject functions for promise to resolve to the thenable’s then() method while catching any potential errors that might occur.

To implement NewPromiseResolveThenableJob(), I decided to use a class with a constructor that returns a function. This looks a little strange but will allow the code to look like you are creating a new job using the new operator instead of creating a function whose name begins with new (which I find strange). Here’s my implementation:

export class PledgeResolveThenableJob { constructor(pledgeToResolve, thenable, then) { return () => { const { resolve, reject } = createResolvingFunctions(pledgeToResolve); try { // same as thenable.then(resolve, reject) then.apply(thenable, [resolve, reject]); } catch (thenError) { // same as reject(thenError) reject.apply(undefined, [thenError]); } }; } }

You’ll note the use of createResolvingFunctions(), which was also used in the Pledge constructor. The call here creates a new set of resolve and reject functions that are separate from the original ones used inside of the constructor. Then, an attempt is made to attach those functions as fulfillment and rejection handlers on the thenable. The code looks a bit weird because I tried to make it look as close to the spec as possible, but really all it’s doing is thenable.then(resolve, reject). That code is wrapped in a try-catch just in case there’s an error that needs to be caught and passed to the reject function. Once again, the code looks a bit more complicated as I tried to capture the spirit of the specification, but ultimately all it’s doing is reject(thenError).

Now you can go back and complete the definition of the resolve function inside of createResolvingFunctions() to trigger a PledgeResolveThenableJob as the last step:

export function createResolvingFunctions(pledge) { const alreadyResolved = { value: false }; const resolve = resolution => { if (alreadyResolved.value) { return; } alreadyResolved.value = true; // can't resolve to the same pledge if (Object.is(resolution, pledge)) { const selfResolutionError = new TypeError("Cannot resolve to self."); return rejectPledge(pledge, selfResolutionError); } // non-objects fulfill immediately if (!isObject(resolution)) { return fulfillPledge(pledge, resolution); } let thenAction; try { thenAction = resolution.then; } catch (thenError) { return rejectPledge(pledge, thenError); } // if the thenAction isn't callable then fulfill the pledge if (!isCallable(thenAction)) { return fulfillPledge(pledge, resolution); } /* * If `thenAction` is callable, then we need to wait for the thenable * to resolve before we can resolve this pledge. */ const job = new PledgeResolveThenableJob(pledge, resolution, thenAction); hostEnqueuePledgeJob(job); }; // attach the record of resolution and the original pledge resolve.alreadyResolved = alreadyResolved; resolve.pledge = pledge; // reject function omitted for ease of reading return { resolve, reject }; }

If resolution is a thenable, then the PledgeResolveThenableJob is created and queued. That’s important, because anything a thenable is passed to resolve, it means that the promise isn’t resolved synchronously and you must wait for at least one microtask to complete.

Wrapping Up

The most important concept to grasp in this post is how jobs work and how they relate to microtasks in JavaScript runtimes. Jobs are a central part of promise functionality and in this post you learned how to use a job to resolve a promise to another promise. With that background, you’re ready to move into implementing then(), catch(), and finally(), all of which rely on the same type of job to trigger their handlers. That’s coming up in the next post in this series.

Remember: All of this code is available in the Pledge on GitHub. I hope you’ll download it and try it out to get a better understanding of promises.

References
  1. Jobs and Host Operations to Enqueue Jobs  ↩2

  2. Microtask queueing 

Categories: Tech-n-law-ogy

How to deal with Google’s and YouTube’s aggressive popups

ghacks.net: “When you visit Google’s main website for the first time, or after clearing cookies, you get a “before you continue” popup. On YouTube, another Google property, you will get a “sign in to YouTube” popup instead. You need to click on “I agree” on Google’s site or “no thanks” on YouTube to get rid of these popups and start using the sites. Problem is: if you clear cookies regularly, you will get these prompts again. It can be quite annoying to deal with these popups each time, e.g. to inform YouTube for the hundredth time that you don’t want to sign-in to the site. You have a handful of options at your disposal to deal with this. One of the easier ones is to use a different search engine and site, without losing access to Google search results or YouTube videos…”

Categories: Law and Legal

'Unprecedented' Wildfire Season Threatens California's Wine Region

The fires, which have scorched nearly 6,000 square miles in California, now threaten to tear through communities in the state's picturesque wine country, forcing thousands to evacuate.

(Image credit: Bloomberg/Bloomberg via Getty Images)

Categories: Just News

Massive genetic study shows coronavirus mutating and potentially evolving amid rapid U.S. spread

Washington Post – “The largest U.S. genetic study of the virus, conducted in Houston, shows one viral strain outdistancing all of its competitors, and many potentially important mutations. Scientists in Houston on Wednesday released a study of more than 5,000 genetic sequences of the coronavirus that reveals the virus’s continual accumulation of mutations, one of which may have made it more contagious. The new report, however, did not find that these mutations have made the virus deadlier or changed clinical outcomes. All viruses accumulate genetic mutations, and most are insignificant, scientists say. Coronaviruses such as SARS-CoV-2 are relatively stable as viruses go, because they have a proofreading mechanism as they replicate. But every mutation is a roll of the dice, and with transmission so widespread in the United States  – which continues to see tens of thousands of new, confirmed infections daily –  the virus has had abundant opportunities to change, potentially with troublesome consequences, said study author James Musser of Houston Methodist Hospital…”

Categories: Law and Legal

Can fake news really change behaviour? Evidence from a study of COVID-19 misinformation.

Greene, Ciara, and Gillian Murphy. “Can Fake News Really Change Behaviour? Evidence from a Study of COVID-19 Misinformation.” PsyArXiv, 24 July 2020. Web. “Previous research has argued that fake news may have grave consequences for health behaviour, but surprisingly, no empirical data have been provided to support this assumption. This issue takes on new urgency in the context of the coronavirus pandemic. In this large preregistered study (N = 3746) we investigated the effect of exposure to fabricated news stories about COVID-19 on related behavioural intentions. We observed small but measurable effects on some related behavioural intentions but not others – for example, participants who read a story about problems with a forthcoming contact-tracing app reported reduced willingness to download the app. We found no effects of providing a general warning about the dangers of online misinformation on response to the fake stories, regardless of the framing of the warning in positive or negative terms. We conclude with a call for more empirical research on the real-world consequences of fake news.”

Categories: Law and Legal

Supreme Court Appointment Process: President’s Selection of a Nominee

CRS report via LC – Supreme Court Appointment Process: President’s Selection of a Nominee, Updated September 28, 2020: “The appointment of a Supreme Court Justice is an event of major significance in American politics. Each appointment is of consequence because of the enormous judicial power the Supreme Court exercises as the highest appellate court in the federal judiciary. Appointments are usually infrequent, as a vacancy on the nine-member Court may occur only once or twice, or never at all, during a particular President’s years in office. Under the Constitution, Justices on the Supreme Court receive what can amount to lifetime appointments which, by constitutional design, helps ensure the Court’s independence from the President and Congress…”

Additionally, over more than two centuries, a recurring theme in the Supreme Court appointment process has been the assumed need for professional excellence in a nominee. During recent presidencies, nominees have at the time of nomination, most often, served as U.S. appellate court judges. The integrity and impartiality of an individual have also been important criteria for a President when selecting a nominee for the Court…”

Categories: Law and Legal

Google Scholar, Microsoft Academic, Scopus, Dimensions, Web of Science, and OpenCitations’ COCI: a multidisciplinary comparison of coverage via citations

Martín-Martín, A., Thelwall, M., Orduna-Malea, E., & Delgado López-Cózar, E. (in press). Google Scholar, Microsoft Academic, Scopus, Dimensions, Web of Science, and OpenCitations’ COCI: a multidisciplinary comparison of coverage via citations. Scientometrics, https://doi.org/10.1007/s1119 – “New sources of citation data have recently become available, such as Microsoft Academic, Dimensions, and the OpenCitations Index of CrossRef open DOI-to-DOI citations (COCI). Although these have been compared to the Web of Science (WoS), Scopus, or Google Scholar, there is no systematic evidence of their differences across subject categories. In response, this paper investigates 3,073,351 citations found by these six data sources to 2,515 English-language highly-cited documents published in 2006 from 252 subject categories, expanding and updating the largest previous study. Google Scholar found 88% of all citations, many of which were not found by the other sources, and nearly all citations found by the remaining sources (89%-94%). A similar pattern held within most subject categories. Microsoft Academic is the second largest overall (60% of all citations), including 82% of Scopus citations and 86% of Web of Science citations. In most categories, Microsoft Academic found more citations than Scopus and WoS (182 and 223 subject categories, respectively), but had coverage gaps in some areas, such as Physics and some Humanities categories. After Scopus, Dimensions is fourth largest (54% of all citations), including 84% of Scopus citations and 88% of WoS citations. It found more citations than Scopus in 36 categories, more than WoS in 185, and displays some coverage gaps, especially in the Humanities. Following WoS, COCI is the smallest, with 28% of all citations. Google Scholar is still the most comprehensive source. In many subject categories Microsoft Academic and Dimensions are good alternatives to Scopus and WoS in terms of coverage.”

Categories: Law and Legal

Many Americans Get News on YouTube

“Where News Organizations and Independent Producers Thrive Side by Side – Americans are as likely to often turn to independent channels as they are to established news organization channels; videos from independent news producers are more likely to cover subjects negatively, discuss conspiracy theories Most Americans use YouTube, the massive, Google-owned video-sharing website where users can find and watch content on almost anything, from dancing cats to popular music to instructions on how to build a house. YouTube also has become an important source of news for many Americans. About a quarter of all U.S. adults (26%) say they get news on YouTube. And while relatively few of these people say it is their primary news source, most say it is an important way they stay informed. This raises the question: What kind of news are Americans getting on YouTube, and who are they getting it from? A new Pew Research Center study explores these questions in two ways: through a survey, conducted Jan. 6-20, 2020, among 12,638 U.S. adults that asked YouTube news consumers about their experiences on the website; and through an analysis of the most popular YouTube news channels and the contents of the videos published by a subset of these channels in December 2019. For the content analysis, researchers used a combination of computational methods and trained human coders to identify the most popular YouTube news channels and comb through thousands of hours of videos looking for their topic, tone and other attributes…”

Categories: Law and Legal

Pages

Subscribe to www.dgbutterworth.com aggregator