Wednesday, June 30, 2021

eSafety says tweeting commisioner will not qualify as a formal Online Safety Act request

Australian eSafety Commissioner Julie Inman Grant is set to receive sweeping new powers in early 2022 as part of the Online Safety Act that passed Parliament last month. Among other things, the new Act extends the Commissioner's cyber takedown function to adults, giving the commissioner the power to issue takedown notices directly to the services hosting the content and end users responsible for the abusive content.

The new powers have been labelled as overbearing. As one Twitter user put it, the Commissioner is imminently receiving the "master on/off switch to the internet". Of concern to many is that it is not yet known what the test or criteria will be for determining if content warrants removal. There is much to take into account, especially when much of "Australian culture" includes the use of a curse word as a term of endearment; that tone, for example, can be hard to ascertain from a character-limited post.  

The Act will formalise a voluntary scheme that eSafety has in place. The agency has received 3,600 adult cyber abuse-related requests since it began taking them informally in 2017. Only 72 of them, however, were considered by eSafety to be reaching its existing threshold for "real harm". One of them, Inman Grant told the Senate in May, was "horrific", and a few of them involved domestic violence and stalking.  

This week, Inman Grant found herself amid a Twitter dispute when she stepped in to offer advice to an individual who explicitly tagged her for help. The incumbent eSafety Commissioner then allegedly blocked another individual who claimed they were simply disagreeing with the first individual's vaccination opinions.

"Part of eSafety's role is to provide education, support, and advice. We frequently offer information to those in distress -- including offering advice about using the reporting tools available on the platforms," an eSafety spokesperson told ZDNet.

"Although we don't yet have laws in place that allow us to deal with serious adult cyber abuse, currently we can help informally by providing support and guidance on what to do."

The eSafety spokesperson did not respond to questions, however, on whether a banhammer would be waved in a short amount of time when the scheme is formalised.

"In this case, the eSafety Commissioner was tweeted at by a person in distress, and the Commissioner provided our standard advice, including encouraging people to report an issue to the platform in the first instance," they said. 

"This information is also available on the eSafety website, and advice that Twitter provides through its safety centre. This advice did not involve use of the Commissioner's powers, as tweeting at us (as described above) does not constitute a report that enlivens our powers."

The spokesperson then reiterated the office would take its obligations seriously under the Act and said the new laws would be critical in helping more Australians who are experiencing online harm. 

They also said the complaints mechanism for reporting adult cyber abuse would be robust and that a simple tag of eSafety or the eSafety Commissioner in posts or comments on social media would not be treated as a formal report, as per its current practice.

MORE ONLINE SAFETY ACT

AI bias and discrimination aplenty: Australian Greens want Online Safety Bill repealed

Australian Greens have put forward an amendment that seeks to withdraw the Bill and have it re-drafted to address its rushed nature.

Protecting women in the cloud: eSafety hopes the Online Safety Act will do just that

The commissioner said a lot of online abuse is rooted in misogyny and intended to silence women's voices. She hopes the new Online Safety Act will go some way to prevent such abuse.

Australia's eSafety and the uphill battle of regulating the ever-changing online realm

The eSafety Commissioner has defended the Online Safety Act, saying it's about protecting the vulnerable and holding the social media platforms accountable for offering a safe product, much the same way as car manufacturers and food producers are in the offline world.



from Latest Topic for ZDNet in... https://ift.tt/3hrcU7Q

Mass Observation Project: recording everyday life in Britain

Drawing of an Observer's home taken from the MOPThe Mass Observation Project (MOP) is a unique national life writing project about everyday life in Britain, capturing the experiences, thoughts and opinions of everyday people in the 21st century.

Launched in 1981, the project continues to commission new research and is a valuable resource for research, teaching and learning.  It is one of the major repositories of longitudinal qualitative social data in the UK.

New Research: Directives

Each year the project issues three 'Directives' (open questionnaires) to a panel of hundreds of volunteer writers nationally (known as 'Observers'). The Archive collates the responses and makes them available for research. Visit our collection pages to find out more about the collection and how to access it at The Keep.

It differs from other similar social investigations because of its historical link to the original Mass Observation movement and because of its focus on voluntary, self-motivated participation. The 'Observers' do not constitute a statistically representative sample of the population but can be seen as reporters or “citizen journalists” who provide a window on their world.

Database

You can also access information about the Mass Observation Project Panel on this database, which contains information about the biographical/demographic characteristics and writing behaviours of individual Mass Observation Project writers.

Collaborating on research

Researchers across a wide range of disciplines collaborate with us by commissioning their own Directive. Find out more about collaborating with Mass Observation on a Directive.

The Directive themes need to have some relevance to everyone who writes and we are therefore careful to maintain a balance between subjects such as:

- personal (Sex, The Home, Doing a Job)
- political (The General Election, Civil Disobedience, The Scottish Referendum)
- historical (The First World War, Doing Family History Research)

Funding

