Every Linux user knows that the most frequently used key combination is Ctrl + R. You use it to search through your Bash history for some fragment of text you’ve previously inputted into the terminal, hitting the combo again and again until you find the command you need.
Stop your keycaps from wearing out by using McFly—a neural network-powered shell history search replacement, that takes your working directory and the context of recently executed commands into account.
Why Should You Use McFly to Search Your Shell History?
Many times you’ll repeat the same command over and over again, or at least, with slight modifications.
The easiest way to repeat a command is to use reverse-i-search by hitting Ctrl + R, then typing a part of the command. For instance, if you press Ctrl + R, then input:
ls
…the reverse-i-search prompt will fill out the most recent command which contained the “ls” string or sub-string. Hit Ctrl + R again, and reverse-i-search will prompt you to use the next most recent, and so on.
You can hit Enter to execute the command, or the left or right arrow keys to edit it before executing.
It’s a great tool, but you can only see one entry at a time, and if you hit the combo one too many times by accident, you have to start again from the beginning.
McFly uses the same key combo as reverse-i-search and has the same basic functionality, but improves on it—allowing you to select from a list of the most likely candidates for the command you want to use, as well as a more intelligent way of making suggestions.
Install McFly as a reverse-i-search Replacement on Linux
Installing McFly is as simple as downloading and running a script created by the McFly developer. Open a terminal, and enter:
wget https: sudo sh install.sh
The first command downloads a script to download and install a binary release of a Rust crate hosted on GitHub, and the second command uses this script to download and install McFly.
McFly is now installed, but you can’t use it as a reverse-i-search replacement just yet. Use nano to edit your .bashrc file:
nano ~/.bashrc
…and at the end of the file, add:
eval"$(mcfly init bash)"
Save and exit nano with Ctrl + O then Ctrl + X.
Close your terminal, then reopen it. Next time you use Ctrl + R, McFly will run in place of reverse-i-search.
Use McFly to Search Your Bash History!
Hit Ctrl + R, and you’ll instantly be in the McFly TUI (terminal user interface) with a blank prompt and a list of 10 most likely commands—so make sure your mum isn’t standing behind you if you frequently use yt-dlp to download anything naughty.
If your desired command is in the list, use the Up and Down arrow keys on your keyboard until your desired entry is highlighted. Press Enter to execute.
If you want to edit the command before launching, highlight the entry, then press the Tab key. You will be returned to the command prompt with the text already entered. Edit the command to suit your needs, then press Enter.
McFly employs a simple neural network to try and figure out what command you’re looking for. This takes into account variables such as what directory you’re currently in, how often you run the command, whether the command usually executes successfully, whether you’ve selected the command in McFly before, and when you last used the command.
While this usually works well and makes it easy to find the command you want to use, you may want to turn this feature off. Pressing F1 from within the McFly TUI will toggle the sorting mechanism to one based on time.
If there’s an embarrassing, compromising, or less-than-useful command you want to delete from your history entirely, highlight it and press F2.
Use Your Linux Terminal More Effectively
Now you can efficiently search and execute commands from your Bash history; it’s worthwhile replacing some old favorites from the 1970s with their modern alternatives.
Use bat instead of cat, duf instead of df, and btop instead of top or htop!
Whalesync, a Seattle startup offering no-code support to companies to sync their data between software applications, raised $1.8 million.
The startup is led by CEO Curtis Fonger and co-founder Matthew Busel. Fonger previously founded Appetas, a Seattle startup that helped restaurant owners create customizable websites with integration to delivery services like OpenTable and GrubHub.
Appetas was bought by Google in 2014, where Fonger worked as an engineer for six years.
Busel previously worked as a product manager at MakeSpace, then was a software consultant at Thylacine Capital. Before that, he founded Referralboard, a Slack integration that let users earn points by referring employees to their managers.
The duo met during Y Combinator’s founder matching platform, becoming the first startup whose founders graduated YC’s accelerator after meeting through the networking program.
Whalesync sells a no-code tool that lets businesses sync their data across different software apps, allowing businesses to manage all of their inputs from a single spreadsheet.
Large enterprises are currently using processes like ETL (extract, transfer, load) and reverse-ETL pipelines to move data in and out of data warehouses, Busel told GeekWire.
“We’ve learned from these best practices and created novel technology to simplify the setup process and bring the power of data syncing to SMBs, who are currently using automation tools to send data between applications,” he said in an email.
Busel declined to share revenue figures but said the company has already signed up “hundreds of customers.” Some of its early use cases include Alchemy’s Dapp Store, which uses Whalesync’s tech to sync its Airtable and Webflow, as well as powering Webflow’s events calendar.
Whalesync will compete with large file syncing companies like Zapier, as well as HubSpot, which acquired the data synchronization platform PieSync in 2019.
The pre-seed funding comes from YC, Ascend, Liquid2, Soma, and others.
Metal-framed pistols are making a comeback, with a handful of manufacturers slowly introducing metal versions of their most popular guns.
So, it’s no surprise that Smith & Wesson would jump into the metal resurgence with a new addition to its famed M&P series.
Smith & Wesson M2.0 Metal
The M&P M2.0 Metal uses the company’s solid platform but ditches polymer for an aluminum frame and adds on some upgraded features as well.
We got our hands on the Metal and took it to the range to see if it improved the M&P series. Spoiler alert, it does!
But stick around and keep reading to see what sold us on the Metal.
Table of Contents
Loading…
Smith & Wesson M2.0 Metal Review at a Glance
Pros
Accurate
Good ergonomics
Handsome
Cons
Above average price
The Bottom Line
Form and function are often at odds with each other in the firearms world. What works well doesn’t always end up being very pretty. There are a lot of examples to support this theory. The Smith & Wesson M2.0 Metal is not one of them.
The M&P 2.0 Metal is a great combination of show and go. It looks great but is also accurate and reliable.
Specs & Features
Specs
Caliber: 9mm
Capacity: 17+1
Action: Striker fired semi-auto
Length: 7.25”
Barrel Length: 4.25”
Height: 5.5”
Width: 1.3”
Weight: 1.76 lbs.
Comes With: Cardboard box, two 17-round magazines, 6 optic plates & screws, 4 grip panels, lock, manual.
Smith & Wesson was founded in 1852, and the M&P line started over 100 years ago. There is a lot of history here.
M&P was originally marketed toward the military and police, but the general shooting public found love for the line of firearms those professions could trust.
M&P 9 M2.0
In my own LE career, I never used an M&P, and when I first tried it, I didn’t like the trigger because it felt squishy compared to what I was used to.
After I stuck with it for a while, though, I realized how wrong I was.
The guns are great, and the trigger greatly contributes to the accuracy, as I found out in this review of the M&P 2.0.
The M2.0 Metal is a cut above the average handgun. It’s certainly still worthy of its namesake heritage, so it would make a fine defensive handgun for just about anyone.
The model we tested is full size and came in at just over 7 inches long, so keep that in mind when considering concealment.
Fit & Feel
The gun feels outstanding in the hand — light and well-balanced, with a slight tip toward the business end.
Its aggressive texture of the polymer front strap and back strap really helps keep the pistol firmly in hand during recoil and manipulation.
The trigger bow has a light curve and a nice, flat-face surface that is comfortable to use.
There’s quite a bit of pre-travel before hitting a defined wall that broke at an average of 3 pounds, 14 ounces — reset was a little softer than I prefer, but was still tactile, though barely audible.
Its magazines are steel with a large plastic base pad that allows you to grab onto them when seated should a malfunction occur and stripping become necessary. They included a light grey follower that was clearly visible when the slide locked back.
In addition, the grip features beveled angles on the interior, which guide magazines in for seating. The external size isn’t flared, but you’re getting some assistance regardless.
Sights are also metal (an ongoing theme) in a white, 3-dot configuration and include serrations on the rear block. Both front and rear are held in place with a dovetail and are replaceable.
How Does It Shoot?
I shot several 3-shot groups for accuracy at 7 yards and was very impressed. The groups were all very close, with some holes even touching.
The trigger, once mastered, really allows the shooter to get on, then break the shot without disturbing the gun. This is achieved by holding the trigger back to the wall, finalizing the sight picture, then pressing the rest of the way like a two-stage trigger.
I was able to ride the dot through the recoil thanks to the aggressive grip texture and found the M2.0 pointed naturally with the 18-degree angle. This made follow-up shots quicker.
What Sets it Apart?
The M2.0 Metal has a T6 aluminum frame, different from the polymer versions of the old. This makes the gun slightly heavier as a result. This isn’t a bad thing, though.
I feel like the minimally additional weight helped me to control the recoil a little better. Another thematic difference is going to be the Tungsten Gray Cerekote color, which I find to be marvelous.
This version is also compatible with previous M&P models of similar size in both magazines and holsters.
That said, the plates are plastic, so I’m curious to see how they’ll do long term.
By the Numbers
Reliability: 5/5
With approximately 500 rounds downrange, we experienced zero issues. Magazines fed cleanly, dropped clearly, and the gun fired and extracted as expected.
Ergonomics: 5/5
The M2.0 Metal has nice curves on the grip that fit even my large hands well, plus the beavertail was just enough to protect my hands from the slide. Controls were easy to reach, and the magazine release is reversible for lefties.
Accuracy: 5/5
Three nearly touching rounds at 21 feet are pretty darn good and only reveal the limitations of this shooter. The M2.0, like previous iterations, is accurate.
Customization: 5/5
Having been around for quite some time, the M&P line enjoys strong support in the aftermarket. Shooters have a lot of options to customize to their heart’s content.
Value: 4/5
The current MSRP listed on the Smith & Wesson website is $899 though several web prices have the M2.0 Metal listed at around $850. That’s a little steep compared to the average handgun, but this gun is above average in looks and performance.
You can have your cake and eat it too. The cost is a little above the median, but our testing revealed a handgun that is reliable, accurate, and beautiful.
Whether you’re an officer on the street or a citizen concerned with your safety and that of those around you, the M2.0 Metal is a great choice.
Will you be picking up an M&P9 M2.0 Metal?Let us know in the comments below! And for more metal options, check out our Best Metal Framed Guns!
Minecraft Legends, the unique action-strategy spin on Microsoft’s block-building franchise, will arrive on Xbox consoles and PCs on April 18th. Announced last June, the game resembles a modern spin on classic Warcraft strategy: Your goal is to protect your base and destroy your enemy’s. It’ll feature online campaign co-op and competitive multiplayer, as you’d expect. And judging from the most recent trailer, it looks compelling enough to tempt over gamers who could never figure out what to do in the original Minecraft.
The battle for the nation’s electorate is over, and the statists have won. How did they do it? By realizing that it isn’t VOTERS that are required to win elections, nor is it VOTES. No, what is required to win elections is BALLOTS. The Republicans still can’t grasp this, and are spending all of their time and efforts in trying to make sure that one person gets one vote.
That’s so old fashioned and last decade.
With their hold on the nation’s governor’s offices firmly established, having added control of the state legislatures in both Michigan and Minnesota, Democrats are going to keep changing election rules nationwide. Their wish list of proposals for 2023 includes expanding automatic voter registration systems, preregistering teenagers to vote, lowering the voting age to 16, granting the franchise to felons, and criminalizing anything that the left disagrees with as “disinformation.” Anyone who opposes these policies will be branded as a racist.
Look at what is happening here- by focusing on the harvesting of ballots instead of votes, the Democrats can get elected, even if and when their policies are unpopular. Automatic voter registration means that everyone is registered to vote, no questions asked. Couple that with automatic mail in balloting where each voter gets mailed a ballot, and you have millions of ballots going out to people who aren’t even aware that they are registered to vote. Why, there are ballots going out to registered voters who aren’t real, living people. Those ballots are being mailed to addresses that don’t even exist.
During the 2020 election, Michigan’s Democratic Secretary of State Jocelyn Benson sent out automatic voter registration forms to all eligible Michigan residents. As a result, 114,000 people were added to Michigan’s voter rolls, with many being fake registrations. By padding state voter rolls with new unlikely voters, Democrats can harvest those ballots and put their candidates over the top. There are 501(c)(3) nonprofit organizations are solely dedicated to this, and we know this because of the FTX scandal.
Don’t expect that to change in 2024. Republicans are playing a losing game akin to playing Monopoly against someone who is the banker and is willing to give themselves interest free loans from the bank. The ballot box is gone. There are laws coming that intend on destroying the soap box. There aren’t all that many boxes left.
Borealopelta mitchelli found its way back into the sunlight in 2017, millions of years after it had died. This armored dinosaur is so magnificently preserved that we can see what it looked like in life. Almost the entire animal—the skin, the armor that coats its skin, the spikes along its side, most of its body and feet, even its face—survived fossilization. It is, according to Dr. Donald Henderson, curator of dinosaurs at the Royal Tyrrell Museum, a one-in-a-billion find.
Beyond its remarkable preservation, this dinosaur is an important key to understanding aspects of Early Cretaceous ecology, and it shows how this species may have lived within its environment. Since its remains were discovered, scientists have studied its anatomy, its armor, and even what it ate in its last days, uncovering new and unexpected insight into an animal that went extinct approximately 100 million years ago.
Down by the sea
Borealopelta is a nodosaur, a type of four-legged ankylosaur with a straight tail rather than a tail club. Its finding in 2011 in an ancient marine environment was a surprise, as the animal was terrestrial.
A land-based megaherbivore preserved in an ancient seabed is not as uncommon as one might think. A number of other ankylosaurs have been preserved in this manner, albeit not as well as Borealopelta. Scientists suspect its carcass may have been carried from a river to the sea in a flooding event; it may have bobbed at the surface upside-down for a few days before sinking into the ocean depths.
It would have been kept at the surface by what’s referred to as “bloat-and-float,” as the buildup of postmortem gasses would keep it buoyant. Modeling done by Henderson indicates its heavy armor would have rolled it onto its back, a position he suspects may have prevented ocean predators from scavenging its carcass.
Once the gasses that kept it floating were expelled, Borealopelta sank to the ocean floor, landing on its back.
“We can see it went in water deeper than 50 meters because it was preserved with a particular mineral called glauconite, which is a green phosphate mineral. And it only forms in cooler temperatures in water deeper than 50 meters,” explained Dr. Henderson.
He also told Ars that this environment probably also discouraged scavenging, saying, “It was probably a region where [long-necked] plesiosaurs and big fish didn’t like to go. It was too cold and too dark, and [there was] nothing to eat. And there were very few trace fossils in the sediments around it. So there wasn’t much in the way of worms and crustaceans and bivalves and things in there to further digest it. It was just a nice set of conditions in the seabed that had very low biological activity that led to that preservation.”
Unmet expectations
But none of this was known when the animal was discovered. Although it’s not entirely unusual to find dinosaur remains in marine environments, it’s also not very common. Henderson and Darren Tanke, also from the Royal Tyrrell Museum, walked onto the site fully anticipating that they would excavate an ancient marine reptile.
The two had consulted on fossil discoveries at other open-pit mines within the province. However, this was their first visit to Suncor, a mine in the northeast of Alberta, Canada. Everything about this mine is enormous. Massive machinery is constantly in motion, scooping out rock, sand, and gravel from surrounding cliffs, while other equipment clears it away, all with the goal of uncovering the deeper oil sands for fuel.
“It’s just unbelievable, the scale of the place,” Dr. Henderson said. “And it goes 24 hours a day, 365 days a year.”
Despite the pace of operations, one particular shovel operator, Shawn Funk, happened to notice something after taking a big chunk out of the cliff. It was thanks to him and several people within Suncor that operations stopped in that area and the Royal Tyrrell was notified.
A reporter just asked House Speaker McCarthy about removing Reps. Adam Schiff and Eric Swalwell from the Intel Committee over security and character concerns, and HOLY MOLY HIS RESPONSE:
My friends, it’s been a great run—but Microsoft will stop selling Windows 10 on Tuesday, Jan. 31, one week from this article’s publication. The news isn’t necessarily shocking, since the company has been full-steam-ahead with Windows 11 since October 2021. However, it’s still a sad development. Windows 10 is the preferred OS for many PC users who still can’t stomach upgrading.
Of course, Windows 10 isn’t dead. Microsoft will continue to support both Windows 10 Home and Windows 10 Pro until Oct. 14, 2025, giving plenty of us on PC an excuse to keep running the OS until then. If you already have Windows 10 running on your PC, you’re good to go. But if you’re going to build a PC, you’re going to need a new license to install the beloved OS. Here’s where you can get one.
Buy Windows 10 from Microsoft directly (while you can)
As of this article, Microsoft is still selling Windows 10 licenses on its website. You can buy Windows 10 Home for $139, and Windows 10 Pro for $199.99. If you want to buy a legitimate copy of Windows 10 before Microsoft’s end-of-month deadline, now’s the time to do it.
Come Feb. 1, though, you won’t have any luck making purchases on Microsoft’s site. So, where can you turn?
Brick and mortar stores
Just because Microsoft is no longer selling Windows 10 doesn’t mean every other store is pulling the plug. Look to established outlets like Best Buy, Staples, or OfficeDepot for copies of Windows 10. Depending on the store and inventory, you might find a digital download or a physical copy of the software.
G/O Media may get a commission
Look for old PCs with product key stickers
If you have access to an old PC with a product key sticker on the outside, you can use those codes to activate Windows 10 on your current PC. These stickers work all the way back to Windows 7, so it’s a potential solution here.
Be careful of third-party resellers
The first places that pop up when you search for Windows 10 licenses are third-party resellers. These sites have existed for years, and they offer copies of Windows 10 for way less than Microsoft. While the Windows developer charges up to $200 for a copy of Windows 10, sites like Kinguin or PCDestination will sell you a key for anywhere from $25 to $40.
The reason these sites can sell these licenses at such a markdown is because they obtained the software for cheap, one way or another. Perhaps the site was able to buy the key in another country where Microsoft chargers less for Windows 10. Or perhaps the key is stolen. It’s impossible to know for sure.
You can download one of these keys and hope for the best, but, since you don’t really know whether it’s legitimate or not, there’s no telling how your PC will respond. You might activate the key and ride out Windows 10 into 2025. Or Microsoft could come around in a year and tell you the license isn’t legit. Or, worse, you might not be able to activate the key at all.
While the prices might be tempting, the safer bet is to pay full price with one of a reputable store, as I discussed above. Even Amazon’s Windows 10 copies can’t always be trusted. Of course …
You don’t actually need to buy Windows 10 to run Windows 10
If all you want to do is run Windows 10 on your PC without paying a dime, you can totally do that, without resorting to piracy. Windows is a bit unique: Microsoft actually lets you download and install the OS on your machine without paying for it first—if you do so from an ISO. You can install the OS from a flash drive 0r DVD, and, once complete, ignore the pop-ups asking you to activate the software.
Microsoft does place some limitations and annoyances on unactivated versions of Windows 10. You’ll have to deal with a watermark on the screen, and you’ll lose the ability to change themes or wallpapers (although you can set your wallpaper by right-clicking on an image). But you’ll be able to install all updates, and, for the most part, use the OS as if you had a license. You can always activate the software with a product key in the future if you like.
This Laravel package allows you to monitor the infrastructure.
With this package, You can check your server health at any time.
Features
monitor cpu usage percentage
monitor memory usage percentage
monitor hard disk free space
check network connection status
check nginx status
record log when exceeding the consumption CPU, memory, and hard disk of thresholds
record log when the network connection fails or Nginx deactivated
Do you need more options? you can make an issue or contributes to the package
Get Started
Requirements
PHP 8.0+
Laravel 8+
Linux Operating System (Debian, Ubuntu, mint, …)
Installation
This package requires PHP 8.0 and Laravel 8.0 or higher.
You can install the package via composer:
composer require mohsenabrishami/stethoscope
and then run:
php artisan vendor:publish --tag=stethoscope
Stethoscope allows you to record reports both in a file and in a database.
If you set the database driver in the config file, you must run migrate command:
Usage
Once installed, see your server health details with a command:
php artisan stethoscope:listen
The output will be like this:
But the work of this package didn’t stop there. you can set thresholds for CPU, memory and hard disk consumption. if CPU and memory consumption exceeds thresholds or hard disk free space is less than thresholds, then a log is created from details consumption. also, you can config this package so that if the deactivated web server or disconnected internet log is created. To start monitoring your server, just run this command:
php artisan stethoscope:monitor
You can monitor your server constantly with the run this command by a cron job.
You may want to be notified if there is a problem in the server. For this, it is enough to set your email admin in the config file.
If you are worried about the increase in logs, use the following command. This command deletes old logs based on the number of days you defined in the config file.
php artisan stethoscope:clean
Configuration
You can easily customize this package in the config/stethoscope.php.
In this file, You can configure the following:
Resources that should be monitored. We can monitor the CPU, memory, hard disk, network connection, and web server status.
Web server that is installed on your server. We support Nginx and apache.
Storage driver and path to saving log files.
Resources Thresholds. Include maximum CPU and memory usage and minimum hard disk space.
Custom network URL for network connection monitor.
Driver to save resource logs (support file storage and database).
Emails address to send notification emails when your server has problems.
Number of days for which resource logs must be kept.
By default, the configuration looks like this:
/* |-------------------------------------------------------------------------- | Monitorable Resources |-------------------------------------------------------------------------- | Here you can Define which resources should be monitored. | Set true if you want a resource to be monitored, otherwise false. | */'monitorable_resources' => [
'cpu' => true,
'memory' => true,
'hard_disk' => true,
'network' => true,
'web_server' => true,
],
/* |-------------------------------------------------------------------------- | Web Server Name |-------------------------------------------------------------------------- | Here you can define what web server installed on your server. | Set `nginx` or `apache` | */'web_server_name' => 'nginx',
/* |-------------------------------------------------------------------------- | Log File Storage |-------------------------------------------------------------------------- | Define storage driver and path for save log file. | */'log_file_storage' => [
'driver' => 'local',
'path' => 'stethoscope/',
],
/* |-------------------------------------------------------------------------- | Thresholds |-------------------------------------------------------------------------- | If resource consumption exceeds these thresholds, a log will be created. | You may define maximum CPU and memory usage by percent. | You may define minimum hard disk space by byte. */'thresholds' => [
'cpu' => env('CPU_MONITOR_THRESHOLD', 90),
'memory' => env('MEMORY_MONITOR_THRESHOLD', 80),
'hard_disk' => env('HARD_DISK_MONITOR_THRESHOLD', 5368709),
],
/* |-------------------------------------------------------------------------- | Network Monitor URL |-------------------------------------------------------------------------- | Here you can define the desired URL for network monitoring. | */
'network_monitor_url' => env('NETWORK_MONITOR_URL', 'https://www.google.com'),/* |-------------------------------------------------------------------------- | Log Record Driver |-------------------------------------------------------------------------- | Set `database` for save logs in database and `file` for record logs in file | */
'drivers' => [
'log_record' => env('STETHOSCOPE_LOG_DRIVER' ,'file')
]
/* | | You can get notified when specific events occur. you should set an email to get notifications here. | */'notifications' => [
'mail' => [
'to' => null,
],
],
/* | | Here you define the number of days for which resource logs must be kept. | Older resource logs will be removed. | */'cleanup_resource_logs' => 7
Testing
Run the tests with:
Changelog
Please see CHANGELOG for more information on what has changed recently.