Thursday, December 31, 2020

The Wonderful Uses of Asbestos (1942) [video]

Comments

from Hacker News https://www.youtube.com/watch?v=HxfZSEboVM4

Raycast (YC W20) is hiring to make developers more productive

Jobs

We're looking for passionate people to join us on our mission to revolutionize how developers experience productivity tools.

As builders, we optimize for output. For this, we use tools that let us achieve more with less effort. A great tool sits on the sideline, waits to be used and then gets the job done. Afterwards, it gets out of the way again. Today's workplaces are the opposite: Collaboration harms productivity, notifications scream for attention and websites are clumsy.

We aim to calm this mess by providing a simple user interface that reduces tools to their core functionality. Raycast is designed to keep their users focused. It optimizes for the shortest path from intent to action. The ephemeral app is accessible from anywhere on a Mac and fully keyboard-driven.

Many highly-rewarding productivity tools are custom to the setup of individuals or teams. To support such setups, we’re providing the toolkit for developers to automate their every-day tasks. On top, we're establishing a community to shape an ecosystem of productivity tools.

Join our fully distributed team to change how developers control, build and share their productivity tools.

Open positions

We're currently looking for the following positions:

If you resonate with our mission but there isn’t an open position for you, you can also send us an email at jobs@raycast.com with any information you’d think is relevant.

What we offer

  • We're at beginning of our next chapter. You will join us at the right time to have major impact on the future of the company. We released Raycast 1.0, established a friendly community and are jumping head first into building a platform for productivity tools.
  • We're backed by great investors. We're backed by Accel, Y Combinator, Chapter One and angels such as Charlie Cheever (Co-Founder of Expo & Quora), Calvin French-Owen (Co-Founder of Segment), Zach Holman (Early GitHub engineer) and more.
  • We're individual contributors at heart. We value full ownership and responsibility, choose quality over quantity and put our users first. We're motivated by shipping truly great software.
  • We'll treat you well. Get a competitive salary, equity and health insurance. Plus, we provide a monthly health benefit for a gym, pay for your coworking space, give you a MacBook Pro with 5K display and accessories and provide 25 days of paid-time off (PTO) plus all national holidays.

Application process

During our interview process, we want to make sure that both sides get a good understanding of what it feels to work together day-to-day. Our process contains a few steps:

  1. Send us an engaging email. Tell us why you want to join Raycast and why you generally care about the problem we're solving. Make your first impression count. Share with us what excites you and how you envision your role at Raycast.
  2. An intro call with the founders. Both parties get to know each other. You learn more about Raycast and can ask us any question. From our side, we want to understand what motivated you to apply.
  3. Work on a real task. We want to demonstrate how it is to collaborate with the team. For this, we give you an assignment that we would actually build and create a shared Slack channel to communicate. We'll compensate you for the task.
  4. Another video call to present your task. Time to show your work in a short video call with some of us. Expect some role-specific questions to better understand how you tick.

After the last step, we get back to you with a decision. In rare cases, we might ask you for another call.



from Hacker News https://ift.tt/2WKUTre

The economics of the human hair trade

Human hair is one of the most versatile resources in the world.

It’s used to make calligraphy brushes, suit linings, and furniture. It’s enlisted to clean up oil spills. It’s even a part of the bagel-making process at Dunkin’ Donuts.

Most severed locks, though, end up on other people’s heads.

By one estimate, the global wig, weave, and hair extension market is worth ~$7B — and it’s projected to grow to $10B+ by 2024 (an 8% CAGR).

In the United States, these products have long been popular among sufferers of hair loss, African American and Orthodox Jewish communities, and entertainment professionals.

But in recent years, celebrities and social media influencers have attracted a new subset of human hair consumers.

Khloe Kardashian has a whole closet in her house dedicated to extensions; her sister Kim caused a Twitter storm when she posted a picture with a hair extension on the floor in the background. It seems every classic coiffure — from “The Rachel” to Ariana Grande’s signature ponytail — started life elsewhere. 

But where does all this hair come from? And where is it going?

The human hair supply chain

The journey that a strand of human hair takes from a grower’s head to a consumer’s head is complex and often opaque.

According to industry experts who spoke with The Hustle, hair passes through ~100 pairs of hands before it reaches its final destination.

This process begins with harvesting, or collecting hair from the original source’s head. The vast majority of the world’s unprocessed hair comes from just 2 places: Hong Kong ($30.2m/year in exports) and India ($19m). 

The Hustle

According to Emma Tarlo’s book, Entanglement: The Secret Lives of Hair, local hair traders in China and India circulate from village to village searching for women who want to sell or barter their hair.  

One major source is Hindu temples in Southern India, where pilgrims sacrifice their hair in a practice called tonsuring.

Venkateswara Temple, in the hill town of Tirumala, employs 1,320 barbers who shave an average of 40 heads per day. This tonsured hair is sold through e-auctions. In February 2019, one such auction brought in $1.6m from 157 tons of hair.

It takes at least 2 years for a woman to grow her hair to the minimum saleable length (generally 10 inches) — and as communities develop, women become less willing to part with it.

This has forced harvesters in India and China to expand their search areas to less developed countries like Myanmar, Laos, Mongolia, and Indonesia. 

The price of unprocessed hair is largely variable and depends on its length, texture, and condition.

Hair cut directly from a woman’s head (called Remy) fetches the highest price and is commonly referred to as “black gold” by traders. 

In 2018, hairdressers in Myanmar’s largest city, Yangon, were offering between $11 and $150 for a head of hair — anywhere from 4x to 55x the country’s minimum wage of $2.70. 

But the industry also relies on less desirable waste hair, which “hair pickers” gather from drains and waste mounds and sell to local dealers for ~$17 per pound.

Worlers washing and sorting hair at a processing center on the outskirts of Chennai, India in 2017 (ARUN SANKAR/AFP via Getty Images)

Once harvested, these clumps of hair are processed into organized manes.

Waste hair travels to Myanmar and Bangladesh, where workers untangle it and sort it into bundles of matching length and color. In Pyawbwe, a small village 300 miles north of Yangon, the community once relied on farming; now, almost every family is untangling hair.

A typical Myanmarese worker might earn $1.40 for a day’s work.

This processed hair is then shipped to factories where it’s manufactured into shiny clip-in bangs, bouncy bobs, and lifelike toupees. 

More than 70% of these factories are in China — and the country reaps the lion’s share of the profits from market-ready hair products.

According to UN Comtrade data, China exported $1.15B worth of manufactured human hair products in 2019.

In Xuchang — a city often called the wig-making capital of the world — hair is dyed, treated, hand-knotted, and machine-wefted into custom wigs that are handmade on molds of the recipients’ heads. 

Worlers processing hair near Chennai, India in 2017 (ARUN SANKAR/AFP via Getty Images)

Finished products travel from factory line to salon shelf along a global distribution chain.

Products move through multinational distributors and local middlemen, sometimes crossing the Atlantic Ocean more than once before ending up for sale on online marketplaces like Amazon, Alibaba, and Etsy.  

With $130m+ in 2020 imports, the United States is the largest market for these human hair products. Consumers fall into several subsets:

  • The African American market, which is well-established and accounts for a significant portion of US hair consumption. This sector is dominated by Korean American retailers.
  • The market for sheitels (wigs worn by Orthodox Jewish wives for religious reasons) is estimated to be worth $60m. These high-end wigs ($800 to $5.5k) tend to come from specialist suppliers.
  • And, the newest addition: millennial Instagram users who shop at retail chains like The Hair Shop.

But in recent times, a number of ethical concerns have prompted suppliers and buyers to rethink the existing supply chain. 

Tricky ethics and quality control

In July 2020, a 13-ton shipment of human hair products worth over $800k was seized by US customs. It is thought that the products were harvested from (and made by) prisoners in Uighur detention camps in Xinjiang.

Though the general supply chain of hair can be mapped out, most consumers don’t know where their hair comes from, or whether the people it comes from are fairly compensated.

A worker produces a wig at a factor in Hezhang, China in October 2020 (Luo Dafu/VCG via Getty Images)

Valerie Ogoke is the founder of Ayune Hair, an extensions company dedicated to ethical sourcing.

“We forget the impact it has on the women in these countries,” she tells The Hustle. “The way that they perceive beauty is the same way that Western women do, so a lot of times there’s shame and embarrassment when they cut their hair.” 

Many consider temples an ethical source of hair, but Ogoke has concerns. “If someone is donating their hair for spiritual reasons, I don’t want to make a profit off that experience,” she says.

Instead, she sources fallen hair — the 50-100 hairs we naturally shed every day — from rural Indonesian women, allowing them to supplement their incomes while preserving their appearances. 

Ogoke’s sentiments point to a larger trend toward ethically sourced hair products.

While it’s not yet clear if ethical harvesting can satisfy demand, a number of brands — Great Lengths, Remy New York, Woven Hair, SimplyHair, and The Real Human Hair Company — have made ethics a central part of their marketing.

This year, Google searches for “ethical hair” reached a 5-year high. And at large, print interest in ethically sourced products has surged in the last 2 decades.

The Hustle