In order to sustain the Mass Observation Project and continue to create valuable research opportunities, generating funding is core to our activities. A fee is therefore charged to those who collaborate on the production of a Mass Observation Directive to support project costs. Find out more about this here



from Hacker News https://ift.tt/3x60E3j

Download Speeds: What Do 2G, 3G, 4G and 5G Mean

You can access the internet on your smartphone using either a 2G, 3G, 4G or 5G connection. Find out how download speeds compare.

When it comes to mobile internet download speeds, terms like 2G, 3G, 4G and 5G are often used. Referring to four different generations of mobile technology, each of them gives a very different download speed.

Older 2G connections give a download speed of around 0.1Mbit/s, with this rising to around 8Mbit/s on the most advanced 3G networks. Speeds of around 60Mbit/s are available on 4G mobile networks in the UK (but this can be substantially higher in other countries like the US). Next-generation 5G mobile networks are targeting a download speed of over 1,000Mbit/s (1Gbit/s).

In this article, we take an in-depth look into the topic of download speeds and see how 2G, 3G, 4G and 5G mobile networks compare. We’ll also consider the real-world speeds and how they’ll impact upon your actual day-to-day usage.

What is Download Speed?

The “download speed” is a measure of the rate at which data can be transferred from the internet to your smartphone. This data might be a web page or a photo you’re viewing, or it could be an application or video you’re downloading to your smartphone.

In its rawest form, download speeds are measured in “bits per second” (bps) where a “bit” is a one or zero in binary. More commonly, however, we talk about download speeds in “megabits per second” (Mbit/s), where 1 Megabit is equal to 1,000,000 bits.

In general, a faster download speed normally mean that content from the internet loads faster and with less of a wait. A faster download speed also supports higher-quality streaming (e.g. you might be able to watch higher definition video as it downloads without encountering buffering). Download speeds aren’t the full picture however: there is also the related concept of latency (discussed below) that affects the responsiveness of your internet.

2G, 3G, 4G & 5G Download Speeds

The following table shows a comparison of download speeds on various flavours of 2G, 3G, 4G and 5G mobile networks. The icon column refers to what you’ll most likely see in the notification bar of your smartphone when using one of these networks.

Generation Icon Technology Maximum Download Speed Typical Download Speed
2G

G

GPRS 0.1Mbit/s <0.1Mbit/s

E

EDGE 0.3Mbit/s 0.1Mbit/s
3G

3G

3G (Basic) 0.3Mbit/s 0.1Mbit/s

H

HSPA 7.2Mbit/s 1.5Mbit/s

H+

HSPA+ 21Mbit/s 4Mbit/s

H+

DC-HSPA+ 42Mbit/s 8Mbit/s
4G

4G

LTE Category 4 150Mbit/s 15Mbit/s
4G+

4G+

LTE-Advanced Cat6 300Mbit/s 30Mbit/s

4G+

LTE-Advanced Cat9 450Mbit/s 45Mbit/s

4G+

LTE-Advanced Cat12 600Mbit/s 60Mbit/s

4G+

LTE-Advanced Cat16 979Mbit/s 90Mbit/s
5G

5G

5G 1,000-10,000Mbit/s
(1-10Gbit/s)
150-200Mbit/s

Our table provides two different download speeds. The first is the theoretical “maximum download speed”. This is based on the limits of the technology, assuming you had perfect coverage and no congestion on the masts. We’ve also listed a more “typical download speed” which is more representative of what you’d actually experience on a day-to-day basis.

The actual download speeds you get will depend on a number of factors such as your location, whether you are indoors or outdoors, the distance to nearby masts and the amount of congestion on them. You can measure the actual download speed of your connection using tools like Google’s Speed Test, Netflix’s Fast.com or Ookla’s SpeedTest.net.

Which Technologies Can I Access?

The latest iPhone supports Category 16 LTE-Advanced.

In order to access a certain technology, you’ll need both a mobile phone and a mobile network that supports it. For instance, if you wanted to access Category 6 LTE-Advanced, you’ll need a mobile phone that supports it and a mobile network that has coverage in your area.

Most modern smartphones now support 4G technology, but they often differ in the maximum download speeds supported, or the maximum “category” of LTE they support. Some of the latest flagship smartphones like the iPhone XS and Galaxy S9 now support up to Category 16 LTE-Advanced.

Mobile networks will also differ in terms of the maximum download speeds and coverage they offer. In the UK, it’s possible to get up to Category 9 speeds on EE and Vodafone (up to 450Mbit/s), and up to Category 6 speeds on O2 and Three (up to 300Mbit/s) at the time of writing. In other countries, however, it often looks quite different. For instance, in the United States, it’s possible to get up to Category 16 speeds (up to 979Mbit/s) on all of the major mobile networks including AT&T, Sprint, T-Mobile and Verizon.

Impact on Download Times & Streaming

The following table shows how expected download times compare across the different technologies:

