Hexbyte  Tech News  Wired ‘Cuphead’ Update Is Being Delayed for a Very Good Reason

Hexbyte Tech News Wired ‘Cuphead’ Update Is Being Delayed for a Very Good Reason

Hexbyte Tech News Wired

It’s the Fourth of July holiday weekend, but that doesn’t mean the Replay team doesn’t have any videogame news for you. In fact, we have a couple interesting tidbits. Here’s what you need to know from the short week in just a couple minutes, plus a recommendation for a game to check out over the long weekend.

Mordhau Is Apparently Kind of a Mess

One of the PC gaming’s unexpected successes of late is Mordhau, a medieval-themed brawler that’s become a multiplayer sensation. Only problem is, its community is a big mess. As reported at length by PC Gamer, the developers behind the game seem unwilling or unable to combat rampant toxicity in their game. With a series of quotes we’d prefer not to publish here pulled directly from largely unmoderated user forums, PC Gamer illustrates a community where racism, sexism, and general hostility are not just problems, but problems left out in the open.

Mordhau devs are also in the process of rolling out female playable characters, though, and have expressed interest in including a toggle that will make all lady avatars appear as men in a given player’s game, supposedly for historical accuracy reasons. Interestingly, when the story hit the presses, the Mordhau‘s developer Triternion denied this, which PC Gamer responded to by publishing the relevant interview transcript. Triternion also issued a long statement about the “misunderstanding” and the toxicity claims.

“We do not have prior experience managing communities of this size, nor the manpower or resources that established studious can leverage,” the statement read. “Our team consists of 11 first-time developers working remotely and volunteer moderators who try their best to curb this toxicity and behavior across all platforms, including in-game. At the moment we are stretched thin with major important content additions and unfortunately we do not have the staff nor systems in place to moderate everything to our intended level of standards. We plan on improving in this regard. We hope our players understand our situation and will continue to place their faith in us, as improving these things will take time.”

The Developers of Cuphead Are Delaying Their DLC for a Very Good Reason

In more encouraging news, the developers of Cuphead just announced a delay to that game’s downloadable content, Delicious Last Course, for a very good reason. The DLC, now coming in 2020, is being delayed in order to ensure high quality, and also in consideration of the fact that, as co-director Chad Moldenhauer said, “the development of the original game taught us a great deal about the importance of making things in a way that’s healthy and sustainable for our team.”

The creators of Cuphead famously struggled for years to make their dream a reality, going so far as to remortgage their homes in order to cover ongoing development expenses. That’s absolutely a show of dedication, but overly praising that approach runs the risk of sending the wrong message to younger developers. In truth, no one should have to risk their entire lives to make their art, and the development processes that made Cuphead, while laudable, are far from sustainable.

Recommendation of the Week: Katamari Damacy, by Namco Bandai, on PlayStation 2, PC, Nintendo Switch

There’s something summery about Keita Takahashi’s Katamari Damacy. Maybe it’s the festive mood of the game’s bright environments. Maybe it’s the fact that it’s all precipitated by a party gone wrong. Or maybe it’s that the game, which has you roll objects up in a magic sticky ball in order to make increasingly large magic sticky balls for the pleasure of your divine dad, the King of All Cosmos, is both incredibly fun and deeply dysfunctional, which is the perfect holiday mood. Fireworks? Lovely. Seeing your weird relatives? Maybe less so, if you’re the summer family reunion type. Katamari Damacy captures both feelings, and it’s worth revisiting on the Switch or PC in its Katamari Damacy Reroll remaster.


More Great WIRED Stories

Read More

Hexbyte  Tech News  Wired Magnetic Materials Help Explain How Arctic Ice Melts

Hexbyte Tech News Wired Magnetic Materials Help Explain How Arctic Ice Melts

Hexbyte Tech News Wired

Hexbyte  Tech News  Wired

The discovery of an unlikely relationship between melting sea ice and magnets could help scientists produce better models of the global climate.

Orjan F. Ellingvag/Getty Images

Kenneth Golden, a mathematician at the University of Utah, was perusing images of Arctic sea ice when he noticed a pattern that seemed familiar. When seen from above, the melting sea ice looked like a field of white mottled with dark splotches where the ice had turned to liquid. To Golden it seemed awfully similar to the arrangement of atoms in a magnetic material. There’s no obvious reason for magnets to have a relationship with aerial photos of ice, but the thought stuck with him. More than a decade later, this intuition has finally solidified into a model that could be used to better predict the effects of climate change on sea ice.

