Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]

Yale e360

Yale e360
Chimps Found Treating Each Other's Wounds Chimpanzees in Uganda were found treating the injuries of other, unrelated chimps, including those...
19 hours ago
2
19 hours ago
Chimpanzees in Uganda were found treating the injuries of other, unrelated chimps, including those caught in hunting snares.  Read more on E360 →
Yale e360
Foreign Trawlers Plunder Senegalese Waters, Driving Small Fishers to Migrate to Spain A foreign fleet of industrial trawlers is exhausting fish stocks in Senegal, driving artisanal...
2 days ago
2
2 days ago
A foreign fleet of industrial trawlers is exhausting fish stocks in Senegal, driving artisanal fishers to undertake a difficult, and sometimes deadly, migration to Spain. Read more on E360 →
Yale e360
How Natural Solutions Can Help Islands Survive Sea Level Rise Scientists have found that atoll islands with healthy forests and coral reefs are more resilient...
6 days ago
3
6 days ago
Scientists have found that atoll islands with healthy forests and coral reefs are more resilient against rising seas. To shore up vulnerable islands in the Pacific and Indian oceans, experts are working to restore native trees and seabirds and boost the growth of protective...
Yale e360
Environmental Enforcement Slows Under Trump Federal enforcement of environmental laws has slowed significantly under President Trump. Read more...
6 days ago
Yale e360
Will U.S. Push on Seabed Mining End Global Consensus on Oceans? President Trump’s recent order to expedite permits to begin deep-sea mining bypasses international...
a week ago
4
a week ago
President Trump’s recent order to expedite permits to begin deep-sea mining bypasses international agreements that protect oceans. By moving unilaterally, says the Ocean Conservancy’s Jeff Watters, the U.S. could endanger fragile marine ecosystems and set a troubling...
Yale e360
World's Richest 10 Percent Responsible for Two-Thirds of Warming The wealthiest 10 percent of people on Earth have fueled two-thirds of the warming since 1990,...
a week ago
5
a week ago
The wealthiest 10 percent of people on Earth have fueled two-thirds of the warming since 1990, according to a new modeling study. Read more on E360 →
Yale e360
After 17 Years Underground, Massive Cicada Brood to Swarm U.S. After hiding underground for the last 17 years, billions of cicadas will take to the skies this...
a week ago
6
a week ago
After hiding underground for the last 17 years, billions of cicadas will take to the skies this summer, from Tennessee to Cape Cod.  Read more on E360 →
Yale e360
In Mexico’s ‘Avocado Belt,’ Villagers Stand Up to Protect Their Lands A boom in avocado production in Mexico has led to illegal deforestation and an influx of drug...
a week ago
3
a week ago
A boom in avocado production in Mexico has led to illegal deforestation and an influx of drug cartels dominating the lucrative trade. But Indigenous communities have fought back against the gangs and turned to traditional practices to grow avocados and save their forests.  Read...
Yale e360
Warming Doubled the Odds of Record Fires in South Korea Warming fueled the hot, dry, windy weather that gave rise to a spate of record-breaking fires in...
a week ago
2
a week ago
Warming fueled the hot, dry, windy weather that gave rise to a spate of record-breaking fires in South Korea in March, an analysis finds. Read more on E360 →
Yale e360
Facing High Tariffs in U.S., Chinese Solar Flows to Poorer Countries Facing high tariffs in the U.S. and Europe, Chinese solar and battery companies have been selling a...
2 weeks ago
2
2 weeks ago
Facing high tariffs in the U.S. and Europe, Chinese solar and battery companies have been selling a growing share of their products to poorer countries, a new analysis finds. Read more on E360 →
Yale e360
Brazilian Judge Orders Seizure of Illegally Cleared Lands A justice on the Brazilian Supreme Court has directed the government to seize private lands where...
2 weeks ago
2
2 weeks ago
A justice on the Brazilian Supreme Court has directed the government to seize private lands where forests have been illegally razed.  Read more on E360 →
Yale e360
To Help Growers and the Grid, Build Solar on Farmland, Research Says Two new studies suggest that devoting a small fraction of U.S. farmland to solar power would be a...
2 weeks ago
2
2 weeks ago
Two new studies suggest that devoting a small fraction of U.S. farmland to solar power would be a boon both for the energy system and for farmers themselves. Read more on E360 →
Yale e360
How Herbicide Drift from Farms Is Harming Trees in Midwest Researchers are starting to pay closer attention to the widespread damage wrought by agricultural...
2 weeks ago
2
2 weeks ago
Researchers are starting to pay closer attention to the widespread damage wrought by agricultural herbicides. Drifting sprays may not kill trees, shrubs, and other nontarget plants outright, but experts believe they are making them vulnerable to insects, fungi, and disease. Read...
Yale e360
Wildlife Returns to Site of Devastating Southern California Wildfire Four months after the Eaton Fire tore through Altadena, California, wildlife is making a...
2 weeks ago
Yale e360
U.S. Aid Cuts Are Hitting Global Conservation Projects Hard The Trump Administration’s dismantling of USAID has done more than cut off life-saving humanitarian...
3 weeks ago
2
3 weeks ago
The Trump Administration’s dismantling of USAID has done more than cut off life-saving humanitarian assistance. It has also eliminated funding for environmental protection and conservation work in dozens of countries, with many programs now being forced to shut down. Read more on...
Yale e360
Heat and Fire Making Pollution Worse Across Much of the U.S. By several measures, air pollution is getting worse in the U.S., a trend due in large part to more...
3 weeks ago
2
3 weeks ago
By several measures, air pollution is getting worse in the U.S., a trend due in large part to more severe heat and wildfires, according to a new report. Read more on E360 →
Yale e360
How a Former Herder Protected Mongolia's Vast Grasslands Batmunkh Luvsandash has fought to protect more than a million acres of steppe lands in his native...
3 weeks ago
2
3 weeks ago
Batmunkh Luvsandash has fought to protect more than a million acres of steppe lands in his native Mongolia. In an interview with Yale Environment 360, he explains how, by drawing on the knowledge of local herders, he was able to take on the powerful mining industry and win. Read...
Yale e360
In a First, Chimps Found Sharing Fermented Fruit For the first time, wild chimpanzees have been caught on film sharing fermented fruit. The footage...
3 weeks ago
2
3 weeks ago
For the first time, wild chimpanzees have been caught on film sharing fermented fruit. The footage comes from Cantanhez National Park in the West African nation of Guinea-Bissau, where camera traps recorded chimps eating fermented breadfruit together on 10 separate...
Yale e360
Planned Indian Mega-Port Could 'Wipe Out' Isolated Tribe The Shompen, residents of a small island in the Indian Ocean, are among the world's last isolated...
3 weeks ago
2
3 weeks ago
The Shompen, residents of a small island in the Indian Ocean, are among the world's last isolated tribes. But that may soon change as the Indian government moves forward with plans for a massive port that could "wipe out" the tribe, a watchdog group says. Read more on E360 →
Yale e360
Entries Invited for Yale Environment 360 Film Contest The 12th annual Yale Environment 360 Film Contest is now accepting entries. Read more on E360 →
4 weeks ago
Yale e360
A.I. Is Quietly Powering a Revolution in Weather Prediction Weather forecasts powered by artificial intelligence are usually more accurate — and require less...
a month ago
2
a month ago
Weather forecasts powered by artificial intelligence are usually more accurate — and require less computational energy and fewer human hours — than conventional predictions. But questions remain about A.I. systems’ reliability and their ability to forecast extreme weather...
Yale e360
China Allows New Coal Plants, but With More Limited Role China will allow the construction of new coal power plants through at least 2027 but with...
a month ago
2
a month ago
China will allow the construction of new coal power plants through at least 2027 but with restrictions aimed at limiting emissions and boosting renewables, according to a newly released action plan. Read more on E360 →
Yale e360
Trump Administration Fires Hundreds of Climate and Weather Specialists The Trump administration has re-fired hundreds of probationary workers at NOAA after a court ruling...
a month ago
2
a month ago
The Trump administration has re-fired hundreds of probationary workers at NOAA after a court ruling cleared the way. Read more on E360 →
Yale e360
On a Dammed River, Amazon Villagers Fight to Restore the Flow Indigenous communities that rely on the natural flow of the Xingu River have long fought the Belo...
a month ago
2
a month ago
Indigenous communities that rely on the natural flow of the Xingu River have long fought the Belo Monte dam in Brazil. With the dam now up for relicensing, they are urging the government to allow more water to flow, which would help revive the river and their way of life. Read...
Yale e360
Growing Risk of 'Thirstwaves' as the Planet Warms The atmosphere is getting thirstier. A new study finds that warming is leading to more frequent...
a month ago
2
a month ago
The atmosphere is getting thirstier. A new study finds that warming is leading to more frequent bouts of hot, dry weather that cause soils to lose large volumes of water to evaporation. Read more on E360 →
Yale e360
Head of African Bank Warns of "Carbon Grabs" by Foreign Firms Akinwumi Adesina, outgoing president of the African Development Bank, is warning that foreign firms...
a month ago
2
a month ago
Akinwumi Adesina, outgoing president of the African Development Bank, is warning that foreign firms are underpaying for carbon credits from African forests. Read more on E360 →
Yale e360
With the Great Mussel Die-Off, Scientists Scramble for Answers One of the most endangered animals in the world, freshwater mussels are threatened by pollution,...
a month ago
2
a month ago
One of the most endangered animals in the world, freshwater mussels are threatened by pollution, climate change, habitat loss, and invasive species. But in the epicenter of their diversity — the Southeastern U.S. — the root cause of a catastrophic die-off remains a mystery.  Read...
Yale e360
AI Model Can Predict When Lightning Will Spark Wildfires Researchers have developed an AI model that can predict with 90 percent accuracy when and where...
a month ago
2
a month ago
Researchers have developed an AI model that can predict with 90 percent accuracy when and where lightning will ignite wildfires. Read more on E360 →
Yale e360
Recycling Nuclear Waste: A Win-Win or a Dangerous Gamble? As interest in nuclear power rises, startups are pursuing plans to recycle spent fuel and reuse its...
a month ago
2
a month ago
As interest in nuclear power rises, startups are pursuing plans to recycle spent fuel and reuse its untapped energy to power reactors. Advocates tout new recycling methods as a breakthrough, but many experts warn it will extract plutonium that could be used for nuclear...
Yale e360
Toxic Algae Spurs Sea Lion Attacks in Southern California A sea lion sickened by toxic algae attacked a teenage girl in Long Beach, California, on Sunday, the...
a month ago
2
a month ago
A sea lion sickened by toxic algae attacked a teenage girl in Long Beach, California, on Sunday, the latest episode of erratic behavior from affected animals. Read more on E360 →
Yale e360
Global Economy More Vulnerable to Warming Than Previously Thought A new study finds warming could inflict far more damage to the global economy than previously...
a month ago
Yale e360
In a Warming World, Why Is the Southern Ocean Getting Cooler? Climate models predict that as the planet warms, so will the Southern Ocean. But for decades, the...
a month ago
2
a month ago
Climate models predict that as the planet warms, so will the Southern Ocean. But for decades, the waters around Antarctica have grown mysteriously cooler. A new study shows why. Read more on E360 →
Yale e360
Despite Ukraine War, Europe Imported Even More Russian Gas Last Year The EU is getting further from its goal of weaning off Russian fossil fuels by 2027. Imports of...
a month ago
2
a month ago
The EU is getting further from its goal of weaning off Russian fossil fuels by 2027. Imports of Russian gas rose by 18 percent last year, a new analysis finds. Read more on E360 →
Yale e360
In War-Torn Sudan, a Gold Mining Boom Takes a Human Toll As civil war rages in Sudan, a surge in gold production is helping finance and arm the warring...
a month ago
2
a month ago
As civil war rages in Sudan, a surge in gold production is helping finance and arm the warring factions. Most of the mining is done on a small scale by villagers who process the gold using mercury and cyanide, posing serious threats to their health and to the environment. Read...
Yale e360
Renewables Made Up More Than 90 Percent of New Power Installed Globally Last Year Renewables accounted for 92 percent of new power capacity worldwide last year, a new report...
a month ago
Yale e360
With NOAA Cuts, a Proud Legacy and Vital Science Are at Risk For more than 50 years, NOAA has pioneered climate research and been instrumental in advancing...
a month ago
2
a month ago
For more than 50 years, NOAA has pioneered climate research and been instrumental in advancing modern weather forecasting. Now labeled by Project 2025 as part of the “climate alarm industry” and facing DOGE-driven cuts, the future of this valuable public asset is in...
Yale e360
Retreating Arctic Glaciers Have Exposed 1,500 Miles of Coastline Since 2000, the melting of Arctic glaciers has exposed some 1,500 miles of coastline, a study...
a month ago
Yale e360
Peatland Algae to Soak Up More Carbon as Planet Warms New research finds that microalgae in northern peat bogs will absorb more carbon dioxide as the...
a month ago
2
a month ago
New research finds that microalgae in northern peat bogs will absorb more carbon dioxide as the planet warms, helping to take a bite out of emissions. Read more on E360 →
Yale e360
Imperiled in the Wild, Many Plants May Survive Only in Gardens As the impacts of climate change and other threats mount, conservationists are racing to preserve...
a month ago
2
a month ago
As the impacts of climate change and other threats mount, conservationists are racing to preserve endangered plant species in botanical garden “metacollections” in the hope of eventually returning them to the wild. But what happens when there is no suitable habitat to return them...
Yale e360
Carbon Dioxide Levels Highest in 800,000 Years Temperatures and carbon dioxide levels hit new highs last year, according to a U.N. report detailing...
a month ago
2
a month ago
Temperatures and carbon dioxide levels hit new highs last year, according to a U.N. report detailing the dire state of the global climate. Read more on E360 →
Yale e360
Grass-Fed Beef No Better for Climate Than Industrial Beef, Study Finds New research finds that, pound for pound, grazing cattle generate at least as much heat-trapping gas...
a month ago
2
a month ago
New research finds that, pound for pound, grazing cattle generate at least as much heat-trapping gas as those raised in feedlots. Read more on E360 →
Yale e360
Peruvian Farmer Sues German Energy Giant Over Its Role in Climate Change Hearings began Monday in a landmark climate case in Hamm, Germany, where a Peruvian farmer is suing...
a month ago
2
a month ago
Hearings began Monday in a landmark climate case in Hamm, Germany, where a Peruvian farmer is suing energy giant RWE over its role in warming. Read more on E360 →
Yale e360
African Solar Installations Headed for Banner Year African solar installations are projected to grow by 42 percent this year, according to an industry...
2 months ago
2
2 months ago
African solar installations are projected to grow by 42 percent this year, according to an industry group. Read more on E360 →
Yale e360
Can Toxic Mining Waste Help Remove CO2 from the Atmosphere? On the coast of Newfoundland, waste from a shuttered asbestos mine has been a troubling source of...
2 months ago
2
2 months ago
On the coast of Newfoundland, waste from a shuttered asbestos mine has been a troubling source of contamination for decades. Now, a company plans to process the waste to draw CO2 from the air — one of several projects worldwide that aim to turn this liability into an asset. Read...
Yale e360
In This Storied Egyptian City, Rising Seas are Causing Buildings to Crumble As waters rise along the Egyptian coast, hundreds of buildings in the historic port city of...
2 months ago
2
2 months ago
As waters rise along the Egyptian coast, hundreds of buildings in the historic port city of Alexandria have collapsed. Read more on E360 →
Yale e360
Saving U.S. Climate and Environmental Data Before It Goes Away Some 2,000 records went missing from government data sets after the Trump administration took office...
2 months ago
2
2 months ago
Some 2,000 records went missing from government data sets after the Trump administration took office in January. Canadian geographer Eric Nost talks about the work he and colleagues are doing to archive data related to climate and the environment while it is still...
Yale e360
Cuts to U.S. Climate Aid Will Leave Large Gap in Global Funding The U.S. provides nearly a tenth of all climate finance globally, a well of funding that is at risk...
2 months ago
2
2 months ago
The U.S. provides nearly a tenth of all climate finance globally, a well of funding that is at risk of drying up as the Trump administration takes aim at overseas spending. Read more on E360 →
Yale e360
Russia’s War Has Destroyed Forest Twice the Size of New York City Ukraine lost roughly 600 square miles of forest in the first two years of its war with Russia, an...
2 months ago
2
2 months ago
Ukraine lost roughly 600 square miles of forest in the first two years of its war with Russia, an area of woodland twice the size of New York City. Read more on E360 →
Yale e360
A Craze for Tiny Plants Is Driving a Poaching Crisis in South Africa South Africa’s Succulent Karoo is the most biodiverse arid region on the planet, with thousands of...
2 months ago
2
2 months ago
South Africa’s Succulent Karoo is the most biodiverse arid region on the planet, with thousands of plants found nowhere else. But to meet a demand fueled by social media, criminal networks have been poaching these colorful succulents by the millions and smuggling them...
Yale e360
Biotech Firm Unveils ‘Woolly Mice,’ a Step Toward Recreating Woolly Mammoths A U.S. biotech firm working to bring back extinct animals said it had reached a milestone in its...
2 months ago
2
2 months ago
A U.S. biotech firm working to bring back extinct animals said it had reached a milestone in its quest to recreate woolly mammoths. This week it unveiled “woolly mice” — mice that had been genetically engineered to sport woolly coats reminiscent of long-dead mammoths. Read more...
Yale e360
Warming Brings Heavy Snowfall to Greenland, Replenishing Some Lost Ice A single storm in 2022 dumped enough snow on Greenland to replace 8 percent of ice lost that year....
2 months ago
2
2 months ago
A single storm in 2022 dumped enough snow on Greenland to replace 8 percent of ice lost that year. With warming, the Arctic is seeing stronger atmospheric rivers, which could deliver enough snow to slow the loss of ice, according to a new study. Read more on E360 →
Yale e360
In a First, California Tribe May Freely Burn Its Ancestral Lands In California, a state increasingly beset by devastating wildfires, the Karuk Tribe will be able to...
2 months ago
2
2 months ago
In California, a state increasingly beset by devastating wildfires, the Karuk Tribe will be able to freely set controlled burns, helping to clear the dense underbrush that fuels larger and more destructive fires. Read more on E360 →
Yale e360
Bill McKibben on Climate Activism in the Age of Trump 2.0 Activist Bill McKibben says Americans upset by the Trump administration’s gutting of U.S. climate...
2 months ago
1
2 months ago
Activist Bill McKibben says Americans upset by the Trump administration’s gutting of U.S. climate efforts need to move beyond despair. In an interview with e360, he talks about rethinking the role of protest, the global push on clean energy, and why he sees reason for hope. Read...
Yale e360
How Climate Change Puts the Safety of Drinking Water at Risk Wildfires, floods, intense heat, droughts, and other extreme events fueled by climate change are...
2 months ago
2
2 months ago
Wildfires, floods, intense heat, droughts, and other extreme events fueled by climate change are threatening water systems in the U.S. and around the globe. Experts warn of the increasing threat of contamination and the need to improve infrastructure to keep drinking water...
Yale e360
U.S. Solar and Batteries Headed for Record Year Solar panels and batteries will account for more than 80 percent of new power capacity installed in...
2 months ago
2
2 months ago
Solar panels and batteries will account for more than 80 percent of new power capacity installed in the U.S. this year, officials say. Both technologies are set for record growth, helping to hasten the decline of coal power. Read more on E360 →
Yale e360
Cheap Chinese Solar Panels Sparking a Renewable Boom in the Global South Facing trade barriers in the U.S. and other wealthy nations, Chinese solar firms are exporting cheap...
2 months ago
2
2 months ago
Facing trade barriers in the U.S. and other wealthy nations, Chinese solar firms are exporting cheap panels to poorer countries, fueling a surge in solar installations in parts of the developing world. Read more on E360 →
Yale e360
Uncertain Future for Clean Tech Boom Underway in Republican Strongholds Government support for clean energy has spurred new projects across the U.S., with more than 80...
2 months ago
2
2 months ago
Government support for clean energy has spurred new projects across the U.S., with more than 80 percent of the spending flowing to Republican districts. But since President Trump took office, new project announcements have seen a precipitous drop. Read more on E360 →
Yale e360
Push to Rewild in Wealthy Countries Fueling Destruction in Poorer Ones A new study details how, as wealthy countries rewild farmland, they are driving the destruction of...
2 months ago
2
2 months ago
A new study details how, as wealthy countries rewild farmland, they are driving the destruction of forests in poorer countries that are more abundant in wildlife. Read more on E360 →
Yale e360
'Green Grab': Solar and Wind Boom Sparks Conflicts on Land Use Solar and wind farms are proliferating and increasingly taking up land worldwide, prompting...
2 months ago
2
2 months ago
Solar and wind farms are proliferating and increasingly taking up land worldwide, prompting criticism from rural communities and environmentalists. Solutions range from growing crops or grazing livestock under PV panels to putting floating solar farms on lakes and...
Yale e360
Spread of Dark Algae Could Hasten Melt of Greenland Ice Sheet Dark algae are spreading across the Greenland ice sheet as snow retreats. Their dark color causes...
2 months ago
2
2 months ago
Dark algae are spreading across the Greenland ice sheet as snow retreats. Their dark color causes ice to absorb more heat from the sun, accelerating melting, and according to a new study, the harsh conditions atop the ice sheet will do little to slow their advance. Read more on...
Yale e360
Reciprocity: Rethinking Our Relationship with the Natural World Robin Wall Kimmerer, the bestselling author of Braiding Sweetgrass, recently published The...
2 months ago
2
2 months ago
Robin Wall Kimmerer, the bestselling author of Braiding Sweetgrass, recently published The Serviceberry, which explores the economies of nature. In an e360 interview, the Native American ecologist discusses reciprocity, gratitude, and aligning human law with ecological law. Read...
Yale e360
How Wolves Could Help Bring Back Scottish Forests Wolves have been gone from the Scottish Highlands for more than 200 years, and in their absence red...
2 months ago
1
2 months ago
Wolves have been gone from the Scottish Highlands for more than 200 years, and in their absence red deer have proliferated. Researchers say that returning wolves to the Highlands would keep deer in check, allowing large areas of native woodland to regrow. Read more on E360 →
Yale e360
Dust from Car Brakes More Harmful than Exhaust, Study Finds In cars, pollution doesn't come from exhaust alone. It also comes from wear and tear on roads,...
2 months ago
2
2 months ago
In cars, pollution doesn't come from exhaust alone. It also comes from wear and tear on roads, tires, and brakes. According to new research, tiny bits of dust cast off by brake pads may inflict more harm than car exhaust. Read more on E360 →
Yale e360
With Sea Ice Melting, Killer Whales Are Moving Into the Arctic Killer whales have begun to migrate farther into previously icy regions of the Arctic, preying on...
3 months ago
2
3 months ago
Killer whales have begun to migrate farther into previously icy regions of the Arctic, preying on narwhal, beluga, and bowhead. Scientists say their increasing numbers could shift food webs in ways that affect both endangered whale populations and subsistence Inuit hunters. Read...
Yale e360
Russia's War Is Driving Up Emissions by Forcing Planes to Reroute Since war broke out in Ukraine, Western airlines have been charting longer routes to avoid flying...
3 months ago
2
3 months ago
Since war broke out in Ukraine, Western airlines have been charting longer routes to avoid flying over Russia, with a discernible impact on emissions. Read more on E360 →
Yale e360
World Likely to Breach 1.5-Degree Target, Research Finds The world is set to blow past its goal to limit warming to 1.5 degrees C, new research shows. Read...
3 months ago
Yale e360
China's Disastrous Summer Floods Linked to Unusually Warm Spring in Tibet A new study links devastating summer floods in southern China to unusually warm spring weather over...
3 months ago
1
3 months ago
A new study links devastating summer floods in southern China to unusually warm spring weather over the Tibetan plateau. Read more on E360 →
Yale e360
Exposure to Air Pollution Can Make It Harder to Focus, Study Finds A person’s ability to focus on everyday tasks is affected by short-term exposure to air pollution, a...
3 months ago
1
3 months ago
A person’s ability to focus on everyday tasks is affected by short-term exposure to air pollution, a study has found. Read more on E360 →
Yale e360
As War Halts, the Environmental Devastation in Gaza Runs Deep The war in Gaza has taken a heavy toll on the environment, with water supplies contaminated, raw...
3 months ago
1
3 months ago
The war in Gaza has taken a heavy toll on the environment, with water supplies contaminated, raw sewage pouring into the Mediterranean, once-fertile soils ruined, and the land stripped of trees. Experts say the extent of the damage needs to be tallied to help plan for a...
Yale e360
To Breed Heat-Proof Cows, Nigerian Farmers Source Brazilian Bull Genes As the planet warms, Nigerian farmers are looking to breed cattle that can take the heat, importing...
3 months ago
1
3 months ago
As the planet warms, Nigerian farmers are looking to breed cattle that can take the heat, importing semen from a Brazilian breed suited to balmy tropical weather. Read more on E360 →
Yale e360
How Tearing Down Small Dams Is Helping Restore Northeast Rivers More than 30,000 small dams currently block river tributaries from Maine to Maryland. New...
3 months ago
1
3 months ago
More than 30,000 small dams currently block river tributaries from Maine to Maryland. New initiatives to remove them are aimed at restoring natural flows, improving habitat for aquatic life, and reopening thousands of river miles to migratory fish, from shad to American...
Yale e360
India Doubled its Tiger Population in a Little More Than a Decade The number of tigers in India roughly doubled in a little more than a decade, a conservation success...
3 months ago
1
3 months ago
The number of tigers in India roughly doubled in a little more than a decade, a conservation success that is due in part to communities learning to live alongside the animals, new research finds. Read more on E360 →
Yale e360
Antarctic Ice Sheet May Be Less Vulnerable Than Previously Thought A new study reveals the massive West Antarctic ice sheet did not completely collapse during the last...
3 months ago
1
3 months ago
A new study reveals the massive West Antarctic ice sheet did not completely collapse during the last warm period, as prior modeling had suggested. The findings offer some hope for the future of the ice sheet as the planet heats up. Read more on E360 →
Yale e360
Turning Farmland Back to Peatland: Can It Slow CO2 Emissions? Farmers have long drained peatlands for agriculture, but the dried-out soils release vast quantities...
3 months ago
1
3 months ago
Farmers have long drained peatlands for agriculture, but the dried-out soils release vast quantities of CO2. To halt this process, new initiatives in Germany are not only rewetting peatlands but also creating markets for the native grasses, reeds, and sedges they support. Read...
Yale e360
Volunteers in England Plant Thousands of Trees to Restore Celtic Rainforest Volunteers have planted more than 2,500 native trees on pasture in southwest England, part of a...
3 months ago
1
3 months ago
Volunteers have planted more than 2,500 native trees on pasture in southwest England, part of a larger effort to recreate the temperate rainforest that once dominated much of the British Isles. Read more on E360 →
Yale e360
In Vermont, a Push to Prevent Flooding or Get Out of the Way An increase in extreme precipitation events has hit the tiny, mountainous state of Vermont...
3 months ago
1
3 months ago
An increase in extreme precipitation events has hit the tiny, mountainous state of Vermont especially hard. As disaster declarations mount, state officials and community groups are collaborating to restore floodplains, reduce runoff from slopes, and buy out vulnerable...
Yale e360
Microplastics Block Blood Flow in Brains of Mice A new study finds microplastics can block the flow of blood in the brains of mice. The study comes...
3 months ago
1
3 months ago
A new study finds microplastics can block the flow of blood in the brains of mice. The study comes on the heels of other research showing, for the first time, that microplastics can lodge in human brains. Read more on E360 →
Yale e360
In Europe, Solar Power Overtakes Coal For the first time in the EU, solar supplied more power than coal did last year, a new analysis...
3 months ago
1
3 months ago
For the first time in the EU, solar supplied more power than coal did last year, a new analysis finds. Read more on E360 →
Yale e360
Deadly Encounter: Mountain Lion Attacks Spark Controversy A mountain lion attack that killed a young California man last year has reignited a debate over how...
3 months ago
1
3 months ago
A mountain lion attack that killed a young California man last year has reignited a debate over how the big cats should be managed. Some are calling for renewed hunting of the animals, while others are advocating nonlethal methods of instilling a fear of humans in the big...
Yale e360
Warmer, Greener Arctic Becoming a Source of Heat-Trapping Gas As the northern latitudes warm, ice is melting and vegetation is spreading. But instead of absorbing...
3 months ago
1
3 months ago
As the northern latitudes warm, ice is melting and vegetation is spreading. But instead of absorbing more carbon, the region is becoming a source of heat-trapping gas, a new study shows. Read more on E360 →
Yale e360
As Oceans Warm, Predators Are Falling Out of Sync with Their Prey In the sea as on land, climate change is driving shifts in the abundance and distribution of...
3 months ago
1
3 months ago
In the sea as on land, climate change is driving shifts in the abundance and distribution of species. Scientists are just beginning to focus on why some fish predators and prey — like striped bass and menhaden on the U.S. East Coast — are changing their behavior as waters warm....
Yale e360
Carbon Dioxide Levels Rose by a Record Amount Last Year Carbon dioxide is accumulating in the atmosphere faster than ever before, putting hopes of limiting...
3 months ago
1
3 months ago
Carbon dioxide is accumulating in the atmosphere faster than ever before, putting hopes of limiting warming in jeopardy. Read more on E360 →
Yale e360
Whiplash: How Big Swings in Precipitation Fueled the L.A. Fires Climate scientist Daniel Swain says that two very wet years followed by a very dry one helped to...
3 months ago
1
3 months ago
Climate scientist Daniel Swain says that two very wet years followed by a very dry one helped to turn the Los Angeles wildfires into raging infernos. This phenomenon of “hydroclimate whiplash,” he says, is expected to occur in more and more places as the world warms. Read more...
Yale e360
Trees That Have Never Known Plentiful Rainfall Better Prepared for Drought A new study finds that trees that have lived through many wet years struggle to cope with dry...
3 months ago
Yale e360
How African Communities Are Taking Lead on Protecting Wildlife A new analysis shows that African wildlife increasingly depend on lands managed by villagers and...
4 months ago
1
4 months ago
A new analysis shows that African wildlife increasingly depend on lands managed by villagers and herders. In many areas, locally-run conservancies now more effectively protect wildlife than national parks do, with communities reaping tourism revenue and other benefits. Read more...
Yale e360
U.S. Wind and Solar Overtake Coal Power In a first, the U.S. saw wind and solar supply more power than coal last year, according to a new...
4 months ago
1
4 months ago
In a first, the U.S. saw wind and solar supply more power than coal last year, according to a new analysis. But even as renewables made gains, U.S. emissions stayed flat owing to rising demand for energy. Read more on E360 →
Yale e360
Did Climate Change Help Fuel the Los Angeles Wildfires? Wildfires in Southern California have burned tens of thousands of acres, destroyed thousands of...
4 months ago
1
4 months ago
Wildfires in Southern California have burned tens of thousands of acres, destroyed thousands of buildings, and killed at least 10 people. Experts say global warming may have set the stage for the catastrophic blazes. Read more on E360 →
Yale e360
Despite Biotech Efforts to Revive Species, Extinction Is Still Forever In the last decade, laboratory initiatives to recreate long-extinct species have stirred...
4 months ago
1
4 months ago
In the last decade, laboratory initiatives to recreate long-extinct species have stirred controversy. Now, scientists increasingly agree "de-extinction" is not possible, but breeding living animals with genes similar to those lost species can be a useful conservation tool. Read...
Yale e360
Renewables Supplied Two-Thirds of Germany's Power Last Year Germany, the largest economy in Europe, got nearly two-thirds of its power from renewables last...
4 months ago
1
4 months ago
Germany, the largest economy in Europe, got nearly two-thirds of its power from renewables last year, an analysis shows. Read more on E360 →
Yale e360
Severe Cold Spells May Persist Because of Warming, Not in Spite of It Huge swaths of North America are facing subfreezing temperatures this week as cold Arctic air pushes...
4 months ago
1
4 months ago
Huge swaths of North America are facing subfreezing temperatures this week as cold Arctic air pushes southward. Paradoxically, such cold spells may persist or even become more common as the planet warms, scientists say. Read more on E360 →
Yale e360
U.S. Support and New Investments Buoy Hopes for Marine Energy Producing energy from waves and tides has a stop-and-start history. But with a new U.S. testing site...
4 months ago
1
4 months ago
Producing energy from waves and tides has a stop-and-start history. But with a new U.S. testing site opening in 2026, recent federal investment, and accelerating efforts to reach net zero emissions, developers aiming to harness the vast power of the sea are feeling...
Yale e360
The Growing Human Footprint on Earth, as Seen from Space Last year saw warming reach startling new highs, with record heat fueling extreme weather around the...
4 months ago
1
4 months ago
Last year saw warming reach startling new highs, with record heat fueling extreme weather around the world. As farms and cities grow, pollution is spreading and overheating the planet. The evidence of our impact is so profound that it can be seen from space. Read more on E360 →
Yale e360
A Year of Climate Extremes, In Photos From floods in Brazil to Hurricane Helene in North Carolina, extreme weather exacted a devastating...
4 months ago
1
4 months ago
From floods in Brazil to Hurricane Helene in North Carolina, extreme weather exacted a devastating toll in 2024. Read more on E360 →
Yale e360
The Year in Energy in Four Charts The global energy sector defied expectations this year, in ways both good and bad for the climate....
4 months ago
1
4 months ago
The global energy sector defied expectations this year, in ways both good and bad for the climate. Four charts highlight key trends in the transition to clean energy. Read more on E360 →
Yale e360
Return of Trees to Eastern U.S. Is Fueling a Surge in Wildfires Trees and shrubs have proliferated in unmanaged forests in the eastern U.S. This growth, which marks...
4 months ago
1
4 months ago
Trees and shrubs have proliferated in unmanaged forests in the eastern U.S. This growth, which marks a return of trees to the region after centuries of deforestation, is fueling a new surge in wildfires, a study finds. Read more on E360 →
Yale e360
Loss of Antarctic Sea Ice Is Giving Rise to More Frequent Storms The decline of sea ice around Antarctica is fueling more frequent storms in the Southern Ocean, a...
4 months ago
1
4 months ago
The decline of sea ice around Antarctica is fueling more frequent storms in the Southern Ocean, a new study finds. Read more on E360 →
Yale e360
Scientists Engineer Crops to Consume More Carbon Dioxide Scientists have engineered sugarcane and sorghum to take advantage of rising levels of carbon...
4 months ago
1
4 months ago
Scientists have engineered sugarcane and sorghum to take advantage of rising levels of carbon dioxide, allowing these crops to grow bigger. Read more on E360 →
Yale e360
Ten Remarkable Plants and Fungi Named by Science This Year In 2024, researchers at the Royal Botanic Gardens, Kew, recorded 172 new species of plants and fungi...
4 months ago
1
4 months ago
In 2024, researchers at the Royal Botanic Gardens, Kew, recorded 172 new species of plants and fungi across the globe, from England to Cameroon. Read more on E360 →
Yale e360
In a Major Reversal, the World Bank Is Backing Mega Dams Despite continued opposition, the World Bank has approved the first of five big dam projects...
4 months ago
1
4 months ago
Despite continued opposition, the World Bank has approved the first of five big dam projects expected to get its support in the coming months. Climate change has upped the need for renewable energy, but the environmental and social costs of building such massive projects...
Yale e360
Carnivorous Squirrels Discovered in California Scientists have discovered that in addition to seeds and nuts, some California ground squirrels also...
4 months ago
1
4 months ago
Scientists have discovered that in addition to seeds and nuts, some California ground squirrels also eat voles. Read more on E360 →
Yale e360
Expelling Indigenous Batwa from Their Lands Did Not Help Endangered Gorillas, Study Finds For decades, Congolese officials have barred the Batwa from their ancestral lands in the name of...
4 months ago
1
4 months ago
For decades, Congolese officials have barred the Batwa from their ancestral lands in the name of preserving the critically endangered eastern lowland gorilla. But a new study suggests the Batwa were never a threat to the creatures. Read more on E360 →
Yale e360
Malaria Cases Rising Amid Worsening Floods Malaria killed almost 600,000 people in 2023, as cases rose for the fifth consecutive year,...
4 months ago
1
4 months ago
Malaria killed almost 600,000 people in 2023, as cases rose for the fifth consecutive year, according to a new report from the World Health Organization. Read more on E360 →
Yale e360
Extreme Heat May Cause People to Age Faster New research suggests that extreme heat may cause people to age faster at a molecular level. Read...
5 months ago
1
5 months ago
New research suggests that extreme heat may cause people to age faster at a molecular level. Read more on E360 →
Yale e360
Licensing can be joyful (and legally dubious) Software licenses are a reflection of our values. How you choose to license a piece of software says...
7 months ago
71
7 months ago
Software licenses are a reflection of our values. How you choose to license a piece of software says a lot about what you want to achieve with it. Do you want to reach the maximum amount of users? Do you want to ensure future versions remain free and open source? Do you want to...
Yale e360
Asheville Asheville is in crisis right now. They're without drinking water, faucets run dry, and it's...
7 months ago
65
7 months ago
Asheville is in crisis right now. They're without drinking water, faucets run dry, and it's difficult to flush toilets. As of yesterday, the hospital has water (via tanker trucks), but 80% of the public water system is still without running water. Things are really bad. Lots of...
Yale e360
Teleportation teleportation does exist from OR to recovery room I left something behind not quite a part of...
7 months ago
56
7 months ago
teleportation does exist from OR to recovery room I left something behind not quite a part of myself —unwelcome guests poisoning me from the inside no longer welcome
Yale e360
Rust needs a web framework for lazy developers I like to make silly things, and I also like to put in minimal effort for those silly things. I also...
7 months ago
66
7 months ago
I like to make silly things, and I also like to put in minimal effort for those silly things. I also like to make things in Rust, mostly for the web, and this is where we run into a problem. See, if I want to make something for the web, I could use Django but I don't want that. I...
Yale e360
What I tell people new to on-call The first time I went on call as a software engineer, it was exciting—and ultimately...
7 months ago
81
7 months ago
The first time I went on call as a software engineer, it was exciting—and ultimately traumatic. Since then, I've had on-call experiences at multiple other jobs and have grown to really appreciate it as part of the role. As I've progressed through my career, I've gotten to help...
Yale e360
Personnel update This is inspired by receiving a "personnel update" when a friend was fired many years ago. It felt...
8 months ago
59
8 months ago
This is inspired by receiving a "personnel update" when a friend was fired many years ago. It felt coldly impersonal for such a deeply personal event, so I imagined what it would be like if the same approach were taken to other deeply personal events. * * * Subject: Personnel...
Yale e360
Making progress on side projects with content-driven development It's hard to make progress on side projects sometimes. Getting started is easy when we see the...
8 months ago
73
8 months ago
It's hard to make progress on side projects sometimes. Getting started is easy when we see the bright future of the project. Then somewhere in the middle, we get stuck in lists of tasks to do, a long way in and still a long way from the finish line. This happens to me as much as...
Yale e360
Reasons to write design docs Sometimes I joke that as a principal engineer, my main programming language is English. It's half...
8 months ago
64
8 months ago
Sometimes I joke that as a principal engineer, my main programming language is English. It's half true, though, since my job is as much about people and communciation as it is about technology. Probably more, actually. Writing is useful at all levels of software engineering. It's...
Yale e360
Using search as a primary datastore since the docs said not to Look, I'm sorry, but if the docs say not to do something that's like catnip. Then I just have to do...
8 months ago
51
8 months ago
Look, I'm sorry, but if the docs say not to do something that's like catnip. Then I just have to do it. So when I saw that the Typesense docs say not to use it as a primary datastore? Well well well, that's what we'll have to do. I spent a little bit of time figuring out what a...
Yale e360
Sometimes, I can't talk Part of being a social animal is that we communicate with each other. We live in a society, and we...
8 months ago
42
8 months ago
Part of being a social animal is that we communicate with each other. We live in a society, and we have to interact with other people. A lot of that communication happens through language, especially spoken and signed language. For many of us, this language happens so freely and...
Yale e360
You should make a new programming language Every software engineer uses a programming language, usually multiple. Few of us make programming...
9 months ago
40
9 months ago
Every software engineer uses a programming language, usually multiple. Few of us make programming languages. This makes sense, because the work we need to get done can typically be done just fine in the languages that exist. Those already have people making them better. Let's...
Yale e360
First impressions of Gleam: lots of joys and some rough edges My friend Erika is a big fan of Gleam, and her enthusiasm (and explicit encouragement) finally got...
9 months ago
43
9 months ago
My friend Erika is a big fan of Gleam, and her enthusiasm (and explicit encouragement) finally got me to learn the language. It's a functional programming language which targets both the BEAM (Erlang's VM) and JavaScript. This makes it appealing as a language that can target both...
Yale e360
Integrate rest into your work and practice The human body has limits, and we break down if we push past them. This can contribute to burnout,...
9 months ago
36
9 months ago
The human body has limits, and we break down if we push past them. This can contribute to burnout, lead to stress fractures, or cause a host of other issues. We need to give our bodies time to rest so that we can heal. This is something we often resist, but it's essential. And...
Yale e360
Resting is hard This post has been a struggle to write. Not just because it requires a lot of vulnerability, though...
9 months ago
31
9 months ago
This post has been a struggle to write. Not just because it requires a lot of vulnerability, though that's part of it. And it's not just about finding the right words. Most of the struggle has been fatigue. It's hard to find the energy to open my text editor and when I do, my...
Yale e360
TIL: testing in the future using the faketime command Last week's blog post accidentally got published a few hours early1. One of the keen-eyed among you...
9 months ago
38
9 months ago
Last week's blog post accidentally got published a few hours early1. One of the keen-eyed among you even submitted it to the orange site before it was officially up, since it was in my RSS feed briefly and was picked up by various RSS readers. Resolving that issue led me to...
Yale e360
Approximating the Sierpinski Triangle on my CNC One of my big hobbies outside of tech is chess. I like to play it, and I also help run our town's...
10 months ago
33
10 months ago
One of my big hobbies outside of tech is chess. I like to play it, and I also help run our town's chess club. As part of that, we like to run rated tournaments to get our members some experience in a low-pressure tournament environment. These are my responsibility to organize and...
Yale e360
Why I kept my startup job for seven years (and counting) Software engineers typically don't stay anywhere for very long. If you're not moving, you're losing...
10 months ago
29
10 months ago
Software engineers typically don't stay anywhere for very long. If you're not moving, you're losing out on opportunities1. And yet, I've made the choice to join and stay at one company for seven years. That's more than half my career to date. Why did I do that? And would I do it...
Yale e360
Testing a WebSocket that could hang open for hours I recently ran into a bug in some Go code that no one had touched in a few years. The code in...
10 months ago
33
10 months ago
I recently ran into a bug in some Go code that no one had touched in a few years. The code in question was not particularly complicated, and had been reviewed by multiple people. It included a timeout, and is straightforward: allow a Websocket connection to test that the client...
Yale e360
TIL: 8 versions of UUID and when to use them About a month ago1, I was onboarding a friend into one of my side project codebases and she asked me...
10 months ago
32
10 months ago
About a month ago1, I was onboarding a friend into one of my side project codebases and she asked me why I was using a particular type of UUID. I'd heard about this type while working on that project, and it's really neat. So instead of hogging that knowledge for just us, here it...
Yale e360
If it never breaks, you're doing it wrong When the power goes out, most people are understanding. Yet the most livid I've seen people is when...
10 months ago
32
10 months ago
When the power goes out, most people are understanding. Yet the most livid I've seen people is when web apps or computers they use have a bug or go down. But most of the time, it's a really bad sign if this never happens1. I was talking to my dad about this recently. For most of...
Yale e360
What's hidden behind "just implementation details" Something I hear occasionally from some software people1 is something along the lines of: "Well, the...
11 months ago
22
11 months ago
Something I hear occasionally from some software people1 is something along the lines of: "Well, the hard part is figured out, and the rest is just implementation details." This typically means they've created an algorithm to do something, and the rest of it is all the supporting...
Yale e360
Affirmations for bloggers Every software engineer can have a great blog, if they want to. Many of us start blogs, but most of...
11 months ago
22
11 months ago
Every software engineer can have a great blog, if they want to. Many of us start blogs, but most of those blogs lie abandoned or sporadically updated. It's okay if you start blogging and figure out it's not really for you. But there are also some common issues that block people...
Yale e360
My portable ergonomic setup In 2022, I developed nerve pain in my arms. It came on quickly, and it was bad: I couldn't drive, I...
11 months ago
33
11 months ago
In 2022, I developed nerve pain in my arms. It came on quickly, and it was bad: I couldn't drive, I couldn't type, and at the worst I couldn't pick up our kids. That episode spontaneously resolved after a couple of months, but flareups happen occasionally. One guaranteed trigger...
Yale e360
Instead of "auth", we should say "permissions" and "login" Most computer systems we interact with have an auth system of some kind. The problem is, that...
11 months ago
23
11 months ago
Most computer systems we interact with have an auth system of some kind. The problem is, that sentence is at best unclear and at worst nonsense. "Auth" can mean at least two things: authentication or authorization1. Which do we mean for an "auth system"? It's never perfectly...
Yale e360
Rust's iterators optimize nicely—and contain a footgun I saw a claim recently that in functional programming using "map/filter iterates over the list...
12 months ago
19
12 months ago
I saw a claim recently that in functional programming using "map/filter iterates over the list twice, while the foreach loop iterates only once." The author continued that "Haskell can fuse maps together as an optimization but I don't think you safely fuse arbitrary map/filters?...
Yale e360
Getting buy-in to get things done When you are working in any sort of leadership role, you'll have to get people to work toward...
a year ago
18
a year ago
When you are working in any sort of leadership role, you'll have to get people to work toward initiatives that you're leading or make changes you're proposing. Whether you're a line manager running a team day-to-day, or a principal engineer pushing technical initiatives forward,...
Yale e360
I'm hopeful but wary of "empathic" AI A couple of months ago, one of my friends told me about a startup called Hume. I was primed to be...
a year ago
19
a year ago
A couple of months ago, one of my friends told me about a startup called Hume. I was primed to be skeptical, except that I trust this friend to have a somewhat balanced perspective on this topic. He'd talked to some people there and read their site and generally felt a good vibe...
Yale e360
Gaining depth perception In 2017, the way I see the world changed, literally. For the first time in my life, I had nearly...
a year ago
18
a year ago
In 2017, the way I see the world changed, literally. For the first time in my life, I had nearly full depth perception. When I was a kid, I was always the one who was bad at ball sports. Not for lack of trying, either. I'd run after a ball to catch it, only to be off by a few...
Yale e360
The only two log levels you need are INFO and ERROR Logging is a critical tool for maintaining any web application, and yet we're getting it wrong. With...
a year ago
22
a year ago
Logging is a critical tool for maintaining any web application, and yet we're getting it wrong. With great logs, you can see what your application is doing. And without them? Things can be broken left and right without you ever finding out. Instead, you wonder why your customers...
Yale e360
The origin and virtues of semicolons in programming languages While working on the grammar for my programming language, Lilac, I was exploring different choices...
a year ago
24
a year ago
While working on the grammar for my programming language, Lilac, I was exploring different choices for statement terminators. . is very appealing, or !. Ultimately, I might make the "boring" choice of using either ; or significant whitespace. But that had me asking: why is it...
Yale e360
It's getting hard to use and recommend Firefox, I'm afraid for the free web A couple of months ago, every video call I had on my personal computer ended up using Chromium. I...
a year ago
19
a year ago
A couple of months ago, every video call I had on my personal computer ended up using Chromium. I tried using Firefox and it looked good on my end: I could see and hear the other person. But they just saw a blank video feed and heard nothing. Firefox showed me that it's sending,...
Yale e360
Decaf is good, actually We have made decaf a villain. We often malign decaf coffee and those who drink it. "No thanks, give...
a year ago
19
a year ago
We have made decaf a villain. We often malign decaf coffee and those who drink it. "No thanks, give me the good stuff." "Death before decaf." "Decaf isn't coffee." It has this reputation that it's bad and that coffee people avoid it. And yet, if you drink decaf, you're a true...
Yale e360
Start to finish on self-publishing a technical book I've been writing this blog since 2015, and my writing picked up pace in 2022. That year I wrote...
a year ago
18
a year ago
I've been writing this blog since 2015, and my writing picked up pace in 2022. That year I wrote 37,000 words, more than the 33,000 I'd written up to that point. It has accelerated since then. At some point, I realized that I've put in a lot of time and effort writing here, and...
Yale e360
When to use cute names or descriptive names I've previously written that project names should be cute, not descriptive. That post talks about...
a year ago
19
a year ago
I've previously written that project names should be cute, not descriptive. That post talks about services and does not talk at all about modules or variables. It's different in the latter context: those names should often be descriptive. What's the difference, and how do you...
Yale e360
Procrastinating on my side project by torturing databases One of my most insidious procrastination mechanisms is doing things that feel like work but are just...
a year ago
18
a year ago
One of my most insidious procrastination mechanisms is doing things that feel like work but are just a fun diversion. I ran into that recently for a side project I'm working on. It wasn't really necessary to test database options semi-rigorously, but here we are. This project is...
Yale e360
Achieving awful compression with digits of pi Compression is a really hard problem, and it attracts a lot of interesting ideas. There are some...
a year ago
20
a year ago
Compression is a really hard problem, and it attracts a lot of interesting ideas. There are some numbers whose digits contain all sequences of digits1. People have long hypothesized that pi is one such number; a proof remains elusive. If we have a number which contains all...
Yale e360
Work on tasks, not stories One tenet of big-a Agile1 is that developers should all work on individual user stories as the...
a year ago
19
a year ago
One tenet of big-a Agile1 is that developers should all work on individual user stories as the smallest unit of work2. That a ticket should almost always be a story, because that means it's something that delivers concrete value to the users. There are some cases in which this...
Yale e360
Building a demo of the Bleichenbacher RSA attack in Rust Recently while reading Real-World Cryptography, I got nerd sniped1 by the mention of...
a year ago
21
a year ago
Recently while reading Real-World Cryptography, I got nerd sniped1 by the mention of Bleichenbacher's attack on RSA. This is cool, how does it work? I had to understand, and to understand something, I usually have to build it. Well, friends, that is what I did. I implemented RSA...
Yale e360
"Help, I see a problem and no one is prioritizing it!" A mentee recently mentioned a really frustrating problem that her manager seems to be ignoring. The...
a year ago
18
a year ago
A mentee recently mentioned a really frustrating problem that her manager seems to be ignoring. The specific problem doesn't matter, so don't focus on the technical details here. Hey Nicole! At $DAYJOB, we have some big problems and it's frustrating, I keep pointing them out and...
Yale e360
Go slow to go fast A couple of weeks ago, I started working with a personal trainer to improve my fitness. I've long...
a year ago
16
a year ago
A couple of weeks ago, I started working with a personal trainer to improve my fitness. I've long been an endurance athlete, and it's time to lean into my overall fitness and strength. Part of this is to be healthy and live a long life. But honestly? More of it is a desire to...
Yale e360
Great management and leadership books for the technical track In tech, we're fortunate to have separate management and technical tracks, though it's still...
a year ago
18
a year ago
In tech, we're fortunate to have separate management and technical tracks, though it's still underdeveloped1. However, the path you take isn't very clear, it's not broadly understood what the responsibilities are, and there aren't as many resources out there as there are for...
Yale e360
Too much of a good thing: the trade-off we make with tests I've worked places where we aspired to (but did not reach) 100% code coverage. We used tools like a...
a year ago
17
a year ago
I've worked places where we aspired to (but did not reach) 100% code coverage. We used tools like a code coverage ratchet to ensure that the test coverage always went up and never down. This had a few effects. One of them was the intended effect: we wrote more tests. Another was...
Yale e360
Automating my backups with restic and anacron I've been running my backups by hand1 every week on my laptop for as long as they've been set...
a year ago
23
a year ago
I've been running my backups by hand1 every week on my laptop for as long as they've been set up. Automating them was something important but was on the back burner, because, well, it never felt very important. Then I lost a few days of work when my SSD died, and it felt more...
Yale e360
I'm scared, and hopeful, and you can help Tomorrow, I'm boarding an airplane to attend a work event. It's my first time flying since 2018, and...
a year ago
22
a year ago
Tomorrow, I'm boarding an airplane to attend a work event. It's my first time flying since 2018, and I'm excited to meet all my coworkers in person. The travel is, on whole, going to be a good experience. But there is a lot surrounding the travel that is stressful and scary. I'm...
Yale e360
The most important goal in designing software is understandability When you're designing a piece of software, the single most important thing to design for is...
a year ago
18
a year ago
When you're designing a piece of software, the single most important thing to design for is understandability. Security, performance, and correctness are all important, but they come after understandability. Don't get me wrong, all of those are important. Software that isn't...
Yale e360
RSA is deceptively simple (and fun) While reading Real-World Cryptography, I came across the "million message attack". This is an attack...
a year ago
20
a year ago
While reading Real-World Cryptography, I came across the "million message attack". This is an attack that Daniel Bleichenbacher demonstrated in 1998, which effectively broke RSA with a particular encoding function called PKCS #1. It was only mentioned briefly, so I dug in and...
Yale e360
Are any of your features the steak on the menu? At my first job, we were a distributed team and would get together often. When we went out to eat,...
a year ago
18
a year ago
At my first job, we were a distributed team and would get together often. When we went out to eat, one of my coworkers would always order the steak if it was anywhere on the menu. Every single time we went to some Ohio restaurant that had truly lackluster steak, he'd order it...
Yale e360
TIL: enabling features on transitive dependencies (Rust) While pairing on a small Rust program with a friend, I ran into a problem: to compile to WASM, one...
a year ago
18
a year ago
While pairing on a small Rust program with a friend, I ran into a problem: to compile to WASM, one of my dependencies needed one of its dependencies to turn on a feature. A variation of this that I've run into in other projects is where a transitive dependency has a bug/CVE and I...
Yale e360
I found some of my first code! Annotating and reflecting on robotics code from 2009. In high school, one of my teachers shattered my plans for my life, in the most beautiful way. Most...
a year ago
22
a year ago
In high school, one of my teachers shattered my plans for my life, in the most beautiful way. Most of my life, I'd intended to become a math professional of some sort: a math teacher, when that was all I saw math for; an actuary, when I started to learn more; and then a...
Yale e360
Reflecting on 2023, preparing for 2024 This is one of those cliched posts: Reflection on the year that's ending, reviewing last year's...
a year ago
17
a year ago
This is one of those cliched posts: Reflection on the year that's ending, reviewing last year's goals, and talking about hopes and goals for next year. They're cliche, and they're also useful. The planning and reflecting process is a useful one, and sharing openly means other...
Yale e360
My reference was dropped, why is the compiler complaining about multiple borrows? Recently someone I was talking to ran into a fun borrow checker problem in Rust which is...
a year ago
21
a year ago
Recently someone I was talking to ran into a fun borrow checker problem in Rust which is illustrative of some current underlying limitations of Rust's borrow checker. The problem boiled down to: they took a reference in a loop (dropped on each iteration), and the borrow checker...
Yale e360
Three days of Advent of Code in Hurl Every year I do some of Advent of Code. One year I completed it, but usually I just do some of it as...
a year ago
18
a year ago
Every year I do some of Advent of Code. One year I completed it, but usually I just do some of it as a social thing with friends and then taper off as interest wanes. This year, I did three days of it, and stopped because I really truly did not want to write more solutions in the...
Yale e360
Lessons from implementing Hurl I'm proud to announce that Hurl is officially released and done! You can check out the docs on...
a year ago
19
a year ago
I'm proud to announce that Hurl is officially released and done! You can check out the docs on hurl.wtf. The language itself came out of an interesting question: Python sometimes uses exceptions for control flow, so could we implement a language that eschews normal control flow...
Yale e360
Insights and questions from the original waterfall paper The waterfall model is probably the most reviled methodology in software engineering. This...
a year ago
19
a year ago
The waterfall model is probably the most reviled methodology in software engineering. This methodology was first described in a 1970 paper by Dr. Winston Royce. This paper didn't call it waterfall, nor did it endorse the technique, and the paper contains a lot of good insights...
Yale e360
Profiling Rust programs the easy way Performance is one of the big reasons to use Rust. It's not a magic wand for performance, it just...
a year ago
31
a year ago
Performance is one of the big reasons to use Rust. It's not a magic wand for performance, it just gives you the control to eke out whatever performance you need. So if your program is still slow, how do you fix that? Profiling your program is one of the best options for figuring...
Yale e360
Why do companies hire people to be idle a lot of the time? The biggest tech companies employ a lot of engineers. In 2021, Microsoft employed over 100,000...
a year ago
22
a year ago
The biggest tech companies employ a lot of engineers. In 2021, Microsoft employed over 100,000 software engineers. That is just mind boggling scale to me. It's roughly as many people as the whole county I grew up in. They are paying a lot of engineers. Some of them do very...
Yale e360
Building a digital vigil for those we've lost This post is hard to write in a lot of ways. It's more personal than most I've written. This is...
a year ago
17
a year ago
This post is hard to write in a lot of ways. It's more personal than most I've written. This is presumptively a tech blog, and this piece is about so much more than technology. But it's important. Making things, software or otherwise, is ultimately about people. One of the ways I...
Yale e360
Introducing Yet Another Rust Resource (or YARR!) Rust is a hard language to learn, in the scheme 1 of things. I've previously talked about why...
a year ago
19
a year ago
Rust is a hard language to learn, in the scheme 1 of things. I've previously talked about why the learning curve is hard and what we could do about it. Today, I'm proud to say that there's another resource to help people learn Rust in a more approachable way. Introducing Yet...
Yale e360
Accessibility is a requirement, not a feature Stop me if you've heard this one before: "We're putting accessibility (features) on the roadmap." Or...
a year ago
22
a year ago
Stop me if you've heard this one before: "We're putting accessibility (features) on the roadmap." Or this one: "We don't need to make it accessible since we don't have any blind users 1 ." It belies an attitude that's all too common in the software industry: That accessibility...
Yale e360
That time I wrote malware and got caught Most of us make some bad decisions in high school. While other people were drinking, going to...
a year ago
18
a year ago
Most of us make some bad decisions in high school. While other people were drinking, going to parties, and who knows what else, I was doing some experimentation of my own. I was writing my first (and only) piece of malware. From as early as I can remember, I've had a fascination...
Yale e360
Unpacking some Rust ergonomics: getting a single Result from an iterator of them Rust has a lot of nice things that make life easy. One of the least discussed ones is also one of my...
a year ago
18
a year ago
Rust has a lot of nice things that make life easy. One of the least discussed ones is also one of my favorites. It's a little nugget in the standard library that makes handling possible failures a lot easier. And it's not even baked in—it just falls out from the type...
Yale e360
Estimates are about time, so let's cut to the chase As software engineers, we routinely estimate our work. Our most common brush with estimates is when...
a year ago
17
a year ago
As software engineers, we routinely estimate our work. Our most common brush with estimates is when we estimate individual tasks within a sprint. Usually, we do that with abstract points, and that's the wrong way about it. We should be cutting to the chase and estimating directly...
Yale e360
A student asked how I keep us innovative. I don't. Last week, I did a Q&A session for a friend's security class. One of the students asked a question...
a year ago
26
a year ago
Last week, I did a Q&A session for a friend's security class. One of the students asked a question that I loved. They asked something like, "As a principal engineer, how do you make sure your company stays at the forefront of innovation?" There are two reasons I love this...
Yale e360
What would a web app canary look like? Recently, I listened to an interview with Haroon Meer, the founder of a company focused on...
a year ago
20
a year ago
Recently, I listened to an interview with Haroon Meer, the founder of a company focused on honeypots. Honeypots (also known as canaries or tripwires) are used to detect network intrusions and people nosing around at things they're not supposed to. They are an essential component...
Yale e360
Making it fast shouldn't be the last step There's a common quote in the software world that you should "make it work, make it right, then make...
a year ago
19
a year ago
There's a common quote in the software world that you should "make it work, make it right, then make it fast."1 This is a catchy aphorism, and it is often taken as a rule. But in its short form, it misses some crucial nuance. Let's unpack it to see what's missing, then how to do...
Yale e360
"Help, iterators made my Rust program slower!" Recently in a programming community I belong to, someone presented a problem. They had a Rust...
a year ago
22
a year ago
Recently in a programming community I belong to, someone presented a problem. They had a Rust program which was using threads and for loops. When they updated the code to use iterators, it got dramatically slower. Why did this happen? For a Rust veteran, the problem might not be...
Yale e360
A systematic approach to debugging I've got a reputation at work as being a skilled debugger. It's a frequent occurrence that the weird...
a year ago
26
a year ago
I've got a reputation at work as being a skilled debugger. It's a frequent occurrence that the weird stuff lands on my desk1 after it goes through another skilled engineer or two. To say my job is substantially "debug the weird shit" would not be an understatement and I'm here...
Yale e360
OpenAI fixed their unsafe policy around names Update October 2, 2023: This is now fixed: you can update your name in your user settings. This...
a year ago
19
a year ago
Update October 2, 2023: This is now fixed: you can update your name in your user settings. This works for the OpenAI Platform accounts, and they say the same for ChatGPT (etc.) is coming soon. Thank you to those who reached out to OpenAI employees about this, and thank you so...
Yale e360
Changing my relationship with GitHub Copilot I've been using GitHub Copilot on personal projects since March. It's been an interesting...
a year ago
19
a year ago
I've been using GitHub Copilot on personal projects since March. It's been an interesting experience, and one that I realized I have to change. Using Copilot nearly full time has had some positive and negative impacts on me, and it's time to take control of how I interact with...
Yale e360
The phrase "good enough" isn't fit for purpose Words matter. First impressions matter. I'm reading The Pragmatic Programmer in a book club, and...
a year ago
22
a year ago
Words matter. First impressions matter. I'm reading The Pragmatic Programmer in a book club, and there's a section titled "Good-Enough Software". In it, the authors expand that "the phrase 'good enough' does not imply sloppy or poorly produced code" and that it must still meet...
Yale e360
Writing a basic code formatter I've been working on my programming language for a couple of months now, in fits and starts1. In the...
a year ago
21
a year ago
I've been working on my programming language for a couple of months now, in fits and starts1. In the original post, I laid out my plan for it, and after creating the parser the next step was writing a formatter. I thought this would be a nice intermediate step after writing the...
Yale e360
Fiction as a lens into technological change The world is changing right now. We don't know just how much yet, but LLMs are having a major impact...
a year ago
16
a year ago
The world is changing right now. We don't know just how much yet, but LLMs are having a major impact on almost every field, and we could see anything from minor efficiency gains to catastrophic AI apocalypses to mass disruption of many jobs. The cone of possibility is wide, and...
Yale e360
A few weird ways of displaying git hashes I was reading "Real-World Cryptography" and ran across an thought-provoking statement. While talking...
a year ago
22
a year ago
I was reading "Real-World Cryptography" and ran across an thought-provoking statement. While talking about why hashes are often represented in hexademical, the author states (emphasis mine): There are other ways to encode binary data for human consumption, but the two most widely...
Yale e360
Throw away your first draft of your code The next time you start on a major project, I want you to write code for a couple of days and then...
a year ago
17
a year ago
The next time you start on a major project, I want you to write code for a couple of days and then delete it all. Just throw it away. I'm serious. And you should probably have some of your best engineers doing this throwaway work. It's going to save you time in the long run. The...
Yale e360
Recovering from a lost disk: how I setup, backup, and restore dev machines Last Wednesday just before 3pm, I went pack up my laptop to get ready to drive 7 hours to visit my...
a year ago
16
a year ago
Last Wednesday just before 3pm, I went pack up my laptop to get ready to drive 7 hours to visit my family in Ohio. Fedora had some updates to apply and when it went to come back on after those, I saw the words no one wants to see: Default Boot Device Missing or Boot Failed....
Yale e360
Writing Hurl's grammar, twice Recently I started working on a programming language, Hurl. Writing the initial code samples and...
a year ago
17
a year ago
Recently I started working on a programming language, Hurl. Writing the initial code samples and developing the concept is all fine and good, but the next step is to actually make it work. The steps I outlined for developing Hurl in the last post were: Write out code samples to...
Yale e360
Impact of remote-code execution vulnerability in LangChain One of my private repos depends on LangChain, so I got a lovely email from GitHub this...
a year ago
18
a year ago
One of my private repos depends on LangChain, so I got a lovely email from GitHub this morning: Ooh, a high severity remote-code execution vulnerability in LangChain? On the one hand, I'm not entirely shocked that a framework that includes the ability to run LLM-generated code...
Yale e360
Using git mailmap when names change (or you mess up your email) People change their names for all sorts of reasons. They get married, they transition, or they just...
a year ago
28
a year ago
People change their names for all sorts of reasons. They get married, they transition, or they just decide a different name better suits them. When this happens, things break. Recently I talked about how email address changes break things. Today it's how to fix this issue with...
Yale e360
Write more "useless" software After my last blog post about Hurl, someone asked me, and I quote: "... why?" The simple answer is...
a year ago
23
a year ago
After my last blog post about Hurl, someone asked me, and I quote: "... why?" The simple answer is "for the joke." But the longer answer is that useless software1 is a fantastic way to explore and experience the joy of computing. Play is an important part of exploration and...
Yale e360
Introducing Hurl, a terrible (but cute) idea for a language Sometimes we have ideas that are bad but demand to enter reality. A few months ago, while chatting...
a year ago
21
a year ago
Sometimes we have ideas that are bad but demand to enter reality. A few months ago, while chatting with a friend, we toyed around with the idea of a language where the only control flow you get is error handling. This idea embedded itself in my brain and wouldn't let me go, so I...
Yale e360
Optimize sprint points to get nowhere fast As developers, we can be metric obsessed. We tend to like objective measures of things. 99th...
a year ago
19
a year ago
As developers, we can be metric obsessed. We tend to like objective measures of things. 99th percentile request times, CPU percentage, disk utilization. Nothing escapes our attempts to quantify it, not even our productivity: enter story points1. We measure our productivity in...
Yale e360
Units in Go and Rust show philosophical differences Units are a key part of doing any calculation. A number on its own is just a scalar and doesn't...
a year ago
19
a year ago
Units are a key part of doing any calculation. A number on its own is just a scalar and doesn't represent anything in particular. If I tell you to go drive 5, you'd naturally ask "5 what?" Software often has to deal with quantities that represent real-world things. How we...
Yale e360
Email addresses are not primary user identities A lot of applications treat your email address as something immutable that is linked to you and...
a year ago
16
a year ago
A lot of applications treat your email address as something immutable that is linked to you and which will never change. It can't be linked to someone else, and it can't change. This is, of course, not true. Email addresses do change. I changed my work email address recently...
Yale e360
We deserve to know if something was generated by AI We're plunging into a world where AI-generated text surrounds us. But we don't know where we are on...
a year ago
18
a year ago
We're plunging into a world where AI-generated text surrounds us. But we don't know where we are on that. What portion of the text you read each day was generated fully or partially by a human, or by an LLM? We don't know, and probably can't know, and that brings about some...
Yale e360
It's easier to code review Rust than Python On Monday, I was talking to a friend about programming and I mentioned that I prefer to review Rust...
over a year ago
17
over a year ago
On Monday, I was talking to a friend about programming and I mentioned that I prefer to review Rust code over Python code. He asked why, and I had some rambling answer, but I had to take some time to think about it. It boils down to the fact that I can give a much better review...
Yale e360
Visualizing the FIDE World Chess Championship This week is Never Graduate Week at the Recurse Center, where alumni come back to do Recurse-y...
over a year ago
22
over a year ago
This week is Never Graduate Week at the Recurse Center, where alumni come back to do Recurse-y things together. It's a great experience and I've had a lot of fun reconnecting with friends and meeting some new friends. But it wouldn't be an RC experience without working at the...
Yale e360
Your app doesn't need to know my gender So often when we sign up for an application, it asks us for our gender, sex, or title. For example,...
over a year ago
22
over a year ago
So often when we sign up for an application, it asks us for our gender, sex, or title. For example, there is a cycling app called Zwift which I use to ride indoors. When you sign up, you enter your gender. On the app, they say that you need to be honest because it impacts...
Yale e360
You should be using hackdays to supercharge your roadmap Internal company hack days (or hack weeks) are a common thing in tech companies, but not...
over a year ago
20
over a year ago
Internal company hack days (or hack weeks) are a common thing in tech companies, but not universal. They should be universal, though. Hackdays help you get great new ideas that are both impactful and feasible. They're probably the best thing you can do to improve your product and...
Yale e360
Rust allows redeclaring local variables to great benefit A lot of programming languages allow variable shadowing in new scopes. Early on, you learn that it...
over a year ago
16
over a year ago
A lot of programming languages allow variable shadowing in new scopes. Early on, you learn that it can cause errors and can be confusing, but is situationally appropriate sometimes. Something that's less commonly allowed is redeclaring variables to shadow them locally. And when...
Yale e360
Scheduling visits from the muse Eight years ago, I decided to start a blog. For most of the life of my blog, it was relatively...
over a year ago
17
over a year ago
Eight years ago, I decided to start a blog. For most of the life of my blog, it was relatively inactive. And then, I just started pumping out a lot more blog posts in 2022 while attending the Recurse Center. What changed? I stopped relying on visits from the muse, and started...
Yale e360
Feature flags and authorization abstract the same concept When I think of feature flags and authorization, I usually think about very different things. They...
over a year ago
22
over a year ago
When I think of feature flags and authorization, I usually think about very different things. They are used for different purposes. But ultimately, they are abstractions of the same thing. They might even be the same thing except for how they are used and the consequences for...
Yale e360
Coding with LLMs can lead to more and better software We are in the early days with a new technology. There is a lot of hype around LLMs, and takes on...
over a year ago
21
over a year ago
We are in the early days with a new technology. There is a lot of hype around LLMs, and takes on every end of the spectrum. Some predict that programmers will be out of a job sooner than later. Others predict that these will just contribute to spam. Today I'd like to focus on one...
Yale e360
Different topologies for an org chart, wrong answers only Traditionally, an org chart is represented as a tree. You start at the top with the root of the...
over a year ago
17
over a year ago
Traditionally, an org chart is represented as a tree. You start at the top with the root of the tree, probably the CEO. And then everything comes down from there hierarchically. It doesn't have to be that way, though! We can imagine other topologies for companies which would...
Yale e360
Betraying vim for the IDEs of March vim is my text editor soulmate1. But I've gone and done a Brutus by betraying vim and using a...
over a year ago
19
over a year ago
vim is my text editor soulmate1. But I've gone and done a Brutus by betraying vim and using a different editor. And I did it on March 15th2, the Ides of March. Or is it the IDEs of March? The betrayal happened slowly, then all at once. For the past few weeks I've been ruminating...
Yale e360
Approximating pi using... a cake? Happy Pi Day, fellow nerds! This is a holiday I've celebrated every year since at least 2010, and...
over a year ago
21
over a year ago
Happy Pi Day, fellow nerds! This is a holiday I've celebrated every year since at least 2010, and I'm not stopping anytime soon. The celebrations have evolved. It used to be just "bake a pie" and "haha pi, pie". Over time, I twisted it a bit (pizza is a pie of sorts! a cake with...
Yale e360
Getting people to tell you you're wrong One of the challenging things about being a staff+ engineer is that people trust you. They trust you...
over a year ago
16
over a year ago
One of the challenging things about being a staff+ engineer is that people trust you. They trust you a lot, and there might be less pushback on ideas than there should be. This makes sense. To become a staff+ engineer, you usually need to be really good at this intersection of...
Yale e360
If software engineering roles were chess pieces, what would they be? Chess is booming, and tech is burning to the ground. It's inevitable, soon, that Chess is going to...
over a year ago
21
over a year ago
Chess is booming, and tech is burning to the ground. It's inevitable, soon, that Chess is going to acquire the entire tech industry. And when Chess acquires us, they'll replace us and take our software engineering jobs1. Then we'll be stuck playing their game, and we'll be...
Yale e360
What's in my software engineering tool belt? One of my favorite things is reading about the tools other people use, and talking about the tools I...
over a year ago
20
over a year ago
One of my favorite things is reading about the tools other people use, and talking about the tools I use. When I read a post recently about a data journalist's data tool belt, well... I knew I'd have to share my own software engineering tool belt, too. So, here's my software...
Yale e360
A systems design perspective on why chess.com's servers have been melting January 2023 was a rough month if you wanted to play chess on the most popular chess website,...
over a year ago
21
over a year ago
January 2023 was a rough month if you wanted to play chess on the most popular chess website, chess.com1. Their service has been experiencing an unprecedented amount downtime because of a huge influx of users2. There have been days where it's all but unusable. It's frustrating as...
Yale e360
What's the difference between references and pointers in Rust? I've been working on writing a Rust training course, and one of the things I struggled with...
over a year ago
21
over a year ago
I've been working on writing a Rust training course, and one of the things I struggled with explaining in there was the difference between references and pointers. Ultimately, the underlying representation is the same: both hold an address for some memory. The difference between...
Yale e360
Does technology have a right to exist? (No.) So often, people argue against restrictions on technology (or tech companies) with the argument that...
over a year ago
18
over a year ago
So often, people argue against restrictions on technology (or tech companies) with the argument that those restrictions aren't possible given the scale, value, or some other property of the technology. For example, a common retort to arguments that Facebook and YouTube should...
Yale e360
Speeding up queries 1000x by sorting my bitmaps I'm working on a database system that stores and queries chess games and positions. Right now, it...
over a year ago
19
over a year ago
I'm working on a database system that stores and queries chess games and positions. Right now, it contains 240 million unique positions1 from 3.8 million games. One of the things it needs to do is quickly find all the games where a particular position occurs. I'd also like it to...
Yale e360
Why Rust's learning curve seems harsh, and ideas to reduce it I've been thinking about the learning curve for Rust lately, and why it feels so hard to learn. I...
over a year ago
24
over a year ago
I've been thinking about the learning curve for Rust lately, and why it feels so hard to learn. I think the reason is because the complexity is all front-loaded, and the resources generally don't actively reduce that front-loading1. There are two well-trod paths for learning...
Yale e360
Names should be cute, not descriptive A long-standing debate between me and a peer at work has been how we should name services. His...
over a year ago
24
over a year ago
A long-standing debate between me and a peer at work has been how we should name services. His position was always that services should be named something descriptive, so that you can infer from the name what it does. My position is that the name should definitely not be...
Yale e360
A confusing lifetime error related to Rust's lifetime elision Earlier this week, I ran into a confusing situation with lifetimes and the borrow checker while...
over a year ago
18
over a year ago
Earlier this week, I ran into a confusing situation with lifetimes and the borrow checker while working on my Lox interpreter. It took me a little while to figure out, and it's an instructive situation. Here's a reduced-down version of what I was working on. It's an interpreter,...
Yale e360
Reflecting on 2022, Looking Ahead to 2023 This is one of those cliched posts: Reflection on the year that's ending, and talking about goals...
over a year ago
21
over a year ago
This is one of those cliched posts: Reflection on the year that's ending, and talking about goals and whatnot for next year. They're cliche, but they're also useful. The planning and reflecting process is a useful one, and sharing openly means other people can come along and...
Yale e360
return "reflections on a batch"; There's a tradition at Recurse Center of writing a Return Statement after your batch. I'm not sure...
over a year ago
21
over a year ago
There's a tradition at Recurse Center of writing a Return Statement after your batch. I'm not sure of the origin of the terminology, but it seems like it's a pun on the return statement in programming languages. It's a great tradition, and it gives me a good motivator to reflect...
Yale e360
Working with Rust in (neo)vim I've been using vim for nearly as long as I've been writing code. My first introduction to it was...
over a year ago
18
over a year ago
I've been using vim for nearly as long as I've been writing code. My first introduction to it was being thrown in the deep end in 2009 by my Intro to CS lab assistant, who told us to write our programs using vi1 on the department servers. Why he told us that, I have no idea. But...
Yale e360
RC Week 12: What's Next, and Speedrunning Crafting Interpreters And that's it. My batch at RC ended yesterday. I have so many thoughts and feelings from this time,...
over a year ago
17
over a year ago
And that's it. My batch at RC ended yesterday. I have so many thoughts and feelings from this time, but it's going to take time to coalesce them all. I'll write up my Return Statement1 in a week or two, but for now, here's what I was up to the last week! Mostly, this last week...
Yale e360
Building Molecule Reader in one day Reading on screens is very difficult for me. I just cannot focus on the articles, especially when...
over a year ago
16
over a year ago
Reading on screens is very difficult for me. I just cannot focus on the articles, especially when there are notifications coming in or even just other content on the screen1. I have a reMarkable tablet (RM), which I love dearly2 and much prefer to read on. But it's annoying...
Yale e360
RC Week 11: Learning is best when multiplayer As I come up on the end of my batch at Recurse Center, I've been doing some reflecting on my time...
over a year ago
19
over a year ago
As I come up on the end of my batch at Recurse Center, I've been doing some reflecting on my time here. One of the standout themes is how much I've learned through struggling with other people. In particular, this learning together has make some difficult topics approachable,...
Yale e360
Tech systems amplify variety and that's a problem I recently read "Designing Freedom" by Stafford Beer. It has me thinking a lot about the systems we...
over a year ago
19
over a year ago
I recently read "Designing Freedom" by Stafford Beer. It has me thinking a lot about the systems we have in place and something clicked for why they feel so wrong despite being so prevalent. I'm not sure what any solutions look like yet, but outlining a problem is the first step,...
Yale e360
RC Week 10: Thankful for Family, Missing my Family As I write this, I'm sitting, surrounded by family, recovering from a cold. I wasn't sure what I'd...
over a year ago
12
over a year ago
As I write this, I'm sitting, surrounded by family, recovering from a cold. I wasn't sure what I'd write this week for the RC week 10 recap, since it's a short week. This week I didn't get a whole lot of coding done, so it's time for the trope: the Thanksgiving post. Of course,...
Yale e360
Measuring the overhead of HashMaps in Rust While working on a project where I was putting a lot of data into a HashMap, I started to notice my...
over a year ago
20
over a year ago
While working on a project where I was putting a lot of data into a HashMap, I started to notice my hashmaps were taking up a lot of RAM. I mean, a lot of RAM. I did a back of the napkin calculation for what the minimum memory usage should be, and I was getting more than twice...
Yale e360
RC Week 9: Parallels of Proofs and Programs I have three weeks left at Recurse Center. This last week was significantly less productive for me...
over a year ago
19
over a year ago
I have three weeks left at Recurse Center. This last week was significantly less productive for me than usual, because I've been pretty fatigued and just recovered from a cold. But I still got some work done that I'm proud of. More than that, I'm excited for the coming three...
Yale e360
I'm moving my projects off GitHub It's time for me to leave GitHub behind and move to another forge. I'm not necessarily advocating...
over a year ago
19
over a year ago
It's time for me to leave GitHub behind and move to another forge. I'm not necessarily advocating for anyone else to do the same, but if my reasons resonate with you then you may want to consider it. I also don't expect this post to... matter, if that makes sense1. I'm not a...
Yale e360
RC Week 8: Life happens, and databases are hard I'm two-thirds of the way done with my RC batch now. Eight weeks down, four weeks to go. The last...
over a year ago
20
over a year ago
I'm two-thirds of the way done with my RC batch now. Eight weeks down, four weeks to go. The last two weeks have been difficult for me because of life happening. Week 7 was hard because I had some travel to help my parents, and that just takes me out of my routine and is...
Yale e360
Open source licenses as a reflection of values I'm the kind of nerd that has a favorite software license. For a while that favorite license was the...
over a year ago
17
over a year ago
I'm the kind of nerd that has a favorite software license. For a while that favorite license was the Mozilla Public License (MPL). Right now, it's the GNU Affero General Public License (AGPL). Licenses are really important on all code, and they're critical to the open source...
Yale e360
RC Week 7: Four habits to improve as a programmer Seven weeks down, five weeks to go! It's flying by quickly. On the one hand, I want it to last...
over a year ago
16
over a year ago
Seven weeks down, five weeks to go! It's flying by quickly. On the one hand, I want it to last forever. On the other hand, I know it can't, and I'm looking forward to talking to coworkers again at my day job when I go back. RC has given me a renewed appreciation for what I get at...
Yale e360
Paper review: C-store It's that time again: I read another paper, and here's what I took away from it! This week I read...
over a year ago
22
over a year ago
It's that time again: I read another paper, and here's what I took away from it! This week I read "C-store: a column-oriented DBMS" from chapter 4 of the Red Book. This one I picked since I thought it would be helpful for the chess database I'm working on, and it does seem...
Yale e360
RC Week 6: Halfway done, wrote a parser! I'm halfway done with my RC batch now. Time feels like it has sped up. The feeling that my time at...
over a year ago
21
over a year ago
I'm halfway done with my RC batch now. Time feels like it has sped up. The feeling that my time at RC is infinite is gone. This was compounded by seeing folks from the Fall 1 batch conclude their batches yesterday. We'll get a new boost from the Winter 1 batch joining on Monday,...
Yale e360
My first impressions from a few weeks with Lean and Coq For the last few weeks, some of us have been working through learning about interactive theorem...
over a year ago
18
over a year ago
For the last few weeks, some of us have been working through learning about interactive theorem proving together at Recurse Center. I've been curious about proof assistants since undergrad, and finally have the time, space, and peers to dive into it with. It's been an interesting...
Yale e360
Paper review: Concurrency Control Performance Modeling Another week, another paper! This week for our Red Book reading group, I read "Concurrency Control...
over a year ago
20
over a year ago
Another week, another paper! This week for our Red Book reading group, I read "Concurrency Control Performance Modeling" by Rakesh Agrawal, Michael J. Carey, and Miron Livny. It was 46 pages, and I had a little trouble finding the whole paper—many of the Google Scholar links had...
Yale e360
RC Week 5: Wrapping up projects and starting a new one Another week of my RC batch wraps up. I'm done with five weeks, and seven weeks are left! Time is...
over a year ago
21
over a year ago
Another week of my RC batch wraps up. I'm done with five weeks, and seven weeks are left! Time is still flying by, and I've hit an inflection point. I have gotten what I want out of the two projects I've worked on so far, so I'm going to wrap them up and move on to one new...
Yale e360
Alpha-beta pruning illustrated by the smothered mate I've been working on Patzer, a chess engine, during my time at RC. The first engine-like thing I...
over a year ago
20
over a year ago
I've been working on Patzer, a chess engine, during my time at RC. The first engine-like thing I implemented for it was alpha-beta pruning, which is a way of pruning out branches of the search tree to significantly speed up search. This is a common algorithm, which I also...
Yale e360
RC Week 4: Gratitude and emotions Wow, my RC batch is one-third done. I've just finished my fourth week, and there are eight weeks...
over a year ago
20
over a year ago
Wow, my RC batch is one-third done. I've just finished my fourth week, and there are eight weeks left. Time is flying by. I feel like I've settled into a decent groove. Taking a step back, it is setting in how much I've learned so far and how much I've accomplished. In these four...
Yale e360
Paper review: The Gamma Database Project Last week, I read "The Gamma Database Project" for a Red Book reading group. Unlike the last paper...
over a year ago
20
over a year ago
Last week, I read "The Gamma Database Project" for a Red Book reading group. Unlike the last paper for this group, this one was a lot more approachable in length: 19 pages. I'm putting up some of my notes here from reading the paper. If you read through to the end, there's...
Yale e360
RC Week 3: Returning to Math The third week of my batch at Recurse Center is finished. It is still flying by too quickly. Nine...
over a year ago
19
over a year ago
The third week of my batch at Recurse Center is finished. It is still flying by too quickly. Nine weeks left! This week was a whirlwind and really busy. I think I pushed myself too hard. I had just recovered from my cold and was a little drained, and then got my COVID booster and...
Yale e360
Starting my (overkill) homelab I've set up a homelab finally! This is something I've wanted for a while and finally the timing was...
over a year ago
21
over a year ago
I've set up a homelab finally! This is something I've wanted for a while and finally the timing was right. The right project came along to justify it, so I took the plunge. Naturally, that leads to a few questions: What's a home lab? Why do you want one? And what is the shiny...
Yale e360
Paper Review: Architecture of a Database System Last week, I read "Architecture of a Database System" for a Red Book reading group. This is as...
over a year ago
22
over a year ago
Last week, I read "Architecture of a Database System" for a Red Book reading group. This is as massive paper: 119 pages. What surprised me is how approachable it is. I have relatively little background building database systems and more experience using them. Despite this, the...
Yale e360
RC Week 2: Pairing is Awesome The second week of my batch at Recurse Center (RC) is a wrap, and it already feels like it's going...
over a year ago
21
over a year ago
The second week of my batch at Recurse Center (RC) is a wrap, and it already feels like it's going too quickly. My batch is twelve weeks long, so I'm 17% through. Only ten weeks left! This is a precious time, so I'm trying to make the most of it, but also trying to not increase...
Yale e360
Rounding in Python In software engineering, there are two principles that often come into conflict. The first one is...
over a year ago
17
over a year ago
In software engineering, there are two principles that often come into conflict. The first one is the principal of least surprise. The second one is doing the right thing. These come into conflict when the usual thing that people do is in fact the wrong thing. A particular...
Yale e360
RC Week 1: Getting Unexpected Extrovert Energy The first week of my batch at Recurse Center (RC) just finished, and it was an intense week! I'm...
over a year ago
17
over a year ago
The first week of my batch at Recurse Center (RC) just finished, and it was an intense week! I'm planning to write a blog post each week about my experience at RC. They'll vary, but it'll probably be a mixture of what I did and my feelings about everything. There won't be too...
Yale e360
I'm taking a sabbatical and attending Recurse Center! It's been almost a decade since I graduated from college. In that time, I've worked at three...
over a year ago
16
over a year ago
It's been almost a decade since I graduated from college. In that time, I've worked at three startups, co-founded a non-profit immigration tech company, consulted for the United Nations, and noped out of grad school after one semester (twice!). I've also struggled with depression...
Yale e360
Running an Effective Book Club at Work Even with the wealth of information on web sites and in videos, books remain a great resource for...
over a year ago
22
over a year ago
Even with the wealth of information on web sites and in videos, books remain a great resource for learning. And they're great for group learning, too! We've run a book club at work a few times. Some sessions were more successful than others. The main way our book clubs faltered...
Yale e360
Where are we going from here? Software engineering needs formal methods The job of a software engineer is not to produce code, but to solve problems; we just happen to...
over a year ago
21
over a year ago
The job of a software engineer is not to produce code, but to solve problems; we just happen to solve most of those problems by producing code. Ultimately, producing code is hard, and we need help. That's why GitHub's Copilot is exciting, but it's far from ideal, and it's the tip...
Yale e360
Drawbacks of developing in containers It seems like everyone these days is developing in containers. Specifically, I mean running your...
over a year ago
19
over a year ago
It seems like everyone these days is developing in containers. Specifically, I mean running your local development environment almost entirely in containers. There's a lot to be said for it, especially when you're bringing new developers into a project: it can be an invaluable...
Yale e360
Lessons from my first (very bad) on-call experience Near the beginning of my career, I was working for a startup that made database software used by...
over a year ago
17
over a year ago
Near the beginning of my career, I was working for a startup that made database software used by other companies in their production infrastructure. The premise was that our super-fast database had a computing framework that would let you do things in real-time that usually took...
Yale e360
Load testing is hard, and the tools are... not great. But why? If you're building an application that needs to scale—and we all tell ourselves that we are—then at...
over a year ago
18
over a year ago
If you're building an application that needs to scale—and we all tell ourselves that we are—then at some point you have to figure out if it does or not. This is where load testing comes in: if you want to see whether or not your application can handle scale, just generate scale...
Yale e360
Tech salaries probably aren't dropping from remote work Not even a year ago, most software companies and software engineers were some form of remote work...
over a year ago
17
over a year ago
Not even a year ago, most software companies and software engineers were some form of remote work skeptical. Remote work existed (I've been working remote for most of my admittedly short career!) but it was not widespread. When I talked to recruiters at big tech companies they...
Yale e360
Solving my fun, frustrating docker-machine error Last Saturday, I ran into a problem doing a routine backup of a web app I maintain. In fact, this...
over a year ago
21
over a year ago
Last Saturday, I ran into a problem doing a routine backup of a web app I maintain. In fact, this was the second time I ran into the exact same issue, so it's time to write it down. (Hopefully, the third time I run into this, I have the presence of mind to look up my own...
Yale e360
What's "good" code and does it matter? I take pride in my work and in writing good code, and it's important sometimes to take a step back...
over a year ago
19
over a year ago
I take pride in my work and in writing good code, and it's important sometimes to take a step back and ask: what does that even mean? And does it matter? At a high level, "good code" is code that is suitable for its purpose and achieves its goals. That definition is pretty...
Yale e360
Where is the source code for ping? Lately, I've been working on implementing ping on my own as a project to keep learning Rust and to...
over a year ago
20
over a year ago
Lately, I've been working on implementing ping on my own as a project to keep learning Rust and to deepen my knowledge of networks. I'm just going for a super basic utility here, nothing fancy, not even all the features of ping. But since the language is new to me and my...
Yale e360
Parallel assignment: a Python idiom cleverly optimized
over a year ago
Yale e360
Terminology matters: let's stop calling it a "sprint" If you're in the software industry, it's hard to not be aware of agile development at this point. It...
over a year ago
17
over a year ago
If you're in the software industry, it's hard to not be aware of agile development at this point. It seems like every team practices it differently, but there are certain commonalities that run through all teams I've seen. One of those is the term used for each time-delimited...
Yale e360
Gmail's "Smart Compose" feature should be considered harmful In 2005, I got my invite to get a Gmail account. It was incredible, and I loved it, although I...
over a year ago
25
over a year ago
In 2005, I got my invite to get a Gmail account. It was incredible, and I loved it, although I didn't really know why at the time. It was a combination of really great design so it was pleasant to use, the hype built up by the invite system, the perpetual feeling of getting...
Yale e360
Books I Read in 2018 Every year, GoodReads has a Reading Challenge, where you set how many books you want to read and...
over a year ago
18
over a year ago
Every year, GoodReads has a Reading Challenge, where you set how many books you want to read and record them as you go. This year, I got serious about it, and it was a wonderful motivational device. I set a goal of two books per month, and I just eked it out over the finish line,...
Yale e360
Kill the crunch time heroics Crunch time has an allure: it feels like if you just push hard enough, you can get more done. You...
over a year ago
19
over a year ago
Crunch time has an allure: it feels like if you just push hard enough, you can get more done. You can push hard and get that next release done on time, get those new features out, earn more revenue for your company. Engineers are under immense pressure to deliver more and do it...
Yale e360
Avoid multitasking to write better code Multitasking is incredibly alluring. Why go slowly, doing one thing at a time, if you could get a...
over a year ago
21
over a year ago
Multitasking is incredibly alluring. Why go slowly, doing one thing at a time, if you could get a second thing done? Why not fill those five seconds while your code compiles with reading an article about the latest web frameworks? In fact, multitasking is hiding everywhere in...
Yale e360
Distractions Cause Bad Code We are barraged by constant distractions, and they are degrading the quality of our work. Our...
over a year ago
17
over a year ago
We are barraged by constant distractions, and they are degrading the quality of our work. Our digital society now is set up to allow us to focus for mere minutes at a time, since we are in an attention economy and the sole objective of companies is to capture more of our time....
Yale e360
Don't Disrupt Things; Fix Them People talk about disrupting industries when those industries appear to be in a stable but...
over a year ago
17
over a year ago
People talk about disrupting industries when those industries appear to be in a stable but inefficient state. For example, the taxicab industry: there was little innovation going on in it, and it was stable, but it seemed like it was far from ideal. Along came Uber, intent to...
Yale e360
Even bad estimates are valuable if you use them right Estimating software projects is hard, if not impossible. This seems likely to be fundamental to the...
over a year ago
18
over a year ago
Estimating software projects is hard, if not impossible. This seems likely to be fundamental to the work, because we're inventing new things and invention doesn't happen on a fixed schedule. And yet, many teams still estimate how long their tasks will take to finish. Why should...
Yale e360
Topologies of Remote Teams When you're building or scaling a software engineering team, you naturally run into a choice at some...
over a year ago
20
over a year ago
When you're building or scaling a software engineering team, you naturally run into a choice at some point: will we all be in the same office, or will we do this "remote work" thing? There are a lot of factors that go into whether or not remote work will work for your team, like...
Yale e360
How I Work Remotely I've been working remote since September 2016. There are a lot of engineers who have worked remote...
over a year ago
18
over a year ago
I've been working remote since September 2016. There are a lot of engineers who have worked remote longer than I have; there are others who have more insight into how they work than I do; and there are plenty of people who simply don't work in the same way I do. My intention in...
Yale e360
The bittersweet end of a year of independence Just over a year ago, I left the startup I was working for and started my own business. My intention...
over a year ago
17
over a year ago
Just over a year ago, I left the startup I was working for and started my own business. My intention was to do freelance work ("consulting", to all my clients) until I was able to launch my first product, and then shift into being a product company. My ambitions and confidence...
Yale e360
On Estimates, Time, and Evidence Here's an exchange that's pretty common: "How long will that take?" "A few days." I run into this...
over a year ago
21
over a year ago
Here's an exchange that's pretty common: "How long will that take?" "A few days." I run into this all the time with clients - they have real business needs to know how long something will take and what the risks are with any given project. So, we are asked to give estimates of...
Yale e360
PyOhio This was my first time going to PyOhio, and it was a blast. There will be some videos being posted...
over a year ago
18
over a year ago
This was my first time going to PyOhio, and it was a blast. There will be some videos being posted soon, so I will opt to link to those as they come in, but first, here are some of the highlights: Ed Finkler of OSMI gave a great talk on mental illness in tech, resources that are...
Yale e360
Growing Teams and Baking Bread One of the keys in baking bread is getting the dough to rise well. As the yeast does its work, it...
over a year ago
19
over a year ago
One of the keys in baking bread is getting the dough to rise well. As the yeast does its work, it ferments some of the sugars in the dough into alcohol and carbon dioxide, resulting in a growing, bubbly mass of dough. There are some tricks to making dough rise quickly, like using...
Yale e360
Functional Programming and Big Data Update: I wrote this while preparing a talk for the Columbus Functional Programmers meetup. You can...
over a year ago
19
over a year ago
Update: I wrote this while preparing a talk for the Columbus Functional Programmers meetup. You can find the talk on YouTube. It has more humor than these words, but then you'd have to listen to my voice. This post is a long one, so here’s a brief roadmap. We’ll start with a...
Yale e360
Security of the Infinity Ergodox on Mac OS A friend of mine is very into keyboards and, after seeing his keyboards at work and admiring his...
over a year ago
19
over a year ago
A friend of mine is very into keyboards and, after seeing his keyboards at work and admiring his Ergodox many times, I took the plunge and built my own. 152 solder joints later, I have this beauty: It took a few days to get used to it and in the process, I found a bug in layer...
Yale e360
Consider Part-Time Work It has long been predicted that with more automation and more technology, we could all work less and...
over a year ago
18
over a year ago
It has long been predicted that with more automation and more technology, we could all work less and have more leisure time, but we continue to fall short of that promise. In many ways, we're working harder and longer, with more stress, than previous generations did. I think that...
Yale e360
Starting a New Chapter At the end of this week, I am starting a new chapter of my life: entrepreneurship. This is my last...
over a year ago
16
over a year ago
At the end of this week, I am starting a new chapter of my life: entrepreneurship. This is my last week at CrossChx, and then I begin splitting my time between contract work and developing some of my own ideas. I only spent about three quarters of a year at CrossChx, but in that...
Yale e360
[Talk] Scaling Graphs On March 22, 2016, I talked about scaling up graphs at Scale Tech. It was recorded and is viewable...
over a year ago
19
over a year ago
On March 22, 2016, I talked about scaling up graphs at Scale Tech. It was recorded and is viewable on YouTube: If you have thoughts on scaling graphs or big data in general, please reach out to me! I'm always happy to talk about this.
Yale e360
[Review] "The Circle" by Dave Eggers Surveillance has gotten a lot of media attention lately (and a bit of attention on this very blog),...
over a year ago
19
over a year ago
Surveillance has gotten a lot of media attention lately (and a bit of attention on this very blog), and for good reason. So, it should be no surprise that it's also turning up in our dystopian novels! "The Circle" is a dystopian novel by Dave Eggers. While fiction, it is set in a...
Yale e360
Surveillance, Schools, and Our Children In 2010, the news broke that Harriton High School, in a suburb of Philadelphia, was activating...
over a year ago
20
over a year ago
In 2010, the news broke that Harriton High School, in a suburb of Philadelphia, was activating webcams on student laptops1. When they were at home. In their bedrooms. They captured photos while students were in private spaces, where they never expected to be watched. A few days...
Yale e360
Fight Burnout, Go For a Run Here's something we don't talk about enough: burnout sucks and it can happen to any one of us. We...
over a year ago
20
over a year ago
Here's something we don't talk about enough: burnout sucks and it can happen to any one of us. We need to talk about it. We need to know how to deal with it and recover from it. And we need to recognize that everyone can come back from it, stronger than ever. In the software...
Yale e360
[Review] "Data and Goliath" by Bruce Schneier I just finished reading Bruce Schneier's latest book, "Data and Goliath." I was apprehensive at...
over a year ago
19
over a year ago
I just finished reading Bruce Schneier's latest book, "Data and Goliath." I was apprehensive at first -- I'm a big fan of Schneier's posts online, but I found this randomly at the library and I was hoping not to be disappointed. In the end, it was well worth the read. The book...
Yale e360
In Defense of the Midwest As an undergraduate, I always imagined that I would someday move to the SF Bay Area to live in the...
over a year ago
22
over a year ago
As an undergraduate, I always imagined that I would someday move to the SF Bay Area to live in the heart of the software industry. With this in mind, in my final semester at Kent State, I joined a Silicon Valley startup as their third engineer1. The staff at that time was split:...
Yale e360
How Cryptology Can Fix Identity Theft Identity theft is a huge problem, costing Americans more than $4.5 billion in 2012. Identity theft...
over a year ago
18
over a year ago
Identity theft is a huge problem, costing Americans more than $4.5 billion in 2012. Identity theft victims frequently lose time and money and undergo significant mental hardships while dealing with the fallout. It can happen a few different ways, but one large attack vector is...
Yale e360
The Beginning of Something It seems like everyone in the software industry goes through a blogging phase. This is the beginning...
over a year ago
19
over a year ago
It seems like everyone in the software industry goes through a blogging phase. This is the beginning of mine. I have started this blog time and time again over the last three years. My original inspiration for having a technical blog came from one of my mentors at my internship....