Activity 4G Download Time 3G Download Time 2G Download Time
Accessing typical web page 0.5 seconds 4 seconds 3 minutes
Sending an e-mail without attachments <0.1 seconds <0.1 seconds 1 second
Downloading high-quality photograph 0.5 seconds 4 seconds 3 minutes
Downloading an music track (MP3) 3 seconds 10 seconds 7 minutes
Downloading an application 8 seconds 1 minute 40 minutes

For this comparison table, we have used the average download speeds of 30Mbit/s (4G LTE Cat6), 4Mbit/s (3G HSPA+) and 0.1Mbit/s (2G EDGE). Typical file sizes used in our calculations: 2MB for a webpage, 10KB for a basic e-mail, 2MB for a high-quality photograph, 5MB for a music track and 30MB for a typical application download.

We haven’t listed 5G download times in the table above but it’s safe to say they would all download near instantaneously!

Streaming Applications

Netflix is a video streaming application.

When it comes to certain applications that “stream” data, your connection will need to support a minimum download speed. This is because content from the internet is being shown on your phone at the same time as whilst you’re downloading it (a concept commonly known as “streaming”). If the content can’t be downloaded at a sufficient speed, you’ll experience pauses during playback (also known as “buffering”).

Applications that make use of streaming include voice over IP (e.g. calling via Skype or WhatsApp), online video apps (e.g. Netflix and YouTube) and online radio. The following table shows minimum download speeds you would require for this content to play smoothly without buffering:

Activity Required Download Speed
Skype/WhatsApp phone call 0.1Mbit/s
Skype video call 0.5Mbit/s
Skype video call (HD) 1.5Mbit/s
Listening to online radio 0.2Mbit/s
Watching YouTube videos (basic quality) 0.5Mbit/s
Watching YouTube videos (720p HD quality) 2.5Mbit/s
Watching YouTube videos (1080p HD quality) 4Mbit/s
Watching iPlayer/Netflix (standard definition) 1.5Mbit/s
Watching iPlayer/Netflix (high definition) 5Mbit/s
Watching iPlayer/Netflix (4K UHD) 25Mbit/s

A 3G connection or better should normally be able to sustain most of these activities. Having a faster 4G connection may also allow you to stream higher quality content (e.g. watching Netflix in 4K Ultra HD quality).

Latency

Besides download speed, latency is another really important concept that affects the experience you’ll get on your smartphone. It’s also known as the “lag” or “ping” if you’re familiar with online gaming.

When your mobile phone wants to download some content from the internet, there is an initial delay before the server on the other end starts to respond. Only once the server has responded, it will then be possible for the download to progress. For example, if it takes 0.5 seconds for the server to initially respond and then 1 second for the file to download, you’ll need to wait a total of 1.5 seconds for the download to complete.

High latency connections can cause web pages to load slowly, and can also affect the experience in applications that require real-time connectivity (e.g. voice calling, video calling and gaming applications).

Across 2G, 3G, 4G and 5G technologies, there’s a major difference in the latency you can expect:

Generation Typical Latency
2G 500ms (0.5 seconds)
3G 100ms (0.1 seconds)
4G 50ms (0.05 seconds)
5G 1ms (0.001 seconds)*

* The target latency of a 5G connection is 1ms (theoretical). Other figures are based on real-world usage.

Many people argue that the benefits of 5G are more from having reduced latency and increased capacity rather than having faster download speeds. This is because the download speeds available on 4G are already fast enough for most uses (e.g. 5Mbit/s is already more than enough for high-definition video). However, despite faster download speeds not making a huge difference here, the reduction in latency from 5G technology will help overall response time.

The reduced latency of 5G technology is particularly important for some of the newer embedded applications of mobile technology. For instance, a connected car travelling on the motorway at 70mph (110km/h) would travel almost 2 meters in the amount of time it takes for a 4G mobile network to respond. The lower latency of a 5G connection will allow mobile technology to be used more safely in cars.

Download Speeds & Download Limits

Download speeds shouldn’t directly affect how much data you consume. This is because the web pages you visit and the files you download are still the same size (and hence will consume the same amount of data) regardless of which connection type you have. There are, however, two key exceptions to this:

  1. Adaptive Streaming on Videos. Some video providers (e.g. YouTube and Netflix) automatically adjust the quality of videos depending on what your connection can handle. For instance, you might receive standard-definition video on a 3G connection and high-definition video on a 4G or 5G connection. This may increase the amount of data you consume as you move to a faster connection.
  2. Increased Engagement. The increased download speed and improved experience of a faster internet connection may encourage you to consume more content and to use your phone more regularly on-the-go.

For both of these reasons, we’d typically advise choosing a larger data allowance when moving to mobile network or tariff offering faster download speeds.

Terminology

Kbit/s, Mbit/s, Gbit/s

There are 1,000 kilobits in a megabit (1000kbit = 1Mbit) and 1,000 megabits in a gigabit (1,000Mbit = 1Gbit). This means a 1Mbit/s connection is twice as fast as a 500kbit/s connection. Wikipedia has a full explanation.