Melt ponds are exactly what they sound like: pools of water that form on top of sea ice when the ice’s top layer melts in the spring and summer. The ponds are important because they change the reflectivity of ice. Ice has a high albedo, meaning it reflects most of the sunlight that hits it. Water, however, has a low albedo and absorbs a large portion of sunlight as heat. This produces a feedback loop: As ice melts to form melt ponds, a higher percentage of the ice’s surface absorbs sunlight as heat, which melts even more ice, producing more, larger melt ponds.

Knowing what percentage of the ice’s surface is made of melt ponds is therefore critical to knowing the rate at which Arctic ice is melting, which contributes to the global climate. But because the Arctic is so big, and satellite imaging has limited resolution, measuring the overall area of melt ponds is a hard problem. This is where Golden comes in.

Golden started studying sea ice as a math major at Dartmouth College, even traveling to Antarctica his senior year. He focused his career on more theoretical math, but ten years after his first Antarctic expedition, he got a call from his undergraduate research advisor inviting him to join a large polar research project with the US Navy.

The project was to characterize sea ice from satellite data, and the team needed someone like Golden to create an algorithm that made sense of its optical properties. Over the next few years, Golden went on multiple expeditions to Antarctica and the Arctic with “real sea ice people,” as he put it, researchers who waded ankle- or knee-deep in frigid puddles. He also analyzed images of these melt ponds taken from helicopters, and realized that he recognized in their patterns a ferromagnet model from his physics classes: the Ising model.

Named after Ernst Ising, the model started out as a problem given to Ising by his thesis advisor in the 1920s; now it’s commonly taught in statistical mechanics textbooks and classes.

Magnets work because individual atoms can be thought of as mini-magnets, with north and south poles. The direction of their north pole is called their magnetic moment, and because atoms are quantum in nature, they only have two choices of direction: spin up or spin down. When all the atoms in a piece of material align their magnetic moments, the entire material becomes a magnet; this is the lowest-energy configuration the atoms can take. “Somehow by hanging out with those people in melt ponds, seeing all these images, it struck me that they look like pictures I’d seen of the Ising model,” says Golden.

The Ising model, which explains magnetism, helped simulate Arctic melt ponds.

Kenneth Golden

In that model, magnetic moments are arranged in a grid, where each atom’s moment can only interact with—and potentially change—the moment of a next-door neighbor. This makes patches of same-spin atoms form in the material. As Golden flipped through photos of the melt ponds, he noticed that they interacted with the surrounding ice in much the same way.

“Then I had the idea: instead of spin up and spin down, what about water and ice?” says Golden.

Golden began to play with Ising model simulations out of curiosity, trying to see how he could connect these seemingly disparate ideas. He would start with a random topography of ice, an uneven surface with depressions and hills, and let the ice start melting—meaning, the magnetic spins started flipping. The resulting images of the simulations show islands of dark or light for atoms with spin up or down, water or ice, the edges of their shapes jagged and fractal in nature. He showed the result of one such simulation to a colleague who analyzes images of melt ponds, and the colleague initially thought Golden was showing him one of his own images.

“It doesn’t just make ponds with the correct geometry, but they really look like ponds,” Golden says. To verify his results, Golden compared the distribution of pond areas and perimeters predicted by his model to those observed in nature. They closely matched the distribution of natural melt ponds, and the model was published in New Journal of Physics.

Arctic melt ponds, often captured in aerial photos, are crucial elements of global climate models.

Donald Perovich

There are limits to the realism of such a simple model, often called a “toy model” by scientists. So Golden plans to add the effects of Arctic winds, which can reshape the edges of the ponds. He can’t account for every facet of the real world, but the length scales in Golden’s model, about one meter, are already much smaller than those used in typical climate models.

“These are big global models,” says Elizabeth Hunke, lead developer for the Los Alamos Sea Ice Model. “We use grids that are more than a kilometer on a side. And these melt ponds are much smaller than those grid cells, so we need some way to describe what fraction of the grid cell is covered by melt ponds.” Golden’s model, she says, “provides a statistical way to do it that represents the essential dynamics.”