Quality issues run in tandem with ethical concerns: Many hair products also don’t always match what they say on the label. 

Unscrupulous suppliers are known to:

  • Supplement “100% human” products with cheaper synthetic and animal hair to boost margins.
  • Misrepresent the origin country of hair.

UN Comtrade export figures suggest that hair marketed as Brazilian or Peruvian is often Chinese or Indian. A wig labeled “Remy European” may well be bleached Indian comb waste mixed with goat hair. 

South African entrepreneur Pretty Kubyane co-founded Blockchain Coronet, a unique supply chain management solution for salons.

According to Kubyane, African salons make 80% of their income from human hair products — but 38% of the 100m units sold to African women annually are reported to be counterfeit. 

Many salons rely on fly-by-night middlemen who offer no recourse for poor-quality deliveries. Others make costly trips to China to purchase hair in person and bring it back in their luggage, making them vulnerable to theft.

Kubyane’s solution uses blockchain technology to track products and guarantee their origin. A certificate of authentication reassures consumers that their hair matches the label and allows salons access to insurance.

C2C platforms like buyandsellhair.com offer more transparency for consumers and more control for sellers.

Women share pictures of their hair and details about their diet, hair care regime, and reasons for selling. Sellers set their own prices (often between $800 and $1.2k) and often only cut their hair once it’s paid for.

An ad for hair on an online marketplace (buyandsellhair.com)

A number of other companies attempt to address these issues through alternative means:

  • Promptly Polished plans to sidestep manufacturers with an Etsy-style model that connects consumers with independent wig designers worldwide.
  • Raw Society Hair has developed hair extensions made from banana tree stems. Their mission is to offer a biodegradable alternative to synthetic extensions and create jobs for small-scale Ugandan banana farmers. 
  • ShayTell is sort of like Yelp for Orthodox wigs.

COVID and the future of the human hair trade

History suggests the hair industry thrives during economic downturns.

During the Great Depression, hair was one of the few things women continued to spend money on. And in the wake of the 2008 financial crisis, salon numbers grew by 8% as other industries floundered.

This might explain why, despite shuttered salons, sales of health and beauty products rose by 13% earlier this year, compared to the same period in 2019. 

According to IBISWorld, customers increasingly view salon expenses as essential rather than discretionary. A survey of 10k European men found that many would rather have a small penis than go bald.

Kubyane challks this up to the lipstick effect: Consumers tend to spend more on small indulgences during tough financial times.

“When things are not well, [women] just want to look beautiful,” she says.



from Hacker News https://ift.tt/37xHyc5

AirPods Max are no match for my AirPods

oh boy oh boy........I have been using the AirPods Max for hours daily for the last 7 days.

AirPods Max’s largest competitor is the Apple AirPods

Context

Firstly, these are my thoughts based on my use case. I am not an audiophile (although most reviewers are saying this lol) and I certainly do not have the ears to identify the nuance in sound. For example, both the AirPods 2 and AirPods Pro almost sound the same to my ears. I must say, I find the AirPods 2 more comfortable than my AirPods Pro because the AirPods seat in the ear as opposed to the AirPods Pro are inside the ear.

I am incredibly bias favouring of my AirPods.

Experience

The only reason, I purchased the AirPods Max is because, before these headphones, I had yet to find a pair where my ears do not get hot within 30 minutes of use. I was hoping, these would be the same and as such, I do not have to consider whether I would pay $550 for these. Well, both fortunately and unfortunately, my ears did not get hot even after hours of use. This was a Christmas miracle. Finally, headphones exist that are made for my ears. Prior to these, I had tested all the Bose and Beats noise-cancelling headphones without success. The Sony headphones do not come with a customer friendly returns policy, so I haven't tested them. I think, AirPods Max are different because unlike all the other headphones, the cups are NOT made of leather.

For me, comfort is most important and as my wallet takes a sigh of relief, my AirPods are still the most comfortable means of personal music/podcast listening. Even though, the AirPods Max is the most comfortable headphones I have tried, they are distant second to my AirPods in terms of comfort and the sound quality on the AirPods is acceptable to me.

AirPods Max are the best in class:

  • Noise Cancellation
  • Music listening
  • Transparency
  • Design and build quality
  • Only headphones I know that stand on their own two cups. Now that's cool.

The following are where the AirPods Max fall short:

  • comfort is not as good as AirPods
  • Noise cancellation is too good that I struggle to hear my wife calling within my home. I find the noise cancelling is so good that I am lost in silence and am completely unaware of things happening in the house. My home is already quiet so there is no need for noise cancelling. Turning it off was the only option and that works well enough.
  • Pronounced pressurization effect
  • Portability
  • Lighting charging (and no wireless charging)
  • The joke of a case. My AirPods case charges my AirPods as well.
  • Because of the cost and the canopy headband, I cannot help but baby this thing all the time - it's like a big baby
I am so accustomed to the convenience the AirPods provide that the AirPods Max seem cumbersome for my use case.

Spatial audio : this feature is pointless to me. There is no way I am watching The Mandalorian on my iPhone or iPad to use this feature. Bring it on the Apple TV than I will reconsider.

Sound Quality: regardless of the hype, these are Bluetooth headphones and as such limitation of Bluetooth are applicable here. Nonetheless, these are the best sounding Bluetooth headphones I have heard. The credit for this goes to the two H1 chips and Apple’s sound processing. Your ears may hear things that I do not, so my view is just as subjective as any other reviewer’s view on this.

To summarise, all this year, I worked from home and I do not see this charging in 2021. Therefore, I do not need noise cancelling and frankly prefer my AirPods because they are more comfortable. Would I prefer these for when I sit down for quality music listening - You bet I would. Well, in practice, when this is the case, I usually listen to music on my 5.1 Sonos surround sound with my wife and family.

I do not have space for the AirPods Max in my life and as such, these are going back.  AirPods were life changing for me, these are not.

Pricing

If I were using it all day like my AirPods, I would have kept them but it would still bug me that they are priced almost 50% above their closest competition and more than 100% above the AirPods Pro. Regardless of what anyone says, I refuse to believe that these are 50% better than the Bose. But that's the Apple premium tax. However, I sense these are priced like the HomePods and will also be significantly discounted in the coming 12 to 18 months.

I understand folks supporting Apple and providing an argument as to why shouldn't Apple charge a premium if they're providing a premium product. And I agree, Why shouldn't they? Apple can charge whatever they want, but if I find that it's not premium enough for me, than it's ultimately my decision to make. Another point here, Apple also sometimes incorrectly prices their products. HomePod is a perfect example, as evident by the significant discounts regularly available on the HomePod. These significant discounts of RRP is not seen in other Apple products.

Recommendation

Sound is subjective and listening to sound is also subjective. Therefore, what sounds amazing to you, may sound meh to me. Apple has excellent returns policy, if you are indeed interested, please give it a try and DECIDE for YOURSELF. Then, when these are on sale, you can grab them from any retailer if these fit your use case.

I am human after all and very sensitive to a good bargain so this may end up as an impulse buy in the future. Very unlikely but stranger things have occurred.



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

Yamaha’s DX7 synthesiser changed modern music

THE 1980s was, by any measure, an eclectic musical decade. It was a time for kohl-eyed kids to strike poses to electro-pop and for the mullet-haired to raise a clenched fist while listening to glam metal. It was a fine time, too, for flat-topped soul boys and for New Romantic preeners. For the rest, there was a clan of pop royalty to align with, whether George Michael, Michael Jackson or Madonna. Yet, as different as those styles were, they somehow all shared an unmistakable 80s sound. That is down to the influence of a single instrument: the Yamaha DX7 synthesiser.

The DX7 can lay claim to being one of the most important advances in the history of modern popular music. Perhaps not since Leo Fender attached a pick-up to a six-string in 1949, thus introducing the first mass-market electric guitar, can an instrument claim to have so profoundly altered the soundscape of its time. To get a sense of its impact, consider research from Megan Lavengood, a professor of music theory at George Mason University in Virginia. The DX7 came loaded with dozens of sounds, from strings to brass to woodwind. Yet according to Ms Lavengood, in 1986 just one of those presets—“E PIANO 1”—can be heard on around 40% of the singles that made it to number one on America’s Billboard charts. (It is the bell-like piano heard on, for example, George Michael’s “Careless Whisper” and Whitney Houston’s “Greatest Love of All”.) During the same year, calculates Ms Lavengood, 40% of country-music number ones also featured E PIANO 1. So did 61% of R’n’B hits.

Grasping why the DX7 became so dominant means understanding what went before it. The analogue synths from the 1970s—like the Moogs beloved by prog-rock bands such as Yes or Emerson, Lake and Palmer—were fantastically expensive and came with a circuit board the size of a kitchen dresser. That made them accessible only to wealthy rock stars with a retinue of roadies. Using them required deep technical know-how. Their timbres were created “subtractively”—by filtering out frequencies from a base sound like, it was said, a sculptor chiselling a block of marble. Keyboardists needed to understand how to adjust oscillators, amplifiers and modulators by twisting knobs, sliding faders and connecting cables. Even then, they were often monophonic, capable of producing only one note at a time.