In everyday life, it is most useful to talk about download speeds in megabits per second (Mbit/s). 2G connections are sometimes specified in kbit/s (e.g. the maximum download speed for GPRS is 80kbit/s). Similarly, 5G connections are sometimes specified in Gbit/s (e.g. the target download speed for 5G technology is 1-10Gbit/s). For ease of comparison, we have converted these measurements to be in the common unit of Mbit/s.

Mbit/s vs Mbps

There’s no difference between Mbit/s and Mbps: they’re just two different ways of abbreviating “megabits per second”. At Ken’s Tech Tips, we prefer to use the term Mbit/s as we believe it ensures a little more clarity. The alternative abbreviation, Mbps, is often confused with “megabytes per second”.

It’s important to draw the distinction between bits and bytes. Whilst download speeds are normally measured in “megabits per second” (Mbit/s), download limits and download sizes are measured in megabytes (MB). As there are 8 bits in one byte (and hence 8 megabits in one megabyte), it would actually take you 8 seconds to download a 1MB file on a 1Mbit/s connection.

5G Wi-Fi

The term “5G Wi-Fi” is often confused for 5G mobile technology. In fact, the “5G” actually stands for 5GHz and relates to the frequencies used by the wi-fi network to communicate with your device (traditionally, wi-fi networks have used the spectrum around 2.4GHz).

As the “5G” in “5G Wi-Fi” has no relation to download speeds, it’s recommended that this technology is now referred to as Wi-Fi 5 or 802.11ac to reduce confusion.

More Information

For more information, please consult your mobile network’s website for details about the download speeds and coverage they’re able to offer. If you’re in the UK, please see the EE, O2, Three and Vodafone websites.



from Hacker News https://ift.tt/32Ixb27

Gap to go completely online, closing 81 stores in UK and Ireland

Gap blamed what it described as market dynamics - in other words, the huge shift to internet shopping. It's going online-only, just like Debenhams and Sir Philip Green's Arcadia group. It's yet another famous name bidding a retreat from our High Streets, adding to the challenge of what to do with empty shops.



from Hacker News https://ift.tt/3w6gqdd

Alcohol, health, and the ruthless logic of the Asian flush

Say you’re an evil scientist. One day at work you discover a protein that crosses the blood-brain barrier and causes crippling migraine headaches if someone’s attention drifts while driving. Despite being evil, you’re a loving parent with a kid learning to drive. Like everyone else, your kid is completely addicted to their phone, and keep refreshing their feeds while driving. Your suggestions that the latest squirrel memes be enjoyed later at home are repeatedly rejected.

Then you realize: You could just sneak into your kid’s room at night, anesthetize them, and bring them to your lair! One of your goons could then extract their bone marrow and use CRISPR to recode the stem-cells for an enzyme to make the migraine protein. Sure, the headache itself might distract them, but they’ll probably just stop using their phone while driving. Wouldn’t you be at least tempted?

This is an analogy for something about alcoholism, East Asians, Odysseus, evolution, tension between different kinds of freedoms, and an idea I thought was good but apparently isn’t.

It’s not good to drink too much

This is a surprise to no one, but let’s look at some numbers. Here’s data from a meta review on the relative risk of various health conditions as a function of the number of US standard drinks (14g of alcohol) someone has in a day:

risk of various health issues vs. number of drinks

The three small dots show that having 10 drinks a day associated with a 9x risk of getting lip/oral cancer, a 3x risk of epilepsy, and a 1.5x risk of diabetes, as compared with not drinking at all. These are all associations, controlling only for age, sex, and drinking history. This makes the little dip around 1-2 drinks for heart disease and diabetes controversial. Still, the causal link is pretty clear in many cases, and for our purposes, all that matters is that heavy drinking is not good.

But who averages 10 drinks per day, you ask? The answer is an astonishing number of people. Half of Americans drink almost nothing, but the top 10% average more than 10 drinks per day. They’re responsible for around 75% of all alcohol consumption.

Some East Asians struggle with alcohol

Humans metabolize alcohol in various ways. The “normal” way is that an ADH enzyme converts alcohol to acetaldehyde after which an ALDH enzyme breaks the acetaldehyde down into acetate. Eventually the acetate is broken down into water and carbon dioxide. The intermediate product (acetaldehyde) is highly toxic and carcinogenic, while acetate is much less active. It appears that ethanol itself isn’t carcinogenic, but acetaldehyde is.

But guess what: Around 80% of East Asians have a variant of ADH (ADH1B or ADH1C) that converts alcohol to acetaldehyde more quickly. Also, around 50% of East Asians have a variant ALDH isoenzyme (ALDH2*2) that is much less effective. Both of these mean that acetaldehyde tends to accumulate, leading to a “flush” reaction.

Kang et al. (2014), recruited a bunch of healthy 20-something male Koreans. Here is the peak acetaldehyde concentration (ng/ml) of people with different genes after consuming 0.25 g/kg of ethanol (around 1.25 standard drinks for someone who weighs 70 kg / 154 lb.)

ALDH \ ADH half variant full variant
standard 167.9 190.1
full variant 736.6 1,613.6