Donald Perovich, a geophysicist at Dartmouth College, who’s familiar with Golden’s research, saw an immediate way to connect the model to his own upcoming Arctic work. “This model is helping us inform what kind of observations we’ll make, and then those observations in turn can be used to evaluate this model.”

Besides the applicability, Perovich also finds a deeper value in the model. “I think it’s kind of amazing how math provides a window to understanding the world around us,” he says.

For Golden, who has spent his career at the interface of theory and reality, the idea is a natural one. “Math is the operating system of the sciences,” he says.


More Great WIRED Stories

Read More

Hexbyte  News  Computers The Danish have designed a simple way to cope with loneliness

Hexbyte News Computers The Danish have designed a simple way to cope with loneliness

Hexbyte News Computers

Toad, a 20-year-old Danish woman living in Copenhagen, has been lonely her whole life. She is autistic, and as a child, did not have any friends. When she moved from the country to the city, not much changed. “They says it’s a phase, but a phase becomes a life,” she says, surrounded by six other young adults in a cozy apartment in Copenhagen—all of whom are working on becoming less lonely.

Toad is among the attendees of Ventilen, or “friend to one” in Danish, a 20-year-old organization set up to bring 15-to-25-year-olds together twice a week with two or three volunteers. Together, the people in the group play games, make meals, go to the cinema, and build the human connections that many feel they lack.

“I try to fight my depression by being less lonely, not with medicine,” Toad says.

Christian, who is 23, says he too suffered in high school. Though he had two friends with whom he spoke regularly, he rarely saw them in person. He tried anti-anxiety medicine, but coming off it was hard. Then his aunt found Ventilen on Facebook and recommended he try it. “It’s helped me to open up,” he says. “I don’t feel lonely the same way.”

Ventilen currently offers 21 venues in Denmark where young people looking for companionship can meet one another. There are 15 gathering places for people aged 15-25, and six KOMsammen, or “Fit for Friendship” places, which focus on food and movement for those aged 15-30. The essential services its venues offer are straightforward, and yet can be so elusive: a place to go, things to do, and people to do them with.

While Ventilen has been around for decades, its simple yet novel approach is getting more attention as governments everywhere wake up to the prevalence, and cost, of loneliness. A recent Kaiser Family Foundation study showed that 22% of Americans, 23% of Brits and 9% of Japanese adults said they felt lonely all the time. When the BBC asked 55,000 people about their experiences with loneliness,33% of respondents said they were “often” or “very often” lonely. Among those aged 16-24, the figure was a shocking 40%. 

Vivek Murthy, the former US surgeon general, has declared loneliness an “epidemic,” noting that it was dangerous both in its own right and because of its links to deep societal problems such as addiction and violence: “It’s prevalent, it’s common, and the studies Julianne [Holt-Lunstad] and others have done have shown a robust association with illnesses that we actually care about, including heart disease, dementia, depression and anxiety, and very importantly, longevity.”

Indeed, Holt-Lunstad’s research shows that being disconnected poses comparable danger to smoking 15 cigarettes a day, and is more predictive of early death than the effects of air pollution or physical inactivity.

Hexbyte News Computers Finding a common purpose

According to Julie Vorsaa, volunteer coordinator for Ventilen, the idea for the organization can be traced back to 1999, when two volunteers (whose names no one remembers) were working for a help line. They noticed a lot of people weren’t as much in need of help as they were in need of friends. They were lonely, and the help line could only be a band-aid, not a cure. They formed a support group called Bright Point, aimed at facilitating IRL conversation. But when people came together, no one talked. The idea seemed destined to fail. 

Then someone had the idea of introducing games. “They had a catalyst, and they started to talk over the game,” she says. Later, the group added the idea of making meals, and then exercising. “They found out food was a good thing to bring people together,” she says. “You talk when you eat. It’s more cozy.”

Since 2011, Ventilen, which gets funding from the government and private donors, has been measuring its results. Through 2017, nearly 700 people had participated in Ventilen (55.7% men, 44.3% women), with the average age being 20.9. According to its self-reported survey, 70% of participants said they felt less lonely after coming, while 74% reported higher self-worth after coming. Sixty-four percent said they were better at social situations, and 80% said they were more likely to meet other people. 

About one in 10 young people in Denmark report that they are lonely. While this may seem surprising in a country that is frequently rated one of the happiest in the world, it mirrors data from around the world showing a spike in loneliness among the young as well as the old.