By the late 1970s, the first digital keyboards started to come onto the market. These were less clunky and could play sampled sounds yet they lacked the processing power to make them particularly useful. They also cost a packet. The Fairlight CMI, released in 1979, was priced at $25,000—or, adjusted for inflation, roughly $88,000 today.

The DX7 changed the proposition. Its story can be dated to 1967 and a professor at Stanford called John Chowning. That year Mr Chowning discovered how to synthesise sounds using frequency modulation, or FM. (In essence using one signal to modulate the pitch of another, thus producing a new sound frequency.) He hawked his new algorithm around some of the most famous makers of electronic musical instruments of the time, including Hammond and Wurltitzer. All turned him down. Then in 1973 he showed it to Yamaha. The Japanese conglomerate was already one of the world’s leading musical-instrument makers but, crucially, it was also stuffed full of engineers and had an appetite for disruption. It licensed the technology and set about turning the lofty synthesiser into a humble consumer product.

In 1983 it released the DX7. With it, Yamaha had discovered a “magic potion”, says Mark Vail, a synthesiser historian. The combination of digital FM technology and Yamaha’s expertise resulted in an instrument that was small and easy to use, and came jam full of exciting sounds. Perhaps most important, it was also cheap. At $1,995 it held its own against keyboards six times the price. During the four years it was manufactured it sold around 150,000 units—easily outstripping its competitors. No one, not even Yamaha itself, had any idea the synthesiser market was that big, one of the firm’s sound technicians later recalled.

By the mid-1980s it had become all but ubiquitous. It was the sound of stadium rockers and of small bands playing in the backroom of their local pub. It gave feeling to film scores and TV themes, among them “Top Gun” and “Miami Vice”. Earnest music-tech geeks, such as Brian Eno, became obsessed with its possibilities. A cottage industry sprung up of programmers producing patches—brand new sounds that could be added to the keyboard’s repertoire.

Its success was helped by serendipitous timing. The year the DX7 hit the market, a musical technology called MIDI was also released. Musical Instrument Digital Interface, to give the software its full name, remains to this day an essential piece of kit in any studio. It allows synthesisers to talk to computers and other bits of hardware. For example, parts played on keyboards that run the technology can be edited on a computer screen. Notes can be moved around and their timbre changed. Sequences also can be synced with a drum machine or with other electronic instruments. Being one of the cheapest MIDI-compatible keyboards available, the DX7 became indispensable. The most lavish recording suites were naked without it. Aspiring musicians would build studios in their bedroom, using cheap, basic kit, with the DX7 their cornerstone.

For all that, the DX7 had its limitations. Its strings sound held little warmth, its bass sounds lacked a certain fatness (listen, for example, to Rick Astley’s “Never Gonna Give You Up”). And by the end of the decade, its distinct tone had become its undoing; it was considered just too 1980s. “Synths tend to have a decade-long cycle,” explains Nate Mars, a music producer and technologist. “After ten years everyone just wanted a fresh sound.”

Yet, to many people’s surprise, its fall from fashion proved short-lived. Even as the 1990s brought their own style, the DX7’s influence could still be heard in the house-music tracks that were filling urban dancefloors. U2 and Coldplay used it from time to time (perhaps at the behest of Mr Eno, who produced some of their songs). Today the sound of the 80s has become chic again and there have been attempts to recreate the keyboard virtually. Arturia, a music-technology firm, recently released a computer programme called DX7 V (the “V” is for virtual). Bands such as Morcheeba and trendy producers including Metrik are fans.

And therein lies the DX7’s enduring success. It is a keyboard that sounded like the future even as it was approximating the instruments of the past. In doing so, it defined a decade. As Mr Mars says: “Its sound has always been now-future-retro, all at the same time.”



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

Massachusetts to Ban Sale of New Gas-Powered Cars by 2035

While EVs are still in the single-digit area of overall vehicle sales, they continue to climb and have already surpassed the sales of vehicles with manual transmissions. Now it seems that the electrification investments made by automakers are getting a boost from another part of the country.

Massachusetts is joining California with a plan to ban the sale of new gasolined-powered cars by 2035. Governor Charlie Baker released a 2050 decarbonization road map that includes the reduction of emissions from passenger cars. Massachusetts states that 27 percent of statewide emissions come from light-duty vehicles (passenger vehicles). The goal is for the state to reach net-zero fossil-fuel emissions by 2050.

In order to make sure those EVs are actually usable, the state plans to expand the public charging infrastructure to take into account that many people don't have a garage in which to charge an electric vehicle.

The initiatives by California and now Massachusetts could be the beginning of a trend by states to slowly ban the sale of new gasoline-powered vehicles. Several European countries have the same types of measures in order to battle climate change. Meanwhile, President-Elect Joe Biden has a plan to speed up the electrification of vehicles in the United States that includes replacing the country’s fleets with EVs.

The New Jersey Department of Environmental Protection, while stopping short of a mandate, in October also set 2035 as its goal for eliminating internal-combustion vehicles as well.

With the cost of EVs expected to reach parity with gas cars within a few years, some of the sticker price issues that turn off potential buyers will disappear.

Currently, Massachusetts and California are only requiring that new vehicles sold by 2035 be electric. Used car sales of gasoline-powered vehicles will still be allowed. In other words, you can still own a V-8–powered Corvette when you ring in the new year in 2035. It will still be a while before the roads in either state are populated entirely by EVs.

This content is imported from {embed-name}. You may be able to find the same content in another format, or you may be able to find more information, at their web site.

This content is created and maintained by a third party, and imported onto this page to help users provide their email addresses. You may be able to find more information about this and similar content at piano.io



from Hacker News https://ift.tt/38PABlZ

Ask HN: Predictions for 2021?

Comments

from Hacker News https://ift.tt/2La6eic

TabFS: Mount your Browser Tabs as a Filesystem

TabFS is a browser extension that mounts your browser tabs as a filesystem on your computer.

Out of the box, it supports Chrome and (to a lesser extent) Firefox, on macOS and Linux.

Each of your open tabs is mapped to a folder.

I have 3 tabs open, and they map to 3 folders in TabFS

The files inside a tab's folder directly reflect (and can control) the state of that tab in your browser. (TODO: update as I add more)

Example: the url.txt, text.txt, and title.txt files inside a tab's folder, which tell me those live properties for that tab

This gives you a ton of power, because now you can apply all the existing tools on your computer that already know how to deal with files -- terminal commands, scripting languages, etc -- and use them to control and communicate with your browser.

Now you don't need to code up a browser extension from scratch every time you want to do anything. You can write a script that talks to your browser in, like, a melange of Python and bash, and you can save it as a single ordinary file that you can run whenever, and it's no different from scripting any other part of your computer.

table of contents

Examples of stuff you can do!

(assuming your current directory is the fs subdirectory of the git repo and you have the extension running)

List the titles of all the tabs you have open

$ cat mnt/tabs/by-id/*/title.txt
GitHub
Extensions
TabFS/install.sh at master · osnr/TabFS
Alternative Extension Distribution Options - Google Chrome
Web Store Hosting and Updating - Google Chrome
Home / Twitter
...

Cull tabs like any other files

Selecting and deleting a bunch of tabs in my file manager

I'm using Dired in Emacs here, but you could use whatever tools you already feel comfortable managing your files with.

Close all Stack Overflow tabs

$ rm mnt/tabs/by-title/*Stack_Overflow*

or (older / more explicit)

$ echo remove | tee -a mnt/tabs/by-title/*Stack_Overflow*/control

btw