The variant enzymes lead to much higher peak concentrations. Remember, we have two copies of every gene, one from mom and one from dad. The middle column shows people with one copy of the ADH1B variant that produces acetaldehyde faster, while the right column shows people with two copies. This doesn’t even include people with zero copies of the ADH1B variant, presumably because they couldn’t find enough of them. The top row shows people with the standard ALDH2 enzyme, the bottom row with the East Asian variant. This is dominant so you don’t have to worry about half-effects.

It’s likely that having these variant enzymes means that if you do drink, alcohol causes more problems. This is hard to study since you can’t do randomized tests and people with the mutation drink less, but there’s pretty strong evidence of this in humans for esophageal cancer. In mice, removing the ALDH enzyme greatly increases the DNA damage that alcohol causes to the stomach.

Those East Asians drink less

Now, why do East Asians have these genetic variants? I long assumed that this is because other people had a longer tradition of drinking alcohol, and so had evolved to do it painlessly. This is totally incorrect.

Let’s back up. When Homo Sapiens left Africa, these variants basically didn’t exist. We evolved to be able to consume alcohol, probably because we’re fond of not starving to death. (If rotting fruit is the only source of calories, it’s better if you can eat it without getting incapacitated.) Rather, the genes for these variant enzymes probably arose in China.

Alcoholic beverage production started early in China. It’s hard to say exactly when, since it pre-dates recorded history, but 9000 years old Chinese pottery already has residues of early beers. Alcohol production in Egypt seems to have started around 5000 years ago, and in Europe around 4000 years ago.

So, China is where alcohol first became common. China is also where genes that make alcohol consumption difficult first became common. Why would such “defective” genes arise in the place where alcohol has been around the longest?

The simplest explanation is that these genes are adaptive. It’s obvious in retrospect: Humans are prone to alcoholism. Alcoholics tend to get sick, commit suicide, and have accidents, all of which interfere with the business of having and raising kids.

A study in Taiwan found that 48% of the control population had a copy of the (dominant) ALDH2*2 mutation that slows the breakdown of acetaldehyde, but only 12% of alcoholics. Similarly, 93% had at least one copy of the ADH1B gene that speeds acetaldehyde production, compared to 64% of alcoholics. Other studies (Muramatsu et al. 1995, Hurley and Edenberg, 2012, Bierut et al., 2012) confirm the same basic picture, which is that these genes reduce alcoholism.

If these genes really are an adaptation, it shows how ruthless evolution can be. If you implanted a device in your kid that mildly poisoned them every time they drank, you’d be a monster. But evolution basically did that.

Constraints are sometimes a kind of freedom

No one cares about my freedom to rob convenience stores or burn down public buildings. We all understand that different people’s freedoms are in conflict, and we’ve invented things like “manners” and “property” and “noise ordinances” to navigate the tradeoff.

There’s a different tradeoff I think about a lot. We all know the story of Odysseus having his men block their ears and tie him to the mast of his ship. He knew he would go temporarily insane when going past the Sirens, so he wanted to remove freedom from himself to overcome that.

odysseus and the sirens

It’s a cute story, but it’s not typical. Odysseus constrained his future self with technology. Most real-world scenarios are different:

  • We need society to enforce constraints.
  • Those constraints affect everyone to some degree, even those who don’t want them.

For example, I almost never buy snack foods because once home, I can’t resist the urge to eat them. This works OK for me, but they’re sometimes available at conferences or parties or whatever, and I have a hard time saying no. What I’d really like is for society to criminalize all mint-chocolate flavored snacks.

(We’ll will get back to alcohol in a second.)

Cookies are laughable, but how about fentanyl? Some of the reason drugs are illegal is because of externalities or the idea that people don’t know what’s good for them. However, there’s no doubt that some former or potential addicts would choose criminalization if it was up to them. Say you used to be addicted but now you’ve quit. If you could snap your fingers and make all drugs disappear, wouldn’t you do that?

Obviously, criminalizing cookies (or fentanyl) is bad for both responsible users and people who can’t or don’t want to quit. I’m just trying to point out that there is a tradeoff. Society has decided that tradeoff in favor of responsible Twinkie users and against responsible fentanyl users.

Just as society made a different tradeoff for Twinkies and drugs, biology made a different one for alcohol, depending on if you got the East Asian variants or not.

Sometimes we can give people the chance to “Odysseus” themselves without intruding too much on the freedom of others. An example is gambling. Some locations allow people to “self-exclude” from gambling, after which casinos won’t let you play for a time period of your choice. This isn’t perfect, since now responsible gamblers have their ID checked, and addicts can still cross state lines or play the lotto or whatever.

We can informally picture the different regimes like so:

freedoms and freedoms from temptation

A self-ban for alcohol

Roughly 10% of people in the US are raging alcoholics. Could we offer them the chance to self-exclude from alcohol?

Unfortunately, it seems very difficult. We’d have to force some heavyweight process of checking IDs on all bars and liquor stores. Even then, it wouldn’t be very effective, since people could still have their friends buy it for them. Do we want to make it illegal to hand out drinks at a party without checking everyone’s ID against a database? It would be a nightmare.