While some argue there is no new crisis of loneliness, Murthy says a few things are contributing to raised awareness of the problem. More people are talking about it, creating a snowball effect, while research is showing its ill effects on health and well-being. “It’s not new—people have been lonely for hundreds of years,” he says. “But I think the fact that it is an almost universal experience makes it easier for people to be open to thinking about it, even if they don’t want to talk about it.”

The program is not without challenges. Many lonely people may be too intimidated to come to a venue; some who come won’t return. But designating a space for gathering and having activities to bring people together is an effective way to tackle loneliness, says Claire O’Shea, a campaign manager for the UK’s Campaign to end Loneliness. “You can’t just bring a roomful people together, you have to find a common purpose,” she says. “It takes the pressure off finding something to say, and that’s talking about the moment, or the activity.” She cites Men’s Sheds, an organization that promotes community spaces for men to “connect, converse and create.” They gather in areas—empty offices, portable cabin’s, warehouses, garages, and in one case, an out-of-use mortuary—to do things like woodworking, metalworking, and repairing and restoring things. They’re also there to be together.

Because as anyone knows, you can be in a room filled with people or a city and be plenty lonely.

Hexbyte News Computers Opening up

When I first ask to go to a Ventilen in Copenhagen, Vorsaa tells me it will not be possible. Privacy is paramount, and the individuals themselves do not even register their names. (They give their gender, age, and whether they are employed and/or in school.) “It is a safe space,” she explains. It can be very hard to realize you are lonely, and even harder to admit it because of the social stigma. More people will come if they do not have to give personal information.

But when we meet in the Ventilen offices, a volunteer reports that a group is happy to speak with me. We bike over to Nørrebro, one of Copenhagen’s most diverse neighborhoods, to a comfortable apartment with a small kitchen and eating area, as well as a sitting room with a coffee table. The group has already shopped for lunch and cooked it together before sitting down for games. 

Some are clearly shy, but open up gradually to paint painful portraits of what it’s like to feel very alone. Tuned in to a hyperconnected world via social media and gaming, they report wanting the friends and connections they see but feeling that such relationships are out of reach, for reasons varying from chronic pain to video game addiction, social anxiety, and a pervasive sense that they simply do not have the muscles to form social bonds. 

Simone, 20, says she has been depressed since she was 10. “I am used to it,” she says. “That’s the worst part.” When her two best friends moved away,  she explains while crying, she reverted to a life of only working and sleeping. She developed chronic pain because she did not move enough. “I didn’t want to leave my home because I didn’t need to, and everyone was very busy.”

A nurse at a pain clinic told her about Ventilen and she decided to try it. It’s been positive for her, she says, in part because being more active means she’s not in as much pain. She still takes anti-depressants, and still has severe social anxiety, she says. “My heart is racing just talking to you.” But she enjoys coming. “It’s a reason not to go home and go to bed.” 

The group is not designed to address addiction or severe mental illness, and screens participants accordingly. “We see a lot of people with mental illness and it’s fine,” says Vorsaa.  “But if the mental illness overshadows the group, if it’s too big, it’s not the place.”

New participants come half an hour before their first group session to meet with a volunteer who makes sure the person is a good fit for the group. They pay for their own meals, since being part of a group means paying your own way. 

Kasper, who wears glasses and is slight, has suffered with depression and anxiety. High school was very isolating, he says, and he took a break afterward. But he found he lacked the skills he needed to help himself. “In my life I had chosen to be so isolated so I didn’t know how to communicate.”

He spent a lot of time online, which he says made everything worse. “I think it gets worse with the internet,” he says. “We always look at the perfect picture on the internet.” Being part of a group through Ventilen has helped. “I’ve made some good friendships,” he says thoughtfully. “It’s been good for me.”

In addition to the groups, Ventilen is now working in 43 schools to train high-school teachers about how to be more supportive of students. “Young people hate going to school,” says Vorsaa. Many feel constantly left out, particularly since so much high-school work is done in groups. Students voice anxiety about being the last to be picked, or feeling that others are being forced to work with them.

They feel “it’s a game of musical chairs and they will lose every time,” she explains.

Having a place to go and people to see outside of school offers a reminder that they needn’t always feel that way. “What I find profoundly empowering about addressing loneliness is that the ultimate solution to loneliness lies in each of us,” Murthy says. “We can be the medicine that each other needs.”