(this task, removing all tabs whose titles contain some string, is a little contrived, but it's not that unrealistic, right?)

(now... how would you do this without TabFS? I honestly have no idea, off the top of my head. like, how do you even get the titles of tabs? how do you tell the browser to close them?)

(I looked up the APIs, and, OK, if you're already in a browser extension, in a 'background script' inside the extension, and your extension has the tabs permission -- this already requires you to make 2 separate files and hop between your browser and your text editor to set it all up! -- you can do this: chrome.tabs.query({}, tabs => chrome.tabs.remove(tabs.filter(tab => tab.title.includes('Stack Overflow')).map(tab => tab.id))))

(not terrible, but look at all that upfront overhead to get it set up. and it's not all that discoverable. and what if you want to reuse this later, or plug it into some larger pipeline of tools on your computer, or give it a visual interface? the jump in complexity once you need to communicate with anything -- possibly setting up a WebSocket, setting up handlers and a state machine -- is pretty horrifying)

(but to be honest, I wouldn't even have conceived of this as a thing I could do in the first place)

Save text of all tabs to a file

$ cat mnt/tabs/by-id/*/text.txt > text-of-all-tabs.txt

Run script

$ echo 'document.body.style.background = "green"' > mnt/tabs/last-focused/execute-script
$ echo 'alert("hi!")' > mnt/tabs/last-focused/execute-script

Reload an extension when you edit its source code

Suppose you're working on a Chrome extension (apart from this one). It's a pain to reload the extension (and possibly affected Web pages) every time you change its code. There's a Stack Overflow post with ways to automate this, but they're all sort of hacky. You need yet another extension, or you need to tack weird permissions onto your work-in-progress extension, and you don't just get a command you can trigger from your editor or shell to refresh the extension.

TabFS lets you do all this in an ordinary shell script. You don't have to write any browser-side code at all.

This script turns an extension (this one's title is "Playgroundize DevTools Protocol") off, then turns it back on, then reloads any tabs that have the relevant pages open (in this case, I decided it's tabs whose titles start with "Chrome Dev"):

#!/bin/bash -eux
echo false > mnt/extensions/Playg*/enabled
echo true > mnt/extensions/Playg*/enabled
echo reload | tee mnt/tabs/by-title/Chrome_Dev*/control

I mapped this script to Ctrl-. in my text editor, and now I just hit that every time I want to reload my extension code.

TODO: Live edit a running Web page

edit page.html in the tab folder. I guess it could just stomp outerHTML at first, eventually could do something more sophisticated

(it would be cool to have a persistent storage story here also. I like the idea of being able to put arbitrary files anywhere in the subtree, actually, because then you could use git and emacs autosave and stuff for free... hmm)

TODO: Watch expressions

$ touch mnt/tabs/last-focused/watches/window.scrollY

Now you can cat window.scrollY and see where you are scrolled on the page at any time.

Could make an ad-hoc dashboard around a Web page: a bunch of terminal windows floating around your screen, each sitting in a loop and using cat to monitor a different variable.

TODO: Import data (JSON? XLS? JS?)

drag a JSON file foo.json into the imports subfolder of the tab and it shows up as the object imports.foo in JS. (modify imports.foo in JS and then read imports/foo.json and you read the changes back?)

import a plotting library or whatever the same way? dragging plotlib.js into imports/plotlib.js and then calling imports.plotlib() to invoke that JS file

the browser has a lot of potential power as an interactive programming environment, one where graphics come as naturally as console I/O do in most programming languages. i think something that holds it back that is underexplored is lack of ability to just... drag files in and manage them with decent tools. many Web-based 'IDEs' have to reinvent file management, etc from scratch, and it's like a separate universe from the rest of your computer, and migrating between one and the other is a real pain (if you want to use some Python library to munge some data and then have a Web-based visualization of it, for instance, or if you want to version files inside it, or make snapshots so you feel comfortable trying stuff, etc).

(what would the persistent storage story here be? localStorage? it's interesting because I almost want each tab to be less of a commodity, less disposable, since now it's the site I'm dragging stuff to and it might have some persistent state attached. like, if I'm programming and editing stuff and saving inside a tab's folder, that tab suddenly really matters; I want it to survive as long as a normal file would, unlike most browser tabs today)

Setup

disclaimer: this extension is an experiment. I think it's cool and useful and provocative, and I usually leave it on, but I make no promises about functionality or, especially, security. applications may freeze, your browser may freeze, there may be ways for Web pages to use the extension to escape and hurt your computer ... In some sense, the whole point of this extension is to create a gigantic new surface area of communication between stuff inside your browser and software on the rest of your computer.

Before doing anything, clone this repository:

$ git clone https://github.com/osnr/TabFS.git

First, install the browser extension.

Then, install the C filesystem.

1. Install the browser extension

(I think for Opera or whatever other Chromium-based browser, you could get it to work, but you'd need to change the native messaging path in install.sh. Not sure about Safari. maybe Edge too? if you also got everything to compile for Windows)

in Chrome

Go to the Chrome extensions page. Enable Developer mode (top-right corner).

Load-unpacked the extension/ folder in this repo.

Make a note of the extension ID Chrome assigns. Mine is jimpolemfaeckpjijgapgkmolankohgj. We'll use this later.

in Firefox

You'll need to install as a "temporary extension", so it'll only last in your current FF session. (TODO: is this fixable? signature stuff?)

Go to about:debugging#/runtime/this-firefox.

Load Temporary Add-on...

Choose manifest.json in the extension subfolder of this repo.

2. Install the C filesystem

First, make sure you have FUSE and FUSE headers. On Linux, for example, sudo apt install libfuse-dev or equivalent. On macOS, get FUSE for macOS.

Then compile the C filesystem:

$ cd fs
$ mkdir mnt
$ make

Now install the native messaging host into your browser, so the extension can launch and talk to the filesystem:

Chrome and Chromium

Substitute the extension ID you copied earlier for jimpolemfaeckpjijgapgkmolankohgj in the command below.

$ ./install.sh chrome jimpolemfaeckpjijgapgkmolankohgj

or

$ ./install.sh chromium jimpolemfaeckpjijgapgkmolankohgj

Firefox

$ ./install.sh firefox

3. Ready!

Go back to chrome://extensions or about:debugging#/runtime/this-firefox and reload the extension.

Now your browser tabs should be mounted in fs/mnt!

Open the background page inspector to see the filesystem operations stream in. (in Chrome, click "background page" next to "Inspect views" in the extension's entry in the Chrome extensions page; in Firefox, click "Inspect")

This console is also incredibly helpful for debugging anything that goes wrong, which probably will happen. (If you get a generic I/O error at the shell when running a command on TabFS, that probably means that an exception happened which you can check here.)

(My OS and applications are pretty chatty. They do a lot of operations, even when I don't feel like I'm actually doing anything. My sense is that macOS is generally chattier than Linux.)

Design

  • fs/: Native FUSE filesystem, written in C
    • tabfs.c: Talks to FUSE, implements fs operations, talks to extension. I rarely have to change this file; it essentially is just a stub that forwards everything to the browser extension.
  • extension/: Browser extension, written in JS
    • background.js: The most interesting file. Defines all the synthetic files and what browser operations they invoke behind the scenes.

My understanding is that when you, for example, cat mnt/tabs/by-id/6377/title.txt in the tab filesystem:

  1. cat on your computer does a system call open() down into macOS or Linux,

  2. macOS/Linux sees that this path is part of a FUSE filesystem, so it forwards the open() to the FUSE kernel module,

  3. FUSE forwards it to the tabfs_open implementation in our userspace filesystem in fs/tabfs.c,

  4. then tabfs_open rephrases the request as a JSON string and forwards it to our browser extension over stdout ('native messaging'),

  5. our browser extension in extension/background.js gets the incoming message; it triggers the route for /tabs/by-id/*/title.txt, which calls the browser extension API browser.tabs.get to get the data about tab ID 6377, including its title,

  6. so when cat does read() later, the title can get sent back in a JSON native message to tabfs.c and finally back to FUSE and the kernel and cat.

(very little actual work happened here, tbh. it's all just marshalling)

TODO: make diagrams?

License

GPLv3

things that could/should be done

  • add more synthetic files!! view DOM nodes, snapshot current HTML of page, spelunk into living objects. see what your code is doing. make more files writable also

  • build more (GUI and CLI) tools on top, on both sides

  • more persistence stuff. as I said earlier, it would also be cool if you could put arbitrary files in the subtrees, so .git, Mac extended attrs, editor temp files, etc all work. make it able to behave like a 'real' filesystem. also as I said earlier, some weirdness in the fact that tabs are so disposable; they have a very different lifecycle from most parts of my real filesystem. how to nudge that?

  • why can't Preview open images? GUI programs often struggle with the filesystem for some reason. CLI more reliable

  • multithreading. the key constraint is that I pass -s to fuse_main in tabfs.c, which makes everything single-threaded. but I'm not clear on how much it would improve performance? maybe a lot, but not sure. maybe workload-dependent?

    the extension itself (and the stdin/stdout comm between the fs and the extension) would still be single-threaded, but you could interleave requests since most of that stuff is async. like the screenshot request that takes like half a second, you could do other stuff while waiting for the browser to get back to you on that (?)

    another issue is that applications tend to hang if any individual request hangs anyway; they're not expecting the filesystem to be so slow (and to be fair to them, they really have no way to). some of these problems may be inevitable for any FUSE filesystem, even ones you'd assume are reasonably battle-tested and well-engineered like sshfs?

  • other performance stuff -- remembering when we're already attached to things, reference counting, minimizing browser roundtrips. not sure impact of these

  • TypeScript (how to do with the minimum amount of build system and package manager nonsense?)

  • look into support for Firefox / Windows / Safari / etc. best FUSE equiv for Windows? can you bridge to the remote debugging APIs that all of them already have to get the augmented functionality? or just implement it all with JS monkey patching?

  • window management. tab management where you can move tabs. 'merge all windows'

hmm

  • Processes as Files (1984), Julia Evans /proc comic lay out the original /proc filesystem. it's very cool! very elegant in how it reapplies the existing interface of files to the new domain of Unix processes. but how much do I care about Unix processes now? most programs that I care about running on my computer these days are Web pages, not Unix processes. so I want to take the approach of /proc -- 'expose the stuff you care about as a filesystem' -- and apply it to something modern: the inside of the browser. 'browser tabs as files'

  • there are two 'operating systems' on my computer, the browser and Unix, and Unix is by far the more accessible and programmable and cohesive as a computing environment (it has concepts that compose! shell, processes, files), even though it's arguably the less important to my daily life. how can the browser take on more of the properties of Unix?

  • it's way too hard to make a browser extension. even 'make an extension' is a bad framing; it suggests making an extension is a whole Thing, a whole Project. like, why can't I just take a minute to ask my browser a question or tell it to automate something? lightness

  • a lot of existing uses of these browser control APIs are in an automation context: testing your code on a robotic browser as part of some pipeline. I'm much more interested in an interactive, end-user context. augmenting the way I use my everyday browser. that's why this is an extension. it doesn't require your browser to run in some weird remote debugging mode that you'd always forget to turn on. it just stays running

  • system call tracing (dtruss or strace) super useful when anything is going wrong. (need to disable SIP on macOS, though.) the combination of dtruss (application side) & console logging fs request/response (filesystem side) gives a huge amount of insight into basically any problem, end to end

    • there is sort of this sequence that I learned to try with anything. first, either simple shell commands or pure C calls -- shell commands are more ergonomic, C calls have the clearest mental model of what syscalls they actually invoke. only then do you move to the text editor or the Mac Finder, which are a lot fancier and throw a lot more stuff at the filesystem at once (so more can go wrong)
  • for a lot of things in the extension API, the browser can notify you of updates but there's no apparent way to query the full current state. so we'd need to sit in a lot of these places from the beginning and accumulate the incoming events to know, like, the last time a tab was updated, or the list of scripts currently running on a tab

  • async/await was absolutely vital to making this readable

  • filesystem as 'open input space' where there are things you can say beyond what this particular filesystem cares about. (it reminds me of my Screenotate -- screenshots give you this open field where you can carry through stuff that the OCR doesn't necessarily recognize or care about. same for the real world in Dynamicland; you can scribble notes or whatever even if the computer doesn't see them)

  • now you have this whole 'language', this whole toolset, to control and automate your browser. there's this built-up existing capital where lots of people and lots of application software and lots of programming languages ... already know the operations to work with files

  • this project is cool bc i immediately get a dataset i care about. I found myself using it 'authentically' pretty quickly -- to clear out my tabs, to help me develop other things in the browser so I'd have actions I could trigger from my editor, ...

  • stuff that looks cool / is related:

  • rmdir a non-empty directory -- when I was thinking if you should be able to rm by-id/TABID even though TABID is a folder. I feel like a new OS, something like Plan 9, should generalize its file I/O APIs just enough to avoid problems like this. like design them with the disk in mind but also a few concrete cases of synthetic filesystems, very slow remote filesystems, etc

do you like setting up sockets? I don't



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

The naval shipworm helped bring about the Industrial Revolution



from Hacker News https://twitter.com/davidfickling/status/1344404814256504832

Beowulf: A New Translation

INTRODUCTION


My love affair with Beowulf began with Grendel’s mother, the moment I encountered her in an illustrated compendium of monsters,1 a slithery greenish entity standing naked in a swamp, knife in hand. I was about eight, and on the hunt for any sort of woman-warrior. Wonder Woman and She-Ra were fine, but Grendel’s mother was better. She had a ferocious look and seemed to give precisely zero fucks, not that I had that language to describe her at that point in my life. In the book I first saw her in, there was no Grendel, no Beowulf, no fifty years a queen. She was just a woman with a weapon, all by herself in the center of the page. I imagined she was the point of whatever story she came from. When I finally encountered the actual poem, years later, I was appalled to discover that Grendel’s mother was not only not the main event but also, to many people, an extension of Grendel rather than a character unto herself, despite the significant ink devoted to her fighting capabilities. It aggravated me enough that I eventually wrote a contemporary adaptation of BeowulfThe Mere Wife, a novel in which the Grendel’s mother character is a protagonist, a PTSD-stricken veteran of the United States’ wars in the Middle East. That might have been the end of it, but by that point I’d tumbled head over heels into Beowulf itself, and was, like everyone who ever translates it, obsessed.

It’s a somewhat unlikely object of obsession, this thousand-ish-year-old epic. Beowulf bears the distinction of appearing to be basic—one man, three battles, lots of gold—while actually being an intricate treatise on morality, masculinity, flexibility, and failure. It’s 3,182 lines of alliterative wildness, a sequence of monsters and would-be heroes. In it, multiple old men try to plot out how to retire in a world that offers no retirement. Hoarders of all kinds attempt to maintain control of people, halls, piles of gold, and even the volume of the natural world. Queens negotiate for the survival of their sons, attempt to save their children by marrying themselves to warriors, and, in one case, battle for vengeance on their son’s murderers. Graying old men long for one last exam to render them heroes once and for all. The phrase “That was a good king” recurs throughout the poem, because the poem is fundamentally concerned with how to get and keep the title “Good.” The suspicion that at any moment a person might shift from hero into howling wretch, teeth bared, causes characters ranging from scops to ring-lords to drop cautionary anecdotes. Does fame keep you good? No. Does gold keep you good? No. Does your good wife keep you good? No. What keeps you good? Vigilance. That’s it. And even with vigilance, even with courage, you still might go forth to slay a dragon (or, if you’re Grendel, slay a Dane), die in the slaying, and leave everyone and everything you love vulnerable. The world of the poem—a fantastical version of Denmark in the fifth to early sixth century and the land of the Geats, in present-day Sweden—is distant, but the actions of the poem’s characters are familiar.

As much as Beowulf is a poem about Then, it’s also (and always has been) a poem about Now, and how we got here. The poem is, after all, a poem about willfully blinkered privilege, about the shock and horror of experiencing discomfort when one feels entitled to luxury.

There are many translations out there, enough that you could read one a day for months and not repeat. They make up a startlingly diverse corpus of interpretations and styles, with the occasional screeching veer into new plot points. (How about the transgressive and fairly persuasive notion that the last survivor of a forgotten tribe, in burying his people’s gold, transforms by curse into the dragon?)2 Every English-language translator’s take on how to translate this text is motivated by different ideas of how to use modern English to convey things inexpressible in it.

This translation, for example, was completed during the first months of my son’s life. Parenting a baby is listening to someone use a language in which certain sounds mean a slew of things, and one must rely heavily on context to gain clarity; a language in which there is no way to translate accurately the ancient sound that means “hungry,” because, to the preverbal speaker, the sound means and is used to signal a compendium of things, something more like “belly hurt—longing—breast—empty mouth—bottle—swallow—milk—help.”

While this gloss is somewhat tongue-in-cheek, it’s not far from the actuality of Old English translation. It’s possible to make a case for more than one definition of many words, and the challenge is to land on an interpretation that braids rationally into the narrative, without translating a male warrior into a bear, or a woman warrior into a literal sea wolf rather than a metaphoric one.3 You must choose wisely, and then, somehow, structure those wise (or frustrated) choices into poetry.

With this text, perfection is impossible. The poem was written in the language we now call Old English, sometime between the mid-seventh and the end of the tenth centuries, and exists in a lone manuscript copy, the Nowell Codex. The version contained therein was written down sometime between AD 975 and 1025, by two scribes, A and B, with different handwriting and different tendencies toward error. Add to this the fact that the manuscript isn’t intact: bits of poem were lost over the centuries—first in the gestation of the written version itself, which was at the mercy of memory and (presumably) mead, and later, in a library fire in 1731, which badly singed the edges of the manuscript. It was rebound in the late nineteenth century, and in the interim, its edges crumbled beyond resurrection. Worms feasted. Least visibly and most significantly, scribal emendations changed the nature of the story in both subtle and unsubtle ways.4 Gaps were plugged with metric maybes, and lacunae inserted into lines that appear whole, to make sense of shifts in tone. All this is to say that Beowulf has been wrangled with, wrung out, and reworked for centuries. It’s been written upon almost as much by translators and librarians as it was by the original poet(s) and scribes.

The original Beowulf was composed by an author who imagined a world in which a monster is infuriated by loud music, a dragon ripples luxuriously about beloved gold, an elderly woman is able to make viable physical war against all the king’s men, and a young warrior can hold his breath for a full day while fighting sea monsters, winning his battle only because God shines a spotlight on a slaying sword. A “perfect” translation would require the translator to time travel fantastically rather than historically—more Narnia than Bill & Ted’s Excellent Adventure. As if this weren’t enough, the language of the poem is as much a world-building tool as the plot is, engineered with the poet’s own anachronistic filter, an archaic, lyric lexicography.5

“If you wish to translate, not re-write, Beowulf,” J.R.R. Tolkien wrote in 1940, “your language must be literary and traditional: not because it is now a long while since the poem was made, or because it speaks of things that have since become ancient; but because the diction of Beowulf was poetical, archaic, artificial (if you will), in the day the poem was made.”6

Tolkien and I wouldn’t have agreed when it comes to the sort of language required for a translation of Beowulf—perceptions of “literary” and “traditional” language vary widely depending on who’s doing the perceiving, and Tolkien had a liking for the courtly that I do not share—but we agree that the original’s dense wordplay must be reckoned with.

Amid a slew of regressions in the past half decade, I must cite a win—the democratization of information. Access to formerly gate-kept texts has been radically broadened. Until recently, it was a cotton-gloved privilege to view the original manuscript of Beowulf. Now a click, and there you are, looking at handwriting a thousand years old: “Hwæt. We Gardena in geardagum, þeodcyninga, þrym gefrunon…” Not only is the original accessible to anyone with an internet connection, so are a huge number of translations and volumes of evolving scholarship, many long out of print. This translation exists because of that access.

It is both pleasurable and desirable to read more than one translation of this poem, because when it comes to translating Beowulf, there is no sacred clarity. What the translated text says is a matter of study, interpretation, and poetic leaps of faith. Every translator translates this poem differently. That’s part of its glory.

And so, I offer to the banquet table this translation, done by an American woman born in the year 1977, a person who grew up surrounded by sled dogs, coyotes, rattlesnakes, and bubbling natural hot springs nestled in the wild high desert of Idaho, a person who, if we were looking at the poem’s categories, would fall much closer in original habitat to Grendel and his mother than to Beowulf or even the lesser denizens of Hrothgar’s court.

I came to this project as a novelist, interested specifically in rendering the story continuously and clearly, while also creating a text that feels as bloody and juicy as I think it ought to feel. Despite its reputation to generations of unwilling students, forced as freshmen into arduous translations, Beowulf is a living text in a dead language, the kind of thing meant to be shouted over a crowd of drunk celebrants. Even though it was probably written down in the quiet confines of a scriptorium, Beowulf is not a quiet poem. It’s a dazzling, furious, funny, vicious, desperate, hungry, beautiful, mutinous, maudlin, supernatural, rapturous shout.

In contrast to the methods of some previous translators, I let the poem’s story lead me to its style. The lines in this translation were structured for speaking, and for speaking in contemporary rhythms. The poets I’m most interested in are those who use language as instrument, inventing words and creating forms as necessary, in the service of voice. I come from the land of cowboy poets, and while theirs is not the style I used for this translation, I did spend a lot of time imagining the narrator as an old-timer at the end of the bar, periodically pounding his glass and demanding another. I saw it with my own eyes.

A brief and general word about meter and style tropes: early English verse is distinguished by both alliteration and stress patterns over a caesura (in oral versions, the caesura is a pause—on the page, a gap between the two halves of a line). Each half line contains two stressed syllables; the two stressed syllables in the first half line alliterate with the first stressed syllable in the second. Rhyme is used in Beowulf, but less predictably. It’s typically used to emphasize sequences—waves crashing against a shore, for example. And stylistically, Beowulf employs a variety of compound words, or kennings, to poetically describe both the commonplace and the astounding. Hence, we’ve got some wonderful and distinctive things: “whale-road” for sea; “battle-sweat” for blood; “sky-candle” for sun.

Like everyone who’s ever translated this text, I had some fun. After reading a variety of translations mimicking early English meter, and attempting a version myself, I decided that corpse-littered hill wasn’t one I wished to die on. Likewise, attempts to translate this text into other meters, which have typically yielded inadvertent hilarity. At some point, I encountered A. Diedrich Wackerbarth’s 1849 ballad translation,7 here quoted in the introduction of Grendel’s mother:

The mother Fiend, a Soul had she

Blood-greedy like the Gallows-tree,

And she for deadly Vengeance’ Sake

Will now the Battle undertake.

I didn’t desire to graft peach branches to a cactus, or vice versa, and so I gave myself leave to play with all the traditional aspects, preserving many kennings and inventing some of my own, while also employing the sensibilities of a modern poet rather than an ancient one. This translation rhymes in a variety of ways, including the occasional heroic couplet. I love raucous rhyme schemes and rampant alliteration, and the near universally derided line from John Richard Clark Hall’s 1901 translation, “ten timorous troth-breakers,” delights me. Sure, it’s undignified; sure, it’s nasty—but so are the runaway warriors it references. My alliteration (and embedded rhyme) often rolls over line breaks, which would be forbidden in early English metric rules. In this translation, though, I wanted the feeling of linguistic links throughout. The poem employs time passing and regressing, future predictions, quick History 101s, neglected bits of necessary information flung, as needed, into the tale. The original reads, at least in some places, like Old English freestyle, and in others like the wedding toast of a drunk uncle who’s suddenly remembered a poem he memorized at boarding school.

There are noble characters in Beowulf, but the poem itself is not noble. There is elevated language in Beowulf, but the poem feels populist. It’s entertaining, episodic, and full of wonders. As I constructed the persona of the narrator, other things about the poem fell into place—the insistent periodic recaps for a distracted multinight audience, the epithets and adamant character calibrations interspersed throughout (“That was a good king”). I emphasized those things where I found them, both for the mnemonic aid factor and for the feeling of a communal, colloquial history.

There has been much debate about the level to which the translated text should be archaized to emphasize for modern readers the alien landscape of early English verse, and specifically to what degree translators should mimic the poet’s own choice to use words already archaic and poetic at the time of the poem’s composition. In some cases, the urge to archaize won soundly over the urge to make sense. Thus, there are plenty of crinolined “forsooth” and “ween” ridden translations to choose from, should the reader be so inclined, as well as a series of Scots-tinged selections: “mickle” has tempted many, as has a hunger for “twixt,” and though much of this is attested in the Old English, in translation one can easily devolve into a peculiar Elizabethan pastiche.

Given that both poetic voice and communicative clarity are my interests here, my diction reflects access to the entirety of the English word-hoard—some of these words legitimately archaic or underknown (“corse,” “sere,” “sclerite”), others recently written into lexicons of slang or thrown up by new cultural contexts (“swole,” “stan,” “hashtag: blessed”), and already fading into, if not obscurity, uncertain status. Language is a living thing, and when it dies, it leaves bones. I dropped some fossils here, next to some newborns. I’m as interested in contemporary idiom and slang as I am in the archaic. There are other translations if you’re looking for the language of courtly romance and knights. This one has “life-tilt” and “rode hard … stayed thirsty” in it.

Back I come, for that reason, to hwæt. It’s been translated many ways. “Listen.” “Hark.” “Lo.” Seamus Heaney translated it as “So,” an attention-getting intonation, taken from the memory of his Irish uncle telling tales at the table.8

I come equipped with my own memories of sitting at the bar’s end listening to men navigate darts, trivia, and women, and so, in this book, I translate it as “Bro.” The entire poem, and especially the monologues of the men in it, feels to me like the sort of competitive conversations I’ve often heard between men, one insisting on his right to the floor while simultaneously insisting that he’s friendly. “Bro” is, to my ear, a means of commanding attention while shuffling focus calculatedly away from hierarchy.

Depending on tone, “bro” can render you family or foe. The poem is about that notion, too. Marital pacts are made and catastrophes ensue, kingdoms are offered and rejected, familial bonds are ensured not with blood, but with gold. When I use “bro” elsewhere in the poem, whether in the voice of Beowulf, Hrothgar, or the narrator, it’s to keep us thinking of the ways that family can be sealed by formulation, the ways that men can afford (or deny) one another power and safety by using coded language, and erase women from power structures by speaking collegially only to other men.

There’s another way of using “bro,” of course, and that is as a means of satirizing a certain form of inflated, overconfident, aggressive male behavior. I think the poet’s own language sometimes does that, periodically weighing in with commentary about how the men in the poem think all is well, but have discerned nothing about blood relatives’ treachery and their own heathen helplessness. Is this text attempting to be a manual for successful masculinity? No, although at a glance it appears to be a hero story. Beowulf is a manual for how to live as a man, if you are, in fact, more like the monsters than the men. It’s about taming wild, solitary appetites, and about the failure to tame them. It is not, in the poet’s opinion, entirely to Beowulf’s credit that he continues wild and solitary into old age. Compare him with another old man, Ongentheow, whose long-form story is told by the messenger bringing ill tidings to Beowulf’s people after Beowulf’s death. That old man, though an enemy to the Geats, is depicted as responsible to his wife, children, and people, battling strategically on their behalf, thinking of their safety even as he is cornered and killed. The humans in Beowulf are communal, battling together, leaders alongside lesser-ranked warriors. Those who are superhuman (or supernatural)—Grendel, his mother, the dragon, and Beowulf—battle solo and are ultimately weakened by their wild solitude.

There’s a geomythological theory that the larger-than-life men in this poem—Hygelac, mentioned in other texts as a giant; Beowulf; Grendel—came into the poetic imagination due to medieval discoveries of fossilized mammoth bones, which, when incorrectly reassembled, look like nothing so much as tremendous human skeletons.9 The theory is tempting in a variety of ways, among them the notion that these giant men were literally made of monsters. These physical “mistranslations” bear some similarity to the poem’s construct (and interrogation) of impervious masculinity. An emotional wound can send a previously powerful man into a swift, suicidal tailspin. See Hrethel and Hrothgar, and even Beowulf, rushing solo at a dragon, attempting to prove himself to an audience of young men who turn out to be mostly cowards.

Beowulf is usually seen as a masculine text, but I think that’s somewhat unfair. The poem, while (with one exception) not structured around the actions of women, does contain extensive portrayals of motherhood and peace-weaving marital compromise, female warriors, and speculation on what it means to lose a son. In this translation, I worked to shine a light on the motivations, actions, and desires of the poem’s female characters, as well as to clarify their identities. While there are many examples of gendered inequality in the poem, there is no shortage of female power.

Grendel’s mother, my original impetus for involvement with this text, is almost always depicted in translation as an obvious monster rather than as a human woman—and her monstrosity doesn’t typically allow even for partial humanity, though the poem itself shows us that she lives in a hall, uses weapons, is trained in combat, and follows blood-feud rules.

“Ogress … inhuman troll-wife” —Tolkien, 1926, published 2014

“That female horror … hungry fiend” —Raffel, 1963

“Ugly troll-lady” —Trask, 1997

“Monstrous hell-bride … swamp-thing from hell” —Heaney, 1999

It makes some sense that she’d be translated that way. Her son, Grendel, eats people and can carry home a doggie bag full of warriors. It’s just the two of them living in their under-mere hall, and for many late nineteenth- and early twentieth-century translators of this text, it would only have followed for the monstrous portion of Grendel’s parentage to be his mother rather than his absentee father. For most of those translators, the difficulty of imagining a human woman fully armed, fully elderly (she’s been ruler of her kingdom as long as Hrothgar’s been ruler of his), would have been insurmountable. There are other explanations for monsterhood in Grendel’s mother, of course—some interesting ones. I’m somewhat persuaded by adjacent lore surrounding troll-transformation due to rape,10 if only because the poisonous myth that a raped woman is a ruined woman, thus an abomination and thus, all too possibly, evil, has persisted as long as women have. Grendel’s father is an unknown. That said, though, Grendel’s mother doesn’t behave like a monster. She behaves like a bereaved mother who happens to have a warrior’s skill.

The tradition of monstrous depiction assisted by monstrous physical descriptors persevered in translation (though not necessarily in scholarship) into the later years of the twentieth century and beyond, particularly after Frederick Klaeber’s 1922 glossary defined the word used to reference Grendel’s mother, aglaec-wif, as “wretch, or monster, of a woman.” Never mind that aglaec-wif is merely the feminine form of aglaeca, which Klaeber defines as “hero” when applied to Beowulf, and “monster, demon, fiend” when referencing Grendel, his mother, and the dragon. Aglaeca is used elsewhere in early English to refer both to Sigemund and to the Venerable Bede, and in those contexts, it’s likelier to mean something akin to “formidable.” Fair enough. Multiple meanings to Old English words, after all.

Grendel’s mother is referred to in the poem as “ides, aglaec-wif,” which means, given this logic, “formidable noblewoman.” She isn’t physically described, beyond that she looks like a woman, and is tall. The Old English word for fingers, fingrum, has frequently been translated as “claws,” but Grendel’s mother fights effectively with a knife, and wielding a knife while also possessing long nails is—as anyone who’s ever had a manicure knows—a near impossibility. The word brimwylf, or “sea-wolf,” is also used as a supporting argument for monstrosity, but it’s a guess. The manuscript itself reads brimwyl, which may have been meant to be brimwif. Elsewhere, Grendel’s mother is referred to as a merewif, or “ocean-woman,” so it’s very possible that scribal error introduced a wolf where a wife should be, and that traditions of gendered hierarchy made a monster of a mother. In any case, “sea-wolf” is a poetic term, and might be as easily applied to Beowulf as it is to Grendel’s mother. In Beowulf, it seems likely to me that some translators, seeking to make their own sense of this story, have gone out of their way to bolster Beowulf’s human credentials by amplifying the monstrosity of Grendel’s mother, when in truth, the combatants are similar. They’re both extraordinary fighters, and the battle between Beowulf and Grendel’s mother is, unlike other battles in the poem, a battle of equally matched warriors. God’s established soft spot for Beowulf is the deciding factor, not physical strength.

Ecgtheow’s heir would’ve been filleted, recategorized

as MIA, and left to rot in her cavern, had not his suit

saved him. That, too, was God’s work.

The Lord, maker of miracles, sky-designer,

had no trouble leveling the playing field

when Beowulf beat the count and stood.

He glimpsed it hanging in her hoard, that armory

of heirlooms, somebody’s birthright. A sword,

blessed by blood and flood …

The poet’s depiction of Grendel’s mother is complex: as admiring as it is critical. The proximity in the text of the heroic Hildeburh, whose narrative of loss and vengeance is only a step and a knife removed from Grendel’s mother’s story, isn’t accidental. In terms of narrative balance, I’m interested in versions of the Beowulf story that emphasize Grendel’s mother’s right to recompense for the death of her son—early English feud rules allow blood for blood, and, in killing one of Hrothgar’s advisers, Grendel’s mother exacts a legal revenge. Later in the story, Beowulf himself takes feud-rule vengeance for the death of his young king Heardred, arming rebels to eliminate Heardred’s killer, Onela.

I don’t know that Grendel’s mother should be perceived in binary terms—monster versus human. My own experiences as a woman tell me it’s very possible to be mistaken for monstrous when one is only doing as men do: providing for and defending oneself. Whether one’s solitary status is a result of abandonment by a man or because of a choice, the reams of lore about single, self-sustaining women, and particularly about solitary elderly women, suggest that many human women have been, over the centuries, mistaken for supernatural creatures simply because they were alone and capable. For all these reasons, I’ve translated Grendel’s mother here as “warrior-woman,” “outlaw,” and “reclusive night-queen.”

Throughout the poem, I’ve also encouraged moments in which the feminine might already be poetically suggested. Thus, lines 1431–1439, wherein Hrothgar and Beowulf’s men arrive at the mere and kill a sea monster, become:

A Geat drew his bow and struck

a slithering one. An arrow piercing its scales, it struggled

and thrashed in the water. The other men, invigorated,

sought to join the killing; a second shot, a third,

then they slung themselves into the shallows

and speared it. This monster they could control.

They cornered it, clubbed it, tugged it onto the rocks,

stillbirthed it from its mere-mother, deemed it damned,

and made of it a miscarriage …

Similarly, in lines 1605–1610, as Beowulf discovers that the sword he’s used to kill Grendel’s mother is melting, I used the existing lines, which could suggest a literal defrosting of springs, to suggest a situation in which Spring is a captive, chained and released by God. There is plenty in the world history of pagan seasonal myth to support such a reading, and similar references to captivity and power abound in the poem, including in the scene these lines are from:

Below, in Beowulf’s hands, the slaying-sword

began to melt like ice, just as the world thaws

in May when the Father unlocks the shackles

that’ve chained frost to the climate, and releases

hostage heat, uses sway over seasons to uncage

His prisoner, Spring, and let her stumble into the sun.

I see the women in this story as part of a continuum of experience, just as the men are. Freawaru, the Bartered Beautiful Bride, who takes the first steps into a blood-wedding. Modthryth, the Bartered Bad Bride, who seeks preemptive vengeance on the world of men before entering an unexpectedly happy marriage. (Perhaps unsurprisingly, Modthryth is often the only character cut from children’s versions of Beowulf.) Hygd, the Self-Bartering Bride, who attempts (and fails) to negotiate her son’s survival by persuading Beowulf to ascend to kingship over him. Hildeburh, the Failed Peaceweaver, who incubates overwinter a yearning for vengeance, after her son, brother, and ultimately her husband are killed. Wealhtheow, the Canny Queen, who is often depicted as acquiescent. In fact, her speech to the hall during the post-Grendel celebration is a masterpiece of negotiation. Within her role as an obedient wife, she works the room to her own advantage, attempting to gain security for her sons from the hero her husband has become smitten with. I translated Wealhtheow’s speech to clarify the threats I think have always been part of it. Grendel’s Mother, the Un-Husbanded Warrior, who rules her own kingdom until she is elderly, losing her son, but succeeding in exacting bloody vengeance. To that coven, I’ve added the dragon,11 curled about her hoard, her bedchamber invaded by someone seeking to burgle. Her vengeance for that theft lights the sky and land on fire. After vengeance comes grief. The last woman in the story is the Geatish woman, the Mourner, not mourning Beowulf so much as her own future without a king, new versions of old horrors—blood, swords, and men. That this occurs just prior to Beowulf’s funerary tribute, his men repeating variations on “That was a good king,” is no accident. Her agonized inclusion here renders that final round of tributes ironic.

In the end, Beowulf depicts edge-times and border wars, and we’re in them still. As I write this introduction, and as I worked on this translation over the past few years, the world of the poem felt increasingly relevant. I regularly found myself muttering speeches written a thousand years ago as I watched their contemporary equivalents unfold on the news. This moment, and the moments before it, the centuries of colonialist impulse and kingdom-building, the peoples being built upon, are things that concerned the Beowulf poet and concern this translator, too.

The news cycle is filled with men Hrothgar’s age failing utterly at self-awareness, and even going full Heremod. Politics twist paradoxically into ever more isolationist and interventionist corners, increasingly based in hoarding and horde-panic. The world, as ever, is filled with desolate places and glittering ones, sharing armed borders. Children are confiscated. Refugees are imprisoned. The people doing the imprisoning claim they’re persecuting criminals, monsters, but some of those are infants, and most of those are running from worse wars in their own homelands. We are, some of us anyway, living the Geatish woman’s lament, writ large.

In the United States of 2020, everyone, including small children, has the capacity to be as deadly as the spectacular warriors of this poem. The teeth, swords, and claws of the Old English epic have been converted into automatic possibilities, the power to slay thirty men in a minute no longer the genius of a select few but a purchasable perk of weapon ownership. The kings and dragons of the poem possess hoards akin to those of basic American households: iPhone idols, nonstick cookware, unused goblets counted by the dozen. Queen- and king-size beds for the queens and kings of small halls in the suburbs, fake feathers and swansdown like the reclaimed wings of minor monsters, bought and shipped overnight by Amazon Prime—itself a corporation named for a legendary tribe of female warriors, though in this case the title of warrior stands in for consumer convenience, sorcerous shipping speeds, access to the great, luxuriant, on-sale everything.

And yet.

Possessions bring no peace. So many wars, so many kingdoms, so much calamity. As I write this, the noncorporate Amazon is burning, and Australia is burning, too. In the north, closer to the places of this poem, icebergs calve into already-brimming seas, and formerly frozen lands reveal the bones and treasures of the dead, melting into mud. COVID-19, a coronavirus, sweeps across the world’s population, shifting our understanding of normalcy daily, if not hourly. Rulers stand shaking their fists and shouting, and though the shouting is done these days on Twitter, the content is the same as it ever was. We will come for you. You don’t know who God is. You can’t have the riches of the world. Everything is ours.

Though Beowulf is written from the corner of the people in power, we can see the impoverished and imperiled in the exposition. The farmers looking up, fearing the blast, as a dragon scars their fields. The commoners who live abutting the mere, who watch Grendel and his mother and report to their king. The slave who steals a goblet from a dragon, hoping to use it to pay off some unwritten debt to his master. Those who report in this poem often report because they’re hoping desperately to change their status, to come in from the cold to a position nearer the fire. And on the other side of it? Kings froth at the mouth and care nothing for their citizens. A hero dies by dragon, and leaves his kingdom to invaders. The home that a soldier or a bride dreams of returning to, when the war is finally over, may be a scorch mark on the earth when they finally make it back.

Storytellers spit a lot of truth in Beowulf. They bear dire reports, recaps, and comparisons, or as the Geatish woman does, lament horrors to come. They’re also the ones doing the burying, the last survivors. I can only imagine the living role of the Beowulf poet—but the poem itself gives us some intriguing examples of scops declaiming material at odds with celebrations. In an oral tradition, even a king’s poet would’ve needed to flex to get the floor. Beowulf itself is a flex by the poet, dazzle-camouflaging early English actuality in an imagined elsewhere of monsters and boar-helms. If nothing else, the history of stories is a history of fantastical versions of what we might be and become.

When I think about Beowulf these days, some thirty-five years after I first saw Grendel’s mother standing alone with her knife and her rage, I often find myself thinking about Beowulf’s barrow. Some think it’s just meant to be a monument. Others think the barrow is intended to be a beacon, meant to warn ships of jutting land. My interpretation varies depending on the day, but I tend to think that the stories themselves are the lighthouses.

Sometimes, I picture a map of the world, the kind of map I used to pore over as a child, obsessing over the now-familiar warning: HIC SUNT DRACONES. On that imaginary map, I’ve added story-lighthouses. They’re all over the place. Look here, their light tells us. Here’s a safe spot to tie up your boat and disembark. Here’s a spot to watch out for. Out here are dragons. Out here are the stories of those dragons, and of those heroes—and more.

There are also stories that haven’t yet been reckoned with, stories hidden within the stories we think we know. It takes new readers, writers, and scholars to find them, people whose experiences, identities, and intellects span the full spectrum of humanity, not just a slice of it. That is, in my opinion, the reason to keep analyzing texts like Beowulf. We might, if we analyzed our own long-standing stories, use them to translate ourselves into a society in which hero making doesn’t require monster killing, border closing, and hoard clinging, but instead requires a more challenging task: taking responsibility for one another.

MDH

New York City

March 3, 2020


Copyright © 2020 by Maria Dahvana Headley



from Hacker News https://ift.tt/2KU4Yjc

The largest dam-removal in US history

“Prior to dam removal snorkel surveys of the lower Elwha (2009-11) never revealed more than one or two summer steelhead,” writes NOAA fish biologist Sarah Morley and colleagues in a May 2019 paper. “Sonar [research] estimated the 2018 summer run population to be at least 300 fish. Like the phoenix, summer runs have arisen from the ashes.”

World precedent

To remove dams as large as those on the Klamath River will be a complex operation. In the Klamath River Renewal Corporation’s plan for the removals, it will start with drawing down the water levels behind each dam wall. Demolition comes next – largely through drilling and blasting, with trucks removing the rubble. The newly exposed reservoir bed is then covered in mulch and indigenous seeds. Not only does this help restore this habitat to its natural state: both will be critical to reduce the amount of sediment washed down to the sea. In experiments conducted by Ellen Mussman and others ahead of the Elwha dam removals, plants reduced erosion by 33%, while mulch reduced it by 99%. Together, these could be a highly effective means to stop erosion, the researchers conclude.

And while it might seem counterintuitive that a power company would be in favour of dam removals, it actually makes good business sense for PacifiCorp. This is because to renew the operating licence for these dams, its ratepayers would have to foot an approximately $400m (£308m) bill for upgrades to ensure compliance with legislation (including the installation of costly fish ladders at each dam that would enable migration).

Removing the dams is a cheaper option: under the Klamath Hydroelectric Settlement Agreement (KHSA), customers will only have to pay $200m (£154m), with an additional $250m (£193m) coming from the State of California. The removals have been endorsed by the Public Utility Commissions of both Oregon and California as being in the interests of ratepayers. Bob Gravely, regional business manager of Pacific Power (the PacifiCorp subsidiary which runs the dams) says that the dam removals “became a better outcome for customers”.

Overall, little will be lost in terms of renewable energy generation: the dams represent less than 8% of PacfiCorp’s 2,208 MW current renewable generation capacity, and as of July 2020 a further 1,190 MW of renewable capacity was under construction. The utility anticipates an additional 3,743MW of renewables coming on stream by the end of 2023.

“I think one of the coolest parts about this whole project is we’re setting a precedent for the world to follow,” says Cordalis. “I think the approach of working together with the company, with states, with tribes, with environmentalists, to reach an agreement that allows these dams to be removed for the tribes and for American citizens to benefit from the restoration of this river in a way that costs less money than it would be to relicense [the dams] – that's really a model of how you might approach sustainable river restoration across the world.”

The dam removals were slated for 2022, though with negotiations still ongoing between the company, the tribes and other stakeholders, that date is still unconfirmed. But Cordalis says she still remains hopeful. “We’re getting very close,” she says.

“I think we all understand that there is an indigenous tribe [and] a culture at stake,” says Myers. “I think it has held fast in these negotiations that these dam removal efforts are as much to remove the dams for the ecology and benefits of salmon restoration as they are to the wrongs that took place in this country for the last 150, 200 years against Native Americans.”

For the Yurok, Myers says the dams are seen as “monuments to colonialism” and compares them to statues of Confederate generals. “These dams are statues of the war that we fought here on the Klamath River. And these statues destroy our river, the landscape, our culture. We have to deal with them every single day.” In response to this, Pacific Power’s Gravely says: “We are very pleased to be part of a settlement agreement that allows the desire of Klamath Basin Tribes and others for dam removal to move forward” while also ensuring protections for electricity customers in six states.

Myer says the treaty negotiated between Yurok and the federal government in the 1850s limited the tribe to their reservation in return for a good standard of living in perpetuity. Although, he says, the federal government failed to live up to its end of the bargain, dam removals would bring that goal closer.

Anticipating the return of healthy fish runs, the tribe has already built a salmon harvesting plant – both for commercial and subsistence fishing – done sustainably, just as Yurok have done for millennia.

“We have been surviving off the river’s resources and living symbiotically with it since time immemorial,” says Cordalis. “Our creation story talks about how the creator made the river, the land, the animals, the plants, and then made the people and said to the people, ‘This will all be here for you and you won't want for anything as long as you live in a sustainable way with the natural environment, and as long as you don't take more than you need to support your family.’ That initial religious principle informs how we interact with the river, how we interact with all of its resources and the natural world.”

While the dams have increasingly threatened this symbiosis, their removal will once more enable the ancient connection between the Yurok people and the Klamath River to flourish.  

--

Update

On 17 November 2020, a new agreement was signed between PacifiCorp, the Yurok and other stakeholders to facilitate the dams' removals. Should federal regulators approve, the project will begin in 2022, with the demolitions slated for 2023.

--

The emissions from travel it took to report this story were 0kg CO2. The digital emissions from this story are an estimated 1.2g to 3.6g CO2 per page view. Find out more about how we calculated this figure here.

--

Join one million Future fans by liking us on Facebook, or follow us on Twitter or Instagram.

If you liked this story, sign up for the weekly bbc.com features newsletter, called “The Essential List”. A handpicked selection of stories from BBC FutureCultureWorklife, and Travel, delivered to your inbox every Friday.



from Hacker News https://ift.tt/2JXNXEb