A while ago, I had a strange idea. In principle, instead of having people ban themselves from alcohol legally, couldn’t it be done biologically? After all, this is the solution evolution came up with. Can we allow people to opt-in to getting the Asian flush?

freedoms from temptation with an invention

Obviously, this is just hypothetical. For one thing, is it even possible? It seems hard, but perhaps with the full might of our modern nano RNAi cell-therapy quantum stem-cell CAR-T gene therapy arsenal, we could figure something out. It doesn’t matter though. We could never actually give such a drug to people, since it’s equivalent to poisoning them.

Just kidding. It’s called disulfiram, and it was approved by the FDA in 1951.

Does disulfiram work?

Still today, we don’t really know.

To be sure, disulfiram does what’s asked of it. It definitely blocks the ALDH enzyme and this definitely does lead to 5-10x higher acetaldehyde concentrations. This definitely causes “flushing” and other symptoms typical of those with a genetic predisposition against drinking. Early on, it was prescribed in such massive doses that patients who drank anyway sometimes went into cardiac arrest, or even died.

What’s unknown is if it helps with alcohol addiction. There have been a huge number of studies, but none of them give clear answers. As far as I can tell, there are three problems.

First, just imagine you give alcoholics a bottle of pills, explain that they make alcohol (more) toxic, and send them on their way. Obviously, almost nobody takes them, and those that do are ultra-determined and would probably have quit anyway. You can ask patients to come into the office to take the drugs, but then people drop out. It’s just incredibly hard.

Second, there’s all sorts of confounders and weirdness. Some show effects on number of days without alcohol but not on number of drinks or vice-versa. Some studies show great results for people who are married but not for single people.

Third, most of the studies are kind of.. crap? Hughes and Cook reviewed the studies up to 1997. Their paper is a marvel of inventive euphemisms like “Nothing can be said directly”, and “not strictly a controlled study”, and “a very poor study, but the authors subsequently stated that they ‘made no claims for methodological sophistication or statistical significance’.”

The drug is still available today, though not much used for alcoholism except in Denmark, where it’s widely prescribed. (This seems to be pharma-nationalism, resulting from the drug being invented there.)

If people refuse to take the pills, couldn’t we just make some kind of implant? This too has been experimented with since 1968, and again we have no clear answers. One major problem is that it’s not clear how well the drug is absorbed from the implant. Another is that randomized trials require “sham implants” to blind participants. A third is that various trials used ridiculously low doses of the drug, far below the level that’s physiologically plausible.

Update: People have pointed out that disulfiram implants are apparently fairly popular in Eastern Europe (1, 2, 3). However, these implants typically a total of 1-2g dispensed over something like 6-24 months. If you assume 1g dispensed over a year, that’s 2.7 mg / day, around 1% of a typical oral dose of 250 mg / day. On top of that, bioavailability of implanted disulfiram appears to be lower than oral. So I suspect these implants are almost entirely placebo.

So, it’s hardly been revolutionary. What explains this?

One possibility is that the drug could cure alcoholism, we just haven’t done enough studies, or found a sufficiently reliable way to deliver it yet.

Another possibility is that the alcohol intolerance in East Asians is just a “nudge”, which is often enough to prevent alcoholism from forming in the first place, but not strong enough to displace alcoholism once it’s taken root.

I favor the second possibility. Disulfiram definitely does make acetaldehyde build up when you drink. If that had a massive effect on alcoholism, it shouldn’t be that hard to see it! Yet we still don’t see much after 70 years. These days, the first-line drug treatments for alcoholism are acamprosate which reduces the physical symptoms of alcohol withdrawal and naltrexone which screws around with the opiod receptors and probably reduces the pleasure people get from drinking.

What are we supposed to conclude from all this? That we should be careful about cute evolutionary explanations? That human fallibility means your individual freedom is in tension with my freedom from temptation? That “Odysseusing” is a way to resolve that tension? That our addictions run deep into us, and aren’t easy to remove? That there’s nothing new under the sun? That human behavior is complex, and harder to manipulate than mere biology? Take your pick. Honestly, I just thought it was a good story.



from Hacker News https://ift.tt/3fUmTll

Monochromatic Portraits with GLSL

Monochromatic Portraits with GLSL

1 Feb 2019

In my Computer Graphics Art class, we were assigned a monochromatic portrait project. Given a photograph of a subject, we were to split the image into a small number of discrete sections of varying brightnesses, all of the same colour. Typically, this process would be completed by hand in a tool like Krita or Photoshop.

Monochromatic portrait, processed from a webcam with this shader.

I chose GLSL.

Rather than manually producing the portrait, I realised that the project can be distilled into a number of per-pixel filters, a perfect fit for fragment shaders. We pass in the source photograph as a texture, transform it in our shader, and the filtered image will be written out to the framebuffer.