Giving young people a room of their own, and something to do in it, is a good way to get that started.

Read More

Hexbyte  News  Computers How FZF and ripgrep improved my workflow

Hexbyte News Computers How FZF and ripgrep improved my workflow

Hexbyte News Computers

Hexbyte  News  Computers Sidney Liebrand

Today I want to talk about fzf and ripgrep, two tools I use all the time when working in Vim and the terminal. They have become an absolutely vital part of my workflow. Ever since I started using them I can’t imagine myself functioning without them anymore.

FZF is a fuzzy finder for your terminal, it is a command line application that filters each line from given input with a query that the user types. When the query changes, the results update in realtime.

FZF + LS example

After finding the file you’re looking for, hitting enter prints the highlighted entry. You can combine this with your $EDITOR variable to search for- and edit a file for example.

Open CHANGELOG.md in NeoVim

Of course this is only a simple example. The possibilities with FZF are endless. There are countless ways in which you can use it filter input and use that in another command. We’ll dive more into that later.

As it already says in the name, it is another grep program. Ripgrep is written in rust and one of its primary goals is to be the fastest grep of them all. It performs amazing even in a larger code base.

Ripgrep list files with FZF

Ripgrep has many options to explore, there are way to many to list here.

Some of the options I use most often with ripgrep are:

  • --files — List files which ripgrep will search instead of searching them
  • --hidden — Show hidden (.file) files
  • --no-ignore-vcs — Show files ignored by your VCS
  • --vimgrep — Results are returned on a single line in vimgrep format

Both these tools can be combined in various scenario’s that would have otherwise taken multiple long commands to execute. This ranges from killing processes to managing plugins to being able to find (in) files.

These actions are usually involved when I try to do something more complex:

  • googling the right command
  • look around for the right line in the output
  • refine grep pattern
  • retrying the command

At this point you’ll realize that you’re not actually searching for something anymore. You find yourself looking for ways to perform your search instead :/ This is only one of many scenarios however. Another common one is:

One example is stopping an out of control process. First you have to find the process ID by issuing some command like:

$ ps -ef 

grep [PROCESS NAME]

Which is then followed by a kill command with one of the process IDs you want to kill. The downsides to this are that I have to use two commands. Filter the output before seeing it or knowing how it looks and issuing an extra command to actually stop the process.

To make this easier, I wrote a small wrapper (first in zsh, later migrated to fish) called kp. It lists processes using ps -ef and pipes it to fzf.

Kill something with kp command

This command opens an FZF window with your processes. FZF has an option to allow selecting multiple entries (-m flag). When enter is pressed, both marked (light red > symbols) processes will be shut down. When changing your query, selected entries will stay selected. This is convenient for killing different processes in a single run.

After killing some processes, the command will rerun itself. I can use escape to exit from this specific window.

Another use case is to install, update or purge brew plugins from your system. When you are looking for a brew package, a common pattern is to use brew search together with grep to find out if it exists.

After that you’ll most likely run a command like: brew install [PACKAGE] to install it. Another pattern is to use the brew leaves command to list installed packages which can be updated or removed.

I created a small wrapper for each of these actions. One for installing, another for updating and one for deleting brew packages:

  • bipBrew Install Plugin, install one or more plugins (zsh, fish)
  • bupBrew Update Plugin, update multiple installed plugins (zsh, fish)
  • bcpBrew Clean Plugin, delete multiple installed plugins (zsh, fish)

Whenever I have to do anything with brew, it is completely painless and it works quite well for package discovery too.

Brew Install Plugin interface

One mythical beast known to anyone who has ever worked in a terminal is the $PATH variable. Often, a shell script will tell you to “Add me to your $PATH” so that the script will become available in your shell. This makes sense but can leave you with a messed up shell path or duplicate entries. It could cause all kinds of weirdness and slowness in your terminal.

My solution to this is a simple path explorer called fp (zsh, fish). It invokes FZF with a list of folders populated using $PATH.

Directories present in $PATH

Of course there are more than 3 paths in my list but I cropped the gif for brevity here. When I press enter on the/bin entry, I see a list of executables inside that folder. Either find what you’re looking for or go back.

Going back to the overview is as easy as pressing escape. This will take you back to the directory listing. Pressing escape in the overview will exit the command completely.

