We are a podcast-first media company based in Estonia and Turkey. We are required to follow two different tax regimes in two countries. Akaunting helps us focus on what matters to grow our business
instead of being tangled in invoicing details. And their App Store is beneficial if you are trying to customize the bookkeeping process.
U.S.—Chick-Fil-A has finally come around to celebrating pride month this year. The fast-food company has announced that throughout June, all waffle fries will be covered in salt from Lot’s wife.
“Other companies go in for rainbow flags and squeezing in PRIDE everywhere they can, but we wanted our celebration of pride month to be a bit more…biblical,” said Dan Cathy at a recent press release. “Now with every delicious, perfectly seasoned bite of waffle fry customers will be reminded how God celebrates Pride.”
“Wow! That IS salty. Man, I needed this reminder to flee from sexual sin,” said Chick-fil-a patron Brenda Lovelace. “I don’t want to end up as a pillar of salt just like Lot’s wife!”
Much to Chick-fil-a’s surprise, this move to faithfully honor pride month has been met with intense backlash from the LGBT community. “WHAT?! You’re supposed to celebrate by changing all your bags to rainbow flags and putting Drag Queens in the playplace ball pit!” said queer-activist Brandley Xenus. “This doesn’t count!”
At publishing time, Dan Cathy also announced that if you tell any employee the secret phrase “I take kids to Drag shows,” they will celebrate by placing a millstone to your neck and tossing you into the ocean.
Are you a woman? It’s hard to tell these days. Watch our well-researched video to find out whether you are indeed a woman.
Built in the early 1970s, the 900+ room Carolando Motor Inn was, for a time, the largest hotel near Disney World. It was part of a larger development that never came to fruition, and after a successful run as a Hyatt, and a failed reopening, it saw its final guests in 2012. Bright Sun Films takes us on a tour of its water-logged ruins.
This fascinating video from GWIN TECH shows how a factory quickly cranks out lightweight plastic boats. The blow molding process involves filling a plastic bladder with hot air and then stamping them together with giant dies while the plastic is still pliable.
Man, it’s been almost two years now, and ammo prices still suck. A lot of us have chewed through our stash and are faced with paying higher prices or seeking training alternatives.
I mean, no one expects us to just stop shooting, right? Well, maybe we can turn to the old classic, .22 LR. While the price of .22 LR has risen, it hasn’t reached the crazy levels of 9mm and 5.56.
With that in mind, I’ve started searching out some of the better options for .22 LR trainers. These guns can replicate the feel and handling of a larger caliber firearm and offer you some training value without emptying your wallet.
The FN 502 hit the ground running and is part of FN’s 500 series pistols. It shrinks things down to rimfire size and goes from a striker-fired gun to a hammer-fired gun.
The hammer-fired action is single action only, so it’s roughly similar to a striker-fired trigger. And it fits most of the FN 509 holsters and matches the look and feel of the FN 509. However, it replicates the feel of most striker-fired modern pistols.
There isn’t much difference between models, and I believe the FN 502 could stand in for the Glock, S&W, Walther, etc.
One of the more interesting features is the weapon’s optics compatibility. Toss on whatever optic you want, and now you can effectively replicate a modern MRDS-equipped handgun.
The sights are suppressor height sights, and the barrel is also threaded.
All in all, it’s one of the best rimfire handguns on the market. It comes with a flush 10-round magazine and an extended 15-round magazine.
This is perfect for training for defensive handgun use. It also works well when it comes to some competition training.
Set up a cardboard Steel Challenge course, and you can work your way through it with ease. The FN 502 allows you to work on your red dot presentation, your draw, and trigger control.
Every little boy and girl needs a .22 LR revolver. Seriously, the S&W 317 Kit gun might be the best to double as both a training .22 LR and a practical gun. It’s also just a ton of fun.
This revolver is a double-action model with an exposed hammer, and it sits on a rather compact frame.
Shooters get a nice 3-inch barrel and the 317 packs eight rounds of the little .22 LR. It’s a handy little gun that uses the J-frame, but don’t mistake it for a snub nose.
At 11.7 ounces, it’s not tough for younger shooters to handle.
The single-action hammer makes it a sweet shooter, especially when you factor in the Hi-Viz front sight and adjustable rear sight.
The Kit gun is perfect for learning how to use a modern revolver. Its trigger design allows you to train for both a standard exposed hammer and an enclosed hammer. And the gun uses a modern swing-out cylinder.
Heck, they even make speed loaders for it.
The 317 Kit gun gives you a handy little gun for hunting, fishing, and other tasks where you might want a portable pest remover. This gun is plenty robust and perfect for general purpose outdoorsy, plus it’s a lot of fun.
The Tikka T1x brings the training rimfire rifle to a bolt-action design. Like all Tikka firearms, the 1X is a fantastic example of what a bolt gun should be.
Shooters get a well-built rifle with a medium contour barrel, a 10-round magazine, and a very smooth bolt-action system.
The modular stock allows you to swap pistol grips at various angles, and you can attach a wider forend at the front of the gun for a better grip.
Tikka utilizes a crossover-style barrel system that mixes the stability and accuracy of a heavy barrel without being unbalanced and heavy.
For making those accurate shots, the barrel is cold hammer-forged and threaded, and ready for a suppressor.
The Tikka T1x provides a rimfire stand-in for the already awesome Tikka T3x rifles. Tikka uses the same bedding surfaces and inlay footprint as the centerfire T3x.
Besides being a stand-in for the T3x, it’s also just a great stand-in for any bolt action rifle.
Bolt-action rifles are known for their accuracy, and the Tikka T1x is plenty accurate. It might not provide the range of a centerfire rifle; however, with a reduced-sized target and some good glass, you can work your accuracy skills well.
Beyond that, the Tikka T1x is just a great general-purpose training tool for new shooters.
As a bolt-action, shooters aren’t tempted to rapid-fire. New shooters can safely and easily learn accuracy fundamentals and gun safety.
Lots of .22 LR AR rifles exist, but it’s tough to find a better, more affordable option that matches the look, feel, and controls of a real AR-15 than the M&P 15-22 at a great price point.
S&W also makes various models with handguard options including quad rails and M-LOK rails. The magazines are as close as you get to the real thing and hold up to 25 rounds.
The S&W M&P 15-22 keeps the price point low by using hefty amounts of polymer in their design. It’s clearly not as heavy as an actual AR-15 but tries its best to match the real thing.
The gun uses a blowback action, which you come to expect from .22 LR rifles.
The presence of a last-round bolt hold open makes reloads accurate, and it’s a great feature to have for training purposes.
You can toss on a cheaper red dot and even light to replicate your actual gun at a lower price. An S&W M&P 15-22 makes your AR-15 training efficient and cheap.
On top of that, the S&W M&P 15-22 can be used at indoor ranges, which often prohibit the use of rifle rounds, but allow the humble .22 LR. Plus, it’s also a lot of fun to shoot and perfect for plinking cans and squirrel hunting.
The Taurus TX22 might be my favorite .22 LR pistol on the market.
This striker-fired, polymer frame wonder 9 is the generic of generic pistols, and the Taurus TX22 replicates that generic pistol well enough to be a training pistol for nearly anything.
A shooter with a TX22 can easily replicate their Glock, their FN, their SIG, or beyond with the TX22.
Its simple controls make using the TX22 in place of any other gun easy. The TX22 did find a way to implement 16 rounds in a flush fighting magazine, which again brings the capacity up to a realistic count.
With a rock-solid price point, the TX22 provides a great training pistol that not only replicates your basic 9mm handgun but makes generalized training easy.
The TX22 is well suited for new shooters learning the art of the handgun without the recoil of a 9mm. It’s much cheaper to train with, and the TX22 has proven itself to be reliable and frustration-free.
Taurus’ latest model incorporates a red dot, but it’s a little less traditional. However, you can still train that valuable red dot presentation and learn to effectively use a red dot.
What do you think of the Taurus TX22? Rate it below!
Readers’ Ratings
5.00/5 (1)
Your Rating?
6. Henry Classic .22 LR Lever Gun
If you are a fan of the classics and use a lever gun, you know the ammo is expensive. Lever guns don’t come in 9mm-friendly price points. .44 Mag, .45 Colt, .357 Mag, and more cost a pretty penny.
If you shoot SASS, then you are familiar with the high cost of ammunition. The Henry Classic Lever-Action .22 LR brings you all the fun of a lever gun without the cost.
It’s perfect for learning to run the lever gun fast and hard. Working that smooth action and sending a pile of .22 LR downrange is both a ton of fun and a big challenge. Pair it with a shot timer, and you will both effectively train and have the time of your life.
The Classic lever gun doesn’t implement some crazy manual safeties or other features that detract from the classic lever gun.
The only downside is that it’s tube-loaded, and it doesn’t utilize a side gate. Side gates are tough with .22 LR because the projectiles don’t take pressure well without bending, which will cause feeding issues.
Luckily, even with this slight issue, the Henry Classic lever gun gives you all the feeling and joy of a standard lever gun without the high price of lever gun ammo.
The CZ Kadet kits are not firearms. Instead, they are conversion kits for CZ series pistols.
Five exist, and they allow you to outfit your CZ 75, your P09, your P07, your SP01, and your CZ Shadow with a new complete slide and .22 LR magazines.
These kits vary in price but offer an affordable way to convert the gun you already have to a .22 LR pistol.
The Kadet kits are drop-in designs and make the conversion absolutely painless. Heck, it’s easy enough to swap at the range and warm up with .22 LR and start training with 9mm.
If you’ve already joined the CZ master race, why not turn your 9mm into a .22 LR for training purposes? CZ firearms are well represented in the fields of defensive use and competition, both of which require a ton of practice to be sufficient.
Tossing a Kadet Kit on your favorite CZ allows you to use the same trigger, controls, and everything else, but with a different slide and maybe different sights.
Hammer-fired CZs are a natural and easy conversion to .22 LR. The kits will pay for themselves quite quickly.
The CMMG .22 LR AR Conversion Kit is exactly what it sounds like. This drop-in bolt conversion kit allows you to take any 5.56 caliber AR-15 and chamber it in .22 LR.
It’s one of the most affordable ways to train with rimfire in your AR 15 rifle.
It’s a drop-in kit that utilizes an integral everything, including a buffer. The magazines are proprietary, 25-round magazines that work almost flawlessly. They tend to prefer jacketed ammunition over bare lead.
This kit allows you to use your optic, your handguard, your stock, your trigger, etc.
Drop it in, and go!
There are a few downsides, mostly that the zero won’t be the same as your 5.56, and the .22 LR through a 5.56 barrel won’t be the most accurate thing.
Mine shows that the gun’s about 4 MOA with good ammunition. That’s still good enough to train, especially at close range.
It’s an affordable option that’s tough to beat, and the magazines are cheap and perfect for working reloads and getting in your training.
U.S.A. –-(AmmoLand.com)-— The author has been interested in the historical costs of .22 rimfire cartridges since childhood. Starting in early adolescence, and continuing for many years, the value of things and time was measured in .22 cartridges. It was a simple calculation, an easy comparison. From that era, 1964 to the present, .22 Long Rifle cartridge list prices, converted to constant unskilled labor dollars, have been fairly stable.
The unskilled labor number is based on the time it takes for an unskilled laborer to earn the same purchasing power for a particular year. It took about 146 hours (about two weeks, 12 hours a day, six days a week), for an unskilled laborer in 1911, to earn the same purchasing power as 1 hour of unskilled labor in 2022. The chart shows the value of unskilled labor increased rapidly from 1911 to present, with some glitches. The most obvious is the depression, in 1932, post-WWII in 1950, most of the 1980s, and after the election of President Obama, 2008 onward.
The .22 caliber rimfire cartridges are the most successful cartridges in history. Billions are produced annually. They are the most used cartridges of all time. The .22 Long Rifle is the most common. For a considerable time, the .22 Short gave it significant competition. The .22 Long, while sold in considerable quantities, was never as popular as either the Long Rifle or the Short.
.22 rimfire cartridges have been used to kill the biggest land animals on the planet, from elephants (according to Peter Hathaway Capstick, in Safari, the Last Adventure, p.114 to 116) to grizzly bears.
The .22 Winchester Rimfire (WRF) and the .22 WRF magnum deserve mention, but their use and production pale in significance to the Long Rifle and the Short.
The .22 rimfire has always been the least expensive cartridge to purchase. For most of history, the .22 Short has been less expensive than the Long Rifle. That changed in the 1980s. The Long Rifle has always been more versatile.
This correspondent has obtained manufacturer price list information for .22 Long Rifle ammunition from 1911 to 2022. The information covers 111 ears of pricing history. Of the 111 years, this correspondent obtained data for 70 years. There are enough data points to catch most variations lasting a couple of years or more.
For consistency, the prices are those of smokeless, 40-grain high-velocity Long Rifle cartridges. The prices are all from one highly successful manufacturer. The cost of obtaining the prices was confidentiality.
Material costs seem to have relatively little effect on overall cartridge costs. Looking at a 2003 Gun Digest, variations of 50 rounds of .25 Auto and 50 rounds of .44 magnum were both priced at $17.
The incredible increase in productivity brought about by the petroleum age and increasing technological prowess reduced the relative costs of cartridges enormously. In 1911, the petroleum age was just starting. Automobiles were in their infancy. So were airplanes. The ability to fix nitrogen from the air for fertilizer and explosives had been discovered by German scientists in 1909, in the Haber-Bosch process.
In 1911, the relative cost of a thousand rounds of .22 Long Rifle, in dollars earned by unskilled labor, was $1,095, or about $1.10 per cartridge in 2022 valuation. The nominal cost in 1911 was 3/4 of a cent per round. To give perspective, butter was 20 cents a pound; fresh eggs were 20 cents a dozen. A day of unskilled labor was paid about $1.
After WWI and the vast increase in technological knowledge and skill, the cost fell to about 28 cents per round in the value of unskilled labor in 2022. WWII sparked more increases in technological prowess and knowledge. The price gradually fell to about 20 cents per round in 2022 unskilled labor dollars. The lowest prices, per round of .22 long rifle, in unskilled labor, were reached from 1993 to 2006, at about 4.5 cents per round.
From the Obama years onward, the price has gone up and down to about 8 cents per round currently. If we maintain a republic, this correspondent expects .22 Long Rifle cartridges to move back down in the neighborhood of 4 cents a cartridge in constant dollars.
Diligent shoppers will find cartridges on sale, going out of business, discontinued, or other bargains. Estates of shooters often sell ammunition at bargain-basement prices. Gun stores often refuse to resell ammunition, even in unopened boxes.
Ammunition, if stored in reasonable conditions, will last many decades, probably over a hundred years. 65-year-old .22 rimfire ammunition has been tested by this correspondent. There was no measurable degradation in performance.
—
About Dean Weingarten:
Dean Weingarten has been a peace officer, a military officer, was on the University of Wisconsin Pistol Team for four years, and was first certified to teach firearms safety in 1973. He taught the Arizona concealed carry course for fifteen years until the goal of Constitutional Carry was attained. He has degrees in meteorology and mining engineering, and retired from the Department of Defense after a 30 year career in Army Research, Development, Testing, and Evaluation.
As you might know, mysqldump is single-threaded and STDOUT is its default output. As MyDumper is multithreaded, it has to write on different files. Since version 0.11.3 was released in Nov 2021, we have the possibility to stream our backup in MyDumper. We thought for several months until we decided what was the simplest way to implement it and we also had to add support for compression. So, after fixing several bugs, and we now consider it is stable enough, we can explain how it works.
How Can You Stream if MyDumper is Multithreaded?
Receiving a stream is not a problem for myloader, it receives a file at a time and sends it to a thread to process it. However, each worker thread in mydumper is connected to the database, and as soon as it reads data, it should be sent to the stream, which might cause collisions with other worker threads that are reading data from the database. In order to avoid this issue, we ended up with the simplest solution: mydumper is going to take a backup and store it in the local file system that you configured, and the filename will be enqueued to be processed by the Stream Thread which pops one file at a time and pipes to stdout. We study the alternative to send chunks of the file while it is being dumped, but the way that we implemented is simpler and improves the overall performance.
Implementation Details
Here is a high-level diagram of how we implemented it:
When a mydumper Worker Thread processes a job, it connects to the database and stores the output into a file. That didn’t change, but with stream, we are pushing the filename into the mydumper stream_queue.
The mydumper Stream Thread is popping filenames from the mydumper stream_queue, it is going to send the header of the file to stdout and then open the file and send its content.
Then, myloader Stream Thread is going to receive and detect the header, it will create the new file with the filename from the header and store the content in it.
After closing the file, it will enqueue the filename in the myloader stream_queue. A myloader Worker Thread is going to take that file and process it according to the kind of file it is.
By default, the files are deleted, but if you want to keep them, you can use the –no-delete option.
The header is simply adding — to the filename so you can use myloader or mysql client to import your database. Here is an example:
-- sbtest-schema-create.sql
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `sbtest` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
-- sbtest.sbtest1-schema.sql
/*!40101 SET NAMES binary*/;
/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40103 SET TIME_ZONE='+00:00' */;
CREATE TABLE `sbtest1` (
`id` int NOT NULL AUTO_INCREMENT,
`k` int NOT NULL DEFAULT '0',
`c` char(120) NOT NULL DEFAULT '',
`pad` char(60) NOT NULL DEFAULT '',
`pad2` char(60) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100010 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- sbtest.sbtest1.00000.sql
/*!40101 SET NAMES binary*/;
/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40103 SET TIME_ZONE='+00:00' */;
INSERT INTO `sbtest1` VALUES(1,49929,"83868641912-28773972837-60736120486-75162659906-27563526494-20381887404-41576422241-93426793964-56405065102-33518432330","67847967377-48000963322-62604785301-91415491898-96926520291","")
…
Simple Use Cases
A thread writes to a single file to avoid a collision, which improves the performance. However, having thousands of files for a backup of a couple of tables is not manageable. So, the simplest use case is to send everything to a single file:
This implementation is using the backup directory on mydumper and myloader as Buffers, you must take this into account, as by default it is going to create a directory where you run it.
Another thing that you need to take into account is that mydumper and myloader will be writing on disk, the whole backup will be written on both File Systems while it is being processed, and use a file system with enough disk space.
Finally, you can keep myloader running and send several mydumper backups. First, you need to run:
-k When a connection is completed, listen for another one. Requires -l.
-N shutdown(2) the network socket after EOF on the input. Some servers require this to finish their work.
This is very useful if you are refreshing some testing environment and you only need a couple of tables on different databases or if you are using a where clause that only applies to some tables.
Considerations
Usually, when you send data to STDOUT, you are not going to have trouble with disk space usage on the dumper server. That is NOT true if you are using MyDumper. Files will be stored on the mydumper server until they are transferred to the receiving server. For instance, if you have a 10TB database, with a very low network bandwidth compared to the disk bandwidth, you might end up filling up the disk where you keep the files temporarily.
Conclusion
We focus the implementation to speed up export and import processes. Opposite to other software or implementations, we use the file system as a buffer causing a higher disk utilization.
If you spent a lot of time browsing the internet, then you no doubt understand that there are simply too many websites out there to check on regularly. RSS readers can help solve this problem by condensing your online browsing all into one feed, but how can you know which RSS reader to go with?
Whether you’re new to RSS feeds or an old veteran, there are plenty of options out there to consider. Here are four of the very best.
First up on this list we have Feedreader. Feedreader is a great online tool that allows you to more easily check your RSS feed than ever before.
To get started with Feedreader, you’ll need to first sign up for an account, which is a pretty straightforward process. All you need to do is input your e-mail and a password, and you’ll be ready to go.
The layout of Feedreader itself is pretty intuitive when you first look at it. On the left, you have a variety of different categories to browse through such as starred items, and across the top of the screen, you have plenty of options to choose from.
The main bulk of the RSS reader is dedicated to the center of the screen, whereas you might expect is where your added feeds will be displayed. Adding new RSS feeds is pretty straightforward, too, as all you have to do is click on the add a new feed button to do so.
MAKEUSEOF VIDEO OF THE DAY
You get the option to create categories when you’re doing this as well. If you subscribe to a lot of different types of content, such as podcasts, articles, and more, you can easily differentiate them this way.
It’s all online here, which means that if you’ve looked through the best RSS readers in the Windows store and found them all wanting, you can access this easily from your browser.
What’s great about Feedreader is that if you’re new to RSS feeds and not so sure what you’re looking for, then there are some good tips to help guide your way. Feedreader has its own RSS feed to follow, as well as a blog to help you find your way.
Next up, we have Inoreader. If you’re looking for an RSS reader that will help to streamline your process and even automate parts of your RSS feed, then Inoreader is a great option to do just that.
At its core, Inoreader is capable of doing just about anything you might want from an RSS reader. You can add new feeds easily yourself, and if you’re a long-time user coming from another RSS reader, you can easily import your feeds directly.
What’s cool about Inoreader, however, is how it helps you to find more of what you want to see. You can search for feeds using Inoreader’s inbuilt search engine, or try out some of its featured feed collections.
The options here are diverse and include collections from news, to investing, to more creative pursuits. These collections feature a whole bunch of different options from different sources all over the internet, so you can quickly and easily set up your RSS feed.
On top of this, Inoreader features some pretty impressive automation options to help you get more out of your feed than you would with a standard reader. You can monitor certain keywords across your feed or even across all public articles, and can highlight certain words that pop up to make sure that you don’t miss them as you scroll.
There are options here to create certain filters and even action-based rules, though this is only available if you subscribe to Inoreader’s premium plan.
If you’re looking for something to help guide you through the process of setting up an RSS feed from scratch for the very first time, then Feeder is an excellent option to help you out.
When you first sign up with Feeder, you’ll be asked about your specific needs. You’ll have the option to choose between personal or work use, and from there be able to further narrow in on how you plan to use Feeder.
After that, the service will give you some recommendations on what feeds it thinks you’re likely to want. This is all based on how you went through the first step.
From there, Feeder behaves much like any other RSS reader. You have the option to look through your various feeds, as well as change the appearance of the service and even add rules. This last option is only available for premium users, however.
While Feeder is free to use, you’ll be limited to just 10 feeds and a pretty slow update speed without upgrading. If you do upgrade, however, you’ll have access to filters, collections, and e-mail notifications if you so wish.
Next up on this list comes NewsBlur. While the name may imply that NewsBlur is only useful for keeping up to date with news, it’s actually a great RSS reader with a little something for everyone.
If you’re new to RSS readers, for instance, then NewsBlur comes with a handy introduction after you sign up to help guide you through its service. It’ll show you various categories of feeds you may be interested in, as well as giving you the option to link up with others on social media.
From there, you can access all sorts of information about the site, as well as easily add new feeds directly to the service. There are plenty of different viewing modes here, and a lot of options to customize just how NewsBlur presents its information to you.
If you’re looking for new feeds, NewsBlur has recommended sites you can look at, as well as news and more for you to look at to get some ideas about what next to add.
If you’re looking for more options than that, NewsBlur also comes with a premium account option. This lets you save stories with searchable tags, and adds more custom options, as well as tons more.
As you can see, there are a wealth of great RSS readers available online for you to try. Each one provides something a little different, which means that one is bound to be just right for you.
All you need to do is give them a go. After all, they’re entirely free for you to use, which means that you don’t have to worry before you give them a go.
I participated (just a bit) in the writing of this book as technical reviewer with Vadim and Fipar. I really enjoyed that role of carefully reading the early drafts of the chapters Daniel was writing.
Although Daniel says the book is not for the experts, I think even experts will enjoy it because several key InnoDB concepts are also covered. You can see that I refer to the book often in my A graph a day, keeps the doctor away ! series on monitoring and trending.
If you’re looking for information on transaction isolation and undo logs, fuzzy checkpointing, etc… you’ll find valuable information in the book.
The book is also enhanced with detailed illustrations that help in understanding complicated concepts (InnoDB page flushing, page 216, Source to Replica , page 235, MVCC and undo logs, page 277 are some examples).
Personally, I use this book as I used the 2nd and 3rd editions of High Performance MySQL.
From the beginning to the end of the book, Daniel focuses on the most important and measurable metric for all database consumers: query response time.
I had the chance to meet again Daniel at Percona Live and offered me a signed copy 😉
I also had the privilege of having my review published in the back of the book:
If you are looking for a book to improve your knowledge of MySQL or if you are a software engineer who needs to deal with MySQL, this is a good choice.
I also recommend reading Daniel’s blog which is a complement to the book.