This post assumes a basic familiarity with the OpenGL Shading Language (GLSL). The interface between the fragment shader and the rest of the world is (relatively) trivial and will not be covered in-depth here. For my early experiments, I modified shaders from glmark’s effect2d scene, which allowed rapid prototyping. Later, I moved the demo into the web browser via three.js. Source code is available under the MIT license.

Without further ado, let’s get to work!

First, we include the sampler corresponding to our photograph, and a varying defined in the vertex shader corresponding to the texture coordinate.

uniform sampler2D frame;
varying vec2 v_coord;

Next, let’s start with a simple pass-through shader, reading the specified texel and outputting that to the screen.

void main(void)
{
    vec3 rgb = texture2D(frame, v_coord).rgb;

    gl_FragColor = vec4(rgb, 1.0);
}

The colour photograph shines through as-is – everything sanity checked. However, when we make monotone portraits, we don’t care about the colour, only the brightness. So, we need to convert the pixel to greyscale. There are various ways to do this, but the easiest is to multiply the RGB values with some “magic” coefficients. That is,

grey=cr⋅red+cg⋅green+cb⋅blue\mathrm{grey} = c_r \cdot \mathrm{red} + c_g \cdot \mathrm{green} + c_b \cdot \mathrm{blue}

What coefficients do we choose? An obvious choice is 13\frac{1}{3} for each, taking equal parts red, green, and blue. However, human colour perception is not fair; a psych teacher told me that bias is literally in our DNA. Oops, wait, I’m not supposed to talk politics in here. Anyway!

Point is, we want coefficients corresponding to human perception. One choice is BT.709 coefficients, which are used when computing the luminance (Y) component of the YUV colour space. These coefficients correspond to a particular vector:

c⃗=(0.21260.71520.0722)\vec{c} = \begin{pmatrix}0.2126\\0.7152\\0.0722\end{pmatrix}

We just take the dot product of those coefficients with our RGB value, et voila, we have a greyscale image instead:

vec3 coefficients = vec3(0.2126, 0.7152, 0.0722);
float grey = dot(coefficients, rgb);

At this point, we might adjust the image to taste. For instance, to make the greyscale image 20% cooler brighter, we just multiply in the corresponding coefficient, clamping (saturating) between 0.0 and 1.0 to avoid out-of-bounds behaviour:

float brightness = 1.2;
grey = clamp(grey * brightness, 0.0, 1.0);

Now, here comes the magic. Beyond the artistic description, monotone portraits, the technical name for this effect is “posterization”. Posterization, at its core, transforms an image with many colours with smooth transitions into an image with few colours and sharp transitions. There are many ways to approach this, but one is particularly simple: rounding!

All of our colour (and greyscale) values are within the range [0,1][0, 1], where 00 is black and 11 is white. So, if we simply round the value, the darks will become black and the lights will become white: posterization with two levels (colours)!

What if we want more than two levels? Well, think about what happens if we multiply the colour by an integer nn greater than one, and then round: the rounded value will map linearly to n+1n + 1 discrete values, from 00 to nn. (Psst, where did the plus one come from? If we multiply by 11 – not changing anything from the black/white case – there are two possibilities, not one. It’s a fencepost problem).

However, after we scale the grey value from [0,1][0, 1] to [0,n][0, n], we probably want to scale back to [0,1][0, 1]. That’s achieved easily enough – divide the rounded value by nn.

All in all, we can posterize to six levels, for instance, quite simply:

float levels = (6.0) - 1.0;
float posterized = round(grey * levels) / level;

Et voila, we have a greyscale posterized image. For some OpenGL versions lacking a round function, just replace round with floor with 0.50.5 added to the argument.

Posterized greyscale, but feeling clustered

What’s next? Well, the posterized values feel a little “clustered”, for lack of a better word. They are faithful to the actual brightness in the image, but we’re not going for photorealistic here – we want our colours to pop. So, increase the contrast by some factor; I chose 30%. How do we adjust contrast? Well, first we need to define contrast: contrast is how far everything is from grey. By grey, I mean 0.50.5, half-way between black and white. So, we can subtract 0.50.5 from our posterized colour value, multiply it by some contrast factor (think percentages), and subtract 0.50.5 again to bring us back. Again, we saturate (clamp to [0,1][0, 1]) at the end to keep everything in-range.

float contrast = 1.3;
float contrasted = clamp(contrast * (posterized - 0.5) + 0.5, 0.0, 1.0);

If you’re a geometric thinker, or if you have a little background in linear algebra, we are effectively scaling (dilating) pixel values with the “origin” set to grey (0.50.5), rather than black (00). You can express it nicely in terms of some simple composited affine transformations, but I digress.

Posterized with contrast adjusted

Anyway, with the above, we have a nice, posterized, grey image. Grey?! No fun. Let’s add a splash of colour.

Unfortunately, within RGB, adding colour can be tricky. Simply multiplying our base colour with the greyscale value will perform a tint, but it’s a different effect than we want. For these monotone portraits, given grey values, we want 00 to correspond to black, 0.50.5 to a colour of our choosing, and 11 to white. Values in between should interpolate nicely.