Additionally, I’ve written a post before on how to combine Caniuse with FZF. It allows me to quickly find out wether I should stay away from some Web API or not. this small tool also allows me to query features that have been added or deprecated recently.

An example of looking for features using caniuse

The cani command (zsh, fish) itself uses another ruby script (ciu) I wrote to actually provide the data and format it properly. The data is fetched once then cached for a day. So you’ll have fresh data on a daily basis 🙂

This mixture of shell + ruby has since been ported to a Ruby Gem 🙂

Since I spend a lot of my time in Vim trying to find a file either by name, or by some code inside a certain file. Streamlining that process is very important. Every context switch you have to make adds overhead and the possibility of losing focus of what you are trying to find. Therefore it should be as mindless as possible, e.g: press a key, type query, press enter to go to matching file.

Finding files wasn’t too much of an issue here. There is a long list of Vim plugins that offer file searching using fuzzy matching or MRU algorithms. Two examples of this are CtrlP and Command-T. I used CtrlP which always managed to do the job. But after playing around with FZF in the terminal I wondered if it could be applied to Vim as well.

FZF has a small builtin Vim interface that already works, but it comes without any existing functionality. The author of FZF also wrote this plugin. It is a small wrapper that provides common functionality. This includes listing files, buffers, tags, git logs and much more!

Coming from CtrlP the first thing I needed was a replacement for fuzzy-finding files. The solution was to use the :Files command provided by FZF.vim. This lists files using your $FZF_DEFAULT_COMMAND environment variable. It opens the currently highlighted file on enter.

FZF :Files demo

Since I was already so used to the ctrl-p mapping from the CtrlP plugin, I mapped the :Files command to it like this:

nnoremap  :Files

FZF will not use ripgrep by default so you’ll have to modify $FZF_DEFAULT_COMMAND if you want FZF to use ripgrep. Of course this is exactly what I wanted! After some tweaking I ended up with the following command (in fish syntax):

set -gx FZF_DEFAULT_COMMAND  'rg --files --no-ignore-vcs --hidden'# equivalent bash / zsh:

# export FZF_DEFAULT_COMMAND='rg --files --no-ignore-vcs --hidden'

In my case it happens that I do want to edit or search for something in a file that is ignored by my VCS or in a hidden file. The options ensure that all files inside the directory are listed (except those ignored in a ~/.rgignore file).

Last but not least I wanted to find files based on what was inside of a file. This is useful to see where a class or function is used for example.

FZF :Rg demo

The name of this command is :Ag and as you can guess, it relies on ag to grep inside files. ag is a nice and fast tool too but since I am already using ripgrep, I’d rather use that over installing another dependency. T̵h̵i̵s̵ ̵m̵e̵a̵n̵s̵ ̵w̵e̵’̵l̵l̵ ̵h̵a̵v̵e̵ ̵t̵o̵ ̵d̵o̵ ̵s̵o̵m̵e̵ ̵m̵a̵n̵u̵a̵l̵ ̵t̵w̵e̵a̵k̵i̵n̵g̵.

UPDATE 27–09–2018

As pointed out by Casey McGinty in the comments, FZF.vim now has the command :Rg built-in (see :h fzf-vim-commands). The old section on how to do it still exists but is now irrelevant.

Despite the update to the plugin, I’ll leave the code snippet here for reference:

Legacy FZF.vim :Rg command implementation

This one I mapped to ctrl-g, right next to ctrl-f for the :Files command.

nnoremap  :Rg

The nice thing about this command is that you can select multiple files. When selecting multiple files, pressing enter will load the files in a quickfix list for batch editing using cdo for example.

As I mentioned at the start of my post, these tools have become a vital part of my workflow. I use them while barely noticing their presence and they take a lot of complexity away from the task at hand. This allows me to focus on what matters instead of finding out how to do something which should be trivial.

Wether it be killing services / processes, installing brew packages, finding a glitch in my path or a feature set in caniuse, I can do it in fewer keystrokes with more fine-grained control. I even use FZF as a standalone filter sometimes when I have to find something in line-based command output, skipping (rip)grep all together 🙂

Hopefully you are also able to reduce some of the strain in your workflow with FZF using some of the tips above. If you are using FZF in another way, leave a comment! I’d love to hear about it and learn what others are doing with these two fantastic tools.

Happy fuzzy finding 🙂