This problem is neigh intractable in RGB… but we can take another trick out of linear algebra’s book, and perform a change of basis! Or colour space, in this case.

In particular, the HSL (hue/saturation/lightness) colour space, modeled after artistic perception of colour rather than the properties of light, has exactly the property we want. Within HSL, zero lightness is black, half-lightness is a particular colour, and full-lightness is white. Hue and saturation decide the colour shade, and the lightness is decided by, well, the lightness.

So, we can pick a particular hue and saturation value, set the lightness to the greyscale lightness we calculated, and bingo! All that’s left is to convert back from HSL to RGB, since our hardware does not feature native support for HSL. For instance, choosing a hue of 0.80.8 and a saturation of 0.60.6 – values corresponding to pastel blues – we compute:

vec3 rgb = hsl2rgb(vec3(0.6, 0.4, contrasted);

Finally, we just set the default alpha value and write that out!

gl_FragColor = vec4(rgb, 1.0);

“But wait,” you ask. “Where did hsl2rgb come from? I didn’t see it in the GLSL specification?”

A fair question; indeed, we have to define this routine ourselves. A straightforward implementation based on the definition of HSL does not take full advantage of the GPU’s vectorized and parallelism capabilities. A discussion of the issue is found on the Lol engine blog, which includes a well-optimized GLSL routine for HSV to RGB conversions. The code is easily adapted to HSL to RGB (as HSV and HSL are closely related), so presented with proof is the following implementation of hsl2rgb. Verifying correctness is left as an exercise to the reader (please do!):

vec3 hsl2rgb(vec3 c) {
    float t = c.y * ((c.z < 0.5) ? c.z : (1.0 - c.z));
    vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
    vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
    return (c.z + t) * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), 2.0*t / c.z);
}

And with that, we’re done.

Almost.

Everything we have so far works, but it’s noisy as seen above. The “jumps” from level to level are not smooth like we would like; they are awkward and jaggedy. Why? Stepping through, we see the major artefacts are introduced during the posterization routine. The input image is noisy, and then when we posterize (quantize) the image, small perturbations of noise around the edges correspond to large noisy jumps in the output.

What’s the solution? One easy fix is to smooth the input image, so there’s no perturbations to worry about in the first place. In an offline implementation of something like a cartoon cutout filter, like that included in G’MIC, a complex noise reduction algorithm would be used. G’MIC’s cutout filter uses a median filter; even better results can be achieved with a bilateral filter. Each of these filters attempts to reduce noise without reducing the edges. But they’re slow.

What can we do instead of a sophisticated noise reduction filter? An unsophisticated one! Experimenting with filters in Krita, I found that any blur of suitable size does the trick, not just an edge-preserving filter. Even something simple like a Gaussian blur or even a box blur does the trick. So, instead of reading a single texel rgb, we read a group of texels and average them to compute rgb. The demo code uses a single-pass blur, which suffers from performance issues; this initial blur is by far the slowest part of the pipeline. That said, for a production application, it would be trivial to optimize this section to use a two-pass blur, weighted as desired, and to take better advantage of native bilinear interpolation. Implementing fast GPU-accelerated blurs is out-of-the-scope of this article, however.

Regardless, with a blur added, results are much cleaner!

All in all, the algorithm fits in a short, efficient, single-pass fragment shader… which means even on low-end mobile devices, as long as there’s GPU-acceleration, we can run it on input from the webcam in real-time.

For best results, ensure good lighting. Known working on Firefox (Linux) and Chromium (Linux, Windows, Android). Known issues on iOS (?).

Try it!

Back to home



from Hacker News https://ift.tt/3doDGMU

Tell HN: Don't root for WFH, it might destroy well-paying jobs

Tell HN: Don't root for WFH, it might destroy well-paying jobs
3 points by RestlessMind 4 minutes ago | hide | past | favorite | 2 comments
There is a vocal crowd on HN cheering for the WFH trend. But that is a big risk for the US SW engineers and a great opportunity for the rest of the SW engineers in Americas.

The crowd cheering for WFH seems to assume that the jobs will be available anywhere the suburban US which is ideal for WFH with big houses with enough space to have an office, gym and whatever. They also assume SV level salaries, maybe with a 10-15% haircut and think they can live like kings.

But from my personal experience at a company going fully WFH, I can say that those are rosy dreams. I am in a position where I know about the company's hiring plans and salaries. Guess where is a majority of new hires going to come from? Other countries! Guess what will be their salaries? Much lower than what we are offering in the non-SV parts of the US.

If the WFH trend continues, it will do to the plum US tech job market what globalization did to manufacturing. In a WFH setup, someone in Mexico is on the same level as someone in Kansas or SV, but much cheaper.

It is time for tech workers to look out for themselves and root for a failure of WFH trend. Else for the short term king-size lifestyle in your remote corner of the US, you will destroy one of the last remaining well-paying job market in the long term.






Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact



from Hacker News https://ift.tt/3jxVKbs